From 15bad896fef1391fb6feb8bdb754f5106a2530e7 Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期五, 28 三月 2025 13:22:32 +0800
Subject: [PATCH] #输送线循环逻辑优化

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   18 ++++++++++++++++--
 src/main/java/com/zy/core/MainProcess.java                  |    9 ++++-----
 src/main/resources/mapper/TaskWrkMapper.xml                 |    3 ++-
 3 files changed, 22 insertions(+), 8 deletions(-)

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 ba7e4f9..44573ea 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -211,10 +211,23 @@
                 }
 
                 StaProtocol staProtocol = devpThread.getStation().get(112);
-                if (staProtocol == null || staProtocol.getWorkNo() == 0) {
+                StaProtocol staProtocol2 = devpThread.getStation().get(116);
+                StaProtocol staProtocol3 = devpThread.getStation().get(117);
+                if(Objects.equals(staProtocol3.getWorkNo(), staProtocol.getWorkNo()) && staProtocol.getWorkNo() != 0){
+                    staProtocol.setWorkNo((short) 0);
+                    staProtocol.setStaNo((short) 0);
+                    MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+                    Thread.sleep(100); // 璁� PLC 璇嗗埆鍙樺寲
+                }
+                if (staProtocol == null || staProtocol.getWorkNo() == 0 || !staProtocol.isLoading() ) {
                     continue;
                 }
-
+                if(staProtocol.getStaNo() != 112){
+                    continue;
+                }
+                if(staProtocol.getWorkNo() == staProtocol2.getWorkNo()) {
+                    continue;
+                }
                 // 鏌ヨ浠诲姟淇℃伅
                 TaskWrk taskWrk = taskWrkMapper.selectStaWorking(Integer.valueOf(staProtocol.getWorkNo()));
                 if (taskWrk == null || taskWrk.getWrkNo() < 6001 || taskWrk.getWrkNo() > 9000) {
@@ -233,6 +246,7 @@
                 staProtocol.setWorkNo(workNo);
                 staProtocol.setStaNo(Short.valueOf(taskWrk.getTargetPoint()));
                 MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+                Thread.sleep(200);
 
                 log.info("Shifted from cycle station 112 to target {}, workNo: {}", taskWrk.getTargetPoint(), workNo);
             }
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index d713dd4..d0410f4 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -63,12 +63,11 @@
 
                     // 鍏朵粬  ===>> // 鍏ュ嚭搴撴ā寮忓垏鎹㈠嚱鏁�
 
-                    //鐜舰寰幆鍑芥暟
-                    mainService.shiftTargetToCyclePoint();
-                    mainService.shiftCyclePointToTarget();
                     i++;
-                    if (i > 1) {
-//                        mainService.ioConvert();
+                    if (i > 2) {
+                        //鐜舰寰幆鍑芥暟
+                        mainService.shiftTargetToCyclePoint();
+                        mainService.shiftCyclePointToTarget();
                         i = 0;
                     }
 
diff --git a/src/main/resources/mapper/TaskWrkMapper.xml b/src/main/resources/mapper/TaskWrkMapper.xml
index 10653f5..81b71b7 100644
--- a/src/main/resources/mapper/TaskWrkMapper.xml
+++ b/src/main/resources/mapper/TaskWrkMapper.xml
@@ -135,8 +135,9 @@
     </select>
 
     <select id="selectStaWorking" resultMap="BaseResultMap">
-        select * from dbo.wcs_task_wrk
+        select top 1 * from dbo.wcs_task_wrk_log
         where wrk_no = #{workNo}
+        order by create_time DESC
     </select>
 
 </mapper>

--
Gitblit v1.9.1