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