From 12469c426dd8e13cd601c8fddfec63bc9a8df06d Mon Sep 17 00:00:00 2001
From: wuzeyu <1223318623@qq.com>
Date: 星期二, 21 五月 2024 10:57:31 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_16_Down.java                      |    2 
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealAlarmStatusV202404.java  |  240 +++++----
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCdC2Vo.java                      |    4 
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/web/comResult/CommandResultDeal.java                      |   10 
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/MidResultActionFromRtu.java                 |    2 
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/TcpIoSessionCallback.java                   |    6 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd56Vo.java                      |    2 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mybatis/AutoGenerateIdInterceptor.java                             |   28 
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealTimingReportV202404.java |   50 ++
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_83_Up.java                        |   15 
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmAlarmStateLastMapper.xml                                           |  302 ++++++++----
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_92_A2_Down.java                   |   10 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/AlarmVo.java                         |    2 
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmAlarmStateHistoryMapper.java                         |   16 
 pipIrr-platform/pipIrr-web/pipIrr-mwTest-web/src/main/java/com/dy/pipIrrMwTestWeb/test/CommandCtrl.java                      |    3 
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmAlarmStateHistory.java                              |  120 ++--
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/aop/SsoAspect.java                                                 |    7 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd84Vo.java                      |    2 
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealAlarmStatus.java          |   91 +-
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd83Vo.java                      |    3 
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmAlarmStateHistoryMapper.xml                                        |  296 ++++++++----
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmAlarmStateLast.java                                 |  148 +++--
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/RtuDataDealTree.xml                                               |    1 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/po/BaseEntity.java                                                 |    3 
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkFindReportV202404.java       |    6 
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmAlarmStateLastMapper.java                            |   31 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_22_Down.java                      |    4 
 27 files changed, 873 insertions(+), 531 deletions(-)

diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/aop/SsoAspect.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/aop/SsoAspect.java
index 660982d..b837f44 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/aop/SsoAspect.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/aop/SsoAspect.java
@@ -14,10 +14,7 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.core.annotation.Order;
-import org.springframework.http.HttpEntity;
-import org.springframework.http.HttpHeaders;
-import org.springframework.http.HttpMethod;
-import org.springframework.http.ResponseEntity;
+import org.springframework.http.*;
 import org.springframework.stereotype.Component;
 import org.springframework.web.client.RestTemplate;
 import org.springframework.web.util.UriComponentsBuilder;
@@ -105,6 +102,8 @@
                     .build()
                     .toUriString();
             HttpHeaders headers = new HttpHeaders();
+            headers.setContentType(MediaType.parseMediaType("application/json;charset=UTF-8"));
+
             HttpEntity<?> httpEntity = new HttpEntity<>(headers);
             ResponseEntity<SsoVo> response = null;
             try {
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_16_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_16_Down.java
index ed8cf0a..9a6cfb3 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_16_Down.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_16_Down.java
@@ -87,7 +87,6 @@
                 bs[index++] = 0 ;
             }
 
-            index += 4 ;
             strTemp = "" + cvo.moneyAlarm ;
             bTemp = ByteUtil.string2BCD_LE(strTemp) ;
             bTempLen = bTemp.length ;
@@ -103,7 +102,6 @@
                 bs[index++] = 0 ;
             }
 
-            index ++ ;
             GlCreate.createPw(bs, index);
 
             index += 2 ;
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_22_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_22_Down.java
index f9970b2..def9fdb 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_22_Down.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_22_Down.java
@@ -63,7 +63,7 @@
                 throw new Exception("姘翠綅涓嬮檺鍊煎繀椤绘槸0~9999.99鑼冨洿鍐呯殑鏁存暟") ;
             }
 
-            byte[] bs = new byte[17] ;
+            byte[] bs = new byte[16] ;
             int index = 0 ;
             bs[index] = (byte)(Integer.parseInt(cvo.controllerType, 16));
 
@@ -86,7 +86,6 @@
                 bs[index++] = 0 ;
             }
 
-            index += 4 ;
             strTemp = "" + (Double.valueOf(cvo.limitLevel * 100)).longValue() ;
             bTemp = ByteUtil.string2BCD_LE(strTemp) ;
             bTempLen = bTemp.length ;
@@ -102,7 +101,6 @@
                 bs[index++] = 0 ;
             }
 
-            index ++ ;
             GlCreate.createPw(bs, index);
 
             index += 2 ;
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_83_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_83_Up.java
index 1e77cc4..7996250 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_83_Up.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_83_Up.java
@@ -5,6 +5,7 @@
 import com.dy.common.mw.protocol.p206V202404.*;
 import com.dy.common.mw.protocol.p206V202404.upVos.DataCd83Vo;
 import com.dy.common.util.ByteUtil;
+import com.dy.common.util.DateTime;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 
@@ -115,6 +116,20 @@
         index += 4 ;
         cdData.batteryVolt = ByteUtil.BCD2Int_LE(bs, index, index + 1)/100.0D ;
 
+        index += 2 ;
+        String hh = ByteUtil.BCD2String_LE(bs, index, index) ;
+        index ++ ;
+        String dd = ByteUtil.BCD2String_LE(bs, index, index) ;
+        index ++ ;
+        String mm = ByteUtil.BCD2String_LE(bs, index, index) ;
+        index ++ ;
+        String yy = ByteUtil.BCD2String_LE(bs, index, index) ;
+
+        String ymd = "20" + yy + "-" + mm + "-" + dd ;
+
+        cdData.rtuDt = ymd + " " + hh ;
+
+        cdData.dataDt = DateTime.lastXDay_yyyy_MM_dd(ymd, 1) ;
     }
 
 }
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_92_A2_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_92_A2_Down.java
index 5dba686..1193d6b 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_92_A2_Down.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_92_A2_Down.java
@@ -80,7 +80,7 @@
             if(!NumUtil.isPlusIntNumber(cvo.orderNo)){
                 throw new Exception("璁㈠崟鍙峰繀椤绘槸16浣嶆暟瀛�") ;
             }
-            if(cvo.orderNo.length() != 12){
+            if(cvo.orderNo.length() != 16){
                 throw new Exception("璁㈠崟鍙峰繀椤绘槸16浣嶆暟瀛�") ;
             }
 
@@ -103,7 +103,7 @@
             GlCreate.createIcCardNo(cvo.icCardNo, bs, index);
 
             index += 8 ;
-            if(cvo.waterRemain != null){
+            if(cvo.waterRemain == null){
                 cvo.waterRemain = 0.0 ;
             }
             String strTemp = "" + Double.valueOf(cvo.waterRemain * 100).intValue() ;
@@ -121,7 +121,7 @@
                 bs[index++] = 0 ;
             }
 
-            if(cvo.moneyRemain != null){
+            if(cvo.moneyRemain == null){
                 cvo.moneyRemain = 0.0 ;
             }
             strTemp = "" + (Double.valueOf(cvo.moneyRemain * 100)).intValue() ;
@@ -140,7 +140,7 @@
             }
 
 
-            if(cvo.waterPrice != null){
+            if(cvo.waterPrice == null){
                 cvo.waterPrice = 0.0 ;
             }
             strTemp = "" + (Double.valueOf(cvo.waterPrice * 100)).intValue() ;
@@ -159,7 +159,7 @@
             }
 
 
-            if(cvo.elePrice != null){
+            if(cvo.elePrice == null){
                 cvo.elePrice = 0.0 ;
             }
             strTemp = "" + (Double.valueOf(cvo.elePrice * 100)).intValue() ;
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/AlarmVo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/AlarmVo.java
index e39949b..b9f58f6 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/AlarmVo.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/AlarmVo.java
@@ -68,7 +68,7 @@
         sb.append(alarmEleLowVolt == null?"鏈煡":(alarmEleLowVolt.byteValue() == 0 ? "姝e父":(alarmEleLowVolt.byteValue() == 1 ? "鎶ヨ":"鏈煡"))) ;
         sb.append("\n") ;
         sb.append("      IC鍗″姛鑳� : ") ;
-        sb.append(stateIcEnable == null?"鏈煡":(stateIcEnable.byteValue() == 0 ? "涓嶆敮鎸�":(stateIcEnable.byteValue() == 1 ? "鏀寔":"鏈煡"))) ;
+        sb.append(stateIcEnable == null?"鏈煡":(stateIcEnable.byteValue() == 0 ? "鏃犳晥":(stateIcEnable.byteValue() == 1 ? "鏈夋晥":"鏈煡"))) ;
         sb.append("\n") ;
 
         return sb.toString() ;
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd56Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd56Vo.java
index 7b367ba..157d4aa 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd56Vo.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd56Vo.java
@@ -26,7 +26,7 @@
 		sb.append("      椤圭洰缂栧彿 : ") ;
 		sb.append(projectNo == null?"鏈煡":projectNo) ;
 		sb.append("\n") ;
-		sb.append("      鍓╀綑姘撮噺鎶ヨ鍊� : ") ;
+		sb.append("      鍓╀綑閲戦鎶ヨ鍊� : ") ;
 		sb.append(moneyAlarm == null?"鏈煡":moneyAlarm) ;
 		sb.append("\n") ;
 		sb.append("      鍓╀綑姘撮噺鎶ヨ鍊� : ") ;
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd83Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd83Vo.java
index 104f326..9260479 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd83Vo.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd83Vo.java
@@ -16,7 +16,8 @@
 	public Double waterUserTotalAmountDay ;// 褰撴棩鐢ㄦ埛鐢ㄦ按閲�
 	public Double lossTotalAmountDay ;// 婕忔崯姘撮噺
 	public Double batteryVolt ;//鍚庡鐢垫睜鐢靛帇
-	public Double rtuDt ;//涓婃姤鏃堕棿锛坹yyy-mm-dd HH锛�
+	public String dataDt ;//鏁版嵁鏃堕棿锛坹yyy-mm-dd锛�
+	public String rtuDt ;//RTU鏃堕挓锛堜笂鎶ユ椂鍒伙級锛坹yyy-mm-dd HH:00:00锛�
 
 	public String comName ;//鍛戒护鍚嶇О
 
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 b351c34..86bc1a7 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,7 +11,7 @@
 	public String icCardAddr ;//IC鍗″湴鍧�锛堣繙绋嬪叧闂椂涓�0锛�
 	public String icCardNo ;//IC鍗$紪鍙凤紙17浣嶆暟瀛楋級
 	public String orderNo ;//璁㈠崟鍙凤紙16浣嶆暟瀛楋級
-	public String opDt ;//寮�娉�/闃�鏃堕棿(鍒嗘椂鏃ユ湀)
+	public String opDt ;//寮�娉�/闃�鏃堕棿(yyyy-mm-dd HH:MM:SS)
 	public Double waterTotalAmount ;//姘磋〃绱姘撮噺锛屽崟浣�0.01绔嬫柟绫�
 	public Double eleTotalAmount ;//鐢佃〃绱鐢甸噺锛屽崟浣�0.01搴�
 	public Double moneyRemainUser ;//鐢ㄦ埛鍓╀綑閲戦锛� 鍗曚綅0.01鍏�
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCdC2Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCdC2Vo.java
index ddb99e3..8cebaa7 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCdC2Vo.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCdC2Vo.java
@@ -11,7 +11,7 @@
 	public Byte opType1 ;//鎿嶄綔鏂瑰紡锛�0:鍒峰崱寮�姘存车/闃�闂紱1:杩滅▼寮�姘存车/闃�闂紱2:APP寮�姘存车/闃�闂�
 	public Byte opType2 ;//寮�鍚叧闂細0: 寮�鍚� -1:鍏抽棴
 	public Boolean success ;//鎵ц缁撴灉锛坱rue鎴愬姛, false澶辫触锛�
-	public String rutDt ;//璁惧鏃堕挓
+	public String rtuDt;//璁惧鏃堕挓
 
 	public String comName ;//鍛戒护鍚嶇О
 
@@ -35,7 +35,7 @@
 		sb.append(opType2 == null?"鏈煡":(opType2.byteValue()==0?"寮�鍚按娉�/闃�闂�":(opType2.byteValue()==1?"鍏抽棴姘存车/闃�闂�":"鏈煡"))) ;
 		sb.append("\n") ;
 		sb.append("      璁惧鏃堕挓 : ") ;
-		sb.append(rutDt == null?"鏈煡":rutDt) ;
+		sb.append(rtuDt == null?"鏈煡": rtuDt) ;
 		sb.append("\n") ;
 		sb.append("      鎵ц缁撴灉 : ") ;
 		sb.append(success == null?"鏈煡":(success?"鎴愬姛":"澶辫触")) ;
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mybatis/AutoGenerateIdInterceptor.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mybatis/AutoGenerateIdInterceptor.java
index 6265e27..f518814 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mybatis/AutoGenerateIdInterceptor.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mybatis/AutoGenerateIdInterceptor.java
@@ -25,8 +25,9 @@
 
     static int MAPPED_STATEMENT_INDEX = 0;
     static int PARAMETER_INDEX = 1;
-    static String BASE_FIELD_SET_PRIMARY_KEY_FUNTION_NAME = "setId";
-    static String BASE_FIELD_SET_PRIMARY_KEY_FUNTION_NAME2 = "setUserId";
+    static String BASE_FIELD_SET_PRIMARY_KEY_FUNTION_SETID = "setId";
+    static String BASE_FIELD_SET_PRIMARY_KEY_FUNTION_SETUSERID = "setUserId";
+    static String BASE_FIELD_SET_PRIMARY_KEY_FUNTION_SETROLEID = "setRoleId";
 
     /**
      * 鎷︽埅閫昏緫瀹炵幇
@@ -42,24 +43,35 @@
             if (entity instanceof BaseEntity) {
                 //Class<? extends Object> entityClass = entity.getClass();
                 Class<?> entityClass = entity.getClass();
-                Method setMt = null ;
+                Method setId = null ;
+                Method setUserId = null ;
+                Method setRoleId = null ;
                 try{
+                    /*
                     // 娣诲姞鐢ㄦ埛鏃秛serId涓鸿嚜鍔ㄧ敓鎴愪富閿�俽oleId瀛樺湪鏃舵槸涓虹敤鎴风粦瑙掕壊
                     String jsonString = JSONObject.toJSONString(entity, JSONWriter.Feature.WriteMapNullValue);
                     JSONObject jsonObject = JSONObject.parseObject(jsonString);
                     if(jsonObject.containsKey("userId") && !jsonObject.containsKey("roleId")) {
-                        setMt = entityClass.getMethod(BASE_FIELD_SET_PRIMARY_KEY_FUNTION_NAME2, Long.class) ;
+                        setUserId = entityClass.getMethod(BASE_FIELD_SET_PRIMARY_KEY_FUNTION_SETUSERID, Long.class) ;
+                        setRoleId = entityClass.getMethod(BASE_FIELD_SET_PRIMARY_KEY_FUNTION_SETROLEID, Long.class) ;
                     }else {
                         //鏈変竴浜涘疄浣撴病鏈塱d锛屼緥濡備腑闂磋〃
-                        setMt = entityClass.getMethod(BASE_FIELD_SET_PRIMARY_KEY_FUNTION_NAME, Long.class) ;
+                        setId = entityClass.getMethod(BASE_FIELD_SET_PRIMARY_KEY_FUNTION_SETID, Long.class) ;
                     }
+                    */
+                    //鏈変竴浜涘疄浣撴病鏈塱d锛屼緥濡備腑闂磋〃
+                    setId = entityClass.getMethod(BASE_FIELD_SET_PRIMARY_KEY_FUNTION_SETID, Long.class) ;
+                    // BaUser瀹炰綋涓槸setUserId, BaUserRole瀹炰綋涓寘鍚玸etUserId,鍜宻etRoleId
+                    setUserId = entityClass.getMethod(BASE_FIELD_SET_PRIMARY_KEY_FUNTION_SETUSERID, Long.class) ;
+                    setRoleId = entityClass.getMethod(BASE_FIELD_SET_PRIMARY_KEY_FUNTION_SETROLEID, Long.class) ;
                 }catch (Exception e){
                     //褰揺ntityClass娌℃湁setId鏂规硶鏃讹紝浼氭姏鍑哄紓甯�
                 }
-                if(setMt != null){
-                    setMt.invoke(entity, new IDLongGenerator().generate());
+                if(setUserId != null && setRoleId == null){
+                    setUserId.invoke(entity, new IDLongGenerator().generate());
+                }else if(setId != null){
+                    setId.invoke(entity, new IDLongGenerator().generate());
                 }
-
                 invocation.getArgs()[PARAMETER_INDEX] = entity;
             }
         }
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/po/BaseEntity.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/po/BaseEntity.java
index f34a8df..7d65aa4 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/po/BaseEntity.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/po/BaseEntity.java
@@ -2,5 +2,8 @@
 
 import java.io.Serializable;
 
+/**
+ * 姝ゆ帴鍙f嫤鎴櫒锛圓utoGenerateIdInterceptor銆愯嚜鍔ㄤ粈鍊糏D銆戯級涓敤鍒般��
+ */
 public interface BaseEntity extends Serializable {
 }
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmAlarmStateHistoryMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmAlarmStateHistoryMapper.java
index c96ea37..53741ee 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmAlarmStateHistoryMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmAlarmStateHistoryMapper.java
@@ -1,19 +1,18 @@
 package com.dy.pipIrrGlobal.daoRm;
 
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.dy.pipIrrGlobal.pojoRm.RmAlarmStateHistory;
 import org.apache.ibatis.annotations.Mapper;
 
 /**
- * @Author liurunyu
- * @Date 2024/1/16 11:18
- * @LastEditTime 2024/1/16 11:18
+ * @Author: liurunyu
+ * @Date: 2024/5/20 20:20
  * @Description
- */   
+ */
 @Mapper
-public interface RmAlarmStateHistoryMapper  extends BaseMapper<RmAlarmStateHistory> {
+public interface RmAlarmStateHistoryMapper {
     /**
      * delete by primary key
+     *
      * @param id primaryKey
      * @return deleteCount
      */
@@ -21,6 +20,7 @@
 
     /**
      * insert record to table
+     *
      * @param record the record
      * @return insert count
      */
@@ -28,6 +28,7 @@
 
     /**
      * insert record to table selective
+     *
      * @param record the record
      * @return insert count
      */
@@ -35,6 +36,7 @@
 
     /**
      * select by primary key
+     *
      * @param id primary key
      * @return object by primary key
      */
@@ -42,6 +44,7 @@
 
     /**
      * update record selective
+     *
      * @param record the updated record
      * @return update count
      */
@@ -49,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/RmAlarmStateLastMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmAlarmStateLastMapper.java
index cb9e72a..4a0582d 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmAlarmStateLastMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmAlarmStateLastMapper.java
@@ -1,21 +1,20 @@
 package com.dy.pipIrrGlobal.daoRm;
 
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.dy.pipIrrGlobal.pojoRm.RmAlarmStateLast;
 import org.apache.ibatis.annotations.Mapper;
 
 import java.util.List;
 
 /**
- * @Author liurunyu
- * @Date 2024/1/16 11:18
- * @LastEditTime 2024/1/16 11:18
+ * @Author: liurunyu
+ * @Date: 2024/5/20 19:55
  * @Description
- */   
+ */
 @Mapper
-public interface RmAlarmStateLastMapper  extends BaseMapper<RmAlarmStateLast> {
+public interface RmAlarmStateLastMapper {
     /**
      * delete by primary key
+     *
      * @param id primaryKey
      * @return deleteCount
      */
@@ -23,6 +22,7 @@
 
     /**
      * insert record to table
+     *
      * @param record the record
      * @return insert count
      */
@@ -30,6 +30,7 @@
 
     /**
      * insert record to table selective
+     *
      * @param record the record
      * @return insert count
      */
@@ -37,20 +38,15 @@
 
     /**
      * select by primary key
+     *
      * @param id primary key
      * @return object by primary key
      */
     RmAlarmStateLast selectByPrimaryKey(Long id);
 
     /**
-     * select by rtuAddr
-     * @param rtuAddr rtuAddr
-     * @return object by rtuAddr
-     */
-    List<RmAlarmStateLast> selectByRtuAddr(String rtuAddr);
-
-    /**
      * update record selective
+     *
      * @param record the updated record
      * @return update count
      */
@@ -58,8 +54,17 @@
 
     /**
      * update record
+     *
      * @param record the updated record
      * @return update count
      */
     int updateByPrimaryKey(RmAlarmStateLast record);
+
+    /**
+     * select by rtuAddr
+     *
+     * @param rtuAddr rtuAddr
+     * @return object by rtuAddr
+     */
+    List<RmAlarmStateLast> selectByRtuAddr(String rtuAddr);
 }
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmAlarmStateHistory.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmAlarmStateHistory.java
index 4cc887d..71d78d5 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmAlarmStateHistory.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmAlarmStateHistory.java
@@ -1,23 +1,21 @@
 package com.dy.pipIrrGlobal.pojoRm;
 
-import com.alibaba.fastjson2.annotation.JSONField;
-import com.alibaba.fastjson2.writer.ObjectWriterImplToString;
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.dy.common.po.BaseEntity;
-import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
 import java.util.Date;
 
 /**
- * @Author liurunyu
- * @Date 2024/1/16 11:03
- * @LastEditTime 2024/1/16 11:03
- * @Description 鎺у埗鍣ㄦ姤璀︿笌鐘舵�侊紙鍘嗗彶锛�
- */   
+ * @Author: liurunyu
+ * @Date: 2024/5/20 20:20
+ * @Description
+ */
+
+/**
+ * 鎺у埗鍣ㄦ姤璀︿笌鐘舵�侊紙鍘嗗彶锛�
+ */
 @TableName(value="rm_alarm_state_history", autoResultMap = true)
 @Data
 @Builder
@@ -26,88 +24,110 @@
 @AllArgsConstructor
 @Schema(name = "鎺у埗鍣ㄦ姤璀︿笌鐘舵�侊紙鍘嗗彶锛�")
 public class RmAlarmStateHistory implements BaseEntity {
-
-    public static final long serialVersionUID = 202401161104001L;
+    public static final long serialVersionUID = 202405202021001L;
     /**
      * 涓婚敭
      */
-    @JSONField(serializeUsing= ObjectWriterImplToString.class)
-    @TableId(type = IdType.INPUT)
     public Long id;
 
     /**
      * 鎺у埗鍣ㄥ疄浣揑D锛堝閿級
      */
-    @Schema(description = "鎺у埗鍣ㄥ疄浣撳閿�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    @JSONField(serializeUsing= ObjectWriterImplToString.class)
-    public Long controllerid;
+    public Long controllerId;
 
     /**
      * 鍙栨按鍙D锛堝閿級
      */
-    @Schema(description = "鍙栨按鍙e疄浣撳閿�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    @JSONField(serializeUsing= ObjectWriterImplToString.class)
-    public Long intakeid;
+    public Long intakeId;
 
     /**
      * 鎺у埗鍣ㄥ湴鍧�
      */
-    @Schema(description = "鎺у埗鍣ㄥ湴鍧�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    public String rtuaddr;
+    public String rtuAddr;
 
     /**
      * 涓婃姤鏃ユ湡鏃堕棿
      */
-    @Schema(description = "涓婃姤鏃ユ湡鏃堕棿", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     public Date dt;
 
     /**
      * 鎺у埗鍣ㄦ椂閽�
      */
-    @Schema(description = "鎺у埗鍣ㄦ椂閽�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    public Date rtudt;
-    /**
-     * 鎶ヨ-钃勭數姹犵數鍘�(1鎶ヨ锛�0姝e父)
-     */
-    @Schema(description = "鎶ヨ-钃勭數姹犵數鍘�(1鎶ヨ锛�0姝e父)", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    public Byte bateryvolt;
+    public Date rtuDt;
 
     /**
-     * 鎶ヨ-婕忔崯(1鎶ヨ锛�0姝e父)
+     * 鐘舵��-闃�闂�/娉碉紙1鎵撳紑銆�0鍏抽棴锛�
      */
-    @Schema(description = "鎶ヨ-钃勭數姹犵數鍘�(1鎶ヨ锛�0姝e父)", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    public Byte loss;
+    public Byte valveState;
 
     /**
-     * 鎶ヨ-浠〃(1鎶ヨ锛�0姝e父)
+     * 鍓╀綑姘撮噺灏忎簬鎶ヨ涓婇檺鎶ヨ鎶ヨ锛�1锛氭姤璀︼紝 0锛氭甯革級
      */
-    @Schema(description = "鎶ヨ-浠〃(1鎶ヨ锛�0姝e父)", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    public Byte meter;
+    public Byte alarmRemainWater;
 
     /**
-     * 鎶ヨ-闃�闂�(1鎶ヨ锛�0姝e父)
+     * 鍓╀綑姘撮噺涓�0鍏虫车/闃�(1锛氬叧娉碉紝0锛氭甯�)
      */
-    @Schema(description = "鎶ヨ-闃�闂�(1鎶ヨ锛�0姝e父)", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    public Byte valve;
+    public Byte alarm0WaterRemain;
 
     /**
-     * 鐘舵��-IC鍗″姛鑳斤紙1鏈夋晥銆�0鏃犳晥锛�
+     * 骞寸敤姘撮噺澶т簬闄愬埗姘撮噺鎶ヨ(1锛氭姤璀� 0锛氭甯�)
      */
-    @Schema(description = "鐘舵��-IC鍗″姛鑳斤紙1鏈夋晥銆�0鏃犳晥锛�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    public Byte iccard;
+    public Byte alarmExceedYear;
 
     /**
-     * 鐘舵��-宸ヤ綔锛�1鍚姩銆�0鍋滄锛�
+     * 娴侀噺璁℃晠闅�(1锛氭姤璀︼紝0锛氭甯�)
      */
-    @Schema(description = "鎶ヨ-浠〃(1鎶ヨ锛�0姝e父)", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    public Byte working;
+    public Byte alarmWaterMeterFault;
 
     /**
-     * 鐘舵��-闃�闂紙1鎵撳紑銆�0鍏抽棴锛�
+     * 婕忔崯(鍋锋按)鎶ヨ(1锛氭姤璀︼紝 0锛氭甯�)
      */
-    @Schema(description = "鐘舵��-闃�闂紙1鎵撳紑銆�0鍏抽棴锛�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    public Byte valvestate;
+    public Byte alarmLoss;
+
+    /**
+     * 娴侀噺璁℃崯鍧�(姝e父閫氳浣嗙灛鏃朵负0)鎶ヨ(1锛氭姤璀︼紝0锛氭甯�)
+     */
+    public Byte alarmWaterMeterBreak;
+
+    /**
+     * 鐢佃〃鏁呴殰鎶ヨ(1锛氭姤璀︼紝0锛氭甯�)
+     */
+    public Byte alarmEleMeterFault;
+
+    /**
+     * 鍓╀綑閲戦涓�0(1锛氭姤璀︼紝0锛氭甯�)
+     */
+    public Byte alarm0MoneyRemain;
+
+    /**
+     * 鎺у埗鍣ㄥ唴闂ㄦ姤璀�(1锛氭姤璀︼紝0锛氭甯�)
+     */
+    public Byte alarmInnerDoor;
+
+    /**
+     * 鎺у埗鍣ㄥ闂ㄦ墦寮�鎶ヨ(1锛氭姤璀︼紝0锛氭甯�)
+     */
+    public Byte alarmOuterDoor;
+
+    /**
+     * 浜ゆ祦缂洪」鎶ヨ(1锛氭姤璀︼紝0锛氭甯�)
+     */
+    public Byte alarmEleMiss;
+
+    /**
+     * 浜ゆ祦杩囨祦鎶ヨ(1锛氭姤璀︼紝0锛氭甯�)
+     */
+    public Byte alarmEleExceed;
+
+    /**
+     * 涓夌浉鐢垫瑺鍘嬫姤璀�(1锛氭姤璀︼紝0锛氭甯�)
+     */
+    public Byte alarmEleLowVolt;
+
+    /**
+     * IC鍗$姸鎬�(1銆佹湁鏁堬紝0锛氭棤鏁�)
+     */
+    public Byte stateIcEnable;
 
 }
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmAlarmStateLast.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmAlarmStateLast.java
index 372fded..ee87103 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmAlarmStateLast.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmAlarmStateLast.java
@@ -1,23 +1,21 @@
 package com.dy.pipIrrGlobal.pojoRm;
 
-import com.alibaba.fastjson2.annotation.JSONField;
-import com.alibaba.fastjson2.writer.ObjectWriterImplToString;
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.dy.common.po.BaseEntity;
-import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
 import java.util.Date;
 
 /**
- * @Author liurunyu
- * @Date 2024/1/16 10:39
- * @LastEditTime 2024/1/16 10:39
- * @Description 鎺у埗鍣ㄦ姤璀︿笌鐘舵�侊紙鏈�鏂帮級
- */   
+ * @Author: liurunyu
+ * @Date: 2024/5/20 19:55
+ * @Description
+ */
+
+/**
+ * 鎺у埗鍣ㄦ姤璀︿笌鐘舵�侊紙鏈�鏂帮級
+ */
 @TableName(value="rm_alarm_state_last", autoResultMap = true)
 @Data
 @Builder
@@ -26,92 +24,110 @@
 @AllArgsConstructor
 @Schema(name = "鎺у埗鍣ㄦ姤璀︿笌鐘舵�侊紙鏈�鏂帮級")
 public class RmAlarmStateLast implements BaseEntity {
-
-    public static final long serialVersionUID = 202401161041001L;
+    public static final long serialVersionUID = 202405202021002L;
     /**
-    * 涓婚敭
-    */
-    @Schema(description = "涓婚敭", requiredMode = Schema.RequiredMode.REQUIRED)
-    @JSONField(serializeUsing= ObjectWriterImplToString.class)
-    @TableId(type = IdType.INPUT)
+     * 涓婚敭
+     */
     public Long id;
 
     /**
-    * 鎺у埗鍣ㄥ疄浣揑D锛堝閿級
-    */
-    @Schema(description = "鎺у埗鍣ㄥ疄浣撳閿�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    @JSONField(serializeUsing= ObjectWriterImplToString.class)
-    public Long controllerid;
+     * 鎺у埗鍣ㄥ疄浣揑D锛堝閿級
+     */
+    public Long controllerId;
 
     /**
      * 鍙栨按鍙D锛堝閿級
      */
-    @Schema(description = "鍙栨按鍙e疄浣撳閿�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    @JSONField(serializeUsing= ObjectWriterImplToString.class)
-    public Long intakeid;
+    public Long intakeId;
 
     /**
-    * 鎺у埗鍣ㄥ湴鍧�
-    */
-    @Schema(description = "鎺у埗鍣ㄥ湴鍧�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    public String rtuaddr;
+     * 鎺у埗鍣ㄥ湴鍧�
+     */
+    public String rtuAddr;
 
     /**
-    * 涓婃姤鏃ユ湡鏃堕棿
-    */
-    @Schema(description = "涓婃姤鏃ユ湡鏃堕棿", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+     * 涓婃姤鏃ユ湡鏃堕棿
+     */
     public Date dt;
 
     /**
-    * 鎺у埗鍣ㄦ椂閽�
-    */
-    @Schema(description = "鎺у埗鍣ㄦ椂閽�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    public Date rtudt;
+     * 鎺у埗鍣ㄦ椂閽�
+     */
+    public Date rtuDt;
 
     /**
-    * 鎶ヨ-钃勭數姹犵數鍘�(1鎶ヨ锛�0姝e父)
-    */
-    @Schema(description = "鎶ヨ-钃勭數姹犵數鍘�(1鎶ヨ锛�0姝e父)", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    public Byte bateryvolt;
+     * 鐘舵��-闃�闂�/娉碉紙1鎵撳紑銆�0鍏抽棴锛�
+     */
+    public Byte valveState;
 
     /**
-    * 鎶ヨ-婕忔崯(1鎶ヨ锛�0姝e父)
-    */
-    @Schema(description = "鎶ヨ-钃勭數姹犵數鍘�(1鎶ヨ锛�0姝e父)", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    public Byte loss;
+     * 鍓╀綑姘撮噺灏忎簬鎶ヨ涓婇檺鎶ヨ鎶ヨ锛�1锛氭姤璀︼紝 0锛氭甯革級
+     */
+    public Byte alarmRemainWater;
 
     /**
-    * 鎶ヨ-浠〃(1鎶ヨ锛�0姝e父)
-    */
-    @Schema(description = "鎶ヨ-浠〃(1鎶ヨ锛�0姝e父)", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    public Byte meter;
+     * 鍓╀綑姘撮噺涓�0鍏虫车/闃�(1锛氬叧娉碉紝0锛氭甯�)
+     */
+    public Byte alarm0WaterRemain;
 
     /**
-    * 鎶ヨ-闃�闂�(1鎶ヨ锛�0姝e父)
-    */
-    @Schema(description = "鎶ヨ-闃�闂�(1鎶ヨ锛�0姝e父)", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    public Byte valve;
+     * 骞寸敤姘撮噺澶т簬闄愬埗姘撮噺鎶ヨ(1锛氭姤璀� 0锛氭甯�)
+     */
+    public Byte alarmExceedYear;
 
     /**
-    * 鐘舵��-IC鍗″姛鑳斤紙1鏈夋晥銆�0鏃犳晥锛�
-    */
-    @Schema(description = "鐘舵��-IC鍗″姛鑳斤紙1鏈夋晥銆�0鏃犳晥锛�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    public Byte iccard;
+     * 娴侀噺璁℃晠闅�(1锛氭姤璀︼紝0锛氭甯�)
+     */
+    public Byte alarmWaterMeterFault;
 
     /**
-    * 鐘舵��-宸ヤ綔锛�1鍚姩銆�0鍋滄锛�
-    */
-    @Schema(description = "鎶ヨ-浠〃(1鎶ヨ锛�0姝e父)", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    public Byte working;
+     * 婕忔崯(鍋锋按)鎶ヨ(1锛氭姤璀︼紝 0锛氭甯�)
+     */
+    public Byte alarmLoss;
 
     /**
-    * 鐘舵��-闃�闂紙1鎵撳紑銆�0鍏抽棴锛�
-    */
-    @Schema(description = "鐘舵��-闃�闂紙1鎵撳紑銆�0鍏抽棴锛�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    public Byte valvestate;
+     * 娴侀噺璁℃崯鍧�(姝e父閫氳浣嗙灛鏃朵负0)鎶ヨ(1锛氭姤璀︼紝0锛氭甯�)
+     */
+    public Byte alarmWaterMeterBreak;
 
+    /**
+     * 鐢佃〃鏁呴殰鎶ヨ(1锛氭姤璀︼紝0锛氭甯�)
+     */
+    public Byte alarmEleMeterFault;
 
+    /**
+     * 鍓╀綑閲戦涓�0(1锛氭姤璀︼紝0锛氭甯�)
+     */
+    public Byte alarm0MoneyRemain;
+
+    /**
+     * 鎺у埗鍣ㄥ唴闂ㄦ姤璀�(1锛氭姤璀︼紝0锛氭甯�)
+     */
+    public Byte alarmInnerDoor;
+
+    /**
+     * 鎺у埗鍣ㄥ闂ㄦ墦寮�鎶ヨ(1锛氭姤璀︼紝0锛氭甯�)
+     */
+    public Byte alarmOuterDoor;
+
+    /**
+     * 浜ゆ祦缂洪」鎶ヨ(1锛氭姤璀︼紝0锛氭甯�)
+     */
+    public Byte alarmEleMiss;
+
+    /**
+     * 浜ゆ祦杩囨祦鎶ヨ(1锛氭姤璀︼紝0锛氭甯�)
+     */
+    public Byte alarmEleExceed;
+
+    /**
+     * 涓夌浉鐢垫瑺鍘嬫姤璀�(1锛氭姤璀︼紝0锛氭甯�)
+     */
+    public Byte alarmEleLowVolt;
+
+    /**
+     * IC鍗$姸鎬�(1銆佹湁鏁堬紝0锛氭棤鏁�)
+     */
+    public Byte stateIcEnable;
 
 }
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmAlarmStateHistoryMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmAlarmStateHistoryMapper.xml
index 4c29926..e9ea639 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmAlarmStateHistoryMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmAlarmStateHistoryMapper.xml
@@ -5,23 +5,33 @@
     <!--@mbg.generated-->
     <!--@Table rm_alarm_state_history-->
     <id column="id" jdbcType="BIGINT" property="id" />
-    <result column="controllerId" jdbcType="BIGINT" property="controllerid" />
-    <result column="intakeId" jdbcType="BIGINT" property="intakeid" />
-    <result column="rtuAddr" jdbcType="VARCHAR" property="rtuaddr" />
+    <result column="controller_id" jdbcType="BIGINT" property="controllerId" />
+    <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="rtuDt" jdbcType="TIMESTAMP" property="rtudt" />
-    <result column="bateryVolt" jdbcType="TINYINT" property="bateryvolt" />
-    <result column="loss" jdbcType="TINYINT" property="loss" />
-    <result column="meter" jdbcType="TINYINT" property="meter" />
-    <result column="valve" jdbcType="TINYINT" property="valve" />
-    <result column="icCard" jdbcType="TINYINT" property="iccard" />
-    <result column="working" jdbcType="TINYINT" property="working" />
-    <result column="valveState" jdbcType="TINYINT" property="valvestate" />
+    <result column="rtu_dt" jdbcType="TIMESTAMP" property="rtuDt" />
+    <result column="valve_state" jdbcType="TINYINT" property="valveState" />
+    <result column="alarm_remain_water" jdbcType="TINYINT" property="alarmRemainWater" />
+    <result column="alarm0_water_remain" jdbcType="TINYINT" property="alarm0WaterRemain" />
+    <result column="alarm_exceed_year" jdbcType="TINYINT" property="alarmExceedYear" />
+    <result column="alarm_water_meter_fault" jdbcType="TINYINT" property="alarmWaterMeterFault" />
+    <result column="alarm_loss" jdbcType="TINYINT" property="alarmLoss" />
+    <result column="alarm_water_meter_break" jdbcType="TINYINT" property="alarmWaterMeterBreak" />
+    <result column="alarm_ele_meter_fault" jdbcType="TINYINT" property="alarmEleMeterFault" />
+    <result column="alarm0_money_remain" jdbcType="TINYINT" property="alarm0MoneyRemain" />
+    <result column="alarm_inner_door" jdbcType="TINYINT" property="alarmInnerDoor" />
+    <result column="alarm_outer_door" jdbcType="TINYINT" property="alarmOuterDoor" />
+    <result column="alarm_ele_miss" jdbcType="TINYINT" property="alarmEleMiss" />
+    <result column="alarm_ele_exceed" jdbcType="TINYINT" property="alarmEleExceed" />
+    <result column="alarm_ele_low_volt" jdbcType="TINYINT" property="alarmEleLowVolt" />
+    <result column="state_ic_enable" jdbcType="TINYINT" property="stateIcEnable" />
   </resultMap>
   <sql id="Base_Column_List">
     <!--@mbg.generated-->
-    id, controllerId, intakeId, rtuAddr, dt, rtuDt, bateryVolt, loss, meter, valve, icCard,
-    working, valveState
+    id, controller_id, intake_id, rtu_addr, dt, rtu_dt, valve_state, alarm_remain_water, 
+    alarm0_water_remain, alarm_exceed_year, alarm_water_meter_fault, alarm_loss, alarm_water_meter_break, 
+    alarm_ele_meter_fault, alarm0_money_remain, alarm_inner_door, alarm_outer_door, alarm_ele_miss, 
+    alarm_ele_exceed, alarm_ele_low_volt, state_ic_enable
   </sql>
   <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
     <!--@mbg.generated-->
@@ -37,16 +47,22 @@
   </delete>
   <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoRm.RmAlarmStateHistory">
     <!--@mbg.generated-->
-    insert into rm_alarm_state_history (id, controllerId, intakeId, 
-      rtuAddr, dt, rtuDt, bateryVolt,
-      loss, meter, valve, 
-      icCard, working, valveState
-      )
-    values (#{id,jdbcType=BIGINT}, #{controllerid,jdbcType=BIGINT}, #{intakeid,jdbcType=BIGINT}, 
-      #{rtuaddr,jdbcType=VARCHAR}, #{dt,jdbcType=TIMESTAMP}, #{rtudt,jdbcType=TIMESTAMP}, #{bateryvolt,jdbcType=TINYINT},
-      #{loss,jdbcType=TINYINT}, #{meter,jdbcType=TINYINT}, #{valve,jdbcType=TINYINT}, 
-      #{iccard,jdbcType=TINYINT}, #{working,jdbcType=TINYINT}, #{valvestate,jdbcType=TINYINT}
-      )
+    insert into rm_alarm_state_history (id, controller_id, intake_id, 
+      rtu_addr, dt, rtu_dt, 
+      valve_state, alarm_remain_water, alarm0_water_remain, 
+      alarm_exceed_year, alarm_water_meter_fault, 
+      alarm_loss, alarm_water_meter_break, alarm_ele_meter_fault, 
+      alarm0_money_remain, alarm_inner_door, alarm_outer_door, 
+      alarm_ele_miss, alarm_ele_exceed, alarm_ele_low_volt, 
+      state_ic_enable)
+    values (#{id,jdbcType=BIGINT}, #{controllerId,jdbcType=BIGINT}, #{intakeId,jdbcType=BIGINT}, 
+      #{rtuAddr,jdbcType=VARCHAR}, #{dt,jdbcType=TIMESTAMP}, #{rtuDt,jdbcType=TIMESTAMP}, 
+      #{valveState,jdbcType=TINYINT}, #{alarmRemainWater,jdbcType=TINYINT}, #{alarm0WaterRemain,jdbcType=TINYINT}, 
+      #{alarmExceedYear,jdbcType=TINYINT}, #{alarmWaterMeterFault,jdbcType=TINYINT}, 
+      #{alarmLoss,jdbcType=TINYINT}, #{alarmWaterMeterBreak,jdbcType=TINYINT}, #{alarmEleMeterFault,jdbcType=TINYINT}, 
+      #{alarm0MoneyRemain,jdbcType=TINYINT}, #{alarmInnerDoor,jdbcType=TINYINT}, #{alarmOuterDoor,jdbcType=TINYINT}, 
+      #{alarmEleMiss,jdbcType=TINYINT}, #{alarmEleExceed,jdbcType=TINYINT}, #{alarmEleLowVolt,jdbcType=TINYINT}, 
+      #{stateIcEnable,jdbcType=TINYINT})
   </insert>
   <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmAlarmStateHistory">
     <!--@mbg.generated-->
@@ -55,82 +71,130 @@
       <if test="id != null">
         id,
       </if>
-      <if test="controllerid != null">
-        controllerId,
+      <if test="controllerId != null">
+        controller_id,
       </if>
-      <if test="intakeid != null">
-        intakeId,
+      <if test="intakeId != null">
+        intake_id,
       </if>
-      <if test="rtuaddr != null">
-        rtuAddr,
+      <if test="rtuAddr != null">
+        rtu_addr,
       </if>
       <if test="dt != null">
         dt,
       </if>
-      <if test="rtudt != null">
-        rtuDt,
+      <if test="rtuDt != null">
+        rtu_dt,
       </if>
-      <if test="bateryvolt != null">
-        bateryVolt,
+      <if test="valveState != null">
+        valve_state,
       </if>
-      <if test="loss != null">
-        loss,
+      <if test="alarmRemainWater != null">
+        alarm_remain_water,
       </if>
-      <if test="meter != null">
-        meter,
+      <if test="alarm0WaterRemain != null">
+        alarm0_water_remain,
       </if>
-      <if test="valve != null">
-        valve,
+      <if test="alarmExceedYear != null">
+        alarm_exceed_year,
       </if>
-      <if test="iccard != null">
-        icCard,
+      <if test="alarmWaterMeterFault != null">
+        alarm_water_meter_fault,
       </if>
-      <if test="working != null">
-        working,
+      <if test="alarmLoss != null">
+        alarm_loss,
       </if>
-      <if test="valvestate != null">
-        valveState,
+      <if test="alarmWaterMeterBreak != null">
+        alarm_water_meter_break,
+      </if>
+      <if test="alarmEleMeterFault != null">
+        alarm_ele_meter_fault,
+      </if>
+      <if test="alarm0MoneyRemain != null">
+        alarm0_money_remain,
+      </if>
+      <if test="alarmInnerDoor != null">
+        alarm_inner_door,
+      </if>
+      <if test="alarmOuterDoor != null">
+        alarm_outer_door,
+      </if>
+      <if test="alarmEleMiss != null">
+        alarm_ele_miss,
+      </if>
+      <if test="alarmEleExceed != null">
+        alarm_ele_exceed,
+      </if>
+      <if test="alarmEleLowVolt != null">
+        alarm_ele_low_volt,
+      </if>
+      <if test="stateIcEnable != null">
+        state_ic_enable,
       </if>
     </trim>
     <trim prefix="values (" suffix=")" suffixOverrides=",">
       <if test="id != null">
         #{id,jdbcType=BIGINT},
       </if>
-      <if test="controllerid != null">
-        #{controllerid,jdbcType=BIGINT},
+      <if test="controllerId != null">
+        #{controllerId,jdbcType=BIGINT},
       </if>
-      <if test="intakeid != null">
-        #{intakeid,jdbcType=BIGINT},
+      <if test="intakeId != null">
+        #{intakeId,jdbcType=BIGINT},
       </if>
-      <if test="rtuaddr != null">
-        #{rtuaddr,jdbcType=VARCHAR},
+      <if test="rtuAddr != null">
+        #{rtuAddr,jdbcType=VARCHAR},
       </if>
       <if test="dt != null">
         #{dt,jdbcType=TIMESTAMP},
       </if>
-      <if test="rtudt != null">
-        #{rtudt,jdbcType=TIMESTAMP},
+      <if test="rtuDt != null">
+        #{rtuDt,jdbcType=TIMESTAMP},
       </if>
-      <if test="bateryvolt != null">
-        #{bateryvolt,jdbcType=TINYINT},
+      <if test="valveState != null">
+        #{valveState,jdbcType=TINYINT},
       </if>
-      <if test="loss != null">
-        #{loss,jdbcType=TINYINT},
+      <if test="alarmRemainWater != null">
+        #{alarmRemainWater,jdbcType=TINYINT},
       </if>
-      <if test="meter != null">
-        #{meter,jdbcType=TINYINT},
+      <if test="alarm0WaterRemain != null">
+        #{alarm0WaterRemain,jdbcType=TINYINT},
       </if>
-      <if test="valve != null">
-        #{valve,jdbcType=TINYINT},
+      <if test="alarmExceedYear != null">
+        #{alarmExceedYear,jdbcType=TINYINT},
       </if>
-      <if test="iccard != null">
-        #{iccard,jdbcType=TINYINT},
+      <if test="alarmWaterMeterFault != null">
+        #{alarmWaterMeterFault,jdbcType=TINYINT},
       </if>
-      <if test="working != null">
-        #{working,jdbcType=TINYINT},
+      <if test="alarmLoss != null">
+        #{alarmLoss,jdbcType=TINYINT},
       </if>
-      <if test="valvestate != null">
-        #{valvestate,jdbcType=TINYINT},
+      <if test="alarmWaterMeterBreak != null">
+        #{alarmWaterMeterBreak,jdbcType=TINYINT},
+      </if>
+      <if test="alarmEleMeterFault != null">
+        #{alarmEleMeterFault,jdbcType=TINYINT},
+      </if>
+      <if test="alarm0MoneyRemain != null">
+        #{alarm0MoneyRemain,jdbcType=TINYINT},
+      </if>
+      <if test="alarmInnerDoor != null">
+        #{alarmInnerDoor,jdbcType=TINYINT},
+      </if>
+      <if test="alarmOuterDoor != null">
+        #{alarmOuterDoor,jdbcType=TINYINT},
+      </if>
+      <if test="alarmEleMiss != null">
+        #{alarmEleMiss,jdbcType=TINYINT},
+      </if>
+      <if test="alarmEleExceed != null">
+        #{alarmEleExceed,jdbcType=TINYINT},
+      </if>
+      <if test="alarmEleLowVolt != null">
+        #{alarmEleLowVolt,jdbcType=TINYINT},
+      </if>
+      <if test="stateIcEnable != null">
+        #{stateIcEnable,jdbcType=TINYINT},
       </if>
     </trim>
   </insert>
@@ -138,41 +202,65 @@
     <!--@mbg.generated-->
     update rm_alarm_state_history
     <set>
-      <if test="controllerid != null">
-        controllerId = #{controllerid,jdbcType=BIGINT},
+      <if test="controllerId != null">
+        controller_id = #{controllerId,jdbcType=BIGINT},
       </if>
-      <if test="intakeid != null">
-        intakeId = #{intakeid,jdbcType=BIGINT},
+      <if test="intakeId != null">
+        intake_id = #{intakeId,jdbcType=BIGINT},
       </if>
-      <if test="rtuaddr != null">
-        rtuAddr = #{rtuaddr,jdbcType=VARCHAR},
+      <if test="rtuAddr != null">
+        rtu_addr = #{rtuAddr,jdbcType=VARCHAR},
       </if>
       <if test="dt != null">
         dt = #{dt,jdbcType=TIMESTAMP},
       </if>
-     <if test="rtudt != null">
-       rtuDt = #{rtudt,jdbcType=TIMESTAMP},
+      <if test="rtuDt != null">
+        rtu_dt = #{rtuDt,jdbcType=TIMESTAMP},
       </if>
-      <if test="bateryvolt != null">
-        bateryVolt = #{bateryvolt,jdbcType=TINYINT},
+      <if test="valveState != null">
+        valve_state = #{valveState,jdbcType=TINYINT},
       </if>
-      <if test="loss != null">
-        loss = #{loss,jdbcType=TINYINT},
+      <if test="alarmRemainWater != null">
+        alarm_remain_water = #{alarmRemainWater,jdbcType=TINYINT},
       </if>
-      <if test="meter != null">
-        meter = #{meter,jdbcType=TINYINT},
+      <if test="alarm0WaterRemain != null">
+        alarm0_water_remain = #{alarm0WaterRemain,jdbcType=TINYINT},
       </if>
-      <if test="valve != null">
-        valve = #{valve,jdbcType=TINYINT},
+      <if test="alarmExceedYear != null">
+        alarm_exceed_year = #{alarmExceedYear,jdbcType=TINYINT},
       </if>
-      <if test="iccard != null">
-        icCard = #{iccard,jdbcType=TINYINT},
+      <if test="alarmWaterMeterFault != null">
+        alarm_water_meter_fault = #{alarmWaterMeterFault,jdbcType=TINYINT},
       </if>
-      <if test="working != null">
-        working = #{working,jdbcType=TINYINT},
+      <if test="alarmLoss != null">
+        alarm_loss = #{alarmLoss,jdbcType=TINYINT},
       </if>
-      <if test="valvestate != null">
-        valveState = #{valvestate,jdbcType=TINYINT},
+      <if test="alarmWaterMeterBreak != null">
+        alarm_water_meter_break = #{alarmWaterMeterBreak,jdbcType=TINYINT},
+      </if>
+      <if test="alarmEleMeterFault != null">
+        alarm_ele_meter_fault = #{alarmEleMeterFault,jdbcType=TINYINT},
+      </if>
+      <if test="alarm0MoneyRemain != null">
+        alarm0_money_remain = #{alarm0MoneyRemain,jdbcType=TINYINT},
+      </if>
+      <if test="alarmInnerDoor != null">
+        alarm_inner_door = #{alarmInnerDoor,jdbcType=TINYINT},
+      </if>
+      <if test="alarmOuterDoor != null">
+        alarm_outer_door = #{alarmOuterDoor,jdbcType=TINYINT},
+      </if>
+      <if test="alarmEleMiss != null">
+        alarm_ele_miss = #{alarmEleMiss,jdbcType=TINYINT},
+      </if>
+      <if test="alarmEleExceed != null">
+        alarm_ele_exceed = #{alarmEleExceed,jdbcType=TINYINT},
+      </if>
+      <if test="alarmEleLowVolt != null">
+        alarm_ele_low_volt = #{alarmEleLowVolt,jdbcType=TINYINT},
+      </if>
+      <if test="stateIcEnable != null">
+        state_ic_enable = #{stateIcEnable,jdbcType=TINYINT},
       </if>
     </set>
     where id = #{id,jdbcType=BIGINT}
@@ -180,18 +268,26 @@
   <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoRm.RmAlarmStateHistory">
     <!--@mbg.generated-->
     update rm_alarm_state_history
-    set controllerId = #{controllerid,jdbcType=BIGINT},
-      intakeId = #{intakeid,jdbcType=BIGINT},
-      rtuAddr = #{rtuaddr,jdbcType=VARCHAR},
+    set controller_id = #{controllerId,jdbcType=BIGINT},
+      intake_id = #{intakeId,jdbcType=BIGINT},
+      rtu_addr = #{rtuAddr,jdbcType=VARCHAR},
       dt = #{dt,jdbcType=TIMESTAMP},
-      rtuDt = #{rtudt,jdbcType=TIMESTAMP},
-      bateryVolt = #{bateryvolt,jdbcType=TINYINT},
-      loss = #{loss,jdbcType=TINYINT},
-      meter = #{meter,jdbcType=TINYINT},
-      valve = #{valve,jdbcType=TINYINT},
-      icCard = #{iccard,jdbcType=TINYINT},
-      working = #{working,jdbcType=TINYINT},
-      valveState = #{valvestate,jdbcType=TINYINT}
+      rtu_dt = #{rtuDt,jdbcType=TIMESTAMP},
+      valve_state = #{valveState,jdbcType=TINYINT},
+      alarm_remain_water = #{alarmRemainWater,jdbcType=TINYINT},
+      alarm0_water_remain = #{alarm0WaterRemain,jdbcType=TINYINT},
+      alarm_exceed_year = #{alarmExceedYear,jdbcType=TINYINT},
+      alarm_water_meter_fault = #{alarmWaterMeterFault,jdbcType=TINYINT},
+      alarm_loss = #{alarmLoss,jdbcType=TINYINT},
+      alarm_water_meter_break = #{alarmWaterMeterBreak,jdbcType=TINYINT},
+      alarm_ele_meter_fault = #{alarmEleMeterFault,jdbcType=TINYINT},
+      alarm0_money_remain = #{alarm0MoneyRemain,jdbcType=TINYINT},
+      alarm_inner_door = #{alarmInnerDoor,jdbcType=TINYINT},
+      alarm_outer_door = #{alarmOuterDoor,jdbcType=TINYINT},
+      alarm_ele_miss = #{alarmEleMiss,jdbcType=TINYINT},
+      alarm_ele_exceed = #{alarmEleExceed,jdbcType=TINYINT},
+      alarm_ele_low_volt = #{alarmEleLowVolt,jdbcType=TINYINT},
+      state_ic_enable = #{stateIcEnable,jdbcType=TINYINT}
     where id = #{id,jdbcType=BIGINT}
   </update>
 </mapper>
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmAlarmStateLastMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmAlarmStateLastMapper.xml
index a2c0d2f..2056c59 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmAlarmStateLastMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmAlarmStateLastMapper.xml
@@ -5,23 +5,33 @@
     <!--@mbg.generated-->
     <!--@Table rm_alarm_state_last-->
     <id column="id" jdbcType="BIGINT" property="id" />
-    <result column="controllerId" jdbcType="BIGINT" property="controllerid" />
-    <result column="intakeId" jdbcType="BIGINT" property="intakeid" />
-    <result column="rtuAddr" jdbcType="VARCHAR" property="rtuaddr" />
+    <result column="controller_id" jdbcType="BIGINT" property="controllerId" />
+    <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="rtuDt" jdbcType="TIMESTAMP" property="rtudt" />
-    <result column="bateryVolt" jdbcType="TINYINT" property="bateryvolt" />
-    <result column="loss" jdbcType="TINYINT" property="loss" />
-    <result column="meter" jdbcType="TINYINT" property="meter" />
-    <result column="valve" jdbcType="TINYINT" property="valve" />
-    <result column="icCard" jdbcType="TINYINT" property="iccard" />
-    <result column="working" jdbcType="TINYINT" property="working" />
-    <result column="valveState" jdbcType="TINYINT" property="valvestate" />
+    <result column="rtu_dt" jdbcType="TIMESTAMP" property="rtuDt" />
+    <result column="valve_state" jdbcType="TINYINT" property="valveState" />
+    <result column="alarm_remain_water" jdbcType="TINYINT" property="alarmRemainWater" />
+    <result column="alarm0_water_remain" jdbcType="TINYINT" property="alarm0WaterRemain" />
+    <result column="alarm_exceed_year" jdbcType="TINYINT" property="alarmExceedYear" />
+    <result column="alarm_water_meter_fault" jdbcType="TINYINT" property="alarmWaterMeterFault" />
+    <result column="alarm_loss" jdbcType="TINYINT" property="alarmLoss" />
+    <result column="alarm_water_meter_break" jdbcType="TINYINT" property="alarmWaterMeterBreak" />
+    <result column="alarm_ele_meter_fault" jdbcType="TINYINT" property="alarmEleMeterFault" />
+    <result column="alarm0_money_remain" jdbcType="TINYINT" property="alarm0MoneyRemain" />
+    <result column="alarm_inner_door" jdbcType="TINYINT" property="alarmInnerDoor" />
+    <result column="alarm_outer_door" jdbcType="TINYINT" property="alarmOuterDoor" />
+    <result column="alarm_ele_miss" jdbcType="TINYINT" property="alarmEleMiss" />
+    <result column="alarm_ele_exceed" jdbcType="TINYINT" property="alarmEleExceed" />
+    <result column="alarm_ele_low_volt" jdbcType="TINYINT" property="alarmEleLowVolt" />
+    <result column="state_ic_enable" jdbcType="TINYINT" property="stateIcEnable" />
   </resultMap>
   <sql id="Base_Column_List">
     <!--@mbg.generated-->
-    id, controllerId, intakeId, rtuAddr, dt, rtuDt, bateryVolt, loss, meter, valve, icCard,
-    working, valveState
+    id, controller_id, intake_id, rtu_addr, dt, rtu_dt, valve_state, alarm_remain_water,
+    alarm0_water_remain, alarm_exceed_year, alarm_water_meter_fault, alarm_loss, alarm_water_meter_break,
+    alarm_ele_meter_fault, alarm0_money_remain, alarm_inner_door, alarm_outer_door, alarm_ele_miss, 
+    alarm_ele_exceed, alarm_ele_low_volt, state_ic_enable
   </sql>
   <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
     <!--@mbg.generated-->
@@ -30,15 +40,13 @@
     from rm_alarm_state_last
     where id = #{id,jdbcType=BIGINT}
   </select>
-
- <select id="selectByRtuAddr" parameterType="java.lang.String" resultMap="BaseResultMap">
+  <select id="selectByRtuAddr" parameterType="java.lang.String" resultMap="BaseResultMap">
     <!--@mbg.generated-->
     select
     <include refid="Base_Column_List" />
     from rm_alarm_state_last
-    where rtuAddr = #{rtuAddr,jdbcType=VARCHAR}
+    where rtu_addr = #{rtuAddr,jdbcType=VARCHAR}
   </select>
-
   <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
     <!--@mbg.generated-->
     delete from rm_alarm_state_last
@@ -46,16 +54,22 @@
   </delete>
   <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoRm.RmAlarmStateLast">
     <!--@mbg.generated-->
-    insert into rm_alarm_state_last (id, controllerId, intakeId, 
-      rtuAddr, dt, rtuDt, bateryVolt,
-      loss, meter, valve, 
-      icCard, working, valveState
-      )
-    values (#{id,jdbcType=BIGINT}, #{controllerid,jdbcType=BIGINT}, #{intakeid,jdbcType=BIGINT}, 
-      #{rtuaddr,jdbcType=VARCHAR}, #{dt,jdbcType=TIMESTAMP}, #{rtudt,jdbcType=TIMESTAMP}, #{bateryvolt,jdbcType=TINYINT},
-      #{loss,jdbcType=TINYINT}, #{meter,jdbcType=TINYINT}, #{valve,jdbcType=TINYINT}, 
-      #{iccard,jdbcType=TINYINT}, #{working,jdbcType=TINYINT}, #{valvestate,jdbcType=TINYINT}
-      )
+    insert into rm_alarm_state_last (id, controller_id, intake_id, 
+      rtu_addr, dt, rtu_dt, 
+      valve_state, alarm_remain_water, alarm0_water_remain,
+      alarm_exceed_year, alarm_water_meter_fault,
+      alarm_loss, alarm_water_meter_break, alarm_ele_meter_fault, 
+      alarm0_money_remain, alarm_inner_door, alarm_outer_door, 
+      alarm_ele_miss, alarm_ele_exceed, alarm_ele_low_volt, 
+      state_ic_enable)
+    values (#{id,jdbcType=BIGINT}, #{controllerId,jdbcType=BIGINT}, #{intakeId,jdbcType=BIGINT}, 
+      #{rtuAddr,jdbcType=VARCHAR}, #{dt,jdbcType=TIMESTAMP}, #{rtuDt,jdbcType=TIMESTAMP}, 
+      #{valveState,jdbcType=TINYINT}, #{alarmRemainWater,jdbcType=TINYINT}, #{alarm0WaterRemain,jdbcType=TINYINT}, 
+      #{alarmExceedYear,jdbcType=TINYINT}, #{alarmWaterMeterFault,jdbcType=TINYINT}, 
+      #{alarmLoss,jdbcType=TINYINT}, #{alarmWaterMeterBreak,jdbcType=TINYINT}, #{alarmEleMeterFault,jdbcType=TINYINT}, 
+      #{alarm0MoneyRemain,jdbcType=TINYINT}, #{alarmInnerDoor,jdbcType=TINYINT}, #{alarmOuterDoor,jdbcType=TINYINT}, 
+      #{alarmEleMiss,jdbcType=TINYINT}, #{alarmEleExceed,jdbcType=TINYINT}, #{alarmEleLowVolt,jdbcType=TINYINT}, 
+      #{stateIcEnable,jdbcType=TINYINT})
   </insert>
   <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmAlarmStateLast">
     <!--@mbg.generated-->
@@ -64,82 +78,130 @@
       <if test="id != null">
         id,
       </if>
-      <if test="controllerid != null">
-        controllerId,
+      <if test="controllerId != null">
+        controller_id,
       </if>
-      <if test="intakeid != null">
-        intakeId,
+      <if test="intakeId != null">
+        intake_id,
       </if>
-      <if test="rtuaddr != null">
-        rtuAddr,
+      <if test="rtuAddr != null">
+        rtu_addr,
       </if>
       <if test="dt != null">
         dt,
       </if>
-      <if test="rtudt != null">
-        rtuDt,
+      <if test="rtuDt != null">
+        rtu_dt,
       </if>
-      <if test="bateryvolt != null">
-        bateryVolt,
+      <if test="valveState != null">
+        valve_state,
       </if>
-      <if test="loss != null">
-        loss,
+      <if test="alarmRemainWater != null">
+        alarm_remain_water,
       </if>
-      <if test="meter != null">
-        meter,
+      <if test="alarm0WaterRemain != null">
+        alarm0_water_remain,
       </if>
-      <if test="valve != null">
-        valve,
+      <if test="alarmExceedYear != null">
+        alarm_exceed_year,
       </if>
-      <if test="iccard != null">
-        icCard,
+      <if test="alarmWaterMeterFault != null">
+        alarm_water_meter_fault,
       </if>
-      <if test="working != null">
-        working,
+      <if test="alarmLoss != null">
+        alarm_loss,
       </if>
-      <if test="valvestate != null">
-        valveState,
+      <if test="alarmWaterMeterBreak != null">
+        alarm_water_meter_break,
+      </if>
+      <if test="alarmEleMeterFault != null">
+        alarm_ele_meter_fault,
+      </if>
+      <if test="alarm0MoneyRemain != null">
+        alarm0_money_remain,
+      </if>
+      <if test="alarmInnerDoor != null">
+        alarm_inner_door,
+      </if>
+      <if test="alarmOuterDoor != null">
+        alarm_outer_door,
+      </if>
+      <if test="alarmEleMiss != null">
+        alarm_ele_miss,
+      </if>
+      <if test="alarmEleExceed != null">
+        alarm_ele_exceed,
+      </if>
+      <if test="alarmEleLowVolt != null">
+        alarm_ele_low_volt,
+      </if>
+      <if test="stateIcEnable != null">
+        state_ic_enable,
       </if>
     </trim>
     <trim prefix="values (" suffix=")" suffixOverrides=",">
       <if test="id != null">
         #{id,jdbcType=BIGINT},
       </if>
-      <if test="controllerid != null">
-        #{controllerid,jdbcType=BIGINT},
+      <if test="controllerId != null">
+        #{controllerId,jdbcType=BIGINT},
       </if>
-      <if test="intakeid != null">
-        #{intakeid,jdbcType=BIGINT},
+      <if test="intakeId != null">
+        #{intakeId,jdbcType=BIGINT},
       </if>
-      <if test="rtuaddr != null">
-        #{rtuaddr,jdbcType=VARCHAR},
+      <if test="rtuAddr != null">
+        #{rtuAddr,jdbcType=VARCHAR},
       </if>
       <if test="dt != null">
         #{dt,jdbcType=TIMESTAMP},
       </if>
-      <if test="rtudt != null">
-        #{rtudt,jdbcType=TIMESTAMP},
+      <if test="rtuDt != null">
+        #{rtuDt,jdbcType=TIMESTAMP},
       </if>
-      <if test="bateryvolt != null">
-        #{bateryvolt,jdbcType=TINYINT},
+      <if test="valveState != null">
+        #{valveState,jdbcType=TINYINT},
       </if>
-      <if test="loss != null">
-        #{loss,jdbcType=TINYINT},
+      <if test="alarmRemainWater != null">
+        #{alarmRemainWater,jdbcType=TINYINT},
       </if>
-      <if test="meter != null">
-        #{meter,jdbcType=TINYINT},
+      <if test="alarm0WaterRemain != null">
+        #{alarm0WaterRemain,jdbcType=TINYINT},
       </if>
-      <if test="valve != null">
-        #{valve,jdbcType=TINYINT},
+      <if test="alarmExceedYear != null">
+        #{alarmExceedYear,jdbcType=TINYINT},
       </if>
-      <if test="iccard != null">
-        #{iccard,jdbcType=TINYINT},
+      <if test="alarmWaterMeterFault != null">
+        #{alarmWaterMeterFault,jdbcType=TINYINT},
       </if>
-      <if test="working != null">
-        #{working,jdbcType=TINYINT},
+      <if test="alarmLoss != null">
+        #{alarmLoss,jdbcType=TINYINT},
       </if>
-      <if test="valvestate != null">
-        #{valvestate,jdbcType=TINYINT},
+      <if test="alarmWaterMeterBreak != null">
+        #{alarmWaterMeterBreak,jdbcType=TINYINT},
+      </if>
+      <if test="alarmEleMeterFault != null">
+        #{alarmEleMeterFault,jdbcType=TINYINT},
+      </if>
+      <if test="alarm0MoneyRemain != null">
+        #{alarm0MoneyRemain,jdbcType=TINYINT},
+      </if>
+      <if test="alarmInnerDoor != null">
+        #{alarmInnerDoor,jdbcType=TINYINT},
+      </if>
+      <if test="alarmOuterDoor != null">
+        #{alarmOuterDoor,jdbcType=TINYINT},
+      </if>
+      <if test="alarmEleMiss != null">
+        #{alarmEleMiss,jdbcType=TINYINT},
+      </if>
+      <if test="alarmEleExceed != null">
+        #{alarmEleExceed,jdbcType=TINYINT},
+      </if>
+      <if test="alarmEleLowVolt != null">
+        #{alarmEleLowVolt,jdbcType=TINYINT},
+      </if>
+      <if test="stateIcEnable != null">
+        #{stateIcEnable,jdbcType=TINYINT},
       </if>
     </trim>
   </insert>
@@ -147,41 +209,65 @@
     <!--@mbg.generated-->
     update rm_alarm_state_last
     <set>
-      <if test="controllerid != null">
-        controllerId = #{controllerid,jdbcType=BIGINT},
+      <if test="controllerId != null">
+        controller_id = #{controllerId,jdbcType=BIGINT},
       </if>
-      <if test="intakeid != null">
-        intakeId = #{intakeid,jdbcType=BIGINT},
+      <if test="intakeId != null">
+        intake_id = #{intakeId,jdbcType=BIGINT},
       </if>
-      <if test="rtuaddr != null">
-        rtuAddr = #{rtuaddr,jdbcType=VARCHAR},
+      <if test="rtuAddr != null">
+        rtu_addr = #{rtuAddr,jdbcType=VARCHAR},
       </if>
       <if test="dt != null">
         dt = #{dt,jdbcType=TIMESTAMP},
       </if>
-      <if test="rtudt != null">
-        rtuDt = #{rtudt,jdbcType=TIMESTAMP},
+      <if test="rtuDt != null">
+        rtu_dt = #{rtuDt,jdbcType=TIMESTAMP},
       </if>
-      <if test="bateryvolt != null">
-        bateryVolt = #{bateryvolt,jdbcType=TINYINT},
+      <if test="valveState != null">
+        valve_state = #{valveState,jdbcType=TINYINT},
       </if>
-      <if test="loss != null">
-        loss = #{loss,jdbcType=TINYINT},
+      <if test="alarmRemainWater != null">
+        alarm_remain_water = #{alarmRemainWater,jdbcType=TINYINT},
       </if>
-      <if test="meter != null">
-        meter = #{meter,jdbcType=TINYINT},
+      <if test="alarm0WaterRemain != null">
+        alarm0_water_remain = #{alarm0WaterRemain,jdbcType=TINYINT},
       </if>
-      <if test="valve != null">
-        valve = #{valve,jdbcType=TINYINT},
+      <if test="alarmExceedYear != null">
+        alarm_exceed_year = #{alarmExceedYear,jdbcType=TINYINT},
       </if>
-      <if test="iccard != null">
-        icCard = #{iccard,jdbcType=TINYINT},
+      <if test="alarmWaterMeterFault != null">
+        alarm_water_meter_fault = #{alarmWaterMeterFault,jdbcType=TINYINT},
       </if>
-      <if test="working != null">
-        working = #{working,jdbcType=TINYINT},
+      <if test="alarmLoss != null">
+        alarm_loss = #{alarmLoss,jdbcType=TINYINT},
       </if>
-      <if test="valvestate != null">
-        valveState = #{valvestate,jdbcType=TINYINT},
+      <if test="alarmWaterMeterBreak != null">
+        alarm_water_meter_break = #{alarmWaterMeterBreak,jdbcType=TINYINT},
+      </if>
+      <if test="alarmEleMeterFault != null">
+        alarm_ele_meter_fault = #{alarmEleMeterFault,jdbcType=TINYINT},
+      </if>
+      <if test="alarm0MoneyRemain != null">
+        alarm0_money_remain = #{alarm0MoneyRemain,jdbcType=TINYINT},
+      </if>
+      <if test="alarmInnerDoor != null">
+        alarm_inner_door = #{alarmInnerDoor,jdbcType=TINYINT},
+      </if>
+      <if test="alarmOuterDoor != null">
+        alarm_outer_door = #{alarmOuterDoor,jdbcType=TINYINT},
+      </if>
+      <if test="alarmEleMiss != null">
+        alarm_ele_miss = #{alarmEleMiss,jdbcType=TINYINT},
+      </if>
+      <if test="alarmEleExceed != null">
+        alarm_ele_exceed = #{alarmEleExceed,jdbcType=TINYINT},
+      </if>
+      <if test="alarmEleLowVolt != null">
+        alarm_ele_low_volt = #{alarmEleLowVolt,jdbcType=TINYINT},
+      </if>
+      <if test="stateIcEnable != null">
+        state_ic_enable = #{stateIcEnable,jdbcType=TINYINT},
       </if>
     </set>
     where id = #{id,jdbcType=BIGINT}
@@ -189,18 +275,26 @@
   <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoRm.RmAlarmStateLast">
     <!--@mbg.generated-->
     update rm_alarm_state_last
-    set controllerId = #{controllerid,jdbcType=BIGINT},
-      intakeId = #{intakeid,jdbcType=BIGINT},
-      rtuAddr = #{rtuaddr,jdbcType=VARCHAR},
+    set controller_id = #{controllerId,jdbcType=BIGINT},
+      intake_id = #{intakeId,jdbcType=BIGINT},
+      rtu_addr = #{rtuAddr,jdbcType=VARCHAR},
       dt = #{dt,jdbcType=TIMESTAMP},
-      rtuDt = #{rtudt,jdbcType=TIMESTAMP},
-      bateryVolt = #{bateryvolt,jdbcType=TINYINT},
-      loss = #{loss,jdbcType=TINYINT},
-      meter = #{meter,jdbcType=TINYINT},
-      valve = #{valve,jdbcType=TINYINT},
-      icCard = #{iccard,jdbcType=TINYINT},
-      working = #{working,jdbcType=TINYINT},
-      valveState = #{valvestate,jdbcType=TINYINT}
+      rtu_dt = #{rtuDt,jdbcType=TIMESTAMP},
+      valve_state = #{valveState,jdbcType=TINYINT},
+      alarm_remain_water = #{alarmRemainWater,jdbcType=TINYINT},
+      alarm0_water_remain = #{alarm0WaterRemain,jdbcType=TINYINT},
+      alarm_exceed_year = #{alarmExceedYear,jdbcType=TINYINT},
+      alarm_water_meter_fault = #{alarmWaterMeterFault,jdbcType=TINYINT},
+      alarm_loss = #{alarmLoss,jdbcType=TINYINT},
+      alarm_water_meter_break = #{alarmWaterMeterBreak,jdbcType=TINYINT},
+      alarm_ele_meter_fault = #{alarmEleMeterFault,jdbcType=TINYINT},
+      alarm0_money_remain = #{alarm0MoneyRemain,jdbcType=TINYINT},
+      alarm_inner_door = #{alarmInnerDoor,jdbcType=TINYINT},
+      alarm_outer_door = #{alarmOuterDoor,jdbcType=TINYINT},
+      alarm_ele_miss = #{alarmEleMiss,jdbcType=TINYINT},
+      alarm_ele_exceed = #{alarmEleExceed,jdbcType=TINYINT},
+      alarm_ele_low_volt = #{alarmEleLowVolt,jdbcType=TINYINT},
+      state_ic_enable = #{stateIcEnable,jdbcType=TINYINT}
     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/forTcp/MidResultActionFromRtu.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/MidResultActionFromRtu.java
index d672bb7..95a86a8 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/MidResultActionFromRtu.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/MidResultActionFromRtu.java
@@ -30,7 +30,7 @@
 				MidResultToRtu resToRtu = TcpDownCommandCache.matchFromHead(resFromRtu) ;
 				if(resToRtu != null){
 					//鍖归厤鍒颁笅鍙戠殑鍛戒护
-					resFromRtu.matchedCommand(resToRtu.rtuResultSendWebUrl, resToRtu.commandId) ;
+					resFromRtu.matchedCommand(resToRtu.commandId, resToRtu.rtuResultSendWebUrl) ;
 					this.nextDealRtuData(false, resFromRtu);
 					this.nextDealRtuComResult(resFromRtu);
 				}else{
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/TcpIoSessionCallback.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/TcpIoSessionCallback.java
index 5971315..ef4a867 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/TcpIoSessionCallback.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/TcpIoSessionCallback.java
@@ -35,7 +35,7 @@
 
 	    	log.info("缃戠粶杩炴帴鍏抽棴锛�"
 	    			+ (rtuAddr==null?"":("缁堢鍦板潃鏄細" + rtuAddr))) ;
-	    			//+ (session==null?"":(session.getRemoteAddress() == null?"":(session.getRemoteAddress().toString()==null?"":("缁堢缃戝潃鏄細" + session.getRemoteAddress().toString()))))) ;
+	    			//+ (session==null?"":(session.getRemoteAddress() == null?"":(session.getRemoteAddress().toString()==null?"":("锛岀粓绔綉鍧�鏄細" + session.getRemoteAddress().toString()))))) ;
 		}
  	}
 	/**
@@ -46,7 +46,7 @@
     		String rtuAddr = (String)session.getAttribute(TcpIoSessionAttrIdIsRtuAddr.sessionArrIdKey) ;
     		log.error("缃戠粶浼氳瘽鍙戠敓寮傚父锛�"
     				+ (rtuAddr==null?"":("缁堢鍦板潃鏄細" + rtuAddr))
-    				+ (session==null?"":(session.getRemoteAddress() != null?("缁堢缃戝潃鏄細" + session.getRemoteAddress().toString()):""))
+    				+ (session==null?"":(session.getRemoteAddress() != null?("锛岀粓绔綉鍧�鏄細" + session.getRemoteAddress().toString()):""))
     				+ "\n寮傚父娑堟伅锛�" + cause.getMessage(), cause);
     	}
     }
@@ -58,7 +58,7 @@
       	String rtuAddr = (String)session.getAttribute(TcpIoSessionAttrIdIsRtuAddr.sessionArrIdKey) ;
     	log.info("缃戠粶鍙戦�佷簡鏁版嵁锛�"
     			+ (rtuAddr==null?"":("缁堢鍦板潃鏄細" + rtuAddr))
-    			+ (session==null?"":(session.getRemoteAddress() != null?("缁堢缃戝潃鏄細" + session.getRemoteAddress().toString()):"")) );
+    			+ (session==null?"":(session.getRemoteAddress() != null?("锛岀粓绔綉鍧�鏄細" + session.getRemoteAddress().toString()):"")) );
     }
 
     /**
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealAlarmStatus.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealAlarmStatus.java
index 5d5c027..55cede3 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealAlarmStatus.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealAlarmStatus.java
@@ -72,19 +72,19 @@
      * @param stateVo 鐘舵�佸璞�
      */
     private void saveOrUpdateLast(DbSv sv, PrController controller, String rtuAddr, String rtuDt, DataV1_0_1 dV1_0_1, DataAlarmVo alarmVo, DataStateVo stateVo) throws Exception {
-        RmAlarmStateLast po = sv.getRmAlarmStateLast(rtuAddr) ;
-        if(po == null){
-            po = new RmAlarmStateLast(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(rtuDt),
-                    alarmVo==null?null:alarmVo.batteryVolt, alarmVo==null?null:alarmVo.loss, alarmVo==null?null:alarmVo.meter, alarmVo==null?null:alarmVo.valve,
-                    stateVo==null?null:stateVo.icCard, stateVo==null?null:stateVo.working, stateVo==null?null:stateVo.valve) ;
-            sv.saveRmAlarmStateLast(po) ;
-        }else{
-            po = this.update(controller, po, rtuDt, dV1_0_1, alarmVo, stateVo) ;
-            sv.updateRmAlarmStateLast(po);
-        }
+//        RmAlarmStateLast po = sv.getRmAlarmStateLast(rtuAddr) ;
+//        if(po == null){
+//            po = new RmAlarmStateLast(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(rtuDt),
+//                    alarmVo==null?null:alarmVo.batteryVolt, alarmVo==null?null:alarmVo.loss, alarmVo==null?null:alarmVo.meter, alarmVo==null?null:alarmVo.valve,
+//                    stateVo==null?null:stateVo.icCard, stateVo==null?null:stateVo.working, stateVo==null?null:stateVo.valve) ;
+//            sv.saveRmAlarmStateLast(po) ;
+//        }else{
+//            po = this.update(controller, po, rtuDt, dV1_0_1, alarmVo, stateVo) ;
+//            sv.updateRmAlarmStateLast(po);
+//        }
     }
 
     /**
@@ -97,42 +97,43 @@
      * @param stateVo 鐘舵�佸璞�
      */
     private void saveHistory(DbSv sv, PrController controller, String rtuAddr, String rtuDt, DataV1_0_1 dV1_0_1, DataAlarmVo alarmVo, DataStateVo stateVo) throws Exception {
-        RmAlarmStateHistory po = new RmAlarmStateHistory(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(rtuDt),
-                alarmVo==null?null:alarmVo.batteryVolt, alarmVo==null?null:alarmVo.loss, alarmVo==null?null:alarmVo.meter, alarmVo==null?null:alarmVo.valve,
-                stateVo==null?null:stateVo.icCard, stateVo==null?null:stateVo.working, stateVo==null?null:stateVo.valve) ;
-        sv.saveRmAlarmStateHistory(po) ;
+//        RmAlarmStateHistory po = new RmAlarmStateHistory(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(rtuDt),
+//                alarmVo==null?null:alarmVo.batteryVolt, alarmVo==null?null:alarmVo.loss, alarmVo==null?null:alarmVo.meter, alarmVo==null?null:alarmVo.valve,
+//                stateVo==null?null:stateVo.icCard, stateVo==null?null:stateVo.working, stateVo==null?null:stateVo.valve) ;
+//        sv.saveRmAlarmStateHistory(po) ;
     }
 
 
     private RmAlarmStateLast update(PrController controller, RmAlarmStateLast po, String rtuDt, DataV1_0_1 dV1_0_1, DataAlarmVo alarmVo, DataStateVo stateVo) throws Exception {
-        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(rtuDt) ;
-        if(alarmVo != null){
-            po.bateryvolt = alarmVo.batteryVolt ;
-            po.loss = alarmVo.loss ;
-            po.meter = alarmVo.meter ;
-            po.valve = alarmVo.valve ;
-        }else{
-            po.bateryvolt = null ;
-            po.loss = null ;
-            po.meter = null ;
-            po.valve = null ;
-        }
-        if(stateVo != null){
-           po.iccard = stateVo.icCard ;
-           po.working = stateVo.working ;
-           po.valvestate = stateVo.valve ;
-        }else{
-            po.iccard = null ;
-            po.working = null ;
-            po.valvestate = null ;
-        }
+//        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(rtuDt) ;
+//        if(alarmVo != null){
+//            po.bateryvolt = alarmVo.batteryVolt ;
+//            po.loss = alarmVo.loss ;
+//            po.meter = alarmVo.meter ;
+//            po.valve = alarmVo.valve ;
+//        }else{
+//            po.bateryvolt = null ;
+//            po.loss = null ;
+//            po.meter = null ;
+//            po.valve = null ;
+//        }
+//        if(stateVo != null){
+//           po.iccard = stateVo.icCard ;
+//           po.working = stateVo.working ;
+//           po.valvestate = stateVo.valve ;
+//        }else{
+//            po.iccard = null ;
+//            po.working = null ;
+//            po.valvestate = null ;
+//        }
         return po ;
+
     }
 }
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 bcf46fc..193e8d8 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
@@ -3,7 +3,9 @@
 import com.dy.common.mw.protocol.Data;
 import com.dy.common.mw.protocol.p206V202404.DataV202404 ;
 import com.dy.common.mw.protocol.p206V202404.upVos.*;
+import com.dy.common.util.DateTime;
 import com.dy.pipIrrGlobal.pojoPr.PrController;
+import com.dy.pipIrrGlobal.pojoRm.RmAlarmStateHistory;
 import com.dy.pipIrrGlobal.pojoRm.RmAlarmStateLast;
 import com.dy.rtuMw.server.rtuData.TaskSurpport;
 import com.dy.rtuMw.server.rtuData.dbSv.DbSv;
@@ -28,46 +30,41 @@
     @Override
     public void execute(Object data) {
         Data d = (Data)data ;
-        Object protocolData = d.getSubData() ;
-        if(protocolData != null){
-            DataV202404 dV202404 = (DataV202404)protocolData ;
-            if(dV202404 != null){
-                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(), null, null, null, cdData, null, null) ;
-                            this.saveHistory(sv, controller, d.getRtuAddr(), null, null, null, cdData, null, null) ;
-                        }else if(cdObj instanceof DataCd80_5BVo){
-                            //璁惧缁堢宸ヤ綔涓婃姤 + 鏌ヨ璁惧缁堢瀹炴椂鍊�
-                            DataCd80_5BVo cdData = (DataCd80_5BVo)(cdObj) ;
-                            this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), cdData.rtuDt, cdData, null, null, null, null) ;
-                            this.saveHistory(sv, controller, d.getRtuAddr(), cdData.rtuDt, cdData, null, null, null, null) ;
-                        }else if(cdObj instanceof DataCd93_A3Vo){
-                            //骞冲彴/APP杩滅▼鍏抽棴姘存车/闃�闂�   +  鍒峰崱鍏虫车/闃�涓婃姤
-                            DataCd93_A3Vo cdData = (DataCd93_A3Vo)(cdObj) ;
-                            this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), cdData.endDt, null, cdData, null, null, null) ;
-                            this.saveHistory(sv, controller, d.getRtuAddr(), cdData.endDt, null, cdData, null, null, null) ;
-                        }else if(cdObj instanceof DataCd84Vo){
-                            //璁惧缁堢闅忔満鑷姤
-                            DataCd84Vo cdData = (DataCd84Vo)(cdObj) ;
-                            this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), null, null, null, null, cdData, null) ;
-                            this.saveHistory(sv, controller, d.getRtuAddr(), null, null, null, null, cdData, null) ;
-                        }else if(cdObj instanceof DataCdC2Vo){
-                            //璁惧缁堢闅忔満鑷姤
-                            DataCdC2Vo cdData = (DataCdC2Vo)(cdObj) ;
-                            this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), null, null, null, null, null, cdData) ;
-                            this.saveHistory(sv, controller, d.getRtuAddr(), null, null, null, null, null, cdData) ;
-                        }
-                    }catch (Exception e){
-                        log.error("淇濆瓨鎺у埗鍣ㄦ姤璀﹀拰鐘舵�佹暟鎹椂鍙戠敓寮傚父", e);
-                    }
+        DataV202404 dV202404 = (DataV202404)d.getSubData()  ;//鍓嶉潰浠诲姟宸茬粡鍒ゆ柇涓嶄负null
+        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);
             }
         }
     }
@@ -77,32 +74,44 @@
      * @param controller 鎺у埗鍣ㄥ璞�
      * @param rtuAddr 鎺у埗鍣ㄥ湴鍧�
      * @param rtuDt 鎺у埗鍣ㄦ椂閽�
-     * @param vo80_5B
-     * @param vo93_A3_85
-     * @param vo81
+     * @param alarmVo  鎶ヨ鍙婄姸鎬佹暟鎹�
+     * @param receiveDt 鎺ユ敹鏁版嵁鏃舵湰鍦版椂閽�
      */
     private void saveOrUpdateLast(DbSv sv,
                                   PrController controller,
                                   String rtuAddr,
                                   String rtuDt,
-                                  DataCd80_5BVo vo80_5B,
-                                  DataCd93_A3Vo vo93_A3_85,
-                                  DataCd81Vo vo81,
-                                  DataCd84Vo vo84,
-                                  DataCdC2Vo voC2) throws Exception {
-//        RmAlarmStateLast po = sv.getRmAlarmStateLast(rtuAddr) ;
-//        if(po == null){
-//            po = new RmAlarmStateLast(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(rtuDt),
-//                    alarmVo==null?null:alarmVo.batteryVolt, alarmVo==null?null:alarmVo.loss, alarmVo==null?null:alarmVo.meter, alarmVo==null?null:alarmVo.valve,
-//                    stateVo==null?null:stateVo.icCard, stateVo==null?null:stateVo.working, stateVo==null?null:stateVo.valve) ;
-//            sv.saveRmAlarmStateLast(po) ;
-//        }else{
-//            po = this.update(controller, po, rtuDt, dV1_0_1, alarmVo, stateVo) ;
-//            sv.updateRmAlarmStateLast(po);
-//        }
+                                  AlarmVo alarmVo,
+                                  String receiveDt) throws Exception {
+        RmAlarmStateLast po = sv.getRmAlarmStateLast(rtuAddr) ;
+        if(po == null){
+            po = new RmAlarmStateLast(null,
+                    controller==null?null:controller.getId(),
+                    controller==null?null:controller.getIntakeId(),
+                    rtuAddr,
+                    DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(receiveDt),
+                    DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(rtuDt),
+                    alarmVo==null?null:alarmVo.statePump,
+                    alarmVo==null?null:alarmVo.alarmWaterRemain,
+                    alarmVo==null?null:alarmVo.alarm0WaterRemain,
+                    alarmVo==null?null:alarmVo.alarmExceedYear,
+                    alarmVo==null?null:alarmVo.alarmWaterMeterFault,
+                    alarmVo==null?null:alarmVo.alarmSteal,
+                    alarmVo==null?null:alarmVo.alarmWaterMeterBreak,
+                    alarmVo==null?null:alarmVo.alarmEleMeterFault,
+                    alarmVo==null?null:alarmVo.alarm0MoneyRemain,
+                    alarmVo==null?null:alarmVo.alarmInnerDoor,
+                    alarmVo==null?null:alarmVo.alarmOuterDoor,
+                    alarmVo==null?null:alarmVo.alarmEleMiss,
+                    alarmVo==null?null:alarmVo.alarmEleExceed,
+                    alarmVo==null?null:alarmVo.alarmEleLowVolt,
+                    alarmVo==null?null:alarmVo.stateIcEnable
+            ) ;
+            sv.saveRmAlarmStateLast(po) ;
+        }else{
+            po = this.update(po, controller, rtuDt, alarmVo, receiveDt) ;
+            sv.updateRmAlarmStateLast(po);
+        }
     }
 
     /**
@@ -111,63 +120,76 @@
      * @param controller 鎺у埗鍣ㄥ璞�
      * @param rtuAddr 鎺у埗鍣ㄥ湴鍧�
      * @param rtuDt 鎺у埗鍣ㄦ椂閽�
-     * @param vo80_5B
-     * @param vo93_A3_85
-     * @param vo81
+     * @param alarmVo 鎶ヨ鍙婄姸鎬佹暟鎹�
+     * @param receiveDt 鎺ユ敹鏁版嵁鏃舵湰鍦版椂閽�
      */
     private void saveHistory(DbSv sv,
                              PrController controller,
                              String rtuAddr,
                              String rtuDt,
-                             DataCd80_5BVo vo80_5B,
-                             DataCd93_A3Vo vo93_A3_85,
-                             DataCd81Vo vo81,
-                             DataCd84Vo vo84,
-                             DataCdC2Vo voC2) throws Exception {
-//        RmAlarmStateHistory po = new RmAlarmStateHistory(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(rtuDt),
-//                alarmVo==null?null:alarmVo.batteryVolt, alarmVo==null?null:alarmVo.loss, alarmVo==null?null:alarmVo.meter, alarmVo==null?null:alarmVo.valve,
-//                stateVo==null?null:stateVo.icCard, stateVo==null?null:stateVo.working, stateVo==null?null:stateVo.valve) ;
-//        sv.saveRmAlarmStateHistory(po) ;
+                             AlarmVo alarmVo,
+                             String receiveDt) throws Exception {
+        RmAlarmStateHistory po = new RmAlarmStateHistory(null,
+                controller==null?null:controller.getId(),
+                controller==null?null:controller.getIntakeId(),
+                rtuAddr,
+                DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(receiveDt),
+                DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(rtuDt),
+                alarmVo==null?null:alarmVo.statePump,
+                alarmVo==null?null:alarmVo.alarmWaterRemain,
+                alarmVo==null?null:alarmVo.alarm0WaterRemain,
+                alarmVo==null?null:alarmVo.alarmExceedYear,
+                alarmVo==null?null:alarmVo.alarmWaterMeterFault,
+                alarmVo==null?null:alarmVo.alarmSteal,
+                alarmVo==null?null:alarmVo.alarmWaterMeterBreak,
+                alarmVo==null?null:alarmVo.alarmEleMeterFault,
+                alarmVo==null?null:alarmVo.alarm0MoneyRemain,
+                alarmVo==null?null:alarmVo.alarmInnerDoor,
+                alarmVo==null?null:alarmVo.alarmOuterDoor,
+                alarmVo==null?null:alarmVo.alarmEleMiss,
+                alarmVo==null?null:alarmVo.alarmEleExceed,
+                alarmVo==null?null:alarmVo.alarmEleLowVolt,
+                alarmVo==null?null:alarmVo.stateIcEnable
+        ) ;
+        sv.saveRmAlarmStateHistory(po) ;
     }
 
 
-    private RmAlarmStateLast update(PrController controller,
-                                    RmAlarmStateLast po,
+    /**
+     * 淇濆瓨鎶ヨ鐘舵�佹渶鏂版暟鎹�
+     * @param po 瀹炰綋瀵硅薄
+     * @param controller 鎺у埗鍣ㄥ璞�
+     * @param rtuDt 鎺у埗鍣ㄦ椂閽�
+     * @param alarmVo  鎶ヨ鍙婄姸鎬佹暟鎹�
+     * @param receiveDt 鎺ユ敹鏁版嵁鏃舵湰鍦版椂閽�
+     */
+    private RmAlarmStateLast update(RmAlarmStateLast po,
+                                    PrController controller,
                                     String rtuDt,
-                                    DataCd80_5BVo vo80_5B,
-                                    DataCd93_A3Vo vo93_A3_85,
-                                    DataCd81Vo vo81,
-                                    DataCd84Vo vo84,
-                                    DataCdC2Vo voC2) throws Exception {
-//        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(rtuDt) ;
-//        if(alarmVo != null){
-//            po.bateryvolt = alarmVo.batteryVolt ;
-//            po.loss = alarmVo.loss ;
-//            po.meter = alarmVo.meter ;
-//            po.valve = alarmVo.valve ;
-//        }else{
-//            po.bateryvolt = null ;
-//            po.loss = null ;
-//            po.meter = null ;
-//            po.valve = null ;
-//        }
-//        if(stateVo != null){
-//           po.iccard = stateVo.icCard ;
-//           po.working = stateVo.working ;
-//           po.valvestate = stateVo.valve ;
-//        }else{
-//            po.iccard = null ;
-//            po.working = null ;
-//            po.valvestate = null ;
-//        }
-//        return po ;
-        return null ;
+                                    AlarmVo alarmVo,
+                                    String receiveDt) throws Exception {
+        po.controllerId = controller==null?null:controller.getId() ;
+        po.intakeId = controller==null?null:controller.getIntakeId() ;
+
+        po.dt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(receiveDt) ;
+        po.rtuDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(rtuDt) ;
+        if(alarmVo != null){
+            po.valveState = alarmVo.statePump ;
+            po.alarmRemainWater = alarmVo.alarmWaterRemain ;
+            po.alarm0WaterRemain = alarmVo.alarm0WaterRemain ;
+            po.alarmExceedYear = alarmVo.alarmExceedYear ;
+            po.alarmWaterMeterFault = alarmVo.alarmWaterMeterFault ;
+            po.alarmLoss = alarmVo.alarmSteal ;
+            po.alarmWaterMeterBreak = alarmVo.alarmWaterMeterBreak ;
+            po.alarmEleMeterFault = alarmVo.alarmEleMeterFault ;
+            po.alarm0MoneyRemain = alarmVo.alarm0MoneyRemain ;
+            po.alarmInnerDoor = alarmVo.alarmInnerDoor ;
+            po.alarmOuterDoor = alarmVo.alarmOuterDoor ;
+            po.alarmEleMiss = alarmVo.alarmEleMiss ;
+            po.alarmEleExceed = alarmVo.alarmEleExceed ;
+            po.alarmEleLowVolt = alarmVo.alarmEleLowVolt ;
+            po.stateIcEnable = alarmVo.stateIcEnable ;
+        }
+        return po ;
     }
 }
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealTimingReportV202404.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealTimingReportV202404.java
new file mode 100644
index 0000000..0d6af4a
--- /dev/null
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealTimingReportV202404.java
@@ -0,0 +1,50 @@
+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.*;
+import com.dy.pipIrrGlobal.pojoPr.PrController;
+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/5/20 20:29
+ * @Description
+ */
+public class TkDealTimingReportV202404  extends TaskSurpport {
+
+    private static final Logger log = LogManager.getLogger(TkDealTimingReportV202404.class.getName());
+
+    //绫籌D锛屼竴瀹氫笌Tree.xml閰嶇疆鏂囦欢涓厤缃竴鑷�
+    public static final String taskId = "TkDealTimingReportV202404";
+
+    /**
+     * 鎵ц鑺傜偣浠诲姟锛氭姤璀﹀強鐘舵��
+     *
+     * @param data 闇�瑕佸鐞嗙殑鏁版嵁
+     */
+    @Override
+    public void execute(Object data) {
+        Data d = (Data) data;
+        DataV202404 dV202404 = (DataV202404) d.getSubData();//鍓嶉潰浠诲姟宸茬粡鍒ゆ柇涓嶄负null
+        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 DataCd83Vo) {
+                    //璁惧缁堢瀹氱偣涓婃姤, 姣忓ぉ12鐐逛笂鎶ユ暟鎹�
+                    DataCd83Vo cdData = (DataCd83Vo) (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);
+            }
+        }
+    }
+}
\ 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 1f48b01..2959b8e 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
@@ -1,6 +1,7 @@
 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.rtuMw.server.rtuData.TaskSurpport;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
@@ -28,7 +29,10 @@
         Data d = (Data)data ;
         if(d.getCommandId() == null || d.getCommandId().trim().equals("")){
             //鏃犲懡浠D
-            this.toNextTasks(data);
+            Object protocolData = d.getSubData() ;
+            if(protocolData != null) {
+                this.toNextTasks(data);
+            }
         }
     }
 }
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/web/comResult/CommandResultDeal.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/web/comResult/CommandResultDeal.java
index 116bdf5..b867a3f 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/web/comResult/CommandResultDeal.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/web/comResult/CommandResultDeal.java
@@ -3,13 +3,13 @@
 import com.dy.common.mw.protocol.Data;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpEntity;
-import org.springframework.http.HttpHeaders;
-import org.springframework.http.HttpMethod;
-import org.springframework.http.ResponseEntity;
+import org.springframework.http.*;
+import org.springframework.http.converter.StringHttpMessageConverter;
 import org.springframework.stereotype.Component;
 import org.springframework.web.client.RestTemplate;
 import org.springframework.web.util.UriComponentsBuilder;
+
+import java.nio.charset.StandardCharsets;
 
 /**
  * @Author liurunyu
@@ -33,7 +33,9 @@
             String url = UriComponentsBuilder.fromUriString(data.rtuResultSendWebUrl)
                     .build()
                     .toUriString();
+            restTemplate.getMessageConverters().set(1,new StringHttpMessageConverter(StandardCharsets.UTF_8));
             HttpHeaders headers = new HttpHeaders();
+            headers.setContentType(MediaType.parseMediaType("application/json;charset=UTF-8"));
             HttpEntity<?> httpEntity = new HttpEntity<>(data, headers);
             ResponseEntity<WebResponseVo> response = null;
             try {
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 5218409..2a2e499 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
@@ -39,6 +39,7 @@
 						<!-- 璇嗗埆闈炲懡浠ゅ簲绛斾笂琛屾暟鎹� -->
 						<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>
 						<!-- 璇嗗埆鍛戒护鍝嶅簲鏁版嵁 -->
 						<task id="TkFindComResponseV202404" name="璇嗗埆鍝嶅簲鍛戒护鏁版嵁" enable="true" class="com.dy.rtuMw.server.rtuData.p206V202404.TkFindComResponseV202404">
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-mwTest-web/src/main/java/com/dy/pipIrrMwTestWeb/test/CommandCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-mwTest-web/src/main/java/com/dy/pipIrrMwTestWeb/test/CommandCtrl.java
index bd3c3b7..ec70bf2 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-mwTest-web/src/main/java/com/dy/pipIrrMwTestWeb/test/CommandCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-mwTest-web/src/main/java/com/dy/pipIrrMwTestWeb/test/CommandCtrl.java
@@ -21,12 +21,13 @@
     @GetMapping(path = "test")
     public BaseResponse<String> test() {
         //return this.connect() ;//杩炴帴閫氫俊涓棿浠舵祴璇�
-        return this.cdXY(CodeV202404.cd_30) ;//鍙戦�佸浐瀹氬弬鏁癤Y鐨勫懡浠�
+        //return this.cdXY(CodeV202404.cd_30) ;//鍙戦�佸浐瀹氬弬鏁癤Y鐨勫懡浠�
         //return this.cd55(1) ;
         //return this.cd15() ;
         //return this.cd16() ;
         //return this.cd22() ;
         //return this.cd31() ;
+        return this.cd92() ;
     }
 
     /**

--
Gitblit v1.8.0