From ea0ac26b83eb163a92a60188826085248f751427 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期四, 06 十一月 2025 17:58:19 +0800
Subject: [PATCH] *

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   22 +++++++++++++++-------
 1 files changed, 15 insertions(+), 7 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 4a7fde6..681e8b6 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -116,7 +116,7 @@
     @Autowired
     private BasPlcerrorLogServiceImpl basPlcerrorLogService;
     public Long currentTimeMilliConnectCrnAuto= 0L;
-    public int[] signIntOut= new int[]{0,0,0,0,0};
+    public boolean[] signIntOut= new boolean[]{false,false,false,false,false};
 
     public void generateStoreWrkFile() {
         try {
@@ -2820,13 +2820,17 @@
                         boolean crnStnToLocDemo = this.crnStnToLocDemo(crnSlave, crnProtocol);//  鍏ュ簱
                         if (crnStnToLocDemo){
                             crnProtocol.setLastIo("O");
+                        } else if (!signIntOut[crnSlave.getId()-1]){
+                            crnProtocol.setLastIo("O");
                         }
                     } else if (basCrnp.getOutEnable().equals("Y")) {
                         boolean locToCrnStnDemo = this.locToCrnStnDemo(crnSlave, crnProtocol);//  鍑哄簱
-                        if (locToCrnStnDemo && signIntOut[crnSlave.getId()-1] >= crnProtocol.getLocMastDemoCount()){
+                        if (locToCrnStnDemo && signIntOut[crnSlave.getId()-1]){
                             crnProtocol.setLastIo("I");
-                        } else if (locToCrnStnDemo && signIntOut[crnSlave.getId()-1] < crnProtocol.getLocMastDemoCount()){
-                            signIntOut[crnSlave.getId()-1] = signIntOut[crnSlave.getId()-1]+1;
+                        } else if (locToCrnStnDemo && !signIntOut[crnSlave.getId()-1]){
+                            signIntOut[crnSlave.getId()-1] = true;
+                        } else if (!signIntOut[crnSlave.getId()-1]){
+                            crnProtocol.setLastIo("I");
                         }
                     }
                 }
@@ -2834,15 +2838,19 @@
                 else if (crnProtocol.getLastIo().equals("O")) {
                     if (basCrnp.getOutEnable().equals("Y")) {
                         boolean locToCrnStnDemo = this.locToCrnStnDemo(crnSlave, crnProtocol);//  鍑哄簱
-                        if (locToCrnStnDemo && signIntOut[crnSlave.getId()-1] >= crnProtocol.getLocMastDemoCount()){
+                        if (locToCrnStnDemo && signIntOut[crnSlave.getId()-1]){
                             crnProtocol.setLastIo("I");
-                        } else if (locToCrnStnDemo && signIntOut[crnSlave.getId()-1] < crnProtocol.getLocMastDemoCount()){
-                            signIntOut[crnSlave.getId()-1] = signIntOut[crnSlave.getId()-1]+1;
+                        } else if (locToCrnStnDemo && !signIntOut[crnSlave.getId()-1]){
+                            signIntOut[crnSlave.getId()-1] = true;
+                        } else if (!signIntOut[crnSlave.getId()-1]){
+                            crnProtocol.setLastIo("I");
                         }
                     } else if (basCrnp.getInEnable().equals("Y")) {
                         boolean crnStnToLocDemo = this.crnStnToLocDemo(crnSlave, crnProtocol);//  鍏ュ簱
                         if (crnStnToLocDemo){
                             crnProtocol.setLastIo("O");
+                        } else if (!signIntOut[crnSlave.getId()-1]){
+                            crnProtocol.setLastIo("O");
                         }
                     }
                 }

--
Gitblit v1.9.1