liurunyu
2024-06-28 4fe7ea4fbdc0c45f14d1d8de77e3424f826ba909
1、靳总协议上行数据处理修改完善;
2、上行数据处理任务修改完善.
64个文件已修改
771 ■■■■ 已修改文件
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/CodeV1_0_1.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_6D_Down.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_81_Up.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_83_Up.java 109 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_84_Up.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_91_Down.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_97_Down.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_98_Down.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_99_Down.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_A0_Down.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/global/GlParse.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataAlarmVo.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCd84Vo.java 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataStateVo.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_15_Down.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_16_Down.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_22_Down.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_23_Down.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_24_Down.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_25_Down.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_26_Down.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_30_Down.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_50_Down.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_55_Down.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_56_Down.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_56_Up.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_5B_Down.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_5C_Up.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_68_Down.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_68_Up.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_83_Down.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_84_Down.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_84_Up.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_85_Down.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_85_Up.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_86_Down.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_87_Up.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_88_Down.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_88_Up.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_92_A2_Down.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_92_A2_Up.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_93_A3_Down.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_97_Down.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_98_Down.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_99_Down.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_9A_Down.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_9A_Up.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_9C_Down.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_C2_Down.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_C2_Up.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/ByteUtil.java 281 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/MD5.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmAlarmStateHistory.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmAlarmStateLast.java 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmOpenCloseValveLast.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmWorkReportHistory.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmWorkReportLast.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmAlarmStateHistoryMapper.xml 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmAlarmStateLastMapper.xml 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmWorkReportLastMapper.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealAlarmStatus.java 79 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealCloseValveReport.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealLoss.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealAlarmStatusV202404.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/CodeV1_0_1.java
@@ -29,10 +29,10 @@
    public static final String cd_69 = "69" ;//查询电池电压报警值
    public static final String cd_6A = "6A" ;//查询阀门堵转电流值
    public static final String cd_6B = "6B" ;//查询阀门超时时间
    public static final String cd_6D = "6D" ;//查询阶梯水价(未实现)
    public static final String cd_81 = "81" ;//随机自报报
    public static final String cd_83 = "83" ;//遥测站开关阀自报
    public static final String cd_84 = "84" ;//开阀工作报
    public static final String cd_6D = "6D" ;//查询阶梯水价
    public static final String cd_81 = "81" ;//随机自报报 ok
    public static final String cd_83 = "83" ;//遥测站开关阀自报 ok
    public static final String cd_84 = "84" ;//开阀工作报 ok
    public static final String cd_91 = "91" ;//清空历史记录
    public static final String cd_92 = "92" ;//遥控启动阀门
    public static final String cd_93 = "93" ;//遥控关闭阀门
@@ -42,7 +42,7 @@
    public static final String cd_99 = "99" ;//定时关阀开阀
    public static final String cd_A0 = "A0" ;//定量关阀开阀
    public static final String cd_B0 = "B0" ;//查询实时数据(未实现)
    public static final String cd_C0 = "C0" ;//遥测站整点上报实时数据
    public static final String cd_C0 = "C0" ;//遥测站整点上报实时数据 ok
    public static String getCodeName(String code) {
        String name = (code.equals(cd_02) ? "链路检测" :
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_6D_Down.java
@@ -7,7 +7,6 @@
import com.dy.common.mw.protocol.p206V1_0_0.ProtocolConstantV206V1_0_0;
import com.dy.common.mw.protocol.p206V1_0_0.parse.global.GlCreate;
import com.dy.common.util.ByteUtil;
import com.dy.common.util.ByteUtilUnsigned;
/**
 * @Author liurunyu
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_81_Up.java
@@ -92,10 +92,16 @@
        //报警数据
        cdData.alarmVo = GlParse.parseAlarm(bs, index) ;
        index += 2 ;
        if(bs.length == 28){
            //带瞬时流量
            index += 5 ;//瞬时流量
        }
        //状态数据
        cdData.stateVo = GlParse.parseState(bs, index) ;
        index += 2 ;
        index += 2 ;
        //控制器时钟
        cdData.rtuDt = GlParse.parseTp(bs, index) ;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_83_Up.java
@@ -101,9 +101,8 @@
        short index = ProtocolConstantV206V1_0_0.dataIndex + 1 ;
        //累计流量:5字节BCD码,取值范围0~99999999.99,单位为m3。
        cdData.totalAmount = 0.0D ;
        int tpInt = ByteUtil.BCD2Int_LE(bs, index, index + 4) ;
        cdData.totalAmount += tpInt/100.0 ;
        cdData.totalAmount = tpInt/100.0 ;
        index += 5 ;
        //用水户号数据格式:5字节BCD码低位在前高位在后。
@@ -111,13 +110,12 @@
        index += 5 ;
        //IC卡号格式:4字节HEX码低位在前高位在后。
        cdData.icCardAddr = ByteUtil.bytesToHex(bs, index, index + 3) ;
        cdData.icCardAddr = ByteUtil.bytes2Hex_LE(bs, false,  index, 4) ;
        index += 4 ;
        //用水户余额:用户余额4字节BCD码,取值范围0.00~999999.99,单位为元。
        cdData.remainMoney = 0.0D ;
        tpInt = ByteUtil.BCD2Int_LE(bs, index, index + 3) ;
        cdData.remainMoney += tpInt/100.0 ;
        cdData.remainMoney = tpInt/100.0 ;
        index += 4 ;
        //用水户用水开始时间:6字节BCD码,顺序是年月日时分秒,其中公元年=2000+年。
@@ -154,108 +152,53 @@
        short index = ProtocolConstantV206V1_0_0.dataIndex + 1 ;
        //累计流量:5字节BCD码,取值范围0~9999999999,单位为m3。
        cdData.totalAmount = 0.0D ;
        int tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ;
        index++ ;
        cdData.totalAmount += tpInt;
        tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ;
        index++ ;
        cdData.totalAmount += tpInt * 100.0 ;
        tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ;
        index++ ;
        cdData.totalAmount += tpInt * 10000.0 ;
        tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ;
        index++ ;
        cdData.totalAmount += tpInt * 1000000.0 ;
        tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ;
        index++ ;
        cdData.totalAmount += tpInt * 100000000.0 ;
        int tpInt = ByteUtil.BCD2Int_LE(bs, index, index + 4) ;
        cdData.totalAmount = tpInt/100.0 ;
        index += 5 ;
        //用水户号数据格式:5字节BCD码低位在前高位在后。
        cdData.icCardNo = ByteUtil.BCD2String_LE(bs, index, index + 4) ;
        index += 5 ;
        //IC卡号格式:4字节HEX码低位在前高位在后。
        cdData.closeDt = ByteUtil.bytesToHex(bs, index, index + 3) ;
        cdData.icCardAddr = ByteUtil.bytes2Hex_LE(bs, false,  index, 4) ;
        index += 4 ;
        //用水户余额:用户余额4字节BCD码,取值范围0.00~999999.99,单位为元。
        cdData.remainMoney = 0.0D ;
        tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ;
        index++ ;
        cdData.remainMoney += tpInt/100.0 ;
        tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ;
        index++ ;
        cdData.remainMoney += tpInt;
        tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ;
        index++ ;
        cdData.remainMoney += tpInt * 100.0 ;
        tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ;
        index++ ;
        cdData.remainMoney += tpInt * 10000.0 ;
        tpInt = ByteUtil.BCD2Int_LE(bs, index, index + 3) ;
        cdData.remainMoney = tpInt/100.0 ;
        index += 4 ;
        //用水户用水开始时间:6字节BCD码,顺序是年月日时分秒,其中公元年=2000+年。
        cdData.openDt = GlParse.parseTp(bs, index) ;
        index += 6 ;
        index += 6 ;
        //用水户用水结束时间:6字节BCD码,顺序是年月日时分秒,其中公元年=2000+年。
        cdData.closeDt = GlParse.parseTp(bs, index) ;
        index += 6 ;
        //用水户本次用水量:累计流量5字节BCD码,取值范围0~9999999999,单位为m3。
        cdData.thisAmount = 0.0D ;
        tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ;
        index++ ;
        cdData.thisAmount += tpInt/100.0 ;
        tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ;
        index++ ;
        cdData.thisAmount += tpInt ;
        tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ;
        index++ ;
        cdData.thisAmount += tpInt * 100.0 ;
        tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ;
        index++ ;
        cdData.thisAmount += tpInt * 10000.0 ;
        tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ;
        index++ ;
        cdData.thisAmount += tpInt * 1000000.0 ;
        tpInt = ByteUtil.BCD2Int_LE(bs, index, index + 4) ;
        cdData.thisAmount = tpInt/100.0 ;
        index += 5 ;
        //用水户本次消费金额:用户余额4字节BCD码,取值范围0.00~999999.99,单位为元。
        cdData.thisMoney = 0.0D ;
        tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ;
        index++ ;
        cdData.thisMoney += tpInt/100.0 ;
        tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ;
        index++ ;
        cdData.thisMoney += tpInt;
        tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ;
        index++ ;
        cdData.thisMoney += tpInt * 100.0 ;
        tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ;
        index++ ;
        cdData.thisMoney += tpInt * 10000.0 ;
        tpInt = ByteUtil.BCD2Int_LE(bs, index, index + 3) ;
        cdData.thisMoney = tpInt/100.0 ;
        index += 4 ;
        //用水户本次用水时长:用水时长2字节BCD码,取值范围0~9999,单位为分钟。
        cdData.thisTime = 0 ;
        tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ;
        index++ ;
        cdData.thisTime += tpInt;
        tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ;
        index++ ;
        cdData.thisTime += tpInt * 100 ;
        tpInt = ByteUtil.BCD2Int_LE(bs, index, index + 1) ;
        cdData.thisTime = tpInt;
        index += 2 ;
        cdData.priceType = bs[index] ;
        index++ ;
        cdData.price = 0.0D ;
        tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ;
        index++ ;
        cdData.price += tpInt/100.0 ;
        tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ;
        index++ ;
        cdData.price += tpInt;
        tpInt = ByteUtil.BCD2Int_LE(bs, index, index + 1) ;
        cdData.price = tpInt/100.0 ;
        index += 2 ;
        cdData.cardType = bs[index] ;
        index++ ;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_84_Up.java
@@ -88,35 +88,32 @@
        dV1.subData = cdData ;
        short index = ProtocolConstantV206V1_0_0.dataIndex ;
        //cdData.opType = bs[index] ;
        cdData.opType = bs[index] ;
        //index++ ;
        //cdData.cardType = bs[index] ;
        index++ ;
        cdData.cardType = bs[index] ;
        //index++ ;
        //cdData.cardAddr = ByteUtil.bytes2Hex(bs, false,  index, 4) ;
        index++ ;
        cdData.cardAddr = ByteUtil.bytes2Hex_LE(bs, false,  index, 4) ;
        //index += 4 ;
        index += 4 ;
        //用水户号数据格式:5字节BCD码低位在前高位在后。
        cdData.cardNo = ByteUtil.BCD2String_LE(bs, index, index + 4) ;
        index += 5 ;
        //用水户余额:用户余额4字节BCD码,取值范围0.00~999999.99,单位为元。
        cdData.remainMoney = 0.0D ;
        int tpInt = ByteUtil.BCD2Int_LE(bs, index, index + 3) ;
        cdData.remainMoney += tpInt/100.0 ;
        cdData.remainMoney = tpInt/100.0 ;
        index += 4 ;
        //累计流量:5字节BCD码,取值范围0~9999999999,单位为m3。
        cdData.totalAmount = 0.0D ;
        tpInt = ByteUtil.BCD2Int_LE(bs, index, index + 4) ;
        cdData.totalAmount += tpInt;
        cdData.totalAmount = tpInt/100.0;
        index += 5 ;
        //瞬时流量:5字节BCD码,取值范围0~9999999.999,单位为m3/h。
        cdData.instantAmount = 0.0D ;
        tpInt = ByteUtil.BCD2Int_LE(bs, index, index + 4) ;
        cdData.instantAmount += tpInt/1000.0 ;
        cdData.instantAmount = tpInt/1000.0 ;
        index += 5 ;
        cdData.alarmVo = GlParse.parseAlarm(bs, index) ;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_91_Down.java
@@ -7,7 +7,6 @@
import com.dy.common.mw.protocol.p206V1_0_0.ProtocolConstantV206V1_0_0;
import com.dy.common.mw.protocol.p206V1_0_0.parse.global.GlCreate;
import com.dy.common.util.ByteUtil;
import com.dy.common.util.ByteUtilUnsigned;
/**
 * @Author liurunyu
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_97_Down.java
@@ -10,7 +10,6 @@
import com.dy.common.mw.protocol.p206V1_0_0.downVos.Com97Vo;
import com.dy.common.mw.protocol.p206V1_0_0.parse.global.GlCreate;
import com.dy.common.util.ByteUtil;
import com.dy.common.util.ByteUtilUnsigned;
/**
 * @Author liurunyu
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_98_Down.java
@@ -7,11 +7,9 @@
import com.dy.common.mw.protocol.p206V1_0_0.CommonV1_0_1;
import com.dy.common.mw.protocol.p206V1_0_0.ParseParamsForDownV1_0_1;
import com.dy.common.mw.protocol.p206V1_0_0.ProtocolConstantV206V1_0_0;
import com.dy.common.mw.protocol.p206V1_0_0.downVos.Com97Vo;
import com.dy.common.mw.protocol.p206V1_0_0.downVos.Com98Vo;
import com.dy.common.mw.protocol.p206V1_0_0.parse.global.GlCreate;
import com.dy.common.util.ByteUtil;
import com.dy.common.util.ByteUtilUnsigned;
/**
 * @Author liurunyu
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_99_Down.java
@@ -7,7 +7,6 @@
import com.dy.common.mw.protocol.p206V1_0_0.CommonV1_0_1;
import com.dy.common.mw.protocol.p206V1_0_0.ParseParamsForDownV1_0_1;
import com.dy.common.mw.protocol.p206V1_0_0.ProtocolConstantV206V1_0_0;
import com.dy.common.mw.protocol.p206V1_0_0.downVos.Com97Vo;
import com.dy.common.mw.protocol.p206V1_0_0.downVos.Com99Vo;
import com.dy.common.mw.protocol.p206V1_0_0.parse.global.GlCreate;
import com.dy.common.util.ByteUtil;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_A0_Down.java
@@ -7,7 +7,6 @@
import com.dy.common.mw.protocol.p206V1_0_0.CommonV1_0_1;
import com.dy.common.mw.protocol.p206V1_0_0.ParseParamsForDownV1_0_1;
import com.dy.common.mw.protocol.p206V1_0_0.ProtocolConstantV206V1_0_0;
import com.dy.common.mw.protocol.p206V1_0_0.downVos.Com99Vo;
import com.dy.common.mw.protocol.p206V1_0_0.downVos.ComA0Vo;
import com.dy.common.mw.protocol.p206V1_0_0.parse.global.GlCreate;
import com.dy.common.util.ByteUtil;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/global/GlParse.java
@@ -34,7 +34,7 @@
        DataStateVo avo = new DataStateVo() ;
        byte b = bs[index] ;
        avo.icCard = (byte)((b & 0x4) >> 2) ;
        avo.working = (byte)((b & 0x10) >> 4) ;
        avo.valveState = (byte)((b & 0x10) >> 4) ;
        avo.powerType = (byte)((b & 0x40) >> 6) ;
        return avo ;
    }
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataAlarmVo.java
@@ -15,13 +15,13 @@
        str.append("         蓄电池电压:");
        str.append(batteryVolt==null?"":(batteryVolt==1?"报警":"正常"));
        str.append("\n");
        str.append("         漏损:");
        str.append("         漏损:     ");
        str.append(loss==null?"":(loss==1?"报警":"正常"));
        str.append("\n");
        str.append("         流量计故障:");
        str.append(meter==null?"":(meter==1?"报警":"正常"));
        str.append("\n");
        str.append("         阀门:");
        str.append("         阀门:     ");
        str.append(valve==null?"":(valve==1?"报警":"正常"));
        return str.toString() ;
    }
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCd84Vo.java
@@ -9,9 +9,9 @@
@Data
public class DataCd84Vo {
    //public Byte opType;//开关阀类型(1:刷卡开阀;2:刷卡关阀;3:中心站开阀;4:中心站关阀;5:欠费关阀;6:流量计故障关阀;7:紧急关闭;8:用户远程开阀;9:用户远程关阀;10:开关阀卡关阀;11:开关阀卡刷卡卡开阀;)
    //public Byte cardType ;//卡类型(1:用户卡;2:管理员卡;3:调试卡;4:开关阀卡;5:清空卡)
    //public String cardAddr ;//IC卡地址(8位字符)
    public Byte opType;//开关阀类型(1:刷卡开阀;2:刷卡关阀;3:中心站开阀;4:中心站关阀;5:欠费关阀;6:流量计故障关阀;7:紧急关闭;8:用户远程开阀;9:用户远程关阀;10:开关阀卡关阀;11:开关阀卡刷卡卡开阀;)
    public Byte cardType ;//卡类型(1:用户卡;2:管理员卡;3:调试卡;4:开关阀卡;5:清空卡)
    public String cardAddr ;//IC卡地址(8位字符)
    public String cardNo ;//IC卡编号
    public Double remainMoney ;//剩余金额:用户余额4字节BCD码,取值范围0.00~999999.99,单位为元
    public Double totalAmount; //累计流量(水表上的累计流量):5字节BCD码,取值范围0~9999999999,单位为m3。
@@ -24,15 +24,15 @@
    public String toString(){
        StringBuilder sb = new StringBuilder() ;
        sb.append("   终端开阀工作报:\n");
//        sb.append("      开阀类型:");
//        sb.append(opType==null?"未知": CommonV1_0_1.openCloseValveType(opType));
//        sb.append("\n");
//        sb.append("      IC卡类型:");
//        sb.append(cardType==null?"未知":CommonV1_0_1.icCardType(cardType)) ;
//        sb.append("\n");
//        sb.append("      IC卡地址:");
//        sb.append(cardAddr);
//        sb.append("\n");
        sb.append("      开阀类型:");
        sb.append(opType==null?"未知": CommonV1_0_1.openCloseValveType(opType));
        sb.append("\n");
        sb.append("      IC卡类型:");
        sb.append(cardType==null?"未知":CommonV1_0_1.icCardType(cardType)) ;
        sb.append("\n");
        sb.append("      IC卡地址:");
        sb.append(cardAddr);
        sb.append("\n");
        sb.append("      IC卡编号:");
        sb.append(cardNo);
        sb.append("\n");
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataStateVo.java
@@ -5,20 +5,20 @@
@Data
public class DataStateVo  {
    public Byte icCard;// IC卡功能
    public Byte working;//工作状态
    public Byte valveState;//阀门状态
    public Byte powerType ;//电源状态(0:220V供电,1:畜电池供电)
    public String toString(){
        StringBuilder str = new StringBuilder() ;
        str.append("      状态:\n");
        str.append("         IC 卡功能:");
        str.append(icCard ==null?"":(icCard ==1?"有效":"无效"));
        str.append("         IC卡功能:");
        str.append(icCard ==null?"":(icCard ==1?"有效(1)":"无效(0)"));
        str.append("\n");
        str.append("         工作状态:");
        str.append(working ==null?"":(working ==1?"启动":"停止"));
        str.append("         阀门状态:");
        str.append(valveState ==null?"":(valveState ==1?"关闭(1)":"打开(0)"));
        str.append("\n");
        str.append("         电源状态:");
        str.append(powerType==null?"":(powerType==1?"畜电池供电":"220V供电"));
        str.append(powerType==null?"":(powerType==1?"畜电池供电(1)":"220V供电(0)"));
        return str.toString() ;
    }
}
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_15_Down.java
@@ -5,7 +5,6 @@
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.CodeV202404;
import com.dy.common.mw.protocol.p206V202404.ParseParamsForDownV202404;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCd10Vo;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCd15Vo;
import com.dy.common.mw.protocol.p206V202404.parse.global.GlCreate;
import com.dy.common.util.ByteUtil;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_16_Down.java
@@ -8,8 +8,6 @@
import com.dy.common.mw.protocol.p206V202404.downVos.ComCd16Vo;
import com.dy.common.mw.protocol.p206V202404.parse.global.GlCreate;
import com.dy.common.util.ByteUtil;
import com.dy.common.util.ByteUtilUnsigned;
import com.dy.common.util.NumUtil;
@AnnotationCodeDown(ifAny={
        CodeV202404.cd_16
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_22_Down.java
@@ -5,11 +5,9 @@
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.CodeV202404;
import com.dy.common.mw.protocol.p206V202404.ParseParamsForDownV202404;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCd16Vo;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCd22Vo;
import com.dy.common.mw.protocol.p206V202404.parse.global.GlCreate;
import com.dy.common.util.ByteUtil;
import com.dy.common.util.ByteUtilUnsigned;
@AnnotationCodeDown(ifAny={
        CodeV202404.cd_22
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_23_Down.java
@@ -5,7 +5,6 @@
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.CodeV202404;
import com.dy.common.mw.protocol.p206V202404.ParseParamsForDownV202404;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCd21Vo;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCd23Vo;
import com.dy.common.mw.protocol.p206V202404.parse.global.GlCreate;
import com.dy.common.util.ByteUtil;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_24_Down.java
@@ -5,13 +5,10 @@
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.CodeV202404;
import com.dy.common.mw.protocol.p206V202404.ParseParamsForDownV202404;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCd23Vo;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCd24Vo;
import com.dy.common.mw.protocol.p206V202404.parse.global.GlCreate;
import com.dy.common.util.ByteUtil;
import com.dy.common.util.NumUtil;
import java.nio.charset.StandardCharsets;
@AnnotationCodeDown(ifAny={
        CodeV202404.cd_24
@@ -84,7 +81,7 @@
            bytes = ByteUtil.bytesMerge(bytes, bs) ;
            byte[] bsRg = ByteUtil.hexToBytes(cvo.registerNo) ;
            byte[] bsRg = ByteUtil.hex2Bytes(cvo.registerNo) ;
            bytes = ByteUtil.bytesMerge(bytes, bsRg) ;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_25_Down.java
@@ -1,11 +1,9 @@
package com.dy.common.mw.protocol.p206V202404.parse;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.CodeV202404;
import com.dy.common.mw.protocol.p206V202404.ParseParamsForDownV202404;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCdXyVo;
import com.dy.common.mw.protocol.p206V202404.parse.global.GlCreate;
import com.dy.common.util.ByteUtil;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_26_Down.java
@@ -5,7 +5,6 @@
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.CodeV202404;
import com.dy.common.mw.protocol.p206V202404.ParseParamsForDownV202404;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCd22Vo;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCd26Vo;
import com.dy.common.mw.protocol.p206V202404.parse.global.GlCreate;
import com.dy.common.util.ByteUtil;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_30_Down.java
@@ -1,11 +1,9 @@
package com.dy.common.mw.protocol.p206V202404.parse;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.CodeV202404;
import com.dy.common.mw.protocol.p206V202404.ParseParamsForDownV202404;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCdXyVo;
import com.dy.common.mw.protocol.p206V202404.parse.global.GlCreate;
import com.dy.common.util.ByteUtil;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_50_Down.java
@@ -1,11 +1,9 @@
package com.dy.common.mw.protocol.p206V202404.parse;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.CodeV202404;
import com.dy.common.mw.protocol.p206V202404.ParseParamsForDownV202404;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCdXyVo;
import com.dy.common.mw.protocol.p206V202404.parse.global.GlCreate;
import com.dy.common.util.ByteUtil;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_55_Down.java
@@ -6,7 +6,6 @@
import com.dy.common.mw.protocol.p206V202404.CodeV202404;
import com.dy.common.mw.protocol.p206V202404.ParseParamsForDownV202404;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCd55Vo;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCd65Vo;
import com.dy.common.mw.protocol.p206V202404.parse.global.GlCreate;
import com.dy.common.util.ByteUtil;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_56_Down.java
@@ -1,11 +1,9 @@
package com.dy.common.mw.protocol.p206V202404.parse;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.CodeV202404;
import com.dy.common.mw.protocol.p206V202404.ParseParamsForDownV202404;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCdXyVo;
import com.dy.common.mw.protocol.p206V202404.parse.global.GlCreate;
import com.dy.common.util.ByteUtil;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_56_Up.java
@@ -3,10 +3,8 @@
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.*;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd50Vo;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd56Vo;
import com.dy.common.util.ByteUtil;
import com.dy.common.util.ByteUtilUnsigned;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_5B_Down.java
@@ -1,11 +1,9 @@
package com.dy.common.mw.protocol.p206V202404.parse;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.CodeV202404;
import com.dy.common.mw.protocol.p206V202404.ParseParamsForDownV202404;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCdXyVo;
import com.dy.common.mw.protocol.p206V202404.parse.global.GlCreate;
import com.dy.common.util.ByteUtil;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_5C_Up.java
@@ -3,7 +3,6 @@
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.DataCd5CVo;
import com.dy.common.util.ByteUtil;
import org.apache.logging.log4j.LogManager;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_68_Down.java
@@ -1,11 +1,9 @@
package com.dy.common.mw.protocol.p206V202404.parse;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.CodeV202404;
import com.dy.common.mw.protocol.p206V202404.ParseParamsForDownV202404;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCdXyVo;
import com.dy.common.mw.protocol.p206V202404.parse.global.GlCreate;
import com.dy.common.util.ByteUtil;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_68_Up.java
@@ -5,7 +5,6 @@
import com.dy.common.mw.protocol.p206V202404.*;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd68Vo;
import com.dy.common.util.ByteUtil;
import com.dy.common.util.ByteUtilUnsigned;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_83_Down.java
@@ -4,7 +4,6 @@
import com.dy.common.mw.protocol.p206V202404.CodeV202404;
import com.dy.common.mw.protocol.p206V202404.ParseParamsForDownV202404;
import com.dy.common.mw.protocol.p206V202404.parse.global.GlCreate;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd02Vo;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd83Vo;
import com.dy.common.util.ByteUtil;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_84_Down.java
@@ -4,7 +4,6 @@
import com.dy.common.mw.protocol.p206V202404.CodeV202404;
import com.dy.common.mw.protocol.p206V202404.ParseParamsForDownV202404;
import com.dy.common.mw.protocol.p206V202404.parse.global.GlCreate;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd83Vo;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd84Vo;
import com.dy.common.util.ByteUtil;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_84_Up.java
@@ -4,7 +4,6 @@
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.DataCd83Vo;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd84Vo;
import com.dy.common.util.ByteUtil;
import org.apache.logging.log4j.LogManager;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_85_Down.java
@@ -5,7 +5,6 @@
import com.dy.common.mw.protocol.p206V202404.ParseParamsForDownV202404;
import com.dy.common.mw.protocol.p206V202404.parse.global.GlCreate;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd85Vo;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd93_A3Vo;
import com.dy.common.util.ByteUtil;
@AnnotationCodeDown(ifAny={
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_85_Up.java
@@ -5,7 +5,6 @@
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.DataCd85Vo;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd93_A3Vo;
import com.dy.common.util.ByteUtil;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_86_Down.java
@@ -5,7 +5,6 @@
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.CodeV202404;
import com.dy.common.mw.protocol.p206V202404.ParseParamsForDownV202404;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCd21Vo;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCd86Vo;
import com.dy.common.mw.protocol.p206V202404.parse.global.GlCreate;
import com.dy.common.util.ByteUtil;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_87_Up.java
@@ -2,7 +2,6 @@
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.*;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd86Vo;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd87Vo;
import com.dy.common.util.ByteUtil;
import com.dy.common.util.ByteUtilUnsigned;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_88_Down.java
@@ -1,12 +1,9 @@
package com.dy.common.mw.protocol.p206V202404.parse;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.CodeV202404;
import com.dy.common.mw.protocol.p206V202404.ParseParamsForDownV202404;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCd87Vo;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCdXyVo;
import com.dy.common.mw.protocol.p206V202404.parse.global.GlCreate;
import com.dy.common.util.ByteUtil;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_88_Up.java
@@ -2,7 +2,6 @@
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.*;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd87Vo;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd88Vo;
import com.dy.common.util.ByteUtil;
import com.dy.common.util.ByteUtilUnsigned;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_92_A2_Down.java
@@ -5,7 +5,6 @@
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.CodeV202404;
import com.dy.common.mw.protocol.p206V202404.ParseParamsForDownV202404;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCd22Vo;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCd92_A2Vo;
import com.dy.common.mw.protocol.p206V202404.parse.global.GlCreate;
import com.dy.common.util.ByteUtil;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_92_A2_Up.java
@@ -3,7 +3,6 @@
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.*;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCd92_A2Vo;
import com.dy.common.mw.protocol.p206V202404.parse.global.GlParse;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd92_A2Vo;
import com.dy.common.util.ByteUtil;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_93_A3_Down.java
@@ -5,7 +5,6 @@
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.CodeV202404;
import com.dy.common.mw.protocol.p206V202404.ParseParamsForDownV202404;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCd92_A2Vo;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCd93_A3Vo;
import com.dy.common.mw.protocol.p206V202404.parse.global.GlCreate;
import com.dy.common.util.ByteUtil;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_97_Down.java
@@ -1,11 +1,9 @@
package com.dy.common.mw.protocol.p206V202404.parse;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.CodeV202404;
import com.dy.common.mw.protocol.p206V202404.ParseParamsForDownV202404;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCdXyVo;
import com.dy.common.mw.protocol.p206V202404.parse.global.GlCreate;
import com.dy.common.util.ByteUtil;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_98_Down.java
@@ -1,11 +1,9 @@
package com.dy.common.mw.protocol.p206V202404.parse;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.CodeV202404;
import com.dy.common.mw.protocol.p206V202404.ParseParamsForDownV202404;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCdXyVo;
import com.dy.common.mw.protocol.p206V202404.parse.global.GlCreate;
import com.dy.common.util.ByteUtil;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_99_Down.java
@@ -1,11 +1,9 @@
package com.dy.common.mw.protocol.p206V202404.parse;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.CodeV202404;
import com.dy.common.mw.protocol.p206V202404.ParseParamsForDownV202404;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCdXyVo;
import com.dy.common.mw.protocol.p206V202404.parse.global.GlCreate;
import com.dy.common.util.ByteUtil;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_9A_Down.java
@@ -1,11 +1,9 @@
package com.dy.common.mw.protocol.p206V202404.parse;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.CodeV202404;
import com.dy.common.mw.protocol.p206V202404.ParseParamsForDownV202404;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCdXyVo;
import com.dy.common.mw.protocol.p206V202404.parse.global.GlCreate;
import com.dy.common.util.ByteUtil;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_9A_Up.java
@@ -3,7 +3,6 @@
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.*;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd9AVo;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCdXyVo;
import com.dy.common.util.ByteUtil;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_9C_Down.java
@@ -5,11 +5,9 @@
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.CodeV202404;
import com.dy.common.mw.protocol.p206V202404.ParseParamsForDownV202404;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCd15Vo;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCd9CVo;
import com.dy.common.mw.protocol.p206V202404.parse.global.GlCreate;
import com.dy.common.util.ByteUtil;
import com.dy.common.util.NumUtil;
@AnnotationCodeDown(ifAny={
        CodeV202404.cd_9C
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_C2_Down.java
@@ -4,7 +4,6 @@
import com.dy.common.mw.protocol.p206V202404.CodeV202404;
import com.dy.common.mw.protocol.p206V202404.ParseParamsForDownV202404;
import com.dy.common.mw.protocol.p206V202404.parse.global.GlCreate;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd02Vo;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCdC2Vo;
import com.dy.common.util.ByteUtil;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_C2_Up.java
@@ -4,7 +4,6 @@
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;
import org.apache.logging.log4j.LogManager;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/ByteUtil.java
@@ -892,47 +892,107 @@
     * @return 返回 String
     */
    public static String bytes2Hex(byte[] src, boolean hasBlank){
        StringBuilder stringBuilder = new StringBuilder("");
        if (src == null || src.length <= 0) {
            return null;
        }
        for (int i = 0; i < src.length; i++) {
            int v = src[i] & 0xFF;
            String str = Integer.toHexString(v);
            if (str.length() < 2) {
                str = "0" + str;
            }
            if (hasBlank) {
                if (i == 0) {
                    stringBuilder.append(str);
                } else {
                    stringBuilder.append(" " + str);
                }
            } else {
                stringBuilder.append(str);
            }
        }
        return stringBuilder.toString().toUpperCase(Locale.US);
        return bytes2Hex_BE(src, hasBlank) ;
    }
    /**
     * 字节数组转换成十六进制的字符串
     *
     * @param src byte[]
     * @param hasBlank 16进制是否用空格分隔
     * @return 返回 String
     */
    public static String bytes2Hex_BE(byte[] src, boolean hasBlank){
        StringBuilder stringBuilder = new StringBuilder("");
        if (src == null || src.length <= 0) {
            return null;
        }
        for (int i = 0; i < src.length; i++) {
            int v = src[i] & 0xFF;
            String str = Integer.toHexString(v);
            if (str.length() < 2) {
                str = "0" + str;
            }
            if (hasBlank) {
                if (i == 0) {
                    stringBuilder.append(str);
                } else {
                    stringBuilder.append(" " + str);
                }
            } else {
                stringBuilder.append(str);
            }
        }
        return stringBuilder.toString().toUpperCase(Locale.US);
    }
    /**
     * 字节数组转换成十六进制的字符串
     *
     * @param src byte[]
     * @param hasBlank 16进制是否用空格分隔
     * @return 返回 String
     */
    public static String bytes2Hex_LE(byte[] src, boolean hasBlank){
        StringBuilder stringBuilder = new StringBuilder("");
        if (src == null || src.length <= 0) {
            return null;
        }
        for (int i = src.length - 1 ; i >= 0; i--) {
            int v = src[i] & 0xFF;
            String str = Integer.toHexString(v);
            if (str.length() < 2) {
                str = "0" + str;
            }
            if (hasBlank) {
                if (i == 0) {
                    stringBuilder.append(str);
                } else {
                    stringBuilder.append(" " + str);
                }
            } else {
                stringBuilder.append(str);
            }
        }
        return stringBuilder.toString().toUpperCase(Locale.US);
    }
    /**
     * 字节数组转换成十六进制的字符串
     *
     * @param src byte[]
     * @param bs byte[]
     * @param hasBlank 16进制是否用空格分隔
     * @param from 开始位
     * @param len 长度
     * @return 返回 String
     */
    public static String bytes2Hex(byte[] src, boolean hasBlank, int from, int len){
        if (src == null || src.length <= 0 || src.length < from + len) {
    public static String bytes2Hex(byte[] bs, boolean hasBlank, int from, int len){
        if (bs == null || bs.length <= 0 || bs.length < from + len) {
            return null;
        }
        byte[] bb = new byte[len];
        for (int i = 0 ; i < len; i++) {
            bb[i] = src[from + i];
            bb[i] = bs[from + i];
        }
        return bytes2Hex(bb, hasBlank) ;
    }
    /**
     * 字节数组转换成十六进制的字符串
     *
     * @param bs byte[]
     * @param hasBlank 16进制是否用空格分隔
     * @param from 开始位
     * @param len 长度
     * @return 返回 String
     */
    public static String bytes2Hex_LE(byte[] bs, boolean hasBlank, int from, int len){
        if (bs == null || bs.length <= 0 || bs.length < from + len) {
            return null;
        }
        byte[] bb = new byte[len];
        for (int i = 0 ; i < len; i++) {
            bb[i] = bs[from + i];
        }
        return bytes2Hex_LE(bb, hasBlank) ;
    }
    /**
     * 十六进制转字节数组
     * @param hex the hex string
@@ -976,77 +1036,106 @@
    }
    private static final char[] HEX_CHAR = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};
    /**
     * 将byte[]转换为16进制字符串
     *
     * @param bytes 待转换byte[]
     * @return 返回 转换后的字符串
     */
    public static String bytesToHex(byte[] bytes) {
        //一个byte为8位,可用两个十六进制位标识
        char[] buf = new char[bytes.length * 2];
        int a = 0;
        int index = 0;
        for (byte b : bytes) { // 使用除与取余进行转换
            if (b < 0) {
                a = 256 + b;
            } else {
                a = b;
            }
            buf[index++] = HEX_CHAR[a / 16];
            buf[index++] = HEX_CHAR[a % 16];
        }
        return new String(buf);
    }
    /**
     * 将byte[]转换为16进制字符串
     *
     * @param bytes 待转换byte[]
     * @return 返回 转换后的字符串
     */
    public static String bytesToHex(byte[] bytes, int startIndex, int endIndex) {
        byte[] bs = new byte[endIndex - startIndex + 1] ;
        byte j = 0 ;
        for(int i = startIndex; i <= endIndex; i++){
            bs[j++] = bytes[i] ;
        }
        //一个byte为8位,可用两个十六进制位标识
        char[] buf = new char[bs.length * 2];
        int a = 0;
        int index = 0;
        for (byte b : bs) { // 使用除与取余进行转换
            if (b < 0) {
                a = 256 + b;
            } else {
                a = b;
            }
            buf[index++] = HEX_CHAR[a / 16];
            buf[index++] = HEX_CHAR[a % 16];
        }
        return new String(buf);
    }
    /**
     * 将16进制字符串转换为byte[]
     *
     * @param str 待转换字符串
     * @return 返回 转换后的byte[]
     */
    public static byte[] hexToBytes(String str) {
        if (str == null || "".equals(str.trim())) {
            return new byte[0];
        }
        byte[] bytes = new byte[str.length() / 2];
        for (int i = 0; i < str.length() / 2; i++) {
            String subStr = str.substring(i * 2, i * 2 + 2);
            bytes[i] = (byte) Integer.parseInt(subStr, 16);
        }
        return bytes;
    }
//    /**
//     * 将byte[]转换为16进制字符串
//     *
//     * @param bytes 待转换byte[]
//     * @return 返回 转换后的字符串
//     */
//    public static String bytesToHex(byte[] bytes) {
//        //一个byte为8位,可用两个十六进制位标识
//        char[] buf = new char[bytes.length * 2];
//        int a = 0;
//        int index = 0;
//        for (byte b : bytes) { // 使用除与取余进行转换
//            if (b < 0) {
//                a = 256 + b;
//            } else {
//                a = b;
//            }
//
//            buf[index++] = HEX_CHAR[a / 16];
//            buf[index++] = HEX_CHAR[a % 16];
//        }
//        return new String(buf);
//    }
//    /**
//     * 将byte[]转换为16进制字符串
//     *
//     * @param bytes 待转换byte[]
//     * @return 返回 转换后的字符串
//     */
//    public static String bytesToHex_BE(byte[] bytes, int startIndex, int endIndex) {
//        byte[] bs = new byte[endIndex - startIndex + 1] ;
//        byte j = 0 ;
//        for(int i = startIndex; i <= endIndex; i++){
//            bs[j++] = bytes[i] ;
//        }
//        //一个byte为8位,可用两个十六进制位标识
//        char[] buf = new char[bs.length * 2];
//        int a = 0;
//        int index = 0;
//        for (byte b : bs) { // 使用除与取余进行转换
//            if (b < 0) {
//                a = 256 + b;
//            } else {
//                a = b;
//            }
//
//            buf[index++] = HEX_CHAR[a / 16];
//            buf[index++] = HEX_CHAR[a % 16];
//        }
//        return new String(buf);
//    }
//
//    /**
//     * 将byte[]转换为16进制字符串
//     *
//     * @param bytes 待转换byte[]
//     * @return 返回 转换后的字符串
//     */
//    public static String bytesToHex_LE(byte[] bytes, int startIndex, int endIndex) {
//        byte[] bs = new byte[endIndex - startIndex + 1] ;
//        byte j = 0 ;
//        for(int i = endIndex; i >= startIndex; i--){
//            bs[j++] = bytes[i] ;
//        }
//        //一个byte为8位,可用两个十六进制位标识
//        char[] buf = new char[bs.length * 2];
//        int a = 0;
//        int index = 0;
//        for (byte b : bs) { // 使用除与取余进行转换
//            if (b < 0) {
//                a = 256 + b;
//            } else {
//                a = b;
//            }
//
//            buf[index++] = HEX_CHAR[a / 16];
//            buf[index++] = HEX_CHAR[a % 16];
//        }
//        return new String(buf);
//    }
//
//    /**
//     * 将16进制字符串转换为byte[]
//     *
//     * @param str 待转换字符串
//     * @return 返回 转换后的byte[]
//     */
//    public static byte[] hexToBytes(String str) {
//        if (str == null || "".equals(str.trim())) {
//            return new byte[0];
//        }
//
//        byte[] bytes = new byte[str.length() / 2];
//        for (int i = 0; i < str.length() / 2; i++) {
//            String subStr = str.substring(i * 2, i * 2 + 2);
//            bytes[i] = (byte) Integer.parseInt(subStr, 16);
//        }
//
//        return bytes;
//    }
    /**
     * Convert char to byte
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/MD5.java
@@ -1,7 +1,6 @@
package com.dy.common.util;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class MD5 {
    /**
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmAlarmStateHistory.java
@@ -5,7 +5,11 @@
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.dy.common.mw.protocol.p206V1_0_0.DataV1_0_1;
import com.dy.common.mw.protocol.p206V1_0_0.upVos.DataAlarmVo;
import com.dy.common.mw.protocol.p206V1_0_0.upVos.DataStateVo;
import com.dy.common.po.BaseEntity;
import com.dy.common.util.DateTime;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
@@ -151,4 +155,32 @@
     */
    public Byte alarmValve;
    /**
     * 供电方式(0: 220V,1:蓄电池)
     */
    public Byte powerType;
    public void valueFrom(DataV1_0_1 dV1_0_1, String rtuDt, DataAlarmVo alarmVo, DataStateVo stateVo) throws Exception{
        this.dt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt)   ;
        this.rtuDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(rtuDt)  ;
        this.valveState = stateVo==null?null:stateVo.valveState; //状态-阀门/泵(1打开、0关闭
        this.alarmRemainWater = (byte)0; //剩余水量报警    (1:小于报警上限报警 0:正常)
        this.alarm0WaterRemain = (byte)0; //剩余水量为0关泵/阀    (1:剩余水量为0关泵  0:正常)
        this.alarmExceedYear = (byte)0; //年用水量大于限制水量报警(1:报警 0:正常)
        this.alarmWaterMeterFault = alarmVo==null?null:alarmVo.meter; // 流量计故障(1:报警,0:正常)
        this.alarmLoss = alarmVo==null?null:alarmVo.loss; // 漏损(偷水)报警(1:报警, 0:正常)
        this.alarmWaterMeterBreak = (byte)0; //流量计损坏(正常通讯但瞬时为0)报警(1:报警,0:正常)
        this.alarmEleMeterFault = (byte)0; //电表故障报警(1:报警,0:正常)
        this.alarm0MoneyRemain = (byte)0; //剩余金额为0(1:报警,0:正常)
        this.alarmInnerDoor = (byte)0; //控制器内门报警(1:报警,0:正常)
        this.alarmOuterDoor = (byte)0; //控制器外门打开报警(1:报警,0:正常)
        this.alarmEleMiss = (byte)0; //交流缺项报警(1:报警,0:正常)
        this.alarmEleExceed = (byte)0; //交流过流报警(1:报警,0:正常)
        this.alarmEleLowVolt = (byte)0; //三相电欠压报警(1:报警,0:正常)
        this.stateIcEnable = stateVo==null?null:stateVo.icCard; //IC卡状态(1、有效,0:无效)
        this.alarmBatteryVolt = alarmVo==null?null:alarmVo.batteryVolt; //电池电压(1:报警,0:正常)
        this.alarmValve = alarmVo==null?null:alarmVo.valve; //阀门报警(1:报警,0:正常)
        this.powerType = stateVo==null?null:stateVo.powerType; //供电方式(0: 220V,1:蓄电池)
    }
}
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmAlarmStateLast.java
@@ -5,7 +5,11 @@
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.dy.common.mw.protocol.p206V1_0_0.DataV1_0_1;
import com.dy.common.mw.protocol.p206V1_0_0.upVos.DataAlarmVo;
import com.dy.common.mw.protocol.p206V1_0_0.upVos.DataStateVo;
import com.dy.common.po.BaseEntity;
import com.dy.common.util.DateTime;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
@@ -67,7 +71,7 @@
    public Date rtuDt;
    /**
     * 状态-阀门/泵(1打开、0关闭)
     * 状态-阀门/泵(0打开、1关闭)
     */
    public Byte valveState;
@@ -151,4 +155,58 @@
     */
    public Byte alarmValve;
    /**
     * 供电方式(0: 220V,1:蓄电池)
     */
    public Byte powerType;
    public void valueFrom(DataV1_0_1 dV1_0_1, String rtuDt, DataAlarmVo alarmVo, DataStateVo stateVo) throws Exception{
        this.dt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt)   ;
        this.rtuDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(rtuDt)  ;
        this.valveState = stateVo==null?null:stateVo.valveState; //状态-阀门/泵(1打开、0关闭
        this.alarmRemainWater = (byte)0; //剩余水量报警    (1:小于报警上限报警 0:正常)
        this.alarm0WaterRemain = (byte)0; //剩余水量为0关泵/阀    (1:剩余水量为0关泵  0:正常)
        this.alarmExceedYear = (byte)0; //年用水量大于限制水量报警(1:报警 0:正常)
        this.alarmWaterMeterFault = alarmVo==null?null:alarmVo.meter; // 流量计故障(1:报警,0:正常)
        this.alarmLoss = alarmVo==null?null:alarmVo.loss; // 漏损(偷水)报警(1:报警, 0:正常)
        this.alarmWaterMeterBreak = (byte)0; //流量计损坏(正常通讯但瞬时为0)报警(1:报警,0:正常)
        this.alarmEleMeterFault = (byte)0; //电表故障报警(1:报警,0:正常)
        this.alarm0MoneyRemain = (byte)0; //剩余金额为0(1:报警,0:正常)
        this.alarmInnerDoor = (byte)0; //控制器内门报警(1:报警,0:正常)
        this.alarmOuterDoor = (byte)0; //控制器外门打开报警(1:报警,0:正常)
        this.alarmEleMiss = (byte)0; //交流缺项报警(1:报警,0:正常)
        this.alarmEleExceed = (byte)0; //交流过流报警(1:报警,0:正常)
        this.alarmEleLowVolt = (byte)0; //三相电欠压报警(1:报警,0:正常)
        this.stateIcEnable = stateVo==null?null:stateVo.icCard; //IC卡状态(1、有效,0:无效)
        this.alarmBatteryVolt = alarmVo==null?null:alarmVo.batteryVolt; //电池电压(1:报警,0:正常)
        this.alarmValve = alarmVo==null?null:alarmVo.valve; //阀门报警(1:报警,0:正常)
        this.powerType = stateVo==null?null:stateVo.powerType; //供电方式(0: 220V,1:蓄电池)
    }
    public void updateFrom(DataV1_0_1 dV1_0_1, String rtuDt, DataAlarmVo alarmVo, DataStateVo stateVo) throws Exception{
        this.dt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt) ;
        this.rtuDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(rtuDt) ;
        if(alarmVo != null){
            this.alarmBatteryVolt = alarmVo.batteryVolt ;
            this.alarmLoss = alarmVo.loss ;
            this.alarmWaterMeterBreak = alarmVo.meter ;
            this.alarmValve = alarmVo.valve ;
        }/*else{
            this.alarmBatteryVolt = null ;
            this.alarmLoss = null ;
            this.alarmWaterMeterBreak = null ;
            this.alarmValve = null ;
        }*/
        if(stateVo != null){
            this.stateIcEnable = stateVo.icCard ;
            this.valveState = stateVo.valveState;
            this.powerType = stateVo.powerType;
            //this.valveState = stateVo.valve ;
        }/*else{
            this.stateIcEnable = null ;
            this.valveState = null ;
            this.powerType = null ;
            //this.valveState = null ;
        }*/
    }
}
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmOpenCloseValveLast.java
@@ -67,7 +67,7 @@
    /**
     * 开阀数据接收日期时间
     */
    @Schema(description = "数据接收日期时间", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    @Schema(description = "开阀数据接收日期时间", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    public Date opDt;
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmWorkReportHistory.java
@@ -260,7 +260,7 @@
        this.dt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt);
        this.rtuDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(cdData.rtuDt);
        //this.orderNo = cdData.orderNo ;
        //this.icCardAddr = cdData.icCardAddr ;
        this.icCardAddr = cdData.cardAddr ;
        this.icCardNo = cdData.cardNo ;
        //this.waterLevel = cdData.waterLevel ;
        //this.waterPress = cdData.waterPress ;
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmWorkReportLast.java
@@ -259,7 +259,7 @@
        this.dt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt);
        this.rtuDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(cdData.rtuDt);
        //this.orderNo = cdData.orderNo ;
        //this.icCardAddr = cdData.icCardAddr ;
        this.icCardAddr = cdData.cardAddr ;
        this.icCardNo = cdData.cardNo ;
        //this.waterLevel = cdData.waterLevel ;
        //this.waterPress = cdData.waterPress ;
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmAlarmStateHistoryMapper.xml
@@ -27,13 +27,14 @@
    <result column="state_ic_enable" jdbcType="TINYINT" property="stateIcEnable" />
    <result column="alarm_battery_volt" jdbcType="TINYINT" property="alarmBatteryVolt" />
    <result column="alarm_valve" jdbcType="TINYINT" property="alarmValve" />
    <result column="power_type" jdbcType="TINYINT" property="powerType" />
  </resultMap>
  <sql id="Base_Column_List">
    <!--@mbg.generated-->
    id, controller_id, intake_id, rtu_addr, dt, rtu_dt, valve_state, alarm_remain_water, 
    alarm0_water_remain, alarm_exceed_year, alarm_water_meter_fault, alarm_loss, alarm_water_meter_break, 
    alarm_ele_meter_fault, alarm0_money_remain, alarm_inner_door, alarm_outer_door, alarm_ele_miss, 
    alarm_ele_exceed, alarm_ele_low_volt, state_ic_enable,alarm_battery_volt,alarm_valve
    alarm_ele_exceed, alarm_ele_low_volt, state_ic_enable,alarm_battery_volt,alarm_valve,power_type
  </sql>
  <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
    <!--@mbg.generated-->
@@ -56,7 +57,7 @@
      alarm_loss, alarm_water_meter_break, alarm_ele_meter_fault, 
      alarm0_money_remain, alarm_inner_door, alarm_outer_door, 
      alarm_ele_miss, alarm_ele_exceed, alarm_ele_low_volt, 
      state_ic_enable,alarm_battery_volt,alarm_valve)
      state_ic_enable,alarm_battery_volt,alarm_valve,power_type)
    values (#{id,jdbcType=BIGINT}, #{controllerId,jdbcType=BIGINT}, #{intakeId,jdbcType=BIGINT}, 
      #{rtuAddr,jdbcType=VARCHAR}, #{dt,jdbcType=TIMESTAMP}, #{rtuDt,jdbcType=TIMESTAMP}, 
      #{valveState,jdbcType=TINYINT}, #{alarmRemainWater,jdbcType=TINYINT}, #{alarm0WaterRemain,jdbcType=TINYINT}, 
@@ -64,7 +65,8 @@
      #{alarmLoss,jdbcType=TINYINT}, #{alarmWaterMeterBreak,jdbcType=TINYINT}, #{alarmEleMeterFault,jdbcType=TINYINT}, 
      #{alarm0MoneyRemain,jdbcType=TINYINT}, #{alarmInnerDoor,jdbcType=TINYINT}, #{alarmOuterDoor,jdbcType=TINYINT}, 
      #{alarmEleMiss,jdbcType=TINYINT}, #{alarmEleExceed,jdbcType=TINYINT}, #{alarmEleLowVolt,jdbcType=TINYINT}, 
      #{stateIcEnable,jdbcType=TINYINT}, #{alarmBatteryVolt,jdbcType=TINYINT}, #{alarmValve,jdbcType=TINYINT})
      #{stateIcEnable,jdbcType=TINYINT}, #{alarmBatteryVolt,jdbcType=TINYINT}, #{alarmValve,jdbcType=TINYINT},
      #{powerType,jdbcType=TINYINT})
  </insert>
  <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmAlarmStateHistory">
    <!--@mbg.generated-->
@@ -139,6 +141,9 @@
      <if test="alarmValve != null">
        alarm_valve,
      </if>
      <if test="powerType != null">
        power_type,
      </if>
    </trim>
    <trim prefix="values (" suffix=")" suffixOverrides=",">
      <if test="id != null">
@@ -209,6 +214,9 @@
      </if>
      <if test="alarmValve != null">
        #{alarmValve,jdbcType=TINYINT},
      </if>
     <if test="powerType != null">
        #{powerType,jdbcType=TINYINT},
      </if>
    </trim>
  </insert>
@@ -282,6 +290,9 @@
     <if test="alarmValve != null">
        alarm_valve = #{alarmValve,jdbcType=TINYINT},
      </if>
    <if test="powerType != null">
        power_type = #{powerType,jdbcType=TINYINT},
      </if>
    </set>
    where id = #{id,jdbcType=BIGINT}
  </update>
@@ -310,6 +321,7 @@
      state_ic_enable = #{stateIcEnable,jdbcType=TINYINT},
      alarm_battery_volt = #{alarmBatteryVolt,jdbcType=TINYINT},
      alarm_valve = #{alarmValve,jdbcType=TINYINT},
      power_type = #{powerType,jdbcType=TINYINT}
    where id = #{id,jdbcType=BIGINT}
  </update>
</mapper>
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmAlarmStateLastMapper.xml
@@ -27,13 +27,14 @@
    <result column="state_ic_enable" jdbcType="TINYINT" property="stateIcEnable" />
    <result column="alarm_battery_volt" jdbcType="TINYINT" property="alarmBatteryVolt" />
    <result column="alarm_valve" jdbcType="TINYINT" property="alarmValve" />
    <result column="power_type" jdbcType="TINYINT" property="alarmValve" />
  </resultMap>
  <sql id="Base_Column_List">
    <!--@mbg.generated-->
    id, controller_id, intake_id, rtu_addr, dt, rtu_dt, valve_state, alarm_remain_water,
    alarm0_water_remain, alarm_exceed_year, alarm_water_meter_fault, alarm_loss, alarm_water_meter_break,
    alarm_ele_meter_fault, alarm0_money_remain, alarm_inner_door, alarm_outer_door, alarm_ele_miss, 
    alarm_ele_exceed, alarm_ele_low_volt, state_ic_enable,alarm_battery_volt,alarm_valve
    alarm_ele_exceed, alarm_ele_low_volt, state_ic_enable,alarm_battery_volt,alarm_valve,power_type
  </sql>
  <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
    <!--@mbg.generated-->
@@ -63,7 +64,7 @@
      alarm_loss, alarm_water_meter_break, alarm_ele_meter_fault, 
      alarm0_money_remain, alarm_inner_door, alarm_outer_door, 
      alarm_ele_miss, alarm_ele_exceed, alarm_ele_low_volt, 
      state_ic_enable,alarm_battery_volt,alarm_valve)
      state_ic_enable,alarm_battery_volt,alarm_valve,power_type)
    values (#{id,jdbcType=BIGINT}, #{controllerId,jdbcType=BIGINT}, #{intakeId,jdbcType=BIGINT}, 
      #{rtuAddr,jdbcType=VARCHAR}, #{dt,jdbcType=TIMESTAMP}, #{rtuDt,jdbcType=TIMESTAMP}, 
      #{valveState,jdbcType=TINYINT}, #{alarmRemainWater,jdbcType=TINYINT}, #{alarm0WaterRemain,jdbcType=TINYINT}, 
@@ -71,7 +72,8 @@
      #{alarmLoss,jdbcType=TINYINT}, #{alarmWaterMeterBreak,jdbcType=TINYINT}, #{alarmEleMeterFault,jdbcType=TINYINT}, 
      #{alarm0MoneyRemain,jdbcType=TINYINT}, #{alarmInnerDoor,jdbcType=TINYINT}, #{alarmOuterDoor,jdbcType=TINYINT}, 
      #{alarmEleMiss,jdbcType=TINYINT}, #{alarmEleExceed,jdbcType=TINYINT}, #{alarmEleLowVolt,jdbcType=TINYINT},
      #{stateIcEnable,jdbcType=TINYINT}, #{alarmBatteryVolt,jdbcType=TINYINT}, #{alarmValve,jdbcType=TINYINT})
      #{stateIcEnable,jdbcType=TINYINT}, #{alarmBatteryVolt,jdbcType=TINYINT}, #{alarmValve,jdbcType=TINYINT},
      #{powerType,jdbcType=TINYINT})
  </insert>
  <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmAlarmStateLast">
    <!--@mbg.generated-->
@@ -146,6 +148,9 @@
     <if test="alarmValve != null">
        alarm_valve,
      </if>
     <if test="powerType != null">
        power_type,
      </if>
    </trim>
    <trim prefix="values (" suffix=")" suffixOverrides=",">
      <if test="id != null">
@@ -216,6 +221,9 @@
      </if>
     <if test="alarmValve != null">
        #{alarmValve,jdbcType=TINYINT},
      </if>
     <if test="powerType != null">
        #{powerType,jdbcType=TINYINT},
      </if>
    </trim>
  </insert>
@@ -289,6 +297,9 @@
      <if test="alarmValve != null">
        alarm_valve = #{alarmValve,jdbcType=TINYINT},
      </if>
      <if test="powerType != null">
        power_type = #{powerType,jdbcType=TINYINT},
      </if>
    </set>
    where id = #{id,jdbcType=BIGINT}
  </update>
@@ -317,6 +328,7 @@
      state_ic_enable = #{stateIcEnable,jdbcType=TINYINT},
      alarm_battery_volt = #{alarmBatteryVolt,jdbcType=TINYINT},
      alarm_valve = #{alarmValve,jdbcType=TINYINT},
      power_type = #{powerType,jdbcType=TINYINT}
    where id = #{id,jdbcType=BIGINT}
  </update>
</mapper>
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmWorkReportLastMapper.xml
@@ -407,4 +407,11 @@
      water_meter_work_volt = #{waterMeterWorkVolt,jdbcType=FLOAT}
    where id = #{id,jdbcType=BIGINT}
  </update>
    <select id="selectByRtuAddr" parameterType="java.lang.String" resultMap="BaseResultMap">
        <!--@mbg.generated-->
        select
        <include refid="Base_Column_List" />
        from rm_work_report_last
        where rtu_addr = #{rtuAddr,jdbcType=VARCHAR}
    </select>
</mapper>
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealAlarmStatus.java
@@ -87,28 +87,11 @@
    private void saveOrUpdateLast(DbSv sv, PrController controller, String rtuAddr, String rtuDt, DataV1_0_1 dV1_0_1, DataAlarmVo alarmVo, DataStateVo stateVo) throws Exception {
        RmAlarmStateLast po = sv.getRmAlarmStateLast(rtuAddr) ;
        if(po == null){
            po = new RmAlarmStateLast(null, controller==null?null:controller.getId(), controller==null?null:controller.getIntakeId(),
                    rtuAddr,
                    DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt),
                    DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(rtuDt),
                    stateVo==null?null:stateVo.working,//状态-阀门/泵(1打开、0关闭)
                    (byte)0,//剩余水量报警    (1:小于报警上限报警 0:正常)
                    (byte)0,//剩余水量为0关泵/阀    (1:剩余水量为0关泵  0:正常)
                    (byte)0,//年用水量大于限制水量报警(1:报警 0:正常)
                    alarmVo==null?null:alarmVo.meter,// 流量计故障(1:报警,0:正常)
                    alarmVo==null?null:alarmVo.loss,// 漏损(偷水)报警(1:报警, 0:正常)
                    (byte)0,//流量计损坏(正常通讯但瞬时为0)报警(1:报警,0:正常)
                    (byte)0,//电表故障报警(1:报警,0:正常)
                    (byte)0,//剩余金额为0(1:报警,0:正常)
                    (byte)0,//控制器内门报警(1:报警,0:正常)
                    (byte)0,//控制器外门打开报警(1:报警,0:正常)
                    (byte)0,//交流缺项报警(1:报警,0:正常)
                    (byte)0,//交流过流报警(1:报警,0:正常)
                    (byte)0,//三相电欠压报警(1:报警,0:正常)
                    stateVo==null?null:stateVo.icCard,//IC卡状态(1、有效,0:无效) ;
                    alarmVo==null?null:alarmVo.batteryVolt,//电池电压(1:报警,0:正常)
                    alarmVo==null?null:alarmVo.valve//阀门报警(1:报警,0:正常)
            );
            po = new RmAlarmStateLast();
            po.controllerId = controller==null?null:controller.getId() ;
            po.intakeId = controller==null?null:controller.getIntakeId() ;
            po.rtuAddr = rtuAddr ;
            po.valueFrom(dV1_0_1, rtuDt, alarmVo, stateVo);
            sv.saveRmAlarmStateLast(po) ;
        }else{
            po = this.update(controller, po, rtuDt, dV1_0_1, alarmVo, stateVo) ;
@@ -126,28 +109,11 @@
     * @param stateVo 状态对象
     */
    private void saveHistory(DbSv sv, PrController controller, String rtuAddr, String rtuDt, DataV1_0_1 dV1_0_1, DataAlarmVo alarmVo, DataStateVo stateVo) throws Exception {
        RmAlarmStateHistory po = new RmAlarmStateHistory(null, controller==null?null:controller.getId(), controller==null?null:controller.getIntakeId(),
                rtuAddr,
                DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt),
                DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(rtuDt),
                stateVo==null?null:stateVo.working,//状态-阀门/泵(1打开、0关闭)
                (byte)0,//剩余水量报警    (1:小于报警上限报警 0:正常)
                (byte)0,//剩余水量为0关泵/阀    (1:剩余水量为0关泵  0:正常)
                (byte)0,//年用水量大于限制水量报警(1:报警 0:正常)
                alarmVo==null?null:alarmVo.meter,// 流量计故障(1:报警,0:正常)
                alarmVo==null?null:alarmVo.loss,// 漏损(偷水)报警(1:报警, 0:正常)
                (byte)0,//流量计损坏(正常通讯但瞬时为0)报警(1:报警,0:正常)
                (byte)0,//电表故障报警(1:报警,0:正常)
                (byte)0,//剩余金额为0(1:报警,0:正常)
                (byte)0,//控制器内门报警(1:报警,0:正常)
                (byte)0,//控制器外门打开报警(1:报警,0:正常)
                (byte)0,//交流缺项报警(1:报警,0:正常)
                (byte)0,//交流过流报警(1:报警,0:正常)
                (byte)0,//三相电欠压报警(1:报警,0:正常)
                stateVo==null?null:stateVo.icCard,//IC卡状态(1、有效,0:无效) ;
                alarmVo==null?null:alarmVo.batteryVolt,//电池电压(1:报警,0:正常)
                alarmVo==null?null:alarmVo.valve//阀门报警(1:报警,0:正常)
        );
        RmAlarmStateHistory po = new RmAlarmStateHistory() ;
        po.controllerId = controller==null?null:controller.getId() ;
        po.intakeId = controller==null?null:controller.getIntakeId() ;
        po.rtuAddr = rtuAddr ;
        po.valueFrom(dV1_0_1, rtuDt, alarmVo, stateVo);
        sv.saveRmAlarmStateHistory(po) ;
    }
@@ -156,28 +122,7 @@
        po.controllerId = controller==null?null:controller.getId() ;
        po.intakeId = controller==null?null:controller.getIntakeId() ;
        po.dt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt) ;
        po.rtuDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(rtuDt) ;
        if(alarmVo != null){
            po.alarmBatteryVolt = alarmVo.batteryVolt ;
            po.alarmLoss = alarmVo.loss ;
            po.alarmWaterMeterBreak = alarmVo.meter ;
            po.alarmValve = alarmVo.valve ;
        }/*else{
            po.alarmBatteryVolt = null ;
            po.alarmLoss = null ;
            po.alarmWaterMeterBreak = null ;
            po.alarmValve = null ;
        }*/
        if(stateVo != null){
           po.stateIcEnable = stateVo.icCard ;
           po.valveState = stateVo.working ;
           //po.valvestate = stateVo.valve ;
        }/*else{
            po.stateIcEnable = null ;
            po.valveState = null ;
            //po.valvestate = null ;
        }*/
        po.updateFrom(dV1_0_1, rtuDt, alarmVo, stateVo);
        return po ;
    }
@@ -190,7 +135,7 @@
                                         PrController controller,
                                         DataStateVo stateVo){
        if(stateVo != null){
            if(stateVo.working != null && stateVo.working.byteValue() == 0){
            if(stateVo.valveState != null && stateVo.valveState.byteValue() == 0){
                //阀门关闭状态
                if(controller != null && controller.getIntakeId() != null){
                    //虚拟卡在取水中的占用状态改为非应用状态
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealCloseValveReport.java
@@ -68,8 +68,7 @@
            sv.saveRmOpenCloseValveLast(poLast);
        }else{
            if(poLast.clType == null){
                //原记录不存在关阀数据,所以当前关阀上报是新的一次关阀,保留原记录中的开阀数据
                this.updateCloseValve(controller, poLast, null, dV1_0_1, dataCd83CloseVo, false) ;
                //原记录不存在关阀数据,所以当前关阀上报是新的一次关阀
                if(poLast.opType == null){
                    //原记录中不存在开阀数据,没办法进行匹配
                    //生成并保存新的关阀上报历史数据记录
@@ -80,6 +79,8 @@
                    if(poLast.lastHistoryId != null){
                        poHistory = sv.getRmOpenCloseValveHistory(poLast.lastHistoryId) ;
                        if(poHistory != null){
                            //当前关阀上报是新的一次关阀,保留原记录中的开阀数据
                            this.updateCloseValve(controller, poLast, poHistory, dV1_0_1, dataCd83CloseVo, false) ;
                            sv.updateRmOpenCloseValveHistory(poHistory);
                        }else{
                            //没有历史数据,生成并保存新的关阀上报历史数据记录
@@ -98,12 +99,13 @@
                    //重复上报了,不进行处理
                }else {
                    //当前上报的关阀数据晚于原来的关阀数据,是新的上报关阀数据
                    this.updateCloseValve(controller, poLast, null, dV1_0_1, dataCd83CloseVo, false) ;
                    this.newHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataCd83CloseVo, poLast);
                }
            }else{
                //if(po.opType == null)
                //原记录不存在开阀数据也不存在关阀数据,这种情况不存在,但为安全也进行处理
                this.updateCloseValve(controller,poLast, null, dV1_0_1, dataCd83CloseVo, false) ;
                this.updateCloseValve(controller, poLast, null, dV1_0_1, dataCd83CloseVo, false) ;
                //生成并保存新的关阀上报历史数据记录
                this.newHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataCd83CloseVo, poLast);
            }
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealLoss.java
@@ -89,7 +89,7 @@
                    //新的日期
                    poLast = this.newRmLossLast(controller, rtuAddr, dV1_0_1, dataCdC0Vo);
                    this.newAndSaveHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataCdC0Vo, poLast);
                    sv.saveRmLossLast(poLast);
                    sv.updateRmLossLast(poLast);
                }else{
                    //这种情况不存在(RTU时钟早于本地记录中的RTU时钟(RTU穿越回过去了,可能时钟重置了),此种情况不处理)
                }
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealAlarmStatusV202404.java
@@ -106,7 +106,8 @@
                    alarmVo==null?null:alarmVo.alarmEleLowVolt,
                    alarmVo==null?null:alarmVo.stateIcEnable,
                    (byte)0,//电池电压(1:报警,0:正常)
                    (byte)0//阀门报警(1:报警,0:正常)
                    (byte)0,//阀门报警(1:报警,0:正常)
                    (byte)0//供电方式(0: 220V,1:蓄电池)
            ) ;
            sv.saveRmAlarmStateLast(po) ;
        }else{
@@ -153,7 +154,8 @@
                alarmVo==null?null:alarmVo.alarmEleLowVolt,
                alarmVo==null?null:alarmVo.stateIcEnable,
                (byte)0,//电池电压(1:报警,0:正常)
                (byte)0//阀门报警(1:报警,0:正常)
                (byte)0,//阀门报警(1:报警,0:正常)
                (byte)0//供电方式(0: 220V,1:蓄电池)
        ) ;
        sv.saveRmAlarmStateHistory(po) ;
    }