From a7485c9f9b16ece4f12f0b3f6d6a8c90370f5ae4 Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期三, 09 四月 2025 16:08:30 +0800
Subject: [PATCH] 灌溉计划详情信息增加取水口命令发布失败数量

---
 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/IrrigatePlanSv.java |  165 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 160 insertions(+), 5 deletions(-)

diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/IrrigatePlanSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/IrrigatePlanSv.java
index 06c4060..b29d8cc 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/IrrigatePlanSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/IrrigatePlanSv.java
@@ -1,19 +1,25 @@
 package com.dy.pipIrrWechat.irrigatePlan;
 
+import com.alibaba.fastjson2.JSON;
+import com.alibaba.fastjson2.JSONArray;
+import com.alibaba.fastjson2.JSONObject;
+import com.dy.common.webUtil.BaseResponseUtils;
 import com.dy.pipIrrGlobal.daoIr.*;
+import com.dy.pipIrrGlobal.daoRm.RmCommandHistoryMapper;
 import com.dy.pipIrrGlobal.pojoIr.IrIrrigatePlan;
 import com.dy.pipIrrGlobal.pojoIr.IrIrrigateSchedule;
 import com.dy.pipIrrGlobal.pojoIr.IrPlanOperate;
 import com.dy.pipIrrGlobal.pojoIr.IrPlanSchedule;
-import com.dy.pipIrrGlobal.voIr.VoIrrigateSchedule;
-import com.dy.pipIrrGlobal.voIr.VoPlanSimple;
-import com.dy.pipIrrGlobal.voIr.VoPlans;
+import com.dy.pipIrrGlobal.voIr.*;
+import com.dy.pipIrrGlobal.voRm.VoIntakeVc;
+import com.dy.pipIrrWechat.irrigatePlan.dto.PlanSimple;
+import com.dy.pipIrrWechat.irrigatePlan.enums.OperateTypeENUM;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.Date;
-import java.util.List;
+import java.util.*;
 
 /**
  * @author ZhuBaoMin
@@ -49,6 +55,12 @@
     @Autowired
     private IrGroupIntakeMapper irGroupIntakeMapper;
 
+    @Autowired
+    private IrIntakeOperateMapper irIntakeOperateMapper;
+
+    @Autowired
+    private RmCommandHistoryMapper rmdCommandHistoryMapper;
+
     /**
      * 娣诲姞鐏屾簤璁″垝
      * @param po
@@ -57,6 +69,109 @@
     public Long addIrrigatePlan(IrIrrigatePlan po) {
         irrigatePlanMapper.insert(po);
         return po.getId();
+    }
+
+    /**
+     * 鍒犻櫎鐏屾簤璁″垝
+     * @param planSimple
+     * @return
+     */
+    public Map deletePlan(PlanSimple planSimple) {
+        Long planId = planSimple.getPlanId();
+        Long operatorId = planSimple.getOperatorId();
+
+        Integer planState = irrigatePlanMapper.getPlanState(planId);
+        if(planState == null) {
+            Map map = new HashMap<>();
+            map.put("success", false);
+            map.put("msg", "鐏屾簤璁″垝涓嶅瓨鍦�");
+            map.put("content", null);
+            return map;
+        }
+        if(planState != 1) {
+            Map map = new HashMap<>();
+            map.put("success", false);
+            map.put("msg", "鐏屾簤璁″垝闈炶崏绋跨姸鎬侊紝涓嶅厑璁稿垹闄�");
+            map.put("content", null);
+            return map;
+        }
+
+        try {
+            irrigatePlanMapper.deleteByPrimaryKey(planId);
+            // 娣诲姞鐏屾簤璁″垝鎿嶄綔璁板綍
+            IrPlanOperate planOperate  = new IrPlanOperate();
+            planOperate.setPlanId(planId);
+            planOperate.setOperator(operatorId);
+            planOperate.setOperateType(OperateTypeENUM.DELETE.getCode());
+            planOperate.setOperateTime(new Date());
+            addPlanOperate(planOperate);
+
+            Map map = new HashMap<>();
+            map.put("success", true);
+            map.put("msg", "鐏屾簤椤圭洰鍒犻櫎鎴愬姛");
+            map.put("content", null);
+            return map;
+        } catch (Exception e) {
+            Map map = new HashMap<>();
+            map.put("success", false);
+            map.put("msg", "鐏屾簤椤圭洰鍒犻櫎澶辫触");
+            map.put("content", null);
+            return map;
+        }
+    }
+
+    /**
+     * 鏍规嵁璁″垝ID鑾峰彇寰呯粓姝㈣鍒掔殑缁撴潫鏃堕棿锛氭湭鍒犻櫎銆佹湭缁堟銆佸凡鍙戝竷銆佸綋鍓嶆椂闂村皬浜庤鍒掔粨鏉熸椂闂�
+     * @param planId
+     * @return
+     */
+    public Date getToTerminatePlan(Long planId) {
+        return irrigatePlanMapper.getToTerminatePlan(planId);
+    }
+
+    /**
+     * 鏍规嵁璁″垝ID鑾峰彇寰呯粓姝㈢殑鍙栨按鍙D锛堝凡鍙戝竷寮�鍙戝懡浠わ紝鏃犺鏄惁鎴愬姛锛�
+     * @param planId
+     * @return
+     */
+    public List<Long> getToTerminateIntakeIds(Long planId) {
+        return irIntakeOperateMapper.getToTerminateIntakeIds(planId);
+    }
+
+    /**
+     * 鏍规嵁璁″垝ID鑾峰彇寰呯粓姝㈢殑鍛戒护ID鍒楄〃
+     * @param planId
+     * @return
+     */
+    public List<Long> getTerminateCommandIds(Long planId) {
+        return irIntakeOperateMapper.getTerminateCommandIds(planId);
+    }
+
+    /**
+     * 鏍规嵁璁″垝ID鑾峰彇寰呯粓姝㈢殑鍙栨按鍙e垪琛紙寮�闃�鎴愬姛鐨勶級
+     * @param planId
+     * @return
+     */
+    public List<VoToTerminateIntakes> getToTerminateIntakes(Long planId) {
+        return irIntakeOperateMapper.getToTerminateIntakes(planId);
+    }
+
+    /**
+     * 鏍规嵁鍛戒护鏃ュ織ID鑾峰彇鍙栨按鍙e強铏氭嫙鍗′俊鎭紝缁堟鐏屾簤璁″垝鏃朵娇鐢紝鐢ㄦ潵鎵ц杩滅▼鍏抽榾
+     * @param commandId
+     * @return
+     */
+    public VoIntakeVc getValveOpen(Long commandId) {
+        return rmdCommandHistoryMapper.getValveOpen(commandId);
+    }
+
+    /**
+     * 淇敼鐏屾簤璁″垝
+     * @param po
+     * @return
+     */
+    public Integer updatePlan(IrIrrigatePlan po) {
+        return irrigatePlanMapper.updateByPrimaryKeySelective(po);
     }
 
     /**
@@ -121,6 +236,15 @@
     public Long addIrrigateSchedule(IrIrrigateSchedule po) {
         irIrrigateScheduleMapper.insert(po);
         return po.getId();
+    }
+
+    /**
+     * 鏍规嵁璁″垝ID缁堟鐏屾簤娆″簭锛屽皢鐏屾簤娆″簭鐨勫綋鍓嶇姸鎬佹敼涓哄凡缁堟
+     * @param planId
+     * @return
+     */
+    public Integer terminateSchedule(Long planId) {
+        return irIrrigateScheduleMapper.terminateSchedule(planId);
     }
 
     /**
@@ -199,4 +323,35 @@
     public Long getIntakeIdByUnitId(Long unitId) {
         return irIrrigateUnitMapper.getIntakeIdByUnitId(unitId);
     }
+
+    /**
+     * 鏍规嵁璁″垝ID鑾峰彇璁″垝鍙戝竷缁撴灉
+     * @param planId
+     * @return
+     */
+    public VoPlanDetails getPublishResults(Long planId) {
+        VoPlanDetails planDetails = irrigatePlanMapper.getPlanDetails(planId);
+        if(planDetails == null){
+            return null;
+        }
+
+        Integer failureCount = Optional.ofNullable(irIntakeOperateMapper.getFailureCount(planId)).orElse(0);
+        planDetails.setFailureCount(failureCount);
+
+        List<VoGroupResult> groupResults = irIrrigateGroupMapper.getGroupResult(planId);
+        if(groupResults == null || groupResults.size() == 0){
+            return null;
+        }
+
+        for (VoGroupResult groupResult : groupResults) {
+            List<VoIntakeResult> intakeResults = irIntakeOperateMapper.getIntakeResult(planId, groupResult.getGroupId());
+            if(intakeResults != null) {
+                groupResult.setPublishResult(intakeResults);
+            }
+        }
+
+        planDetails.setGroups(groupResults);
+        return planDetails;
+
+    }
 }

--
Gitblit v1.8.0