From c59bcfa4429a5d67842ebaa492db1fa11a3e97fc Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期四, 10 七月 2025 09:21:25 +0800
Subject: [PATCH] 输送线异常提示

---
 src/main/java/com/zy/core/model/protocol/StaProtocol.java   |   41 ++++++++++++++++++++
 src/main/java/com/zy/asrs/controller/ConsoleController.java |    4 +
 src/main/java/com/zy/asrs/domain/enums/SiteStatusType.java  |    2 +
 src/main/java/com/zy/asrs/domain/vo/SiteDetailVo.java       |    2 +
 src/main/webapp/views/realtimeWatch/console.html            |   10 +++++
 src/main/webapp/static/wcs/css/render.css                   |    5 ++
 src/main/java/com/zy/core/thread/SiemensDevpThread.java     |   10 +++-
 7 files changed, 69 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/ConsoleController.java b/src/main/java/com/zy/asrs/controller/ConsoleController.java
index a77541d..b1a0503 100644
--- a/src/main/java/com/zy/asrs/controller/ConsoleController.java
+++ b/src/main/java/com/zy/asrs/controller/ConsoleController.java
@@ -121,7 +121,8 @@
             StaProtocol staProtocol = entry.getValue();
             vo.setSiteId(String.valueOf(entry.getKey())); // 绔欑偣缂栧彿
             vo.setWorkNo(staProtocol.getWorkNo()); // 宸ヤ綔鍙�
-            vo.setSiteStatus(SiteStatusType.process(staProtocol));  // 鐘舵��
+            String faultDescription = staProtocol.getFaultDescription();
+            vo.setSiteStatus(Cools.isEmpty(faultDescription) ? SiteStatusType.process(staProtocol) : SiteStatusType.SITE_ERROR);  // 鐘舵��
             vo.setNearbySta(staProtocol.getNearbySta());  //RGV浣嶇疆
             vos.add(vo);
         }
@@ -303,6 +304,7 @@
 
                     vo.setCanining(basDevp.getCanining());  //  鑳藉叆
                     vo.setCanouting(basDevp.getCanouting());    //  鑳藉嚭
+                    vo.setError(staProtocol.getFaultDescription());
 
                     return R.ok().add(vo);
                 }
diff --git a/src/main/java/com/zy/asrs/domain/enums/SiteStatusType.java b/src/main/java/com/zy/asrs/domain/enums/SiteStatusType.java
index 60abd58..debdbc1 100644
--- a/src/main/java/com/zy/asrs/domain/enums/SiteStatusType.java
+++ b/src/main/java/com/zy/asrs/domain/enums/SiteStatusType.java
@@ -18,6 +18,8 @@
     SITE_AUTO_RUN,
     // 鑷姩+ID
     SITE_AUTO_ID,
+    // 鏈夊紓甯�
+    SITE_ERROR
 
     ;
 
diff --git a/src/main/java/com/zy/asrs/domain/vo/SiteDetailVo.java b/src/main/java/com/zy/asrs/domain/vo/SiteDetailVo.java
index 7cdcf91..c4625cb 100644
--- a/src/main/java/com/zy/asrs/domain/vo/SiteDetailVo.java
+++ b/src/main/java/com/zy/asrs/domain/vo/SiteDetailVo.java
@@ -44,4 +44,6 @@
 
     // 鐩爣搴撲綅
     private String locNo = "";
+
+    private String error="";
 }
diff --git a/src/main/java/com/zy/core/model/protocol/StaProtocol.java b/src/main/java/com/zy/core/model/protocol/StaProtocol.java
index 51e79dd..ab271a0 100644
--- a/src/main/java/com/zy/core/model/protocol/StaProtocol.java
+++ b/src/main/java/com/zy/core/model/protocol/StaProtocol.java
@@ -110,6 +110,15 @@
 
     private Boolean upcontactErr = false; //椤跺崌鐢垫満鎺ヨЕ鍣ㄦ晠闅�
 
+    private Boolean pushTheEnvelopeErr = false; // 鎻愬崌涓婃瀬闄�
+
+    private Boolean raiseTheLowerLimitErr = false; // 鎻愬崌涓嬫瀬闄�
+
+    private Boolean leftProtectionTriggersErr = false; // 宸︿繚鎶よЕ鍙�
+
+    private Boolean rightProtectionTriggersErr = false; // 鍙充繚鎶よЕ鍙�
+
+    private Boolean gratingBlockingErr = false; // 鍏夋爡闃绘尅
 
     private Short agvStartPick; //鍏佽鍙栬揣
     private Short agvStartPlace; //鍏佽鏀捐揣
@@ -121,6 +130,38 @@
 
     private List<Integer> alarm;
 
+    // 鑾峰彇鏁呴殰鎻忚堪
+    public String getFaultDescription(){
+        String faultDescription = "";
+        if (breakerErr) {
+            faultDescription = "鐢佃矾淇濇姢鍣ㄦ柇寮�";
+        } else if(infraredErr) {
+            faultDescription = "鍏夌數寮傚父(妫�鏌ユ墭鐩樻槸鍚﹀崱浣�)";
+        }else if(outTimeErr) {
+            faultDescription = "杩愯瓒呮椂(妫�鏌ユ墭鐩樻槸鍚﹀崱浣�)";
+        }else if(seizeSeatErr) {
+            faultDescription = "鍗犱綅瓒呮椂(妫�鏌GV鏄惁闀挎椂闂撮樆鎸″厜鐢典笖鏃犱氦浜掍俊鍙�)";
+        }else if(wrkYgoodsN) {
+            faultDescription = "鏈変换鍔℃棤璐ф晠闅�(AGV鍙栬揣绂诲紑鍚庨暱鏃堕棿娌℃湁鏀跺埌AGV绂诲紑淇″彿)";
+        }else if(inverterErr) {
+            faultDescription = "鍙橀鍣ㄦ晠闅�:";
+        }else if(contactErr) {
+            faultDescription = "鎺ヨЕ鍣ㄦ晠闅�";
+        }else if(upcontactErr) {
+            faultDescription = "椤跺崌鐢垫満鎺ヨЕ鍣ㄦ晠闅�";
+        } else if(pushTheEnvelopeErr) {
+            faultDescription = "鎻愬崌涓婃瀬闄�";
+        } else if(raiseTheLowerLimitErr) {
+            faultDescription = "鎻愬崌涓嬫瀬闄�";
+        } else if(leftProtectionTriggersErr) {
+            faultDescription = "淇濇姢鍏夌數瑙﹀彂(妫�鏌GV鏀捐揣浣嶇疆)";
+        } else if(rightProtectionTriggersErr) {
+            faultDescription = "鍙充繚鎶よЕ鍙�";
+        } else if(gratingBlockingErr) {
+            faultDescription = "鍏夋爡闃绘尅";
+        }
+        return faultDescription;
+    }
 
     public List<Integer> getAlarm() {
         List<Integer> alarm = new ArrayList<>();
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index ff764dd..b6a1c2b 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -415,11 +415,11 @@
             }
 
             // 璇绘闈㈡晠闅滃弽棣�
-            OperateResultExOne<byte[]> resultErr = siemensS7Net.Read("DB101.922.0", (short) (16 * 4));
+            OperateResultExOne<byte[]> resultErr = siemensS7Net.Read("DB101.2340.0", (short) (16 * 2));
             if (resultErr.IsSuccess) {
                 for (int i = 0; i < 16; i++) {
                     Integer siteId = staNos.get(i); // 绔欑偣缂栧彿
-                    boolean[] status = siemensS7Net.getByteTransform().TransBool(resultErr.Content, i * 4, 1);
+                    boolean[] status = siemensS7Net.getByteTransform().TransBool(resultErr.Content, i * 2, 2);
                     StaProtocol staProtocol = station.get(siteId);
                     staProtocol.setBreakerErr(status[0]);
                     staProtocol.setInfraredErr(status[1]);
@@ -429,7 +429,11 @@
                     staProtocol.setInverterErr(status[5]);
                     staProtocol.setContactErr(status[6]);
                     staProtocol.setUpcontactErr(status[7]);
-
+                    staProtocol.setPushTheEnvelopeErr(status[8]);
+                    staProtocol.setRaiseTheLowerLimitErr(status[9]);
+                    staProtocol.setLeftProtectionTriggersErr(status[10]);
+                    staProtocol.setRightProtectionTriggersErr(status[11]);
+                    staProtocol.setGratingBlockingErr(status[12]);
                 }
             }
 
diff --git a/src/main/webapp/static/wcs/css/render.css b/src/main/webapp/static/wcs/css/render.css
index c00b658..0f03a72 100644
--- a/src/main/webapp/static/wcs/css/render.css
+++ b/src/main/webapp/static/wcs/css/render.css
@@ -341,7 +341,7 @@
 }
 /* 鑷姩+鏈夌墿+ID */
 .site-auto-run-id {
-    background-color: rgb(252,48,48);
+    background-color: rgb(52, 168, 222);
 }
 /* 鑷姩+鏈夌墿 */
 .site-auto-run {
@@ -359,6 +359,9 @@
 .site-unauto {
     background-color: rgb(184,184,184);
 }
+.site-error{
+    background-color: rgb(252,48,48);
+}
 #code {
     background-image: url(../images/status_bar_2.png);
     background-repeat: no-repeat;
diff --git a/src/main/webapp/views/realtimeWatch/console.html b/src/main/webapp/views/realtimeWatch/console.html
index c67cea4..c3cb408 100644
--- a/src/main/webapp/views/realtimeWatch/console.html
+++ b/src/main/webapp/views/realtimeWatch/console.html
@@ -90,6 +90,7 @@
                     <span class="site-auto-id">鑷姩+ID</span>
                     <span class="site-auto">鑷姩</span>
                     <span class="site-unauto">闈炶嚜鍔�/鎵嬪姩</span>
+                    <span class="site-error">寮傚父</span>
                 </div>
             </div>
             <div class="bar-code">
@@ -343,6 +344,15 @@
                         <input type="text" name="locNo" value="">
                     </div>
                 </div>
+                <!-- 寮傚父 -->
+                <div class="form-item">
+                    <div class="form-item-label">
+                        <span>寮傚父锛�</span>
+                    </div>
+                    <div class="form-item-input">
+                        <input type="text" name="error" value="">
+                    </div>
+                </div>
                 <!-- 鎿嶄綔鎸夐挳 -->
                 <div class="form-item">
                     <a id="devpCommand" class="layui-btn">涓嬪彂鍛戒护</a>

--
Gitblit v1.9.1