From ff2b6e2329ae2c5d3fede2f9413170fd6e87c46c Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期五, 08 十二月 2023 09:27:52 +0800
Subject: [PATCH] #输送线读取

---
 src/main/java/com/zy/core/thread/LiftThread.java |   47 ++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 42 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/zy/core/thread/LiftThread.java b/src/main/java/com/zy/core/thread/LiftThread.java
index ccc0864..d14f4a4 100644
--- a/src/main/java/com/zy/core/thread/LiftThread.java
+++ b/src/main/java/com/zy/core/thread/LiftThread.java
@@ -32,6 +32,7 @@
 import java.text.MessageFormat;
 import java.util.ArrayList;
 import java.util.Date;
+import java.util.HashMap;
 import java.util.List;
 
 /**
@@ -87,6 +88,8 @@
                     case 3:
                         assignWork((LiftAssignCommand) task.getData());
                         break;
+                    case 4:
+                        write2((HashMap<String, Object>) task.getData());
                     default:
                         break;
                 }
@@ -326,7 +329,7 @@
         redisCommand.setCommandStep(0);//鍛戒护鎵ц姝ュ簭
         redisCommand.setAssignCommand(assignCommand);//鍛戒护
         //浠诲姟鏁版嵁淇濆瓨鍒皉edis
-        redisUtil.set("lift_wrk_no_" + assignCommand.getTaskNo(), JSON.toJSONString(redisCommand));
+        redisUtil.set(RedisKeyType.LIFT.key + assignCommand.getTaskNo(), JSON.toJSONString(redisCommand));
         liftProtocol.setAssignCommand(assignCommand);
         liftProtocol.setProtocolStatus(LiftProtocolStatusType.WORKING);
         //鎵ц涓嬪彂浠诲姟
@@ -341,7 +344,7 @@
         }
 
         WrkMastMapper wrkMastMapper = SpringUtils.getBean(WrkMastMapper.class);
-        Object o = redisUtil.get("lift_wrk_no_" + wrkNo);
+        Object o = redisUtil.get(RedisKeyType.LIFT.key + wrkNo);
         if (o == null) {
             return false;
         }
@@ -354,6 +357,10 @@
 
         //鍙栧嚭鍛戒护
         NyLiftCommand command = commands.get(commandStep);
+
+        if (!redisCommand.getLiftNo().equals(liftProtocol.getLiftNo())) {
+            return false;
+        }
 
         //涓嬪彂鍛戒护
         if (!write(command)) {
@@ -373,7 +380,7 @@
             short[] commandArr = getCommandArr(command);//鑾峰彇鍛戒护鎶ユ枃
             BasLiftOpt opt = new BasLiftOpt(
                     redisCommand.getWrkNo().intValue(),
-                    redisCommand.getLiftNo().intValue(),
+                    liftProtocol.getLiftNo().intValue(),
                     new Date(),
                     null,
                     null,
@@ -381,6 +388,7 @@
                     JSON.toJSONString(command),
                     JSON.toJSONString(liftProtocol)
             );
+            opt.setDeviceWrk(command.getTaskNo().toString());//璁惧宸ヤ綔鍙�
             liftOptService.insert(opt);
         }
 
@@ -391,11 +399,11 @@
             commandStep++;
             redisCommand.setCommandStep(commandStep);
             //浠诲姟鏁版嵁淇濆瓨鍒皉edis
-            redisUtil.set("lift_wrk_no_" + redisCommand.getWrkNo(), JSON.toJSONString(redisCommand));
+            redisUtil.set(RedisKeyType.LIFT.key + redisCommand.getWrkNo(), JSON.toJSONString(redisCommand));
         }else {
             //宸叉墽琛屽畬鎴�
             //鍒犻櫎redis
-            redisUtil.del("lift_wrk_no_" + redisCommand.getWrkNo());
+            redisUtil.del(RedisKeyType.LIFT.key + redisCommand.getWrkNo());
 
             //瀵逛富绾跨▼鎶涘嚭绛夊緟纭鐘舵�亀aiting
             liftProtocol.setProtocolStatus(LiftProtocolStatusType.WAITING);
@@ -417,6 +425,35 @@
         return true;
     }
 
+    //缁欐彁鍗囨満鍐欏叆杩涘嚭鐘舵��
+    private void write2(HashMap<String,Object> data) {
+//        //鍑�
+//        status = true;
+//        //杩�
+//        status = false;
+        int lev = Integer.parseInt(data.get("lev").toString());
+        boolean status = Boolean.parseBoolean(data.get("status").toString());
+
+        ArrayList<String> list = new ArrayList<String>(){{
+            add("83.8.0");
+            add("83.8.1");
+            add("83.8.2");
+            add("83.8.3");
+            add("83.8.4");
+            add("83.8.5");
+            add("83.8.6");
+            add("83.8.7");
+            add("83.9.0");
+            add("83.9.1");
+        }};
+        OperateResult result = siemensS7Net.Write("DB" + list.get(lev - 1), status);
+        if (result != null && result.IsSuccess) {
+            News.info("鎻愬崌鏈哄懡浠や笅鍙慬id:{}]", slave.getId());
+        } else {
+            News.error("鍐欏叆鎻愬崌鏈簆lc鏁版嵁澶辫触 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
+        }
+    }
+
     /******************************************************************************************/
     /**************************************** 娴嬭瘯涓撶敤 *****************************************/
     /*****************************************************************************************/

--
Gitblit v1.9.1