From da4b1333f5a9888e765fa867960d85b27f35c616 Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期一, 29 十二月 2025 10:02:04 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/task/kingdee/handler/SaveOrderSyncHandler.java   |   72 +++++++++++++++++++++++++++++------
 src/main/java/com/zy/asrs/task/kingdee/handler/SubmitOrderSyncHandler.java |    7 +++
 src/main/java/com/zy/erp/kingdee/enums/KingDeeUtilType.java                |    2 
 src/main/resources/application.yml                                         |    4 +
 src/main/java/com/zy/asrs/task/kingdee/handler/ReviewOrderSyncHandler.java |   12 +++++
 5 files changed, 81 insertions(+), 16 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/kingdee/handler/ReviewOrderSyncHandler.java b/src/main/java/com/zy/asrs/task/kingdee/handler/ReviewOrderSyncHandler.java
index b97cecd..67a78f0 100644
--- a/src/main/java/com/zy/asrs/task/kingdee/handler/ReviewOrderSyncHandler.java
+++ b/src/main/java/com/zy/asrs/task/kingdee/handler/ReviewOrderSyncHandler.java
@@ -121,6 +121,11 @@
                 idArray.add(order.getOrderNo());
                 dataObj.fluentPut("billno", idArray);
                 return new JSONObject().fluentPut("data", dataObj);
+            case "STK_imSaloutbill"://閿�鍞嚭搴撲笂鎶�
+                path = imSaloutbillReport;
+                idArray.add(order.getOrderNo());
+                dataObj.fluentPut("billno", idArray);
+                return new JSONObject().fluentPut("data", dataObj);
             case "SAL_RETURNSTOCK"://閿�鍞��鏂欏崟
                 path = scpSalreturnReport;
                 dataObj.fluentPut("billno", order.getOrderNo());
@@ -223,7 +228,12 @@
                         }
                     }
                 }
-                order.setSettle(8L); // 鏇存柊鐘舵�佷负宸蹭笂鎶ュ鏍� 9->8
+                if(order.getDocType() == 16L){
+                    order.setDocType(23L);
+                    order.setSettle(4L);//杞负鍑哄簱鍗曟嵁涓婃姤
+                }else{
+                    order.setSettle(8L); // 鏇存柊鐘舵�佷负宸蹭笂鎶ュ鏍� 9->8
+                }
                 orderService.updateById(order);
             } else {
                 log.error("鎺ュ彛璋冪敤澶辫触锛岄敊璇俊鎭�: {}", jsonResponse.getString("message"));
diff --git a/src/main/java/com/zy/asrs/task/kingdee/handler/SaveOrderSyncHandler.java b/src/main/java/com/zy/asrs/task/kingdee/handler/SaveOrderSyncHandler.java
index bf1f083..0447a06 100644
--- a/src/main/java/com/zy/asrs/task/kingdee/handler/SaveOrderSyncHandler.java
+++ b/src/main/java/com/zy/asrs/task/kingdee/handler/SaveOrderSyncHandler.java
@@ -43,6 +43,8 @@
     private String imOtherinbill;
     @Value("${erp.address.imProductinbillReport}")
     private String imProductinbillReport;
+    @Value("${erp.address.imSaloutbillSave}")
+    private String imSaloutbillSave;
 
     @Autowired
     private OrderService orderService;
@@ -236,8 +238,8 @@
 
                                         .fluentPut("billentry", billentryArray1)  // 灏� billentry 鏁扮粍娣诲姞鍒拌姹傚弬鏁�
                         )));
-            case "STK_MISCELLANEOUS": // 鍏朵粬鍏ュ簱鍗�
-                path = imOtherinbill;
+            case "STK_imSaloutbill":
+                path = imSaloutbillSave;
                 billentryArray = new JSONArray();
                 for (OrderDetl orderDetl : orderDetlList) {
                     if (orderDetl.getQty() == 0) {
@@ -249,28 +251,72 @@
                             .fluentPut("id", 0L)
                             .fluentPut("material_number", orderDetl.getMatnr())       // 鐗╂枡缂栫爜
                             .fluentPut("qty", qty)                    // 鏁伴噺
-                            .fluentPut("warehouse_number", "CK001")     // 浠撳簱
-                            .fluentPut("invstatus_number", "110")
-                            .fluentPut("invtype_number", "110")
-                            .fluentPut("outinvstatus_number", "110")
+                            .fluentPut("outkeepertype", "bos_org")     // 浠撳簱
+                            .fluentPut("outkeeper_number", "BU-00001")
                             .fluentPut("outinvtype_number", "110")
-                            .fluentPut("linetype_number", "010");
+                            .fluentPut("warehouse_number", "CK-002")
+                            .fluentPut("outinvstatus_number", "110")
+                            .fluentPut("outownertype", "bos_org")
+                            .fluentPut("outowner_number", "BU-00001")
+                            .fluentPut("keepertype", "bos_org")
+                            .fluentPut("eap7_textfield3", orderDetl.getBoxType3())
+                            .fluentPut("ownertype", "bos_org")
+                            .fluentPut("eap7_decimalfield", orderDetl.getQty())
+                            .fluentPut("seq", orderDetl.getLineNumber());
                     billentryArray.add(billentry);
                 }
                 Date nowMis = new Date();
                 return new JSONObject()
                         .fluentPut("data", new JSONArray(Arrays.asList(
                                 new JSONObject()
-//                                        .fluentPut("id", 0L)
+                                        .fluentPut("id", 0L)
                                         .fluentPut("billno", order.getOrderNo())
-//                                        .fluentPut("bookdate", sdf1.format(nowMis))
+                                        .fluentPut("bizorg_number", "BU-00001")
+                                        .fluentPut("dept_number", "Org-00002")
+                                        .fluentPut("billstatus", "B")
+                                        .fluentPut("customer_number", "Cus-000004")
                                         .fluentPut("biztime", sdf1.format(nowMis))
-//                                        .fluentPut("biztype_number", "354")
-//                                        .fluentPut("billtype_number", "im_OtherInBill_STD_BT_S")
-//                                        .fluentPut("org_number", "BU-00001")
-//                                        .fluentPut("invscheme_number", "354")
+                                        .fluentPut("biztype_number", "210")
+                                        .fluentPut("bizdept_number", "Org-00002")
+                                        .fluentPut("org_number", "BU-00001")
+                                        .fluentPut("invscheme_number", "210")
                                         .fluentPut("billentry", billentryArray)
                         )));
+//            case "STK_MISCELLANEOUS": // 鍏朵粬鍏ュ簱鍗�
+//                path = imOtherinbill;
+//                billentryArray = new JSONArray();
+//                for (OrderDetl orderDetl : orderDetlList) {
+//                    if (orderDetl.getQty() == 0) {
+//                        continue;
+//                    }
+//                    Mat mat = matService.selectByMatnr(orderDetl.getMatnr());
+//                    Double qty = orderDetl.getQty()*mat.getSafeQty();
+//                    JSONObject billentry = new JSONObject()
+//                            .fluentPut("id", 0L)
+//                            .fluentPut("material_number", orderDetl.getMatnr())       // 鐗╂枡缂栫爜
+//                            .fluentPut("qty", qty)                    // 鏁伴噺
+//                            .fluentPut("warehouse_number", "CK001")     // 浠撳簱
+//                            .fluentPut("invstatus_number", "110")
+//                            .fluentPut("invtype_number", "110")
+//                            .fluentPut("outinvstatus_number", "110")
+//                            .fluentPut("outinvtype_number", "110")
+//                            .fluentPut("linetype_number", "010");
+//                    billentryArray.add(billentry);
+//                }
+//                Date nowMis = new Date();
+//                return new JSONObject()
+//                        .fluentPut("data", new JSONArray(Arrays.asList(
+//                                new JSONObject()
+////                                        .fluentPut("id", 0L)
+//                                        .fluentPut("billno", order.getOrderNo())
+////                                        .fluentPut("bookdate", sdf1.format(nowMis))
+//                                        .fluentPut("biztime", sdf1.format(nowMis))
+////                                        .fluentPut("biztype_number", "354")
+////                                        .fluentPut("billtype_number", "im_OtherInBill_STD_BT_S")
+////                                        .fluentPut("org_number", "BU-00001")
+////                                        .fluentPut("invscheme_number", "354")
+//                                        .fluentPut("billentry", billentryArray)
+//                        )));
             case "STK_MisDelivery": // 鍏朵粬鍑哄簱鍗�
                 path = imOtheroutbill;
                 billentryArray = new JSONArray();
diff --git a/src/main/java/com/zy/asrs/task/kingdee/handler/SubmitOrderSyncHandler.java b/src/main/java/com/zy/asrs/task/kingdee/handler/SubmitOrderSyncHandler.java
index a0f9dfb..27658b3 100644
--- a/src/main/java/com/zy/asrs/task/kingdee/handler/SubmitOrderSyncHandler.java
+++ b/src/main/java/com/zy/asrs/task/kingdee/handler/SubmitOrderSyncHandler.java
@@ -46,6 +46,8 @@
     private String imOtherinbillSubmit;
     @Value("${erp.address.imProductinbillBatchSubmit}")
     private String imProductinbillBatchSubmit;
+    @Value("${erp.address.imSaloutbillSaveSubmit}")
+    private String imSaloutbillSaveSubmit;
     @Autowired
     private LoginAuthenticationHandler loginAuthenticationHandler;
     @Autowired
@@ -99,6 +101,11 @@
                 idArray.add(order.getNumber());
                 dataObj.fluentPut("ids", idArray);
                 return new JSONObject().fluentPut("data", dataObj);
+            case "STK_imSaloutbill"://鍏朵粬鍏ュ簱鍗�
+                path = imSaloutbillSaveSubmit;
+                idArray.add(order.getOrderNo());
+                dataObj.fluentPut("billno", idArray);
+                return new JSONObject().fluentPut("data", dataObj);
             case "STK_MISCELLANEOUS"://鍏朵粬鍏ュ簱鍗�
                 path = imOtherinbillSubmit;
                 idArray.add(order.getOrderNo());
diff --git a/src/main/java/com/zy/erp/kingdee/enums/KingDeeUtilType.java b/src/main/java/com/zy/erp/kingdee/enums/KingDeeUtilType.java
index efb0982..80e9f83 100644
--- a/src/main/java/com/zy/erp/kingdee/enums/KingDeeUtilType.java
+++ b/src/main/java/com/zy/erp/kingdee/enums/KingDeeUtilType.java
@@ -29,7 +29,7 @@
 //    PUR_ReceiveBill(17, "鏀舵枡閫氱煡鍗�","PUR_ReceiveBill","FPOQTY","閲囪喘鍏ュ簱鍗�","STK_InStock",1),
 //    PRD_INSTOCK(19, "鐢熶骇鍏ュ簱鍗�","PRD_INSTOCK","","","",1),
 //    SAL_RETURNNOTICE(20, "閫�璐ч�氱煡鍗�","SAL_RETURNNOTICE","FBaseJunkedQty","閿�鍞��璐у崟","SAL_RETURNSTOCK",1),
-//    STK_OutStockApply(21, "鍑哄簱鐢宠鍗�","STK_OutStockApply","FTotalSecQty","鍏朵粬鍑哄簱鍗�","STK_MisDelivery",0),
+    STK_imSaloutbill(23, "姹囨姤杞嚭搴撳崟","STK_imSaloutbill","","","",0),
     ;
     public Integer id;
     public String desc;
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 8388b0a..e6f7241 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -166,7 +166,9 @@
     imOtherinbillAudit: /kapi/v2/im/im_otherinbill/batchAudit
     #浜у搧妫�楠屽崟鏌ヨ
     qcppManuinspec: /kapi/v2/eap7/qcpp/qcpp_manuinspec/query
-
+    #姹囨姤鍗�->鑷敓鎴愬嚭搴撳崟涓婃姤
+    imSaloutbillSave: /kapi/v2/eap7/im/im_saloutbill/save
+    imSaloutbillSaveSubmit: kapi/v2/im/im_saloutbill/batchSubmit
   #  鐧诲綍璐﹀彿绠$悊
   login :
     xAcfwIdentity: "djF8MTlhNTNhZjJhOWEwMWRlODhlMDF8NDkxNTk0MDU4MTQxNXwus9WaEHKRh0daJe1TWmVoMkv3zQY2knNTZRzaOhRgwnw"

--
Gitblit v1.9.1