From 3b5b98a9911e3231cefe5ab4f47a4c9d94e5a2f7 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期二, 28 十一月 2023 16:15:01 +0800
Subject: [PATCH] #将错误码存入备注字段进行展示

---
 src/main/java/com/zy/core/thread/SiemensDevpThread.java |  178 +++++++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 148 insertions(+), 30 deletions(-)

diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index 32873e4..30e8f67 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -9,6 +9,7 @@
 import com.core.common.DateUtils;
 import com.core.common.SpringUtils;
 import com.core.exception.CoolException;
+import com.zy.asrs.domain.enums.TaskStatusType;
 import com.zy.asrs.entity.BasDevp;
 import com.zy.asrs.entity.CommandInfo;
 import com.zy.asrs.entity.CommandInfoLog;
@@ -72,7 +73,7 @@
     /**
      * 鏉$爜鏁伴噺
      */
-    private int barcodeSize = 3;
+    private int barcodeSize = 7;
 
     /**
      * 鍏ュ嚭搴撴ā寮�
@@ -231,37 +232,140 @@
             }
         }
 
-//            //鏉$爜
-//            Thread.sleep(200);
-//            OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB100.160",(short)4);
-//            if (result2.IsSuccess) {
-//                for (int i = 0; i < barcodeSize; i++) {
-//                    String barcode = siemensS7Net.getByteTransform().TransString(result2.Content,i*8,8, "UTF-8");
-//                    BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, i + 1);
-//                    if(!Cools.isEmpty(barcodeThread) && !barcodeThread.getBarcode().equals(barcode)) {
-//                        barcodeThread.setBarcode(barcode);
-//                    }
-//                }
-//
-//            }
 
-        //RGV鍙拌溅浣嶇疆
-        Thread.sleep(200);
-        OperateResultExOne<byte[]> result3 = siemensS7Net.Read("DB100.0",(short)4);
-        if (result3.IsSuccess) {
-            for (int i = 0; i < 2; i++) {
-                Integer siteId = i==0 ? 112 : 212; // 绔欑偣缂栧彿
-                StaProtocol staProtocol = station.get(siteId);
-                if (null == staProtocol) {
-                    staProtocol = new StaProtocol();
-                    staProtocol.setSiteId(siteId);
-                    station.put(siteId, staProtocol);
+        if (slave.getId() == 1){
+            //鏉$爜
+            Thread.sleep(200);
+            OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB101.102",(short)60);
+            if (result2.IsSuccess) {
+                for (int i = 0; i < 6; i++) {
+                    String barcode = siemensS7Net.getByteTransform().TransString(result2.Content,i*8,8, "UTF-8");
+                    BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, i + 1);
+                    if(!Cools.isEmpty(barcodeThread) && !barcodeThread.getBarcode().equals(barcode)) {
+                        barcodeThread.setBarcode(barcode);
+                    }
                 }
-                staProtocol.setNearbySta(String.valueOf(siemensS7Net.getByteTransform().TransInt16(result3.Content, i*2)));
-//                String aa = staProtocol.getNearbySta();
-//                System.out.println(siteId + "===>>" + staProtocol.getNearbySta());
+            }
+
+            // 澶栧舰妫�娴� - 102
+            Thread.sleep(100);
+            OperateResultExOne<byte[]> result4 = siemensS7Net.Read("DB101.150", (short)1);
+            if (result4.IsSuccess) {
+                boolean[] status = siemensS7Net.getByteTransform().TransBool(result4.Content, 0, 1);
+                StaProtocol staProtocol = station.get(103);
+                staProtocol.setFrontErr(status[0]);
+                staProtocol.setBackErr(status[1]);
+                staProtocol.setHighErr(status[2]);
+                staProtocol.setLeftErr(status[3]);
+                staProtocol.setRightErr(status[4]);
+                staProtocol.setWeightErr(status[5]);
+                staProtocol.setBarcodeErr(status[6]);
+            }
+            // 澶栧舰妫�娴� - 107
+            Thread.sleep(50);
+            OperateResultExOne<byte[]> result5 = siemensS7Net.Read("DB101.154", (short)1);
+            if (result5.IsSuccess) {
+                boolean[] status = siemensS7Net.getByteTransform().TransBool(result5.Content, 0, 1);
+                StaProtocol staProtocol = station.get(107);
+                staProtocol.setFrontErr(status[0]);
+                staProtocol.setBackErr(status[1]);
+                staProtocol.setHighErr(status[2]);
+                staProtocol.setLeftErr(status[3]);
+                staProtocol.setRightErr(status[4]);
+                staProtocol.setWeightErr(status[5]);
+                staProtocol.setBarcodeErr(status[6]);
+            }
+            // 澶栧舰妫�娴� - 111
+            Thread.sleep(50);
+            OperateResultExOne<byte[]> result6 = siemensS7Net.Read("DB101.158", (short)1);
+            if (result6.IsSuccess) {
+                boolean[] status = siemensS7Net.getByteTransform().TransBool(result6.Content, 0, 1);
+                StaProtocol staProtocol = station.get(111);
+                staProtocol.setFrontErr(status[0]);
+                staProtocol.setBackErr(status[1]);
+                staProtocol.setHighErr(status[2]);
+                staProtocol.setLeftErr(status[3]);
+                staProtocol.setRightErr(status[4]);
+                staProtocol.setWeightErr(status[5]);
+                staProtocol.setBarcodeErr(status[6]);
+            }
+            // 澶栧舰妫�娴� - 115
+            Thread.sleep(50);
+            OperateResultExOne<byte[]> result7 = siemensS7Net.Read("DB101.162", (short)1);
+            if (result7.IsSuccess) {
+                boolean[] status = siemensS7Net.getByteTransform().TransBool(result7.Content, 0, 1);
+                StaProtocol staProtocol = station.get(115);
+                staProtocol.setFrontErr(status[0]);
+                staProtocol.setBackErr(status[1]);
+                staProtocol.setHighErr(status[2]);
+                staProtocol.setLeftErr(status[3]);
+                staProtocol.setRightErr(status[4]);
+                staProtocol.setWeightErr(status[5]);
+                staProtocol.setBarcodeErr(status[6]);
+            }
+            // 澶栧舰妫�娴� - 119
+            Thread.sleep(50);
+            OperateResultExOne<byte[]> result8 = siemensS7Net.Read("DB101.166", (short)1);
+            if (result8.IsSuccess) {
+                boolean[] status = siemensS7Net.getByteTransform().TransBool(result8.Content, 0, 1);
+                StaProtocol staProtocol = station.get(119);
+                staProtocol.setFrontErr(status[0]);
+                staProtocol.setBackErr(status[1]);
+                staProtocol.setHighErr(status[2]);
+                staProtocol.setLeftErr(status[3]);
+                staProtocol.setRightErr(status[4]);
+                staProtocol.setWeightErr(status[5]);
+                staProtocol.setBarcodeErr(status[6]);
+            }
+            // 澶栧舰妫�娴� - 123
+            Thread.sleep(50);
+            OperateResultExOne<byte[]> result9 = siemensS7Net.Read("DB101.170", (short)1);
+            if (result9.IsSuccess) {
+                boolean[] status = siemensS7Net.getByteTransform().TransBool(result9.Content, 0, 1);
+                StaProtocol staProtocol = station.get(123);
+                staProtocol.setFrontErr(status[0]);
+                staProtocol.setBackErr(status[1]);
+                staProtocol.setHighErr(status[2]);
+                staProtocol.setLeftErr(status[3]);
+                staProtocol.setRightErr(status[4]);
+                staProtocol.setWeightErr(status[5]);
+                staProtocol.setBarcodeErr(status[6]);
+            }
+        } else if (slave.getId() == 3) {
+            // 澶栧舰妫�娴� - 111
+            Thread.sleep(50);
+            OperateResultExOne<byte[]> result10 = siemensS7Net.Read("DB101.26", (short)1);
+            if (result10.IsSuccess) {
+                boolean[] status = siemensS7Net.getByteTransform().TransBool(result10.Content, 0, 1);
+                StaProtocol staProtocol = station.get(301);
+                staProtocol.setFrontErr(status[0]);
+                staProtocol.setBackErr(status[1]);
+                staProtocol.setHighErr(status[2]);
+                staProtocol.setLeftErr(status[3]);
+                staProtocol.setRightErr(status[4]);
+                staProtocol.setWeightErr(status[5]);
+                staProtocol.setBarcodeErr(status[6]);
             }
         }
+
+
+//        //RGV鍙拌溅浣嶇疆
+//        Thread.sleep(200);
+//        OperateResultExOne<byte[]> result3 = siemensS7Net.Read("DB100.0",(short)4);
+//        if (result3.IsSuccess) {
+//            for (int i = 0; i < 2; i++) {
+//                Integer siteId = i==0 ? 1 : 2; // 绔欑偣缂栧彿
+//                StaProtocol staProtocol = station.get(siteId);
+//                if (null == staProtocol) {
+//                    staProtocol = new StaProtocol();
+//                    staProtocol.setSiteId(siteId);
+//                    station.put(siteId, staProtocol);
+//                }
+//                staProtocol.setNearbySta(String.valueOf(siemensS7Net.getByteTransform().TransInt16(result3.Content, i*2)));
+////                String aa = staProtocol.getNearbySta();
+////                System.out.println(siteId + "===>>" + staProtocol.getNearbySta());
+//            }
+//        }
 
 //        OperateResultExOne<Short> result2 = siemensS7Net.ReadInt16("DB200.0");
 //        if (result2.IsSuccess) {
@@ -319,8 +423,22 @@
         CommandInfoLogService commandInfoLogService = SpringUtils.getBean(CommandInfoLogService.class);
         CommandInfoService commandInfoService = SpringUtils.getBean(CommandInfoService.class);
         CommandInfo commandInfo = commandInfoService.selectById(staProtocol.getCommandId());
-        CommandInfoLog commandInfoLog = JSON.parseObject(JSON.toJSONString(commandInfo), CommandInfoLog.class);
-        commandInfoLog.setId(null);
+        CommandInfoLog commandInfoLog = new CommandInfoLog();
+        if (commandInfo != null) {
+            commandInfoLog = JSON.parseObject(JSON.toJSONString(commandInfo), CommandInfoLog.class);
+            commandInfoLog.setId(null);
+        }else {
+            Date now = new Date();
+            commandInfoLog.setCommand(JSON.toJSONString(staProtocol));
+            commandInfoLog.setCommandStatus(3);
+            commandInfoLog.setStartTime(now);
+            commandInfoLog.setExecuteTime(now);
+            commandInfoLog.setCompleteTime(now);
+            commandInfoLog.setDevice(SlaveType.Devp.toString());
+            commandInfoLog.setWrkNo(9999);
+            commandInfoLog.setTaskNo("9999");
+            commandInfoLog.setCommandDesc("鎵嬪姩鍛戒护");
+        }
 
         OperateResult writeResult;
         //浠诲姟涓嬪彂娆℃暟

--
Gitblit v1.9.1