From 9611dc686299be640ce5e5f5990c747765161ec7 Mon Sep 17 00:00:00 2001
From: chen.llin <1442464845@qq.comm>
Date: 星期三, 21 一月 2026 10:59:38 +0800
Subject: [PATCH] agv逻辑调整2

---
 src/main/java/com/zy/asrs/service/impl/TaskServiceImpl.java |   38 +++++++++++++++++++++++++-------------
 1 files changed, 25 insertions(+), 13 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/TaskServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/TaskServiceImpl.java
index aa638da..cc85e5f 100644
--- a/src/main/java/com/zy/asrs/service/impl/TaskServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/TaskServiceImpl.java
@@ -40,7 +40,9 @@
     @Override
     @Transactional(rollbackFor = Exception.class)
     public void completeWrkMast(String workNo, Long userId) {
-        Task wrkMast = this.selectOne(new EntityWrapper<Task>().eq("wrk_no", workNo));
+        Task wrkMast = this.selectOne(new EntityWrapper<Task>()
+                .eq("wrk_no", workNo)
+                .andNew("(is_deleted = 0)"));
         if (Cools.isEmpty(wrkMast)) {
             throw new CoolException(workNo + "宸ヤ綔妗d笉瀛樺湪");
         }
@@ -69,7 +71,9 @@
     @Override
     @Transactional
     public void pickWrkMast(String workNo, Long userId) {
-        Task wrkMast = this.selectById(workNo);
+        Task wrkMast = this.selectOne(new EntityWrapper<Task>()
+                .eq("wrk_no", workNo)
+                .andNew("(is_deleted = 0)"));
         if (Cools.isEmpty(wrkMast)) {
             throw new CoolException(workNo + "宸ヤ綔妗d笉瀛樺湪");
         }
@@ -133,7 +137,9 @@
     @Transactional
     public void cancelWrkMast(String workNo, Long userId) {
         Date now = new Date();
-        Task wrkMast = this.selectOne(new EntityWrapper<Task>().eq("wrk_no", workNo));
+        Task wrkMast = this.selectOne(new EntityWrapper<Task>()
+                .eq("wrk_no", workNo)
+                .andNew("(is_deleted = 0)"));
         if (Cools.isEmpty(wrkMast)) {
             throw new CoolException(workNo + "宸ヤ綔妗d笉瀛樺湪");
         }
@@ -209,23 +215,29 @@
         if (!taskLogService.save(wrkMast.getWrkNo())) {
             throw new CoolException("淇濆瓨宸ヤ綔鍘嗗彶妗eけ璐�, workNo = " + wrkMast.getWrkNo());
         }
-        // 鍒犻櫎宸ヤ綔涓绘。
-        boolean wrkMastRes = taskService.deleteById(wrkMast);
+        // 閫昏緫鍒犻櫎宸ヤ綔涓绘。
+        wrkMast.setIsDeleted(1);
+        boolean wrkMastRes = taskService.updateById(wrkMast);
 
         if (wrkMast.getIoType() != 10 && wrkMast.getIoType() != 110) {
             // 鍒犻櫎宸ヤ綔妗f槑缁�
             boolean wrkDetlRes = taskDetlService.delete(new EntityWrapper<TaskDetl>().eq("wrk_no", workNo));
         }
 
-        // 淇敼搴撲綅鐘舵��
-        LocCache locMast = locCacheService.selectOne(new EntityWrapper<LocCache>().eq("loc_no", locNo));
-        if (Cools.isEmpty(locMast)) {
-            throw new CoolException("鍙栨秷宸ヤ綔妗eけ璐ワ紝搴撲綅涓嶅瓨鍦�:" + locNo);
+        // 淇敼搴撲綅鐘舵�侊紙濡傛灉搴撲綅涓嶄负绌猴級
+        boolean locMastRes = true;
+        if (!Cools.isEmpty(locNo)) {
+            LocCache locMast = locCacheService.selectOne(new EntityWrapper<LocCache>().eq("loc_no", locNo));
+            if (Cools.isEmpty(locMast)) {
+                throw new CoolException("鍙栨秷宸ヤ綔妗eけ璐ワ紝搴撲綅涓嶅瓨鍦�:" + locNo);
+            }
+            if (!Cools.isEmpty(locSts)) {
+                locMast.setLocSts(locSts);
+                locMast.setModiTime(now);
+                locMast.setModiUser(userId);
+                locMastRes = locCacheService.updateById(locMast);
+            }
         }
-        locMast.setLocSts(locSts);
-        locMast.setModiTime(now);
-        locMast.setModiUser(userId);
-        boolean locMastRes = locCacheService.updateById(locMast);
         if (!wrkMastRes || !locMastRes) {
             throw new CoolException("淇濆瓨鏁版嵁澶辫触");
         }

--
Gitblit v1.9.1