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

---
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrIntakeOperateMapper.java                  |    9 +
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoGroupResult.java                           |   61 ++++++++++
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoIntakeResult.java                          |   34 +++++
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrIrrigatePlanMapper.java                   |    8 +
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrIrrigateGroupMapper.java                  |   12 +
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoPlanDetails.java                           |   45 +++++++
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigatePlanMapper.xml                                  |   14 ++
 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/IrrigatePlanCtrl.java |   85 ++++++++-----
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIntakeOperateMapper.xml                                 |   11 +
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigateGroupMapper.xml                                 |   16 ++
 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/IrrigatePlanSv.java   |   50 +++++++
 11 files changed, 303 insertions(+), 42 deletions(-)

diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrIntakeOperateMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrIntakeOperateMapper.java
index 105e954..d700110 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrIntakeOperateMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrIntakeOperateMapper.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.dy.pipIrrGlobal.pojoIr.IrIntakeOperate;
+import com.dy.pipIrrGlobal.voIr.VoIntakeResult;
 import com.dy.pipIrrGlobal.voIr.VoToTerminateIntakes;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
@@ -57,4 +58,12 @@
      * @return
      */
     List<VoToTerminateIntakes> getToTerminateIntakes(Long planId);
+
+    /**
+     * 鏍规嵁璁″垝ID鍙婄杞粍ID鑾峰彇鍙栨按鍙e彂甯冨彂甯冪粨鏋�
+     * @param planId
+     * @param groupId
+     * @return
+     */
+    List<VoIntakeResult> getIntakeResult(@Param("planId") Long planId, @Param("groupId") Long groupId);
 }
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrIrrigateGroupMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrIrrigateGroupMapper.java
index 9ee8d84..829e58a 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrIrrigateGroupMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrIrrigateGroupMapper.java
@@ -2,10 +2,7 @@
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.dy.pipIrrGlobal.pojoIr.IrIrrigateGroup;
-import com.dy.pipIrrGlobal.voIr.VoGroup;
-import com.dy.pipIrrGlobal.voIr.VoGroupDetail;
-import com.dy.pipIrrGlobal.voIr.VoGroupOne;
-import com.dy.pipIrrGlobal.voIr.VoGroupSimple;
+import com.dy.pipIrrGlobal.voIr.*;
 import org.apache.ibatis.annotations.Mapper;
 
 import java.util.List;
@@ -73,4 +70,11 @@
      * @return
      */
     VoGroupDetail getGroupDetail(Long groupId);
+
+    /**
+     * 鏍规嵁鐏屾簤璁″垝ID鑾峰彇璁″垝鍙戝竷缁撴灉
+     * @param planId
+     * @return
+     */
+    List<VoGroupResult> getGroupResult(Long planId);
 }
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrIrrigatePlanMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrIrrigatePlanMapper.java
index b9afdc0..2168dfe 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrIrrigatePlanMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrIrrigatePlanMapper.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.dy.pipIrrGlobal.pojoIr.IrIrrigatePlan;
+import com.dy.pipIrrGlobal.voIr.VoPlanDetails;
 import com.dy.pipIrrGlobal.voIr.VoPlanSimple;
 import com.dy.pipIrrGlobal.voIr.VoPlans;
 import org.apache.ibatis.annotations.Mapper;
@@ -85,4 +86,11 @@
      * @return
      */
     Date getToTerminatePlan(@Param("planId") Long planId);
+
+    /**
+     * 鏍规嵁璁″垝ID鑾峰彇璁″垝璇︽儏锛屽寘鎷鍒掑悕绉帮紝椤圭洰鍚嶏紝璁″垝寮�濮嬫椂闂达紝璁″垝缁撴潫鏃堕棿锛岃鍒掕鎯呴〉浣跨敤
+     * @param planId
+     * @return
+     */
+    VoPlanDetails getPlanDetails(@Param("planId") Long planId);
 }
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoGroupResult.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoGroupResult.java
new file mode 100644
index 0000000..1753094
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoGroupResult.java
@@ -0,0 +1,61 @@
+package com.dy.pipIrrGlobal.voIr;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2025-04-09 9:00
+ * @LastEditTime 2025-04-09 9:00
+ * @Description 鐏屾簤璁″垝鍙戝竷缁撴灉锛堣疆鐏岀粍锛夎鍥惧璞★紝VoIntakeResult鐨勭埗鍒楄〃
+ */
+
+@Data
+@JsonPropertyOrder({"groupId", "groupCode", "state", "startTime", "stopTime", "duration", "publishResult"})
+public class VoGroupResult {
+    private static final long serialVersionUID = 202504090902001L;
+
+    /**
+     * 鐏屾簤缁刬d
+     */
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long groupId;
+
+    /**
+     * 鐏屾簤缁勭紪鐮�
+     */
+    private String groupCode;
+
+    /**
+     * 杞亴缁勭姸鎬侊細2-鏈墽琛岋紝3-鎵ц涓紝4-宸茬粨鏉�
+     */
+    private Integer state;
+
+    /**
+     * 杞亴缁勫紑濮嬬亴婧夋椂闂�
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
+    private Date startTime;
+
+    /**
+     * 杞亴缁勭粨鏉熺亴婧夋椂闂�
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
+    private Date stopTime;
+
+    /**
+     * 杞亴缁勬寔缁椂闂�
+     */
+    private Integer duration;
+
+    /**
+     * 鐏屾簤缁勫彂甯冪粨鏋滐紝鍖呭惈鍙栨按鍙e彂甯冪粨鏋�
+     */
+    private List<VoIntakeResult> publishResult;
+}
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoIntakeResult.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoIntakeResult.java
new file mode 100644
index 0000000..19d4c09
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoIntakeResult.java
@@ -0,0 +1,34 @@
+package com.dy.pipIrrGlobal.voIr;
+
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import lombok.Data;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2025-04-09 8:55
+ * @LastEditTime 2025-04-09 8:55
+ * @Description 鐏屾簤璁″垝鍙戝竷缁撴灉锛堝彇姘村彛锛夎鍥惧璞★紝鐢ㄤ簬鐏屾簤璁″垝鍙戝竷缁撴灉锛圴oGroupResult锛夊瓙鍒楄〃
+ */
+
+@Data
+@JsonPropertyOrder({"code", "intakeName", "result"})
+public class VoIntakeResult {
+    private static final long serialVersionUID = 202504090857001L;
+
+    /**
+     * 鍙戝竷缁撴灉鏍囪瘑
+     */
+    private Integer code;
+
+    /**
+     * 鍙栨按鍙e悕绉�
+     */
+    private String intakeName;
+
+    /**
+     * 鍙戝竷缁撴灉
+     */
+    private String result;
+}
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoPlanDetails.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoPlanDetails.java
new file mode 100644
index 0000000..0a5b7d1
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoPlanDetails.java
@@ -0,0 +1,45 @@
+package com.dy.pipIrrGlobal.voIr;
+
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2025-04-09 11:22
+ * @LastEditTime 2025-04-09 11:22
+ * @Description 鐏屾簤璁″垝璇︽儏锛屾嫢鏈夌亴婧夎鍒掕鎯呴〉
+ */
+
+@Data
+@JsonPropertyOrder({"planName", "projectName", "planStartTime", "planStopTime", "groups"})
+public class VoPlanDetails {
+    private static final long serialVersionUID = 202504091125001L;
+
+    /**
+     * 鐏屾簤璁″垝鍚嶇О
+     */
+    private String planName;
+
+    /**
+     * 椤圭洰鍚嶇О
+     */
+    private String projectName;
+
+    /**
+     * 鐏屾簤璁″垝寮�濮嬫椂闂�
+     */
+    private Date planStartTime;
+
+    /**
+     * 鐏屾簤璁″垝缁撴潫鏃堕棿
+     */
+    private Date planStopTime;
+
+    /**
+     * 杞亴缁勫垪琛�
+     */
+    private List<VoGroupResult> groups;
+}
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIntakeOperateMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIntakeOperateMapper.xml
index 905c155..44de0f1 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIntakeOperateMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIntakeOperateMapper.xml
@@ -178,4 +178,15 @@
     FROM ir_intake_operate
     WHERE operate_type = 1 AND command_result = 1 AND plan_id = #{planId}
   </select>
+
+  <!--鏍规嵁璁″垝ID鍙婄杞粍ID鑾峰彇鍙栨按鍙e彂甯冨彂甯冪粨鏋�-->
+  <select id="getIntakeResult" resultType="com.dy.pipIrrGlobal.voIr.VoIntakeResult">
+    SELECT
+        IF(io.command_result = 1, 0, 1) AS code,
+        (SELECT name FROM pr_intake WHERE id = io.intake_id) AS intakeName,
+        io.failure_factors AS result
+    FROM ir_intake_operate io
+        inner JOIN ir_group_intake gi ON gi.intake_id = io.intake_id
+    WHERE io.plan_id = #{planId} AND gi.group_id = #{groupId};
+  </select>
 </mapper>
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigateGroupMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigateGroupMapper.xml
index 1eb144e..ddf5206 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigateGroupMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigateGroupMapper.xml
@@ -304,4 +304,20 @@
       ) irrigateGroup
     GROUP BY groupCode,defaultDuration
   </select>
+
+  <select id="getGroupResult" resultType="com.dy.pipIrrGlobal.voIr.VoGroupResult">
+    SELECT
+        grp.id AS groupId,
+        grp.group_code AS groupCode,
+        IF(NOW() &lt; sche.start_time, 2,
+        IF(NOW() > sche.start_time AND NOW() &lt; DATE_ADD(sche.start_time, INTERVAL sche.duration MINUTE), 3, 4)) AS state,
+        sche.start_time AS startTime,
+        DATE_ADD(sche.start_time, INTERVAL sche.duration MINUTE) AS stopTime,
+        sche.duration,
+        NULL AS publishResult
+    FROM ir_irrigate_group  grp
+        INNER JOIN ir_irrigate_schedule sche ON sche.group_id = grp.id
+        INNER JOIN ir_plan_schedule ps ON ps.schedule_id = sche.id
+    WHERE ps.plan_id = #{planId};
+  </select>
 </mapper>
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigatePlanMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigatePlanMapper.xml
index 497b2be..287b5aa 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigatePlanMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigatePlanMapper.xml
@@ -337,4 +337,18 @@
 
   </select>
 
+  <!--鏍规嵁璁″垝ID鑾峰彇璁″垝璇︽儏锛屽寘鎷鍒掑悕绉帮紝椤圭洰鍚嶏紝璁″垝寮�濮嬫椂闂达紝璁″垝缁撴潫鏃堕棿锛岃鍒掕鎯呴〉浣跨敤-->
+  <select id="getPlanDetails" resultType="com.dy.pipIrrGlobal.voIr.VoPlanDetails">
+    SELECT
+      plan.plan_name AS planName,
+      pro.project_name AS projectName,
+      plan.plan_start_time AS planStartTime,
+      plan.plan_stop_time AS planStopTime,
+      NULL AS groupDetails
+    FROM ir_irrigate_plan plan
+        INNER JOIN ir_project pro ON pro.id = plan.project_id
+    WHERE plan.id = #{planId}
+    AND plan.deleted = 0
+  </select>
+
 </mapper>
\ No newline at end of file
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 2108113..1727a53 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
@@ -7,10 +7,7 @@
 import com.dy.pipIrrGlobal.pojoIr.IrPlanOperate;
 import com.dy.pipIrrGlobal.pojoIr.IrPlanSchedule;
 import com.dy.pipIrrGlobal.pojoRm.RmCommandHistory;
-import com.dy.pipIrrGlobal.voIr.VoIrrigateSchedule;
-import com.dy.pipIrrGlobal.voIr.VoPlanSimple;
-import com.dy.pipIrrGlobal.voIr.VoPlans;
-import com.dy.pipIrrGlobal.voIr.VoToTerminateIntakes;
+import com.dy.pipIrrGlobal.voIr.*;
 import com.dy.pipIrrGlobal.voRm.VoIntakeVc;
 import com.dy.pipIrrWechat.command.CommandSv;
 import com.dy.pipIrrWechat.command.dto.AutomaticClose;
@@ -162,36 +159,6 @@
         }
 
         return BaseResponseUtils.buildSuccess();
-    }
-
-    /**
-     * 鑾峰彇鏈畬鎴愮殑璁″垝鍒楄〃锛屽皬绋嬪簭璁″垝鍒楄〃椤典娇鐢�
-     * @return
-     */
-    @GetMapping(path = "/getNotCompletePlans")
-    public BaseResponse<List<VoPlans>> getNotCompletePlans() {
-        try {
-            List<VoPlans> res = irrigatePlanSv.getNotCompletePlans();
-            return BaseResponseUtils.buildSuccess(res);
-        } catch (Exception e) {
-            log.error("鑾峰彇鏈畬鐨勮鍒掑紓甯�", e);
-            return BaseResponseUtils.buildException(e.getMessage());
-        }
-    }
-
-    /**
-     * 鑾峰彇宸插畬鎴愮殑璁″垝鍒楄〃锛屽皬绋嬪簭璁″垝鍒楄〃椤典娇鐢�
-     * @return
-     */
-    @GetMapping(path = "/getCompletedPlans")
-    public BaseResponse<List<VoPlans>> getCompletedPlans() {
-        try {
-            List<VoPlans> res = irrigatePlanSv.getCompletedPlans();
-            return BaseResponseUtils.buildSuccess(res);
-        } catch (Exception e) {
-            log.error("鑾峰彇椤圭洰璁板綍寮傚父", e);
-            return BaseResponseUtils.buildException(e.getMessage());
-        }
     }
 
     /**
@@ -382,4 +349,54 @@
         }
         return BaseResponseUtils.buildSuccess();
     }
+
+    /**
+     * 鑾峰彇鏈畬鎴愮殑璁″垝鍒楄〃锛屽皬绋嬪簭璁″垝鍒楄〃椤典娇鐢�
+     * @return
+     */
+    @GetMapping(path = "/getNotCompletePlans")
+    public BaseResponse<List<VoPlans>> getNotCompletePlans() {
+        try {
+            List<VoPlans> res = irrigatePlanSv.getNotCompletePlans();
+            return BaseResponseUtils.buildSuccess(res);
+        } catch (Exception e) {
+            log.error("鑾峰彇鏈畬鐨勮鍒掑紓甯�", e);
+            return BaseResponseUtils.buildException(e.getMessage());
+        }
+    }
+
+    /**
+     * 鑾峰彇宸插畬鎴愮殑璁″垝鍒楄〃锛屽皬绋嬪簭璁″垝鍒楄〃椤典娇鐢�
+     * @return
+     */
+    @GetMapping(path = "/getCompletedPlans")
+    public BaseResponse<List<VoPlans>> getCompletedPlans() {
+        try {
+            List<VoPlans> res = irrigatePlanSv.getCompletedPlans();
+            return BaseResponseUtils.buildSuccess(res);
+        } catch (Exception e) {
+            log.error("鑾峰彇椤圭洰璁板綍寮傚父", e);
+            return BaseResponseUtils.buildException(e.getMessage());
+        }
+    }
+
+    /**
+     * 鏍规嵁璁″垝ID鑾峰彇璁″垝鍙戝竷缁撴灉
+     * @param planId
+     * @return
+     */
+    @GetMapping(path = "/getPublishResults")
+    public BaseResponse<VoPlanDetails> getPublishResults(@RequestParam Long planId) {
+        if(planId == null) {
+            return BaseResponseUtils.buildErrorMsg("璁″垝ID涓嶈兘涓虹┖");
+        }
+
+        try {
+            VoPlanDetails res = irrigatePlanSv.getPublishResults(planId);
+            return BaseResponseUtils.buildSuccess(res);
+        } catch (Exception e) {
+            log.error("鑾峰彇璁″垝鍙戝竷缁撴灉寮傚父", e);
+            return BaseResponseUtils.buildException(e.getMessage());
+        }
+    }
 }
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 6761b72..0fdabce 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,17 +1,18 @@
 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.VoIrrigateSchedule;
-import com.dy.pipIrrGlobal.voIr.VoPlanSimple;
-import com.dy.pipIrrGlobal.voIr.VoPlans;
-import com.dy.pipIrrGlobal.voIr.VoToTerminateIntakes;
+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;
 
@@ -271,4 +272,45 @@
     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