From 80e22bcc7af8aebed7443965655542fbe4966708 Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期三, 09 四月 2025 15:11:55 +0800
Subject: [PATCH] 灌溉计划删除,所有命令发布都失败依然允许终止

---
 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/IrrigatePlanCtrl.java |   80 ++++++++++++++++++++++++---------------
 1 files changed, 49 insertions(+), 31 deletions(-)

diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/IrrigatePlanCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/IrrigatePlanCtrl.java
index 1727a53..0fc14c5 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/IrrigatePlanCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/IrrigatePlanCtrl.java
@@ -31,6 +31,7 @@
 import java.time.format.DateTimeFormatter;
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
 import java.util.Objects;
 
 /**
@@ -162,6 +163,25 @@
     }
 
     /**
+     * 鍒犻櫎鐏屾簤璁″垝
+     * @param planSimple
+     * @param bindingResult
+     * @return
+     */
+    @PostMapping(path = "deletePlan")
+    public BaseResponse<Boolean> deletePlan(@RequestBody @Valid PlanSimple planSimple, BindingResult bindingResult) {
+        if(bindingResult != null && bindingResult.hasErrors()){
+            return BaseResponseUtils.buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
+        }
+
+        Map map_result = irrigatePlanSv.deletePlan(planSimple);
+        if(map_result.get("success").equals(false)) {
+            return BaseResponseUtils.buildErrorMsg(map_result.get("msg").toString());
+        }
+        return BaseResponseUtils.buildSuccess() ;
+    }
+
+    /**
      * 鍙戝竷鐏屾簤璁″垝
      * 1. 淇敼鐏屾簤璁″垝鐘舵�佷负鍙戝竷鐘舵��
      * 2. 娣诲姞鐏屾簤璁″垝鎿嶄綔璁板綍
@@ -289,39 +309,37 @@
         }
 
         List<VoToTerminateIntakes> toTerminateIntakes = irrigatePlanSv.getToTerminateIntakes(planId);
-        if(toTerminateIntakes == null || toTerminateIntakes.size() == 0){
-            return BaseResponseUtils.buildErrorMsg("璇ヨ鍒掍笉瀛樺湪鎴栧凡缁堟");
-        }
+        if(toTerminateIntakes != null && toTerminateIntakes.size() > 0){
+            for(VoToTerminateIntakes toTerminateIntake : toTerminateIntakes){
+                Long intakeId = toTerminateIntake.getIntakeId();
+                Long commandId = toTerminateIntake.getCommandId();
+                Date startTime = toTerminateIntake.getStartTime();
+                Date currentTime = new Date();
+                if(currentTime.before(startTime)){
+                    // 鍙栨秷锛堣鐩栧紑闃�璁″垝锛�
+                    AutomaticClose automaticClose = new AutomaticClose();
+                    automaticClose.setIntakeId(intakeId);
+                    automaticClose.setPlannedOpenTime(terminateStartTime);
+                    automaticClose.setMinutes(terminateDuration);
+                    automaticClose.setOperator(operatorId);
+                    automaticClose.setOpenType(Byte.valueOf("1"));
 
-        for(VoToTerminateIntakes toTerminateIntake : toTerminateIntakes){
-            Long intakeId = toTerminateIntake.getIntakeId();
-            Long commandId = toTerminateIntake.getCommandId();
-            Date startTime = toTerminateIntake.getStartTime();
-            Date currentTime = new Date();
-            if(currentTime.before(startTime)){
-                // 鍙栨秷锛堣鐩栧紑闃�璁″垝锛�
-                AutomaticClose automaticClose = new AutomaticClose();
-                automaticClose.setIntakeId(intakeId);
-                automaticClose.setPlannedOpenTime(terminateStartTime);
-                automaticClose.setMinutes(terminateDuration);
-                automaticClose.setOperator(operatorId);
-                automaticClose.setOpenType(Byte.valueOf("1"));
+                    commandSv.planedOpenTimedClose(automaticClose, planId, (byte)2, terminateStartTime, terminateDuration);
+                }else {
+                    // 缁堟锛堣繙绋嬪叧闃�锛�
+                    VoIntakeVc intakeVc = irrigatePlanSv.getValveOpen(commandId);
+                    String rtuAddr = intakeVc.getRtuAddr();
+                    String vcNum = intakeVc.getVcNum();
+                    String orderNo = intakeVc.getOrderNo();
 
-                commandSv.planedOpenTimedClose(automaticClose, planId, (byte)2, terminateStartTime, terminateDuration);
-            }else {
-                // 缁堟锛堣繙绋嬪叧闃�锛�
-                VoIntakeVc intakeVc = irrigatePlanSv.getValveOpen(commandId);
-                String rtuAddr = intakeVc.getRtuAddr();
-                String vcNum = intakeVc.getVcNum();
-                String orderNo = intakeVc.getOrderNo();
-
-                ValveClose valveClose = new ValveClose();
-                valveClose.setRtuAddr(rtuAddr);
-                valveClose.setVcNum(vcNum);
-                valveClose.setOrderNo(orderNo);
-                valveClose.setOperator(operatorId);
-                valveClose.setOpenType(Byte.valueOf("1"));
-                commandSv.closeWx(valveClose, planId, (byte)3);
+                    ValveClose valveClose = new ValveClose();
+                    valveClose.setRtuAddr(rtuAddr);
+                    valveClose.setVcNum(vcNum);
+                    valveClose.setOrderNo(orderNo);
+                    valveClose.setOperator(operatorId);
+                    valveClose.setOpenType(Byte.valueOf("1"));
+                    commandSv.closeWx(valveClose, planId, (byte)3);
+                }
             }
         }
 

--
Gitblit v1.8.0