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 |   31 +++++++++++++++++++++++++++++--
 1 files changed, 29 insertions(+), 2 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 46e6205..06cf2fb 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -119,7 +119,7 @@
 //        List<String> matnrs = param.getList().stream().map(FullStoreParam.MatCodeStore::getMatnr).distinct().collect(Collectors.toList());
 //        List<String> batchs = param.getList().stream().map(FullStoreParam.MatCodeStore::getBatch).distinct().collect(Collectors.toList());
         FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(param.getList().get(0));
-        StartupDto dto = commonService.getLocNo(1, param.getDevpNo(), findLocNoAttributeVo, locTypeDto);
+        StartupDto dto = commonService.getLocNo(1, param.getDevpNo(), findLocNoAttributeVo, locTypeDto, param.getBarcode());
         if (Cools.isEmpty(dto)) {
             throw new CoolException("鏌ヨ搴撲綅澶辫触锛侊紒==銆媠tartupFullPutStore ==銆� commonService.getLocNo");
         }
@@ -589,7 +589,7 @@
         LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo);
         FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo();
 
-        StartupDto dto = commonService.getLocNo(10, devpNo, findLocNoAttributeVo, locTypeDto);
+        StartupDto dto = commonService.getLocNo(10, devpNo, findLocNoAttributeVo, locTypeDto, null);
         int workNo = dto.getWorkNo();
         Date now = new Date();
         // 鐢熸垚宸ヤ綔妗�
@@ -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