From 0f64ee96e72e34135201f28e033e1b5537031712 Mon Sep 17 00:00:00 2001
From: 1 <1>
Date: 星期三, 10 十二月 2025 14:03:41 +0800
Subject: [PATCH] #

---
 src/main/resources/mapper/ManLocDetlMapper.xml                           |    4 ++
 src/main/java/com/zy/asrs/task/kingdee/SaveOrderSyncScheduler.java       |    2 
 src/main/java/com/zy/asrs/task/kingdee/handler/SaveOrderSyncHandler.java |   13 ++++--
 src/main/java/com/zy/asrs/task/kingdee/ReviewOrderSyncScheduler.java     |    2 
 src/main/java/com/zy/asrs/task/handler/WrkMastAgvHandler.java            |   27 ++++++-------
 src/main/java/com/zy/asrs/task/kingdee/SubmitOrderSyncScheduler.java     |    2 
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java              |   12 ++++--
 7 files changed, 35 insertions(+), 27 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
index 2bb60ce..32ee656 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -840,11 +840,15 @@
         if (ts == null) {
             throw new CoolException("timestamp 鐢熸垚澶辫触");
         }
+
+        String barcode = String.valueOf(ts);
+        if (barcode.length() > 16) {
+            barcode = barcode.substring(0, 16);
+        }
+        basAgvMast.setBarcode(barcode);
+
         String locNo = null;
         String staNo = null;
-
-        basAgvMast.setBarcode(Long.toString(ts));
-
         basAgvMast.setTaskNo(commonService.getWorkNo(0));
         basAgvMast.setSourceStaNo(param.getSourceStaNo());
         basAgvMast.setStaNo(param.getStaNo());
@@ -873,7 +877,7 @@
         basAgvMastService.insert(basAgvMast);
 
         bindCtnrAndBinParam bindParam = new bindCtnrAndBinParam();
-        bindParam.setBarcode(Long.toString(ts));
+        bindParam.setBarcode(basAgvMast.getBarcode());
         bindParam.setIndBind("1");
         bindParam.setFloorNo(basAgvMast.getFloorNo());
         bindParam.setLocNo(locNo);
diff --git a/src/main/java/com/zy/asrs/task/handler/WrkMastAgvHandler.java b/src/main/java/com/zy/asrs/task/handler/WrkMastAgvHandler.java
index f1b9202..c2f21f6 100644
--- a/src/main/java/com/zy/asrs/task/handler/WrkMastAgvHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WrkMastAgvHandler.java
@@ -24,6 +24,8 @@
     @Autowired
     private BasAgvMastService basAgvMastService;
     @Autowired
+    private WrkMastService wrkMastService;
+    @Autowired
     private BasAgvLocDetlService basAgvLocDetlService;
     @Autowired
     private BasAgvWrkDetlService basAgvWrkDetlService;
@@ -35,13 +37,17 @@
     private OpenService openService;
 
 
-    public ReturnT<String> start(BasAgvMast basAgvMast) {
+    public ReturnT<String>                           start(BasAgvMast basAgvMast) {
         try {
             Date now = new Date();
             switch (basAgvMast.getIoType()){
                 case 0:
                     LocMast sourceLoc0 = locMastService.selectById(basAgvMast.getSourceLocNo());
                     locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", sourceLoc0.getLocNo()));
+                    if(basAgvMast.getFloorNo() == 4){
+                        basAgvMast.setBarcode(sourceLoc0.getBarcode());
+                        basAgvMastService.updateById(basAgvMast);
+                    }
                     sourceLoc0.setLocSts("O");
                     sourceLoc0.setBarcode("");
                     sourceLoc0.setModiTime(now);
@@ -51,7 +57,6 @@
                         TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                         return FAIL.setMsg("鍑哄簱 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐�; [TaskNo=" + basAgvMast.getTaskNo() + "],[locNo=" + basAgvMast.getSourceLocNo() + "]");
                     }
-
                     basAgvLocDetlService.delete(new EntityWrapper<BasAgvLocDetl>().eq("loc_no", basAgvMast.getSourceLocNo()));
                     basAgvWrkDetlService.delete(new EntityWrapper<BasAgvWrkDetl>().eq("wrk_no", basAgvMast.getTaskNo()));
                     basAgvMast.setStatus(3);
@@ -67,6 +72,7 @@
                     }
                     // 淇敼鐩爣搴撲綅鐘舵�� ==> .locSts
                     locMast1.setLocSts("F");
+                    locMast1.setBarcode(sourceLoc1.getBarcode());
                     locMast1.setIoTime(now);
                     locMast1.setModiTime(now);
                     if (!locMastService.updateById(locMast1)) {
@@ -74,21 +80,12 @@
                         TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                         return FAIL.setMsg("搴撲綅绉昏浆 ===>> 淇敼鐩爣搴撲綅鐘舵�佸け璐�; [TaskNo=" + basAgvMast.getTaskNo() + "],[locNo=" + basAgvMast.getLocNo() + "]");
                     }
-
-
                     try{
                         // 杞Щ搴撳瓨鏄庣粏鏁版嵁: 搴撳瓨鍙� 鐢卞伐浣滄。婧愬簱浣嶅彉涓虹洰鏍囧簱浣�
                         locDetlService.updateLocNo(basAgvMast.getLocNo(), basAgvMast.getSourceLocNo());
-//                        if (!) {
-//                            exceptionHandle("搴撲綅绉昏浆 ===>> 杞Щ搴撳瓨鏄庣粏鏁版嵁澶辫触锛沎婧愬簱浣�={0}],[鐩爣搴撲綅={1}]", wrkMast.getSourceLocNo(), wrkMast.getLocNo());
-//                            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-//                            return FAIL.setMsg("搴撲綅绉昏浆 ===>> 杞Щ搴撳瓨鏄庣粏鏁版嵁澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
-//                        }
                     } catch (Exception e) {
-
+                        return FAIL.setMsg(e.getMessage());
                     }
-
-
                     if (null != sourceLoc1) {
                         sourceLoc1.setBarcode("");
                         sourceLoc1.setLocSts("O");
@@ -104,9 +101,9 @@
                     basAgvLocDetlService.delete(new EntityWrapper<BasAgvLocDetl>().eq("loc_no", basAgvMast.getSourceLocNo()));
                     basAgvWrkDetlService.delete(new EntityWrapper<BasAgvWrkDetl>().eq("wrk_no", basAgvMast.getTaskNo()));
                     basAgvLocDetlService.delete(new EntityWrapper<BasAgvLocDetl>().eq("loc_no", basAgvMast.getLocNo()));
-                    basAgvMast.setStatus(3);
+                    basAgvMast.setStatus(4);
                     basAgvMastService.updateById(basAgvMast);
-                    openService.agvBindAndBin(String.valueOf(basAgvMast.getTaskNo()));
+//                    openService.agvBindAndBin(String.valueOf(basAgvMast.getTaskNo()));
                     break;
                 case 2:
                     List<LocDetl> locDetls2 = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", basAgvMast.getLocNo()));
@@ -189,7 +186,7 @@
                     basAgvLocDetlService.delete(new EntityWrapper<BasAgvLocDetl>().eq("loc_no", basAgvMast.getLocNo()));
                     basAgvWrkDetlService.delete(new EntityWrapper<BasAgvWrkDetl>().eq("wrk_no", basAgvMast.getTaskNo()));
                     basAgvMast.setStatus(3);
-                    if(basAgvMast.getIoType() == 2 && basAgvMast.getFloorNo() == 2){
+                    if(basAgvMast.getFloorNo() == 2 || basAgvMast.getFloorNo() == 3){
                         basAgvMast.setStatus(4);
                     }
                     basAgvMastService.updateById(basAgvMast);
diff --git a/src/main/java/com/zy/asrs/task/kingdee/ReviewOrderSyncScheduler.java b/src/main/java/com/zy/asrs/task/kingdee/ReviewOrderSyncScheduler.java
index 5a16db0..e82d6a2 100644
--- a/src/main/java/com/zy/asrs/task/kingdee/ReviewOrderSyncScheduler.java
+++ b/src/main/java/com/zy/asrs/task/kingdee/ReviewOrderSyncScheduler.java
@@ -32,7 +32,7 @@
     @Value("${erp.switch.ReviewOrderSwitch}")
     private boolean ReviewOrderSwitch;
 
-    @Scheduled(cron = "0/3 * * * * ? ")
+//    @Scheduled(cron = "0/20 * * * * ?")
     @Async("orderThreadPool")
     public void completeAndReport(){
         if(!ReviewOrderSwitch){
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 f2072e2..9e5f087 100644
--- a/src/main/java/com/zy/asrs/task/kingdee/SaveOrderSyncScheduler.java
+++ b/src/main/java/com/zy/asrs/task/kingdee/SaveOrderSyncScheduler.java
@@ -32,7 +32,7 @@
     @Value("${erp.switch.ReviewOrderSwitch}")
     private boolean ReviewOrderSwitch;
 
-    @Scheduled(cron = "0/3 * * * * ? ")
+    @Scheduled(cron = "0/20 * * * * ?")
     @Async("orderThreadPool")
     public void completeAndReport(){
         if(!ReviewOrderSwitch){
diff --git a/src/main/java/com/zy/asrs/task/kingdee/SubmitOrderSyncScheduler.java b/src/main/java/com/zy/asrs/task/kingdee/SubmitOrderSyncScheduler.java
index ce0e8e1..e157e15 100644
--- a/src/main/java/com/zy/asrs/task/kingdee/SubmitOrderSyncScheduler.java
+++ b/src/main/java/com/zy/asrs/task/kingdee/SubmitOrderSyncScheduler.java
@@ -34,7 +34,7 @@
     @Value("${erp.switch.ReviewOrderSwitch}")
     private boolean ReviewOrderSwitch;
 
-    @Scheduled(cron = "0/3 * * * * ? ")
+//    @Scheduled(cron = "0/20 * * * * ?")
     @Async("orderThreadPool")
     public void completeAndReport(){
         if(!ReviewOrderSwitch){
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 0f92365..25f8bc2 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
@@ -98,11 +98,12 @@
                     if (orderDetl.getQty() == 0) {
                         continue;
                     }
-                    JSONArray idArr = new JSONArray();
-                    idArr.add(0L);   // 鉁� 娉ㄦ剰蹇呴』鏄� Long 绫诲瀷鐨� 0L
+//                    JSONArray idArr = new JSONArray();
+//                    idArr.add(0L);   // 鉁� 娉ㄦ剰蹇呴』鏄� Long 绫诲瀷鐨� 0L
+//                    Double reportNum = orderDetl.getQty() - orderDetl.getWorkQty();//涓婃姤鏁伴噺鍑忓幓宸蹭笂鎶ユ暟閲�
                     // 鍒涘缓 billentry_lk 瀵硅薄
                     JSONObject billentryLk = new JSONObject()
-                            .fluentPut("id", idArr)
+                            .fluentPut("id", 0L)
                             .fluentPut("seq", orderDetl.getLineNumber())
                             .fluentPut("billentry_lk_stableid", 677270092232273922L)
                             .fluentPut("billentry_lk_sbillid", Long.parseLong(order.getItemName()))  // 涓诲崟ID
@@ -112,7 +113,7 @@
                     billentryLkArray.add(billentryLk);
                     // 鍒涘缓 billentry 瀵硅薄锛屽~鍏呯己澶辩殑瀛楁
                     JSONObject billentry = new JSONObject()
-                            .fluentPut("id", idArr)
+                            .fluentPut("id", 0L)
                             .fluentPut("warehouse_number", orderDetl.getManu())  // 浠撳簱缂栧彿
                             .fluentPut("invstatus_number", "110")  // 搴撳瓨鐘舵��
                             .fluentPut("invtype_number", "110")  // 搴撳瓨绫诲瀷
@@ -121,8 +122,9 @@
                             .fluentPut("qty", orderDetl.getQty())  // 鏁伴噺
                             .fluentPut("material_number", orderDetl.getMatnr())  // 鐗╂枡缂栧彿
                             .fluentPut("billentry_lk", billentryLkArray);
-
                     billentryArray.add(billentry);
+//                    orderDetl.setWorkQty(orderDetl.getQty());
+//                    orderDetlService.updateById(orderDetl);//灏嗕笂鎶ユ暟瑕嗙洊鍒板巻鍙蹭笂
                 }
                 Date now = new Date();
                 return new JSONObject()
@@ -212,6 +214,7 @@
                         if (billNo != null && billNo.equals(order.getOrderNo())) {
                             // 濡傛灉涓�鑷达紝璁剧疆璁㈠崟鐨� number
                             order.setNumber(billId);
+                            orderService.updateById(order);
                             log.info("璁㈠崟鍙� {} 涓庤繑鍥炵殑鍗曟嵁鍙峰尮閰嶏紝璁剧疆璁㈠崟 ID 涓� {}", order.getOrderNo(), billId);
                         }
                     }
diff --git a/src/main/resources/mapper/ManLocDetlMapper.xml b/src/main/resources/mapper/ManLocDetlMapper.xml
index 940e46c..77652f4 100644
--- a/src/main/resources/mapper/ManLocDetlMapper.xml
+++ b/src/main/resources/mapper/ManLocDetlMapper.xml
@@ -301,6 +301,10 @@
         update man_loc_detl set loc_no = #{locNo}
         where node_id = #{nodeId}
     </update>
+    <update id="updateLocNo0">
+        update man_loc_detl set loc_no = #{newLocNo}
+        where loc_no = #{oldLocNo}
+    </update>
 
     <delete id="deleteLocNo0">
         delete from man_loc_detl

--
Gitblit v1.9.1