From b943c16035dc33782ba6be635854bdbb3018e5b2 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期五, 14 六月 2024 11:06:28 +0800
Subject: [PATCH] 1、完善代码; 2、数据库IP地址修改; 3、江海协议实现阀开工作报最新数据存储和历史数据存储。

---
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmWorkReportLast.java                                  |  215 +++++++-
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealWorkingReportV202404.java |  104 ++++
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealAlarmStatusV202404.java   |   67 +-
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmWorkReportLastMapper.java                             |   28 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/global/GlParse.java                    |   28 
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealLoss.java                  |   20 
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmWorkReportHistoryMapper.java                          |   13 
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmWorkReportLastMapper.xml                                            |  335 ++++++++++++-
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmWorkReportHistoryMapper.xml                                         |  328 ++++++++++++-
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealWorkReport.java            |   68 +-
 pipIrr-platform/pipIrr-global/src/main/resources/application-database-pj.yml                                                  |    2 
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/RtuDataDealTree.xml                                                |    5 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataV1_0_1.java                              |    2 
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkFindReport.java                |    5 
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkFindReportV202404.java        |    4 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/DataV202404.java                            |    2 
 pipIrr-platform/pipIrr-global/src/main/resources/application-database-ym.yml                                                  |    2 
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmWorkReportHistory.java                               |  189 +++++++
 18 files changed, 1,171 insertions(+), 246 deletions(-)

diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataV1_0_1.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataV1_0_1.java
index 628014d..ef1095f 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataV1_0_1.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataV1_0_1.java
@@ -11,7 +11,7 @@
 
 	public Object subData ;
 
-	public String dt ;//閫氫俊涓棿浠朵骇鐢熸敹鎶ユ椂闂�(yyyy-MM-dd hh:mm:ss)
+	public String dt ;//閫氫俊涓棿浠朵骇鐢熺殑鏀舵姤鏃堕棿(yyyy-MM-dd hh:mm:ss)
 
 	public String toString(){
 		StringBuffer sb = new StringBuffer() ;
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/global/GlParse.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/global/GlParse.java
index 0f0b19e..2f087bc 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/global/GlParse.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/global/GlParse.java
@@ -11,25 +11,31 @@
     private static final Logger log = LogManager.getLogger(GlParse.class);
 
     public static DataAlarmVo parseAlarm(byte[] bs, short index){
+        /*
+        11011111 (DF)  +  11111001 (F9)
+        鎶ヨ:
+        钃勭數姹犵數鍘嬶細鎶ヨ
+        婕忔崯锛氭姤璀�
+        浠〃锛氭姤璀�
+        闃�闂細鎶ヨ
+        */
         DataAlarmVo avo = new DataAlarmVo() ;
-        byte b = bs[index] ;
-        index++ ;
-        avo.batteryVolt = (byte)(b & 0x2 >> 1) ;
-        avo.meter = (byte)(b & 0x20 >> 5) ;
+        byte b = bs[index + 1] ;
+        avo.batteryVolt = (byte)((b & 0x2) >> 1) ;
+        avo.meter = (byte)((b & 0x20) >> 5) ;
 
         b = bs[index] ;
-        avo.loss = (byte)(b & 0x2 >> 1) ;
-        avo.valve = (byte)(b & 0x4 >> 2) ;
+        avo.loss = (byte)((b & 0x2) >> 1) ;
+        avo.valve = (byte)((b & 0x4) >> 2) ;
         return avo ;
     }
 
     public static DataStateVo parseState(byte[] bs, short index){
         DataStateVo avo = new DataStateVo() ;
-        byte b = bs[index] ;
-        index++ ;
-        avo.icCard = (byte)(b & 0x4 >> 2) ;
-        avo.working = (byte)(b & 0x10 >> 4) ;
-        avo.powerType = (byte)(b & 0x40 >> 6) ;
+        byte b = bs[index + 1] ;
+        avo.icCard = (byte)((b & 0x4) >> 2) ;
+        avo.working = (byte)((b & 0x10) >> 4) ;
+        avo.powerType = (byte)((b & 0x40) >> 6) ;
         return avo ;
     }
 
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/DataV202404.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/DataV202404.java
index 646d5ec..6d1cd7e 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/DataV202404.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/DataV202404.java
@@ -11,7 +11,7 @@
 
 	public Object subData ;
 
-	public String dt ;//閫氫俊涓棿浠朵骇鐢熸敹鎶ユ椂闂�(yyyy-MM-dd hh:mm:ss)
+	public String dt ;//閫氫俊涓棿浠朵骇鐢熺殑鏀舵姤鏃堕棿(yyyy-MM-dd hh:mm:ss)
 
 	public String toString(){
 		StringBuffer sb = new StringBuffer() ;
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmWorkReportHistoryMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmWorkReportHistoryMapper.java
index cb35a59..24b3607 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmWorkReportHistoryMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmWorkReportHistoryMapper.java
@@ -4,15 +4,15 @@
 import org.apache.ibatis.annotations.Mapper;
 
 /**
- * @Author liurunyu
- * @Date 2024/2/28 8:52
- * @LastEditTime 2024/2/28 8:52
+ * @Author: liurunyu
+ * @Date: 2024/6/14 10:58
  * @Description
- */   
+ */
 @Mapper
 public interface RmWorkReportHistoryMapper {
     /**
      * delete by primary key
+     *
      * @param id primaryKey
      * @return deleteCount
      */
@@ -20,6 +20,7 @@
 
     /**
      * insert record to table
+     *
      * @param record the record
      * @return insert count
      */
@@ -27,6 +28,7 @@
 
     /**
      * insert record to table selective
+     *
      * @param record the record
      * @return insert count
      */
@@ -34,6 +36,7 @@
 
     /**
      * select by primary key
+     *
      * @param id primary key
      * @return object by primary key
      */
@@ -41,6 +44,7 @@
 
     /**
      * update record selective
+     *
      * @param record the updated record
      * @return update count
      */
@@ -48,6 +52,7 @@
 
     /**
      * update record
+     *
      * @param record the updated record
      * @return update count
      */
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmWorkReportLastMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmWorkReportLastMapper.java
index 3d964ac..2357550 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmWorkReportLastMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmWorkReportLastMapper.java
@@ -6,15 +6,15 @@
 import java.util.List;
 
 /**
- * @Author liurunyu
- * @Date 2024/2/28 8:52
- * @LastEditTime 2024/2/28 8:52
+ * @Author: liurunyu
+ * @Date: 2024/6/14 10:11
  * @Description
- */   
+ */
 @Mapper
 public interface RmWorkReportLastMapper {
     /**
      * delete by primary key
+     *
      * @param id primaryKey
      * @return deleteCount
      */
@@ -22,6 +22,7 @@
 
     /**
      * insert record to table
+     *
      * @param record the record
      * @return insert count
      */
@@ -29,6 +30,7 @@
 
     /**
      * insert record to table selective
+     *
      * @param record the record
      * @return insert count
      */
@@ -36,20 +38,15 @@
 
     /**
      * select by primary key
+     *
      * @param id primary key
      * @return object by primary key
      */
     RmWorkReportLast selectByPrimaryKey(Long id);
 
     /**
-     * select by primary key
-     * @param rtuAddr 鎺у埗鍣ㄥ湴鍧�
-     * @return object by rtuAddr
-     */
-    List<RmWorkReportLast> selectByRtuAddr(String rtuAddr);
-
-    /**
      * update record selective
+     *
      * @param record the updated record
      * @return update count
      */
@@ -57,8 +54,17 @@
 
     /**
      * update record
+     *
      * @param record the updated record
      * @return update count
      */
     int updateByPrimaryKey(RmWorkReportLast record);
+
+    /**
+     * select by primary key
+     *
+     * @param rtuAddr 鎺у埗鍣ㄥ湴鍧�
+     * @return object by rtuAddr
+     */
+    List<RmWorkReportLast> selectByRtuAddr(String rtuAddr);
 }
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmWorkReportHistory.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmWorkReportHistory.java
index 2dff0cd..8e6f9ee 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmWorkReportHistory.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmWorkReportHistory.java
@@ -5,7 +5,10 @@
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.dy.common.mw.protocol.p206V202404.DataV202404;
+import com.dy.common.mw.protocol.p206V202404.upVos.DataCd80_5BVo;
 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.*;
@@ -13,20 +16,19 @@
 import java.util.Date;
 
 /**
- * @Author liurunyu
- * @Date 2024/2/28 8:52
- * @LastEditTime 2024/2/28 8:52
- * @Description 缁堢宸ヤ綔鎶ュ巻鍙叉暟鎹�
+ * @Author: liurunyu
+ * @Date: 2024/6/14 10:58
+ * @Description 缁堢闃�寮�宸ヤ綔鎶ュ巻鍙叉暟鎹�
  */
+
 @TableName(value="rm_work_report_history", autoResultMap = true)
 @Data
 @Builder
 @ToString
 @NoArgsConstructor
 @AllArgsConstructor
-@Schema(name = "缁堢宸ヤ綔鎶ュ巻鍙叉暟鎹�")
-public class RmWorkReportHistory  implements BaseEntity {
-
+@Schema(name = "缁堢闃�寮�宸ヤ綔鎶ュ巻鍙叉暟鎹�")
+public class RmWorkReportHistory implements BaseEntity {
     public static final long serialVersionUID = 202402280859001L;
     /**
      * 涓婚敭
@@ -71,28 +73,183 @@
     public Date rtuDt;
 
     /**
+     * 璁㈠崟鍙凤紙16浣嶆暟瀛楋級
+     */
+    @Schema(hidden=true)
+    @JSONField(serialize = false)
+    public String orderNo;
+
+    /**
+     * IC鍗″湴鍧�(杩滅▼寮�娉�/闃�鏃跺叏涓�0)
+     */
+    @Schema(description = "IC鍗″湴鍧�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    public String icCardAddr;
+
+    /**
      * IC鍗$紪鍙�
      */
     @Schema(description = "IC鍗$紪鍙�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
     public String icCardNo;
 
     /**
-     * 绱娴侀噺
+     * 姘翠綅锛堝崟浣�0.001绫筹級
      */
-    @Schema(description = "绱娴侀噺锛坢3锛�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    public Double totalAmount;
+    @Schema(description = "姘翠綅锛堝崟浣�0.001绫筹級", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    public Double waterLevel;
 
     /**
-     * 鐬椂娴侀噺
+     * 姘村帇锛堝崟浣�0.01鍗冨笗锛�
      */
-    @Schema(description = "鐬椂娴侀噺锛坢3/h锛�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    public Double instantAmount;
+    @Schema(description = "姘村帇锛堝崟浣�0.01鍗冨笗锛�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    public Double waterPress;
 
     /**
-     * 鍓╀綑閲戦
+     * 鐬椂娴侀噺锛堝崟浣�0.01m3/灏忔椂锛�
      */
-    @Schema(description = "鍓╀綑钂傞噾棰濓紙鍏冿級", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    public Double remainMoney;
+    @Schema(description = "鐬椂娴侀噺锛堝崟浣�0.01m3/灏忔椂锛�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    public Double waterInstant;
 
+    /**
+     * 姘磋〃绱娴侀噺(鍗曚綅0.01m3)
+     */
+    @Schema(description = "姘磋〃绱娴侀噺(鍗曚綅0.01m3)", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    public Double waterTotal;
 
+    /**
+     * 鐢佃〃绱鐢甸噺(鍗曚綅0.01搴�)
+     */
+    @Schema(description = "鐢佃〃绱鐢甸噺(鍗曚綅0.01搴�)", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    public Double eleTotal;
+
+    /**
+     * 鐢ㄦ埛鍓╀綑閲戦(鍗曚綅0.01鍏�)
+     */
+    @Schema(description = "鐢ㄦ埛鍓╀綑閲戦(鍗曚綅0.01鍏�)", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    public Double moneyRemain;
+
+    /**
+     * 鐢ㄦ埛鍓╀綑姘撮噺(鍗曚綅0.01m3)
+     */
+    @Schema(description = "鐢ㄦ埛鍓╀綑姘撮噺(鍗曚綅0.01m3)", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    public Double waterRemain;
+
+    /**
+     * 鏈浣跨敤鐢甸噺(鍗曚綅0.01搴�)
+     */
+    @Schema(description = "鏈浣跨敤鐢甸噺(鍗曚綅0.01搴�)", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    public Double thisEle;
+
+    /**
+     * 鏈浣跨敤姘撮噺(鍗曚綅0.01m3)
+     */
+    @Schema(description = "鏈浣跨敤姘撮噺(鍗曚綅0.01m3)", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    public Double thisWater;
+
+    /**
+     * 鏈浣跨敤閲戦(鍗曚綅0.01鍏�)
+     */
+    @Schema(description = "鏈浣跨敤閲戦(鍗曚綅0.01鍏�)", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    public Double thisMoney;
+
+    /**
+     * 鏈浣跨敤鏃堕暱(鍗曚綅:鍒嗛挓  鏈�澶�9999鍒嗛挓)
+     */
+    @Schema(description = "鏈浣跨敤鏃堕暱(鍗曚綅:鍒嗛挓  鏈�澶�9999鍒嗛挓)", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    public Integer thisDuration;
+
+    /**
+     * 褰撳墠姘撮噺鍗曚环(鍗曚綅0.01鍏� 鏈�澶�99.99鍏�)
+     */
+    @Schema(description = "褰撳墠姘撮噺鍗曚环(鍗曚綅0.01鍏� 鏈�澶�99.99鍏�)", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    public Double waterPrice;
+
+    /**
+     * 褰撳墠鐢甸噺鍗曚环(鍗曚綅0.01鍏� 鏈�澶�99.99鍏�)
+     */
+    @Schema(description = "褰撳墠鐢甸噺鍗曚环(鍗曚綅0.01鍏� 鏈�澶�99.99鍏�)", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    public Double elePrice;
+
+    /**
+     * 浜ゆ祦A鐩哥數鍘�(鍗曚綅0.1浼忕壒)
+     */
+    @Schema(description = "浜ゆ祦A鐩哥數鍘�(鍗曚綅0.1浼忕壒)", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    public Double aVolt;
+
+    /**
+     * 浜ゆ祦B鐩哥數鍘�(鍗曚綅0.1浼忕壒)
+     */
+    @Schema(description = "浜ゆ祦B鐩哥數鍘�(鍗曚綅0.1浼忕壒)", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    public Double bVolt;
+
+    /**
+     * 浜ゆ祦C鐩哥數鍘�(鍗曚綅0.1浼忕壒)
+     */
+    @Schema(description = "浜ゆ祦C鐩哥數鍘�(鍗曚綅0.1浼忕壒)", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    public Double cVolt;
+
+    /**
+     * 浜ゆ祦A鐩哥數娴�(鍗曚綅0.1瀹夊煿)
+     */
+    @Schema(description = "浜ゆ祦A鐩哥數娴�(鍗曚綅0.1瀹夊煿)", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    public Double aCurrent;
+
+    /**
+     * 浜ゆ祦B鐩哥數娴佹暟鎹�(鍗曚綅0.1瀹夊煿)
+     */
+    @Schema(description = "浜ゆ祦B鐩哥數娴佹暟鎹�(鍗曚綅0.1瀹夊煿)", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    public Double bCurrent;
+
+    /**
+     * 浜ゆ祦C鐩哥數娴�(鍗曚綅0.1瀹夊煿)
+     */
+    @Schema(description = "浜ゆ祦C鐩哥數娴�(鍗曚綅0.1瀹夊煿)", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    public Double cCurrent;
+
+    /**
+     * 鍚庡鐢垫睜鐢靛帇(鍗曚綅0.01浼忕壒)
+     */
+    @Schema(description = "鍚庡鐢垫睜鐢靛帇(鍗曚綅0.01浼忕壒)", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    public Double batteryVolt;
+
+    /**
+     * 姘磋〃杩滀紶鐢靛帇(鍗曚綅0.01浼忕壒)
+     */
+    @Schema(description = "姘磋〃杩滀紶鐢靛帇(鍗曚綅0.01浼忕壒)", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    public Double waterMeterTransVolt;
+
+    /**
+     * 姘磋〃宸ヤ綔鐢靛帇(鍗曚綅0.01浼忕壒)
+     */
+    @Schema(description = "姘磋〃宸ヤ綔鐢靛帇(鍗曚綅0.01浼忕壒)", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    public Double waterMeterWorkVolt;
+
+    public void valueFrom(DataV202404 dataV202404, DataCd80_5BVo cdData) throws Exception{
+        this.dt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataV202404.dt);
+        this.rtuDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(cdData.rtuDt);
+        this.orderNo = cdData.orderNo ;
+        this.icCardAddr = cdData.icCardAddr ;
+        this.icCardNo = cdData.icCardNo ;
+        this.waterLevel = cdData.waterLevel ;
+        this.waterPress = cdData.waterPress ;
+        this.waterInstant = cdData.waterInstant ;
+        this.waterTotal = cdData.waterTotal ;
+        this.eleTotal = cdData.eleTotal ;
+        this.moneyRemain = cdData.moneyRemain ;
+        this.waterRemain = cdData.waterRemain ;
+        this.thisEle = cdData.thisEle ;
+        this.thisWater = cdData.thisWater ;
+        this.thisMoney = cdData.thisMoney ;
+        this.thisDuration = cdData.thisDuration ;
+        this.waterPrice = cdData.waterPrice ;
+        this.elePrice = cdData.elePrice ;
+        this.aVolt = cdData.aVolt ;
+        this.bVolt = cdData.bVolt ;
+        this.cVolt = cdData.cVolt ;
+        this.aCurrent = cdData.aCurrent ;
+        this.bCurrent = cdData.bCurrent ;
+        this.cCurrent = cdData.cCurrent ;
+        this.batteryVolt = cdData.batteryVolt ;
+        this.waterMeterTransVolt = cdData.waterMeterTransVolt ;
+        this.waterMeterWorkVolt = cdData.waterMeterWorkVolt ;
+    }
 }
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmWorkReportLast.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmWorkReportLast.java
index 30a39ed..96b1308 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmWorkReportLast.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmWorkReportLast.java
@@ -5,7 +5,10 @@
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.dy.common.mw.protocol.p206V202404.DataV202404;
+import com.dy.common.mw.protocol.p206V202404.upVos.DataCd80_5BVo;
 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.*;
@@ -13,21 +16,18 @@
 import java.util.Date;
 
 /**
- * @Author liurunyu
- * @Date 2024/2/28 8:52
- * @LastEditTime 2024/2/28 8:52
- * @Description 缁堢鏈�鏂板伐浣滄姤
+ * @Author: liurunyu
+ * @Date: 2024/6/14 10:11
+ * @Description 鎺у埗鍣ㄩ榾寮�宸ヤ綔鎶ユ渶鏂版暟鎹�
  */
-
 @TableName(value="rm_work_report_last", autoResultMap = true)
 @Data
 @Builder
 @ToString
 @NoArgsConstructor
 @AllArgsConstructor
-@Schema(name = "缁堢鏈�鏂板伐浣滄姤")
-public class RmWorkReportLast implements BaseEntity {
-
+@Schema(name = "缁堢闃�寮�宸ヤ綔鎶ユ渶鏂版暟鎹�")
+public class RmWorkReportLast  implements BaseEntity {
     public static final long serialVersionUID = 202402280855001L;
     /**
      * 涓婚敭
@@ -38,28 +38,28 @@
     public Long id;
 
     /**
-    * 鎺у埗鍣ㄥ疄浣揑D锛堝閿級
-    */
+     * 鎺у埗鍣ㄥ疄浣揑D锛堝閿級
+     */
     @Schema(description = "鎺у埗鍣ㄥ疄浣撳閿�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
     @JSONField(serializeUsing= ObjectWriterImplToString.class)
     public Long controllerId;
 
     /**
-    * 鍙栨按鍙e疄浣揑D锛堝閿級
-    */
+     * 鍙栨按鍙e疄浣揑D锛堝閿級
+     */
     @Schema(description = "鍙栨按鍙e疄浣撳閿�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
     @JSONField(serializeUsing= ObjectWriterImplToString.class)
     public Long intakeId;
 
     /**
-    * 鎺у埗鍣ㄥ湴鍧�
-    */
+     * 鎺у埗鍣ㄥ湴鍧�
+     */
     @Schema(description = "鎺у埗鍣ㄥ湴鍧�", requiredMode = Schema.RequiredMode.REQUIRED)
     public String rtuAddr;
 
     /**
-    * 鏁版嵁鎺ユ敹鏃ユ湡鏃堕棿
-    */
+     * 鏁版嵁鎺ユ敹鏃ユ湡鏃堕棿
+     */
     @Schema(description = "涓婃姤鏃ユ湡鏃堕棿", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     public Date dt;
@@ -72,28 +72,183 @@
     public Date rtuDt;
 
     /**
-    * IC鍗$紪鍙�
-    */
+     * 璁㈠崟鍙凤紙16浣嶆暟瀛楋級
+     */
+    @Schema(hidden=true)
+    @JSONField(serialize = false)
+    public String orderNo;
+
+    /**
+     * IC鍗″湴鍧�(杩滅▼寮�娉�/闃�鏃跺叏涓�0)
+     */
+    @Schema(description = "IC鍗″湴鍧�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    public String icCardAddr;
+
+    /**
+     * IC鍗$紪鍙�
+     */
     @Schema(description = "IC鍗$紪鍙�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
     public String icCardNo;
 
     /**
-    * 绱娴侀噺
-    */
-    @Schema(description = "绱娴侀噺锛坢3锛�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    public Double totalAmount;
+     * 姘翠綅锛堝崟浣�0.001绫筹級
+     */
+    @Schema(description = "姘翠綅锛堝崟浣�0.001绫筹級", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    public Double waterLevel;
 
     /**
-    * 鐬椂娴侀噺
-    */
-    @Schema(description = "鐬椂娴侀噺锛坢3/h锛�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    public Double instantAmount;
+     * 姘村帇锛堝崟浣�0.01鍗冨笗锛�
+     */
+    @Schema(description = "姘村帇锛堝崟浣�0.01鍗冨笗锛�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    public Double waterPress;
 
     /**
-    * 鍓╀綑閲戦
-    */
-    @Schema(description = "鍓╀綑钂傞噾棰濓紙鍏冿級", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    public Double remainMoney;
+     * 鐬椂娴侀噺锛堝崟浣�0.01m3/灏忔椂锛�
+     */
+    @Schema(description = "鐬椂娴侀噺锛堝崟浣�0.01m3/灏忔椂锛�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    public Double waterInstant;
 
+    /**
+     * 姘磋〃绱娴侀噺(鍗曚綅0.01m3)
+     */
+    @Schema(description = "姘磋〃绱娴侀噺(鍗曚綅0.01m3)", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    public Double waterTotal;
 
+    /**
+     * 鐢佃〃绱鐢甸噺(鍗曚綅0.01搴�)
+     */
+    @Schema(description = "鐢佃〃绱鐢甸噺(鍗曚綅0.01搴�)", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    public Double eleTotal;
+
+    /**
+     * 鐢ㄦ埛鍓╀綑閲戦(鍗曚綅0.01鍏�)
+     */
+    @Schema(description = "鐢ㄦ埛鍓╀綑閲戦(鍗曚綅0.01鍏�)", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    public Double moneyRemain;
+
+    /**
+     * 鐢ㄦ埛鍓╀綑姘撮噺(鍗曚綅0.01m3)
+     */
+    @Schema(description = "鐢ㄦ埛鍓╀綑姘撮噺(鍗曚綅0.01m3)", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    public Double waterRemain;
+
+    /**
+     * 鏈浣跨敤鐢甸噺(鍗曚綅0.01搴�)
+     */
+    @Schema(description = "鏈浣跨敤鐢甸噺(鍗曚綅0.01搴�)", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    public Double thisEle;
+
+    /**
+     * 鏈浣跨敤姘撮噺(鍗曚綅0.01m3)
+     */
+    @Schema(description = "鏈浣跨敤姘撮噺(鍗曚綅0.01m3)", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    public Double thisWater;
+
+    /**
+     * 鏈浣跨敤閲戦(鍗曚綅0.01鍏�)
+     */
+    @Schema(description = "鏈浣跨敤閲戦(鍗曚綅0.01鍏�)", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    public Double thisMoney;
+
+    /**
+     * 鏈浣跨敤鏃堕暱(鍗曚綅:鍒嗛挓  鏈�澶�9999鍒嗛挓)
+     */
+    @Schema(description = "鏈浣跨敤鏃堕暱(鍗曚綅:鍒嗛挓  鏈�澶�9999鍒嗛挓)", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    public Integer thisDuration;
+
+    /**
+     * 褰撳墠姘撮噺鍗曚环(鍗曚綅0.01鍏� 鏈�澶�99.99鍏�)
+     */
+    @Schema(description = "褰撳墠姘撮噺鍗曚环(鍗曚綅0.01鍏� 鏈�澶�99.99鍏�)", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    public Double waterPrice;
+
+    /**
+     * 褰撳墠鐢甸噺鍗曚环(鍗曚綅0.01鍏� 鏈�澶�99.99鍏�)
+     */
+    @Schema(description = "褰撳墠鐢甸噺鍗曚环(鍗曚綅0.01鍏� 鏈�澶�99.99鍏�)", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    public Double elePrice;
+
+    /**
+     * 浜ゆ祦A鐩哥數鍘�(鍗曚綅0.1浼忕壒)
+     */
+    @Schema(description = "浜ゆ祦A鐩哥數鍘�(鍗曚綅0.1浼忕壒)", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    public Double aVolt;
+
+    /**
+     * 浜ゆ祦B鐩哥數鍘�(鍗曚綅0.1浼忕壒)
+     */
+    @Schema(description = "浜ゆ祦B鐩哥數鍘�(鍗曚綅0.1浼忕壒)", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    public Double bVolt;
+
+    /**
+     * 浜ゆ祦C鐩哥數鍘�(鍗曚綅0.1浼忕壒)
+     */
+    @Schema(description = "浜ゆ祦C鐩哥數鍘�(鍗曚綅0.1浼忕壒)", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    public Double cVolt;
+
+    /**
+     * 浜ゆ祦A鐩哥數娴�(鍗曚綅0.1瀹夊煿)
+     */
+    @Schema(description = "浜ゆ祦A鐩哥數娴�(鍗曚綅0.1瀹夊煿)", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    public Double aCurrent;
+
+    /**
+     * 浜ゆ祦B鐩哥數娴佹暟鎹�(鍗曚綅0.1瀹夊煿)
+     */
+    @Schema(description = "浜ゆ祦B鐩哥數娴佹暟鎹�(鍗曚綅0.1瀹夊煿)", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    public Double bCurrent;
+
+    /**
+     * 浜ゆ祦C鐩哥數娴�(鍗曚綅0.1瀹夊煿)
+     */
+    @Schema(description = "浜ゆ祦C鐩哥數娴�(鍗曚綅0.1瀹夊煿)", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    public Double cCurrent;
+
+    /**
+     * 鍚庡鐢垫睜鐢靛帇(鍗曚綅0.01浼忕壒)
+     */
+    @Schema(description = "鍚庡鐢垫睜鐢靛帇(鍗曚綅0.01浼忕壒)", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    public Double batteryVolt;
+
+    /**
+     * 姘磋〃杩滀紶鐢靛帇(鍗曚綅0.01浼忕壒)
+     */
+    @Schema(description = "姘磋〃杩滀紶鐢靛帇(鍗曚綅0.01浼忕壒)", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    public Double waterMeterTransVolt;
+
+    /**
+     * 姘磋〃宸ヤ綔鐢靛帇(鍗曚綅0.01浼忕壒)
+     */
+    @Schema(description = "姘磋〃宸ヤ綔鐢靛帇(鍗曚綅0.01浼忕壒)", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    public Double waterMeterWorkVolt;
+
+    public void valueFrom(DataV202404 dataV202404, DataCd80_5BVo cdData) throws Exception{
+         this.dt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataV202404.dt);
+         this.rtuDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(cdData.rtuDt);
+         this.orderNo = cdData.orderNo ;
+         this.icCardAddr = cdData.icCardAddr ;
+         this.icCardNo = cdData.icCardNo ;
+         this.waterLevel = cdData.waterLevel ;
+         this.waterPress = cdData.waterPress ;
+         this.waterInstant = cdData.waterInstant ;
+         this.waterTotal = cdData.waterTotal ;
+         this.eleTotal = cdData.eleTotal ;
+         this.moneyRemain = cdData.moneyRemain ;
+         this.waterRemain = cdData.waterRemain ;
+         this.thisEle = cdData.thisEle ;
+         this.thisWater = cdData.thisWater ;
+         this.thisMoney = cdData.thisMoney ;
+         this.thisDuration = cdData.thisDuration ;
+         this.waterPrice = cdData.waterPrice ;
+         this.elePrice = cdData.elePrice ;
+         this.aVolt = cdData.aVolt ;
+         this.bVolt = cdData.bVolt ;
+         this.cVolt = cdData.cVolt ;
+         this.aCurrent = cdData.aCurrent ;
+         this.bCurrent = cdData.bCurrent ;
+         this.cCurrent = cdData.cCurrent ;
+         this.batteryVolt = cdData.batteryVolt ;
+         this.waterMeterTransVolt = cdData.waterMeterTransVolt ;
+         this.waterMeterWorkVolt = cdData.waterMeterWorkVolt ;
+    }
 }
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/application-database-pj.yml b/pipIrr-platform/pipIrr-global/src/main/resources/application-database-pj.yml
index ee313a9..dd61ff9 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/application-database-pj.yml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/application-database-pj.yml
@@ -6,7 +6,7 @@
             type: com.alibaba.druid.pool.DruidDataSource
             driverClassName: com.mysql.cj.jdbc.Driver
 #            url: jdbc:mysql://192.168.91.73:3306/pipIrr_pj?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull
-            url: jdbc:mysql://127.0.0.1:3306/pipIrr_pj?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull
+            url: jdbc:mysql://192.168.40.166:3306/pipIrr_pj?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull
             username: root
             password: dysql,;.abc!@#
             druid:
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/application-database-ym.yml b/pipIrr-platform/pipIrr-global/src/main/resources/application-database-ym.yml
index 87cffb8..6d047e9 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/application-database-ym.yml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/application-database-ym.yml
@@ -6,7 +6,7 @@
             type: com.alibaba.druid.pool.DruidDataSource
             driverClassName: com.mysql.cj.jdbc.Driver
 #            url: jdbc:mysql://192.168.91.73:3306/pipIrr_ym?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull
-            url: jdbc:mysql://127.0.0.1:3306/pipIrr_ym?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull
+            url: jdbc:mysql://192.168.40.166:3306/pipIrr_ym?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull
             username: root
             password: dysql,;.abc!@#
             druid:
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmWorkReportHistoryMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmWorkReportHistoryMapper.xml
index 9e6940a..a1486ea 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmWorkReportHistoryMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmWorkReportHistoryMapper.xml
@@ -9,16 +9,40 @@
     <result column="intake_id" jdbcType="BIGINT" property="intakeId" />
     <result column="rtu_addr" jdbcType="VARCHAR" property="rtuAddr" />
     <result column="dt" jdbcType="TIMESTAMP" property="dt" />
-    <result column="ic_card_no" jdbcType="VARCHAR" property="icCardNo" />
-    <result column="total_amount" jdbcType="DOUBLE" property="totalAmount" />
-    <result column="instant_amount" jdbcType="DOUBLE" property="instantAmount" />
-    <result column="remain_money" jdbcType="DOUBLE" property="remainMoney" />
     <result column="rtu_dt" jdbcType="TIMESTAMP" property="rtuDt" />
+    <result column="order_no" jdbcType="VARCHAR" property="orderNo" />
+    <result column="ic_card_addr" jdbcType="VARCHAR" property="icCardAddr" />
+    <result column="ic_card_no" jdbcType="VARCHAR" property="icCardNo" />
+    <result column="water_level" jdbcType="FLOAT" property="waterLevel" />
+    <result column="water_press" jdbcType="FLOAT" property="waterPress" />
+    <result column="water_instant" jdbcType="FLOAT" property="waterInstant" />
+    <result column="water_total" jdbcType="FLOAT" property="waterTotal" />
+    <result column="ele_total" jdbcType="FLOAT" property="eleTotal" />
+    <result column="money_remain" jdbcType="FLOAT" property="moneyRemain" />
+    <result column="water_remain" jdbcType="FLOAT" property="waterRemain" />
+    <result column="this_ele" jdbcType="FLOAT" property="thisEle" />
+    <result column="this_water" jdbcType="FLOAT" property="thisWater" />
+    <result column="this_money" jdbcType="FLOAT" property="thisMoney" />
+    <result column="this_duration" jdbcType="INTEGER" property="thisDuration" />
+    <result column="water_price" jdbcType="FLOAT" property="waterPrice" />
+    <result column="ele_price" jdbcType="FLOAT" property="elePrice" />
+    <result column="a_volt" jdbcType="FLOAT" property="aVolt" />
+    <result column="b_volt" jdbcType="FLOAT" property="bVolt" />
+    <result column="c_volt" jdbcType="FLOAT" property="cVolt" />
+    <result column="a_current" jdbcType="FLOAT" property="aCurrent" />
+    <result column="b_current" jdbcType="FLOAT" property="bCurrent" />
+    <result column="c_current" jdbcType="FLOAT" property="cCurrent" />
+    <result column="battery_volt" jdbcType="FLOAT" property="batteryVolt" />
+    <result column="water_meter_trans_volt" jdbcType="FLOAT" property="waterMeterTransVolt" />
+    <result column="water_meter_work_volt" jdbcType="FLOAT" property="waterMeterWorkVolt" />
   </resultMap>
   <sql id="Base_Column_List">
     <!--@mbg.generated-->
-    id, controller_id, intake_id, rtu_addr, dt, ic_card_no, total_amount, instant_amount, 
-    remain_money, rtu_dt
+    id, controller_id, intake_id, rtu_addr, dt, rtu_dt, order_no, ic_card_addr, ic_card_no, 
+    water_level, water_press, water_instant, water_total, ele_total, money_remain, water_remain, 
+    this_ele, this_water, this_money, this_duration, water_price, ele_price, a_volt, 
+    b_volt, c_volt, a_current, b_current, c_current, battery_volt, water_meter_trans_volt, 
+    water_meter_work_volt
   </sql>
   <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
     <!--@mbg.generated-->
@@ -35,13 +59,27 @@
   <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoRm.RmWorkReportHistory">
     <!--@mbg.generated-->
     insert into rm_work_report_history (id, controller_id, intake_id, 
-      rtu_addr, dt, ic_card_no, 
-      total_amount, instant_amount, remain_money, 
-      rtu_dt)
+      rtu_addr, dt, rtu_dt, 
+      order_no, ic_card_addr, ic_card_no, 
+      water_level, water_press, water_instant, 
+      water_total, ele_total, money_remain, 
+      water_remain, this_ele, this_water, 
+      this_money, this_duration, water_price, 
+      ele_price, a_volt, b_volt, c_volt, 
+      a_current, b_current, c_current, 
+      battery_volt, water_meter_trans_volt, water_meter_work_volt
+      )
     values (#{id,jdbcType=BIGINT}, #{controllerId,jdbcType=BIGINT}, #{intakeId,jdbcType=BIGINT}, 
-      #{rtuAddr,jdbcType=VARCHAR}, #{dt,jdbcType=TIMESTAMP}, #{icCardNo,jdbcType=VARCHAR},
-      #{totalAmount,jdbcType=DOUBLE}, #{instantAmount,jdbcType=DOUBLE}, #{remainMoney,jdbcType=DOUBLE}, 
-      #{rtuDt,jdbcType=TIMESTAMP})
+      #{rtuAddr,jdbcType=VARCHAR}, #{dt,jdbcType=TIMESTAMP}, #{rtuDt,jdbcType=TIMESTAMP}, 
+      #{orderNo,jdbcType=VARCHAR}, #{icCardAddr,jdbcType=VARCHAR}, #{icCardNo,jdbcType=VARCHAR}, 
+      #{waterLevel,jdbcType=FLOAT}, #{waterPress,jdbcType=FLOAT}, #{waterInstant,jdbcType=FLOAT}, 
+      #{waterTotal,jdbcType=FLOAT}, #{eleTotal,jdbcType=FLOAT}, #{moneyRemain,jdbcType=FLOAT}, 
+      #{waterRemain,jdbcType=FLOAT}, #{thisEle,jdbcType=FLOAT}, #{thisWater,jdbcType=FLOAT}, 
+      #{thisMoney,jdbcType=FLOAT}, #{thisDuration,jdbcType=INTEGER}, #{waterPrice,jdbcType=FLOAT}, 
+      #{elePrice,jdbcType=FLOAT}, #{aVolt,jdbcType=FLOAT}, #{bVolt,jdbcType=FLOAT}, #{cVolt,jdbcType=FLOAT}, 
+      #{aCurrent,jdbcType=FLOAT}, #{bCurrent,jdbcType=FLOAT}, #{cCurrent,jdbcType=FLOAT}, 
+      #{batteryVolt,jdbcType=FLOAT}, #{waterMeterTransVolt,jdbcType=FLOAT}, #{waterMeterWorkVolt,jdbcType=FLOAT}
+      )
   </insert>
   <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmWorkReportHistory">
     <!--@mbg.generated-->
@@ -62,20 +100,83 @@
       <if test="dt != null">
         dt,
       </if>
+      <if test="rtuDt != null">
+        rtu_dt,
+      </if>
+      <if test="orderNo != null">
+        order_no,
+      </if>
+      <if test="icCardAddr != null">
+        ic_card_addr,
+      </if>
       <if test="icCardNo != null">
         ic_card_no,
       </if>
-      <if test="totalAmount != null">
-        total_amount,
+      <if test="waterLevel != null">
+        water_level,
       </if>
-      <if test="instantAmount != null">
-        instant_amount,
+      <if test="waterPress != null">
+        water_press,
       </if>
-      <if test="remainMoney != null">
-        remain_money,
+      <if test="waterInstant != null">
+        water_instant,
       </if>
-      <if test="rtuDt != null">
-        rtu_dt,
+      <if test="waterTotal != null">
+        water_total,
+      </if>
+      <if test="eleTotal != null">
+        ele_total,
+      </if>
+      <if test="moneyRemain != null">
+        money_remain,
+      </if>
+      <if test="waterRemain != null">
+        water_remain,
+      </if>
+      <if test="thisEle != null">
+        this_ele,
+      </if>
+      <if test="thisWater != null">
+        this_water,
+      </if>
+      <if test="thisMoney != null">
+        this_money,
+      </if>
+      <if test="thisDuration != null">
+        this_duration,
+      </if>
+      <if test="waterPrice != null">
+        water_price,
+      </if>
+      <if test="elePrice != null">
+        ele_price,
+      </if>
+      <if test="aVolt != null">
+        a_volt,
+      </if>
+      <if test="bVolt != null">
+        b_volt,
+      </if>
+      <if test="cVolt != null">
+        c_volt,
+      </if>
+      <if test="aCurrent != null">
+        a_current,
+      </if>
+      <if test="bCurrent != null">
+        b_current,
+      </if>
+      <if test="cCurrent != null">
+        c_current,
+      </if>
+      <if test="batteryVolt != null">
+        battery_volt,
+      </if>
+      <if test="waterMeterTransVolt != null">
+        water_meter_trans_volt,
+      </if>
+      <if test="waterMeterWorkVolt != null">
+        water_meter_work_volt,
       </if>
     </trim>
     <trim prefix="values (" suffix=")" suffixOverrides=",">
@@ -94,20 +195,83 @@
       <if test="dt != null">
         #{dt,jdbcType=TIMESTAMP},
       </if>
+      <if test="rtuDt != null">
+        #{rtuDt,jdbcType=TIMESTAMP},
+      </if>
+      <if test="orderNo != null">
+        #{orderNo,jdbcType=VARCHAR},
+      </if>
+      <if test="icCardAddr != null">
+        #{icCardAddr,jdbcType=VARCHAR},
+      </if>
       <if test="icCardNo != null">
         #{icCardNo,jdbcType=VARCHAR},
       </if>
-      <if test="totalAmount != null">
-        #{totalAmount,jdbcType=DOUBLE},
+      <if test="waterLevel != null">
+        #{waterLevel,jdbcType=FLOAT},
       </if>
-      <if test="instantAmount != null">
-        #{instantAmount,jdbcType=DOUBLE},
+      <if test="waterPress != null">
+        #{waterPress,jdbcType=FLOAT},
       </if>
-      <if test="remainMoney != null">
-        #{remainMoney,jdbcType=DOUBLE},
+      <if test="waterInstant != null">
+        #{waterInstant,jdbcType=FLOAT},
       </if>
-      <if test="rtuDt != null">
-        #{rtuDt,jdbcType=TIMESTAMP},
+      <if test="waterTotal != null">
+        #{waterTotal,jdbcType=FLOAT},
+      </if>
+      <if test="eleTotal != null">
+        #{eleTotal,jdbcType=FLOAT},
+      </if>
+      <if test="moneyRemain != null">
+        #{moneyRemain,jdbcType=FLOAT},
+      </if>
+      <if test="waterRemain != null">
+        #{waterRemain,jdbcType=FLOAT},
+      </if>
+      <if test="thisEle != null">
+        #{thisEle,jdbcType=FLOAT},
+      </if>
+      <if test="thisWater != null">
+        #{thisWater,jdbcType=FLOAT},
+      </if>
+      <if test="thisMoney != null">
+        #{thisMoney,jdbcType=FLOAT},
+      </if>
+      <if test="thisDuration != null">
+        #{thisDuration,jdbcType=INTEGER},
+      </if>
+      <if test="waterPrice != null">
+        #{waterPrice,jdbcType=FLOAT},
+      </if>
+      <if test="elePrice != null">
+        #{elePrice,jdbcType=FLOAT},
+      </if>
+      <if test="aVolt != null">
+        #{aVolt,jdbcType=FLOAT},
+      </if>
+      <if test="bVolt != null">
+        #{bVolt,jdbcType=FLOAT},
+      </if>
+      <if test="cVolt != null">
+        #{cVolt,jdbcType=FLOAT},
+      </if>
+      <if test="aCurrent != null">
+        #{aCurrent,jdbcType=FLOAT},
+      </if>
+      <if test="bCurrent != null">
+        #{bCurrent,jdbcType=FLOAT},
+      </if>
+      <if test="cCurrent != null">
+        #{cCurrent,jdbcType=FLOAT},
+      </if>
+      <if test="batteryVolt != null">
+        #{batteryVolt,jdbcType=FLOAT},
+      </if>
+      <if test="waterMeterTransVolt != null">
+        #{waterMeterTransVolt,jdbcType=FLOAT},
+      </if>
+      <if test="waterMeterWorkVolt != null">
+        #{waterMeterWorkVolt,jdbcType=FLOAT},
       </if>
     </trim>
   </insert>
@@ -127,20 +291,83 @@
       <if test="dt != null">
         dt = #{dt,jdbcType=TIMESTAMP},
       </if>
+      <if test="rtuDt != null">
+        rtu_dt = #{rtuDt,jdbcType=TIMESTAMP},
+      </if>
+      <if test="orderNo != null">
+        order_no = #{orderNo,jdbcType=VARCHAR},
+      </if>
+      <if test="icCardAddr != null">
+        ic_card_addr = #{icCardAddr,jdbcType=VARCHAR},
+      </if>
       <if test="icCardNo != null">
         ic_card_no = #{icCardNo,jdbcType=VARCHAR},
       </if>
-      <if test="totalAmount != null">
-        total_amount = #{totalAmount,jdbcType=DOUBLE},
+      <if test="waterLevel != null">
+        water_level = #{waterLevel,jdbcType=FLOAT},
       </if>
-      <if test="instantAmount != null">
-        instant_amount = #{instantAmount,jdbcType=DOUBLE},
+      <if test="waterPress != null">
+        water_press = #{waterPress,jdbcType=FLOAT},
       </if>
-      <if test="remainMoney != null">
-        remain_money = #{remainMoney,jdbcType=DOUBLE},
+      <if test="waterInstant != null">
+        water_instant = #{waterInstant,jdbcType=FLOAT},
       </if>
-      <if test="rtuDt != null">
-        rtu_dt = #{rtuDt,jdbcType=TIMESTAMP},
+      <if test="waterTotal != null">
+        water_total = #{waterTotal,jdbcType=FLOAT},
+      </if>
+      <if test="eleTotal != null">
+        ele_total = #{eleTotal,jdbcType=FLOAT},
+      </if>
+      <if test="moneyRemain != null">
+        money_remain = #{moneyRemain,jdbcType=FLOAT},
+      </if>
+      <if test="waterRemain != null">
+        water_remain = #{waterRemain,jdbcType=FLOAT},
+      </if>
+      <if test="thisEle != null">
+        this_ele = #{thisEle,jdbcType=FLOAT},
+      </if>
+      <if test="thisWater != null">
+        this_water = #{thisWater,jdbcType=FLOAT},
+      </if>
+      <if test="thisMoney != null">
+        this_money = #{thisMoney,jdbcType=FLOAT},
+      </if>
+      <if test="thisDuration != null">
+        this_duration = #{thisDuration,jdbcType=INTEGER},
+      </if>
+      <if test="waterPrice != null">
+        water_price = #{waterPrice,jdbcType=FLOAT},
+      </if>
+      <if test="elePrice != null">
+        ele_price = #{elePrice,jdbcType=FLOAT},
+      </if>
+      <if test="aVolt != null">
+        a_volt = #{aVolt,jdbcType=FLOAT},
+      </if>
+      <if test="bVolt != null">
+        b_volt = #{bVolt,jdbcType=FLOAT},
+      </if>
+      <if test="cVolt != null">
+        c_volt = #{cVolt,jdbcType=FLOAT},
+      </if>
+      <if test="aCurrent != null">
+        a_current = #{aCurrent,jdbcType=FLOAT},
+      </if>
+      <if test="bCurrent != null">
+        b_current = #{bCurrent,jdbcType=FLOAT},
+      </if>
+      <if test="cCurrent != null">
+        c_current = #{cCurrent,jdbcType=FLOAT},
+      </if>
+      <if test="batteryVolt != null">
+        battery_volt = #{batteryVolt,jdbcType=FLOAT},
+      </if>
+      <if test="waterMeterTransVolt != null">
+        water_meter_trans_volt = #{waterMeterTransVolt,jdbcType=FLOAT},
+      </if>
+      <if test="waterMeterWorkVolt != null">
+        water_meter_work_volt = #{waterMeterWorkVolt,jdbcType=FLOAT},
       </if>
     </set>
     where id = #{id,jdbcType=BIGINT}
@@ -152,11 +379,32 @@
       intake_id = #{intakeId,jdbcType=BIGINT},
       rtu_addr = #{rtuAddr,jdbcType=VARCHAR},
       dt = #{dt,jdbcType=TIMESTAMP},
+      rtu_dt = #{rtuDt,jdbcType=TIMESTAMP},
+      order_no = #{orderNo,jdbcType=VARCHAR},
+      ic_card_addr = #{icCardAddr,jdbcType=VARCHAR},
       ic_card_no = #{icCardNo,jdbcType=VARCHAR},
-      total_amount = #{totalAmount,jdbcType=DOUBLE},
-      instant_amount = #{instantAmount,jdbcType=DOUBLE},
-      remain_money = #{remainMoney,jdbcType=DOUBLE},
-      rtu_dt = #{rtuDt,jdbcType=TIMESTAMP}
+      water_level = #{waterLevel,jdbcType=FLOAT},
+      water_press = #{waterPress,jdbcType=FLOAT},
+      water_instant = #{waterInstant,jdbcType=FLOAT},
+      water_total = #{waterTotal,jdbcType=FLOAT},
+      ele_total = #{eleTotal,jdbcType=FLOAT},
+      money_remain = #{moneyRemain,jdbcType=FLOAT},
+      water_remain = #{waterRemain,jdbcType=FLOAT},
+      this_ele = #{thisEle,jdbcType=FLOAT},
+      this_water = #{thisWater,jdbcType=FLOAT},
+      this_money = #{thisMoney,jdbcType=FLOAT},
+      this_duration = #{thisDuration,jdbcType=INTEGER},
+      water_price = #{waterPrice,jdbcType=FLOAT},
+      ele_price = #{elePrice,jdbcType=FLOAT},
+      a_volt = #{aVolt,jdbcType=FLOAT},
+      b_volt = #{bVolt,jdbcType=FLOAT},
+      c_volt = #{cVolt,jdbcType=FLOAT},
+      a_current = #{aCurrent,jdbcType=FLOAT},
+      b_current = #{bCurrent,jdbcType=FLOAT},
+      c_current = #{cCurrent,jdbcType=FLOAT},
+      battery_volt = #{batteryVolt,jdbcType=FLOAT},
+      water_meter_trans_volt = #{waterMeterTransVolt,jdbcType=FLOAT},
+      water_meter_work_volt = #{waterMeterWorkVolt,jdbcType=FLOAT}
     where id = #{id,jdbcType=BIGINT}
   </update>
 </mapper>
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmWorkReportLastMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmWorkReportLastMapper.xml
index d4ab507..9e6c609 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmWorkReportLastMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmWorkReportLastMapper.xml
@@ -9,16 +9,40 @@
     <result column="intake_id" jdbcType="BIGINT" property="intakeId" />
     <result column="rtu_addr" jdbcType="VARCHAR" property="rtuAddr" />
     <result column="dt" jdbcType="TIMESTAMP" property="dt" />
-    <result column="ic_card_no" jdbcType="VARCHAR" property="icCardNo" />
-    <result column="total_amount" jdbcType="DOUBLE" property="totalAmount" />
-    <result column="instant_amount" jdbcType="DOUBLE" property="instantAmount" />
-    <result column="remain_money" jdbcType="DOUBLE" property="remainMoney" />
     <result column="rtu_dt" jdbcType="TIMESTAMP" property="rtuDt" />
+    <result column="order_no" jdbcType="VARCHAR" property="orderNo" />
+    <result column="ic_card_addr" jdbcType="VARCHAR" property="icCardAddr" />
+    <result column="ic_card_no" jdbcType="VARCHAR" property="icCardNo" />
+    <result column="water_level" jdbcType="FLOAT" property="waterLevel" />
+    <result column="water_press" jdbcType="FLOAT" property="waterPress" />
+    <result column="water_instant" jdbcType="FLOAT" property="waterInstant" />
+    <result column="water_total" jdbcType="FLOAT" property="waterTotal" />
+    <result column="ele_total" jdbcType="FLOAT" property="eleTotal" />
+    <result column="money_remain" jdbcType="FLOAT" property="moneyRemain" />
+    <result column="water_remain" jdbcType="FLOAT" property="waterRemain" />
+    <result column="this_ele" jdbcType="FLOAT" property="thisEle" />
+    <result column="this_water" jdbcType="FLOAT" property="thisWater" />
+    <result column="this_money" jdbcType="FLOAT" property="thisMoney" />
+    <result column="this_duration" jdbcType="INTEGER" property="thisDuration" />
+    <result column="water_price" jdbcType="FLOAT" property="waterPrice" />
+    <result column="ele_price" jdbcType="FLOAT" property="elePrice" />
+    <result column="a_volt" jdbcType="FLOAT" property="aVolt" />
+    <result column="b_volt" jdbcType="FLOAT" property="bVolt" />
+    <result column="c_volt" jdbcType="FLOAT" property="cVolt" />
+    <result column="a_current" jdbcType="FLOAT" property="aCurrent" />
+    <result column="b_current" jdbcType="FLOAT" property="bCurrent" />
+    <result column="c_current" jdbcType="FLOAT" property="cCurrent" />
+    <result column="battery_volt" jdbcType="FLOAT" property="batteryVolt" />
+    <result column="water_meter_trans_volt" jdbcType="FLOAT" property="waterMeterTransVolt" />
+    <result column="water_meter_work_volt" jdbcType="FLOAT" property="waterMeterWorkVolt" />
   </resultMap>
   <sql id="Base_Column_List">
     <!--@mbg.generated-->
-    id, controller_id, intake_id, rtu_addr, dt, ic_card_no, total_amount, instant_amount, 
-    remain_money, rtu_dt
+    id, controller_id, intake_id, rtu_addr, dt, rtu_dt, order_no, ic_card_addr, ic_card_no, 
+    water_level, water_press, water_instant, water_total, ele_total, money_remain, water_remain, 
+    this_ele, this_water, this_money, this_duration, water_price, ele_price, a_volt, 
+    b_volt, c_volt, a_current, b_current, c_current, battery_volt, water_meter_trans_volt, 
+    water_meter_work_volt
   </sql>
   <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
     <!--@mbg.generated-->
@@ -26,13 +50,6 @@
     <include refid="Base_Column_List" />
     from rm_work_report_last
     where id = #{id,jdbcType=BIGINT}
-  </select>
-  <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>
   <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
     <!--@mbg.generated-->
@@ -42,13 +59,27 @@
   <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoRm.RmWorkReportLast">
     <!--@mbg.generated-->
     insert into rm_work_report_last (id, controller_id, intake_id, 
-      rtu_addr, dt, ic_card_no, 
-      total_amount, instant_amount, remain_money, 
-      rtu_dt)
+      rtu_addr, dt, rtu_dt, 
+      order_no, ic_card_addr, ic_card_no, 
+      water_level, water_press, water_instant, 
+      water_total, ele_total, money_remain, 
+      water_remain, this_ele, this_water, 
+      this_money, this_duration, water_price, 
+      ele_price, a_volt, b_volt, c_volt, 
+      a_current, b_current, c_current, 
+      battery_volt, water_meter_trans_volt, water_meter_work_volt
+      )
     values (#{id,jdbcType=BIGINT}, #{controllerId,jdbcType=BIGINT}, #{intakeId,jdbcType=BIGINT}, 
-      #{rtuAddr,jdbcType=VARCHAR}, #{dt,jdbcType=TIMESTAMP}, #{icCardNo,jdbcType=VARCHAR},
-      #{totalAmount,jdbcType=DOUBLE}, #{instantAmount,jdbcType=DOUBLE}, #{remainMoney,jdbcType=DOUBLE}, 
-      #{rtuDt,jdbcType=TIMESTAMP})
+      #{rtuAddr,jdbcType=VARCHAR}, #{dt,jdbcType=TIMESTAMP}, #{rtuDt,jdbcType=TIMESTAMP}, 
+      #{orderNo,jdbcType=VARCHAR}, #{icCardAddr,jdbcType=VARCHAR}, #{icCardNo,jdbcType=VARCHAR}, 
+      #{waterLevel,jdbcType=FLOAT}, #{waterPress,jdbcType=FLOAT}, #{waterInstant,jdbcType=FLOAT}, 
+      #{waterTotal,jdbcType=FLOAT}, #{eleTotal,jdbcType=FLOAT}, #{moneyRemain,jdbcType=FLOAT}, 
+      #{waterRemain,jdbcType=FLOAT}, #{thisEle,jdbcType=FLOAT}, #{thisWater,jdbcType=FLOAT}, 
+      #{thisMoney,jdbcType=FLOAT}, #{thisDuration,jdbcType=INTEGER}, #{waterPrice,jdbcType=FLOAT}, 
+      #{elePrice,jdbcType=FLOAT}, #{aVolt,jdbcType=FLOAT}, #{bVolt,jdbcType=FLOAT}, #{cVolt,jdbcType=FLOAT}, 
+      #{aCurrent,jdbcType=FLOAT}, #{bCurrent,jdbcType=FLOAT}, #{cCurrent,jdbcType=FLOAT}, 
+      #{batteryVolt,jdbcType=FLOAT}, #{waterMeterTransVolt,jdbcType=FLOAT}, #{waterMeterWorkVolt,jdbcType=FLOAT}
+      )
   </insert>
   <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmWorkReportLast">
     <!--@mbg.generated-->
@@ -69,20 +100,83 @@
       <if test="dt != null">
         dt,
       </if>
+      <if test="rtuDt != null">
+        rtu_dt,
+      </if>
+      <if test="orderNo != null">
+        order_no,
+      </if>
+      <if test="icCardAddr != null">
+        ic_card_addr,
+      </if>
       <if test="icCardNo != null">
         ic_card_no,
       </if>
-      <if test="totalAmount != null">
-        total_amount,
+      <if test="waterLevel != null">
+        water_level,
       </if>
-      <if test="instantAmount != null">
-        instant_amount,
+      <if test="waterPress != null">
+        water_press,
       </if>
-      <if test="remainMoney != null">
-        remain_money,
+      <if test="waterInstant != null">
+        water_instant,
       </if>
-      <if test="rtuDt != null">
-        rtu_dt,
+      <if test="waterTotal != null">
+        water_total,
+      </if>
+      <if test="eleTotal != null">
+        ele_total,
+      </if>
+      <if test="moneyRemain != null">
+        money_remain,
+      </if>
+      <if test="waterRemain != null">
+        water_remain,
+      </if>
+      <if test="thisEle != null">
+        this_ele,
+      </if>
+      <if test="thisWater != null">
+        this_water,
+      </if>
+      <if test="thisMoney != null">
+        this_money,
+      </if>
+      <if test="thisDuration != null">
+        this_duration,
+      </if>
+      <if test="waterPrice != null">
+        water_price,
+      </if>
+      <if test="elePrice != null">
+        ele_price,
+      </if>
+      <if test="aVolt != null">
+        a_volt,
+      </if>
+      <if test="bVolt != null">
+        b_volt,
+      </if>
+      <if test="cVolt != null">
+        c_volt,
+      </if>
+      <if test="aCurrent != null">
+        a_current,
+      </if>
+      <if test="bCurrent != null">
+        b_current,
+      </if>
+      <if test="cCurrent != null">
+        c_current,
+      </if>
+      <if test="batteryVolt != null">
+        battery_volt,
+      </if>
+      <if test="waterMeterTransVolt != null">
+        water_meter_trans_volt,
+      </if>
+      <if test="waterMeterWorkVolt != null">
+        water_meter_work_volt,
       </if>
     </trim>
     <trim prefix="values (" suffix=")" suffixOverrides=",">
@@ -101,20 +195,83 @@
       <if test="dt != null">
         #{dt,jdbcType=TIMESTAMP},
       </if>
+      <if test="rtuDt != null">
+        #{rtuDt,jdbcType=TIMESTAMP},
+      </if>
+      <if test="orderNo != null">
+        #{orderNo,jdbcType=VARCHAR},
+      </if>
+      <if test="icCardAddr != null">
+        #{icCardAddr,jdbcType=VARCHAR},
+      </if>
       <if test="icCardNo != null">
         #{icCardNo,jdbcType=VARCHAR},
       </if>
-      <if test="totalAmount != null">
-        #{totalAmount,jdbcType=DOUBLE},
+      <if test="waterLevel != null">
+        #{waterLevel,jdbcType=FLOAT},
       </if>
-      <if test="instantAmount != null">
-        #{instantAmount,jdbcType=DOUBLE},
+      <if test="waterPress != null">
+        #{waterPress,jdbcType=FLOAT},
       </if>
-      <if test="remainMoney != null">
-        #{remainMoney,jdbcType=DOUBLE},
+      <if test="waterInstant != null">
+        #{waterInstant,jdbcType=FLOAT},
       </if>
-      <if test="rtuDt != null">
-        #{rtuDt,jdbcType=TIMESTAMP},
+      <if test="waterTotal != null">
+        #{waterTotal,jdbcType=FLOAT},
+      </if>
+      <if test="eleTotal != null">
+        #{eleTotal,jdbcType=FLOAT},
+      </if>
+      <if test="moneyRemain != null">
+        #{moneyRemain,jdbcType=FLOAT},
+      </if>
+      <if test="waterRemain != null">
+        #{waterRemain,jdbcType=FLOAT},
+      </if>
+      <if test="thisEle != null">
+        #{thisEle,jdbcType=FLOAT},
+      </if>
+      <if test="thisWater != null">
+        #{thisWater,jdbcType=FLOAT},
+      </if>
+      <if test="thisMoney != null">
+        #{thisMoney,jdbcType=FLOAT},
+      </if>
+      <if test="thisDuration != null">
+        #{thisDuration,jdbcType=INTEGER},
+      </if>
+      <if test="waterPrice != null">
+        #{waterPrice,jdbcType=FLOAT},
+      </if>
+      <if test="elePrice != null">
+        #{elePrice,jdbcType=FLOAT},
+      </if>
+      <if test="aVolt != null">
+        #{aVolt,jdbcType=FLOAT},
+      </if>
+      <if test="bVolt != null">
+        #{bVolt,jdbcType=FLOAT},
+      </if>
+      <if test="cVolt != null">
+        #{cVolt,jdbcType=FLOAT},
+      </if>
+      <if test="aCurrent != null">
+        #{aCurrent,jdbcType=FLOAT},
+      </if>
+      <if test="bCurrent != null">
+        #{bCurrent,jdbcType=FLOAT},
+      </if>
+      <if test="cCurrent != null">
+        #{cCurrent,jdbcType=FLOAT},
+      </if>
+      <if test="batteryVolt != null">
+        #{batteryVolt,jdbcType=FLOAT},
+      </if>
+      <if test="waterMeterTransVolt != null">
+        #{waterMeterTransVolt,jdbcType=FLOAT},
+      </if>
+      <if test="waterMeterWorkVolt != null">
+        #{waterMeterWorkVolt,jdbcType=FLOAT},
       </if>
     </trim>
   </insert>
@@ -134,20 +291,83 @@
       <if test="dt != null">
         dt = #{dt,jdbcType=TIMESTAMP},
       </if>
+      <if test="rtuDt != null">
+        rtu_dt = #{rtuDt,jdbcType=TIMESTAMP},
+      </if>
+      <if test="orderNo != null">
+        order_no = #{orderNo,jdbcType=VARCHAR},
+      </if>
+      <if test="icCardAddr != null">
+        ic_card_addr = #{icCardAddr,jdbcType=VARCHAR},
+      </if>
       <if test="icCardNo != null">
         ic_card_no = #{icCardNo,jdbcType=VARCHAR},
       </if>
-      <if test="totalAmount != null">
-        total_amount = #{totalAmount,jdbcType=DOUBLE},
+      <if test="waterLevel != null">
+        water_level = #{waterLevel,jdbcType=FLOAT},
       </if>
-      <if test="instantAmount != null">
-        instant_amount = #{instantAmount,jdbcType=DOUBLE},
+      <if test="waterPress != null">
+        water_press = #{waterPress,jdbcType=FLOAT},
       </if>
-      <if test="remainMoney != null">
-        remain_money = #{remainMoney,jdbcType=DOUBLE},
+      <if test="waterInstant != null">
+        water_instant = #{waterInstant,jdbcType=FLOAT},
       </if>
-      <if test="rtuDt != null">
-        rtu_dt = #{rtuDt,jdbcType=TIMESTAMP},
+      <if test="waterTotal != null">
+        water_total = #{waterTotal,jdbcType=FLOAT},
+      </if>
+      <if test="eleTotal != null">
+        ele_total = #{eleTotal,jdbcType=FLOAT},
+      </if>
+      <if test="moneyRemain != null">
+        money_remain = #{moneyRemain,jdbcType=FLOAT},
+      </if>
+      <if test="waterRemain != null">
+        water_remain = #{waterRemain,jdbcType=FLOAT},
+      </if>
+      <if test="thisEle != null">
+        this_ele = #{thisEle,jdbcType=FLOAT},
+      </if>
+      <if test="thisWater != null">
+        this_water = #{thisWater,jdbcType=FLOAT},
+      </if>
+      <if test="thisMoney != null">
+        this_money = #{thisMoney,jdbcType=FLOAT},
+      </if>
+      <if test="thisDuration != null">
+        this_duration = #{thisDuration,jdbcType=INTEGER},
+      </if>
+      <if test="waterPrice != null">
+        water_price = #{waterPrice,jdbcType=FLOAT},
+      </if>
+      <if test="elePrice != null">
+        ele_price = #{elePrice,jdbcType=FLOAT},
+      </if>
+      <if test="aVolt != null">
+        a_volt = #{aVolt,jdbcType=FLOAT},
+      </if>
+      <if test="bVolt != null">
+        b_volt = #{bVolt,jdbcType=FLOAT},
+      </if>
+      <if test="cVolt != null">
+        c_volt = #{cVolt,jdbcType=FLOAT},
+      </if>
+      <if test="aCurrent != null">
+        a_current = #{aCurrent,jdbcType=FLOAT},
+      </if>
+      <if test="bCurrent != null">
+        b_current = #{bCurrent,jdbcType=FLOAT},
+      </if>
+      <if test="cCurrent != null">
+        c_current = #{cCurrent,jdbcType=FLOAT},
+      </if>
+      <if test="batteryVolt != null">
+        battery_volt = #{batteryVolt,jdbcType=FLOAT},
+      </if>
+      <if test="waterMeterTransVolt != null">
+        water_meter_trans_volt = #{waterMeterTransVolt,jdbcType=FLOAT},
+      </if>
+      <if test="waterMeterWorkVolt != null">
+        water_meter_work_volt = #{waterMeterWorkVolt,jdbcType=FLOAT},
       </if>
     </set>
     where id = #{id,jdbcType=BIGINT}
@@ -159,11 +379,32 @@
       intake_id = #{intakeId,jdbcType=BIGINT},
       rtu_addr = #{rtuAddr,jdbcType=VARCHAR},
       dt = #{dt,jdbcType=TIMESTAMP},
+      rtu_dt = #{rtuDt,jdbcType=TIMESTAMP},
+      order_no = #{orderNo,jdbcType=VARCHAR},
+      ic_card_addr = #{icCardAddr,jdbcType=VARCHAR},
       ic_card_no = #{icCardNo,jdbcType=VARCHAR},
-      total_amount = #{totalAmount,jdbcType=DOUBLE},
-      instant_amount = #{instantAmount,jdbcType=DOUBLE},
-      remain_money = #{remainMoney,jdbcType=DOUBLE},
-      rtu_dt = #{rtuDt,jdbcType=TIMESTAMP}
+      water_level = #{waterLevel,jdbcType=FLOAT},
+      water_press = #{waterPress,jdbcType=FLOAT},
+      water_instant = #{waterInstant,jdbcType=FLOAT},
+      water_total = #{waterTotal,jdbcType=FLOAT},
+      ele_total = #{eleTotal,jdbcType=FLOAT},
+      money_remain = #{moneyRemain,jdbcType=FLOAT},
+      water_remain = #{waterRemain,jdbcType=FLOAT},
+      this_ele = #{thisEle,jdbcType=FLOAT},
+      this_water = #{thisWater,jdbcType=FLOAT},
+      this_money = #{thisMoney,jdbcType=FLOAT},
+      this_duration = #{thisDuration,jdbcType=INTEGER},
+      water_price = #{waterPrice,jdbcType=FLOAT},
+      ele_price = #{elePrice,jdbcType=FLOAT},
+      a_volt = #{aVolt,jdbcType=FLOAT},
+      b_volt = #{bVolt,jdbcType=FLOAT},
+      c_volt = #{cVolt,jdbcType=FLOAT},
+      a_current = #{aCurrent,jdbcType=FLOAT},
+      b_current = #{bCurrent,jdbcType=FLOAT},
+      c_current = #{cCurrent,jdbcType=FLOAT},
+      battery_volt = #{batteryVolt,jdbcType=FLOAT},
+      water_meter_trans_volt = #{waterMeterTransVolt,jdbcType=FLOAT},
+      water_meter_work_volt = #{waterMeterWorkVolt,jdbcType=FLOAT}
     where id = #{id,jdbcType=BIGINT}
   </update>
 </mapper>
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealLoss.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealLoss.java
index 72cdc87..695beb2 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealLoss.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealLoss.java
@@ -36,16 +36,16 @@
         Object subD = d.getSubData();
         if (subD != null) {
             DataV1_0_1 dV1_0_1 = (DataV1_0_1) subD;
-//            if (dV1_0_1 != null && dV1_0_1.dataCdC0Vo != null) {
-//                Object[] objs = this.getTaskResults(TkPreGenObjs.taskId);
-//                DbSv sv = (DbSv) objs[0];
-//                PrController controller = (PrController) objs[1];
-//                try {
-//                    this.doDeal(sv, controller, d.getRtuAddr(), dV1_0_1, dV1_0_1.dataCdC0Vo);
-//                } catch (Exception e) {
-//                    log.error("淇濆瓨鎺у埗鍣ㄥ紑闃�涓婃姤鏃跺彂鐢熷紓甯�", e);
-//                }
-//            }
+            if (dV1_0_1 != null && dV1_0_1.subData != null) {
+                Object[] objs = this.getTaskResults(TkPreGenObjs.taskId);
+                DbSv sv = (DbSv) objs[0];
+                PrController controller = (PrController) objs[1];
+                try {
+                    this.doDeal(sv, controller, d.getRtuAddr(), dV1_0_1, (DataCdC0Vo)dV1_0_1.subData);
+                } catch (Exception e) {
+                    log.error("淇濆瓨閬ユ祴绔欒嚜鎶ュ疄鏃舵暟鎹腑鐨勬紡鎹熸暟鎹椂鍙戠敓寮傚父", e);
+                }
+            }
         }
     }
 
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealWorkReport.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealWorkReport.java
index c393b9d..a1f920f 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealWorkReport.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealWorkReport.java
@@ -55,7 +55,7 @@
      * @param dataCd84Vo 宸ヤ綔鎶ユ暟鎹璞�
      */
     private void doDeal(DbSv sv, PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCd84Vo dataCd84Vo) throws Exception {
-        this.saveLast(sv, controller, rtuAddr, dV1_0_1, dataCd84Vo);
+        this.saveOrUpdateLast(sv, controller, rtuAddr, dV1_0_1, dataCd84Vo);
         this.saveHistory(sv, controller, rtuAddr, dV1_0_1, dataCd84Vo);
     }
 
@@ -67,30 +67,30 @@
      * @param dV1_0_1
      * @param dataCd84Vo
      */
-    private void saveLast(DbSv sv, PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCd84Vo dataCd84Vo) throws Exception {
-        RmWorkReportLast po = sv.getRmWorkReportLast(rtuAddr) ;
-        if(po == null){
-            po = new RmWorkReportLast(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(dataCd84Vo.rtuDt),
-                    dataCd84Vo.cardNo,
-                    dataCd84Vo.totalAmount,
-                    dataCd84Vo.instantAmount,
-                    dataCd84Vo.remainMoney) ;
-            sv.saveRmWorkReportLast(po) ;
-        }else{
-            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(dataCd84Vo.rtuDt);
-            po.icCardNo = dataCd84Vo.cardNo;
-            po.totalAmount = dataCd84Vo.totalAmount;
-            po.instantAmount = dataCd84Vo.instantAmount;
-            po.remainMoney = dataCd84Vo.remainMoney;
-            sv.updateRmWorkReportLast(po);
-        }
+    private void saveOrUpdateLast(DbSv sv, PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCd84Vo dataCd84Vo) throws Exception {
+//        RmWorkReportLast po = sv.getRmWorkReportLast(rtuAddr) ;
+//        if(po == null){
+//            po = new RmWorkReportLast(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(dataCd84Vo.rtuDt),
+//                    dataCd84Vo.cardNo,
+//                    dataCd84Vo.totalAmount,
+//                    dataCd84Vo.instantAmount,
+//                    dataCd84Vo.remainMoney) ;
+//            sv.saveRmWorkReportLast(po) ;
+//        }else{
+//            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(dataCd84Vo.rtuDt);
+//            po.icCardNo = dataCd84Vo.cardNo;
+//            po.totalAmount = dataCd84Vo.totalAmount;
+//            po.instantAmount = dataCd84Vo.instantAmount;
+//            po.remainMoney = dataCd84Vo.remainMoney;
+//            sv.updateRmWorkReportLast(po);
+//        }
     }
     /**
      * 淇濆瓨闃�寮�宸ヤ綔鎶ュ巻鍙叉暟鎹�
@@ -101,15 +101,15 @@
      * @param dataCd84Vo
      */
     private void saveHistory(DbSv sv, PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCd84Vo dataCd84Vo) throws Exception {
-        RmWorkReportHistory po = new RmWorkReportHistory(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(dataCd84Vo.rtuDt),
-                dataCd84Vo.cardNo,
-                dataCd84Vo.totalAmount,
-                dataCd84Vo.instantAmount,
-                dataCd84Vo.remainMoney) ;
-        sv.saveRmWorkReportHistory(po) ;
+//        RmWorkReportHistory po = new RmWorkReportHistory(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(dataCd84Vo.rtuDt),
+//                dataCd84Vo.cardNo,
+//                dataCd84Vo.totalAmount,
+//                dataCd84Vo.instantAmount,
+//                dataCd84Vo.remainMoney) ;
+//        sv.saveRmWorkReportHistory(po) ;
     }
 
 
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkFindReport.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkFindReport.java
index 391ebc9..3001448 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkFindReport.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkFindReport.java
@@ -31,7 +31,10 @@
         Data d = (Data)data ;
         if(d.getCommandId() == null || d.getCommandId().trim().equals("")){
             //鏃犲懡浠D
-            this.toNextTasks(data);
+            Object dataP206V1_0_0 = d.getSubData() ;
+            if(dataP206V1_0_0 != null) {
+                this.toNextTasks(data);
+            }
         }
     }
 }
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealAlarmStatusV202404.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealAlarmStatusV202404.java
index e3033ee..1828835 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealAlarmStatusV202404.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealAlarmStatusV202404.java
@@ -30,42 +30,41 @@
     @Override
     public void execute(Object data) {
         Data d = (Data)data ;
-        DataV202404 dV202404 = (DataV202404)d.getSubData()  ;//鍓嶉潰浠诲姟宸茬粡鍒ゆ柇涓嶄负null
+        DataV202404 dV202404 = (DataV202404)d.getSubData() ;
         Object cdObj = dV202404.subData ;
-        if(cdObj != null){
-            try{
-                Object[] objs = this.getTaskResults(TkPreGenObjsV202404.taskId) ;
-                DbSv sv = (DbSv)objs[0] ;
-                PrController controller = (PrController)objs[1] ;
-                if(cdObj instanceof DataCd81Vo){
-                    //璁惧缁堢闅忔満鑷姤
-                    DataCd81Vo cdData = (DataCd81Vo)(cdObj) ;
-                    this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), cdData.rtuDt, cdData, dV202404.dt) ;
-                    this.saveHistory(sv, controller, d.getRtuAddr(), cdData.rtuDt, cdData, dV202404.dt) ;
-                }else if(cdObj instanceof DataCd80_5BVo){
-                    //璁惧缁堢宸ヤ綔涓婃姤 + 鏌ヨ璁惧缁堢瀹炴椂鍊�
-                    DataCd80_5BVo cdData = (DataCd80_5BVo)(cdObj) ;
-                    this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), cdData.rtuDt, cdData, dV202404.dt) ;
-                    this.saveHistory(sv, controller, d.getRtuAddr(), cdData.rtuDt, cdData, dV202404.dt) ;
-                }else if(cdObj instanceof DataCd93_A3Vo){
-                    //骞冲彴/APP杩滅▼鍏抽棴姘存车/闃�闂�   +  鍒峰崱鍏虫车/闃�涓婃姤
-                    DataCd93_A3Vo cdData = (DataCd93_A3Vo)(cdObj) ;
-                    this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), cdData.endDt, cdData, dV202404.dt) ;
-                    this.saveHistory(sv, controller, d.getRtuAddr(), cdData.endDt, cdData, dV202404.dt) ;
-                }else if(cdObj instanceof DataCd84Vo){
-                    //璁惧缁堢闅忔満鑷姤
-                    DataCd84Vo cdData = (DataCd84Vo)(cdObj) ;
-                    this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), cdData.opDt, cdData, dV202404.dt) ;
-                    this.saveHistory(sv, controller, d.getRtuAddr(), cdData.opDt, cdData, dV202404.dt) ;
-                }else if(cdObj instanceof DataCdC2Vo){
-                    //璁惧缁堢闅忔満鑷姤
-                    DataCdC2Vo cdData = (DataCdC2Vo)(cdObj) ;
-                    this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), cdData.rtuDt, cdData, dV202404.dt) ;
-                    this.saveHistory(sv, controller, d.getRtuAddr(), cdData.rtuDt, cdData, dV202404.dt) ;
-                }
-            }catch (Exception e){
-                log.error("淇濆瓨鎺у埗鍣ㄦ姤璀﹀拰鐘舵�佹暟鎹椂鍙戠敓寮傚父", e);
+        //鍓嶉潰浠诲姟宸茬粡鍒ゆ柇cdObj涓嶄负null
+        try{
+            Object[] objs = this.getTaskResults(TkPreGenObjsV202404.taskId) ;
+            DbSv sv = (DbSv)objs[0] ;
+            PrController controller = (PrController)objs[1] ;
+            if(cdObj instanceof DataCd81Vo){
+                //璁惧缁堢闅忔満鑷姤
+                DataCd81Vo cdData = (DataCd81Vo)(cdObj) ;
+                this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), cdData.rtuDt, cdData, dV202404.dt) ;
+                this.saveHistory(sv, controller, d.getRtuAddr(), cdData.rtuDt, cdData, dV202404.dt) ;
+            }else if(cdObj instanceof DataCd80_5BVo){
+                //璁惧缁堢宸ヤ綔涓婃姤 + 鏌ヨ璁惧缁堢瀹炴椂鍊�
+                DataCd80_5BVo cdData = (DataCd80_5BVo)(cdObj) ;
+                this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), cdData.rtuDt, cdData, dV202404.dt) ;
+                this.saveHistory(sv, controller, d.getRtuAddr(), cdData.rtuDt, cdData, dV202404.dt) ;
+            }else if(cdObj instanceof DataCd93_A3Vo){
+                //骞冲彴/APP杩滅▼鍏抽棴姘存车/闃�闂�   +  鍒峰崱鍏虫车/闃�涓婃姤
+                DataCd93_A3Vo cdData = (DataCd93_A3Vo)(cdObj) ;
+                this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), cdData.endDt, cdData, dV202404.dt) ;
+                this.saveHistory(sv, controller, d.getRtuAddr(), cdData.endDt, cdData, dV202404.dt) ;
+            }else if(cdObj instanceof DataCd84Vo){
+                //璁惧缁堢鍒峰崱寮�娉�/闃�涓婃姤
+                DataCd84Vo cdData = (DataCd84Vo)(cdObj) ;
+                this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), cdData.opDt, cdData, dV202404.dt) ;
+                this.saveHistory(sv, controller, d.getRtuAddr(), cdData.opDt, cdData, dV202404.dt) ;
+            }else if(cdObj instanceof DataCdC2Vo){
+                //璁惧缁堢寮�鍏虫按娉�/闃�闂ㄦ垚鍔�/澶辫触涓婃姤
+                DataCdC2Vo cdData = (DataCdC2Vo)(cdObj) ;
+                this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), cdData.rtuDt, cdData, dV202404.dt) ;
+                this.saveHistory(sv, controller, d.getRtuAddr(), cdData.rtuDt, cdData, dV202404.dt) ;
             }
+        }catch (Exception e){
+            log.error("淇濆瓨鎺у埗鍣ㄦ姤璀﹀拰鐘舵�佹暟鎹椂鍙戠敓寮傚父", e);
         }
     }
     /**
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealWorkingReportV202404.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealWorkingReportV202404.java
new file mode 100644
index 0000000..b64845e
--- /dev/null
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealWorkingReportV202404.java
@@ -0,0 +1,104 @@
+package com.dy.rtuMw.server.rtuData.p206V202404;
+
+import com.dy.common.mw.protocol.Data;
+import com.dy.common.mw.protocol.p206V202404.DataV202404;
+import com.dy.common.mw.protocol.p206V202404.upVos.DataCd80_5BVo;
+import com.dy.pipIrrGlobal.pojoPr.PrController;
+import com.dy.pipIrrGlobal.pojoRm.RmWorkReportHistory;
+import com.dy.pipIrrGlobal.pojoRm.RmWorkReportLast;
+import com.dy.rtuMw.server.rtuData.TaskSurpport;
+import com.dy.rtuMw.server.rtuData.dbSv.DbSv;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2024/6/14 9:19
+ * @Description 澶勭悊鎺у埗鍣ㄥ伐浣滄姤锛堝姛鑳界爜80锛�
+ */
+public class TkDealWorkingReportV202404 extends TaskSurpport {
+
+    private static final Logger log = LogManager.getLogger(TkDealWorkingReportV202404.class.getName());
+
+    //绫籌D锛屼竴瀹氫笌Tree.xml閰嶇疆鏂囦欢涓厤缃竴鑷�
+    public static final String taskId = "TkDealWorkingReportV202404";
+
+    /**
+     * 鎵ц鑺傜偣浠诲姟锛氭姤璀﹀強鐘舵��
+     *
+     * @param data 闇�瑕佸鐞嗙殑鏁版嵁
+     */
+    @Override
+    public void execute(Object data) {
+        Data d = (Data)data ;
+        DataV202404 dV202404 = (DataV202404)d.getSubData() ;
+        Object cdObj = dV202404.subData ;
+        //鍓嶉潰浠诲姟宸茬粡鍒ゆ柇cdObj涓嶄负null
+        try {
+            Object[] objs = this.getTaskResults(TkPreGenObjsV202404.taskId);
+            DbSv sv = (DbSv) objs[0];
+            PrController controller = (PrController) objs[1];
+            if (cdObj instanceof DataCd80_5BVo) {
+                //璁惧缁堢瀹氱偣涓婃姤, 姣忓ぉ12鐐逛笂鎶ユ暟鎹�
+                DataCd80_5BVo cdData = (DataCd80_5BVo) (cdObj);
+                this.doDeal(sv, controller, d.getRtuAddr(), dV202404, (DataCd80_5BVo)cdObj);
+            }
+        } catch (Exception e) {
+            log.error("淇濆瓨鎺у埗鍣ㄦ姤璀﹀拰鐘舵�佹暟鎹椂鍙戠敓寮傚父", e);
+        }
+    }
+    /**
+     * 澶勭悊闃�寮�宸ヤ綔鎶ユ暟鎹�
+     * @param sv 鏈嶅姟
+     * @param controller 鎺у埗鍣ㄥ璞�
+     * @param rtuAddr 鎺у埗鍣ㄥ湴鍧�
+     * @param dataV202404 鍗忚鏁版嵁
+     * @param cdData 鍔熻兘鏁版嵁
+     */
+    private void doDeal(DbSv sv, PrController controller, String rtuAddr, DataV202404 dataV202404, DataCd80_5BVo cdData) throws Exception {
+        this.saveOrUpdateLast(sv, controller, rtuAddr, dataV202404, cdData);
+        this.saveHistory(sv, controller, rtuAddr, dataV202404, cdData);
+    }
+
+    /**
+     * 淇濆瓨鎴栨洿鏂版帶鍒跺櫒宸ヤ綔鎶ユ渶鏂版暟鎹�
+     * @param sv 鏈嶅姟bean
+     * @param controller 鎺у埗鍣ㄥ璞�
+     * @param rtuAddr 鎺у埗鍣ㄥ湴鍧�
+     * @param dataV202404 鍗忚鏁版嵁
+     * @param cdData 鍔熻兘鏁版嵁
+     */
+    private void saveOrUpdateLast(DbSv sv, PrController controller, String rtuAddr, DataV202404 dataV202404, DataCd80_5BVo cdData)throws Exception {
+        RmWorkReportLast po = sv.getRmWorkReportLast(rtuAddr) ;
+        if(po == null){
+            po = new RmWorkReportLast();
+            po.controllerId = controller==null?null:controller.getId();
+            po.intakeId = controller==null?null:controller.getIntakeId();
+            po.rtuAddr = rtuAddr;
+            po.valueFrom(dataV202404, cdData);
+            sv.saveRmWorkReportLast(po) ;
+        }else{
+            po.controllerId = controller==null?null:controller.getId();
+            po.intakeId = controller==null?null:controller.getIntakeId();
+            po.valueFrom(dataV202404, cdData);
+            sv.updateRmWorkReportLast(po);
+        }
+    }
+
+    /**
+     * 淇濆瓨鎺у埗鍣ㄥ伐浣滄姤鍘嗗彶鏁版嵁
+     * @param sv 鏈嶅姟bean
+     * @param controller 鎺у埗鍣ㄥ璞�
+     * @param rtuAddr 鎺у埗鍣ㄥ湴鍧�
+     * @param dataV202404 鍗忚鏁版嵁
+     * @param cdData 鍔熻兘鏁版嵁
+     */
+    private void saveHistory(DbSv sv, PrController controller, String rtuAddr, DataV202404 dataV202404, DataCd80_5BVo cdData)throws Exception {
+        RmWorkReportHistory po = new RmWorkReportHistory();
+        po.controllerId = controller==null?null:controller.getId();
+        po.intakeId = controller==null?null:controller.getIntakeId();
+        po.rtuAddr = rtuAddr;
+        po.valueFrom(dataV202404, cdData);
+        sv.saveRmWorkReportHistory(po); ;
+    }
+}
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkFindReportV202404.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkFindReportV202404.java
index 2959b8e..ca85596 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkFindReportV202404.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkFindReportV202404.java
@@ -29,8 +29,8 @@
         Data d = (Data)data ;
         if(d.getCommandId() == null || d.getCommandId().trim().equals("")){
             //鏃犲懡浠D
-            Object protocolData = d.getSubData() ;
-            if(protocolData != null) {
+            DataV202404 dataP206V202404 = (DataV202404)d.getSubData() ;
+            if(dataP206V202404 != null && dataP206V202404.subData != null) {
                 this.toNextTasks(data);
             }
         }
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/RtuDataDealTree.xml b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/RtuDataDealTree.xml
index 44a35aa..762d9eb 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/RtuDataDealTree.xml
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/RtuDataDealTree.xml
@@ -38,8 +38,9 @@
 					<task id="TkDealControllerNoTrampV202404" name="闈炴祦娴�匯TU" enable="true" class="com.dy.rtuMw.server.rtuData.p206V202404.TkDealControllerNoTrampV202404">
 						<!-- 璇嗗埆闈炲懡浠ゅ簲绛斾笂琛屾暟鎹� -->
 						<task id="TkFindReportV202404" name="璇嗗埆闈炲懡浠ゅ簲绛斾笂琛屾暟鎹�" enable="true" class="com.dy.rtuMw.server.rtuData.p206V202404.TkFindReportV202404">
-							<task id="TkDealAlarmStatusV202404" name="鎺у埗鍣ㄦ姤璀︿笌鐘舵�佹暟鎹�" enable="true" class="com.dy.rtuMw.server.rtuData.p206V202404.TkDealAlarmStatusV202404" />
-							<task id="TkDealTimingReportV202404" name="鎺у埗鍣ㄥ畾鏃朵笂鎶ユ暟鎹�" enable="true" class="com.dy.rtuMw.server.rtuData.p206V202404.TkDealTimingReportV202404" />
+							<task id="TkDealAlarmStatusV202404" name="鎺у埗鍣ㄦ姤璀︿笌鐘舵��" enable="true" class="com.dy.rtuMw.server.rtuData.p206V202404.TkDealAlarmStatusV202404" />
+							<task id="TkDealWorkingReportV202404" name="鎺у埗鍣ㄥ伐浣滄姤(鍔熻兘鐮�80)" enable="true" class="com.dy.rtuMw.server.rtuData.p206V202404.TkDealWorkingReportV202404" />
+							<task id="TkDealTimingReportV202404" name="鎺у埗鍣ㄥ畾鏃朵笂鎶�(鍔熻兘鐮�83)" enable="true" class="com.dy.rtuMw.server.rtuData.p206V202404.TkDealTimingReportV202404" />
 						</task>
 						<!-- 璇嗗埆鍛戒护鍝嶅簲鏁版嵁 -->
 						<task id="TkFindComResponseV202404" name="璇嗗埆鍝嶅簲鍛戒护鏁版嵁" enable="true" class="com.dy.rtuMw.server.rtuData.p206V202404.TkFindComResponseV202404">

--
Gitblit v1.8.0