From 92ff7ea27e6f99c004c727d471f2f3d82c1c3a30 Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期五, 12 十二月 2025 09:54:16 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/jsxswms' into jsxswms

---
 src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java |   46 ++++++++++++++++++++++++++++++++--------------
 1 files changed, 32 insertions(+), 14 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 2179a15..4102aba 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;
@@ -61,6 +58,8 @@
     private CheckOrderDetlService checkOrderDetlService;
     @Autowired
     private WaitPakinLogService waitPakinLogService;
+    @Autowired
+    private BasStationDetlService basStationDetlService;
 
     public ReturnT<String> start(WrkMast wrkMast) {
         // 4.鍏ュ簱瀹屾垚
@@ -711,6 +710,7 @@
      * @description: AGV鍑哄簱浠诲姟
      * @version 1.0
      */
+    @Transactional(rollbackFor = Exception.class)
     public ReturnT<String> agvDoOut(Task task) {
         if (task.getIoType().equals(101)) {
             Date now = new Date();
@@ -726,6 +726,18 @@
                 return FAIL.setMsg(
                         "鍏ㄦ澘鍑哄簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + task.getWrkNo() + "],[locNo=" + task.getSourceLocNo() + "]");
             }
+
+            BasStation devNo = basStationService
+                    .selectOne(new EntityWrapper<BasStation>().eq("dev_no", task.getStaNo()));
+            if (Objects.isNull(devNo)) {
+                throw new CoolException("绔欑偣锛�" + task.getSourceStaNo() + ", 涓嶅瓨鍦紒锛�");
+            }
+            devNo.setLocSts(LocStsType.LOC_STS_TYPE_F.type);
+            devNo.setModiTime(new Date());
+            if (!basStationService.updateById(devNo)) {
+                throw new CoolException("绔欑偣淇℃伅淇敼澶辫触锛侊紒");
+            }
+
             for (TaskDetl wrkDetl : wrkDetls101) {
                 // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
                 OrderDetlPakout orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(),
@@ -751,6 +763,20 @@
                         }
                     }
                 } catch (Exception ignore) {
+
+                }
+
+                List<BasStationDetl> detls = basStationDetlService.selectList(new EntityWrapper<BasStationDetl>().eq("dev_no", devNo.getDevNo()));
+                if (!Objects.isNull(detls) || !detls.isEmpty()) {
+                    basStationDetlService.delete(new EntityWrapper<BasStationDetl>().eq("dev_no", devNo.getDevNo()));
+                }
+
+                BasStationDetl stationDetl = new BasStationDetl();
+                BeanUtils.copyProperties(wrkDetl, stationDetl);
+                stationDetl.setDevNo(devNo.getDevNo())
+                        .setOrderNo(wrkDetl.getOrderNo());
+                if (!basStationDetlService.insert(stationDetl)) {
+                    throw new CoolException("绔欑偣鏄庣粏淇濆瓨澶辫触锛侊紒");
                 }
             }
             // 鍒犻櫎宸ヤ綔妗f簮搴撲綅鐨勫簱瀛樻槑缁�
@@ -774,16 +800,8 @@
                 throw new CoolException("褰撳墠搴撲綅鐘舵��" + locMast.getLocSts() + ", 鏃犳硶鎵ц鍑哄簱鎿嶄綔锛侊紒");
             }
 
-            BasStation devNo = basStationService
-                    .selectOne(new EntityWrapper<BasStation>().eq("dev_no", task.getStaNo()));
-            if (Objects.isNull(devNo)) {
-                throw new CoolException("绔欑偣锛�" + task.getSourceStaNo() + ", 涓嶅瓨鍦紒锛�");
-            }
-            devNo.setLocSts(LocStsType.LOC_STS_TYPE_F.type);
-            devNo.setModiTime(new Date());
-            if (!basStationService.updateById(devNo)) {
-                throw new CoolException("绔欑偣淇℃伅淇敼澶辫触锛侊紒");
-            }
+
+
             task.setWrkSts(15L);
             if (!taskService.updateById(task)) {
                 throw new CoolException("浠诲姟鐘舵�佷慨鏀瑰け璐ワ紒锛�");

--
Gitblit v1.9.1