From 2b2a90e952c2c59642c41d8af5759ceb51b9e099 Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期一, 13 五月 2024 16:19:14 +0800 Subject: [PATCH] 根据王江海修改完善的协议(20240510),进行协议实现完善。 --- pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_C2_Up.java | 10 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/global/GlParse.java | 138 +++++++++---- pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd93_A3_85Vo.java | 20 - pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_55_Up.java | 13 - pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkRtuDealCommandResponse.java | 47 ++++ pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCdC2Vo.java | 6 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd84Vo.java | 46 ++++ pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_65_Up.java | 22 - pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd83Vo.java | 4 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/global/GlCreate.java | 11 + pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd81Vo.java | 23 - pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkFindComResponse.java | 32 +++ pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_81_Up.java | 3 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_93_A3_Down.java | 5 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/RtuDataDealTree.xml | 5 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd65Vo.java | 4 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/ByteUtilUnsigned.java | 144 +++++++++++-- pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_92_A2_Down.java | 5 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/AlarmVo.java | 26 ++ pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_84_Up.java | 3 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd80_5BVo.java | 20 - pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_15_Down.java | 11 22 files changed, 426 insertions(+), 172 deletions(-) diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_15_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_15_Down.java index 51818e1..647a77f 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_15_Down.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_15_Down.java @@ -62,7 +62,7 @@ if(cvo.flowNo.length() != 12){ throw new Exception("娴佹按鍙峰繀椤绘槸12浣嶆暟瀛�") ; } - byte[] bs = new byte[34] ; + byte[] bs = new byte[40] ; int index = 0 ; bs[index] = (byte)(Integer.parseInt(cvo.controllerType, 16)); @@ -96,9 +96,9 @@ bs[index++] = 0 ; } } - if(cvo.chargeMoney != null){ - String chargeMoney = "" + (Double.valueOf(cvo.chargeWater * 100)).longValue() ; - byte[] bTemp = ByteUtil.string2BCD_LE(chargeMoney) ; + if(cvo.chargeWater != null){ + String chargeWater = "" + (Double.valueOf(cvo.chargeWater * 100)).longValue() ; + byte[] bTemp = ByteUtil.string2BCD_LE(chargeWater) ; int bTempLen = bTemp.length ; int count = 0 ; for(int i = 0 ; i < bTempLen; i++){ @@ -120,6 +120,9 @@ ByteUtil.string2BCD_BE(bs, cvo.flowNo, index) ; index += 6 ; + GlCreate.createDt(bs, index); + + index += 6 ; GlCreate.createPw(bs, index); index += 2 ; diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_55_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_55_Up.java index cd0a99b..a6ec690 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_55_Up.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_55_Up.java @@ -115,18 +115,7 @@ } index += 1 ; - String ss = ByteUtil.BCD2String_BE(bs, index, index) ; - index++ ; - String mm = ByteUtil.BCD2String_BE(bs, index, index) ; - index++ ; - String HH = ByteUtil.BCD2String_BE(bs, index, index) ; - index++ ; - String dd = ByteUtil.BCD2String_BE(bs, index, index) ; - index++ ; - String MM = ByteUtil.BCD2String_BE(bs, index, index) ; - index++ ; - String yy = ByteUtil.BCD2String_BE(bs, index, index) ; - cdData.dt = "20" + yy + "-" + MM + "-" + dd + " " + HH + ":" + mm + ":" + ss ; + cdData.dt = GlParse.parseRtuDt(bs, index) ; return cdData ; }else{ diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_65_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_65_Up.java index bab8637..5875d55 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_65_Up.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_65_Up.java @@ -112,26 +112,12 @@ cdData.thisWater = thisWater/100.0D; index += 4 ; - String mm = ByteUtil.BCD2String_BE(bs, index, index) ; - index++ ; - String HH = ByteUtil.BCD2String_BE(bs, index, index) ; - index++ ; - String dd = ByteUtil.BCD2String_BE(bs, index, index) ; - index++ ; - String MM = ByteUtil.BCD2String_BE(bs, index, index) ; - cdData.rtuStartDt = MM + "-" + dd + " " + HH + ":" + mm ; + cdData.rtuStartDt = GlParse.parseRtuDt(bs, index) ; - index++ ; - mm = ByteUtil.BCD2String_BE(bs, index, index) ; - index++ ; - HH = ByteUtil.BCD2String_BE(bs, index, index) ; - index++ ; - dd = ByteUtil.BCD2String_BE(bs, index, index) ; - index++ ; - MM = ByteUtil.BCD2String_BE(bs, index, index) ; - cdData.rtuEndDt = MM + "-" + dd + " " + HH + ":" + mm ; + index += 6 ; + cdData.rtuEndDt = GlParse.parseRtuDt(bs, index) ; - index++ ; + index += 6 ; cdData.useWaterType = bs[index]; return cdData ; diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_81_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_81_Up.java index 3686ca7..25b6deb 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_81_Up.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_81_Up.java @@ -94,6 +94,9 @@ cdData.projectNo = (int)bs[index]; index++ ; + GlParse.parseRtuDt(bs, index) ; + + index += 6 ; GlParse.parseAlarmAndState(bs, index, cdData) ; } } diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_84_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_84_Up.java index e58fbf9..edb5e5c 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_84_Up.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_84_Up.java @@ -128,6 +128,9 @@ index += 5 ; cdData.waterRemainUser = ByteUtil.BCD2Int_BE(bs, index, index + 4)/100.0D ; + index += 5 ; + GlParse.parseAlarmAndState(bs, index, cdData) ; + } } diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_92_A2_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_92_A2_Down.java index d6051ea..d3b7997 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_92_A2_Down.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_92_A2_Down.java @@ -82,7 +82,7 @@ } - byte[] bs = new byte[39] ; + byte[] bs = new byte[45] ; int index = 0 ; bs[index] = (byte)(Integer.parseInt(cvo.controllerType, 16)); @@ -178,6 +178,9 @@ ByteUtil.string2BCD_BE(bs, cvo.orderNo, index) ; index += 8 ; + GlCreate.createDt(bs, index); + + index += 6 ; GlCreate.createPw(bs, index); index += 2 ; diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_93_A3_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_93_A3_Down.java index e7ef090..8e6b3fa 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_93_A3_Down.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_93_A3_Down.java @@ -61,7 +61,7 @@ throw new Exception("璁㈠崟鍙峰繀椤绘槸16浣嶆暟瀛�") ; } - byte[] bs = new byte[26] ; + byte[] bs = new byte[32] ; int index = 0 ; bs[index] = (byte)(Integer.parseInt(cvo.controllerType, 16)); @@ -82,6 +82,9 @@ ByteUtil.string2BCD_BE(bs, cvo.orderNo, index) ; index += 8 ; + GlCreate.createDt(bs, index); + + index += 6 ; GlCreate.createPw(bs, index); index += 2 ; diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_C2_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_C2_Up.java index f15eed4..4065cad 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_C2_Up.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_C2_Up.java @@ -3,6 +3,7 @@ import com.dy.common.mw.protocol.*; import com.dy.common.mw.protocol.p206V202404.*; +import com.dy.common.mw.protocol.p206V202404.parse.global.GlParse; import com.dy.common.mw.protocol.p206V202404.upVos.DataCd02Vo; import com.dy.common.mw.protocol.p206V202404.upVos.DataCdC2Vo; import com.dy.common.util.ByteUtil; @@ -106,5 +107,12 @@ cdData.success = true ; }else{ cdData.success = false ; - } } + } + + index++ ; + GlParse.parseRtuDt(bs, index); + + index+= 6 ; + GlParse.parseAlarmAndState(bs, index, cdData); + } } diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/global/GlCreate.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/global/GlCreate.java index 16f5543..f428bde 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/global/GlCreate.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/global/GlCreate.java @@ -93,6 +93,17 @@ Integer icCardNo2Int = Integer.parseInt(icCardNo2) ; ByteUtilUnsigned.short2Bytes_LE(bs, icCardNo2Int.shortValue(), index); } + + public static void createDt(byte[] bs, int index) throws Exception { + bs[index] = Byte.parseByte(DateTime.ss()) ; + bs[index + 1] = Byte.parseByte(DateTime.mm()) ; + bs[index + 2] = Byte.parseByte(DateTime.HH()) ; + bs[index + 3] = Byte.parseByte(DateTime.dd()) ; + bs[index + 4] = Byte.parseByte(DateTime.MM()) ; + bs[index + 5] = Byte.parseByte(DateTime.yy()) ; + } + + public static void createPw(byte[] bs, int index) throws Exception { bs[index] = 0; bs[index + 1] = 0; diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/global/GlParse.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/global/GlParse.java index 7ba7593..da8f938 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/global/GlParse.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/global/GlParse.java @@ -1,9 +1,7 @@ package com.dy.common.mw.protocol.p206V202404.parse.global; import com.dy.common.mw.protocol.p206V202404.ProtocolConstantV206V202404; -import com.dy.common.mw.protocol.p206V202404.upVos.DataCd80_5BVo; -import com.dy.common.mw.protocol.p206V202404.upVos.DataCd81Vo; -import com.dy.common.mw.protocol.p206V202404.upVos.DataCd93_A3_85Vo; +import com.dy.common.mw.protocol.p206V202404.upVos.*; import com.dy.common.util.ByteUtil; import com.dy.common.util.ByteUtilUnsigned; import org.apache.logging.log4j.LogManager; @@ -32,7 +30,7 @@ String mm = ByteUtil.BCD2String_BE(bs, index, index) ; index++ ; String yy = ByteUtil.BCD2String_BE(bs, index, index) ; - return yy + "-" + mm + "-" + dd + " " + HH + ":" + MM + ":" + ss ; + return "20" + yy + "-" + mm + "-" + dd + " " + HH + ":" + MM + ":" + ss ; } /** * 鍒嗘瀽IC鍗$紪鍙� @@ -61,23 +59,23 @@ public static void parseAlarmAndState(byte[] bs, int index, DataCd80_5BVo vo){ byte b = bs[index] ; vo.statePump = (byte)(b & 0x1) ; - vo.alarmWaterRemain = (byte)(b & 0x2) ; - vo.alarm0WaterRemain = (byte)(b & 0x4) ; - vo.alarmExceedYear = (byte)(b & 0x8) ; - vo.alarmWaterMeterFault = (byte)(b & 0x10) ; - vo.alarmSteal = (byte)(b & 0x20) ; - vo.alarmWaterMeterBreak = (byte)(b & 0x40) ; - vo.alarmEleMeterFault = (byte)(b & 0x80) ; + vo.alarmWaterRemain = (byte)(b >> 1 & 1) ; + vo.alarm0WaterRemain = (byte)(b >> 2 & 1) ; + vo.alarmExceedYear = (byte)(b >> 3 & 1) ; + vo.alarmWaterMeterFault = (byte)(b >> 4 & 1) ; + vo.alarmSteal = (byte)(b >> 5 & 1) ; + vo.alarmWaterMeterBreak = (byte)(b >> 6 & 1) ; + vo.alarmEleMeterFault = (byte)(b >> 7 & 1) ; index++ ; b = bs[index] ; vo.alarm0MoneyRemain = (byte)(b & 0x1) ; - vo.alarmInnerDoor = (byte)(b & 0x2) ; - vo.alarmOuterDoor = (byte)(b & 0x4) ; - vo.alarmEleMiss = (byte)(b & 0x8) ; - vo.alarmEleExceed = (byte)(b & 0x10) ; - vo.alarmEleLowVolt = (byte)(b & 0x20) ; - vo.stateIcEnable = (byte)(b & 0x40) ; + vo.alarmInnerDoor = (byte)(b >> 1 & 1) ; + vo.alarmOuterDoor = (byte)(b >> 2 & 1) ; + vo.alarmEleMiss = (byte)(b >> 3 & 1) ; + vo.alarmEleExceed = (byte)(b >> 4 & 1) ; + vo.alarmEleLowVolt = (byte)(b >> 5 & 1) ; + vo.stateIcEnable = (byte)(b >> 6 & 1) ; } /** * 鍒嗘瀽鐘舵�佷笌鎶ヨ @@ -88,23 +86,50 @@ public static void parseAlarmAndState(byte[] bs, int index, DataCd81Vo vo){ byte b = bs[index] ; vo.statePump = (byte)(b & 0x1) ; - vo.alarmWaterRemain = (byte)(b & 0x2) ; - vo.alarm0WaterRemain = (byte)(b & 0x4) ; - vo.alarmExceedYear = (byte)(b & 0x8) ; - vo.alarmWaterMeterFault = (byte)(b & 0x10) ; - vo.alarmSteal = (byte)(b & 0x20) ; - vo.alarmWaterMeterBreak = (byte)(b & 0x40) ; - vo.alarmEleMeterFault = (byte)(b & 0x80) ; + vo.alarmWaterRemain = (byte)(b >> 1 & 1) ; + vo.alarm0WaterRemain = (byte)(b >> 2 & 1) ; + vo.alarmExceedYear = (byte)(b >> 3 & 1) ; + vo.alarmWaterMeterFault = (byte)(b >> 4 & 1) ; + vo.alarmSteal = (byte)(b >> 5 & 1) ; + vo.alarmWaterMeterBreak = (byte)(b >> 6 & 1) ; + vo.alarmEleMeterFault = (byte)(b >> 7 & 1) ; index++ ; b = bs[index] ; vo.alarm0MoneyRemain = (byte)(b & 0x1) ; - vo.alarmInnerDoor = (byte)(b & 0x2) ; - vo.alarmOuterDoor = (byte)(b & 0x4) ; - vo.alarmEleMiss = (byte)(b & 0x8) ; - vo.alarmEleExceed = (byte)(b & 0x10) ; - vo.alarmEleLowVolt = (byte)(b & 0x20) ; - vo.stateIcEnable = (byte)(b & 0x40) ; + vo.alarmInnerDoor = (byte)(b >> 1 & 1) ; + vo.alarmOuterDoor = (byte)(b >> 2 & 1) ; + vo.alarmEleMiss = (byte)(b >> 3 & 1) ; + vo.alarmEleExceed = (byte)(b >> 4 & 1) ; + vo.alarmEleLowVolt = (byte)(b >> 5 & 1) ; + vo.stateIcEnable = (byte)(b >> 6 & 1) ; + } + /** + * 鍒嗘瀽鐘舵�佷笌鎶ヨ + * @param bs + * @param index + * @return + */ + public static void parseAlarmAndState(byte[] bs, int index, DataCd84Vo vo){ + byte b = bs[index] ; + vo.statePump = (byte)(b & 0x1) ; + vo.alarmWaterRemain = (byte)(b >> 1 & 1) ; + vo.alarm0WaterRemain = (byte)(b >> 2 & 1) ; + vo.alarmExceedYear = (byte)(b >> 3 & 1) ; + vo.alarmWaterMeterFault = (byte)(b >> 4 & 1) ; + vo.alarmSteal = (byte)(b >> 5 & 1) ; + vo.alarmWaterMeterBreak = (byte)(b >> 6 & 1) ; + vo.alarmEleMeterFault = (byte)(b >> 7 & 1) ; + + index++ ; + b = bs[index] ; + vo.alarm0MoneyRemain = (byte)(b & 0x1) ; + vo.alarmInnerDoor = (byte)(b >> 1 & 1) ; + vo.alarmOuterDoor = (byte)(b >> 2 & 1) ; + vo.alarmEleMiss = (byte)(b >> 3 & 1) ; + vo.alarmEleExceed = (byte)(b >> 4 & 1) ; + vo.alarmEleLowVolt = (byte)(b >> 5 & 1) ; + vo.stateIcEnable = (byte)(b >> 6 & 1) ; } /** * 鍒嗘瀽鐘舵�佷笌鎶ヨ @@ -115,23 +140,50 @@ public static void parseAlarmAndState(byte[] bs, int index, DataCd93_A3_85Vo vo){ byte b = bs[index] ; vo.statePump = (byte)(b & 0x1) ; - vo.alarmWaterRemain = (byte)(b & 0x2) ; - vo.alarm0WaterRemain = (byte)(b & 0x4) ; - vo.alarmExceedYear = (byte)(b & 0x8) ; - vo.alarmWaterMeterFault = (byte)(b & 0x10) ; - vo.alarmSteal = (byte)(b & 0x20) ; - vo.alarmWaterMeterBreak = (byte)(b & 0x40) ; - vo.alarmEleMeterFault = (byte)(b & 0x80) ; + vo.alarmWaterRemain = (byte)(b >> 1 & 1) ; + vo.alarm0WaterRemain = (byte)(b >> 2 & 1) ; + vo.alarmExceedYear = (byte)(b >> 3 & 1) ; + vo.alarmWaterMeterFault = (byte)(b >> 4 & 1) ; + vo.alarmSteal = (byte)(b >> 5 & 1) ; + vo.alarmWaterMeterBreak = (byte)(b >> 6 & 1) ; + vo.alarmEleMeterFault = (byte)(b >> 7 & 1) ; index++ ; b = bs[index] ; vo.alarm0MoneyRemain = (byte)(b & 0x1) ; - vo.alarmInnerDoor = (byte)(b & 0x2) ; - vo.alarmOuterDoor = (byte)(b & 0x4) ; - vo.alarmEleMiss = (byte)(b & 0x8) ; - vo.alarmEleExceed = (byte)(b & 0x10) ; - vo.alarmEleLowVolt = (byte)(b & 0x20) ; - vo.stateIcEnable = (byte)(b & 0x40) ; + vo.alarmInnerDoor = (byte)(b >> 1 & 1) ; + vo.alarmOuterDoor = (byte)(b >> 2 & 1) ; + vo.alarmEleMiss = (byte)(b >> 3 & 1) ; + vo.alarmEleExceed = (byte)(b >> 4 & 1) ; + vo.alarmEleLowVolt = (byte)(b >> 5 & 1) ; + vo.stateIcEnable = (byte)(b >> 6 & 1) ; + } + /** + * 鍒嗘瀽鐘舵�佷笌鎶ヨ + * @param bs + * @param index + * @return + */ + public static void parseAlarmAndState(byte[] bs, int index, DataCdC2Vo vo){ + byte b = bs[index] ; + vo.statePump = (byte)(b & 0x1) ; + vo.alarmWaterRemain = (byte)(b >> 1 & 1) ; + vo.alarm0WaterRemain = (byte)(b >> 2 & 1) ; + vo.alarmExceedYear = (byte)(b >> 3 & 1) ; + vo.alarmWaterMeterFault = (byte)(b >> 4 & 1) ; + vo.alarmSteal = (byte)(b >> 5 & 1) ; + vo.alarmWaterMeterBreak = (byte)(b >> 6 & 1) ; + vo.alarmEleMeterFault = (byte)(b >> 7 & 1) ; + + index++ ; + b = bs[index] ; + vo.alarm0MoneyRemain = (byte)(b & 0x1) ; + vo.alarmInnerDoor = (byte)(b >> 1 & 1) ; + vo.alarmOuterDoor = (byte)(b >> 2 & 1) ; + vo.alarmEleMiss = (byte)(b >> 3 & 1) ; + vo.alarmEleExceed = (byte)(b >> 4 & 1) ; + vo.alarmEleLowVolt = (byte)(b >> 5 & 1) ; + vo.stateIcEnable = (byte)(b >> 6 & 1) ; } public static String parseTp(byte[] bs, short index){ diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/AlarmVo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/AlarmVo.java new file mode 100644 index 0000000..2b69dcf --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/AlarmVo.java @@ -0,0 +1,26 @@ +package com.dy.common.mw.protocol.p206V202404.upVos; + +/** + * @Author: liurunyu + * @Date: 2024/5/13 16:01 + * @Description + */ +public class AlarmVo { + + public Byte statePump ; //娉�/闃�鐘舵�� (1锛氬紑娉�/闃�锛�0锛氬叧娉�/闃�) + public Byte alarmWaterRemain ; //鍓╀綑姘撮噺鎶ヨ (1锛氬皬浜庢姤璀︿笂闄愭姤璀� 0锛氭甯�) + public Byte alarm0WaterRemain ; //鍓╀綑姘撮噺涓�0鍏虫车/闃� (1锛氬墿浣欐按閲忎负0鍏虫车 0锛氭甯�) + public Byte alarmExceedYear ; //骞村害瓒呴噰鎶ヨ (1锛氬勾鐢ㄦ按閲忓ぇ浜庨檺鍒舵按閲忔姤璀� 0锛氭甯�) + public Byte alarmWaterMeterFault ; //澶栭儴娴侀噺璁℃晠闅� (1锛氭祦閲忚鏁呴殰鎶ヨ 0锛氭甯�) + public Byte alarmSteal ; //鍋锋按鎶ヨ (1锛氱粫寮�鎺у埗鍣ㄧ敤姘存姤璀� 0锛氭甯�) + public Byte alarmWaterMeterBreak ; //娴侀噺璁℃崯鍧忔姤璀� (1锛氭甯搁�氳浣嗙灛鏃朵负0鎶ヨ 0锛氭甯�) + public Byte alarmEleMeterFault ; //鐢佃〃鏁呴殰鎶ヨ (1锛氬拰鐢佃〃閫氳鏂垨鏁版嵁涓嶆甯� 0锛氭甯�) + public Byte alarm0MoneyRemain ; //鍓╀綑閲戦涓�0鍏虫车/闃� (1锛氬墿浣欓噾棰濅负0鎶ヨ 0锛氭甯�) + public Byte alarmInnerDoor ; //鎺у埗鍣ㄥ唴闂ㄦ姤璀� (1锛氬唴闂ㄦ墦寮�鎶ヨ 0锛氭甯�) + public Byte alarmOuterDoor ; //鎺у埗鍣ㄥ闂ㄦ姤璀� (1锛氬闂ㄦ墦寮�鎶ヨ 0锛氭甯�) + public Byte alarmEleMiss ; //浜ゆ祦缂洪」鎶ヨ (1锛氫笁鐩哥己椤规姤璀� 0锛氭甯�) + public Byte alarmEleExceed ; //浜ゆ祦杩囨祦鎶ヨ (1锛氫氦娴佽繃娴佹姤璀� 0锛氭甯�) + public Byte alarmEleLowVolt ; //涓夌浉鐢垫瑺鍘嬫姤璀� (1锛氭瑺鍘嬫姤璀� 0锛氭甯�) + public Byte stateIcEnable ; //IC鍗′娇鑳� (1銆両C鏈夊埛鍗℃敮鎸� 0锛氫笉鏀寔) + +} diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd65Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd65Vo.java index 5395ec4..8ce9a8d 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd65Vo.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd65Vo.java @@ -14,8 +14,8 @@ public Double waterRemain ;//鐢ㄦ埛鍓╀綑姘撮噺(鍗曚綅0.01m3) public Double thisEle ;//鏈浣跨敤鐢甸噺(鍗曚綅0.01搴�) public Double thisWater ;//鏈浣跨敤姘撮噺(鍗曚綅0.01绔嬫柟绫�) - public String rtuStartDt ;//鏈寮�濮嬫椂闂� (鍒嗘椂鏃ユ湀) - public String rtuEndDt ;//鏈缁撴潫鏃堕棿 (鍒嗘椂鏃ユ湀) + public String rtuStartDt ;//鏈寮�濮嬫椂闂� (yyyy-mm-dd HH:MM:SS) + public String rtuEndDt ;//鏈缁撴潫鏃堕棿 (yyyy-mm-dd HH:MM:SS) public Byte useWaterType ;//鐢ㄦ按鏂瑰紡锛�0x00:姝e父鍒峰崱寮�娉�/闃�鐢ㄦ按 0x01:骞冲彴杩滅▼寮�娉�/闃�鐢ㄦ按 0x02:鐢ㄦ埛杩滅▼寮�娉�/闃�鐢ㄦ按 0x03:娴嬭瘯鍗★紝0x04:鍏跺畠锛� public String toString(){ diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd80_5BVo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd80_5BVo.java index 879cf50..91e6a32 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd80_5BVo.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd80_5BVo.java @@ -4,7 +4,7 @@ //璁惧缁堢宸ヤ綔涓婃姤 + 鏌ヨ璁惧缁堢瀹炴椂鍊� @Data -public class DataCd80_5BVo { +public class DataCd80_5BVo extends AlarmVo { public String controllerType;//鎺у埗鍣ㄧ被鍨�: 01:娴嬫帶涓�浣撻榾锛�57:浜曠數鎺у埗鍣� public Integer projectNo ;//椤圭洰缂栧彿: @@ -46,24 +46,6 @@ CSQ鍊煎ぇ浜�18锛氳兘绋冲畾閫氫俊 */ public Integer csq ;//鎵嬫満淇″彿寮哄害 CSQ鍊硷紙锛� - - public Byte statePump ; //娉�/闃�鐘舵�� (1锛氬紑娉�/闃�锛�0锛氬叧娉�/闃�) - public Byte alarmWaterRemain ; //鍓╀綑姘撮噺鎶ヨ (1锛氬皬浜庢姤璀︿笂闄愭姤璀� 0锛氭甯�) - public Byte alarm0WaterRemain ; //鍓╀綑姘撮噺涓�0鍏虫车/闃� (1锛氬墿浣欐按閲忎负0鍏虫车 0锛氭甯�) - public Byte alarmExceedYear ; //骞村害瓒呴噰鎶ヨ (1锛氬勾鐢ㄦ按閲忓ぇ浜庨檺鍒舵按閲忔姤璀� 0锛氭甯�) - public Byte alarmWaterMeterFault ; //澶栭儴娴侀噺璁℃晠闅� (1锛氭祦閲忚鏁呴殰鎶ヨ 0锛氭甯�) - public Byte alarmSteal ; //鍋锋按鎶ヨ (1锛氱粫寮�鎺у埗鍣ㄧ敤姘存姤璀� 0锛氭甯�) - public Byte alarmWaterMeterBreak ; //娴侀噺璁℃崯鍧忔姤璀� (1锛氭甯搁�氳浣嗙灛鏃朵负0鎶ヨ 0锛氭甯�) - public Byte alarmEleMeterFault ; //鐢佃〃鏁呴殰鎶ヨ (1锛氬拰鐢佃〃閫氳鏂垨鏁版嵁涓嶆甯� 0锛氭甯�) - public Byte alarm0MoneyRemain ; //鍓╀綑閲戦涓�0鍏虫车/闃� (1锛氬墿浣欓噾棰濅负0鎶ヨ 0锛氭甯�) - public Byte alarmInnerDoor ; //鎺у埗鍣ㄥ唴闂ㄦ姤璀� (1锛氬唴闂ㄦ墦寮�鎶ヨ 0锛氭甯�) - public Byte alarmOuterDoor ; //鎺у埗鍣ㄥ闂ㄦ姤璀� (1锛氬闂ㄦ墦寮�鎶ヨ 0锛氭甯�) - public Byte alarmEleMiss ; //浜ゆ祦缂洪」鎶ヨ (1锛氫笁鐩哥己椤规姤璀� 0锛氭甯�) - public Byte alarmEleExceed ; //浜ゆ祦杩囨祦鎶ヨ (1锛氫氦娴佽繃娴佹姤璀� 0锛氭甯�) - public Byte alarmEleLowVolt ; //涓夌浉鐢垫瑺鍘嬫姤璀� (1锛氭瑺鍘嬫姤璀� 0锛氭甯�) - public Byte stateIcEnable ; //IC鍗′娇鑳� (1銆両C鏈夊埛鍗℃敮鎸� 0锛氫笉鏀寔) - - public String comName ;//鍛戒护鍚嶇О diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd81Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd81Vo.java index 665b22a..8e38ad8 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd81Vo.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd81Vo.java @@ -4,27 +4,11 @@ //璁惧缁堢闅忔満鑷姤 @Data -public class DataCd81Vo { +public class DataCd81Vo extends AlarmVo { public String controllerType;//鎺у埗鍣ㄧ被鍨�: 01:娴嬫帶涓�浣撻榾锛�57:浜曠數鎺у埗鍣� public Integer projectNo ;//椤圭洰缂栧彿: - - public Byte statePump ; //娉�/闃�鐘舵�� (1锛氬紑娉�/闃�锛�0锛氬叧娉�/闃�) - public Byte alarmWaterRemain ; //鍓╀綑姘撮噺鎶ヨ (1锛氬皬浜庢姤璀︿笂闄愭姤璀� 0锛氭甯�) - public Byte alarm0WaterRemain ; //鍓╀綑姘撮噺涓�0鍏虫车/闃� (1锛氬墿浣欐按閲忎负0鍏虫车 0锛氭甯�) - public Byte alarmExceedYear ; //骞村害瓒呴噰鎶ヨ (1锛氬勾鐢ㄦ按閲忓ぇ浜庨檺鍒舵按閲忔姤璀� 0锛氭甯�) - public Byte alarmWaterMeterFault ; //澶栭儴娴侀噺璁℃晠闅� (1锛氭祦閲忚鏁呴殰鎶ヨ 0锛氭甯�) - public Byte alarmSteal ; //鍋锋按鎶ヨ (1锛氱粫寮�鎺у埗鍣ㄧ敤姘存姤璀� 0锛氭甯�) - public Byte alarmWaterMeterBreak ; //娴侀噺璁℃崯鍧忔姤璀� (1锛氭甯搁�氳浣嗙灛鏃朵负0鎶ヨ 0锛氭甯�) - public Byte alarmEleMeterFault ; //鐢佃〃鏁呴殰鎶ヨ (1锛氬拰鐢佃〃閫氳鏂垨鏁版嵁涓嶆甯� 0锛氭甯�) - public Byte alarm0MoneyRemain ; //鍓╀綑閲戦涓�0鍏虫车/闃� (1锛氬墿浣欓噾棰濅负0鎶ヨ 0锛氭甯�) - public Byte alarmInnerDoor ; //鎺у埗鍣ㄥ唴闂ㄦ姤璀� (1锛氬唴闂ㄦ墦寮�鎶ヨ 0锛氭甯�) - public Byte alarmOuterDoor ; //鎺у埗鍣ㄥ闂ㄦ姤璀� (1锛氬闂ㄦ墦寮�鎶ヨ 0锛氭甯�) - public Byte alarmEleMiss ; //浜ゆ祦缂洪」鎶ヨ (1锛氫笁鐩哥己椤规姤璀� 0锛氭甯�) - public Byte alarmEleExceed ; //浜ゆ祦杩囨祦鎶ヨ (1锛氫氦娴佽繃娴佹姤璀� 0锛氭甯�) - public Byte alarmEleLowVolt ; //涓夌浉鐢垫瑺鍘嬫姤璀� (1锛氭瑺鍘嬫姤璀� 0锛氭甯�) - public Byte stateIcEnable ; //IC鍗′娇鑳� (1銆両C鏈夊埛鍗℃敮鎸� 0锛氫笉鏀寔) - + public String rtuDt ;//璁惧涓婃姤鐨勬棩鏈熸椂闂�(yyyy-mm-dd HH:MM:SS) public String toString(){ StringBuffer sb = new StringBuffer() ; @@ -35,6 +19,9 @@ sb.append(" 椤圭洰缂栧彿 : ") ; sb.append(projectNo == null?"鏈煡":projectNo) ; sb.append("\n") ; + sb.append(" 璁惧鏃堕挓 : ") ; + sb.append(rtuDt == null?"鏈煡":rtuDt) ; + sb.append("\n") ; sb.append(" 娉电姸鎬� : ") ; sb.append(statePump == null?"鏈煡":(statePump.byteValue()==1?"娉�/闃�寮�":(statePump.byteValue()==0?"娉�/闃�鍏�":"鏈煡"))) ; sb.append(" 鍓╀綑姘撮噺鎶ヨ : ") ; diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd83Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd83Vo.java index 4b52f90..f0e1586 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd83Vo.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd83Vo.java @@ -16,6 +16,7 @@ public Double waterUserTotalAmountDay ;// 褰撴棩鐢ㄦ埛鐢ㄦ按閲� public Double lossTotalAmountDay ;// 婕忔崯姘撮噺 public Double batteryVolt ;//鍚庡鐢垫睜鐢靛帇 + public Double rtuDt ;//涓婃姤鏃堕棿锛坹yyy-mm-dd HH锛� public String toString(){ StringBuffer sb = new StringBuffer() ; @@ -50,6 +51,9 @@ sb.append(" 鍚庡鐢垫睜鐢靛帇 : ") ; sb.append(batteryVolt == null?"鏈煡":batteryVolt) ; sb.append("\n") ; + sb.append(" 涓婃姤鏃堕棿 : ") ; + sb.append(rtuDt == null?"鏈煡":rtuDt) ; + sb.append("\n") ; return sb.toString() ; } diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd84Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd84Vo.java index 551f49d..ed4b50f 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd84Vo.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd84Vo.java @@ -4,7 +4,7 @@ //鍒峰崱寮�娉�/闃�涓婃姤 @Data -public class DataCd84Vo { +public class DataCd84Vo extends AlarmVo { public String controllerType;//鎺у埗鍣ㄧ被鍨� 01锛�0x01锛�:娴嬫帶涓�浣撻榾锛�57(0x57):浜曠數鎺у埗鍣� public Integer projectNo ;//鎺у埗鍣ㄧ被鍨� 0x01:娴嬫帶涓�浣撻榾锛�0x57:浜曠數鎺у埗鍣� @@ -50,6 +50,50 @@ sb.append(" 鐢ㄦ埛鍓╀綑姘撮噺 : ") ; sb.append(waterRemainUser == null?"鏈煡":waterRemainUser) ; sb.append("\n") ; + sb.append(" 娉电姸鎬� : ") ; + sb.append(statePump == null?"鏈煡":(statePump.byteValue()==1?"娉�/闃�寮�":(statePump.byteValue()==0?"娉�/闃�鍏�":"鏈煡"))) ; + sb.append(" 鍓╀綑姘撮噺鎶ヨ : ") ; + sb.append(alarmWaterRemain == null?"鏈煡":(alarmWaterRemain.byteValue()==1?"灏忎簬鎶ヨ涓婇檺":(alarmWaterRemain.byteValue()==0?"姝e父":"鏈煡"))) ; + sb.append("\n") ; + sb.append(" 鍓╀綑姘撮噺涓�0鍏虫车/闃� : ") ; + sb.append(alarm0WaterRemain == null?"鏈煡":(alarm0WaterRemain.byteValue()==1?"褰掗浂鍏虫车/闃�":(alarm0WaterRemain.byteValue()==0?"姝e父":"鏈煡"))) ; + sb.append("\n") ; + sb.append(" 骞村害瓒呴噰 : ") ; + sb.append(alarmExceedYear == null?"鏈煡":(alarmExceedYear.byteValue()==1?"鎶ヨ":(alarmExceedYear.byteValue()==0?"姝e父":"鏈煡"))) ; + sb.append("\n") ; + sb.append(" 澶栭儴娴侀噺璁℃晠闅� : ") ; + sb.append(alarmWaterMeterFault == null?"鏈煡":(alarmWaterMeterFault.byteValue()==1?"鎶ヨ":(alarmWaterMeterFault.byteValue()==0?"姝e父":"鏈煡"))) ; + sb.append("\n") ; + sb.append(" 鍋锋按 : ") ; + sb.append(alarmSteal == null?"鏈煡":(alarmSteal.byteValue()==1?"鎶ヨ":(alarmSteal.byteValue()==0?"姝e父":"鏈煡"))) ; + sb.append("\n") ; + sb.append(" 娴侀噺璁℃崯鍧� : ") ; + sb.append(alarmWaterMeterBreak == null?"鏈煡":(alarmWaterMeterBreak.byteValue()==1?"鎶ヨ":(alarmWaterMeterBreak.byteValue()==0?"姝e父":"鏈煡"))) ; + sb.append("\n") ; + sb.append(" 鐢佃〃鏁呴殰 : ") ; + sb.append(alarmEleMeterFault == null?"鏈煡":(alarmEleMeterFault.byteValue()==1?"鎶ヨ":(alarmEleMeterFault.byteValue()==0?"姝e父":"鏈煡"))) ; + sb.append("\n") ; + sb.append(" 鍓╀綑閲戦涓�0鍏虫车/闃� : ") ; + sb.append(alarm0MoneyRemain == null?"鏈煡":(alarm0MoneyRemain.byteValue()==1?"鎶ヨ":(alarm0MoneyRemain.byteValue()==0?"姝e父":"鏈煡"))) ; + sb.append("\n") ; + sb.append(" 鎺у埗鍣ㄥ唴闂� : ") ; + sb.append(alarmInnerDoor == null?"鏈煡":(alarmInnerDoor.byteValue()==1?"鎶ヨ":(alarmInnerDoor.byteValue()==0?"姝e父":"鏈煡"))) ; + sb.append("\n") ; + sb.append(" 鎺у埗鍣ㄥ闂� : ") ; + sb.append(alarmOuterDoor == null?"鏈煡":(alarmOuterDoor.byteValue()==1?"鎶ヨ":(alarmOuterDoor.byteValue()==0?"姝e父":"鏈煡"))) ; + sb.append("\n") ; + sb.append(" 浜ゆ祦缂洪」 : ") ; + sb.append(alarmEleMiss == null?"鏈煡":(alarmEleMiss.byteValue()==1?"鎶ヨ":(alarmEleMiss.byteValue()==0?"姝e父":"鏈煡"))) ; + sb.append("\n") ; + sb.append(" 浜ゆ祦杩囨祦 : ") ; + sb.append(alarmEleExceed == null?"鏈煡":(alarmEleExceed.byteValue()==1?"鎶ヨ":(alarmEleExceed.byteValue()==0?"姝e父":"鏈煡"))) ; + sb.append("\n") ; + sb.append(" 涓夌浉鐢垫瑺鍘� : ") ; + sb.append(alarmEleLowVolt == null?"鏈煡":(alarmEleLowVolt.byteValue()==1?"鎶ヨ":(alarmEleLowVolt.byteValue()==0?"姝e父":"鏈煡"))) ; + sb.append("\n") ; + sb.append(" IC鍗′娇鑳� : ") ; + sb.append(stateIcEnable == null?"鏈煡":(stateIcEnable.byteValue()==1?"鏀寔":(stateIcEnable.byteValue()==0?"涓嶆敮鎸�":"鏈煡"))) ; + sb.append("\n") ; return sb.toString() ; } diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd93_A3_85Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd93_A3_85Vo.java index 6504008..bad681a 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd93_A3_85Vo.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd93_A3_85Vo.java @@ -4,7 +4,7 @@ //骞冲彴/APP杩滅▼鍏抽棴姘存车/闃�闂� + 鍒峰崱鍏虫车/闃�涓婃姤 @Data -public class DataCd93_A3_85Vo { +public class DataCd93_A3_85Vo extends AlarmVo { public String controllerType;//鎺у埗鍣ㄧ被鍨� 01锛�0x01锛�:娴嬫帶涓�浣撻榾锛�57(0x57):浜曠數鎺у埗鍣� public Integer projectNo ;//鎺у埗鍣ㄧ被鍨� 0x01:娴嬫帶涓�浣撻榾锛�0x57:浜曠數鎺у埗鍣� @@ -23,24 +23,6 @@ public Double thisWater ;//鏈浣跨敤姘撮噺, 鍗曚綅0.01绔嬫柟绫� public Double thisMoney ;//鏈浣跨敤閲戦, 鍗曚綅0.01鍏� public Integer thisDuration;//鏈浣跨敤鏃堕棿闀�, 鍗曚綅锛氬垎閽� - - - public Byte statePump ; //娉�/闃�鐘舵�� (1锛氬紑娉�/闃�锛�0锛氬叧娉�/闃�) - public Byte alarmWaterRemain ; //鍓╀綑姘撮噺鎶ヨ (1锛氬皬浜庢姤璀︿笂闄愭姤璀� 0锛氭甯�) - public Byte alarm0WaterRemain ; //鍓╀綑姘撮噺涓�0鍏虫车/闃� (1锛氬墿浣欐按閲忎负0鍏虫车 0锛氭甯�) - public Byte alarmExceedYear ; //骞村害瓒呴噰鎶ヨ (1锛氬勾鐢ㄦ按閲忓ぇ浜庨檺鍒舵按閲忔姤璀� 0锛氭甯�) - public Byte alarmWaterMeterFault ; //澶栭儴娴侀噺璁℃晠闅� (1锛氭祦閲忚鏁呴殰鎶ヨ 0锛氭甯�) - public Byte alarmSteal ; //鍋锋按鎶ヨ (1锛氱粫寮�鎺у埗鍣ㄧ敤姘存姤璀� 0锛氭甯�) - public Byte alarmWaterMeterBreak ; //娴侀噺璁℃崯鍧忔姤璀� (1锛氭甯搁�氳浣嗙灛鏃朵负0鎶ヨ 0锛氭甯�) - public Byte alarmEleMeterFault ; //鐢佃〃鏁呴殰鎶ヨ (1锛氬拰鐢佃〃閫氳鏂垨鏁版嵁涓嶆甯� 0锛氭甯�) - public Byte alarm0MoneyRemain ; //鍓╀綑閲戦涓�0鍏虫车/闃� (1锛氬墿浣欓噾棰濅负0鎶ヨ 0锛氭甯�) - public Byte alarmInnerDoor ; //鎺у埗鍣ㄥ唴闂ㄦ姤璀� (1锛氬唴闂ㄦ墦寮�鎶ヨ 0锛氭甯�) - public Byte alarmOuterDoor ; //鎺у埗鍣ㄥ闂ㄦ姤璀� (1锛氬闂ㄦ墦寮�鎶ヨ 0锛氭甯�) - public Byte alarmEleMiss ; //浜ゆ祦缂洪」鎶ヨ (1锛氫笁鐩哥己椤规姤璀� 0锛氭甯�) - public Byte alarmEleExceed ; //浜ゆ祦杩囨祦鎶ヨ (1锛氫氦娴佽繃娴佹姤璀� 0锛氭甯�) - public Byte alarmEleLowVolt ; //涓夌浉鐢垫瑺鍘嬫姤璀� (1锛氭瑺鍘嬫姤璀� 0锛氭甯�) - public Byte stateIcEnable ; //IC鍗′娇鑳� (1銆両C鏈夊埛鍗℃敮鎸� 0锛氫笉鏀寔) - public String comName ;//鍛戒护鍚嶇О diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCdC2Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCdC2Vo.java index 6efe833..4cc96f8 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCdC2Vo.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCdC2Vo.java @@ -4,13 +4,14 @@ //寮�鍏虫按娉�/闃�闂ㄦ垚鍔�/澶辫触涓婃姤 @Data -public class DataCdC2Vo { +public class DataCdC2Vo extends AlarmVo { public String controllerType ;//鎺у埗鍣ㄧ被鍨�: 01:娴嬫帶涓�浣撻榾锛�57:浜曠數鎺у埗鍣� public Integer projectNo ;//椤圭洰缂栧彿: public Byte opType1 ;//鎿嶄綔鏂瑰紡锛�0:鍒峰崱寮�姘存车/闃�闂紱1:杩滅▼寮�姘存车/闃�闂紱2:APP寮�姘存车/闃�闂� public Byte opType2 ;//寮�鍚叧闂細0: 寮�鍚� -1:鍏抽棴 public Boolean success ;//鎵ц缁撴灉锛坱rue鎴愬姛, false澶辫触锛� + public String rutDt ;//璁惧鏃堕挓 public String toString(){ StringBuffer sb = new StringBuffer() ; @@ -27,6 +28,9 @@ sb.append(" 寮�鍚叧闂� : ") ; sb.append(opType2 == null?"鏈煡":(opType2.byteValue()==0?"寮�鍚按娉�/闃�闂�":(opType2.byteValue()==1?"鍏抽棴姘存车/闃�闂�":"鏈煡"))) ; sb.append("\n") ; + sb.append(" 璁惧鏃堕挓 : ") ; + sb.append(rutDt == null?"鏈煡":rutDt) ; + sb.append("\n") ; sb.append(" 鎵ц缁撴灉 : ") ; sb.append(success == null?"鏈煡":(success?"鎴愬姛":"澶辫触")) ; sb.append("\n") ; diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/ByteUtilUnsigned.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/ByteUtilUnsigned.java index eda37b9..f66c2ad 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/ByteUtilUnsigned.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/ByteUtilUnsigned.java @@ -1,6 +1,5 @@ package com.dy.common.util; -@SuppressWarnings("unuseed") public class ByteUtilUnsigned { /** * 澶х妯″紡銆婃暟鎹綆浣嶅湪鏁扮粍楂樺瓧鑺傘�� @@ -36,7 +35,7 @@ throw new Exception("int2Bytes鏃舵暟缁勮秺鐣�"); } } - + /** * 灏忕妯″紡銆婃暟鎹綆浣嶅湪鏁扮粍浣庡瓧鑺傘�� @@ -167,6 +166,90 @@ throw new Exception("byte2Int鏃舵暟缁勮秺鐣�"); } } + + + /** + * 灏忕妯″紡銆婃暟鎹綆浣嶅湪鏁扮粍浣庡瓧鑺傘�� + * 涓庢柟娉昩ytes2Int绠楁硶涓�鏍凤紝鍙槸鎶婇『搴忓弽杩囨潵 + * @param bs + * @return + */ + public static long bytes2Long_LE(byte[] bs, int startIndex, int endIndex) throws Exception { + boolean b = isOutOfArrLength(bs.length, endIndex); + if (!b) { + byte count = 0 ; + long s = 0; + long temp = 0 ; + for(int i = startIndex ; i <= endIndex; i++){ + temp = bs[i] & 0xFF ;// 鏁版嵁鐨勬渶浣庝綅鍦ㄤ綆瀛楄妭 + if(temp < 0){ + temp = Byte.MAX_VALUE * 2 + 1 + temp + 1 ; + } + if(count > 0){ + temp <<= count * 8; + } + count++ ; + s = s | temp ; + } + return s; + } else { + throw new Exception("bytes2Long_LE鏃舵暟缁勮秺鐣�"); + } + } + /** + * 澶х妯″紡銆婃暟鎹綆浣嶅湪鏁扮粍楂樺瓧鑺傘�� + * 鏃犵鍙穝hort绫诲瀷杞崲鎴�2浣峛yte鏁扮粍 + * java娌℃湁鏃犵鍙风煭鏁村瀷鏁版嵁锛屽彧鏈夋湁绗﹀彿鐭暣鏁帮紝鍙栧�艰寖鍥存槸-32768~32767 + * 鑻ユā鎷熸棤绗﹀彿鐭暣鍨嬫暟鎹紝鍙栧�艰寖鍥存槸0鍒�65535 锛屽凡缁忚秴鍑轰簡java鐨勬湁绗﹀彿鏁存暟涓婇檺锛屾墍浠ュ彧鑳界敤java鐨処nt鍨嬭〃绀烘棤绗﹀彿鏁存暟 + * @value bs byte[] + */ + public static long bytes2Long_BE(byte[] bs, int startIndex, int endIndex) throws Exception { + boolean b = isOutOfArrLength(bs.length, endIndex); + if (!b) { + int count = endIndex - startIndex ; + long s = 0; + long temp = 0 ; + for(int i = startIndex ; i <= endIndex ; i++){ + temp = bs[i] & 0xFF ;// 鏁版嵁鐨勬渶浣庝綅鍦ㄤ綆瀛楄妭 + if(temp < 0){ + temp = Byte.MAX_VALUE * 2 + 1 + temp + 1 ; + } + if(count > 0){ + temp <<= count * 8; + } + count-- ; + s = s | temp ; + } + return s; + } else { + throw new Exception("bytes2Long_LE鏃舵暟缁勮秺鐣�"); + } + } + +// public static long bytes2Int_BE(byte[] bs, int from) throws Exception { +// boolean b = isOutOfArrLength(bs.length, (from - 1) + 4); +// if (!b) { +// long s = 0; +// long s0 = bs[from + 0] & 0xFF ;// 鏁版嵁鐨勬渶楂樹綅鍦ㄤ綆瀛楄妭 +// long s1 = bs[from + 1] & 0xFF ; +// long s2 = bs[from + 2] & 0xFF ; +// long s3 = bs[from + 3] & 0xFF ; +// +// // 鏈�浣庝綅S3涓嶅彉 +// s0 <<= 24; +// s1 <<= 16; +// s2 <<= 8; +// s = s0 | s1 | s2 | s3; +// if(s < 0){ +// //s = Integer.MAX_VALUE -s ; +// s = Integer.MAX_VALUE * 2 + 1 + s + 1 ; +// } +// return s; +// } else { +// throw new Exception("byte2Int鏃舵暟缁勮秺鐣�"); +// } +// } + /** * 澶х妯″紡銆婃暟鎹綆浣嶅湪鏁扮粍楂樺瓧鑺傘�� * 鏃犵鍙穝hort绫诲瀷杞崲鎴�2浣峛yte鏁扮粍 @@ -280,7 +363,7 @@ throw new Exception("bytes2Short鏃舵暟缁勮秺鐣�"); } } - + /** * 1浣嶅瓧鑺傛暟缁勮浆鎹负鐭暣鍨� @@ -292,7 +375,7 @@ if (bs.length - 1 < index) { throw new Exception("byte2Short(byte[] bs, int index)鏃舵暟缁勮秺鐣�"); } else { - byte bv = (byte)(bs[index] & 0xff) ; + byte bv = (byte)(bs[index] & 0xff) ; short s = 0 ; if(bv < 0){ s = (short)(Byte.MAX_VALUE * 2 + 1 + bv + 1) ; @@ -322,7 +405,7 @@ bs[index] = Integer.valueOf(value & 0xff).byteValue() ; } } - + /** * 鍒ゆ柇鎵�鏈夊瓧鑺傛槸鍚︿负0xFF * @param bs 瀛楄妭鏁扮粍 @@ -343,7 +426,7 @@ /** * 鍒ゆ柇鏁扮粍涓嬫爣鏄惁瓒婄晫 - * + * * @value bsLength 鏁扮粍鎬婚暱搴� * @value toSite 鏁扮粍鍋忕Щ閲� * @return 缁撴灉 @@ -355,27 +438,34 @@ return true; } } - - /* public static void main(String[] args) throws Exception{ -// int d = 123456; -// byte[] bs = new byte[4] ; -// int2Bytes_BE(bs, d, 0) ; -// System.out.println(ByteUtil.bytes2Hex(bs, false)); -// long dd = bytes2Int_BE(bs, 0) ; -// System.out.println(dd); -// -// byte[] bb = new byte[1] ; -// bb[0] = (byte)255 ; -// short s = byte2Byte(bb, 0); -// System.out.println(s); - - byte[] bs = new byte[]{(byte)0x00, (byte)0x00, (byte)0x3A, (byte)0x88} ; - //byte[] bs = new byte[]{(byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff} ; - boolean flag = ByteUtilUnsigned.bytesIsAll0xFF(bs, 0, 4) ; - System.out.println(flag); - Long s = ByteUtilUnsigned.bytes2Int_BE(bs, 0); - System.out.println(s); + byte[] bs = new byte[]{(byte)0x38,(byte)0x1d,(byte)0x00,(byte)0x00,(byte)0x00} ; + Long lg1 = ByteUtilUnsigned.bytes2Long_LE(bs, 0, 4) ; + Long lg2 = ByteUtilUnsigned.bytes2Long_BE(bs, 0, 4) ; + System.out.println(lg1); + System.out.println(lg2); } - */ + +// public static void main(String[] args) throws Exception{ +//// int d = 123456; +//// byte[] bs = new byte[4] ; +//// int2Bytes_BE(bs, d, 0) ; +//// System.out.println(ByteUtil.bytes2Hex(bs, false)); +//// long dd = bytes2Int_BE(bs, 0) ; +//// System.out.println(dd); +//// +//// byte[] bb = new byte[1] ; +//// bb[0] = (byte)255 ; +//// short s = byte2Byte(bb, 0); +//// System.out.println(s); +// +// byte[] bs = new byte[]{(byte)0x00, (byte)0x00, (byte)0x3A, (byte)0x88} ; +// //byte[] bs = new byte[]{(byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff} ; +// boolean flag = ByteUtilUnsigned.bytesIsAll0xFF(bs, 0, 4) ; +// System.out.println(flag); +// Long s = ByteUtilUnsigned.bytes2Int_BE(bs, 0); +// System.out.println(s); +// +// +// } } diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkFindComResponse.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkFindComResponse.java new file mode 100644 index 0000000..1e6222b --- /dev/null +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkFindComResponse.java @@ -0,0 +1,32 @@ +package com.dy.rtuMw.server.rtuData.p206V202404; + +import com.dy.common.mw.protocol.Data; +import com.dy.rtuMw.server.rtuData.TaskSurpport; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +/** + * @Author liurunyu + * @Date 2024/5/8 14:18 + * @Description 璇嗗埆鍛戒护鍝嶅簲涓婃姤 + */ +public class TkFindComResponse extends TaskSurpport { + + private static final Logger log = LogManager.getLogger(TkFindComResponse.class.getName()) ; + + //绫籌D锛屼竴瀹氫笌Tree.xml閰嶇疆鏂囦欢涓厤缃竴鑷� + public static final String taskId = "TkFindComResponse" ; + + /** + * 鎵ц鑺傜偣浠诲姟 + * @param data 闇�瑕佸鐞嗙殑鏁版嵁 + */ + @Override + public void execute(Object data) { + Data d = (Data)data ; + if(d.getCommandId() != null && d.getCommandId().trim().equals("")){ + //鏃犲懡浠D + this.toNextTasks(data); + } + } +} diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkRtuDealCommandResponse.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkRtuDealCommandResponse.java new file mode 100644 index 0000000..77428d9 --- /dev/null +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkRtuDealCommandResponse.java @@ -0,0 +1,47 @@ +package com.dy.rtuMw.server.rtuData.p206V202404; + +import com.dy.common.mw.protocol.Data; +import com.dy.common.mw.protocol.p206V1_0_0.DataV1_0_1; +import com.dy.common.mw.protocol.p206V202404.DataV202404; +import com.dy.rtuMw.server.rtuData.TaskSurpport; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +/** + * @Author liurunyu + * @Date 2024/5/8 14:18 + * @Description 澶勭悊鍛戒护鍝嶅簲涓婃姤 + */ +public class TkRtuDealCommandResponse extends TaskSurpport { + + private static final Logger log = LogManager.getLogger(TkRtuDealCommandResponse.class.getName()) ; + + //绫籌D锛屼竴瀹氫笌Tree.xml閰嶇疆鏂囦欢涓厤缃竴鑷� + public static final String taskId = "TkRtuDealCommandResponse" ; + + /** + * 鎵ц鑺傜偣浠诲姟锛氬鐞嗗懡浠ゅ搷搴斾笂鎶� + * @param data 闇�瑕佸鐞嗙殑鏁版嵁 + */ + @Override + public void execute(Object data) { + Data d = (Data)data ; + Object protocolData = d.getSubData() ; + if(protocolData != null){ + DataV202404 dV202404 = (DataV202404)protocolData ; + if(dV202404 != null) { +// if (dV1_0_1 != null && dV1_0_1.dataCdC0Vo != null) { +// Object[] objs = this.getTaskResults(TkPreGenObjs.taskId) ; +// DbSv sv = (DbSv)objs[0] ; +// PrController controller = (PrController)objs[1] ; +// try{ +// this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), dV1_0_1, dV1_0_1.dataCdC0Vo) ; +// this.saveHistory(sv, controller, d.getRtuAddr(),dV1_0_1, dV1_0_1.dataCdC0Vo) ; +// }catch (Exception e){ +// log.error("淇濆瓨鎺у埗鍣ㄨ嚜鎶ユ暟鎹椂鍙戠敓寮傚父", e); +// } +// } + } + } + } +} diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/RtuDataDealTree.xml b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/RtuDataDealTree.xml index 4ad3351..e395dc9 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/RtuDataDealTree.xml +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/RtuDataDealTree.xml @@ -39,11 +39,6 @@ <!-- 璇嗗埆闈炲懡浠ゅ簲绛斾笂琛屾暟鎹� --> <task id="TkFindReport" name="璇嗗埆闈炲懡浠ゅ簲绛斾笂琛屾暟鎹�" enable="true" class="com.dy.rtuMw.server.rtuData.p206V202404.TkFindReport"> <task id="TkDealAlarmStatus" name="鎺у埗鍣ㄦ姤璀︿笌鐘舵�佹暟鎹�" enable="true" class="com.dy.rtuMw.server.rtuData.p206V202404.TkDealAlarmStatus" /> - <task id="TkDealAutoReport" name="鎺у埗鍣ㄨ嚜鎶ユ暟鎹紙鏁寸偣鎶ワ級" enable="true" class="com.dy.rtuMw.server.rtuData.p206V202404.TkDealAutoReport" /> - <task id="TkDealWorkReport" name="鎺у埗鍣ㄩ榾寮�宸ヤ綔涓婃姤" enable="true" class="com.dy.rtuMw.server.rtuData.p206V202404.TkDealWorkReport" /> - <task id="TkDealOpenValveReport" name="鎺у埗鍣ㄥ紑闃�涓婃姤" enable="true" class="com.dy.rtuMw.server.rtuData.p206V202404.TkDealOpenValveReport" /> - <task id="TkDealCloseValveReport" name="鎺у埗鍣ㄥ叧闃�涓婃姤" enable="true" class="com.dy.rtuMw.server.rtuData.p206V202404.TkDealCloseValveReport" /> - <task id="TkDealLoss" name="鎺у埗鍣ㄦ紡鎹熺粺璁★紙寰呮柊鍗忚鍑烘潵鍚庝慨鏀瑰疄鐜帮級" enable="true" class="com.dy.rtuMw.server.rtuData.p206V202404.TkDealLoss" /> </task> <!-- 璇嗗埆鍛戒护鍝嶅簲鏁版嵁 --> <task id="TkFindComResponse" name="璇嗗埆鍝嶅簲鍛戒护鏁版嵁" enable="true" class="com.dy.rtuMw.server.rtuData.p206V202404.TkFindComResponse"> -- Gitblit v1.8.0