From 1573adab705da74a98ad5a174f031e9171437c0c Mon Sep 17 00:00:00 2001
From: skyouc <creaycat@gmail.com>
Date: 星期四, 15 一月 2026 10:55:00 +0800
Subject: [PATCH] 出入库功能优化

---
 src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java |   21 ++++++++++++++++-----
 1 files changed, 16 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
index 93576dc..f722e01 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -6,10 +6,7 @@
 import com.zy.asrs.entity.*;
 import com.zy.asrs.enums.LocStsType;
 import com.zy.asrs.service.*;
-import com.zy.asrs.service.impl.BasStationServiceImpl;
-import com.zy.asrs.service.impl.LocCacheServiceImpl;
-import com.zy.asrs.service.impl.OrderPakinServiceImpl;
-import com.zy.asrs.service.impl.TaskDetlServiceImpl;
+import com.zy.asrs.service.impl.*;
 import com.zy.asrs.task.AbstractHandler;
 import com.zy.asrs.task.core.ReturnT;
 import lombok.extern.slf4j.Slf4j;
@@ -58,6 +55,8 @@
     private BasStationServiceImpl basStationService;
     @Autowired
     private WorkService workService;
+    @Autowired
+    private LocAroundBindService locAroundBindService;
 
     public ReturnT<String> start(WrkMast wrkMast) {
         // 4.鍏ュ簱瀹屾垚
@@ -489,7 +488,8 @@
     }
 
 
-    private ReturnT<String> doOut(WrkMast wrkMast) {
+    @Transactional(rollbackFor = Exception.class)
+    public ReturnT<String> doOut(WrkMast wrkMast) {
         Date now = new Date();
         LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo());
         try {
@@ -507,7 +507,18 @@
                     if (!Objects.isNull(wrkMast.getWrkCode())) {
                         //TODO 绉诲簱
 //                        workService.locMove(wrkMast.getSourceLocNo(), wrkMast.getLocNo(), wrkMast.getAppeUser());
+
                         movLoc(wrkMast);
+
+                        //淇敼宸ヤ綅搴撴��
+                        LocAroundBind bLocNo = locAroundBindService.selectOne(new EntityWrapper<LocAroundBind>().eq("b_loc_no", wrkMast.getLocNo()));
+                        if (Objects.isNull(bLocNo)) {
+                            throw new CoolException("鏁版嵁閿欒锛� 鐩爣宸ヤ綅涓嶅瓨鍦紒锛�");
+                        }
+                        bLocNo.setLocType(LocStsType.LOC_STS_TYPE_F.type);
+                        if (!locAroundBindService.updateById(bLocNo)) {
+                            throw new CoolException("宸ヤ綅鐘舵�佷慨鏀瑰け璐ワ紒锛�");
+                        }
                     } else {
 //                    // 鍑哄簱纭淇″彿浣�
 //                    if (Cools.isEmpty(wrkMast.getInvWh()) || wrkMast.getInvWh().equals("N")) {

--
Gitblit v1.9.1