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元