From 85f8eed3fa9f52a68dff30ea8bdee00fbc1d5938 Mon Sep 17 00:00:00 2001
From: 1 <1>
Date: 星期一, 22 十二月 2025 12:48:14 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/task/kingdee/SaveOrderSyncScheduler.java       |    8 --
 src/main/java/com/zy/asrs/task/kingdee/handler/SaveOrderSyncHandler.java |   16 ++--
 src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java  |  143 +++++++++++++++++++++++------------------------
 3 files changed, 81 insertions(+), 86 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/kingdee/SaveOrderSyncScheduler.java b/src/main/java/com/zy/asrs/task/kingdee/SaveOrderSyncScheduler.java
index d9ae35d..8a9fe5c 100644
--- a/src/main/java/com/zy/asrs/task/kingdee/SaveOrderSyncScheduler.java
+++ b/src/main/java/com/zy/asrs/task/kingdee/SaveOrderSyncScheduler.java
@@ -35,7 +35,7 @@
     @Value("${erp.switch.ReviewOrderSwitch}")
     private boolean ReviewOrderSwitch;
 
-    @Scheduled(cron = "0/20 * * * * ? ")
+//    @Scheduled(cron = "0/20 * * * * ? ")
     @Async("orderThreadPool")
     public void completeAndReport(){
         if(!ReviewOrderSwitch){
@@ -47,7 +47,7 @@
             List<Order> orders = orderService.selectComplete();
             if(orders.size() > 0){
                 for (Order order : orders) {
-                    if(order.getDocType() == 3 || order.getDocType() == 16 || order.getPayType()!=1){ //璧版柊澧炴彁浜ゅ鏍告祦绋�
+                    if((order.getDocType() == 3 || order.getDocType() == 16) && order.getPayType() == null){ //璧版柊澧炴彁浜ゅ鏍告祦绋�
                         ReturnT<String> result = saveOrderSyncHandler.start(order);//4宸插畬鎴�
                         if (!result.isSuccess()) {
                             log.error("鍗曟嵁[orderNo={}]鏂板淇濆瓨鑷砮rp澶辫触", order.getOrderNo());
@@ -62,10 +62,6 @@
                         if(orderDetlPakinService.morpt(order.getSalesman())){
                             order.setSettle(11L); //yu/cheng/dan/deng/dai/chu/ku/dan
                             orderService.updateById(order);
-//                            ReturnT<String> result = saveOrderSyncHandler.start(order1);//4宸插畬鎴恏ui/bao/dan
-//                            if (!result.isSuccess()) {
-//                                log.error("鍗曟嵁[orderNo={}]鏂板淇濆瓨鑷砮rp澶辫触", order.getOrderNo());
-//                            }
                         }
                     }
                     else{
diff --git a/src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java b/src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java
index 51534e4..fbe8310 100644
--- a/src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java
+++ b/src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java
@@ -558,6 +558,7 @@
                                             callApiLogSaveOrder(order,kingDeeUtilType, "缂栧彿鍟嗗搧妫�绱㈠け璐ワ紝璇峰厛娣诲姞鍟嗗搧"+matnr, false);
                                             continue;
                                         }
+                                        Double erpAnfme = anfme*mat.getSafeQty();
                                         Order order1 = orderService.selectByNo( billNo);
                                         List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order1.getId());
                                         boolean sign = false;
@@ -579,7 +580,7 @@
                                         orderDetl.setThreeCode(detlId);//ERP鏄庣粏id
                                         orderDetl.setLineNumber(seq);//鍒嗗綍琛屽彿
                                         orderDetl.setAnfme(anfme);//鎬荤鏁�
-                                        orderDetl.setErpAnfme(anfme);//erp鏁版嵁
+                                        orderDetl.setErpAnfme(erpAnfme);//erp鏁版嵁
                                         orderDetl.setOrderId(order.getId());
                                         orderDetl.setOrderNo(order.getOrderNo());//琛ㄥご鍗曟嵁
                                         orderDetl.setSupp(supp);//渚涘簲鍟嗗悕绉帮紙璐ф簮锛�
@@ -735,6 +736,7 @@
                                             "鍟嗗搧涓嶅瓨鍦細" + matnr, false);
                                     continue;
                                 }
+                                Double erpAnfme = anfme*mat.getSafeQty();
                                 // ========= 鏄庣粏鍘婚噸 =========
                                 List<OrderDetl> orderDetls =
                                         orderDetlService.selectByOrderId(order.getId());
@@ -754,7 +756,7 @@
                                 orderDetl.setThreeCode(detlId);
                                 orderDetl.setLineNumber(seq);
                                 orderDetl.setAnfme(anfme);
-                                orderDetl.setErpAnfme(anfme);
+                                orderDetl.setErpAnfme(erpAnfme);
                                 orderDetl.setOrderId(order.getId());
                                 orderDetl.setOrderNo(order.getOrderNo());
                                 orderDetl.setSupp(supp);
@@ -901,6 +903,7 @@
                                             "鍟嗗搧涓嶅瓨鍦細" + matnr, false);
                                     continue;
                                 }
+                                Double erpAnfme = anfme*mat.getSafeQty();
                                 // ========= 鏄庣粏鍘婚噸 =========
                                 List<OrderDetl> orderDetls =
                                         orderDetlService.selectByOrderId(order.getId());
@@ -920,7 +923,7 @@
                                 orderDetl.setThreeCode(detlId);
                                 orderDetl.setLineNumber(seq);
                                 orderDetl.setAnfme(anfme);
-                                orderDetl.setErpAnfme(anfme);
+                                orderDetl.setErpAnfme(erpAnfme);
                                 orderDetl.setOrderId(order.getId());
                                 orderDetl.setOrderNo(order.getOrderNo());
                                 orderDetl.setSupp(supp);
@@ -1209,6 +1212,10 @@
                                 String detlId = entry.getString("id"); //鏄庣粏id
                                 Long seq = entry.getLong("seq"); //鍒嗗綍琛屽彿
 //                                String suppCode = entry.getString("supplier_number");
+                                if(anfme == 0){
+                                    callApiLogSaveOrder(order,kingDeeUtilType, "鍗曟嵁鏁伴噺寮傚父"+matnr, false);
+                                    continue;
+                                }
                                 String suppCode = null;
                                 if (anfme == null || anfme == 0) {
                                     callApiLogSaveOrder(order, kingDeeUtilType,
@@ -1222,7 +1229,7 @@
                                             "鐗╂枡妗f涓嶅瓨鍦細" + matnr, false);
                                     continue;
                                 }
-                                anfmeBox = anfme/mat.getSafeQty();
+                                anfmeBox = Math.floor(anfme / mat.getSafeQty());
                                 // ========= 鏄庣粏鍘婚噸 =========
                                 List<OrderDetl> orderDetls =
                                         orderDetlService.selectByOrderId(order.getId());
@@ -1238,40 +1245,36 @@
 //                                    supp = locSupp.getOwner();
 //                                }
                                 // ========= 淇濆瓨鏄庣粏 =========
-                                try{
-                                    OrderDetl orderDetl = new OrderDetl();
-                                    orderDetl.sync(mat);
-                                    orderDetl.setThreeCode(detlId);
-                                    orderDetl.setLineNumber(seq);
-                                    orderDetl.setAnfme(anfmeBox);
-                                    orderDetl.setErpAnfme(anfme);
-                                    orderDetl.setOrderId(order.getId());
-                                    orderDetl.setOrderNo(order.getOrderNo());
-                                    orderDetl.setSupp(supp);
-                                    orderDetl.setSuppCode(suppCode);
-                                    orderDetl.setSku(matnr);
-                                    orderDetl.setStandby1(s1);
-                                    orderDetl.setStandby2(s2);
-                                    orderDetl.setStandby3(s3);
-                                    orderDetl.setBoxType1(owner);
-                                    orderDetl.setBoxType2(ownerUuid);
-                                    orderDetl.setBoxType3(pOrderNo);
-                                    orderDetl.setMemo(memo);
-                                    orderDetl.setVolume(totalVolume);
-                                    orderDetl.setSafeQty(totalNumItems);
-                                    orderDetl.setManu(warehouse);
-                                    orderDetl.setCreateBy(9527L);
-                                    orderDetl.setCreateTime(new Date());
-                                    orderDetl.setUpdateBy(9527L);
-                                    orderDetl.setUpdateTime(new Date());
-                                    orderDetl.setStatus(1);
-                                    orderDetl.setQty(0.0D);
+                                OrderDetl orderDetl = new OrderDetl();
+                                orderDetl.sync(mat);
+                                orderDetl.setThreeCode(detlId);
+                                orderDetl.setLineNumber(seq);
+                                orderDetl.setAnfme(anfmeBox);
+                                orderDetl.setErpAnfme(anfme);
+                                orderDetl.setOrderId(order.getId());
+                                orderDetl.setOrderNo(order.getOrderNo());
+                                orderDetl.setSupp(supp);
+                                orderDetl.setSuppCode(suppCode);
+                                orderDetl.setSku(matnr);
+                                orderDetl.setStandby1(s1);
+                                orderDetl.setStandby2(s2);
+                                orderDetl.setStandby3(s3);
+                                orderDetl.setBoxType1(owner);
+                                orderDetl.setBoxType2(ownerUuid);
+                                orderDetl.setBoxType3(pOrderNo);
+                                orderDetl.setMemo(memo);
+                                orderDetl.setVolume(totalVolume);
+                                orderDetl.setSafeQty(totalNumItems);
+                                orderDetl.setManu(warehouse);
+                                orderDetl.setCreateBy(9527L);
+                                orderDetl.setCreateTime(new Date());
+                                orderDetl.setUpdateBy(9527L);
+                                orderDetl.setUpdateTime(new Date());
+                                orderDetl.setStatus(1);
+                                orderDetl.setQty(0.0D);
 
-                                    orderDetlService.insert(orderDetl);
-                                } catch (Exception e) {
-                                    // 濡傛灉鍙戠敓寮傚父锛岃褰曡缁嗙殑閿欒淇℃伅
-                                    callApiLogSaveOrder(order, kingDeeUtilType, "淇濆瓨鏄庣粏澶辫触锛岀墿鏂欙細" + matnr + " 閿欒淇℃伅锛�" + e.getMessage(), false);
-                                }
+                                orderDetlService.insert(orderDetl);
+
                             }
                         }
 
@@ -1395,7 +1398,7 @@
                                             "鍟嗗搧涓嶅瓨鍦細" + matnr, false);
                                     continue;
                                 }
-                                anfmeBox = anfme/mat.getSafeQty();
+                                anfmeBox = Math.floor(anfme / mat.getSafeQty());
                                 // ========= 鏄庣粏鍘婚噸 =========
                                 List<OrderDetl> orderDetls =
                                         orderDetlService.selectByOrderId(order.getId());
@@ -1410,40 +1413,36 @@
                                     supp = locSupp.getOwner();
                                 }
                                 // ========= 淇濆瓨鏄庣粏 =========
-                                try{
-                                    OrderDetl orderDetl = new OrderDetl();
-                                    orderDetl.sync(mat);
-                                    orderDetl.setThreeCode(detlId);
-                                    orderDetl.setLineNumber(seq);
-                                    orderDetl.setAnfme(anfmeBox);
-                                    orderDetl.setErpAnfme(anfme);
-                                    orderDetl.setOrderId(order.getId());
-                                    orderDetl.setOrderNo(order.getOrderNo());
-                                    orderDetl.setSupp(supp);
-                                    orderDetl.setSuppCode(suppCode);
-                                    orderDetl.setSku(matnr);
-                                    orderDetl.setStandby1(s1);
-                                    orderDetl.setStandby2(s2);
-                                    orderDetl.setStandby3(s3);
-                                    orderDetl.setBoxType1(owner);
-                                    orderDetl.setBoxType2(ownerUuid);
-                                    orderDetl.setBoxType3(pOrderNo);
-                                    orderDetl.setMemo(memo);
-                                    orderDetl.setVolume(totalVolume);
-                                    orderDetl.setSafeQty(totalNumItems);
-                                    orderDetl.setManu(warehouse);
-                                    orderDetl.setCreateBy(9527L);
-                                    orderDetl.setCreateTime(new Date());
-                                    orderDetl.setUpdateBy(9527L);
-                                    orderDetl.setUpdateTime(new Date());
-                                    orderDetl.setStatus(1);
-                                    orderDetl.setQty(0.0D);
 
-                                    orderDetlService.insert(orderDetl);
-                                } catch (Exception e) {
-                                    // 濡傛灉鍙戠敓寮傚父锛岃褰曡缁嗙殑閿欒淇℃伅
-                                    callApiLogSaveOrder(order, kingDeeUtilType, "淇濆瓨鏄庣粏澶辫触锛岀墿鏂欙細" + matnr + " 閿欒淇℃伅锛�" + e.getMessage(), false);
-                                }
+                                OrderDetl orderDetl = new OrderDetl();
+                                orderDetl.sync(mat);
+                                orderDetl.setThreeCode(detlId);
+                                orderDetl.setLineNumber(seq);
+                                orderDetl.setAnfme(anfmeBox);
+                                orderDetl.setErpAnfme(anfme);
+                                orderDetl.setOrderId(order.getId());
+                                orderDetl.setOrderNo(order.getOrderNo());
+                                orderDetl.setSupp(supp);
+                                orderDetl.setSuppCode(suppCode);
+                                orderDetl.setSku(matnr);
+                                orderDetl.setStandby1(s1);
+                                orderDetl.setStandby2(s2);
+                                orderDetl.setStandby3(s3);
+                                orderDetl.setBoxType1(owner);
+                                orderDetl.setBoxType2(ownerUuid);
+                                orderDetl.setBoxType3(pOrderNo);
+                                orderDetl.setMemo(memo);
+                                orderDetl.setVolume(totalVolume);
+                                orderDetl.setSafeQty(totalNumItems);
+                                orderDetl.setManu(warehouse);
+                                orderDetl.setCreateBy(9527L);
+                                orderDetl.setCreateTime(new Date());
+                                orderDetl.setUpdateBy(9527L);
+                                orderDetl.setUpdateTime(new Date());
+                                orderDetl.setStatus(1);
+                                orderDetl.setQty(0.0D);
+
+                                orderDetlService.insert(orderDetl);
                             }
                         }
                     }
@@ -1567,7 +1566,7 @@
                                             "鍟嗗搧涓嶅瓨鍦細" + matnr, false);
                                     continue;
                                 }
-                                anfmeBox = anfme/mat.getSafeQty();
+                                anfmeBox = Math.floor(anfme / mat.getSafeQty());
                                 // ========= 鏄庣粏鍘婚噸 =========
                                 List<OrderDetl> orderDetls =
                                         orderDetlService.selectByOrderId(order.getId());
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 026457d..5334a08 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
@@ -112,7 +112,7 @@
                     }
                     Mat mat = matService.selectByMatnr(orderDetl.getMatnr());
                     Double qty = orderDetl.getQty()*mat.getSafeQty();
-                    Double qtytotal = orderDetl.getAnfme()*mat.getSafeQty();
+//                    Double qtytotal = orderDetl.getAnfme()*mat.getSafeQty();
 //                    JSONArray idArr = new JSONArray();
 //                    idArr.add(0L);
                     // 鍒涘缓 billentry_lk 瀵硅薄
@@ -122,7 +122,7 @@
                             .fluentPut("billentry_lk_stableid", 677270092232273922L)
                             .fluentPut("billentry_lk_sbillid", Long.parseLong(order.getItemName()))  // 涓诲崟ID
                             .fluentPut("billentry_lk_sid", Long.parseLong(orderDetl.getThreeCode()))  // 鏄庣粏ID
-                            .fluentPut("billentry_lk_baseqty_old", qtytotal)  // ERP鏁伴噺
+                            .fluentPut("billentry_lk_baseqty_old", orderDetl.getAnfme())  // ERP鏁伴噺
                             .fluentPut("billentry_lk_baseqty", qty);  // 浣滀笟鏁伴噺
                     billentryLkArray.add(billentryLk);
                     // 鍒涘缓 billentry 瀵硅薄锛屽~鍏呯己澶辩殑瀛楁
@@ -171,7 +171,7 @@
                     }
                     Mat mat = matService.selectByMatnr(orderDetl.getMatnr());
                     Double qty = orderDetl.getQty()*mat.getSafeQty();
-                    Double qtytotal = orderDetl.getAnfme()*mat.getSafeQty();
+//                    Double qtytotal = orderDetl.getAnfme()*mat.getSafeQty();
 //                    JSONArray idArr = new JSONArray();
 //                    idArr.add(0L);
                     // 鍒涘缓 billentry_lk 瀵硅薄
@@ -181,7 +181,7 @@
                             .fluentPut("billentry_lk_stableid", 677270092232273922L)
                             .fluentPut("billentry_lk_sbillid", Long.parseLong(order.getItemName()))  // 涓诲崟ID
                             .fluentPut("billentry_lk_sid", Long.parseLong(orderDetl.getThreeCode()))  // 鏄庣粏ID
-                            .fluentPut("billentry_lk_baseqty_old", qtytotal)  // ERP鏁伴噺
+                            .fluentPut("billentry_lk_baseqty_old", orderDetl.getAnfme())  // ERP鏁伴噺
                             .fluentPut("billentry_lk_baseqty", qty);  // 浣滀笟鏁伴噺
                     billentryLkArray1.add(billentryLk);
                     // 鍒涘缓 billentry 瀵硅薄锛屽~鍏呯己澶辩殑瀛楁
@@ -244,10 +244,10 @@
                                         .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("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": // 鍏朵粬鍑哄簱鍗�

--
Gitblit v1.9.1