From 9f3c4a33279f10ed420d604765487558ab0744f0 Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期五, 11 四月 2025 11:42:21 +0800
Subject: [PATCH] 获取已完成灌溉计划接口增加分页功能

---
 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/IrrigatePlanSv.java |   99 ++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 77 insertions(+), 22 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 0fdabce..abb4064 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
@@ -3,6 +3,9 @@
 import com.alibaba.fastjson2.JSON;
 import com.alibaba.fastjson2.JSONArray;
 import com.alibaba.fastjson2.JSONObject;
+import com.dy.common.webUtil.BaseResponseUtils;
+import com.dy.common.webUtil.QueryConditionVo;
+import com.dy.common.webUtil.QueryResultVo;
 import com.dy.pipIrrGlobal.daoIr.*;
 import com.dy.pipIrrGlobal.daoRm.RmCommandHistoryMapper;
 import com.dy.pipIrrGlobal.pojoIr.IrIrrigatePlan;
@@ -11,13 +14,16 @@
 import com.dy.pipIrrGlobal.pojoIr.IrPlanSchedule;
 import com.dy.pipIrrGlobal.voIr.*;
 import com.dy.pipIrrGlobal.voRm.VoIntakeVc;
+import com.dy.pipIrrGlobal.voSe.VoClient;
+import com.dy.pipIrrWechat.irrigatePlan.dto.PlanSimple;
+import com.dy.pipIrrWechat.irrigatePlan.enums.OperateTypeENUM;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.dubbo.common.utils.PojoUtils;
 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
@@ -67,6 +73,55 @@
     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;
+        }
     }
 
     /**
@@ -135,8 +190,18 @@
      * 鑾峰彇宸插畬鎴愮殑璁″垝鍒楄〃锛屽皬绋嬪簭璁″垝鍒楄〃椤典娇鐢�
      * @return
      */
-    public List<VoPlans> getCompletedPlans() {
-        return irrigatePlanMapper.getCompletedPlans();
+    public QueryResultVo<List<VoPlans>> getCompletedPlans(QueryConditionVo queryVo) {
+        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo) ;
+
+        Long itemTotal = (long)irrigatePlanMapper.getCompletedPlansCount(params);
+        QueryResultVo<List<VoPlans>> rsVo = new QueryResultVo<>() ;
+        rsVo.pageSize = queryVo.pageSize ;
+        rsVo.pageCurr = queryVo.pageCurr ;
+
+        rsVo.calculateAndSet(itemTotal, params);
+        rsVo.obj = irrigatePlanMapper.getCompletedPlans(params);
+
+        return rsVo ;
     }
 
     /**
@@ -279,12 +344,18 @@
      * @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;
         }
-
-        VoPlanDetails planDetails = irrigatePlanMapper.getPlanDetails(planId);
 
         for (VoGroupResult groupResult : groupResults) {
             List<VoIntakeResult> intakeResults = irIntakeOperateMapper.getIntakeResult(planId, groupResult.getGroupId());
@@ -295,22 +366,6 @@
 
         planDetails.setGroups(groupResults);
         return planDetails;
-
-
-        //JSONArray array_groupResult = (JSONArray) JSON.toJSON(groupResults);
-        //for(int i = 0; i < array_groupResult.size(); i++){
-        //    JSONObject job_groupResult = array_groupResult.getJSONObject(i);
-        //    Long groupId = job_groupResult.getLong("groupId");
-        //
-        //    List<VoIntakeResult> intakeResults = irIntakeOperateMapper.getIntakeResult(planId, groupId);
-        //    if(intakeResults != null) {
-        //        JSONArray array_intakeResult = (JSONArray) JSON.toJSON(intakeResults);
-        //        job_groupResult.put("publishResult", array_intakeResult);
-        //    }
-        //}
-        //
-        //List<VoGroupResult> publishResults = array_groupResult.toJavaList(VoGroupResult.class);
-        //return publishResults;
 
     }
 }

--
Gitblit v1.8.0