From 5599ea07c557223e5a8f0acae755de852d2fe008 Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期三, 26 二月 2025 17:43:46 +0800 Subject: [PATCH] Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV --- pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/IrrigatePlanCtrl.java | 111 +++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 106 insertions(+), 5 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 ed15346..1e9be73 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,21 +2,27 @@ 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; import java.util.Objects; @@ -34,6 +40,15 @@ public class IrrigatePlanCtrl { private final IrrigatePlanSv irrigatePlanSv; + /** + * 鍒涘缓鐏屾簤璁″垝 + * 1. 娣诲姞鐏屾簤璁″垝 + * 2. 娣诲姞鐏屾簤娆″簭 + * 3. 娣诲姞鐏屾簤璁″垝鎿嶄綔璁板綍 + * @param planAndSchedule + * @param bindingResult + * @return + */ @PostMapping(path = "createPlan", consumes = MediaType.APPLICATION_JSON_VALUE) @Transactional(rollbackFor = Exception.class) public BaseResponse<Boolean> createPlan(@RequestBody @Valid IrrigatePlan planAndSchedule, BindingResult bindingResult){ @@ -41,6 +56,9 @@ return BaseResponseUtils.buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); } + Long operatorId = planAndSchedule.getOperatorId(); + + // 娣诲姞鐏屾簤璁″垝 IrIrrigatePlan plan = new IrIrrigatePlan(); plan.setProjectId(planAndSchedule.getProjectId()); plan.setPlanName(planAndSchedule.getPlanName()); @@ -52,6 +70,11 @@ plan.setDeleted(0L); Long planId = irrigatePlanSv.addIrrigatePlan(plan); + if(planId == null) { + return BaseResponseUtils.buildErrorMsg("鍒涘缓鐏屾簤璁″垝澶辫触"); + } + + // 娣诲姞鐏屾簤娆″簭 if(planId != null){ for(IrrigateSchedule schedule : planAndSchedule.getSchedules()){ IrIrrigateSchedule po = new IrIrrigateSchedule(); @@ -77,13 +100,91 @@ po.setStartTime(schedule.getStartTime()); po.setStopTime(schedule.getStopTime()); - //po.setIntakeIds(schedule.getIntakeIds()); po.setCurrentState((byte)1); Long scheduleId = irrigatePlanSv.addIrrigateSchedule(po); } } + // 娣诲姞鐏屾簤璁″垝鎿嶄綔璁板綍 + IrPlanOperate planOperate = new IrPlanOperate(); + planOperate.setPlanId(planId); + planOperate.setOperator(operatorId); + planOperate.setOperateType(OperateTypeENUM.CREATE.getCode()); + planOperate.setOperateTime(new Date()); + if(irrigatePlanSv.addPlanOperate(planOperate) == 0){ + return BaseResponseUtils.buildErrorMsg("娣诲姞鐏屾簤璁″垝鎿嶄綔璁板綍澶辫触"); + } return BaseResponseUtils.buildSuccess(); } + + /** + * 鍙戝竷鐏屾簤璁″垝 + * 1. 淇敼鐏屾簤璁″垝鐘舵�佷负鍙戝竷鐘舵�� + * 2. 娣诲姞鐏屾簤璁″垝鎿嶄綔璁板綍 + * 3. 鐢熸垚寮�闃�璁″垝 + * @param planSimple + * @param bindingResult + * @return + */ + @PostMapping(path = "publishPlan", consumes = MediaType.APPLICATION_JSON_VALUE) + @Transactional(rollbackFor = Exception.class) + public BaseResponse<Boolean> publishPlan(@RequestBody @Valid PlanSimple planSimple, BindingResult bindingResult){ + if(bindingResult != null && bindingResult.hasErrors()){ + return BaseResponseUtils.buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); + } + Long planId = planSimple.getPlanId(); + Long operatorId = planSimple.getOperatorId(); + + // 淇敼鐏屾簤璁″垝鐘舵�佷负鍙戝竷鐘舵�� + if(irrigatePlanSv.publishIrrigatePlan(planId) == 0){ + return BaseResponseUtils.buildErrorMsg("淇敼鐏屾簤璁″垝鐘舵�佸け璐�"); + } + + // 娣诲姞鐏屾簤璁″垝鎿嶄綔璁板綍 + IrPlanOperate planOperate = new IrPlanOperate(); + planOperate.setPlanId(planId); + planOperate.setOperator(operatorId); + planOperate.setOperateType(OperateTypeENUM.PUBLISH.getCode()); + planOperate.setOperateTime(new Date()); + if(irrigatePlanSv.addPlanOperate(planOperate) == 0){ + return BaseResponseUtils.buildErrorMsg("娣诲姞鐏屾簤璁″垝鎿嶄綔璁板綍澶辫触"); + } + + // 鐢熸垚寮�闃�璁″垝 + List<VoIrrigateSchedule> schedules = irrigatePlanSv.getIrrigateSchedules(planId); + if(schedules == null || schedules.size() == 0) { + return BaseResponseUtils.buildErrorMsg("鏃犲彇姘村彛锛岀敓鎴愬紑闃�璁″垝澶辫触"); + } + for (VoIrrigateSchedule schedule : schedules) { + for(String intakeId : schedule.getIntakeIds().split(",")){ + // 娣诲姞鐏屾簤璁″垝寮�鍚褰� + IrOpeningSchedule openingSchedule = new IrOpeningSchedule(); + openingSchedule.setScheduleId(schedule.getScheduleId()); + openingSchedule.setIntakeId(Long.parseLong(intakeId)); + openingSchedule.setStartTime(schedule.getStartTime()); + openingSchedule.setDuration(schedule.getDuration()); + if(irrigatePlanSv.addOpeningSchedule(openingSchedule) == 0){ + return BaseResponseUtils.buildErrorMsg("娣诲姞寮�闃�璁″垝澶辫触"); + } + } + } + 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