From b375247a32664d3d1a37d735180f25ca8f5aedf7 Mon Sep 17 00:00:00 2001 From: zhubaomin <zhubaomin> Date: 星期一, 03 三月 2025 10:05:46 +0800 Subject: [PATCH] 灌溉模块功能升级 --- pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/IrrigatePlanCtrl.java | 86 ++++++++++++++++++++++++++++-------------- 1 files changed, 57 insertions(+), 29 deletions(-) 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 246fb29..e2ef8ec 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 @@ -2,25 +2,25 @@ import com.dy.common.webUtil.BaseResponse; import com.dy.common.webUtil.BaseResponseUtils; +import com.dy.common.webUtil.QueryResultVo; import com.dy.pipIrrGlobal.pojoIr.IrIrrigatePlan; import com.dy.pipIrrGlobal.pojoIr.IrIrrigateSchedule; import com.dy.pipIrrGlobal.pojoIr.IrOpeningSchedule; import com.dy.pipIrrGlobal.pojoIr.IrPlanOperate; +import com.dy.pipIrrGlobal.voIr.VoIrrigatePlan; import com.dy.pipIrrGlobal.voIr.VoIrrigateSchedule; import com.dy.pipIrrWechat.irrigatePlan.dto.IrrigatePlan; import com.dy.pipIrrWechat.irrigatePlan.dto.IrrigateSchedule; import com.dy.pipIrrWechat.irrigatePlan.dto.PlanSimple; import com.dy.pipIrrWechat.irrigatePlan.enums.OperateTypeENUM; +import com.dy.pipIrrWechat.irrigatePlan.qo.QoIrrigatePlan; import jakarta.validation.Valid; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.http.MediaType; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.BindingResult; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.util.Date; import java.util.List; @@ -62,9 +62,14 @@ IrIrrigatePlan plan = new IrIrrigatePlan(); plan.setProjectId(planAndSchedule.getProjectId()); plan.setPlanName(planAndSchedule.getPlanName()); - plan.setStartupMode(planAndSchedule.getStartupMode()); - plan.setPlanStartTime(planAndSchedule.getPlanStartTime()); - plan.setPlanStopTime(planAndSchedule.getPlanStopTime()); + Byte startupMode = planAndSchedule.getStartupMode(); + plan.setStartupMode(startupMode); + if(startupMode == 1){ + plan.setDuration(planAndSchedule.getDuration()); + }else if(startupMode == 2){ + plan.setPlanStartTime(planAndSchedule.getPlanStartTime()); + plan.setPlanStopTime(planAndSchedule.getPlanStopTime()); + } plan.setPlanState((byte)1); plan.setExecutingState((byte)1); plan.setDeleted(0L); @@ -79,29 +84,26 @@ for(IrrigateSchedule schedule : planAndSchedule.getSchedules()){ IrIrrigateSchedule po = new IrIrrigateSchedule(); po.setPlanId(planId); - - if(planAndSchedule.getIrrigateType() == 1) { - po.setGroupId(schedule.getIrrigateId()); - List<Long> intakesData = irrigatePlanSv.getIntakesByGroupId(schedule.getIrrigateId()); - if(intakesData != null && intakesData.size() > 0){ - String intakeIds = ""; - for(Long intakeId : intakesData){ - intakeIds += intakeId + ","; - } - po.setIntakeIds(intakeIds.substring(0, intakeIds.length() - 1)); - } - }else { - po.setUnitId(schedule.getIrrigateId()); - Long intakeId = irrigatePlanSv.getIntakeIdByUnitId(schedule.getIrrigateId()); - if(intakeId != null){ - po.setIntakeIds(intakeId.toString()); - } + po.setGroupId(schedule.getGroupId()); + if(startupMode == 1){ + po.setDuration(schedule.getDuration()); + }else if(startupMode == 2){ + po.setStartTime(schedule.getStartTime()); + po.setStopTime(schedule.getStopTime()); } - - po.setStartTime(schedule.getStartTime()); - po.setStopTime(schedule.getStopTime()); po.setCurrentState((byte)1); + List<Long> intakesData = irrigatePlanSv.getIntakesByGroupId(schedule.getGroupId()); + if(intakesData != null && intakesData.size() > 0){ + String intakeIds = ""; + for(Long intakeId : intakesData){ + intakeIds += intakeId + ","; + } + po.setIntakeIds(intakeIds.substring(0, intakeIds.length() - 1)); + } Long scheduleId = irrigatePlanSv.addIrrigateSchedule(po); + if(scheduleId == null) { + return BaseResponseUtils.buildErrorMsg("鍒涘缓鐏屾簤璁″垝澶辫触"); + } } } @@ -136,6 +138,10 @@ Long planId = planSimple.getPlanId(); Long operatorId = planSimple.getOperatorId(); + if(irrigatePlanSv.getPublishedCount(planId) > 0){ + return BaseResponseUtils.buildErrorMsg("璇ョ亴婧夎鍒掑凡鍙戝竷"); + } + // 淇敼鐏屾簤璁″垝鐘舵�佷负鍙戝竷鐘舵�� if(irrigatePlanSv.publishIrrigatePlan(planId) == 0){ return BaseResponseUtils.buildErrorMsg("淇敼鐏屾簤璁″垝鐘舵�佸け璐�"); @@ -151,11 +157,17 @@ return BaseResponseUtils.buildErrorMsg("娣诲姞鐏屾簤璁″垝鎿嶄綔璁板綍澶辫触"); } - // 鐢熸垚寮�闃�璁″垝 - List<VoIrrigateSchedule> schedules = irrigatePlanSv.getIrrigateSchedules(planId); + /** + * 鐢熸垚寮�闃�璁″垝 + * 璐ф湡璁″垝鍚姩妯″紡 + */ + // 鑾峰彇鐏屾簤璁″垝鍚姩妯″紡 + Byte startupMode = irrigatePlanSv.getStartupMode(planId); + List<VoIrrigateSchedule> schedules = irrigatePlanSv.getIrrigateSchedules(startupMode, planId); if(schedules == null || schedules.size() == 0) { return BaseResponseUtils.buildErrorMsg("鏃犲彇姘村彛锛岀敓鎴愬紑闃�璁″垝澶辫触"); } + for (VoIrrigateSchedule schedule : schedules) { for(String intakeId : schedule.getIntakeIds().split(",")){ // 娣诲姞鐏屾簤璁″垝寮�鍚褰� @@ -171,4 +183,20 @@ } return BaseResponseUtils.buildSuccess(); } + + /** + * 鑾峰彇鐏屾簤璁″垝鍒楄〃 + * @param vo + * @return + */ + @GetMapping(path = "/getIrrigatePlans") + public BaseResponse<QueryResultVo<List<VoIrrigatePlan>>> getIrrigatePlans(QoIrrigatePlan vo) { + try { + QueryResultVo<List<VoIrrigatePlan>> res = irrigatePlanSv.getIrrigatePlans(vo); + return BaseResponseUtils.buildSuccess(res); + } catch (Exception e) { + log.error("鑾峰彇杞亴缁勮褰曞紓甯�", e); + return BaseResponseUtils.buildException(e.getMessage()); + } + } } -- Gitblit v1.8.0