From be822b9065892ab857580faea950d8cb377d2280 Mon Sep 17 00:00:00 2001
From: cpT <1@123>
Date: 星期二, 01 七月 2025 10:02:52 +0800
Subject: [PATCH] #改造

---
 src/main/java/com/zy/core/model/protocol/StaProtocol.java   |  104 ++++++++++++++++++++++++++
 src/main/java/com/zy/asrs/controller/SiteController.java    |    4 
 src/main/webapp/views/deviceOperate/devpOperate.html        |    2 
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   92 +++++++++++++++++-----
 src/main/java/com/zy/asrs/domain/vo/SiteTableVo.java        |    1 
 src/main/java/com/zy/core/thread/SiemensDevpThread.java     |   23 +++++
 6 files changed, 202 insertions(+), 24 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/SiteController.java b/src/main/java/com/zy/asrs/controller/SiteController.java
index 076c199..b2e0413 100644
--- a/src/main/java/com/zy/asrs/controller/SiteController.java
+++ b/src/main/java/com/zy/asrs/controller/SiteController.java
@@ -18,6 +18,7 @@
 import com.zy.core.model.protocol.StaProtocol;
 import com.zy.core.properties.SlaveProperties;
 import com.zy.core.DevpThread;
+import com.zy.core.thread.BarcodeThread;
 import com.zy.core.thread.SiemensDevpThread;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -114,7 +115,8 @@
 //            vo.setLocType1(staProtocol.isHigh() != staProtocol.isLow() && staProtocol.isLow() ? "浣�" : "楂�");     //楂樹綆搴撲綅
             vo.setLocType1(devp.getDevNo()==102 ? "楂�" : "浣�");
             vo.setWeight(staProtocol.getGrossWt().toString());
-            vo.setErrorDev(staProtocol.getErrorDev());
+            vo.setBarcode(staProtocol.getBarcodeNow());
+            vo.setErrorDev(staProtocol.getErrorDev$());
         }
         return R.ok().add(list);
     }
diff --git a/src/main/java/com/zy/asrs/domain/vo/SiteTableVo.java b/src/main/java/com/zy/asrs/domain/vo/SiteTableVo.java
index df7b847..0bb7467 100644
--- a/src/main/java/com/zy/asrs/domain/vo/SiteTableVo.java
+++ b/src/main/java/com/zy/asrs/domain/vo/SiteTableVo.java
@@ -38,6 +38,7 @@
     //楂樹綆搴撲綅
     private String locType1 = "-";
     private String weight = "-";
+    private String barcode = "-";
     private String errorDev = "-";
     private String car = "-";
 }
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 fdcb0d3..695a0e9 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -137,31 +137,55 @@
                         back = true;
                     }
                     if (staProtocol.isFrontErr()) {
-                        errMsg = "鍓嶈秴闄�";
+                        if (!back){
+                            errMsg = "鍓嶈秴闄�";
+                        } else {
+                            errMsg = errMsg+"---"+"鍓嶈秴闄�";
+                        }
                         back = true;
                     }
-                    if (!back && staProtocol.isBackErr()) {
-                        errMsg = "鍚庤秴闄�";
+                    if (staProtocol.isBackErr()) {
+                        if (!back){
+                            errMsg = "鍚庤秴闄�";
+                        } else {
+                            errMsg = errMsg+"---"+"鍚庤秴闄�";
+                        }
                         back = true;
                     }
-                    if (!back && staProtocol.isHighErr()) {
-                        errMsg = "楂樿秴闄�";
+                    if (staProtocol.isHighErr()) {
+                        if (!back){
+                            errMsg = "楂樿秴闄�";
+                        } else {
+                            errMsg = errMsg+"---"+"楂樿秴闄�";
+                        }
                         back = true;
                     }
-                    if (!back && staProtocol.isLeftErr()) {
-                        errMsg = "宸﹁秴闄�";
+                    if (staProtocol.isLeftErr()) {
+                        if (!back){
+                            errMsg = "宸﹁秴闄�";
+                        } else {
+                            errMsg = errMsg+"---"+"宸﹁秴闄�";
+                        }
                         back = true;
                     }
-                    if (!back && staProtocol.isRightErr()) {
-                        errMsg = "鍙宠秴闄�";
+                    if (staProtocol.isRightErr()) {
+                        if (!back){
+                            errMsg = "鍙宠秴闄�";
+                        } else {
+                            errMsg = errMsg+"---"+"鍙宠秴闄�";
+                        }
                         back = true;
                     }
 //                    if (!back && staProtocol.isWeightErr()) {
 //                        errMsg = "瓒呴噸";
 //                        back = true;
 //                    }
-                    if (!back && staProtocol.isBarcodeErr()) {
-                        errMsg = "鎵爜澶辫触";
+                    if (staProtocol.isBarcodeErr()) {
+                        if (!back){
+                            errMsg = "鎵爜澶辫触";
+                        } else {
+                            errMsg = errMsg+"---"+"鎵爜澶辫触";
+                        }
                         back = true;
                     }
                     // 閫�鍥�
@@ -1867,31 +1891,55 @@
                         back = true;
                     }
                     if (staProtocol.isFrontErr()) {
-                        errMsg = "鍓嶈秴闄�";
+                        if (!back){
+                            errMsg = "鍓嶈秴闄�";
+                        } else {
+                            errMsg = errMsg+"---"+"鍓嶈秴闄�";
+                        }
                         back = true;
                     }
-                    if (!back && staProtocol.isBackErr()) {
-                        errMsg = "鍚庤秴闄�";
+                    if (staProtocol.isBackErr()) {
+                        if (!back){
+                            errMsg = "鍚庤秴闄�";
+                        } else {
+                            errMsg = errMsg+"---"+"鍚庤秴闄�";
+                        }
                         back = true;
                     }
-                    if (!back && staProtocol.isHighErr()) {
-                        errMsg = "楂樿秴闄�";
+                    if (staProtocol.isHighErr()) {
+                        if (!back){
+                            errMsg = "楂樿秴闄�";
+                        } else {
+                            errMsg = errMsg+"---"+"楂樿秴闄�";
+                        }
                         back = true;
                     }
-                    if (!back && staProtocol.isLeftErr()) {
-                        errMsg = "宸﹁秴闄�";
+                    if (staProtocol.isLeftErr()) {
+                        if (!back){
+                            errMsg = "宸﹁秴闄�";
+                        } else {
+                            errMsg = errMsg+"---"+"宸﹁秴闄�";
+                        }
                         back = true;
                     }
-                    if (!back && staProtocol.isRightErr()) {
-                        errMsg = "鍙宠秴闄�";
+                    if (staProtocol.isRightErr()) {
+                        if (!back){
+                            errMsg = "鍙宠秴闄�";
+                        } else {
+                            errMsg = errMsg+"---"+"鍙宠秴闄�";
+                        }
                         back = true;
                     }
 //                    if (!back && staProtocol.isWeightErr()) {
 //                        errMsg = "瓒呴噸";
 //                        back = true;
 //                    }
-                    if (!back && staProtocol.isBarcodeErr()) {
-                        errMsg = "鎵爜澶辫触";
+                    if (staProtocol.isBarcodeErr()) {
+                        if (!back){
+                            errMsg = "鎵爜澶辫触";
+                        } else {
+                            errMsg = errMsg+"---"+"鎵爜澶辫触";
+                        }
                         back = true;
                     }
                     // 閫�鍥�
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 252d523..82a2e67 100644
--- a/src/main/java/com/zy/core/model/protocol/StaProtocol.java
+++ b/src/main/java/com/zy/core/model/protocol/StaProtocol.java
@@ -1,7 +1,10 @@
 package com.zy.core.model.protocol;
 
+import com.core.common.Cools;
 import com.zy.asrs.entity.BasDevp;
 import lombok.Data;
+
+import java.text.SimpleDateFormat;
 
 /**
  * 杈撻�佺嚎plc鍗曚釜绔欑偣璇︾粏淇℃伅
@@ -80,6 +83,30 @@
     // 鎵爜澶辫触
     private boolean barcodeErr;
 
+    // 鐢佃矾淇濇姢鍣ㄦ柇寮�
+    private boolean errOther1;
+
+    // 鍏夌數寮傚父
+    private boolean errOther2;
+
+    // 杩愯瓒呮椂
+    private boolean errOther3;
+
+    // 鍗犱綅瓒呮椂
+    private boolean errOther4;
+
+    // 鏈変换鍔℃棤璐ф晠闅�
+    private boolean errOther5;
+
+    // 鍙橀鍣ㄦ晠闅�
+    private boolean errOther6;
+
+    // 鎺ヨЕ鍣ㄦ晠闅�
+    private boolean errOther7;
+
+    // 椤跺崌鐢垫満鎺ヨЕ鍣ㄦ晠闅�
+    private boolean errOther8;
+
     // Super鏈夋棤淇℃伅
     private boolean loadingSuper = true;
 
@@ -87,6 +114,7 @@
     private Integer commandId;
     private Double grossWt = 0D;
     private String errorDev = "-";
+    private String barcodeNow = "-";
 
     public BasDevp toSqlModel(){
         BasDevp basDevp = new BasDevp();
@@ -114,4 +142,80 @@
         return null;
     }
 
+    public String getErrorDev$(){
+        if (errorDev.equals("-")){
+            boolean back = false;
+            String errMsg = "-";
+            if (this.isErrOther1()) {
+                if (!back){
+                    errMsg = "鐢佃矾淇濇姢鍣ㄦ柇寮�";
+                } else {
+                    errMsg = errMsg+"---"+"鐢佃矾淇濇姢鍣ㄦ柇寮�";
+                }
+                back = true;
+            }
+            if (this.isErrOther2()) {
+                if (!back){
+                    errMsg = "鍏夌數寮傚父";
+                } else {
+                    errMsg = errMsg+"---"+"鍏夌數寮傚父";
+                }
+                back = true;
+            }
+            if (this.isErrOther3()) {
+                if (!back){
+                    errMsg = "杩愯瓒呮椂";
+                } else {
+                    errMsg = errMsg+"---"+"杩愯瓒呮椂";
+                }
+                back = true;
+            }
+            if (this.isErrOther4()) {
+                if (!back){
+                    errMsg = "鍗犱綅瓒呮椂";
+                } else {
+                    errMsg = errMsg+"---"+"鍗犱綅瓒呮椂";
+                }
+                back = true;
+            }
+            if (this.isErrOther5()) {
+                if (!back){
+                    errMsg = "鏈変换鍔℃棤璐ф晠闅�";
+                } else {
+                    errMsg = errMsg+"---"+"鏈変换鍔℃棤璐ф晠闅�";
+                }
+                back = true;
+            }
+            if (this.isErrOther6()) {
+                if (!back){
+                    errMsg = "鍙橀鍣ㄦ晠闅�";
+                } else {
+                    errMsg = errMsg+"---"+"鍙橀鍣ㄦ晠闅�";
+                }
+                back = true;
+            }
+            if (this.isErrOther7()) {
+                if (!back){
+                    errMsg = "鎺ヨЕ鍣ㄦ晠闅�";
+                } else {
+                    errMsg = errMsg+"---"+"鎺ヨЕ鍣ㄦ晠闅�";
+                }
+                back = true;
+            }
+            if (this.isErrOther8()) {
+                if (!back){
+                    errMsg = "椤跺崌鐢垫満鎺ヨЕ鍣ㄦ晠闅�";
+                } else {
+                    errMsg = errMsg+"---"+"椤跺崌鐢垫満鎺ヨЕ鍣ㄦ晠闅�";
+                }
+                back = true;
+            }
+            if (back){
+                return errMsg;
+            }
+        }
+
+        return errorDev;
+    }
+
 }
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index a2fd278..78edd2e 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -323,25 +323,33 @@
                 }
             }
         }
+        int[] staW = new int[]{1004,1014,1020};
 
         //鏉$爜
 //        Thread.sleep(50);
         OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB400.100.0",(short) (barcodeSize*8));
         if (result2.IsSuccess) {
             for (int i = 0; i < barcodeSize; i++) {
+                Integer siteId = staW[i]; // 绔欑偣缂栧彿
+                StaProtocol staProtocol = station.get(siteId);
+                if (null == staProtocol) {
+                    staProtocol = new StaProtocol();
+                    station.put(siteId, staProtocol);
+                }
                 String barcode = siemensS7Net.getByteTransform().TransString(result2.Content,i*8,6, "UTF-8");
                 BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, i + 1);
                 if(!Cools.isEmpty(barcodeThread) && !barcodeThread.getBarcode().equals(barcode)) {
                     barcodeThread.setBarcode(barcode);
                 }
+                staProtocol.setBarcodeNow(barcode);
             }
         }
 
         //鏉$爜
 //        Thread.sleep(50);
-        int[] staW = new int[]{1004,1014,1020};
 
         OperateResultExOne<byte[]> result3 = siemensS7Net.Read("DB400.148.0",(short) (staW.length*4));
+        OperateResultExOne<byte[]> resultErr = siemensS7Net.Read("DB101.922.0",(short) (staW.length*4));
         if (result3.IsSuccess) {
             for (int i = 0; i < staW.length; i++) {
                 Integer siteId = staW[i]; // 绔欑偣缂栧彿
@@ -357,6 +365,19 @@
                 staProtocol.setHighErr(status[2]);  // 楂樿秴闄�
                 staProtocol.setLeftErr(status[3]);  // 宸﹁秴闄�
                 staProtocol.setRightErr(status[4]); // 鍙宠秴闄�
+                staProtocol.setWeightErr(status[5]); // 瓒呴噸
+                staProtocol.setBarcodeErr(status[6]); // 鎵爜澶辫触
+                if (resultErr.IsSuccess){
+                    boolean[] statusErr = siemensS7Net.getByteTransform().TransBool(resultErr.Content, i*4 + 2, 2);
+                    staProtocol.setErrOther1(statusErr[0]);  // 鐢佃矾淇濇姢鍣ㄦ柇寮�
+                    staProtocol.setErrOther1(statusErr[1]);  // 鍏夌數寮傚父
+                    staProtocol.setErrOther1(statusErr[2]);  // 杩愯瓒呮椂
+                    staProtocol.setErrOther1(statusErr[3]);  // 鍗犱綅瓒呮椂
+                    staProtocol.setErrOther1(statusErr[4]);  // 鏈変换鍔℃棤璐ф晠闅�
+                    staProtocol.setErrOther1(statusErr[5]);  // 鍙橀鍣ㄦ晠闅�
+                    staProtocol.setErrOther1(statusErr[6]);  // 鎺ヨЕ鍣ㄦ晠闅�
+                    staProtocol.setErrOther1(statusErr[7]);  // 椤跺崌鐢垫満鎺ヨЕ鍣ㄦ晠闅�
+                }
             }
         }
 
diff --git a/src/main/webapp/views/deviceOperate/devpOperate.html b/src/main/webapp/views/deviceOperate/devpOperate.html
index 724416e..8ce2a8d 100644
--- a/src/main/webapp/views/deviceOperate/devpOperate.html
+++ b/src/main/webapp/views/deviceOperate/devpOperate.html
@@ -99,6 +99,8 @@
 								</el-descriptions-item>
 								<el-descriptions-item label="閲嶉噺">{{ tableData[currentIndex].weight }}
 								</el-descriptions-item>
+								<el-descriptions-item label="鏉$爜">{{ tableData[currentIndex].barcode }}
+								</el-descriptions-item>
 								<el-descriptions-item label="寮傚父鎻愮ず">{{ tableData[currentIndex].errorDev }}
 								</el-descriptions-item>
 							</el-descriptions>

--
Gitblit v1.9.1