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() < 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; } }