From e82c6a7bc2c059bf7d8b1d609cb80137306ea6c9 Mon Sep 17 00:00:00 2001 From: zhangherong <571457620@qq.com> Date: 星期四, 31 七月 2025 18:12:16 +0800 Subject: [PATCH] art:删除无用代码 --- src/main/java/org/jeecg/modules/sap/service/impl/ProductionOrderSyncImpl.java | 212 ++++++++++++++++++++++++++++++++-------------------- 1 files changed, 131 insertions(+), 81 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 ed2c10b..002bb07 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,7 +1,14 @@ package org.jeecg.modules.sap.service.impl; -import com.sap.conn.jco.*; +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; @@ -10,7 +17,9 @@ import org.springframework.stereotype.Service; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** * 鐢熸垚璁㈠崟鍚屾鏈嶅姟 @@ -18,98 +27,139 @@ @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 - public void syncProductionOrder() { + @ApiLog(apiName = "鐢熶骇璁㈠崟鍚屾(ZPPF_033_1)", apiCategory = ApiLogCategoryEnum.SAP) + public Map<String, Object> syncProductionOrder(String factoryCode, String orderTypeCode, String productionManager, String orderStatus, String createTime, String updateTime) throws Exception { + Map<String, Object> resultMap = new HashMap<>(); JCoDestination destination = connectionManager.getDestination(); - try { - JCoRepository repository = destination.getRepository(); - JCoFunction function = repository.getFunction(FunctionConst.ZPPF_033_1); - if (function == null) { - throw new RuntimeException("RFC 鍑芥暟 ZPPF_033_1 鏈壘鍒帮紒"); - } - // 璁剧疆杈撳叆鍙傛暟 - //璁㈠崟鍙锋煡璇㈡潯浠� + JCoRepository repository = destination.getRepository(); + JCoFunction function = repository.getFunction(FunctionConst.ZPPF_033_1); + if (function == null) { + throw new RuntimeException("RFC 鍑芥暟 ZPPF_033_1 鏈壘鍒帮紒"); + } + // 璁剧疆杈撳叆鍙傛暟 + //璁㈠崟鍙锋煡璇㈡潯浠� // JCoTable AUFNRTable = function.getTableParameterList().getTable("ZTAB_AUFNR"); - //璁㈠崟绫诲瀷 鏍囧噯鐢熶骇璁㈠崟 + List<JSONObject> items = new ArrayList<>(); + //璁㈠崟绫诲瀷 鏍囧噯鐢熶骇璁㈠崟 + if(StringUtils.isNotBlank(orderTypeCode)){ JCoTable AUARTTable = function.getTableParameterList().getTable("ZTAB_AUART"); - AUARTTable.appendRow(); - AUARTTable.setValue("AUART", orderTypeCode1); - //鍏垎鍘傝皟搴� + String[] split = orderTypeCode.split(","); + for(String code : split){ + AUARTTable.appendRow(); + AUARTTable.setValue("AUART", code); + } + //缁勮璇锋眰鍙傛暟 + JSONObject item = new JSONObject(); + item.put("AUART", orderTypeCode); + items.add(item); + } + if(StringUtils.isNotBlank(productionManager)){ JCoTable FEVORTable = function.getTableParameterList().getTable("ZTAB_FEVOR"); - FEVORTable.appendRow(); - FEVORTable.setValue("FEVOR", productionManager); + String[] split = productionManager.split(","); + for(String code : split){ + FEVORTable.appendRow(); + FEVORTable.setValue("FEVOR", code); + } + //缁勮璇锋眰鍙傛暟 + JSONObject item = new JSONObject(); + item.put("FEVOR", productionManager); + items.add(item); + } + if(StringUtils.isNotBlank(factoryCode)){ //鏂扮伀鐐� JCoTable WERKSTable = function.getTableParameterList().getTable("ZTAB_WERKS"); - WERKSTable.appendRow(); - WERKSTable.setValue("WERKS", factoryCode); - //璁㈠崟鐘舵�� - JCoTable TXT04Table = function.getTableParameterList().getTable("ZTAB_TXT04"); - TXT04Table.appendRow(); - TXT04Table.setValue("TXT04", orderStatus); - // 鎵ц璋冪敤 - function.execute(destination); - //鑾峰彇杩斿洖缁撴灉 - String zmess = function.getExportParameterList().getValue("ZMESS").toString(); - String ztype = function.getExportParameterList().getValue("ZTYPE").toString();//S 鏍囪瘑 鎴愬姛 - if(!"S".equals(ztype)){ - log.error("鑾峰彇璁㈠崟淇℃伅澶辫触锛孼TYPE={}, ZMESS={}", ztype, zmess); - return; + String[] split = factoryCode.split(","); + for(String code : split){ + WERKSTable.appendRow(); + WERKSTable.setValue("WERKS", code); } - // 鑾峰彇杈撳嚭鍙傛暟 - JCoTable outputTable = function.getTableParameterList().getTable("ZTAB_OUT"); - int numRows = outputTable.getNumRows(); - List<ProductionOrderDTO> resultList = new ArrayList<>(); - ProductionOrderDTO dto; - for (int i = 0; i < numRows; i++) { - outputTable.setRow(i); - dto = new ProductionOrderDTO(); - dto.setKDPOS(outputTable.getString("KDPOS")); - dto.setCHARG(outputTable.getString("CHARG")); - dto.setMAKTX(outputTable.getString("MAKTX")); - dto.setMATNR(outputTable.getString("MATNR")); - dto.setKDAUF(outputTable.getString("KDAUF")); - dto.setAUFNR(outputTable.getString("AUFNR")); - dto.setDAUAT(outputTable.getString("DAUAT")); - dto.setGAMNG(outputTable.getString("GAMNG")); - dto.setGMEIN(outputTable.getString("GMEIN")); - dto.setAPRIO(outputTable.getString("APRIO")); - dto.setAUFPL(outputTable.getString("AUFPL")); - dto.setSTLNR(outputTable.getString("STLNR")); - dto.setDWERK(outputTable.getString("DWERK")); - dto.setNAME1(outputTable.getString("NAME1")); - dto.setFEVOR(outputTable.getString("FEVOR")); - dto.setTXT(outputTable.getString("TXT")); - dto.setUSNAM(outputTable.getString("USNAM")); - dto.setUDATE(outputTable.getString("UDATE")); - dto.setLAEDA(outputTable.getString("LAEDA")); - dto.setTIMES(outputTable.getString("TIMES")); - dto.setTXT04(outputTable.getString("TXT04")); - dto.setTXT30(outputTable.getString("TXT30")); - dto.setGSTRP(outputTable.getString("GSTRP")); - dto.setGLTRP(outputTable.getString("GLTRP")); - - //娣诲姞缁撴灉闆� - resultList.add(dto); - log.info(dto.toString()); - } - } catch (JCoException e) { - log.error(e.getMessage(), e); + //缁勮璇锋眰鍙傛暟 + JSONObject item = new JSONObject(); + item.put("WERKS", factoryCode); + items.add(item); } + if(StringUtils.isNotBlank(orderStatus)) { + //鏂扮伀鐐� + JCoTable TXT04Table = function.getTableParameterList().getTable("ZTAB_TXT04"); + String[] split = orderStatus.split(","); + for(String code : split){ + TXT04Table.appendRow(); + TXT04Table.setValue("TXT04", code); + } + //缁勮璇锋眰鍙傛暟 + JSONObject item = new JSONObject(); + item.put("TXT04", orderStatus); + items.add(item); + } + if(StringUtils.isNotBlank(createTime)){ + JCoTable UDATETable = function.getTableParameterList().getTable("ZTAB_UDATE"); + UDATETable.appendRow(); + UDATETable.setValue("LOW", createTime); + //缁勮璇锋眰鍙傛暟 + JSONObject item = new JSONObject(); + item.put("ZTAB_UDATE_LOW", createTime); + items.add(item); + } + if(StringUtils.isNotBlank(updateTime)){ + JCoTable LAEDATable = function.getTableParameterList().getTable("ZTAB_LAEDA"); + LAEDATable.appendRow(); + LAEDATable.setValue("LOW", updateTime); + //缁勮璇锋眰鍙傛暟 + JSONObject item = new JSONObject(); + item.put("ZTAB_LAEDA_LOW", updateTime); + items.add(item); + } + // 鎵ц璋冪敤 + function.execute(destination); + //鑾峰彇杩斿洖缁撴灉 + String zmess = function.getExportParameterList().getValue("ZMESS").toString(); + String ztype = function.getExportParameterList().getValue("ZTYPE").toString();//S 鏍囪瘑 鎴愬姛 + // 鑾峰彇杈撳嚭鍙傛暟 + JCoTable outputTable = function.getTableParameterList().getTable("ZTAB_OUT"); + int numRows = outputTable.getNumRows(); + List<ProductionOrderDTO> resultList = new ArrayList<>(); + ProductionOrderDTO dto; + for (int i = 0; i < numRows; i++) { + outputTable.setRow(i); + dto = new ProductionOrderDTO(); + dto.setKDPOS(outputTable.getString("KDPOS")); + dto.setCHARG(outputTable.getString("CHARG")); + dto.setMAKTX(outputTable.getString("MAKTX")); + dto.setMATNR(outputTable.getString("MATNR")); + dto.setKDAUF(outputTable.getString("KDAUF")); + dto.setAUFNR(outputTable.getString("AUFNR")); + dto.setDAUAT(outputTable.getString("DAUAT")); + dto.setGAMNG(outputTable.getString("GAMNG")); + dto.setGMEIN(outputTable.getString("GMEIN")); + dto.setAPRIO(outputTable.getString("APRIO")); + dto.setAUFPL(outputTable.getString("AUFPL")); + dto.setSTLNR(outputTable.getString("STLNR")); + dto.setDWERK(outputTable.getString("DWERK")); + dto.setNAME1(outputTable.getString("NAME1")); + dto.setFEVOR(outputTable.getString("FEVOR")); + dto.setTXT(outputTable.getString("TXT")); + dto.setUSNAM(outputTable.getString("USNAM")); + dto.setUDATE(outputTable.getString("UDATE")); + dto.setLAEDA(outputTable.getString("LAEDA")); + dto.setTIMES(outputTable.getString("TIMES")); + dto.setTXT04(outputTable.getString("TXT04")); + dto.setTXT30(outputTable.getString("TXT30")); + dto.setGSTRP(outputTable.getString("GSTRP")); + dto.setGLTRP(outputTable.getString("GLTRP")); + + //娣诲姞缁撴灉闆� + resultList.add(dto); + log.info(dto.toString()); + } + resultMap.put("zmess", zmess); + resultMap.put("ztype", ztype); + resultMap.put("importParameters", items); + resultMap.put("result", resultList); + return resultMap; } } -- Gitblit v1.9.3