From c93b77e0d82118624df73573a9eabbd98fb55979 Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期二, 16 九月 2025 10:33:21 +0800
Subject: [PATCH] #库位移转逻辑控制

---
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java |   27 +++++++++++++++++++++++++++
 1 files changed, 27 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
index 039e8be..06cf2fb 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -832,10 +832,36 @@
         if (Cools.isEmpty(sourceLoc)) {
             throw new CoolException("鏈壘鍒板簱浣�");
         }
+
+        if (Utils.isDeepLoc(slaveProperties, sourceLocNo)) {
+            String shallowLoc = Utils.getShallowLoc(slaveProperties, sourceLocNo);
+            LocMast locMast = locMastService.selectById(shallowLoc);
+            if (locMast == null) {
+                throw new CoolException(shallowLoc + "娴呭簱浣嶄笉瀛樺湪");
+            }
+
+            if(!locMast.getLocSts().equals("O")) {
+                throw new CoolException(shallowLoc + "娴呭簱浣嶇姸鎬佷笉涓虹┖");
+            }
+        }
+
         LocMast loc = locMastService.selectById(locNo);
         if (Cools.isEmpty(loc)) {
             throw new CoolException("鏈壘鍒板簱浣�");
         }
+
+        if (Utils.isDeepLoc(slaveProperties, locNo)) {
+            String shallowLoc = Utils.getShallowLoc(slaveProperties, locNo);
+            LocMast locMast = locMastService.selectById(shallowLoc);
+            if (locMast == null) {
+                throw new CoolException(shallowLoc + "娴呭簱浣嶄笉瀛樺湪");
+            }
+
+            if(!locMast.getLocSts().equals("O")) {
+                throw new CoolException(shallowLoc + "娴呭簱浣嶆湁璐э紝鏃犳硶绉昏浆");
+            }
+        }
+
         // 鍒ゆ柇搴撲綅鏄惁鍐荤粨
         String sourceLocFrozen = locMastMapper.findFirstFrozenLocNo(Arrays.asList(sourceLoc.getLocNo(), loc.getLocNo()));
         if (sourceLocFrozen != null) {
@@ -878,6 +904,7 @@
         wrkMast.setAppeTime(now);
         wrkMast.setModiUser(userId);
         wrkMast.setModiTime(now);
+        wrkMast.setMemo("浜哄伐鎵嬪姩绉诲簱");
         boolean res = wrkMastService.insert(wrkMast);
         if (!res) {
             throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");

--
Gitblit v1.9.1