From 18fc70a0c4f2bd6c69ccfd58c1b01edc03d87e73 Mon Sep 17 00:00:00 2001
From: Administrator <zhubaomin>
Date: 星期二, 23 七月 2024 15:45:45 +0800
Subject: [PATCH] 2024-07-23 朱宝民 PC端及小程序自动关阀(定时、定量),项目信息移入配置文件

---
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/application-database.yml                            |    4 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/downVos/ComA0Vo.java          |    2 
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/ComSupport.java                        |   39 +++
 pipIrr-platform/pipIrr-global/src/main/resources/application-database-sp.yml                                   |    4 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/valve/ValveCtrl.java            |  194 ++++++++++++++++--
 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/ValveCtrl.java          |  181 ++++++++++++++++-
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/dto/AutomaticClose.java  |   44 ++++
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtu/RtuCtrl.java                |   28 --
 pipIrr-platform/pipIrr-global/src/main/resources/application-database-pj.yml                                   |    4 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandResultCtrl.java   |    2 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/downVos/Com99Vo.java          |    2 
 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/dto/AutomaticClose.java |   43 ++++
 pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml                                        |   10 
 pipIrr-platform/pipIrr-global/src/main/resources/application-database-ym.yml                                   |    4 
 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/CommandResultCtrl.java  |   25 +-
 15 files changed, 487 insertions(+), 99 deletions(-)

diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/downVos/Com99Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/downVos/Com99Vo.java
index af014d5..e9c3c09 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/downVos/Com99Vo.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/downVos/Com99Vo.java
@@ -10,7 +10,7 @@
 @Data
 public class Com99Vo {
     public String icCardNo ;//17浣嶈櫄鎷烮C鍗$紪鍙�(鍗忚鏄�10浣嶆暟瀛�)
-    public Integer moneyRemain;//鍓╀綑閲戦(鍙栧�艰寖鍥�0.00~999999.99锛屽崟浣嶄负鍏�)
+    public Double moneyRemain;//鍓╀綑閲戦(鍙栧�艰寖鍥�0.00~999999.99锛屽崟浣嶄负鍏�)
     public Double waterPrice;//姘翠环(鍙栧�艰寖鍥�0.00~99.99鍏�/m3)
     public Integer minutes ;//鐢ㄦ按鏃堕暱锛�0~9999鍒嗛挓锛�
     public String orderNo ;//璁㈠崟鍙凤紙16浣嶆暟瀛楋級
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/downVos/ComA0Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/downVos/ComA0Vo.java
index 9f78660..ee1645f 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/downVos/ComA0Vo.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/downVos/ComA0Vo.java
@@ -10,7 +10,7 @@
 @Data
 public class ComA0Vo {
     public String icCardNo ;//17浣嶈櫄鎷烮C鍗$紪鍙�(鍗忚鏄�10浣嶆暟瀛�)
-    public Integer moneyRemain;//鍓╀綑閲戦(鍙栧�艰寖鍥�0.00~999999.99锛屽崟浣嶄负鍏�)
+    public Double moneyRemain;//鍓╀綑閲戦(鍙栧�艰寖鍥�0.00~999999.99锛屽崟浣嶄负鍏�)
     public Double waterPrice;//姘翠环(鍙栧�艰寖鍥�0.00~99.99鍏�/m3)
     public Integer waterAmount ;//棰勭敤姘撮噺锛�0~9999 m3锛�
     public String orderNo ;//璁㈠崟鍙凤紙16浣嶆暟瀛楋級
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/ComSupport.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/ComSupport.java
index 95daca2..8413b02 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/ComSupport.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/ComSupport.java
@@ -19,6 +19,7 @@
 import com.dy.pipIrrGlobal.pojoSe.SeVirtualCard;
 import jakarta.annotation.PostConstruct;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.http.HttpEntity;
 import org.springframework.http.HttpHeaders;
 import org.springframework.http.HttpMethod;
@@ -48,13 +49,20 @@
     //@Value("${mw.comSendUrl}")
     protected String comSendUrl;
 
-    protected static String controllerType = null;
-    protected static Integer projectNo = null;
+    //protected static String controllerType = null;
+    //protected static Integer projectNo = null;
+
+    @Value("${project.projectNo}")
+    protected Integer projectNo;
+
+    @Value("${project.controllerType}")
+    protected String controllerType;
+
     protected String commandTypeOuter = CommandType.outerCommand;
 
     // 瀛樺偍瀹炰緥鍖栫殑 CompletableFuture<Data> 瀵硅薄
     protected static Map<Long, Object> features = new HashMap<>();
-    protected static Boolean setuped = false;
+    //protected static Boolean setuped = false;
 
     @Autowired
     private RestTemplate restTemplate;
@@ -89,11 +97,11 @@
     /**
      * 鑾峰彇绯荤粺閰嶇疆鍙傛暟
      */
-    public void setUp() {
-        controllerType = comSupport.baSettingsMapper.getItemValue("controllerType");
-        projectNo = Integer.parseInt(comSupport.baSettingsMapper.getItemValue("projectNo"));
-        setuped = true;
-    }
+    //public void setUp() {
+    //    controllerType = comSupport.baSettingsMapper.getItemValue("controllerType");
+    //    projectNo = Integer.parseInt(comSupport.baSettingsMapper.getItemValue("projectNo"));
+    //    setuped = true;
+    //}
 
     /**
      * 鐢熸垚璁㈠崟鍙�
@@ -322,6 +330,21 @@
             seVirtualCardMapper.updateByPrimaryKeySelective(virtualCard);
         }
 
+        // 濡傛灉鏄紑鍙戝懡浠わ紙92-骞冲彴寮�闃�锛�91-灏忕▼搴忓紑闃�锛夛紝杩斿洖缁撴灉涓坊鍔犻榾鎺у櫒鍦板潃銆佽櫄鎷熷崱缂栧彿銆佽鍗曞彿
+        if(commandCode.equals("92") || commandCode.equals("97")) {
+            JSONObject job_response = (JSONObject) JSON.toJSON(response_CallBack);
+            JSONObject job_param = (JSONObject) JSON.toJSON(param);
+
+            JSONObject job_data = job_response.getJSONObject("content").getJSONObject("data");
+            job_data.remove("success");
+            job_data.put("intakeId", intakeId);
+            job_data.put("rtuAddr", rtuAddr);
+            job_data.put("vcNum", job_param.getString("icCardNo"));
+            job_data.put("orderNo", job_param.getString("orderNo"));
+
+            response_CallBack = JSON.parseObject(job_response.toJSONString(), BaseResponse.class);
+        }
+
         // 鍥炶皟杩斿洖鐨勫唴瀹癸紝鍥炶皟缁撴灉鍐欏叆鍛戒护鏃ュ織琛ㄧ殑浠诲姟鐢变腑闂翠欢瀹屾垚
         return response_CallBack;
 
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 30f81cf..41ba0b1 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,9 +5,9 @@
             #name: pj
             type: com.alibaba.druid.pool.DruidDataSource
             driverClassName: com.mysql.cj.jdbc.Driver
-#            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://127.0.0.1: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
+#            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
index 1bbe4e2..89a4fbc 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/application-database-sp.yml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/application-database-sp.yml
@@ -5,9 +5,9 @@
       #name: sp
       type: com.alibaba.druid.pool.DruidDataSource
       driverClassName: com.mysql.cj.jdbc.Driver
-#      url: jdbc:mysql://192.168.40.166:3306/pipIrr_sp?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull
+      url: jdbc:mysql://192.168.40.166:3306/pipIrr_sp?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull
 #      url: jdbc:mysql://127.0.0.1:3306/pipIrr_sp?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull
-      url: jdbc:mysql://8.140.179.55:3306/pipIrr_sp?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull
+#      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:
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/application-database-ym.yml b/pipIrr-platform/pipIrr-global/src/main/resources/application-database-ym.yml
index 1177808..3b1c640 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/application-database-ym.yml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/application-database-ym.yml
@@ -5,9 +5,9 @@
             #name: ym
             type: com.alibaba.druid.pool.DruidDataSource
             driverClassName: 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://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-global/src/main/resources/application-global.yml b/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml
index edea437..7cabb1f 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml
@@ -72,7 +72,7 @@
 
 pipIrr:
     global:
-        dev: true   #鏄惁寮�鍙戦樁娈碉紝true鎴杅alse
+        dev: false   #鏄惁寮�鍙戦樁娈碉紝true鎴杅alse
         dsName: ym  #寮�鍙戦樁娈碉紝璁剧疆涓存椂鐨勬暟鎹簱鍚嶇О
     mw:
         webPort: 8070
@@ -130,6 +130,14 @@
 #    ym: 100
 #    pj: 101
 
+#椤圭洰閰嶇疆
+project:
+    #椤圭洰缂栫爜
+    projectNo: 10
+    #鎺у埗鍣ㄧ被鍨�
+    controllerType: 57
+
+
 #閫氳鍗忚
 #protocol: DYJS_2023,DYJS_2024
 mw:
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 9373985..34bb341 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,9 @@
     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://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-remote/src/main/java/com/dy/pipIrrRemote/common/CommandResultCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandResultCtrl.java
index e98153a..21d02e1 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandResultCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandResultCtrl.java
@@ -27,7 +27,7 @@
     @PostMapping(path = "receive", consumes = MediaType.APPLICATION_JSON_VALUE)
     public void receive(@RequestBody Data data) {
         JSONObject job_data = (JSONObject) JSON.toJSON(data);
-        //System.out.println(job_data.toJSONString());
+        String job_dataS = job_data.toJSONString();
         JSONObject job_subData = job_data.getJSONObject("subData").getJSONObject("subData");
 
         JSONObject job_response = new JSONObject();
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/dto/AutomaticClose.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/dto/AutomaticClose.java
new file mode 100644
index 0000000..1597b7f
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/dto/AutomaticClose.java
@@ -0,0 +1,44 @@
+package com.dy.pipIrrRemote.common.dto;
+
+import jakarta.validation.constraints.NotBlank;
+import lombok.Data;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-07-23 10:36
+ * @LastEditTime 2024-07-23 10:36
+ * @Description 鑷姩鍏抽榾锛堝畾鏃跺叧闃�銆佸畾閲忓叧闃�锛変紶杈撳璞�
+ */
+
+@Data
+public class AutomaticClose extends DtoBase {
+    public static final long serialVersionUID = 202407231039001L;
+
+    /**
+     * 闃�鎺у櫒鍦板潃
+     */
+    @NotBlank(message = "闃�鎺у櫒鍦板潃涓嶈兘涓虹┖")
+    private String rtuAddr;
+
+    /**
+     * 铏氭嫙鍗$紪鍙�
+     */
+    @NotBlank(message = "铏氭嫙鍗$紪鍙蜂笉鑳戒负绌�")
+    private String vcNum;
+
+    /**
+     * 璁㈠崟鍙�
+     */
+    @NotBlank(message = "璁㈠崟鍙蜂笉鑳戒负绌�")
+    private String orderNo;
+
+    /**
+     * 鐢ㄦ按鏃堕暱锛屾嫢鏈夊畾鏃跺叧闃�
+     */
+    private Integer minutes;
+
+    /**
+     * 棰勭敤姘撮噺锛屾嫢鏈夊畾閲忓叧闃�
+     */
+    private Integer waterAmount;
+}
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 5768ebf..e4b0ec0 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
@@ -32,9 +32,6 @@
 
 import java.util.Objects;
 
-//import com.dy.common.mw.protocol.p206V1_0_0.downVos.Com97Vo;
-//import com.dy.common.mw.protocol.p206V1_0_0.downVos.ComXyVo;
-
 /**
  * @author ZhuBaoMin
  * @date 2024-05-21 14:31
@@ -93,11 +90,6 @@
         Long intakeId = po.getIntakeId();
         Long operator = po.getOperator();
         Long comId = idLongGenerator.generate();
-
-        // 鑾峰彇绯荤粺鍙傛暟
-        if(!setuped) {
-            setUp();
-        }
 
         // 鍙栨按鍙D鎹㈤榾鎺у櫒鍦板潃鍙婇�氳鍗忚
         JSONObject job_rtu = getRtu(intakeId, null);
@@ -179,11 +171,6 @@
         Long operator = po.getOperator();
         Long comId = idLongGenerator.generate();
 
-        // 鑾峰彇绯荤粺鍙傛暟
-        if(!setuped) {
-            setUp();
-        }
-
         // 鍙栨按鍙D鎹㈤榾鎺у櫒鍦板潃鍙婇�氳鍗忚
         JSONObject job_rtu = getRtu(intakeId, null);
         if(job_rtu == null) {
@@ -243,11 +230,6 @@
         Long intakeId = po.getIntakeId();
         Long operator = po.getOperator();
         Long comId = idLongGenerator.generate();
-
-        // 鑾峰彇绯荤粺鍙傛暟
-        if(!setuped) {
-            setUp();
-        }
 
         // 鍙栨按鍙D鎹㈤榾鎺у櫒鍦板潃鍙婇�氳鍗忚
         JSONObject job_rtu = getRtu(intakeId, null);
@@ -310,11 +292,6 @@
         Long operator = po.getOperator();
         Long comId = idLongGenerator.generate();
 
-        // 鑾峰彇绯荤粺鍙傛暟
-        if(!setuped) {
-            setUp();
-        }
-
         // 鍙栨按鍙D鎹㈤榾鎺у櫒鍦板潃鍙婇�氳鍗忚
         JSONObject job_rtu = getRtu(intakeId, null);
         if(job_rtu == null) {
@@ -374,11 +351,6 @@
         Long intakeId = po.getIntakeId();
         Long operator = po.getOperator();
         Long comId = idLongGenerator.generate();
-
-        // 鑾峰彇绯荤粺鍙傛暟
-        if(!setuped) {
-            setUp();
-        }
 
         // 鍙栨按鍙D鎹㈤榾鎺у櫒鍦板潃鍙婇�氳鍗忚
         JSONObject job_rtu = getRtu(intakeId, null);
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/valve/ValveCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/valve/ValveCtrl.java
index 06f622c..c0d871e 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/valve/ValveCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/valve/ValveCtrl.java
@@ -5,8 +5,13 @@
 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.p206V1_0_0.downVos.Com98Vo;
+import com.dy.common.mw.protocol.p206V1_0_0.downVos.Com99Vo;
+import com.dy.common.mw.protocol.p206V1_0_0.downVos.ComA0Vo;
 import com.dy.common.mw.protocol.p206V202404.CodeV202404;
-import com.dy.common.mw.protocol.p206V202404.downVos.*;
+import com.dy.common.mw.protocol.p206V202404.downVos.ComCd15Vo;
+import com.dy.common.mw.protocol.p206V202404.downVos.ComCd92_A2Vo;
+import com.dy.common.mw.protocol.p206V202404.downVos.ComCd93_A3Vo;
+import com.dy.common.mw.protocol.p206V202404.downVos.ComCd9CVo;
 import com.dy.common.util.IDLongGenerator;
 import com.dy.common.webUtil.BaseResponse;
 import com.dy.common.webUtil.BaseResponseUtils;
@@ -104,11 +109,6 @@
             if(vcId == null) {
                 return BaseResponseUtils.buildErrorMsg(RemoteResultCode.PLEASE_SELECT_A_VC.getMessage());
             }
-        }
-
-        // 鑾峰彇绯荤粺鍙傛暟
-        if(!setuped) {
-            setUp();
         }
 
         // 铏氭嫙鍗D鎹㈣櫄鎷熷崱瀵硅薄
@@ -239,11 +239,6 @@
         String orderNo = voUnclosedParam.getOrderNo();
         Long comId = idLongGenerator.generate();
 
-        // 鑾峰彇绯荤粺鍙傛暟
-        if(!setuped) {
-            setUp();
-        }
-
         // 闃�鎺у櫒鍦板潃鎹㈠彇姘村彛ID鍜岄�氳鍗忚
         JSONObject job_rtu = getRtu(null, rtuAddr);
         if(job_rtu == null) {
@@ -317,6 +312,168 @@
     }
 
     /**
+     * 瀹氭椂鍏抽榾
+     * @param automaticClose
+     * @param bindingResult
+     * @return
+     */
+    @PostMapping(path = "timed_close", consumes = MediaType.APPLICATION_JSON_VALUE)
+    @Transactional(rollbackFor = Exception.class)
+    @SsoAop()
+    public BaseResponse<Boolean> timedClose(@RequestBody @Valid AutomaticClose automaticClose, BindingResult bindingResult) {
+        if(bindingResult != null && bindingResult.hasErrors()){
+            return BaseResponseUtils.buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
+        }
+
+        Long intakeId = automaticClose.getIntakeId();
+        String rtuAddr = automaticClose.getRtuAddr();
+        String vcNum = automaticClose.getVcNum();
+        String orderNo = automaticClose.getOrderNo();
+        Integer minutes = automaticClose.getMinutes();
+        Long operator = automaticClose.getOperator();
+
+        Long vcId = Optional.ofNullable(seVirtualCardMapper.getVcIdByNum(vcNum)).orElse(0L);
+        Long comId = idLongGenerator.generate();
+
+        // 铏氭嫙鍗D鎹㈣櫄鎷熷崱瀵硅薄
+        VoVirtualCard vc = commandSv.getVcById(vcId);
+        if (vc == null) {
+            return BaseResponseUtils.buildErrorMsg(RemoteResultCode.PLEASE_SELECT_A_VC.getMessage());
+        }
+        Double moneyRemain = vc.getMoney();
+
+        // 鑾峰彇姘翠环
+        Double waterPrice = commandSv.getPrice();
+
+        // 闃�鎺у櫒鍦板潃鎹㈠彇姘村彛ID鍜岄�氳鍗忚
+        JSONObject job_rtu = getRtu(null, rtuAddr);
+        if(job_rtu == null) {
+            return BaseResponseUtils.buildErrorMsg(RemoteResultCode.RTU_NOT_EXIST.getMessage());
+        }
+        String protocol = job_rtu.getString("protocol");
+        String orgTag = job_rtu.getString("orgTag");
+        comSendUrl = env.getProperty(pro_mw + "." + orgTag + "." + key_mw);
+
+        String commandCode = null;
+        if(protocol.equals("p206V202404")) {
+            return BaseResponseUtils.buildSuccess();
+        } else if(protocol.equals("p206V1_0_1")) {
+            // 鑾峰彇鍔熻兘鐮�
+            commandCode = CodeV1_0_1.cd_99;
+
+            // 鍒涘缓瑙嗗浘
+            Com99Vo param = new Com99Vo();
+            param.setIcCardNo(vcNum);
+            param.setMoneyRemain(moneyRemain);
+            param.setWaterPrice(waterPrice);
+            param.setMinutes(minutes);
+            param.setOrderNo(orderNo);
+
+            /**
+             * 鏋勯�犲懡浠ゃ�佸彂閫佸懡浠ゅ苟澶勭悊璇锋眰缁撴灉鍙婃墽琛岀粨鏋�
+             * 1 鍑嗗鍙傛暟
+             * 2 璋冪敤鍏叡鏂规硶
+             */
+            Param myParam = new Param();
+            myParam.setComId(comId);
+            myParam.setComType((byte)2);
+            myParam.setCommandCode(commandCode);
+            myParam.setCommandName(CodeV202404.getCodeName(commandCode));
+            myParam.setIntakeId(intakeId);
+            myParam.setRtuAddr(rtuAddr);
+            myParam.setProtocol(protocol);
+            myParam.setVcId(vcId);
+            myParam.setParam(param);
+            myParam.setRtuResultSendWebUrl(rtuCallbackUrl_rm);
+            myParam.setOperator(operator);
+            return dealWithCommandResult(myParam);
+        } else {
+            return BaseResponseUtils.buildErrorMsg("绯荤粺鏆備笉鏀寔璇ュ崗璁�");
+        }
+    }
+
+    /**
+     * 瀹氶噺鍏抽榾
+     * @param automaticClose
+     * @param bindingResult
+     * @return
+     */
+    @PostMapping(path = "quantify_close", consumes = MediaType.APPLICATION_JSON_VALUE)
+    @Transactional(rollbackFor = Exception.class)
+    @SsoAop()
+    public BaseResponse<Boolean> quantifyClose(@RequestBody @Valid AutomaticClose automaticClose, BindingResult bindingResult) {
+        if(bindingResult != null && bindingResult.hasErrors()){
+            return BaseResponseUtils.buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
+        }
+
+        Long intakeId = automaticClose.getIntakeId();
+        String rtuAddr = automaticClose.getRtuAddr();
+        String vcNum = automaticClose.getVcNum();
+        String orderNo = automaticClose.getOrderNo();
+        Integer waterAmount = automaticClose.getWaterAmount();
+        Long operator = automaticClose.getOperator();
+
+        Long vcId = Optional.ofNullable(seVirtualCardMapper.getVcIdByNum(vcNum)).orElse(0L);
+        Long comId = idLongGenerator.generate();
+
+        // 铏氭嫙鍗D鎹㈣櫄鎷熷崱瀵硅薄
+        VoVirtualCard vc = commandSv.getVcById(vcId);
+        if (vc == null) {
+            return BaseResponseUtils.buildErrorMsg(RemoteResultCode.PLEASE_SELECT_A_VC.getMessage());
+        }
+        Double moneyRemain = vc.getMoney();
+
+        // 鑾峰彇姘翠环
+        Double waterPrice = commandSv.getPrice();
+
+        // 闃�鎺у櫒鍦板潃鎹㈠彇姘村彛ID鍜岄�氳鍗忚
+        JSONObject job_rtu = getRtu(null, rtuAddr);
+        if(job_rtu == null) {
+            return BaseResponseUtils.buildErrorMsg(RemoteResultCode.RTU_NOT_EXIST.getMessage());
+        }
+        String protocol = job_rtu.getString("protocol");
+        String orgTag = job_rtu.getString("orgTag");
+        comSendUrl = env.getProperty(pro_mw + "." + orgTag + "." + key_mw);
+
+        String commandCode = null;
+        if(protocol.equals("p206V202404")) {
+            return BaseResponseUtils.buildSuccess();
+        } else if(protocol.equals("p206V1_0_1")) {
+            // 鑾峰彇鍔熻兘鐮�
+            commandCode = CodeV1_0_1.cd_A0;
+
+            // 鍒涘缓瑙嗗浘
+            ComA0Vo param = new ComA0Vo();
+            param.setIcCardNo(vcNum);
+            param.setMoneyRemain(moneyRemain);
+            param.setWaterPrice(waterPrice);
+            param.setWaterAmount(waterAmount);
+            param.setOrderNo(orderNo);
+
+            /**
+             * 鏋勯�犲懡浠ゃ�佸彂閫佸懡浠ゅ苟澶勭悊璇锋眰缁撴灉鍙婃墽琛岀粨鏋�
+             * 1 鍑嗗鍙傛暟
+             * 2 璋冪敤鍏叡鏂规硶
+             */
+            Param myParam = new Param();
+            myParam.setComId(comId);
+            myParam.setComType((byte)2);
+            myParam.setCommandCode(commandCode);
+            myParam.setCommandName(CodeV202404.getCodeName(commandCode));
+            myParam.setIntakeId(intakeId);
+            myParam.setRtuAddr(rtuAddr);
+            myParam.setProtocol(protocol);
+            myParam.setVcId(vcId);
+            myParam.setParam(param);
+            myParam.setRtuResultSendWebUrl(rtuCallbackUrl_rm);
+            myParam.setOperator(operator);
+            return dealWithCommandResult(myParam);
+        } else {
+            return BaseResponseUtils.buildErrorMsg("绯荤粺鏆備笉鏀寔璇ュ崗璁�");
+        }
+    }
+
+    /**
      * 鏍规嵁鎿嶄綔鍛業D鑾峰彇鏈叧闃�璁板綍
      * @param operator
      * @return
@@ -354,11 +511,6 @@
         Long operator = po.getOperator();
         String flowNo = RandomStringUtils.randomNumeric(12); // 鐢熸垚12浣嶉殢鏈烘暟
         Long comId = idLongGenerator.generate();
-
-        // 鑾峰彇绯荤粺鍙傛暟
-        if(!setuped) {
-            setUp();
-        }
 
         // 鍙栨按鍙D鎹㈤榾鎺у櫒鍦板潃鍙婇�氳鍗忚
         JSONObject job_rtu = getRtu(intakeId, null);
@@ -433,11 +585,6 @@
         Long operator = card.getOperator();
         Long comId = idLongGenerator.generate();
 
-        // 鑾峰彇绯荤粺鍙傛暟
-        if(!setuped) {
-            setUp();
-        }
-
         // 鍙栨按鍙D鎹㈤榾鎺у櫒鍦板潃鍙婇�氳鍗忚
         JSONObject job_rtu = getRtu(intakeId, null);
         if(job_rtu == null) {
@@ -498,11 +645,6 @@
     //    Boolean valid = usability.getValid();
     //    Long operator = usability.getOperator();
     //    Long comId = idLongGenerator.generate();
-    //
-    //    // 鑾峰彇绯荤粺鍙傛暟
-    //    if(!setuped) {
-    //        setUp();
-    //    }
     //
     //    // 鍙栨按鍙D鎹㈤榾鎺у櫒鍦板潃鍙婇�氳鍗忚
     //    JSONObject job_rtu = getRtu(intakeId, null);
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/CommandResultCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/CommandResultCtrl.java
index e5e2113..493625f 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/CommandResultCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/CommandResultCtrl.java
@@ -1,8 +1,8 @@
 package com.dy.pipIrrWechat.command;
 
+import com.alibaba.fastjson2.JSON;
+import com.alibaba.fastjson2.JSONObject;
 import com.dy.common.mw.protocol.Data;
-import com.dy.common.webUtil.BaseResponse;
-import com.dy.common.webUtil.BaseResponseUtils;
 import com.dy.pipIrrGlobal.command.ComSupport;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.http.MediaType;
@@ -25,16 +25,21 @@
 @RequestMapping(path="comRes")
 public class CommandResultCtrl extends ComSupport {
     @PostMapping(path = "receive", consumes = MediaType.APPLICATION_JSON_VALUE)
-    public BaseResponse<String> receive(@RequestBody Data data) {
-        Long comId = 0L;
-        if(data.getCommandId() != null) {
-            comId = Long.parseLong(data.getCommandId());
-        }
+    public void receive(@RequestBody Data data) {
+        JSONObject job_data = (JSONObject) JSON.toJSON(data);
+        String job_dataS = job_data.toJSONString();
+        JSONObject job_subData = job_data.getJSONObject("subData").getJSONObject("subData");
 
-        CompletableFuture<Data> feature = (CompletableFuture<Data>) features.get(comId);
+        JSONObject job_response = new JSONObject();
+        job_response.put("data", job_subData);
+        job_response.put("commandCode", job_data.getString("code"));
+        job_response.put("commandId", job_data.getString("commandId"));
+
+        CompletableFuture<JSONObject> feature = (CompletableFuture<JSONObject>) features.get(job_data.getLong("commandId"));
         if(feature != null) {
-            feature.complete(data);
+            feature.complete(job_response);
+        }else{
+            feature.complete(new JSONObject());
         }
-        return BaseResponseUtils.buildSuccess("ok");
     }
 }
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/ValveCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/ValveCtrl.java
index b3058bf..4dbfadf 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/ValveCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/ValveCtrl.java
@@ -1,9 +1,12 @@
 package com.dy.pipIrrWechat.command;
 
 import com.alibaba.fastjson2.JSONObject;
+import com.dy.common.aop.SsoAop;
 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.p206V1_0_0.downVos.Com98Vo;
+import com.dy.common.mw.protocol.p206V1_0_0.downVos.Com99Vo;
+import com.dy.common.mw.protocol.p206V1_0_0.downVos.ComA0Vo;
 import com.dy.common.mw.protocol.p206V202404.CodeV202404;
 import com.dy.common.mw.protocol.p206V202404.downVos.ComCd15Vo;
 import com.dy.common.mw.protocol.p206V202404.downVos.ComCd92_A2Vo;
@@ -17,6 +20,7 @@
 import com.dy.pipIrrGlobal.pojoSe.SeClientCard;
 import com.dy.pipIrrGlobal.voRm.VoUnclosedValve;
 import com.dy.pipIrrGlobal.voSe.VoVirtualCard;
+import com.dy.pipIrrWechat.command.dto.AutomaticClose;
 import com.dy.pipIrrWechat.command.dto.Recharge;
 import com.dy.pipIrrWechat.command.dto.ValveClose;
 import com.dy.pipIrrWechat.command.dto.ValveOpen;
@@ -116,11 +120,6 @@
             if (vcId == null) {
                 return BaseResponseUtils.buildErrorMsg(WechatResultCode.PLEASE_SELECT_A_VC.getMessage());
             }
-        }
-
-        // 鑾峰彇绯荤粺鍙傛暟
-        if (!setuped) {
-            setUp();
         }
 
         // 铏氭嫙鍗D鎹㈣櫄鎷熷崱瀵硅薄
@@ -240,11 +239,6 @@
         Long operator = valve.getOperator();
         Long comId = idLongGenerator.generate();
 
-        // 鑾峰彇绯荤粺鍙傛暟
-        if (!setuped) {
-            setUp();
-        }
-
         // 闃�鎺у櫒鍦板潃鎹㈠彇姘村彛ID鍜岄�氳鍗忚
         JSONObject job_rtu = getRtu(null, rtuAddr);
         if (job_rtu == null) {
@@ -318,6 +312,168 @@
     }
 
     /**
+     * 瀹氭椂鍏抽榾
+     * @param automaticClose
+     * @param bindingResult
+     * @return
+     */
+    @PostMapping(path = "timed_close", consumes = MediaType.APPLICATION_JSON_VALUE)
+    @Transactional(rollbackFor = Exception.class)
+    @SsoAop()
+    public BaseResponse<Boolean> timedClose(@RequestBody @Valid AutomaticClose automaticClose, BindingResult bindingResult) {
+        if(bindingResult != null && bindingResult.hasErrors()){
+            return BaseResponseUtils.buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
+        }
+
+        Long intakeId = automaticClose.getIntakeId();
+        String rtuAddr = automaticClose.getRtuAddr();
+        String vcNum = automaticClose.getVcNum();
+        String orderNo = automaticClose.getOrderNo();
+        Integer minutes = automaticClose.getMinutes();
+        Long operator = automaticClose.getOperator();
+
+        Long vcId = Optional.ofNullable(seVirtualCardMapper.getVcIdByNum(vcNum)).orElse(0L);
+        Long comId = idLongGenerator.generate();
+
+        // 铏氭嫙鍗D鎹㈣櫄鎷熷崱瀵硅薄
+        VoVirtualCard vc = commandSv.getVcById(vcId);
+        if (vc == null) {
+            return BaseResponseUtils.buildErrorMsg(WechatResultCode.PLEASE_SELECT_A_VC.getMessage());
+        }
+        Double moneyRemain = vc.getMoney();
+
+        // 鑾峰彇姘翠环
+        Double waterPrice = commandSv.getPrice();
+
+        // 闃�鎺у櫒鍦板潃鎹㈠彇姘村彛ID鍜岄�氳鍗忚
+        JSONObject job_rtu = getRtu(null, rtuAddr);
+        if(job_rtu == null) {
+            return BaseResponseUtils.buildErrorMsg(WechatResultCode.RTU_NOT_EXIST.getMessage());
+        }
+        String protocol = job_rtu.getString("protocol");
+        String orgTag = job_rtu.getString("orgTag");
+        comSendUrl = env.getProperty(pro_mw + "." + orgTag + "." + key_mw);
+
+        String commandCode = null;
+        if(protocol.equals("p206V202404")) {
+            return BaseResponseUtils.buildSuccess();
+        } else if(protocol.equals("p206V1_0_1")) {
+            // 鑾峰彇鍔熻兘鐮�
+            commandCode = CodeV1_0_1.cd_99;
+
+            // 鍒涘缓瑙嗗浘
+            Com99Vo param = new Com99Vo();
+            param.setIcCardNo(vcNum);
+            param.setMoneyRemain(moneyRemain);
+            param.setWaterPrice(waterPrice);
+            param.setMinutes(minutes);
+            param.setOrderNo(orderNo);
+
+            /**
+             * 鏋勯�犲懡浠ゃ�佸彂閫佸懡浠ゅ苟澶勭悊璇锋眰缁撴灉鍙婃墽琛岀粨鏋�
+             * 1 鍑嗗鍙傛暟
+             * 2 璋冪敤鍏叡鏂规硶
+             */
+            Param myParam = new Param();
+            myParam.setComId(comId);
+            myParam.setComType((byte)2);
+            myParam.setCommandCode(commandCode);
+            myParam.setCommandName(CodeV202404.getCodeName(commandCode));
+            myParam.setIntakeId(intakeId);
+            myParam.setRtuAddr(rtuAddr);
+            myParam.setProtocol(protocol);
+            myParam.setVcId(vcId);
+            myParam.setParam(param);
+            myParam.setRtuResultSendWebUrl(rtuCallbackUrl_wx);
+            myParam.setOperator(operator);
+            return dealWithCommandResult(myParam);
+        } else {
+            return BaseResponseUtils.buildErrorMsg("绯荤粺鏆備笉鏀寔璇ュ崗璁�");
+        }
+    }
+
+    /**
+     * 瀹氶噺鍏抽榾
+     * @param automaticClose
+     * @param bindingResult
+     * @return
+     */
+    @PostMapping(path = "quantify_close", consumes = MediaType.APPLICATION_JSON_VALUE)
+    @Transactional(rollbackFor = Exception.class)
+    @SsoAop()
+    public BaseResponse<Boolean> quantifyClose(@RequestBody @Valid AutomaticClose automaticClose, BindingResult bindingResult) {
+        if(bindingResult != null && bindingResult.hasErrors()){
+            return BaseResponseUtils.buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
+        }
+
+        Long intakeId = automaticClose.getIntakeId();
+        String rtuAddr = automaticClose.getRtuAddr();
+        String vcNum = automaticClose.getVcNum();
+        String orderNo = automaticClose.getOrderNo();
+        Integer waterAmount = automaticClose.getWaterAmount();
+        Long operator = automaticClose.getOperator();
+
+        Long vcId = Optional.ofNullable(seVirtualCardMapper.getVcIdByNum(vcNum)).orElse(0L);
+        Long comId = idLongGenerator.generate();
+
+        // 铏氭嫙鍗D鎹㈣櫄鎷熷崱瀵硅薄
+        VoVirtualCard vc = commandSv.getVcById(vcId);
+        if (vc == null) {
+            return BaseResponseUtils.buildErrorMsg(WechatResultCode.PLEASE_SELECT_A_VC.getMessage());
+        }
+        Double moneyRemain = vc.getMoney();
+
+        // 鑾峰彇姘翠环
+        Double waterPrice = commandSv.getPrice();
+
+        // 闃�鎺у櫒鍦板潃鎹㈠彇姘村彛ID鍜岄�氳鍗忚
+        JSONObject job_rtu = getRtu(null, rtuAddr);
+        if(job_rtu == null) {
+            return BaseResponseUtils.buildErrorMsg(WechatResultCode.RTU_NOT_EXIST.getMessage());
+        }
+        String protocol = job_rtu.getString("protocol");
+        String orgTag = job_rtu.getString("orgTag");
+        comSendUrl = env.getProperty(pro_mw + "." + orgTag + "." + key_mw);
+
+        String commandCode = null;
+        if(protocol.equals("p206V202404")) {
+            return BaseResponseUtils.buildSuccess();
+        } else if(protocol.equals("p206V1_0_1")) {
+            // 鑾峰彇鍔熻兘鐮�
+            commandCode = CodeV1_0_1.cd_A0;
+
+            // 鍒涘缓瑙嗗浘
+            ComA0Vo param = new ComA0Vo();
+            param.setIcCardNo(vcNum);
+            param.setMoneyRemain(moneyRemain);
+            param.setWaterPrice(waterPrice);
+            param.setWaterAmount(waterAmount);
+            param.setOrderNo(orderNo);
+
+            /**
+             * 鏋勯�犲懡浠ゃ�佸彂閫佸懡浠ゅ苟澶勭悊璇锋眰缁撴灉鍙婃墽琛岀粨鏋�
+             * 1 鍑嗗鍙傛暟
+             * 2 璋冪敤鍏叡鏂规硶
+             */
+            Param myParam = new Param();
+            myParam.setComId(comId);
+            myParam.setComType((byte)2);
+            myParam.setCommandCode(commandCode);
+            myParam.setCommandName(CodeV202404.getCodeName(commandCode));
+            myParam.setIntakeId(intakeId);
+            myParam.setRtuAddr(rtuAddr);
+            myParam.setProtocol(protocol);
+            myParam.setVcId(vcId);
+            myParam.setParam(param);
+            myParam.setRtuResultSendWebUrl(rtuCallbackUrl_wx);
+            myParam.setOperator(operator);
+            return dealWithCommandResult(myParam);
+        } else {
+            return BaseResponseUtils.buildErrorMsg("绯荤粺鏆備笉鏀寔璇ュ崗璁�");
+        }
+    }
+
+    /**
      * 鏍规嵁鎿嶄綔鍛業D鑾峰彇鏈叧闃�璁板綍
      *
      * @param operator
@@ -354,11 +510,6 @@
         Long operator = po.getOperator();
         String flowNo = RandomStringUtils.randomNumeric(12); // 鐢熸垚12浣嶉殢鏈烘暟
         Long comId = idLongGenerator.generate();
-
-        // 鑾峰彇绯荤粺鍙傛暟
-        if(!setuped) {
-            setUp();
-        }
 
         // 鍙栨按鍙D鎹㈤榾鎺у櫒鍦板潃鍙婇�氳鍗忚
         JSONObject job_rtu = getRtu(intakeId, null);
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/dto/AutomaticClose.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/dto/AutomaticClose.java
new file mode 100644
index 0000000..5989744
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/dto/AutomaticClose.java
@@ -0,0 +1,43 @@
+package com.dy.pipIrrWechat.command.dto;
+
+import jakarta.validation.constraints.NotBlank;
+import lombok.Data;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-07-23 10:55
+ * @LastEditTime 2024-07-23 10:55
+ * @Description
+ */
+@Data
+public class AutomaticClose extends DtoBase {
+    public static final long serialVersionUID = 202407231056001L;
+
+    /**
+     * 闃�鎺у櫒鍦板潃
+     */
+    @NotBlank(message = "闃�鎺у櫒鍦板潃涓嶈兘涓虹┖")
+    private String rtuAddr;
+
+    /**
+     * 铏氭嫙鍗$紪鍙�
+     */
+    @NotBlank(message = "铏氭嫙鍗$紪鍙蜂笉鑳戒负绌�")
+    private String vcNum;
+
+    /**
+     * 璁㈠崟鍙�
+     */
+    @NotBlank(message = "璁㈠崟鍙蜂笉鑳戒负绌�")
+    private String orderNo;
+
+    /**
+     * 鐢ㄦ按鏃堕暱锛屾嫢鏈夊畾鏃跺叧闃�
+     */
+    private Integer minutes;
+
+    /**
+     * 棰勭敤姘撮噺锛屾嫢鏈夊畾閲忓叧闃�
+     */
+    private Integer waterAmount;
+}

--
Gitblit v1.8.0