From 925b834a3341dbe9f486964a7ad5d1affd7a404d Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期二, 24 十月 2023 13:33:05 +0800 Subject: [PATCH] # --- src/main/java/com/zy/core/thread/LiftThread.java | 54 ++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 46 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/zy/core/thread/LiftThread.java b/src/main/java/com/zy/core/thread/LiftThread.java index 8f3f046..935c90c 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; } @@ -125,9 +128,9 @@ try { readStatus(); - //鎻愬崌鏈哄浜庤繍琛岀姸鎬侊紝灏嗘爣璁扮疆涓簍rue + //鎻愬崌鏈哄浜庤繍琛岀姸鎬侊紝灏嗘爣璁扮疆涓篺alse if (liftProtocol.getBusy()) { - liftProtocol.setPakMk(true); + liftProtocol.setPakMk(false); } //鎻愬崌鏈哄浜庢湭杩愯銆佸氨缁�佹爣璁皌rue銆佹湁浠诲姟鍙� @@ -185,10 +188,10 @@ liftProtocol.setCompleteTaskNo(siemensS7Net.getByteTransform().TransInt16(result1.Content, 6)); //褰撳墠妤煎眰 short lev = siemensS7Net.getByteTransform().TransInt16(result1.Content, 8); - if (lev >=5 && lev <= 7) { - lev += 2; - } else if (lev >= 8 && lev <= 10) { - lev += 4; + if (lev >= 7 && lev <= 9) { + lev -= 2; + } else if (lev >= 12 && lev <= 14) { + lev -= 4; } liftProtocol.setLev(lev); @@ -355,15 +358,20 @@ //鍙栧嚭鍛戒护 NyLiftCommand command = commands.get(commandStep); + if (!redisCommand.getLiftNo().equals(liftProtocol.getLiftNo())) { + return false; + } + //涓嬪彂鍛戒护 if (!write(command)) { News.error("鎻愬崌鏈哄懡浠や笅鍙戝け璐ワ紝鎻愬崌鏈哄彿={}锛屼换鍔℃暟鎹�={}", command.getLiftNo(), JSON.toJSON(command)); return false; } + liftProtocol.setProtocolStatus(LiftProtocolStatusType.WORKING); News.info("鎻愬崌鏈哄懡浠や笅鍙戞垚鍔燂紝鎻愬崌鏈哄彿={}锛屼换鍔℃暟鎹�={}", command.getLiftNo(), JSON.toJSON(command)); - //灏嗘爣璁扮疆涓篺alse(闃叉閲嶅彂) + //灏嗘爣璁扮疆涓簍rue(闃叉閲嶅彂) liftProtocol.setPakMk(true); //淇濆瓨鏁版嵁鍒版暟鎹簱鍋氭祦姘� @@ -372,7 +380,7 @@ short[] commandArr = getCommandArr(command);//鑾峰彇鍛戒护鎶ユ枃 BasLiftOpt opt = new BasLiftOpt( redisCommand.getWrkNo().intValue(), - redisCommand.getLiftNo().intValue(), + liftProtocol.getLiftNo().intValue(), new Date(), null, null, @@ -380,6 +388,7 @@ JSON.toJSONString(command), JSON.toJSONString(liftProtocol) ); + opt.setDeviceWrk(command.getTaskNo().toString());//璁惧宸ヤ綔鍙� liftOptService.insert(opt); } @@ -416,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