From 2a0f422815c0379e6d4bf795a2eac435da9b3df2 Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期三, 16 四月 2025 22:12:30 +0800
Subject: [PATCH] 1

---
 src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java |   25 ++++++++++++++++---------
 1 files changed, 16 insertions(+), 9 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
index b660ea0..a399289 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -227,7 +227,9 @@
             updateAgvLocMast(agvLocMastService.selectById(sourceLocNo), locSts);
             //鏇存柊鐩爣绔欑偣鐘舵��
             //locSts = ioType == 101 ? "S" : "Q";
-            updateAgvBasDevp(agvBasDevpService.selectById(targetLocNo), "S");
+            AgvBasDevp agvBasDevp = agvBasDevpService.selectById(targetLocNo);
+            agvBasDevp.setBarcode("");
+            updateAgvBasDevp(agvBasDevp, "S");
 
         });
     }
@@ -750,9 +752,9 @@
             String ctnNo = null;
             // 鎵撴爣璁帮紝鑻ュ簱浣嶄笉澶燂紝鍏ュ簱鍒板埆鐨勬ゼ灞傦紝閭d箞闇�瑕佽法灞傜Щ搴�
             if (!Cools.isEmpty(code)) {
-                if (agvLocMast.getLev1() == 1 && !code.equals(AsrsConstants.SANCHANG)) {
-                    ctnNo = "1";
-                } else if (agvLocMast.getLev1() == 2 && !code.equals(AsrsConstants.ERCHANG)) {
+                if (agvLocMast.getLev1() == 1 && code.equals(AsrsConstants.ERCHANG)) {
+                    ctnNo = "2";
+                } else if (agvLocMast.getLev1() == 2 && code.equals(AsrsConstants.SANCHANG)) {
                     ctnNo = "1";
                 }
             }
@@ -1006,7 +1008,7 @@
         List<AgvLocDetl> locDetls = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("loc_no", param.getLocNo()));
 
         List<LocDetlAdjustParam.LocDetlAdjust> list = param.getList();
-
+        String barcode = null;
         // 淇敼鏁伴噺
         Iterator<AgvLocDetl> iterator = locDetls.iterator();
         while (iterator.hasNext()) {
@@ -1093,6 +1095,7 @@
             locDetl.setThreeCode(adjust.getThreeCode());
             locDetl.setDeadTime(adjust.getDeadTime());
             locDetl.setSuppCode(adjust.getSuppCode());
+            barcode = adjust.getSuppCode();
             if (!agvLocDetlService.insert(locDetl)) {
                 throw new CoolException("娣诲姞" + locDetl.getLocNo() + "搴撲綅锛�" + locDetl.getMatnr() + "鍟嗗搧锛�" + locDetl.getBatch() + "搴忓垪鐮佸簱瀛樻槑缁嗗け璐�");
             }
@@ -1125,6 +1128,7 @@
         if (locMast.getLocSts().equals("D") || locMast.getLocSts().equals("O")) {
             if (count > 0) {
                 locMast.setLocSts("F");
+                locMast.setBarcode(barcode);
             }
         }
         locMast.setModiUser(userId);
@@ -1237,6 +1241,9 @@
                 String devNo = wrkMast.getSourceLocNo();
                 //鐩爣搴撲綅
                 String locNo = wrkMast.getLocNo();
+                if (!Cools.isEmpty(locNo)) {
+                    agvLocDetlService.delete(new EntityWrapper<AgvLocDetl>().eq("loc_no", locNo));
+                }
                 agvLocMastService.updateLocStsByLocNo(locNo, "O", "", null);
                 if (wrkMast.getIoType() == 58) {
                     agvBasDevpService.updateLocStsAndBarcodeByDevNo(devNo, "F", wrkMast.getBarcode(), wrkMast.getWhsType().shortValue());
@@ -1555,9 +1562,6 @@
     private void updateAgvBasDevp(AgvBasDevp agvBasDevp, String locSts) {
         if (!Cools.isEmpty(agvBasDevp)) {
             agvBasDevp.setLocSts(locSts);
-            if (locSts.equals("S")) {
-                agvBasDevp.setBarcode("");
-            }
             agvBasDevpService.updateById(agvBasDevp);
         }
     }
@@ -1592,7 +1596,10 @@
         }
         OrderDetl orderDetl = orderDetlService.selectItem(orderNo, mat.getMatnr(), batch, csocode);
         if (orderDetl == null) {
-            throw new CoolException("璁㈠崟鏄庣粏涓嶅瓨鍦�");
+            orderDetl = orderDetlService.selectItem(orderNo, mat.getMatnr(), null, csocode);
+            if (orderDetl == null) {
+                throw new CoolException("璁㈠崟鏄庣粏涓嶅瓨鍦�");
+            }
         }
         AgvWrkDetl wrkDetl = new AgvWrkDetl();
         wrkDetl.sync(mat);

--
Gitblit v1.9.1