From 6849ec1281a1a45639d6d28eef771eac63e389d2 Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期三, 11 六月 2025 16:32:44 +0800 Subject: [PATCH] 1、表阀一体协议,关阀失败数据解析修改; 2、RTU状态处理逻辑修改,每条81上报数据都要保存。 --- pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigation/IrrigationSv.java | 34 +++++++++++++++++++++++++++------- 1 files changed, 27 insertions(+), 7 deletions(-) diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigation/IrrigationSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigation/IrrigationSv.java index 205ec52..f5d7255 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigation/IrrigationSv.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigation/IrrigationSv.java @@ -136,7 +136,10 @@ return map; } for (VoIntake intake : intakes) { - intake.setIsOnLine(getRtuStatus(intake.getRtuAddr())); + Boolean isOnLine = getOnlineStatus(intake.getRtuAddr()); + intake.setIsOnLine(isOnLine); + Boolean isOpen = getOpenCloseStatus(intake.getRtuAddr()); + intake.setIsOpen(isOpen); } voGroupIntakes.setIntakes(intakes); @@ -154,12 +157,7 @@ } } - /** - * 鑾峰彇rtu鍦ㄧ嚎鎯呭喌 - * @param rtuAdd - * @return - */ - public Boolean getRtuStatus(String rtuAdd) { + public Boolean getOnlineStatus(String rtuAdd) { Command com = new Command(); com.id = Command.defaultId; com.code = CodeLocal.onLinePart; @@ -180,6 +178,28 @@ } } + public Boolean getOpenCloseStatus(String rtuAdd) { + Command com = new Command(); + com.id = Command.defaultId; + com.code = CodeLocal.oneRtuStates; + com.type = CommandType.innerCommand; + com.setRtuAddr(rtuAdd); + com.setParam(rtuAdd); + JSONObject response = (JSONObject) JSON.toJSON(sendCom2Mw(com)); + + if (response == null || !response.getString("code").equals("0001") || response.getJSONObject("content").getJSONObject("attachment") == null) { + return false; + } + + // if(response.getJSONObject("content").getJSONObject("attachment").get("valveOpenTrueCloseFalse").equals("true")) { + if(response.getJSONObject("content").getJSONObject("attachment").getBoolean("valveOpenTrueCloseFalse")) { + return true; + } + else { + return false; + } + } + /** * 鍙戦�佸懡浠� * -- Gitblit v1.8.0