From afb71a0770acc36a6e062aecf2dfc1c92d2d80a7 Mon Sep 17 00:00:00 2001
From: zhangherong <571457620@qq.com>
Date: 星期二, 12 八月 2025 11:59: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