From 8212b1177f0191332e6c398306310b0ffe73d484 Mon Sep 17 00:00:00 2001
From: cpT <1@123>
Date: 星期六, 28 六月 2025 16:50:43 +0800
Subject: [PATCH] #改造

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   51 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 51 insertions(+), 0 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 4c35af5..a0a4470 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -1774,6 +1774,52 @@
         }
         return null;
     }
+    public boolean deviceDetection(RgvSlave.RgvStn inSta,Integer rgvNo) {
+        ArrayList<Integer> arrayList = new ArrayList<Integer>() {{
+            add(1009);
+            add(1011);
+            add(1012);
+            add(1014);
+            add(1016);
+        }};
+        try{
+
+            DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, inSta.getDevpPlcId());
+            ArrayList<Integer> listW = new ArrayList<Integer>();
+            ArrayList<Integer> listL = new ArrayList<Integer>();
+            for (Integer staNo : arrayList){
+                StaProtocol staProtocol = devpThread.getStation().get(staNo);
+                if (staProtocol == null) {
+                    RgvErrCache.updateRgvErr(rgvNo,staNo+"绔欑偣鏁版嵁涓㈠け");
+                    return false;
+                }
+                // 鍒ゆ柇鏄惁婊¤冻鍙栬揣鏉′欢
+                if (staProtocol.getWorkNo() != 0) {
+                    if (!listW.contains(staProtocol.getWorkNo())) {
+                        listW.add(staProtocol.getWorkNo());
+                    }
+                }
+                // 鍒ゆ柇鏄惁婊¤冻鍙栬揣鏉′欢
+                if (staProtocol.isLoading()) {
+                    if (!listL.contains(staProtocol.getStaNo())) {
+                        listL.add(staProtocol.getStaNo());
+                    }
+                }
+            }
+            if (listW.size()>=3){
+                RgvErrCache.updateRgvErr(rgvNo,"绛夊緟1012鎷i�夛紝闃叉鍫靛");
+                return false;
+            }
+            if (listL.size()>=3){
+                RgvErrCache.updateRgvErr(rgvNo,"绛夊緟1012鎷i�夛紝闃叉鍫靛");
+                return false;
+            }
+        } catch (Exception e){
+            RgvErrCache.updateRgvErr(rgvNo,"1012妫�娴嬪紓甯革細"+e.getMessage());
+            return false;
+        }
+        return true;
+    }
 
     public boolean rgvOtherStatusEnable(RgvSlave slave) {
         RgvProtocol rgvProtocolOther = RgvStatusCache.getRgvStatus(slave.getOtherId());
@@ -2164,6 +2210,11 @@
                 if (targetPointConvert == null) {
                     return false;
                 }
+                if (targetPointConvert == 1009){
+                    if (!deviceDetection(rgvStn, rgvSlave.getId())){
+                        return false;
+                    }
+                }
 
                 BasDevpPosition basDevpPositionSou = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", rgvStn.getStaNo()));
                 BasDevpPosition basDevpPositionEnd = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", targetPointConvert));

--
Gitblit v1.9.1