liurunyu
2025-02-27 186aac796d81fd1799c9503558c1081c5102ab74
根据RTU协议修改内容,将开关阀类型加入上报数据中;
6个文件已修改
54 ■■■■ 已修改文件
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/CommonV202404.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_84_Up.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd84Vo.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmOpenCloseValveHistory.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmOpenCloseValveLast.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu202404/src/main/java/com/dy/simRtu202404/tcpClient/upData/UpOpenCloseValve.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/CommonV202404.java
@@ -253,6 +253,23 @@
    }
    /**
     * 0x01:刷卡开阀
     * 0x02:中心站开阀
     * 0x08:用户App远程开阀
     * 0x0B:巡检卡开阀
     * @param type
     * @return
     */
    public static String openValveType(byte type){
        return switch (type) {
            case 1 -> "刷卡开阀";
            case 2 -> "中心站开阀";
            case 8 -> "用户App远程开阀";
            case 11 -> "巡检卡开阀";
            default -> "未知";
        };
    }
    /**
     * 得到关开阀类型名称
     * 0x00:刷卡闭
     * 0x01:平台关
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_84_Up.java
@@ -102,7 +102,8 @@
        index ++ ;//水泵/阀    0xf0:阀门 0x00:水泵
        index ++ ;//当前用水方式    1个HEX 0x00:正常刷卡开泵/阀用水
        index ++ ;//当前用水方式
        cdData.opType = bs[index];
        index++ ;
        cdData.icCardAddr = ByteUtil.bytes2Hex(bs, false, index, 4) ;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd84Vo.java
@@ -11,6 +11,7 @@
    public String controllerType;//控制器类型
    public Integer projectNo ;//项目编号
    public Byte opType;
    public String openDt;//开泵/阀时间(yyyy-mm-dd HH:MM:SS)
    public String icCardAddr ;//IC卡地址(远程关闭时为0)
    public String icCardNo ;//IC卡编号(17位数字)
@@ -35,6 +36,9 @@
        sb.append("      项目编号 : ") ;
        sb.append(projectNo == null?"未知":projectNo) ;
        sb.append("\n") ;
        sb.append("      开阀类型:");
        sb.append(opType==null?"未知": CommonV202404.openValveType(opType));
        sb.append("\n");
        sb.append("      IC卡地址 : ") ;
        sb.append(icCardAddr == null?"未知":icCardAddr) ;
        sb.append("\n") ;
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmOpenCloseValveHistory.java
@@ -347,7 +347,7 @@
    public void valueFrom84(DataV202404 dataV202404, DataCd84Vo cdData) throws Exception {
        this.opDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataV202404.dt);
        this.opType = null;
        this.opType = cdData.opType;
        this.opTotalAmount = cdData.waterTotalAmount;
        this.opIcCardNo = cdData.icCardNo;
        this.opIcCardAddr = cdData.icCardAddr;
@@ -378,7 +378,7 @@
    public void valueFrom85(DataV202404 dataV202404, DataCd85Vo cdData) throws Exception {
        this.clOpenDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(cdData.startDt);
        this.closeDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(cdData.endDt);
        this.opType = cdData.clType;
        this.clType = cdData.clType;
        this.clIcCardAddr = cdData.icCardAddr;
        this.clIcCardNo = cdData.icCardNo;
        this.clTotalAmount = cdData.waterTotalAmount;
@@ -453,7 +453,7 @@
    public void updateFrom(DataV202404 dataV202404, DataCd84Vo dataCd84Vo, Boolean clearCloseValve) throws Exception {
        this.opDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataV202404.dt);
        this.opType = null;
        this.opType = dataCd84Vo.opType;
        this.opTotalAmount = dataCd84Vo.waterTotalAmount;
        this.opIcCardNo = dataCd84Vo.icCardNo;
        this.opIcCardAddr = dataCd84Vo.icCardAddr;
@@ -548,10 +548,14 @@
        this.clTotalAmount = cdData.waterTotalAmount;
        this.clIcCardNo = cdData.icCardNo;
        this.clIcCardAddr = cdData.icCardAddr;
        this.clOrderNo = cdData.orderNo;
        this.clRemainMoney = cdData.moneyRemain;
        this.clEleTotalAmount = cdData.eleTotalAmount;
        this.clWaterRemainUser = cdData.waterRemain;
        this.clThisAmount = cdData.thisWater;
        this.clThisMoney = cdData.thisMoney;
        this.clThisTime = cdData.thisDuration;
        this.clThisEle = cdData.thisEle;
        this.clPrice = null;
        this.clOpenDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(cdData.startDt);
        this.closeDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(cdData.endDt) ;
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmOpenCloseValveLast.java
@@ -315,7 +315,7 @@
    public void valueFrom84(DataV202404 dataV202404, DataCd84Vo cdData) throws Exception {
        this.opDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataV202404.dt);
        this.opType = null;
        this.opType = cdData.opType;
        this.opTotalAmount = cdData.waterTotalAmount;
        this.opIcCardNo = cdData.icCardNo;
        this.opIcCardAddr = cdData.icCardAddr;
@@ -347,7 +347,7 @@
    public void valueFrom85(DataV202404 dataV202404, DataCd85Vo cdData) throws Exception {
        this.clOpenDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(cdData.startDt);
        this.closeDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(cdData.endDt);
        this.opType = cdData.clType;
        this.clType = cdData.clType;
        this.clIcCardAddr = cdData.icCardAddr;
        this.clIcCardNo = cdData.icCardNo;
        this.clTotalAmount = cdData.waterTotalAmount;
@@ -455,10 +455,14 @@
        this.clTotalAmount = cdData.waterTotalAmount;
        this.clIcCardNo = cdData.icCardNo;
        this.clIcCardAddr = cdData.icCardAddr;
        this.clOrderNo = cdData.orderNo;
        this.clRemainMoney = cdData.moneyRemain;
        this.clEleTotalAmount = cdData.eleTotalAmount;
        this.clWaterRemainUser = cdData.waterRemain;
        this.clThisAmount = cdData.thisWater;
        this.clThisMoney = cdData.thisMoney;
        this.clThisTime = cdData.thisDuration;
        this.clThisEle = cdData.thisEle;
        this.clPrice = null;
        this.clOpenDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(cdData.startDt);
        this.closeDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(cdData.endDt) ;
pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu202404/src/main/java/com/dy/simRtu202404/tcpClient/upData/UpOpenCloseValve.java
@@ -22,7 +22,7 @@
    private static Double totalWaterAmount = 1234.56 ;//累计流量
    private static Double remainMoney = 65.4321 ;//剩余金额
    private static Double thisWaterAmount = 100.00 ;//本次使用电量
    private static Double thisWaterAmount = 100.00 ;//本次使用水量
    private static Double thisMoney = 10.00 ;//本次使用金额
    public static void upCd84Data(String rtuAddr){
@@ -84,7 +84,7 @@
        bytes = ByteUtil.bytesMerge(bytes, bs) ;
        bs = new byte[8] ;//本次订单号    8字节 BCD码
        ByteUtil.string2BCD_LE( bs, orderNo,0);
        ByteUtil.string2BCD_BE( bs, orderNo,0);
        bytes = ByteUtil.bytesMerge(bytes, bs) ;
        bs = new byte[6] ;//开泵/阀时间    6字节的BCD码(秒分时日月年)
@@ -133,7 +133,7 @@
            openValveDt = DateTime.yyMMddhhmmss() ;
        }
        totalWaterAmount -= thisWaterAmount ;
        totalWaterAmount += thisWaterAmount ;
        remainMoney -= thisMoney ;
        byte[] bytes = creatHead(rtuAddr, "85", (byte)0x81);
@@ -156,7 +156,7 @@
        bytes = ByteUtil.bytesMerge(bytes, bs) ;
        bs = new byte[8] ;//本次订单号    8字节 BCD码
        ByteUtil.string2BCD_LE( bs, orderNo,0);
        ByteUtil.string2BCD_BE( bs, orderNo,0);
        bytes = ByteUtil.bytesMerge(bytes, bs) ;
        bs = new byte[6] ;//开始时间    6字节的BCD码(秒分时日月年)
@@ -164,7 +164,7 @@
        bytes = ByteUtil.bytesMerge(bytes, bs) ;
        bs = new byte[6] ;//结束时间    6字节的BCD码(秒分时日月年)
        ByteUtil.string2BCD_LE( bs, DateTime.yyyyMMddHHmmss(),0);
        ByteUtil.string2BCD_LE( bs, DateTime.yyMMddhhmmss(),0);
        bytes = ByteUtil.bytesMerge(bytes, bs) ;
        bs = new byte[5] ;//水表累计水量    5字节BCD码,单位0.01立方米
@@ -188,7 +188,7 @@
        bytes = ByteUtil.bytesMerge(bytes, bs) ;
        bs = new byte[4] ;//本次使用水量    4字节BCD码 单位0.01立方米
        ByteUtil.int2BCD_LE(Double.valueOf(thisWaterAmount * 10000).intValue(), bs, 0);
        ByteUtil.int2BCD_LE(Double.valueOf(thisWaterAmount * 100).intValue(), bs, 0);
        bytes = ByteUtil.bytesMerge(bytes, bs) ;
        bs = new byte[4] ;//本次使用金额    4字节BCD码 单位0.0001元