新火炬后端单体项目初始化代码
zhangherong
4 天以前 c4e489878e01a41debab8a1d954199d7b831177d
src/main/java/org/jeecg/modules/sap/service/impl/ProductionOrderSyncImpl.java
@@ -1,16 +1,17 @@
package org.jeecg.modules.sap.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.sap.conn.jco.JCoDestination;
import com.sap.conn.jco.JCoFunction;
import com.sap.conn.jco.JCoRepository;
import com.sap.conn.jco.JCoTable;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.jeecg.common.aspect.annotation.ApiLog;
import org.jeecg.common.constant.ApiLogCategoryEnum;
import org.jeecg.config.sap.SapRfcConnectionManager;
import org.jeecg.modules.sap.FunctionConst;
import org.jeecg.modules.sap.dto.ProductionOrderDTO;
import org.jeecg.modules.sap.request.ProductionOrderSyncRequest;
import org.jeecg.modules.sap.service.ProductionOrderSync;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -26,25 +27,13 @@
@Service
@Slf4j
public class ProductionOrderSyncImpl implements ProductionOrderSync {
    //新火炬工厂编码
    private static final String factoryCode = "2301";
    //标准生产订单
    private static final String orderTypeCode1 = "Z001";
    //返工订单  暂时不用
    private static final String orderTypeCode2 = "Z002";
    //八分厂调度员
//    private static final String productionManager = "012";
    private static final String productionManager = "010";
    //生产订单状态 CRTD 新建,REL 下达,TECO 关闭  实际上,只有REL状态的工单才可以进行操作
    private static final String orderStatus = "REL";
    @Autowired
    private SapRfcConnectionManager connectionManager;
    @Override
    @ApiLog(apiName = "生产订单同步接口(ZPPF_033_1)", apiCategory = ApiLogCategoryEnum.SAP)
    public Map<String, Object> syncProductionOrder() throws Exception {
    @ApiLog(apiName = "生产订单同步(ZPPF_033_1)", apiCategory = ApiLogCategoryEnum.SAP)
    public Map<String, Object> syncProductionOrder(ProductionOrderSyncRequest request) throws Exception {
        Map<String, Object> resultMap = new HashMap<>();
        JCoDestination destination = connectionManager.getDestination();
        JCoRepository repository = destination.getRepository();
@@ -54,40 +43,69 @@
        }
        // 设置输入参数
        //订单号查询条件
//            JCoTable AUFNRTable = function.getTableParameterList().getTable("ZTAB_AUFNR");
        List<JSONObject> items = new ArrayList<>();
        if (StringUtils.isNotBlank(request.getOrderCode())) {
            JCoTable AUFNRTable = function.getTableParameterList().getTable("ZTAB_AUFNR");
            String[] split = request.getOrderCode().split(",");
            for (String code : split) {
                AUFNRTable.appendRow();
                AUFNRTable.setValue("AUFNR", code);
            }
        }
        //订单类型 标准生产订单
        JCoTable AUARTTable = function.getTableParameterList().getTable("ZTAB_AUART");
        AUARTTable.appendRow();
        AUARTTable.setValue("AUART", orderTypeCode1);
        //组装请求参数
        JSONObject item1 = new JSONObject();
        item1.put("AUART", orderTypeCode1);
        items.add(item1);
        //八分厂调度
        JCoTable FEVORTable = function.getTableParameterList().getTable("ZTAB_FEVOR");
        FEVORTable.appendRow();
        FEVORTable.setValue("FEVOR", productionManager);
        //组装请求参数
        JSONObject item2 = new JSONObject();
        item2.put("FEVOR", productionManager);
        items.add(item2);
        //新火炬
        JCoTable WERKSTable = function.getTableParameterList().getTable("ZTAB_WERKS");
        WERKSTable.appendRow();
        WERKSTable.setValue("WERKS", factoryCode);
        //组装请求参数
        JSONObject item3 = new JSONObject();
        item3.put("WERKS", factoryCode);
        items.add(item3);
        //订单状态
        JCoTable TXT04Table = function.getTableParameterList().getTable("ZTAB_TXT04");
        TXT04Table.appendRow();
        TXT04Table.setValue("TXT04", orderStatus);
        //组装请求参数
        JSONObject item4 = new JSONObject();
        item4.put("TXT04", orderStatus);
        items.add(item4);
        if (StringUtils.isNotBlank(request.getOrderTypeCode())) {
            JCoTable AUARTTable = function.getTableParameterList().getTable("ZTAB_AUART");
            String[] split = request.getOrderTypeCode().split(",");
            for (String code : split) {
                AUARTTable.appendRow();
                AUARTTable.setValue("AUART", code);
            }
        }
        if (StringUtils.isNotBlank(request.getProductionManager())) {
            JCoTable FEVORTable = function.getTableParameterList().getTable("ZTAB_FEVOR");
            String[] split = request.getProductionManager().split(",");
            for (String code : split) {
                FEVORTable.appendRow();
                FEVORTable.setValue("FEVOR", code);
            }
        }
        if (StringUtils.isNotBlank(request.getFactoryCode())) {
            //新火炬
            JCoTable WERKSTable = function.getTableParameterList().getTable("ZTAB_WERKS");
            String[] split = request.getFactoryCode().split(",");
            for (String code : split) {
                WERKSTable.appendRow();
                WERKSTable.setValue("WERKS", code);
            }
        }
        if (StringUtils.isNotBlank(request.getOrderStatus())) {
            //新火炬
            JCoTable TXT04Table = function.getTableParameterList().getTable("ZTAB_TXT04");
            String[] split = request.getOrderStatus().split(",");
            for (String code : split) {
                TXT04Table.appendRow();
                TXT04Table.setValue("TXT04", code);
            }
        }
        if (StringUtils.isNotBlank(request.getCreateTimeLow())) {
            JCoTable UDATETable = function.getTableParameterList().getTable("ZTAB_UDATE");
            UDATETable.appendRow();
            UDATETable.setValue("LOW", request.getCreateTimeLow());
        }
        if (StringUtils.isNotBlank(request.getCreateTimeHigh())) {
            JCoTable UDATETable = function.getTableParameterList().getTable("ZTAB_UDATE");
            UDATETable.appendRow();
            UDATETable.setValue("HIGH", request.getCreateTimeHigh());
        }
        if (StringUtils.isNotBlank(request.getUpdateTimeLow())) {
            JCoTable LAEDATable = function.getTableParameterList().getTable("ZTAB_LAEDA");
            LAEDATable.appendRow();
            LAEDATable.setValue("LOW", request.getUpdateTimeLow());
        }
        if (StringUtils.isNotBlank(request.getUpdateTimeHigh())) {
            JCoTable LAEDATable = function.getTableParameterList().getTable("ZTAB_LAEDA");
            LAEDATable.appendRow();
            LAEDATable.setValue("HIGH", request.getUpdateTimeHigh());
        }
        // 执行调用
        function.execute(destination);
        //获取返回结果
@@ -132,7 +150,7 @@
        }
        resultMap.put("zmess", zmess);
        resultMap.put("ztype", ztype);
        resultMap.put("importParameters", items);
        resultMap.put("importParameters", request);
        resultMap.put("result", resultList);
        return resultMap;
    }