zhubaomin
2025-04-09 a7485c9f9b16ece4f12f0b3f6d6a8c90370f5ae4
灌溉计划详情信息增加取水口命令发布失败数量
5个文件已修改
57 ■■■■■ 已修改文件
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrIntakeOperateMapper.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoPlanDetails.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIntakeOperateMapper.xml 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigatePlanMapper.xml 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/IrrigatePlanSv.java 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrIntakeOperateMapper.java
@@ -66,4 +66,11 @@
     * @return
     */
    List<VoIntakeResult> getIntakeResult(@Param("planId") Long planId, @Param("groupId") Long groupId);
    /**
     * 根据计划ID获取取水口命令发布失败数量,灌溉计划详情页使用
     * @param planId
     * @return
     */
    Integer getFailureCount(Long planId);
}
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoPlanDetails.java
@@ -15,7 +15,7 @@
 */
@Data
@JsonPropertyOrder({"planName", "projectName", "state", "planStartTime", "planStopTime", "groups"})
@JsonPropertyOrder({"planName", "projectName", "state", "planStartTime", "planStopTime", "failureCount", "groups"})
public class VoPlanDetails {
    private static final long serialVersionUID = 202504091125001L;
@@ -47,7 +47,13 @@
    private Date planStopTime;
    /**
     * 命令发布失败数量
     */
    private Integer failureCount;
    /**
     * 轮灌组列表
     */
    private List<VoGroupResult> groups;
}
pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIntakeOperateMapper.xml
@@ -189,4 +189,12 @@
        inner JOIN ir_group_intake gi ON gi.intake_id = io.intake_id
    WHERE io.plan_id = #{planId} AND gi.group_id = #{groupId};
  </select>
  <!--根据计划ID获取取水口命令发布失败数量,灌溉计划详情页使用-->
  <select id="getFailureCount" resultType="java.lang.Integer">
    SELECT
      COUNT(1) AS failureCount
    FROM ir_intake_operate
    WHERE operate_type = 1 AND command_result != 1 AND plan_id = #{planId}
  </select>
</mapper>
pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigatePlanMapper.xml
@@ -347,7 +347,8 @@
            IF(NOW() &lt; plan.plan_stop_time, '3', '4'))) AS state,
      plan.plan_start_time AS planStartTime,
      plan.plan_stop_time AS planStopTime,
      NULL AS groupDetails
      NULL AS groupDetails,
      NULL AS failureCount
    FROM ir_irrigate_plan plan
        INNER JOIN ir_project pro ON pro.id = plan.project_id
    WHERE plan.id = #{planId}
pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/IrrigatePlanSv.java
@@ -19,10 +19,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
 * @author ZhuBaoMin
@@ -333,12 +330,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());
@@ -349,22 +352,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;
    }
}