From cd7fd2ea35de966cfd1c6f3038e593097d7a6dec Mon Sep 17 00:00:00 2001 From: zhubaomin <zhubaomin> Date: 星期四, 03 七月 2025 11:26:46 +0800 Subject: [PATCH] 轮灌组PC端接口 --- pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigatePlan/IrrigatePlanSv.java | 120 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 113 insertions(+), 7 deletions(-) diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigatePlan/IrrigatePlanSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigatePlan/IrrigatePlanSv.java index 9f05099..6e43aca 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigatePlan/IrrigatePlanSv.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigatePlan/IrrigatePlanSv.java @@ -7,6 +7,8 @@ import com.dy.common.mw.protocol.CommandType; import com.dy.common.webUtil.BaseResponse; 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; @@ -14,9 +16,7 @@ import com.dy.pipIrrGlobal.pojoIr.IrPlanOperate; import com.dy.pipIrrGlobal.pojoIr.IrPlanSchedule; import com.dy.pipIrrGlobal.rtuMw.CodeLocal; -import com.dy.pipIrrGlobal.voIr.VoIrrigateSchedule; -import com.dy.pipIrrGlobal.voIr.VoPlanSimple; -import com.dy.pipIrrGlobal.voIr.VoToTerminateIntakes; +import com.dy.pipIrrGlobal.voIr.*; import com.dy.pipIrrGlobal.voRm.VoIntakeVc; import com.dy.pipIrrIrrigate.command.CommandSv; import com.dy.pipIrrIrrigate.command.dto.AutomaticClose; @@ -26,6 +26,7 @@ import com.dy.pipIrrIrrigate.irrigatePlan.dto.PlanSimple; import com.dy.pipIrrIrrigate.irrigatePlan.enums.OperateTypeENUM; import lombok.extern.slf4j.Slf4j; +import org.apache.dubbo.common.utils.PojoUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.core.env.Environment; @@ -42,10 +43,7 @@ import java.time.LocalDateTime; import java.time.ZoneId; import java.time.format.DateTimeFormatter; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; /** * @author ZhuBaoMin @@ -80,6 +78,9 @@ @Autowired private RmCommandHistoryMapper rmdCommandHistoryMapper; + + @Autowired + private IrIrrigateGroupMapper irIrrigateGroupMapper; protected String comSendUrl; private String key_mw = "comSendUrl"; @@ -647,4 +648,109 @@ map.put("msg", "缁堟鐏屾簤璁″垝鎴愬姛"); return map; } + + /** + * 鑾峰彇鏈畬鎴愮殑璁″垝鍒楄〃锛岀亴婧夋ā鍧楄鍒掑垪琛ㄩ〉浣跨敤 + * + * @return + */ + public List<VoPlans> getNotCompletePlans() { + return irrigatePlanMapper.getNotCompletePlans(); + } + + /** + * 鑾峰彇宸插畬鎴愮殑璁″垝鍒楄〃锛岀亴婧夋ā鍧楄鍒掑垪琛ㄩ〉浣跨敤 + * + * @return + */ + 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; + } + + /** + * 鏍规嵁璁″垝ID鑾峰彇璁″垝鍙戝竷缁撴灉 + * + * @param planId + * @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); + + Date terminateTime = Optional.ofNullable(irPlanOperateMapper.getTerminateTime(planId)).orElse(null); + + List<VoGroupResult> groupResults = irIrrigateGroupMapper.getGroupResult(planId); + if (groupResults == null || groupResults.size() == 0) { + return null; + } + + for (VoGroupResult groupResult : groupResults) { + List<VoIntakeResult> intakeResults = irIntakeOperateMapper.getIntakeResult(planId, groupResult.getGroupId()); + if (intakeResults != null) { + groupResult.setPublishResult(intakeResults); + } + } + + planDetails.setGroups(groupResults); + return planDetails; + + } + + /** + * 鏍规嵁璁″垝ID鑾峰彇璁″垝缁堟鎿嶄綔缁撴灉 + * + * @param planId + * @return + */ + public VoPlanDetails getTerminateResults(Long planId) { + // 鑾峰彇璁″垝缁堟鏃堕棿 + Date terminateTime = Optional.ofNullable(irPlanOperateMapper.getTerminateTime(planId)).orElse(null); + + VoPlanDetails planDetails = irrigatePlanMapper.getPlanDetails_terminate(planId, terminateTime); + if (planDetails == null) { + return null; + } + Integer failureCount = Optional.ofNullable(irIntakeOperateMapper.getFailureCount(planId)).orElse(0); + planDetails.setFailureCount(failureCount); + + List<VoGroupResult> groupResults = irIrrigateGroupMapper.getGroupResult_terminate(planId, terminateTime); + if (groupResults == null || groupResults.size() == 0) { + return null; + } + + for (VoGroupResult groupResult : groupResults) { + List<VoIntakeResult> intakeResults = irIntakeOperateMapper.getIntakeResult(planId, groupResult.getGroupId()); + if (intakeResults != null) { + groupResult.setPublishResult(intakeResults); + } + } + + planDetails.setGroups(groupResults); + return planDetails; + + } + + /** + * 鏍规嵁璁″垝ID鑾峰彇璁″垝鏈�鏂扮姸鎬� + * + * @param planId + * @return + */ + public Integer getPlanLatestState(Long planId) { + return irrigatePlanMapper.getPlanLatestState(planId); + } } \ No newline at end of file -- Gitblit v1.8.0