From cac8fbf138586bdf451cdb656758b0b8958df07a Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期四, 26 三月 2026 08:51:01 +0800
Subject: [PATCH] #解决拣选回库后库存丢失问题,库存明细的预留字段与工作明细预留字段不一致情况

---
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java |    9 +++++++++
 1 files changed, 9 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 bf92460..231f907 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -387,6 +387,7 @@
             wrkMast.setModiUser(userId);
             wrkMast.setModiTime(now);
             wrkMast.setPacked(itemId);
+            wrkMast.setMk(locMast.getMk());
             if (!wrkMastService.insert(wrkMast)) {
                 throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐ワ紝鍑哄簱搴撲綅鍙凤細" + dto.getLocNo());
             }
@@ -461,6 +462,10 @@
         }
         // 鑾峰彇搴撲綅
         LocMast locMast = locMastService.selectById(taskDto.getLocNo());
+        if(!locMast.getLocSts().equals("F")) {
+            throw new CoolException("璁㈠崟棰勮鏁版嵁宸茶繃鏈燂紝璇烽噸璇�");
+        }
+
         // 鍒ゆ柇鏄惁鏄洏鐐瑰崟
         String orderNo = taskDto.getLocDtos().get(0).getOrderNo();
         OrderPakout orderPakout = orderPakOutService.selectByNo(orderNo);
@@ -498,6 +503,7 @@
         wrkMast.setAppeTime(now);
         wrkMast.setModiUser(userId);
         wrkMast.setModiTime(now);
+        wrkMast.setMk(locMast.getMk());
         if (!wrkMastService.insert(wrkMast)) {
             throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐ワ紝鍑哄簱搴撲綅鍙凤細" + taskDto.getLocNo());
         }
@@ -703,6 +709,7 @@
             wrkMast.setAppeTime(now);
             wrkMast.setModiUser(userId);
             wrkMast.setModiTime(now);
+            wrkMast.setMk(locMast.getMk());
             boolean res = wrkMastService.insert(wrkMast);
             if (!res) {
                 throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
@@ -773,6 +780,7 @@
             wrkMast.setAppeTime(now);
             wrkMast.setModiUser(1L);
             wrkMast.setModiTime(now);
+            wrkMast.setMk(locMast.getMk());
             wrkMast.setMemo("鐢熸垚鑷姩绌烘澘鍑哄簱");
             boolean res = wrkMastService.insert(wrkMast);
             if (!res) {
@@ -813,6 +821,7 @@
                 throw new CoolException(firstFrozenLocNo + "搴撲綅宸茶鍐荤粨!");
             }
             LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetlDtos.get(0).getLocDetl().getLocNo()));
+
             if (locMast.getLocSts().equals("F")) {
                 // 鍚姩鍑哄簱寮�濮� 107.鐩樼偣鍑哄簱
                 stockOut(staNo, locDetlDtos, IoWorkType.CHECK_OUT, userId, param.getCheckId(), null);

--
Gitblit v1.9.1