From 371af76976cec152184123fac0073efcba2b5a70 Mon Sep 17 00:00:00 2001
From: 1 <1>
Date: 星期一, 29 十二月 2025 17:04:55 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/task/kingdee/handler/SaveOrderSyncHandler.java |  130 +++++++++++++++++++++++++++++++++---------
 1 files changed, 101 insertions(+), 29 deletions(-)

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 8adf401..e87b08a 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;
@@ -178,22 +180,44 @@
                     JSONObject billentryLk = new JSONObject()
                             .fluentPut("id", 0L)
                             .fluentPut("seq", orderDetl.getLineNumber())
-                            .fluentPut("billentry_lk_stableid", 677270092232273922L)
+                            .fluentPut("billentry_lk_stableid", 1014628189722381313L)
                             .fluentPut("billentry_lk_sbillid", Long.parseLong(order.getItemName()))  // 涓诲崟ID
-                            .fluentPut("billentry_lk_sid", Long.parseLong(orderDetl.getThreeCode()))  // 鏄庣粏ID
-                            .fluentPut("billentry_lk_baseqty_old", orderDetl.getAnfme())  // ERP鏁伴噺
-                            .fluentPut("billentry_lk_baseqty", qty);  // 浣滀笟鏁伴噺
+                            .fluentPut("billentry_lk_sid", Long.parseLong(orderDetl.getThreeCode())); // 鏄庣粏ID
+//                            .fluentPut("billentry_lk_baseqty_old", orderDetl.getErpAnfme())  // ERP鏁伴噺
+//                            .fluentPut("billentry_lk_baseqty", qty);  // 浣滀笟鏁伴噺
                     billentryLkArray1.add(billentryLk);
                     // 鍒涘缓 billentry 瀵硅薄锛屽~鍏呯己澶辩殑瀛楁
                     JSONObject billentry = new JSONObject()
                             .fluentPut("id", 0L)
                             .fluentPut("warehouse_number", orderDetl.getManu())  // 浠撳簱缂栧彿
                             .fluentPut("qty", qty)  // 鏁伴噺
-                            .fluentPut("baseqty", qty)  // 鏁伴噺
-                            .fluentPut("prdqty", qty)  // 鏁伴噺
+                            .fluentPut("baseqty", orderDetl.getErpAnfme())
+                            .fluentPut("ownertype", "bos_org")
+                            .fluentPut("keepertype", "bos_org")
+                            .fluentPut("keeper_number", "BU-00001")
+                            .fluentPut("owner_number", "BU-00001")
+                            .fluentPut("manuentry", orderDetl.getLineNumber())
+
+                            .fluentPut("prdunitid_number", "涓�")
+                            .fluentPut("warehouse_number", "CK-002")
+                            .fluentPut("srcbillentity", "pom_mftorderreport")
+                            .fluentPut("srcbillid", Long.parseLong(order.getItemName()))
+                            .fluentPut("srcbillentryid", Long.parseLong(orderDetl.getThreeCode()))
+                            .fluentPut("srcbillnumber", order.getOrderNo())
+                            .fluentPut("srcbillentryseq", orderDetl.getLineNumber())
+                            .fluentPut("outownertype", "bos_org")
+                            .fluentPut("outkeepertype", "bos_org")
+                            .fluentPut("prdqty", qty)
                             .fluentPut("manubill", order.getDefNumber())
-                            .fluentPut("producttype", "C")  // 鐗╂枡缂栧彿
-                            .fluentPut("qualitystatus", "A")  // 鐗╂枡缂栧彿
+                            .fluentPut("manubillid", orderDetl.getModel())
+                            .fluentPut("manuentryid", orderDetl.getBrand())
+                            .fluentPut("producttype", "C")
+                            .fluentPut("qualitystatus", "A")
+                            .fluentPut("eap7_textfield", orderDetl.getMaktx())
+                            .fluentPut("material_number", orderDetl.getMatnr())
+                            .fluentPut("invtype_number", "110")
+                            .fluentPut("qualitystatus", "A")
+
                             .fluentPut("billentry_lk", billentryLkArray1);
 
                     billentryArray1.add(billentry);
@@ -203,12 +227,19 @@
                                 new JSONObject()
                                         .fluentPut("billno", UUID.randomUUID().toString().replace("-", "").substring(0, 16))
                                         .fluentPut("trdbillno", UUID.randomUUID().toString().replace("-", ""))
-                                        .fluentPut("billstatus", "C")
+                                        .fluentPut("billstatus", "A")
+                                        .fluentPut("invscheme_number", "331")
+                                        .fluentPut("biztype_number", "330")
+                                        .fluentPut("org_number", "BU-00001")
+                                        .fluentPut("bizorg_number", "BU-00001")
                                         .fluentPut("biztime", sdf1.format(now1))
+                                        .fluentPut("productionorg_number", "BU-00001")
+                                        .fluentPut("dept_number", "Org-00002")
+
                                         .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) {
@@ -220,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("billno", order.getOrderNo())
-//                                        .fluentPut("bookdate", sdf1.format(nowMis))
+                                        .fluentPut("id", 0L)
+                                        .fluentPut("billno", UUID.randomUUID().toString().replace("-", "").substring(0, 16))
+                                        .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();
@@ -331,12 +406,9 @@
                         JSONObject resultItem = resultArray.getJSONObject(i);
                         String billNo = resultItem.getString("number");  // 鑾峰彇杩斿洖鐨勫崟鎹彿
                         String billId = resultItem.getString("id");      // 鑾峰彇杩斿洖鐨処D
-                        // 鍒ゆ柇杩斿洖鐨勫崟鎹彿涓庤鍗曞彿鏄惁涓�鑷�
-                        if (billNo != null && billNo.equals(order.getOrderNo())) {
-                            // 濡傛灉涓�鑷达紝璁剧疆璁㈠崟鐨� number
-                            order.setNumber(billId);
-                            log.info("璁㈠崟鍙� {} 涓庤繑鍥炵殑鍗曟嵁鍙峰尮閰嶏紝璁剧疆璁㈠崟 ID 涓� {}", order.getOrderNo(), billId);
-                        }
+                        order.setNumber(billId);
+                        order.setShipCode(add.getString("billno"));
+
                     }
                 } else {
                     log.error("鎺ュ彛璋冪敤澶辫触锛屽け璐ョ殑鎿嶄綔鏁伴噺: {}", failCount);

--
Gitblit v1.9.1