From 186aac796d81fd1799c9503558c1081c5102ab74 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期四, 27 二月 2025 17:18:11 +0800
Subject: [PATCH] 根据RTU协议修改内容,将开关阀类型加入上报数据中;

---
 pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu202404/src/main/java/com/dy/simRtu202404/tcpClient/upData/UpOpenCloseValve.java |   12 ++++++------
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_84_Up.java                           |    3 ++-
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd84Vo.java                         |    4 ++++
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmOpenCloseValveHistory.java                             |   10 +++++++---
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/CommonV202404.java                            |   17 +++++++++++++++++
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmOpenCloseValveLast.java                                |    8 ++++++--
 6 files changed, 42 insertions(+), 12 deletions(-)

diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/CommonV202404.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/CommonV202404.java
index 2f27bbc..ac6a41c 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/CommonV202404.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/CommonV202404.java
@@ -253,6 +253,23 @@
     }
 
     /**
+     * 0x01锛氬埛鍗″紑闃�
+     * 0x02锛氫腑蹇冪珯寮�闃�
+     * 0x08锛氱敤鎴稟pp杩滅▼寮�闃�
+     * 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:骞冲彴鍏�
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_84_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_84_Up.java
index a4a2587..e279612 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_84_Up.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_84_Up.java
@@ -102,7 +102,8 @@
 
         index ++ ;//姘存车/闃�	0xf0:闃�闂� 0x00:姘存车
 
-        index ++ ;//褰撳墠鐢ㄦ按鏂瑰紡	1涓狧EX 0x00:姝e父鍒峰崱寮�娉�/闃�鐢ㄦ按
+        index ++ ;//褰撳墠鐢ㄦ按鏂瑰紡
+        cdData.opType = bs[index];
 
         index++ ;
         cdData.icCardAddr = ByteUtil.bytes2Hex(bs, false, index, 4) ;
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd84Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd84Vo.java
index b7bace9..464d842 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd84Vo.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd84Vo.java
@@ -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") ;
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmOpenCloseValveHistory.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmOpenCloseValveHistory.java
index f68d81d..d47352a 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmOpenCloseValveHistory.java
+++ b/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) ;
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmOpenCloseValveLast.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmOpenCloseValveLast.java
index 10b2936..1ad018c 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmOpenCloseValveLast.java
+++ b/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) ;
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu202404/src/main/java/com/dy/simRtu202404/tcpClient/upData/UpOpenCloseValve.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu202404/src/main/java/com/dy/simRtu202404/tcpClient/upData/UpOpenCloseValve.java
index 8f04053..1a2827a 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu202404/src/main/java/com/dy/simRtu202404/tcpClient/upData/UpOpenCloseValve.java
+++ b/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瀛楄妭鐨凚CD鐮�(绉掑垎鏃舵棩鏈堝勾)
@@ -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瀛楄妭鐨凚CD鐮�(绉掑垎鏃舵棩鏈堝勾)
@@ -164,7 +164,7 @@
         bytes = ByteUtil.bytesMerge(bytes, bs) ;
 
         bs = new byte[6] ;//缁撴潫鏃堕棿	6瀛楄妭鐨凚CD鐮�(绉掑垎鏃舵棩鏈堝勾)
-        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鍏�

--
Gitblit v1.8.0