From c4e489878e01a41debab8a1d954199d7b831177d Mon Sep 17 00:00:00 2001 From: zhangherong <571457620@qq.com> Date: 星期一, 11 八月 2025 16:58:09 +0800 Subject: [PATCH] art: SAP 报工接口调试修改、投料接口修改、订单关闭接口修改 --- src/main/java/org/jeecg/modules/sap/service/impl/ProductionOrderSyncImpl.java | 116 +++++++++++++++++++++++++++++++++------------------------ 1 files changed, 67 insertions(+), 49 deletions(-) diff --git a/src/main/java/org/jeecg/modules/sap/service/impl/ProductionOrderSyncImpl.java b/src/main/java/org/jeecg/modules/sap/service/impl/ProductionOrderSyncImpl.java index 9cb836b..2f39fda 100644 --- a/src/main/java/org/jeecg/modules/sap/service/impl/ProductionOrderSyncImpl.java +++ b/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 鏂板缓锛孯EL 涓嬭揪锛孴ECO 鍏抽棴 瀹為檯涓婏紝鍙湁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; } -- Gitblit v1.9.3