表阀一体机(王江海制定)通信协议:1、完善关阀类型;2、完善注释。
14个文件已修改
78 ■■■■■ 已修改文件
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/CommonV202404.java 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_84_Up.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_C2_Up.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/global/GlParse.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd55Vo.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd56Vo.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd5CVo.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd68Vo.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd83Vo.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd84Vo.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd85Vo.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd92_A2Vo.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd93_A3Vo.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd9AVo.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/CommonV202404.java
@@ -254,21 +254,37 @@
    /**
     * 得到关开阀类型名称
     * 0x00:刷卡闭
     * 0x01:平台关
     * 0x02:APP关
     * 0x03:非法卡关
     * 0x04:水表通讯异常关
     * 0x05:电表异常关
     * 0x06:剩余水量不足关
     * 0x07:剩余金额为0关
     * 0x08:开泵/阀后管道没有流量关
     * 0x09:掉电再上电关,
     * 0x0a:水表瞬时流量为0关,
     * 0x0b:刷卡开泵,远程关。
     * 0x0c:电池低电压关。
     * @param type 字节
     * @return 名称
     */
    public static String openCloseValveType(byte type){
    public static String closeValveType(byte type){
        return switch (type) {
            case 1 -> "刷卡开阀";
            case 2 -> "刷卡关阀";
            case 3 -> "中心站开阀";
            case 4 -> "中心站关阀";
            case 5 -> "欠费关阀";
            case 6 -> "流量计故障关阀";
            case 7 -> "紧急关阀";
            case 8 -> "用户远程开阀";
            case 9 -> "用户远程关阀";
            case 16 -> "管道无水自动关阀";
            case 0 -> "刷卡关阀";
            case 1 -> "平台关阀";
            case 2 -> "APP关阀";
            case 3 -> "非法卡关阀";
            case 4 -> "水表通讯异常关阀";
            case 5 -> "电表异常关阀";
            case 6 -> "剩余水量不足关阀";
            case 7 -> "剩余金额为0关阀";
            case 8 -> "管道没有流量关阀";
            case 9 -> "掉电再上电关阀";
            case 10 -> "水表瞬时流量为0关阀";
            case 11 -> "刷卡开远程关阀";
            case 12 -> "电池低电压关阀";
            default -> "未知";
        };
    }
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_84_Up.java
@@ -123,7 +123,7 @@
        cdData.eleTotalAmount = ByteUtil.BCD2Long_LE(bs, index, index + 4)/100.0D ;
        index += 5 ;
        cdData.moneyRemainUser = ByteUtil.BCD2Long_LE(bs, index, index + 4)/100.0D ;
        cdData.moneyRemainUser = ByteUtil.BCD2Long_LE(bs, index, index + 4)/10000.0D ;//2025-02-24,剩余金额改为4位小数
        index += 5 ;
        cdData.waterRemainUser = ByteUtil.BCD2Long_LE(bs, index, index + 4)/100.0D ;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_C2_Up.java
@@ -124,15 +124,11 @@
            cdData.success = false ;
        }
        if(!cdData.success){
            return ;
        }
        index++ ;
        cdData.orderNo = ByteUtil.BCD2String_BE(bs, index, index + 7) ;
        index += 8 ;
        GlParse.parseRtuDt(bs, index);
        cdData.rtuDt = GlParse.parseRtuDt(bs, index);
        index+= 6 ;
        GlParse.parseAlarmAndState(bs, index, cdData);//四个字节
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/global/GlParse.java
@@ -265,7 +265,7 @@
        cdData.eleTotalAmount = ByteUtil.BCD2Long_LE(bs, index, index + 4)/100.0D ;
        index += 5 ;
        cdData.moneyRemain = ByteUtil.BCD2Long_LE(bs, index, index + 4)/100.0D ;
        cdData.moneyRemain = ByteUtil.BCD2Long_LE(bs, index, index + 4)/10000.0D ;
        index += 5 ;
        cdData.waterRemain = ByteUtil.BCD2Long_LE(bs, index, index + 4)/100.0D ;
@@ -277,7 +277,7 @@
        cdData.thisWater = ByteUtil.BCD2Long_LE(bs, index, index + 3)/100.0D ;
        index += 4 ;
        cdData.thisMoney = ByteUtil.BCD2Long_LE(bs, index, index + 3)/100.0D ;
        cdData.thisMoney = ByteUtil.BCD2Long_LE(bs, index, index + 3)/10000.0D ;
        index += 4 ;
        cdData.thisDuration = ByteUtil.BCD2Int_LE(bs, index, index + 1) ;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd55Vo.java
@@ -7,7 +7,7 @@
@Data
public class DataCd55Vo {
    public String controllerType;//控制器类型 01(0x01):测控一体阀;02(0x02):表阀一体机;57(0x57):井电控制器
    public String controllerType;//控制器类型
    public Integer projectNo ;//项目编号
    public String icCardAddr ;//IC卡地址(8位数字或字母)
    public String icCardNo ;//用户卡序列号(16位数字)(6字节BCD,2字节HEX)
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd56Vo.java
@@ -6,7 +6,7 @@
@Data
public class DataCd56Vo {
    public String controllerType;//控制器类型 01(0x01):测控一体阀;02(0x02):表阀一体机;57(0x57):井电控制器
    public String controllerType;//控制器类型
    public Integer projectNo ;//项目编号
    public Integer waterAlarm ;//剩余水量报警值,单位:m3。整数,取值范围0~65535
    public Integer moneyAlarm ;//剩余金额报警值,单位:元。整数,取值范围0~65535
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd5CVo.java
@@ -7,7 +7,7 @@
@Data
public class DataCd5CVo {
    public String controllerType;//控制器类型 01(0x01):测控一体阀;02(0x02):表阀一体机;57(0x57):井电控制器
    public String controllerType;//控制器类型
    public Integer projectNo ;//项目编号
    public String dt ;//观察时间(yyyy-mm-dd HH)
    public Double meterAmountDay ;//当日水表净流量,2个小数点
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd68Vo.java
@@ -7,7 +7,7 @@
@Data
public class DataCd68Vo {
    public String controllerType;//控制器类型 01(0x01):测控一体阀;02(0x02):表阀一体机;57(0x57):井电控制器
    public String controllerType;//控制器类型
    public Integer projectNo ;//项目编号
    public Integer maxAmountYear ;//机井年最大用水量  单位:m3 整数,取值范围0~99999999
    public Double limitLevel ;//水位下限 单位:m 取值范围:0~9999.99
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd83Vo.java
@@ -7,7 +7,7 @@
@Data
public class DataCd83Vo {
    public String controllerType;//控制器类型 01(0x01):测控一体阀;02(0x02):表阀一体机;57(0x57):井电控制器
    public String controllerType;//控制器类型
    public Integer projectNo ;//项目编号
    public Double waterTotalAmountYear ;//本年累计流量
    public Double waterTotalAmountMeter ;//水表累计流量
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd84Vo.java
@@ -9,7 +9,7 @@
@EqualsAndHashCode(callSuper=false)
public class DataCd84Vo extends AlarmVo {
    public String controllerType;//控制器类型 01(0x01):测控一体阀;02(0x02):表阀一体机;57(0x57):井电控制器
    public String controllerType;//控制器类型
    public Integer projectNo ;//项目编号
    public String openDt;//开泵/阀时间(yyyy-mm-dd HH:MM:SS)
    public String icCardAddr ;//IC卡地址(远程关闭时为0)
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd85Vo.java
@@ -9,7 +9,7 @@
@EqualsAndHashCode(callSuper=false)
public class DataCd85Vo extends AlarmVo {
    public String controllerType;//控制器类型 01(0x01):测控一体阀;02(0x02):表阀一体机;57(0x57):井电控制器
    public String controllerType;//控制器类型
    public Integer projectNo ;//项目编号
    public Byte clType;//关泵/阀方式:  0x00:刷卡闭 0x01:平台关 0x02:APP关  0x03:非法卡关 0x04:水表异常关 0x05:电表异常关 0x06:剩余水量不足关 0x07:剩余金额不足关 0x08:开泵/阀后管道没有流量关 0x09:掉电再上电。
    public String icCardAddr ;//IC卡地址(远程关闭时为0)
@@ -19,11 +19,11 @@
    public String endDt ;//结束时间(yyyy-mm-dd HH:MM:SS)
    public Double waterTotalAmount ;//水表累计流量
    public Double eleTotalAmount ;//电表累计电量
    public Double moneyRemain ;//用户剩余金额,单位0.01元
    public Double moneyRemain ;//用户剩余金额,单位0.0001元
    public Double waterRemain ;//用户剩余水量,保留 默认 00 00 00 00 00
    public Double thisEle ;//本次使用电量, 单位0.01度
    public Double thisWater ;//本次使用水量, 单位0.01立方米
    public Double thisMoney ;//本次使用金额, 单位0.01元
    public Double thisMoney ;//本次使用金额, 单位0.0001元
    public Integer thisDuration;//本次使用时间长, 单位:分钟
    public String comName ;//命令名称
@@ -43,7 +43,7 @@
        sb.append(projectNo == null?"未知":projectNo) ;
        sb.append("\n") ;
        sb.append("      关泵/阀类型 : ") ;
        sb.append(clType == null?"未知":(clType.byteValue() == 0x00 ? "刷卡":(clType.byteValue() == 0x01 ? "平台":(clType.byteValue() == 0x02 ? "APP":(clType.byteValue() == 0x03 ? "非法卡":(clType.byteValue() == 0x04 ? "水表异常":(clType.byteValue() == 0x05 ? "电表异常":(clType.byteValue() == 0x06 ? "剩余水量不足":(clType.byteValue() == 0x07 ? "剩余金额不足":(clType.byteValue() == 0x08 ? "无流量":(clType.byteValue() == 0x09 ? "掉电再上电":"未知"))))))))))) ;
        sb.append(CommonV202404.closeValveType(clType)) ;
        sb.append("\n") ;
        sb.append("      IC卡地址 : ") ;
        sb.append(icCardAddr == null?"未知":icCardAddr) ;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd92_A2Vo.java
@@ -7,12 +7,12 @@
@Data
public class DataCd92_A2Vo {
    public String controllerType;//控制器类型 01(0x01):测控一体阀;02(0x02):表阀一体机;57(0x57):井电控制器
    public String controllerType;//控制器类型
    public Integer projectNo ;//项目编号
    public String icCardNo ;//IC卡编号(17位数字)
    public String orderNo ;//订单号(16位数字)
    public String opDt ;//开泵/阀时间(yyyy-mm-dd HH:MM:SS)
    public Byte opType ;//开阀类型: 01:平台开泵/阀 02:用户开泵/阀
    public Byte opType ;//开阀类型
    public Byte opResult ;//开启泵/阀结果: 0x00:成功 0x81:失败
    public String comName ;//命令名称
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd93_A3Vo.java
@@ -9,7 +9,7 @@
@EqualsAndHashCode(callSuper=false)
public class DataCd93_A3Vo extends AlarmVo {
    public String controllerType;//控制器类型 01(0x01):测控一体阀;02(0x02):表阀一体机;57(0x57):井电控制器
    public String controllerType;//控制器类型
    public Integer projectNo ;//项目编号
    public Byte opResult ;//关泵/阀结果: 0x00:成功 0x81:失败
    public Byte opType ;//关泵/阀方式:  0x00:刷卡闭 0x01:平台关 0x02:APP关  0x03:非法卡关 0x04:水表异常关 0x05:电表异常关 0x06:剩余水量不足关 0x07:剩余金额不足关 0x08:开泵/阀后管道没有流量关 0x09:掉电再上电。
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd9AVo.java
@@ -7,7 +7,7 @@
@Data
public class DataCd9AVo {
    public String controllerType;//控制器类型 01(0x01):测控一体阀;02(0x02):表阀一体机;57(0x57):井电控制器
    public String controllerType;//控制器类型
    public Integer projectNo ;//项目编号
    public Integer maxAmountYear ;//设备终端年用水量 单位:m3 整数,取值范围0~99999999