From 03c29682dd413657ac2c5ec5a585eac166ae617c Mon Sep 17 00:00:00 2001
From: L <L@132>
Date: 星期五, 27 二月 2026 11:09:24 +0800
Subject: [PATCH] *

---
 src/main/java/com/zy/asrs/mapper/TaskWrkMapper.java         |    1 +
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   14 +++++++++-----
 src/main/resources/mapper/TaskWrkMapper.xml                 |    9 +++++++++
 3 files changed, 19 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/zy/asrs/mapper/TaskWrkMapper.java b/src/main/java/com/zy/asrs/mapper/TaskWrkMapper.java
index 4668a49..d7783d0 100644
--- a/src/main/java/com/zy/asrs/mapper/TaskWrkMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/TaskWrkMapper.java
@@ -39,6 +39,7 @@
     TaskWrk selectCrnStaWorkingDemo(@Param("crnNo") Integer crnNo, @Param("targetPoint") String targetPoint);
 
     TaskWrk selectCrnNoInWorking(@Param("crnNo") Integer crnNo,@Param("workNo") Integer workNo);
+    TaskWrk selectCrnNoInWorkingBuDing(@Param("crnNo") Integer crnNo,@Param("workNo") Integer workNo);
     TaskWrk selectCrnNoInWorkingDemo(@Param("crnNo") Integer crnNo,@Param("workNo") Integer workNo);
 
 //    TaskWrk selectWalkSta(@Param("crnNo") Integer crnNo,@Param("workNo") Integer workNo);
diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index c0730c2..bac11b0 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -1382,8 +1382,12 @@
                     //鑾峰彇鍏ュ簱寰呯‘璁ゅ伐浣滄。
                     TaskWrk taskWrk = taskWrkMapper.selectCrnNoInWorking(crnProtocol.getLaneNo(), crnProtocol.getTaskNo().intValue());
                     if (Cools.isEmpty(taskWrk) && crnProtocol.getTaskNo() != 999) {
-                        log.error("鍫嗗灈鏈哄浜庣瓑寰呯‘璁や笖浠诲姟瀹屾垚鐘舵�侊紝浣嗘湭鎵惧埌宸ヤ綔妗c�傚爢鍨涙満鍙�={}锛屽贩閬撳彿={}锛屽伐浣滃彿={}", crn.getId(), crnProtocol.getLaneNo(), crnProtocol.getTaskNo());
-                        continue;
+                        log.error("鍫嗗灈鏈哄浜庣瓑寰呯‘璁や笖浠诲姟瀹屾垚鐘舵�侊紝浣嗘湭鎵惧埌绗﹀悎鐘舵�佺殑宸ヤ綔妗o紝鍑嗗鏌ヨ鍑嗗鐘舵�佸伐浣滄。銆傚爢鍨涙満鍙�={}锛屽贩閬撳彿={}锛屽伐浣滃彿={}", crn.getId(), crnProtocol.getLaneNo(), crnProtocol.getTaskNo());
+                        taskWrk = taskWrkMapper.selectCrnNoInWorkingBuDing(crnProtocol.getLaneNo(), crnProtocol.getTaskNo().intValue());
+                        if (Cools.isEmpty(taskWrk) && crnProtocol.getTaskNo() != 999) {
+                            log.error("鍫嗗灈鏈哄浜庣瓑寰呯‘璁や笖浠诲姟瀹屾垚鐘舵�侊紝浣嗘湭鎵惧埌宸ヤ綔妗c�傚爢鍨涙満鍙�={}锛屽贩閬撳彿={}锛屽伐浣滃彿={}", crn.getId(), crnProtocol.getLaneNo(), crnProtocol.getTaskNo());
+                            continue;
+                        }
                     }
 //                Thread.sleep(300);
                     //纭瀹屾垚淇″彿
@@ -1396,7 +1400,7 @@
                     crnThread.setResetFlag(true);
 
                     if (!Cools.isEmpty(taskWrk)) {
-                        if (taskWrk.getIoType() == 1 && taskWrk.getWrkSts() == 3) {
+                        if (taskWrk.getIoType() == 1 && (taskWrk.getWrkSts() == 3 || taskWrk.getWrkSts() == 2)) {
                             taskWrk.setWrkSts(4);//鍏ュ簱瀹屾垚
                             taskWrk.setStatus(TaskStatusType.OVER.id);//瀹岀粨
                             //鏇存柊搴撲綅鐘舵��
@@ -1406,7 +1410,7 @@
                             locMast.setModiTime(now);
                             locMast.setModiUser(9999L);
                             locMastService.updateById(locMast);
-                        } else if (taskWrk.getIoType() == 2 && taskWrk.getWrkSts() == 12) {
+                        } else if (taskWrk.getIoType() == 2 && (taskWrk.getWrkSts() == 12 || taskWrk.getWrkSts() == 11)) {
                             taskWrk.setWrkSts(13);//鍑哄簱瀹屾垚
                             taskWrk.setStatus(TaskStatusType.OVER.id);//瀹岀粨
                             //鏇存柊搴撲綅鐘舵��
@@ -1416,7 +1420,7 @@
                             locMast.setModiTime(now);
                             locMast.setModiUser(9999L);
                             locMastService.updateById(locMast);
-                        } else if (taskWrk.getIoType() == 3 && taskWrk.getWrkSts() == 12) {
+                        } else if (taskWrk.getIoType() == 3 && (taskWrk.getWrkSts() == 12 || taskWrk.getWrkSts() == 11)) {
                             taskWrk.setWrkSts(4);//鍏ュ簱瀹屾垚
                             taskWrk.setStatus(TaskStatusType.OVER.id);//瀹岀粨
                             //鏇存柊搴撲綅鐘舵��
diff --git a/src/main/resources/mapper/TaskWrkMapper.xml b/src/main/resources/mapper/TaskWrkMapper.xml
index 7dcf83a..60a846a 100644
--- a/src/main/resources/mapper/TaskWrkMapper.xml
+++ b/src/main/resources/mapper/TaskWrkMapper.xml
@@ -155,6 +155,15 @@
         order by "IO_PRI" desc,"CREATE_TIME","WRK_NO" ASC
     </select>
 
+    <select id="selectCrnNoInWorkingBuDing" resultMap="BaseResultMap">
+        select top 1 * from "SOURCE"."wcs_task_wrk"
+        where 1=1
+          and ("WRK_STS"=2 or "WRK_STS"=11)
+          and "CRN_NO"=#{crnNo}
+          and "WRK_NO"=#{workNo}
+        order by "IO_PRI" desc,"CREATE_TIME","WRK_NO" ASC
+    </select>
+
     <select id="selectCrnNoInWorkingDemo" resultMap="BaseResultMap">
         select top 1 * from "SOURCE"."wcs_task_wrk"
         where 1=1

--
Gitblit v1.9.1