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 ++++++++++++++++--
 1 files changed, 16 insertions(+), 2 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);
             }

--
Gitblit v1.9.1