From 26a94d6f54a00c8097df61ddd20ea14fab348698 Mon Sep 17 00:00:00 2001
From: pjb <pjb123456>
Date: 星期四, 31 七月 2025 21:41:18 +0800
Subject: [PATCH] 更新许可证有效期半年

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   36 +++++++++++++++++++++++++++---------
 1 files changed, 27 insertions(+), 9 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 535b042..643a517 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -365,9 +365,11 @@
                 return;
             }
 
+            List<BasCircularShuttle> basCircularShuttleList = basCircularShuttleService.selectList(new EntityWrapper<BasCircularShuttle>().eq("status", 0));
+
             LinkedList<RgvProtocol> rgvProtocolList = new LinkedList<>();
-            for (int i = 1; i <= 5; i++) {
-                RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, i);
+            for (BasCircularShuttle basCircularShuttle : basCircularShuttleList) {
+                RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, basCircularShuttle.getRgvNo());
                 RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
                 if (rgvProtocol == null) {
                     continue;
@@ -442,24 +444,25 @@
                                 BasDevpPosition rgvDstaNoDevPosition = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("dev_no", wrkMast1.getRgvDstaNo()));
                                 long rgvDstaNoPosition = rgvDstaNoDevPosition.getPlcPosition(); // 褰撳墠rgv浠诲姟鐩爣绔欑偣浣嶇疆
                                 if(rgvProtocol.getRgvPos() < rgvDstaNoPosition) { // 灏忚溅褰撳墠浣嶇疆 < rgv鐩爣浣嶇疆
-                                    if(rgvProtocol.getRgvPos() < position && position < rgvDstaNoPosition) { // 杩欎釜浠诲姟浣嶇疆鏄湪褰撳墠rgv浣嶇疆鍓嶉潰骞朵笖杩欎釜浠诲姟璧风偣鍦ㄥ綋鍓峳gv鐩爣绔欑偣涔嬪悗
+                                    if(!(rgvProtocol.getRgvPos() < position && position < rgvDstaNoPosition)) { // 杩欎釜浠诲姟浣嶇疆鏄湪褰撳墠rgv浣嶇疆鍓嶉潰骞朵笖杩欎釜浠诲姟璧风偣鍦ㄥ綋鍓峳gv鐩爣绔欑偣涔嬪悗
                                         break; // 褰撳墠rgv鏀捐揣瀹屾垚鍚庯紝鍙互鍙栧綋鍓嶄换鍔�
                                     }
                                 } else {
-                                    if(rgvProtocol.getRgvPos() < position || position < rgvDstaNoPosition) {
+                                    if(!(rgvProtocol.getRgvPos() < position || position < rgvDstaNoPosition)) {
                                         break;
                                     }
                                 }
                             }
                         }
                     } else {
-                        if (count != 0) {
-                            break;
-                        }
                         if (rgvProtocol.modeType == RgvModeType.AUTO
                                 && (rgvProtocol.getStatusType() == RgvStatusType.IDLE || rgvProtocol.getStatusType() == RgvStatusType.ROAM)
                                 && rgvProtocol.getTaskNo1() == 0
                                 && rgvProtocol.getAlarm() == 0) {
+                            if (count != 0) {
+                                log.error("{}鍛煎彨灏忚溅锛歿}鍙峰皬杞︾┖闂诧紝浣嗗伐浣滄。鏄剧ず璇ュ皬杞︽湁浠诲姟",wrkMast.getWrkNo(),rgvProtocol.getRgvNo());
+                                break;
+                            }
                             RgvCommand rgvCommand = new RgvCommand();
                             rgvCommand.setRgvNo(rgvProtocol.getRgvNo());
                             rgvCommand.setAckFinish1((short) 0);  // 宸ヤ綅1浠诲姟瀹屾垚纭浣�
@@ -479,8 +482,23 @@
                             wrkMast.setRgvCreateTime(now);
                             wrkMastService.updateById(wrkMast);
                             break runRgv;
-                        } else {
-                            break ; // 鍙湅鏈�杩戠殑绗竴涓皬杞�
+                        } else  if(rgvProtocol.modeType == RgvModeType.AUTO
+                                && rgvProtocol.getTaskNo1() != 0){ // 褰撳墠灏忚溅鏀捐揣鐩爣浣嶇疆鍦ㄥ綋鍓嶄换鍔″彇璐х偣涔嬪悗锛岃烦杩囦换鍔″垎閰嶏紝涓嶅啀鍒欏垽鏂笅涓皬杞︾洰鏍囦綅缃�
+                            WrkMast wrkMast1 = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", rgvProtocol.getTaskNo1())); // 褰撳墠rgv浠诲姟
+                            if(wrkMast1!= null && !Cools.isEmpty(wrkMast1.getRgvDstaNo())) {
+                                // 褰撳墠rgv浠诲姟鐩爣绔欑偣
+                                BasDevpPosition rgvDstaNoDevPosition = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("dev_no", wrkMast1.getRgvDstaNo()));
+                                long rgvDstaNoPosition = rgvDstaNoDevPosition.getPlcPosition(); // 褰撳墠rgv浠诲姟鐩爣绔欑偣浣嶇疆
+                                if(rgvProtocol.getRgvPos() < rgvDstaNoPosition) { // 灏忚溅褰撳墠浣嶇疆 < rgv鐩爣浣嶇疆
+                                    if(!(rgvProtocol.getRgvPos() < position && position < rgvDstaNoPosition)) { // 杩欎釜浠诲姟浣嶇疆鏄湪褰撳墠rgv浣嶇疆鍓嶉潰骞朵笖杩欎釜浠诲姟璧风偣鍦ㄥ綋鍓峳gv鐩爣绔欑偣涔嬪悗
+                                        break; // 褰撳墠rgv鏀捐揣瀹屾垚鍚庯紝鍙互鍙栧綋鍓嶄换鍔�
+                                    }
+                                } else {
+                                    if(!(rgvProtocol.getRgvPos() < position || position < rgvDstaNoPosition)) {
+                                        break;
+                                    }
+                                }
+                            }
                         }
                     }
                 }

--
Gitblit v1.9.1