From 9fd656ba2920feb9ab051b4ef12cdfc649b3136a Mon Sep 17 00:00:00 2001
From: Administrator <zhubaomin>
Date: 星期五, 26 七月 2024 14:16:21 +0800
Subject: [PATCH] 2024-07-26 朱宝民 监测控制模块及小程序模块下定时关阀接口和定量关阀接口

---
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/valve/ValveCtrl.java |   58 ++++++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 42 insertions(+), 16 deletions(-)

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 c0d871e..15eccae 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
@@ -326,33 +326,46 @@
         }
 
         Long intakeId = automaticClose.getIntakeId();
-        String rtuAddr = automaticClose.getRtuAddr();
-        String vcNum = automaticClose.getVcNum();
-        String orderNo = automaticClose.getOrderNo();
+        Long vcId = automaticClose.getVcId();
         Integer minutes = automaticClose.getMinutes();
         Long operator = automaticClose.getOperator();
-
-        Long vcId = Optional.ofNullable(seVirtualCardMapper.getVcIdByNum(vcNum)).orElse(0L);
         Long comId = idLongGenerator.generate();
+
+        /**
+         * 濡傛灉鍐滄埛閫夋嫨浜嗚櫄鎷熷崱锛屽垯浣跨敤璇ヨ櫄鎷熷崱
+         * 濡傛灉鍐滄埛鏈�夋嫨铏氭嫙鍗★紝鍒欐牴鎹彇姘村彛ID鑾峰彇涓庝箣缁戝畾鐨勮櫄鎷熷崱
+         * 濡傛灉鍙栨按鍙f病鏈変笌涔嬬粦瀹氱殑铏氭嫙鍗★紝鍒欐彁绀哄啘鎴烽�夋嫨涓�寮犺櫄鎷熷崱
+         */
+        if(vcId == null) {
+            vcId = commandSv.getVcIdByIntakeId(intakeId);
+            if(vcId == null) {
+                return BaseResponseUtils.buildErrorMsg(RemoteResultCode.PLEASE_SELECT_A_VC.getMessage());
+            }
+        }
 
         // 铏氭嫙鍗D鎹㈣櫄鎷熷崱瀵硅薄
         VoVirtualCard vc = commandSv.getVcById(vcId);
-        if (vc == null) {
+        if(vc == null) {
             return BaseResponseUtils.buildErrorMsg(RemoteResultCode.PLEASE_SELECT_A_VC.getMessage());
         }
+        String vcNum = vc.getVcNum().toString();
         Double moneyRemain = vc.getMoney();
 
         // 鑾峰彇姘翠环
         Double waterPrice = commandSv.getPrice();
 
-        // 闃�鎺у櫒鍦板潃鎹㈠彇姘村彛ID鍜岄�氳鍗忚
-        JSONObject job_rtu = getRtu(null, rtuAddr);
+        // 鍙栨按鍙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 orgTag = job_rtu.getString("orgTag");
         comSendUrl = env.getProperty(pro_mw + "." + orgTag + "." + key_mw);
+
+        // 鐢熸垚璁㈠崟鍙�
+        String orderNo = generateOrderNo();
 
         String commandCode = null;
         if(protocol.equals("p206V202404")) {
@@ -407,34 +420,47 @@
         }
 
         Long intakeId = automaticClose.getIntakeId();
-        String rtuAddr = automaticClose.getRtuAddr();
-        String vcNum = automaticClose.getVcNum();
-        String orderNo = automaticClose.getOrderNo();
+        Long vcId = automaticClose.getVcId();
         Integer waterAmount = automaticClose.getWaterAmount();
         Long operator = automaticClose.getOperator();
-
-        Long vcId = Optional.ofNullable(seVirtualCardMapper.getVcIdByNum(vcNum)).orElse(0L);
         Long comId = idLongGenerator.generate();
+
+        /**
+         * 濡傛灉鍐滄埛閫夋嫨浜嗚櫄鎷熷崱锛屽垯浣跨敤璇ヨ櫄鎷熷崱
+         * 濡傛灉鍐滄埛鏈�夋嫨铏氭嫙鍗★紝鍒欐牴鎹彇姘村彛ID鑾峰彇涓庝箣缁戝畾鐨勮櫄鎷熷崱
+         * 濡傛灉鍙栨按鍙f病鏈変笌涔嬬粦瀹氱殑铏氭嫙鍗★紝鍒欐彁绀哄啘鎴烽�夋嫨涓�寮犺櫄鎷熷崱
+         */
+        if(vcId == null) {
+            vcId = commandSv.getVcIdByIntakeId(intakeId);
+            if(vcId == null) {
+                return BaseResponseUtils.buildErrorMsg(RemoteResultCode.PLEASE_SELECT_A_VC.getMessage());
+            }
+        }
 
         // 铏氭嫙鍗D鎹㈣櫄鎷熷崱瀵硅薄
         VoVirtualCard vc = commandSv.getVcById(vcId);
-        if (vc == null) {
+        if(vc == null) {
             return BaseResponseUtils.buildErrorMsg(RemoteResultCode.PLEASE_SELECT_A_VC.getMessage());
         }
+        String vcNum = vc.getVcNum().toString();
         Double moneyRemain = vc.getMoney();
 
         // 鑾峰彇姘翠环
         Double waterPrice = commandSv.getPrice();
 
-        // 闃�鎺у櫒鍦板潃鎹㈠彇姘村彛ID鍜岄�氳鍗忚
-        JSONObject job_rtu = getRtu(null, rtuAddr);
+        // 鍙栨按鍙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 orgTag = job_rtu.getString("orgTag");
         comSendUrl = env.getProperty(pro_mw + "." + orgTag + "." + key_mw);
 
+        // 鐢熸垚璁㈠崟鍙�
+        String orderNo = generateOrderNo();
+
         String commandCode = null;
         if(protocol.equals("p206V202404")) {
             return BaseResponseUtils.buildSuccess();

--
Gitblit v1.8.0