From 0230c8b9866083341749d51393046053ab978a7e Mon Sep 17 00:00:00 2001
From: Administrator <zhubaomin>
Date: 星期五, 05 七月 2024 16:25:53 +0800
Subject: [PATCH] 2024-07-05 朱宝民 1.多数据源配置,2.注销、挂失、冲正、解锁优化返回值

---
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/application-database.yml                             |    4 
 pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/resources/application.yml                                |    2 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/dto/WaterConsumption.java |   20 +
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/resources/application.yml                                   |    2 
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/util/Org.java                                   |    5 
 pipIrr-platform/pipIrr-global/src/main/resources/application-database-sp.yml                                    |   64 +++++
 pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/resources/application.yml                                    |    2 
 pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/resources/application.yml                               |    2 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/result/RemoteResultCode.java     |    2 
 pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/resources/application.yml                                   |    2 
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateCtrl.java     |   55 ++++
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd84Vo.java         |    2 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/dto/Alarm.java            |   25 ++
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/dto/DrivenWell.java       |   25 ++
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtu/RtuCtrl.java                 |  396 +++++++++++++++++++++++++++++++-
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/dto/CommandDeal.java      |   22 +
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/resources/application.yml                                 |    2 
 pipIrr-platform/pipIrr-global/src/main/resources/application-database-pj.yml                                    |    4 
 pipIrr-platform/pipIrr-global/src/main/resources/application-database.yml                                       |    2 
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmOpenCloseValveHistory.java             |   16 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/dto/Domain.java           |   35 ++
 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/resources/application.yml                                 |    2 
 pipIrr-platform/pipIrr-web/pipIrr-web-sso/src/main/resources/application.yml                                    |    2 
 23 files changed, 649 insertions(+), 44 deletions(-)

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 d1b8e04..ac2df0b 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
@@ -42,7 +42,7 @@
 		sb.append(orderNo == null?"鏈煡":orderNo) ;
 		sb.append("\n") ;
 		sb.append("      寮�娉�/闃�鏃堕棿 : ") ;
-		sb.append(openDt == null?"鏈煡": openDt) ;
+		sb.append(openDt == null?"鏈煡":openDt) ;
 		sb.append("\n") ;
 		sb.append("      姘磋〃绱姘撮噺 : ") ;
 		sb.append(waterTotalAmount == null?"鏈煡":waterTotalAmount) ;
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmOpenCloseValveHistory.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmOpenCloseValveHistory.java
index c86489c..2259369 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmOpenCloseValveHistory.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmOpenCloseValveHistory.java
@@ -1,18 +1,17 @@
 package com.dy.pipIrrGlobal.pojoRm;
 
-import com.dy.common.mw.protocol.p206V1_0_0.DataV1_0_1;
-import com.dy.common.mw.protocol.p206V1_0_0.upVos.DataCd83OpenVo;
-import com.dy.common.mw.protocol.p206V202404.DataV202404;
-import com.dy.common.mw.protocol.p206V202404.upVos.DataCd84Vo;
-import com.dy.common.mw.protocol.p206V202404.upVos.DataCd85Vo;
-import com.dy.common.util.DateTime;
-import java.util.Date;
 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.mw.protocol.p206V1_0_0.DataV1_0_1;
+import com.dy.common.mw.protocol.p206V1_0_0.upVos.DataCd83OpenVo;
+import com.dy.common.mw.protocol.p206V202404.DataV202404;
+import com.dy.common.mw.protocol.p206V202404.upVos.DataCd84Vo;
+import com.dy.common.mw.protocol.p206V202404.upVos.DataCd85Vo;
 import com.dy.common.po.BaseEntity;
+import com.dy.common.util.DateTime;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
@@ -31,7 +30,8 @@
  * @LastEditTime 2024/2/23 15:42
  * @Description 鎺у埗鍣ㄥ紑鍏抽榾涓婃姤鏁版嵁
  */
-@TableName(value="rm_open_close_valve_report", autoResultMap = true)
+//@TableName(value="rm_open_close_valve_report", autoResultMap = true)
+@TableName(value="rm_open_close_valve_history", autoResultMap = true)
 @Data
 @Builder
 @ToString
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/util/Org.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/util/Org.java
index 70a0885..fa3fdc0 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/util/Org.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/util/Org.java
@@ -14,6 +14,7 @@
 
 //    Ym("ym", "鍏冭皨"),
 //    Pj("pj", "鐗囪闀�"),
+    Sp("sp", "娌欑洏"),
     Jyg("ym", "鍢夊唱鍏�");
 
     @EnumValue
@@ -50,8 +51,10 @@
 //        }else if(tag.equals(Pj.tag)){
 //            return Pj ;
 //        }
-        if( tag.equals(Jyg.tag)){
+        if(tag.equals(Jyg.tag)){
             return Jyg ;
+        }else if(tag.equals(Sp.tag)) {
+            return Sp;
         }
         return null ;
     }
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/application-database-pj.yml b/pipIrr-platform/pipIrr-global/src/main/resources/application-database-pj.yml
index dd61ff9..c564354 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/application-database-pj.yml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/application-database-pj.yml
@@ -5,8 +5,8 @@
             #name: pj
             type: com.alibaba.druid.pool.DruidDataSource
             driverClassName: com.mysql.cj.jdbc.Driver
-#            url: jdbc:mysql://192.168.91.73:3306/pipIrr_pj?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull
-            url: jdbc:mysql://192.168.40.166:3306/pipIrr_pj?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull
+#            url: jdbc:mysql://192.168.40.166:3306/pipIrr_pj?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull
+            url: jdbc:mysql://8.140.179.55:3306/pipIrr_pj?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull
             username: root
             password: dysql,;.abc!@#
             druid:
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/application-database-sp.yml b/pipIrr-platform/pipIrr-global/src/main/resources/application-database-sp.yml
new file mode 100644
index 0000000..b969a5e
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/application-database-sp.yml
@@ -0,0 +1,64 @@
+# 鏁版嵁婧愰厤缃�
+spring:
+  datasource: #閰嶇疆鏁版嵁婧�
+    sp:
+      #name: sp
+      type: com.alibaba.druid.pool.DruidDataSource
+      driverClassName: com.mysql.cj.jdbc.Driver
+      url: jdbc:mysql://8.140.179.55:3306/pipIrr_sp?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull
+      username: root
+      password: dysql,;.abc!@#
+      druid:
+        # 鏁版嵁婧愬悕绉帮細褰撳瓨鍦ㄥ涓暟鎹簮鏃讹紝璁剧疆鍚嶅瓧鍙互寰堟柟渚跨殑鏉ヨ繘琛屽尯鍒�,榛樿鑷姩鐢熸垚鍚嶇О锛屾牸寮忔槸锛�"DataSource-" + System.identityHashCode(this)
+        name: druid-mysql-sp
+        #閰嶇疆鍒濆鍖栧ぇ灏忋�佹渶灏忋�佹渶澶�
+        initialSize: 10
+        minIdle: 10
+        maxActive: 200
+        # 鑾峰彇杩炴帴鏃舵渶澶х瓑寰呮椂闂�,鍗曚綅姣銆傞厤缃簡maxWait涔嬪悗,缂虹渷鍚敤鍏钩閿�,骞跺彂鏁堢巼浼氭湁鎵�涓嬮檷,濡傛灉闇�瑕佸彲浠ラ�氳繃閰嶇疆useUnfairLock灞炴�т负true浣跨敤闈炲叕骞抽攣
+        maxWait: 60000
+        #閰嶇疆闂撮殧澶氫箙杩涜涓�娆℃娴嬶紝妫�娴嬮渶瑕佸叧闂殑绌洪棽杩炴帴锛屽崟浣嶆绉掋�� 榛樿鏄�60s锛屽お闀垮彲鑳戒細瀵艰嚧鏃犳硶鍙婃椂妫�娴嬪埌杩炴帴涓柇
+        timeBetweenEvictionRunsMillis: 60000
+        #閰嶇疆涓�涓繛鎺ュ湪杩炴帴姹犱腑鐨勬渶灏忕敓瀛樻椂闂淬�佹渶澶х敓瀛樻椂闂达紝瓒呰繃鏈�澶х敓瀛樻椂闂翠細琚Щ闄わ紝鍗曚綅姣銆�
+        minEvictableIdleTimeMillis: 300000
+        maxEvictableIdleTimeMillis: 900000
+        #鎺㈡椿銆侀獙璇侀摼鎺ユ湁鏁堟�х殑鏌ヨ锛屾柊鐗堟湰榛樿浣跨敤mysqlPing浠f浛
+        #validation-query: select 1 #娉ㄩ噴鎺夛紝閲囩敤榛樿鐨刴ysqlPing
+        #閰嶇疆浠庤繛鎺ユ睜鑾峰彇杩炴帴鏃讹紝褰撹繛鎺ョ┖闂叉椂闂村ぇ浜巘imeBetweenEvictionRunsMillis鏃舵槸鍚︽鏌ヨ繛鎺ユ湁鏁堟�э紝true姣忔閮芥鏌ワ紱false涓嶆鏌ャ��
+        testWhileIdle: true
+        #閰嶇疆浠庤繛鎺ユ睜鑾峰彇杩炴帴鏃跺拰鍚戣繛鎺ユ睜褰掕繕杩炴帴鏃讹紝鏄惁妫�鏌ヨ繛鎺ユ湁鏁堟��
+        #姣忔鑾峰彇鎴栧綊杩樿繛鎺ラ兘妫�娴嬪お棰戠箒锛岄櫎闈炵壒鍒噸瑕佹垨缃戠粶鐗瑰埆涓嶅彲闈犵瓑鎯呭喌锛屽缓璁敤testWhileIdle + timeBetweenEvictionRunsMillis浠f浛銆�-->
+        testOnBorrow: false
+        testOnReturn: false
+        #閰嶇疆鏄惁瀹氭湡鎺㈡椿銆佹帰娲婚棿闅�, 榛樿120s
+        keepAlive: true
+        #keepAliveBetweenTimeMillis must be greater than timeBetweenEvictionRunsMillis
+        keepAliveBetweenTimeMillis: 1200000
+        #閰嶇疆涓�涓繛鎺ユ渶澶т娇鐢ㄦ鏁帮紝閬垮厤闀挎椂闂翠娇鐢ㄧ浉鍚岃繛鎺ラ�犳垚鏈嶅姟鍣ㄧ璐熻浇涓嶅潎琛°��
+        phyMaxUseCount: 1000
+        #鏄惁缂撳瓨preparedStatement锛屼篃灏辨槸PSCache銆侾SCache瀵规敮鎸佹父鏍囩殑鏁版嵁搴撴�ц兘鎻愬崌宸ㄥぇ锛屾瘮濡傝oracle銆傚湪mysql涓嬪缓璁叧闂��
+        poolPreparedStatements: false
+        #瑕佸惎鐢≒SCache锛屽繀椤婚厤缃ぇ浜�0锛屽綋澶т簬0鏃讹紝poolPreparedStatements鑷姩瑙﹀彂淇敼涓簍rue銆傚湪Druid涓紝涓嶄細瀛樺湪Oracle涓婸SCache鍗犵敤鍐呭瓨杩囧鐨勯棶棰橈紝鍙互鎶婅繖涓暟鍊奸厤缃ぇ涓�浜涳紝姣斿璇�100
+        maxOpenPreparedStatements: -1
+        #鎸囧畾姣忎釜杩炴帴涓奝SCache鐨勫ぇ灏�
+        maxPoolPreparedStatementPerConnectionSize: 20
+        #灞炴�х被鍨嬫槸瀛楃涓诧紝閫氳繃鍒悕鐨勬柟寮忛厤缃墿灞曟彃浠讹紝甯哥敤鐨勬彃浠舵湁锛�
+        #鐩戞帶缁熻鐢ㄧ殑filter:stat锛屾棩蹇楃敤鐨刦ilter:log4j锛岄槻寰ql娉ㄥ叆鐨刦ilter:wall
+        filters: stat,wall,config
+        webStatFilter:
+          # 娣诲姞杩囨护瑙勫垯
+          urlPattern: /*
+          # 蹇界暐杩囨护鏍煎紡
+          exclusions: "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*"
+          statViewServlet:
+            # 璁剧疆ip鐧藉悕鍗�
+            # allow: 127.0.0.1
+            # 璁剧疆ip榛戝悕鍗曪紝浼樺厛绾ч珮浜庣櫧鍚嶅崟
+            deny:
+            # 璁剧疆鎺у埗鍙扮鐞嗙敤鎴�
+            #  loginUsername: root
+            #  loginPassword: root
+            # 鏄惁鍙互閲嶇疆鏁版嵁
+            resetEnable: false
+            # 寮�鍚痙ruid鐩戞帶椤甸潰
+            enabled: true
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/application-database.yml b/pipIrr-platform/pipIrr-global/src/main/resources/application-database.yml
index f368ac3..30206f2 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/application-database.yml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/application-database.yml
@@ -5,4 +5,4 @@
         allow-bean-definition-overriding: true #璁剧疆涓簍rue鏃讹紝鍚庡畾涔夌殑bean浼氳鐩栦箣鍓嶅畾涔夌殑鐩稿悓鍚嶇О鐨刡ean
     datasource: #閰嶇疆鏁版嵁婧�
         #澶氫釜鏁版嵁婧愬悕绉板湪姝ら厤缃紝瑕佹眰涓巗pring銆俤atasource銆俒ym][pj]涓殑涓�鑷�
-        names: ym, pj
+        names: ym, pj, sp
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/application-database.yml b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/application-database.yml
index 34bb341..820529d 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/application-database.yml
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/application-database.yml
@@ -3,9 +3,7 @@
     datasource: #閰嶇疆鏁版嵁婧�
         type: com.alibaba.druid.pool.DruidDataSource
         driver-class-name: com.mysql.cj.jdbc.Driver
-        url: jdbc:mysql://192.168.40.166:3306/pipIrr_ym?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull
-#        url: jdbc:mysql://127.0.0.1:3306/pipIrr_ym?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull
-#        url: jdbc:mysql://8.140.179.55:3306/pipIrr_ym?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull
+        url: jdbc:mysql://8.140.179.55:3306/pipIrr_ym?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull
         username: root
         password: dysql,;.abc!@#
         druid:
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/resources/application.yml b/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/resources/application.yml
index c8fd58f..aae91ff 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/resources/application.yml
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/resources/application.yml
@@ -1,6 +1,6 @@
 spring:
     profiles:
-        include: global, database, database-ym, database-pj
+        include: global, database, database-ym, database-pj, database-sp
 
 #actutor鐨剋eb绔彛
 management:
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/resources/application.yml b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/resources/application.yml
index 28a280a..3339cbc 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/resources/application.yml
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/resources/application.yml
@@ -1,6 +1,6 @@
 spring:
     profiles:
-        include: global, database, database-ym, database-pj
+        include: global, database, database-ym, database-pj, database-sp
 user:
     defaultTrueRandomFalsePassword: true #true:閲囩敤榛樿瀵嗙爜锛宖alse:绯荤粺浜х敓闅忔満瀵嗙爜
     defaultPassword: "ABC123"
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/resources/application.yml b/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/resources/application.yml
index 0e0f9d4..607ed8e 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/resources/application.yml
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/resources/application.yml
@@ -1,6 +1,6 @@
 spring:
   profiles:
-    include: global, database, database-ym, database-pj
+    include: global, database, database-ym, database-pj, database-sp
 
 #actutor鐨剋eb绔彛
 management:
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/resources/application.yml b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/resources/application.yml
index edd6882..24d6838 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/resources/application.yml
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/resources/application.yml
@@ -1,6 +1,6 @@
 spring:
   profiles:
-    include: global, database, database-ym, database-pj
+    include: global, database, database-ym, database-pj, database-sp
 
 #actutor鐨剋eb绔彛
 management:
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/dto/Alarm.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/dto/Alarm.java
new file mode 100644
index 0000000..43917f6
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/dto/Alarm.java
@@ -0,0 +1,25 @@
+package com.dy.pipIrrRemote.common.dto;
+
+import lombok.Data;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-07-04 11:44
+ * @LastEditTime 2024-07-04 11:44
+ * @Description 鎶ヨ鍊煎瓙绫�
+ */
+
+@Data
+public class Alarm extends DtoBase {
+    public static final long serialVersionUID = 202407041337001L;
+
+    /**
+     * 鍓╀綑姘撮噺鎶ヨ鍊�
+     */
+    private Integer waterAlarm;
+
+    /**
+     * 鍓╀綑閲戦鎶ヨ鍊�
+     */
+    private Integer moneyAlarm;
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/dto/CommandDeal.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/dto/CommandDeal.java
new file mode 100644
index 0000000..05ce604
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/dto/CommandDeal.java
@@ -0,0 +1,22 @@
+package com.dy.pipIrrRemote.common.dto;
+
+import jakarta.validation.constraints.NotBlank;
+import lombok.Data;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-07-04 14:01
+ * @LastEditTime 2024-07-04 14:01
+ * @Description 閫氱敤澶勭悊瀛愮被锛岀敤浜庨�氱敤澶勭悊鎺ュ彛
+ */
+
+@Data
+public class CommandDeal extends DtoBase {
+    public static final long serialVersionUID = 202407041401001L;
+
+    /**
+     * 鍔熻兘鐮�
+     */
+    @NotBlank(message = "鍔熻兘鐮佷笉鑳戒负绌�")
+    private String commandCode;
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/dto/Domain.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/dto/Domain.java
new file mode 100644
index 0000000..9b0c15c
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/dto/Domain.java
@@ -0,0 +1,35 @@
+package com.dy.pipIrrRemote.common.dto;
+
+import lombok.Data;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-07-05 8:55
+ * @LastEditTime 2024-07-05 8:55
+ * @Description 鍩熷悕瀵硅薄锛屽寘鍚�氶亾鍙枫�佸煙鍚嶃�両P銆佺鍙e彿
+ */
+
+@Data
+public class Domain extends DtoBase {
+    public static final long serialVersionUID = 202407050857001L;
+
+    /**
+     * IP閫氶亾鍙凤紝鍙栧�艰寖鍥达細1,2
+     */
+    private Integer channel;
+
+    /**
+     * 鍩熷悕
+     */
+    private String domain;
+
+    /**
+     * IP鍦板潃
+     */
+    private String ip;
+
+    /**
+     * 绔彛鍙�
+     */
+    private Integer port;
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/dto/DrivenWell.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/dto/DrivenWell.java
new file mode 100644
index 0000000..b696021
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/dto/DrivenWell.java
@@ -0,0 +1,25 @@
+package com.dy.pipIrrRemote.common.dto;
+
+import lombok.Data;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-07-04 16:43
+ * @LastEditTime 2024-07-04 16:43
+ * @Description 鏈轰簳瀛愮被
+ */
+
+@Data
+public class DrivenWell extends DtoBase {
+    public static final long serialVersionUID = 202407041644001L;
+
+    /**
+     * 鏈轰簳骞存渶澶х敤姘撮噺
+     */
+    private Integer maxAmountYear;
+
+    /**
+     * 姘翠綅涓嬮檺
+     */
+    private Double limitLevel;
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/dto/WaterConsumption.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/dto/WaterConsumption.java
new file mode 100644
index 0000000..2e82180
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/dto/WaterConsumption.java
@@ -0,0 +1,20 @@
+package com.dy.pipIrrRemote.common.dto;
+
+import lombok.Data;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-07-05 8:35
+ * @LastEditTime 2024-07-05 8:35
+ * @Description 缁堢骞存嫢姘撮噺瀵硅薄
+ */
+
+@Data
+public class WaterConsumption extends DtoBase {
+    public static final long serialVersionUID = 202407050835001L;
+
+    /**
+     * 璁惧缁堢骞寸敤姘撮噺
+     */
+    private Integer maxAmountYear;
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/result/RemoteResultCode.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/result/RemoteResultCode.java
index 4686e23..c825c41 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/result/RemoteResultCode.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/result/RemoteResultCode.java
@@ -26,7 +26,7 @@
      * RTU
      */
     RTU_NOT_EXIST(20001, "闃�鎺у櫒涓嶅瓨鍦�"),
-    //RTU_ADDR_CANNOT_BE_NULL(20002, "闃�鎺у櫒鍦板潃涓嶈兘涓虹┖");
+
 
     CLIENT_CARD_NOT_EXIST(30001, "姘村崱涓嶅瓨鍦�");
 
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtu/RtuCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtu/RtuCtrl.java
index 381fadb..961b3f0 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtu/RtuCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtu/RtuCtrl.java
@@ -5,20 +5,19 @@
 import com.dy.common.mw.protocol.p206V1_0_0.CodeV1_0_1;
 import com.dy.common.mw.protocol.p206V1_0_0.downVos.Com97Vo;
 import com.dy.common.mw.protocol.p206V202404.CodeV202404;
-import com.dy.common.mw.protocol.p206V202404.downVos.ComCd10Vo;
-import com.dy.common.mw.protocol.p206V202404.downVos.ComCdXyVo;
+import com.dy.common.mw.protocol.p206V202404.downVos.*;
 import com.dy.common.util.IDLongGenerator;
 import com.dy.common.webUtil.BaseResponse;
 import com.dy.common.webUtil.BaseResponseUtils;
 import com.dy.pipIrrGlobal.command.ComSupport;
 import com.dy.pipIrrGlobal.command.dto.Param;
 import com.dy.pipIrrRemote.common.CommandSv;
-import com.dy.pipIrrRemote.common.dto.Addr;
-import com.dy.pipIrrRemote.common.dto.DtoBase;
+import com.dy.pipIrrRemote.common.dto.*;
 import com.dy.pipIrrRemote.result.RemoteResultCode;
 import jakarta.validation.Valid;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.http.MediaType;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.validation.BindingResult;
@@ -28,6 +27,7 @@
 import org.springframework.web.bind.annotation.RestController;
 
 import java.util.Objects;
+import java.util.Optional;
 
 /**
  * @author ZhuBaoMin
@@ -42,10 +42,79 @@
 @RequiredArgsConstructor
 public class RtuCtrl extends ComSupport {
     private final CommandSv commandSv;
-
-    protected static String controllerType = "57";
     private final IDLongGenerator idLongGenerator;
-    private String rtuResultSendWebUrl = "http://127.0.0.1:8081/remote/comRes/receive" ;
+
+    @Value("${mw.rtuCallbackUrl_rm}")
+    private String rtuCallbackUrl_rm;
+
+    /**
+     * 閫氱敤澶勭悊鎺ュ彛
+     * 97   娓呴櫎鐢ㄦ按璁板綍
+     * 98   娓呴櫎鍏呭�艰褰�
+     * 99   娓呴櫎鏃ヨ褰�
+     * 9A   娓呴櫎骞寸敤姘撮噺
+     * 50   鏌ヨ缁堢鍦板潃
+     * @param po
+     * @param bindingResult
+     * @return
+     */
+    @PostMapping(path = "common_deal", consumes = MediaType.APPLICATION_JSON_VALUE)
+    @Transactional(rollbackFor = Exception.class)
+    @SsoAop()
+    public BaseResponse<Boolean> commonDeal(@RequestBody @Valid CommandDeal po, BindingResult bindingResult) {
+        if(bindingResult != null && bindingResult.hasErrors()){
+            return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
+        }
+
+        Long intakeId = po.getIntakeId();
+        Long operator = po.getOperator();
+        Long comId = idLongGenerator.generate();
+
+        // 鑾峰彇绯荤粺鍙傛暟
+        if(!setuped) {
+            setUp();
+        }
+
+        // 鍙栨按鍙D鎹㈤榾鎺у櫒鍦板潃鍙婇�氳鍗忚
+        JSONObject job_rtu = getRtu(intakeId, null);
+        if(job_rtu == null) {
+            return BaseResponseUtils.buildErrorMsg(RemoteResultCode.RTU_NOT_EXIST.getMessage());
+        }
+        String rtuAddr = job_rtu.getString("rtuAddr");
+        String protocol = job_rtu.getString("protocol");
+
+        // 鑾峰彇鍔熻兘鐮�
+        String commandCode = po.getCommandCode();
+        if(protocol.equals("p206V202404")) {
+            // 鍒涘缓瑙嗗浘
+            ComCdXyVo param = new ComCdXyVo();
+            param.controllerType = controllerType;
+            param.projectNo = projectNo;
+
+            /**
+             * 鏋勯�犲懡浠ゃ�佸彂閫佸懡浠ゅ苟澶勭悊璇锋眰缁撴灉鍙婃墽琛岀粨鏋�
+             * 1 鍑嗗鍙傛暟
+             * 2 璋冪敤鍏叡鏂规硶
+             */
+            Param myParam = new Param();
+            myParam.setComId(comId);
+            myParam.setCommandCode(commandCode);
+            myParam.setCommandName(CodeV202404.getCodeName(commandCode));
+            myParam.setIntakeId(intakeId);
+            myParam.setRtuAddr(rtuAddr);
+            myParam.setProtocol(protocol);
+            myParam.setParam(param);
+            myParam.setRtuResultSendWebUrl(rtuCallbackUrl_rm);
+            myParam.setOperator(operator);
+            return dealWithCommandResult(myParam);
+        } else if(protocol.equals("p206V1_0_1")) {
+            // 鍒涘缓瑙嗗浘
+            Com97Vo param = new Com97Vo() ;
+            return BaseResponseUtils.buildSuccess("");
+        } else {
+            return BaseResponseUtils.buildFail("绯荤粺鏆備笉鏀寔璇ュ崗璁�");
+        }
+    }
 
     /**
      * 璁剧疆璁惧缁堢鍦板潃
@@ -103,7 +172,7 @@
             myParam.setRtuAddr(rtuAddr);
             myParam.setProtocol(protocol);
             myParam.setParam(param);
-            myParam.setRtuResultSendWebUrl(rtuResultSendWebUrl);
+            myParam.setRtuResultSendWebUrl(rtuCallbackUrl_rm);
             myParam.setOperator(operator);
             return dealWithCommandResult(myParam);
         } else if(protocol.equals("p206V1_0_1")) {
@@ -119,21 +188,22 @@
     }
 
     /**
-     * 娓呴櫎璁惧缁堢鐢ㄦ按璁板綍
+     * 璁剧疆璁惧缁堢鍓╀綑姘撮噺鍜屽墿浣欓噾棰濇姤璀﹀��
      * @param po
      * @param bindingResult
      * @return
      */
-    @PostMapping(path = "clear_usage_record", consumes = MediaType.APPLICATION_JSON_VALUE)
+    @PostMapping(path = "set_alarm", consumes = MediaType.APPLICATION_JSON_VALUE)
     @Transactional(rollbackFor = Exception.class)
     @SsoAop()
-    public BaseResponse<Boolean> clearUsageRecord(@RequestBody @Valid DtoBase po, BindingResult bindingResult) {
+    public BaseResponse<Boolean> setAlarm(@RequestBody @Valid Alarm po, BindingResult bindingResult) {
         if(bindingResult != null && bindingResult.hasErrors()){
             return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
         }
 
-        //String commandCode = CodeV202404.cd_97;
         Long intakeId = po.getIntakeId();
+        Integer waterAlarm = Optional.ofNullable(po.getWaterAlarm()).orElse(0);
+        Integer moneyAlarm = Optional.ofNullable(po.getMoneyAlarm()).orElse(0);
         Long operator = po.getOperator();
         Long comId = idLongGenerator.generate();
 
@@ -153,12 +223,14 @@
         String commandCode = null;
         if(protocol.equals("p206V202404")) {
             // 鑾峰彇鍔熻兘鐮�
-            commandCode = CodeV202404.cd_97;
+            commandCode = CodeV202404.cd_16;
 
             // 鍒涘缓瑙嗗浘
-            ComCdXyVo param = new ComCdXyVo();
+            ComCd16Vo param = new ComCd16Vo();
             param.controllerType = controllerType;
             param.projectNo = projectNo;
+            param.waterAlarm = waterAlarm;
+            param.moneyAlarm = moneyAlarm;
 
             /**
              * 鏋勯�犲懡浠ゃ�佸彂閫佸懡浠ゅ苟澶勭悊璇锋眰缁撴灉鍙婃墽琛岀粨鏋�
@@ -173,7 +245,301 @@
             myParam.setRtuAddr(rtuAddr);
             myParam.setProtocol(protocol);
             myParam.setParam(param);
-            myParam.setRtuResultSendWebUrl(rtuResultSendWebUrl);
+            myParam.setRtuResultSendWebUrl(rtuCallbackUrl_rm);
+            myParam.setOperator(operator);
+            return dealWithCommandResult(myParam);
+        } else if(protocol.equals("p206V1_0_1")) {
+            // 鑾峰彇鍔熻兘鐮�
+            commandCode = CodeV1_0_1.cd_10;
+
+            // 鍒涘缓瑙嗗浘
+            Com97Vo param = new Com97Vo() ;
+            return BaseResponseUtils.buildSuccess("");
+        } else {
+            return BaseResponseUtils.buildFail("绯荤粺鏆備笉鏀寔璇ュ崗璁�");
+        }
+    }
+
+    /**
+     * 璁剧疆鏈轰簳骞存渶澶у紑閲囬噺鍜屾按浣嶄笅闄�
+     * @param po
+     * @param bindingResult
+     * @return
+     */
+    @PostMapping(path = "set_well", consumes = MediaType.APPLICATION_JSON_VALUE)
+    @Transactional(rollbackFor = Exception.class)
+    @SsoAop()
+    public BaseResponse<Boolean> setWell(@RequestBody @Valid DrivenWell po, BindingResult bindingResult) {
+        if(bindingResult != null && bindingResult.hasErrors()){
+            return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
+        }
+
+        Long intakeId = po.getIntakeId();
+        Integer maxAmountYear = Optional.ofNullable(po.getMaxAmountYear()).orElse(0);
+        Double limitLevel = Optional.ofNullable(po.getLimitLevel()).orElse(0.0);
+        Long operator = po.getOperator();
+        Long comId = idLongGenerator.generate();
+
+        // 鑾峰彇绯荤粺鍙傛暟
+        if(!setuped) {
+            setUp();
+        }
+
+        // 鍙栨按鍙D鎹㈤榾鎺у櫒鍦板潃鍙婇�氳鍗忚
+        JSONObject job_rtu = getRtu(intakeId, null);
+        if(job_rtu == null) {
+            return BaseResponseUtils.buildErrorMsg(RemoteResultCode.RTU_NOT_EXIST.getMessage());
+        }
+        String rtuAddr = job_rtu.getString("rtuAddr");
+        String protocol = job_rtu.getString("protocol");
+
+        String commandCode = null;
+        if(protocol.equals("p206V202404")) {
+            // 鑾峰彇鍔熻兘鐮�
+            commandCode = CodeV202404.cd_22;
+
+            // 鍒涘缓瑙嗗浘
+            ComCd22Vo param = new ComCd22Vo();
+            param.controllerType = controllerType;
+            param.projectNo = projectNo;
+            param.maxAmountYear = maxAmountYear;
+            param.limitLevel = limitLevel;
+
+            /**
+             * 鏋勯�犲懡浠ゃ�佸彂閫佸懡浠ゅ苟澶勭悊璇锋眰缁撴灉鍙婃墽琛岀粨鏋�
+             * 1 鍑嗗鍙傛暟
+             * 2 璋冪敤鍏叡鏂规硶
+             */
+            Param myParam = new Param();
+            myParam.setComId(comId);
+            myParam.setCommandCode(commandCode);
+            myParam.setCommandName(CodeV202404.getCodeName(commandCode));
+            myParam.setIntakeId(intakeId);
+            myParam.setRtuAddr(rtuAddr);
+            myParam.setProtocol(protocol);
+            myParam.setParam(param);
+            myParam.setRtuResultSendWebUrl(rtuCallbackUrl_rm);
+            myParam.setOperator(operator);
+            return dealWithCommandResult(myParam);
+        } else if(protocol.equals("p206V1_0_1")) {
+            // 鑾峰彇鍔熻兘鐮�
+            commandCode = CodeV1_0_1.cd_10;
+
+            // 鍒涘缓瑙嗗浘
+            Com97Vo param = new Com97Vo() ;
+            return BaseResponseUtils.buildSuccess("");
+        } else {
+            return BaseResponseUtils.buildFail("绯荤粺鏆備笉鏀寔璇ュ崗璁�");
+        }
+    }
+
+    /**
+     * 璁剧疆璁惧缁堢骞寸敤姘撮噺
+     * @param po
+     * @param bindingResult
+     * @return
+     */
+    @PostMapping(path = "set_max_amount", consumes = MediaType.APPLICATION_JSON_VALUE)
+    @Transactional(rollbackFor = Exception.class)
+    @SsoAop()
+    public BaseResponse<Boolean> setMaxAmount(@RequestBody @Valid WaterConsumption po, BindingResult bindingResult) {
+        if(bindingResult != null && bindingResult.hasErrors()){
+            return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
+        }
+
+        Long intakeId = po.getIntakeId();
+        Integer maxAmountYear = Optional.ofNullable(po.getMaxAmountYear()).orElse(0);
+        Long operator = po.getOperator();
+        Long comId = idLongGenerator.generate();
+
+        // 鑾峰彇绯荤粺鍙傛暟
+        if(!setuped) {
+            setUp();
+        }
+
+        // 鍙栨按鍙D鎹㈤榾鎺у櫒鍦板潃鍙婇�氳鍗忚
+        JSONObject job_rtu = getRtu(intakeId, null);
+        if(job_rtu == null) {
+            return BaseResponseUtils.buildErrorMsg(RemoteResultCode.RTU_NOT_EXIST.getMessage());
+        }
+        String rtuAddr = job_rtu.getString("rtuAddr");
+        String protocol = job_rtu.getString("protocol");
+
+        String commandCode = null;
+        if(protocol.equals("p206V202404")) {
+            // 鑾峰彇鍔熻兘鐮�
+            commandCode = CodeV202404.cd_26;
+
+            // 鍒涘缓瑙嗗浘
+            ComCd26Vo param = new ComCd26Vo();
+            param.controllerType = controllerType;
+            param.projectNo = projectNo;
+            param.maxAmountYear = maxAmountYear;
+
+            /**
+             * 鏋勯�犲懡浠ゃ�佸彂閫佸懡浠ゅ苟澶勭悊璇锋眰缁撴灉鍙婃墽琛岀粨鏋�
+             * 1 鍑嗗鍙傛暟
+             * 2 璋冪敤鍏叡鏂规硶
+             */
+            Param myParam = new Param();
+            myParam.setComId(comId);
+            myParam.setCommandCode(commandCode);
+            myParam.setCommandName(CodeV202404.getCodeName(commandCode));
+            myParam.setIntakeId(intakeId);
+            myParam.setRtuAddr(rtuAddr);
+            myParam.setProtocol(protocol);
+            myParam.setParam(param);
+            myParam.setRtuResultSendWebUrl(rtuCallbackUrl_rm);
+            myParam.setOperator(operator);
+            return dealWithCommandResult(myParam);
+        } else if(protocol.equals("p206V1_0_1")) {
+            // 鑾峰彇鍔熻兘鐮�
+            commandCode = CodeV1_0_1.cd_10;
+
+            // 鍒涘缓瑙嗗浘
+            Com97Vo param = new Com97Vo() ;
+            return BaseResponseUtils.buildSuccess("");
+        } else {
+            return BaseResponseUtils.buildFail("绯荤粺鏆備笉鏀寔璇ュ崗璁�");
+        }
+    }
+
+    /**
+     * 璁剧疆璁惧缁堢IP鍦板潃
+     * @param po
+     * @param bindingResult
+     * @return
+     */
+    @PostMapping(path = "set_ip", consumes = MediaType.APPLICATION_JSON_VALUE)
+    @Transactional(rollbackFor = Exception.class)
+    @SsoAop()
+    public BaseResponse<Boolean> setIp(@RequestBody @Valid Domain po, BindingResult bindingResult) {
+        if(bindingResult != null && bindingResult.hasErrors()){
+            return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
+        }
+
+        Long intakeId = po.getIntakeId();
+        Integer channel = po.getChannel();
+        String ip = po.getIp();
+        Integer port = po.getPort();
+        Long operator = po.getOperator();
+        Long comId = idLongGenerator.generate();
+
+        // 鑾峰彇绯荤粺鍙傛暟
+        if(!setuped) {
+            setUp();
+        }
+
+        // 鍙栨按鍙D鎹㈤榾鎺у櫒鍦板潃鍙婇�氳鍗忚
+        JSONObject job_rtu = getRtu(intakeId, null);
+        if(job_rtu == null) {
+            return BaseResponseUtils.buildErrorMsg(RemoteResultCode.RTU_NOT_EXIST.getMessage());
+        }
+        String rtuAddr = job_rtu.getString("rtuAddr");
+        String protocol = job_rtu.getString("protocol");
+
+        String commandCode = null;
+        if(protocol.equals("p206V202404")) {
+            // 鑾峰彇鍔熻兘鐮�
+            commandCode = CodeV202404.cd_21;
+
+            // 鍒涘缓瑙嗗浘
+            ComCd21Vo param = new ComCd21Vo();
+            param.controllerType = controllerType;
+            param.projectNo = projectNo;
+            param.channel = channel;
+            param.ip = ip;
+            param.port = port;
+
+            /**
+             * 鏋勯�犲懡浠ゃ�佸彂閫佸懡浠ゅ苟澶勭悊璇锋眰缁撴灉鍙婃墽琛岀粨鏋�
+             * 1 鍑嗗鍙傛暟
+             * 2 璋冪敤鍏叡鏂规硶
+             */
+            Param myParam = new Param();
+            myParam.setComId(comId);
+            myParam.setCommandCode(commandCode);
+            myParam.setCommandName(CodeV202404.getCodeName(commandCode));
+            myParam.setIntakeId(intakeId);
+            myParam.setRtuAddr(rtuAddr);
+            myParam.setProtocol(protocol);
+            myParam.setParam(param);
+            myParam.setRtuResultSendWebUrl(rtuCallbackUrl_rm);
+            myParam.setOperator(operator);
+            return dealWithCommandResult(myParam);
+        } else if(protocol.equals("p206V1_0_1")) {
+            // 鑾峰彇鍔熻兘鐮�
+            commandCode = CodeV1_0_1.cd_10;
+
+            // 鍒涘缓瑙嗗浘
+            Com97Vo param = new Com97Vo() ;
+            return BaseResponseUtils.buildSuccess("");
+        } else {
+            return BaseResponseUtils.buildFail("绯荤粺鏆備笉鏀寔璇ュ崗璁�");
+        }
+    }
+
+    /**
+     * 璁剧疆璁惧缁堢鍩熷悕
+     * @param po
+     * @param bindingResult
+     * @return
+     */
+    @PostMapping(path = "set_domain", consumes = MediaType.APPLICATION_JSON_VALUE)
+    @Transactional(rollbackFor = Exception.class)
+    @SsoAop()
+    public BaseResponse<Boolean> setDomain(@RequestBody @Valid Domain po, BindingResult bindingResult) {
+        if(bindingResult != null && bindingResult.hasErrors()){
+            return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
+        }
+
+        Long intakeId = po.getIntakeId();
+        Integer channel = po.getChannel();
+        String domain = po.getDomain();
+        Integer port = po.getPort();
+        Long operator = po.getOperator();
+        Long comId = idLongGenerator.generate();
+
+        // 鑾峰彇绯荤粺鍙傛暟
+        if(!setuped) {
+            setUp();
+        }
+
+        // 鍙栨按鍙D鎹㈤榾鎺у櫒鍦板潃鍙婇�氳鍗忚
+        JSONObject job_rtu = getRtu(intakeId, null);
+        if(job_rtu == null) {
+            return BaseResponseUtils.buildErrorMsg(RemoteResultCode.RTU_NOT_EXIST.getMessage());
+        }
+        String rtuAddr = job_rtu.getString("rtuAddr");
+        String protocol = job_rtu.getString("protocol");
+
+        String commandCode = null;
+        if(protocol.equals("p206V202404")) {
+            // 鑾峰彇鍔熻兘鐮�
+            commandCode = CodeV202404.cd_23;
+
+            // 鍒涘缓瑙嗗浘
+            ComCd23Vo param = new ComCd23Vo();
+            param.controllerType = controllerType;
+            param.projectNo = projectNo;
+            param.channel = channel;
+            param.domain = domain;
+            param.port = port;
+
+            /**
+             * 鏋勯�犲懡浠ゃ�佸彂閫佸懡浠ゅ苟澶勭悊璇锋眰缁撴灉鍙婃墽琛岀粨鏋�
+             * 1 鍑嗗鍙傛暟
+             * 2 璋冪敤鍏叡鏂规硶
+             */
+            Param myParam = new Param();
+            myParam.setComId(comId);
+            myParam.setCommandCode(commandCode);
+            myParam.setCommandName(CodeV202404.getCodeName(commandCode));
+            myParam.setIntakeId(intakeId);
+            myParam.setRtuAddr(rtuAddr);
+            myParam.setProtocol(protocol);
+            myParam.setParam(param);
+            myParam.setRtuResultSendWebUrl(rtuCallbackUrl_rm);
             myParam.setOperator(operator);
             return dealWithCommandResult(myParam);
         } else if(protocol.equals("p206V1_0_1")) {
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/resources/application.yml b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/resources/application.yml
index a3e69d7..8dc7ccd 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/resources/application.yml
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/resources/application.yml
@@ -1,6 +1,6 @@
 spring:
     profiles:
-        include: global, database, database-ym, database-pj
+        include: global, database, database-ym, database-pj, database-sp
 
 #actutor鐨剋eb绔彛
 management:
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateCtrl.java
index cb6bb55..25c4d9c 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateCtrl.java
@@ -411,7 +411,19 @@
             return BaseResponseUtils.buildErrorMsg(SellResultCode.CANCEL_FAIL_WRITE_CANCELL_ERROR.getMessage());
         }
 
-        return BaseResponseUtils.buildSuccess(true) ;
+        //return BaseResponseUtils.buildSuccess(true) ;
+
+        cardNumS = String.valueOf(cardNum).trim();
+        if(cardNumS.substring(0,2).equals("10")) {
+            cardNumS = cardNumS.substring(6, 12) + cardNumS.substring(13);
+        }
+        cardNum = Long.valueOf(cardNumS);
+
+        Map map_response = new HashMap();
+        map_response.put("projectNo", String.format("%02x", Integer.parseInt(cardOperateSv.getProjectNo())));
+        map_response.put("orderNumber", rec);
+        map_response.put("cardNum", cardNum);
+        return BaseResponseUtils.buildSuccess(map_response) ;
     }
 
     /**
@@ -507,7 +519,18 @@
             return BaseResponseUtils.buildErrorMsg(SellResultCode.LOSS_FAIL_WRITE_LOSS_ERROR.getMessage());
         }
 
-        return BaseResponseUtils.buildSuccess(true) ;
+        //return BaseResponseUtils.buildSuccess(true) ;
+        cardNumS = String.valueOf(cardNum).trim();
+        if(cardNumS.substring(0,2).equals("10")) {
+            cardNumS = cardNumS.substring(6, 12) + cardNumS.substring(13);
+        }
+        cardNum = Long.valueOf(cardNumS);
+
+        Map map_response = new HashMap();
+        map_response.put("projectNo", String.format("%02x", Integer.parseInt(cardOperateSv.getProjectNo())));
+        map_response.put("orderNumber", rec);
+        map_response.put("cardNum", cardNum);
+        return BaseResponseUtils.buildSuccess(map_response) ;
     }
 
     /**
@@ -598,7 +621,19 @@
             return BaseResponseUtils.buildErrorMsg(SellResultCode.REVERSAL_FAIL_WRITE_REVERSAL_ERROR.getMessage());
         }
 
-        return BaseResponseUtils.buildSuccess(true) ;
+        //return BaseResponseUtils.buildSuccess(true) ;
+        cardNumS = String.valueOf(cardNum).trim();
+        if(cardNumS.substring(0,2).equals("10")) {
+            cardNumS = cardNumS.substring(6, 12) + cardNumS.substring(13);
+        }
+        cardNum = Long.valueOf(cardNumS);
+
+        Map map_response = new HashMap();
+        map_response.put("projectNo", String.format("%02x", Integer.parseInt(cardOperateSv.getProjectNo())));
+        map_response.put("orderNumber", rec);
+        map_response.put("cardNum", cardNum);
+        return BaseResponseUtils.buildSuccess(map_response) ;
+
     }
 
     /**
@@ -778,7 +813,19 @@
             return BaseResponseUtils.buildErrorMsg(SellResultCode.UNLOCK_FAIL_WRITE_UNLOCK_ERROR.getMessage());
         }
 
-        return BaseResponseUtils.buildSuccess(true) ;
+        //return BaseResponseUtils.buildSuccess(true) ;
+        cardNumS = String.valueOf(cardNum).trim();
+        if(cardNumS.substring(0,2).equals("10")) {
+            cardNumS = cardNumS.substring(6, 12) + cardNumS.substring(13);
+        }
+        cardNum = Long.valueOf(cardNumS);
+
+        Map map_response = new HashMap();
+        map_response.put("projectNo", String.format("%02x", Integer.parseInt(cardOperateSv.getProjectNo())));
+        map_response.put("orderNumber", rec);
+        map_response.put("cardNum", cardNum);
+        return BaseResponseUtils.buildSuccess(map_response) ;
+
     }
 
     /**
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/resources/application.yml b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/resources/application.yml
index a0f8af1..20b24f8 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/resources/application.yml
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/resources/application.yml
@@ -1,6 +1,6 @@
 spring:
   profiles:
-    include: global, database, database-ym, database-pj
+    include: global, database, database-ym, database-pj, database-sp
 
 #actutor鐨剋eb绔彛
 management:
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sso/src/main/resources/application.yml b/pipIrr-platform/pipIrr-web/pipIrr-web-sso/src/main/resources/application.yml
index 6281a58..0b25e4e 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sso/src/main/resources/application.yml
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sso/src/main/resources/application.yml
@@ -1,6 +1,6 @@
 spring:
     profiles:
-        include: global, database, database-ym, database-pj
+        include: global, database, database-ym, database-pj, database-sp
 
 #actutor鐨剋eb绔彛
 management:
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/resources/application.yml b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/resources/application.yml
index a591cdf..4e95a57 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/resources/application.yml
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/resources/application.yml
@@ -1,6 +1,6 @@
 spring:
     profiles:
-        include: global, database, database-ym, database-pj
+        include: global, database, database-ym, database-pj, database-sp
 
 #actutor鐨剋eb绔彛
 management:

--
Gitblit v1.8.0