From b181d08b9c8c4f3f4d8c475a60506ba4d93c8382 Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期三, 09 四月 2025 11:38:23 +0800
Subject: [PATCH] 灌溉计划详情页,包含计划信息、轮灌组信息、取水口命令发布员结果信息

---
 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/IrrigatePlanSv.java |  316 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 316 insertions(+), 0 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
new file mode 100644
index 0000000..0fdabce
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/IrrigatePlanSv.java
@@ -0,0 +1,316 @@
+package com.dy.pipIrrWechat.irrigatePlan;
+
+import com.alibaba.fastjson2.JSON;
+import com.alibaba.fastjson2.JSONArray;
+import com.alibaba.fastjson2.JSONObject;
+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.*;
+import com.dy.pipIrrGlobal.voRm.VoIntakeVc;
+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;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2025-02-20 15:27
+ * @LastEditTime 2025-02-20 15:27
+ * @Description
+ */
+
+@Slf4j
+@Service
+public class IrrigatePlanSv {
+    @Autowired
+    private IrIrrigatePlanMapper irrigatePlanMapper;
+
+    @Autowired
+    private IrPlanOperateMapper irPlanOperateMapper;
+
+    @Autowired
+    private IrIrrigateScheduleMapper irIrrigateScheduleMapper;
+
+    @Autowired
+    private IrOpeningScheduleMapper irOpeningScheduleMapper;
+
+    @Autowired
+    private IrIrrigateGroupMapper irIrrigateGroupMapper;
+
+    @Autowired
+    private IrIrrigateUnitMapper irIrrigateUnitMapper;
+
+    @Autowired
+    private IrPlanScheduleMapper irPlanScheduleMapper;
+
+    @Autowired
+    private IrGroupIntakeMapper irGroupIntakeMapper;
+
+    @Autowired
+    private IrIntakeOperateMapper irIntakeOperateMapper;
+
+    @Autowired
+    private RmCommandHistoryMapper rmdCommandHistoryMapper;
+
+    /**
+     * 娣诲姞鐏屾簤璁″垝
+     * @param po
+     * @return
+     */
+    public Long addIrrigatePlan(IrIrrigatePlan po) {
+        irrigatePlanMapper.insert(po);
+        return po.getId();
+    }
+
+    /**
+     * 鏍规嵁璁″垝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);
+    }
+
+    /**
+     * 鑾峰彇鏈畬鎴愮殑璁″垝鍒楄〃锛屽皬绋嬪簭璁″垝鍒楄〃椤典娇鐢�
+      * @return
+     */
+    public List<VoPlans> getNotCompletePlans() {
+        return irrigatePlanMapper.getNotCompletePlans();
+    }
+
+    /**
+     * 鑾峰彇宸插畬鎴愮殑璁″垝鍒楄〃锛屽皬绋嬪簭璁″垝鍒楄〃椤典娇鐢�
+     * @return
+     */
+    public List<VoPlans> getCompletedPlans() {
+        return irrigatePlanMapper.getCompletedPlans();
+    }
+
+    /**
+     * 鏍规嵁鎸囧畾鐨勮鍒扞D鑾峰彇鍚姩妯″紡
+     * @param planId
+     * @return
+     */
+    public Byte getStartupMode(Long planId) {
+        return irrigatePlanMapper.getStartupMode(planId);
+    }
+
+    /**
+     * 鏍规嵁鎸囧畾鐨勬潯浠惰幏鍙栬鍒掑垪琛�
+     * @param queryVo
+     * @return
+     */
+    //public QueryResultVo<List<VoIrrigatePlan>> getIrrigatePlans(QoIrrigatePlan queryVo) {
+    //    Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo);
+    //
+    //    Long itemTotal = irrigatePlanMapper.getIrrigatePlanCount(params);
+    //
+    //    QueryResultVo<List<VoIrrigatePlan>> rsVo = new QueryResultVo<>();
+    //    rsVo.pageSize = queryVo.pageSize;
+    //    rsVo.pageCurr = queryVo.pageCurr;
+    //
+    //    rsVo.calculateAndSet(itemTotal, params);
+    //    rsVo.obj = irrigatePlanMapper.getIrrigatePlans(params);
+    //    return rsVo;
+    //}
+
+    /**
+     * 娣诲姞鐏屾簤璁″垝鎿嶄綔璁板綍
+     * @param po
+     * @return
+     */
+    public Long addPlanOperate(IrPlanOperate po) {
+        irPlanOperateMapper.insert(po);
+        return po.getId();
+    }
+
+    /**
+     * 娣诲姞鐏屾簤娆″簭璁板綍
+     * @param po
+     * @return
+     */
+    public Long addIrrigateSchedule(IrIrrigateSchedule po) {
+        irIrrigateScheduleMapper.insert(po);
+        return po.getId();
+    }
+
+    /**
+     * 鏍规嵁璁″垝ID缁堟鐏屾簤娆″簭锛屽皢鐏屾簤娆″簭鐨勫綋鍓嶇姸鎬佹敼涓哄凡缁堟
+     * @param planId
+     * @return
+     */
+    public Integer terminateSchedule(Long planId) {
+        return irIrrigateScheduleMapper.terminateSchedule(planId);
+    }
+
+    /**
+     * 鏍规嵁璁″垝ID鑾峰彇鐏屾簤娆″簭璁板綍
+     * @param planId
+     * @return
+     */
+    public List<VoIrrigateSchedule> getSchedulesByPlanId(Long planId) {
+        return irIrrigateScheduleMapper.getSchedulesByPlanId(planId);
+    }
+
+    /**
+     * 鏍规嵁缁処D鑾峰彇鍙栨按鍙D闆嗗悎
+     * @param groupId
+     * @return
+     */
+    public List<Long> getIntakeIdsByGroupId(Long groupId) {
+        return irGroupIntakeMapper.getIntakeIdsByGroupId(groupId);
+    }
+
+    /**
+     * 娣诲姞璁″垝娆″簭鍏宠仈璁板綍
+     * @param po
+     * @return
+     */
+    public Long addPlanSchedule(IrPlanSchedule po) {
+        irPlanScheduleMapper.insert(po);
+        return po.getId();
+    }
+
+    /**
+     * 鏍规嵁璁″垝ID鑾峰彇璁″垝绠�鍗曚俊鎭垪琛�
+     * @param planId
+     * @return
+     */
+    public VoPlanSimple getPlanSimple(Long planId) {
+        return irrigatePlanMapper.getPlanSimple(planId);
+    }
+
+    /**
+     * 鏍规嵁璁″垝ID鏇存柊璁″垝淇℃伅锛堣捣姝㈡椂闂淬�佽鍒掔姸鎬侊級
+     * @param planStartTime
+     * @param planEndTime
+     * @param planId
+     * @return
+     */
+    public Integer updatePlanTimes(Date planStartTime, Date planEndTime, Long planId) {
+        return irrigatePlanMapper.updatePlanTimes(planStartTime, planEndTime, planId);
+    }
+
+    /**
+     * 鏍规嵁鐏屾簤娆″簭ID鏇存柊娆″簭寮�濮嬫椂闂�
+     * @param scheduleId
+     * @param startTime
+     * @return
+     */
+    public Integer updateScheduleStartTime(Long scheduleId, Date startTime) {
+        return irIrrigateScheduleMapper.updateScheduleStartTime(scheduleId, startTime);
+    }
+
+    ///**
+    // * 娣诲姞寮�闃�璁″垝
+    // * @param po
+    // * @return
+    // */
+    //public Long addOpeningSchedule(IrOpeningSchedule po) {
+    //    irOpeningScheduleMapper.insert(po);
+    //    return po.getId();
+    //}
+
+    /**
+     * 鏍规嵁鐏屾簤鍗曞厓ID鑾峰彇鍙栨按鍙D
+     * @param unitId
+     * @return
+     */
+    public Long getIntakeIdByUnitId(Long unitId) {
+        return irIrrigateUnitMapper.getIntakeIdByUnitId(unitId);
+    }
+
+    /**
+     * 鏍规嵁璁″垝ID鑾峰彇璁″垝鍙戝竷缁撴灉
+     * @param planId
+     * @return
+     */
+    public VoPlanDetails getPublishResults(Long planId) {
+        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());
+            if(intakeResults != null) {
+                groupResult.setPublishResult(intakeResults);
+            }
+        }
+
+        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