From cc66587e80da55e97978275f87b3b6f325751ade Mon Sep 17 00:00:00 2001
From: ZY <zc857179121@qq.com>
Date: 星期一, 31 三月 2025 14:36:27 +0800
Subject: [PATCH] 1

---
 src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java |   46 +++++++++++++++++++++++++++++++---------------
 1 files changed, 31 insertions(+), 15 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 4e595cd..9d3dd0e 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";
                 }
             }
@@ -903,7 +905,7 @@
                     }
                 }
             }
-            if (agvLocMast==null){
+            if (agvLocMast == null) {
                 throw new CoolException("娌℃湁璇ョ被鍨嬬殑绌哄簱浣嶄簡");
             }
 
@@ -959,18 +961,23 @@
         if (!Cools.isEmpty(agvWrkMast)) {
             throw new CoolException("鏈夎揣鏋跺湪寰�绔欑偣鎼繍" + agvBasDevp.getDevNo() + ",鏃犳硶杩涜绌烘澘鍑哄簱");
         }
+        AgvLocMast agvLocMast = null;
+        if (station.startsWith("XI") && station.endsWith("F4") && containerType == 30) {
+            agvLocMast = agvLocMastService.select30EmptyZpallet();
+        } else {
+            //瀵绘壘鐩稿簲绫诲瀷鐨勭┖璐ф灦
+            Integer floor = agvBasDevp.getFloor();
+            if (floor == 4) {
+                floor = 1;
+            }
+            agvLocMast = agvLocMastService.selectEmptyZpallet(containerType, floor);
+            if (containerType == 0) {
+                //绌烘澘鑷姩鍑哄簱锛屾牴鎹珯鐐圭被鍨嬮�夋嫨
+                agvLocMastService.selectEmptyZpalletByLocType1(agvBasDevp.getLocType1());
 
-        //瀵绘壘鐩稿簲绫诲瀷鐨勭┖璐ф灦
-        Integer floor = agvBasDevp.getFloor();
-        if (floor == 4) {
-            floor = 1;
+            }
         }
-        AgvLocMast agvLocMast = agvLocMastService.selectEmptyZpallet(containerType, floor);
-        if (containerType == 0) {
-            //绌烘澘鑷姩鍑哄簱锛屾牴鎹珯鐐圭被鍨嬮�夋嫨
-            agvLocMastService.selectEmptyZpalletByLocType1(agvBasDevp.getLocType1());
 
-        }
 
         if (Cools.isEmpty(agvLocMast)) {
             throw new CoolException("鏆傛棤褰撳墠鍑哄簱绔欑偣绫诲瀷鐨勭┖璐ф灦锛�");
@@ -1345,6 +1352,9 @@
                 if (wrkMast.getIoType() == 112) {
                     throw new CoolException("褰撳墠浣滀笟涓嶈兘鍙栨秷锛�");
                 }
+                if (wrkMast.getIoType() == 108 && wrkMast.getWrkSts() >= 204) {
+                    throw new CoolException("婧愬簱浣嶅凡缁忛噴鏀撅紝褰撳墠浣滀笟涓嶈兘鍙栨秷锛�");
+                }
                 // 婧愬簱浣�
                 String locNo = wrkMast.getSourceLocNo();
                 // 鐩爣搴撲綅
@@ -1407,6 +1417,9 @@
 
                 // 鍥炴祦鍗曞彇娑�
             } else if (wrkMast.getIoType() == 114) {
+                if (wrkMast.getWrkSts() >= 204) {
+                    throw new CoolException("婧愬簱浣嶅凡缁忛噴鏀撅紝褰撳墠浣滀笟涓嶈兘鍙栨秷锛�");
+                }
                 //婧愬簱浣�
                 String locNo = wrkMast.getSourceLocNo();
                 // 鐩爣搴撲綅
@@ -1578,7 +1591,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