From fe323b176c9adb2369496a1dbc41f1a128a85ae5 Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期四, 17 四月 2025 16:46:35 +0800
Subject: [PATCH] 被终止的计划计算轮灌组实际灌溉时长时,如果时长为0则改为1
---
pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/IrrigatePlanCtrl.java | 200 ++++++++++++++++++++++++++++++-------------------
1 files changed, 123 insertions(+), 77 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 ffd55e9..481f38d 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
@@ -199,87 +199,113 @@
return BaseResponseUtils.buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
}
- Long planId = planSimple.getPlanId();
- Long operatorId = planSimple.getOperatorId();
- Byte operateType = 1;
+ Map map_result = irrigatePlanSv.publishPlan(planSimple);
+ if(map_result.get("success").equals(false)) {
+ return BaseResponseUtils.buildErrorMsg(map_result.get("msg").toString());
+ }
+ return BaseResponseUtils.buildSuccess() ;
- /**
- * 鑾峰彇鐏屾簤璁″垝淇℃伅
- * 鏇存柊鐏屾簤璁″垝璧锋鏃堕棿鍙婅鍒掔姸鎬�
- */
- VoPlanSimple plan = irrigatePlanSv.getPlanSimple(planId);
- if(plan == null){
- return BaseResponseUtils.buildErrorMsg("鎮ㄨ鍙戝竷鐨勮鍒掍笉瀛樺湪锛屾垨璇ヨ鍒掑凡鍙戝竷");
+ //Long planId = planSimple.getPlanId();
+ //Long operatorId = planSimple.getOperatorId();
+ //Byte operateType = 1;
+ //
+ ///**
+ // * 鑾峰彇鐏屾簤璁″垝淇℃伅
+ // * 鏇存柊鐏屾簤璁″垝璧锋鏃堕棿鍙婅鍒掔姸鎬�
+ // */
+ //VoPlanSimple plan = irrigatePlanSv.getPlanSimple(planId);
+ //if(plan == null){
+ // return BaseResponseUtils.buildErrorMsg("鎮ㄨ鍙戝竷鐨勮鍒掍笉瀛樺湪锛屾垨璇ヨ鍒掑凡鍙戝竷");
+ //}
+ //
+ //Byte startupMode = plan.getStartupMode();
+ //Integer duration = plan.getDuration();
+ //Date planStartTime = plan.getPlanStartTime();
+ //Date planStopTime = null;
+ //
+ //if(startupMode == 1){
+ // planStartTime = new Date();
+ //}
+ //LocalDateTime startTime = planStartTime.toInstant().atZone(ZoneId.systemDefault()) .toLocalDateTime();
+ //if(startupMode == 1){
+ // // 娴嬭瘯闃舵寤跺悗2鍒嗛挓锛屾寮忓彂甯冧负5鍒嗛挓
+ // startTime = startTime.plusMinutes(2);
+ // //startTime = startTime.plusMinutes(5);
+ //}
+ //planStartTime = Date.from(startTime.atZone(ZoneId.systemDefault()).toInstant());
+ //LocalDateTime stopTime = startTime.plusMinutes(duration);
+ //planStopTime = Date.from(stopTime.atZone(ZoneId.systemDefault()).toInstant());
+ //
+ //
+ //if(irrigatePlanSv.updatePlanTimes(planStartTime, planStopTime, planId) == 0) {
+ // return BaseResponseUtils.buildErrorMsg("璁″垝淇℃伅鏇存柊澶辫触");
+ //}
+ //
+ //// 鏇存柊姣忎釜鐏屾簤娆″簭鐨勫紑濮嬫椂闂�
+ //List<VoIrrigateSchedule> schedules = irrigatePlanSv.getSchedulesByPlanId(planId);
+ //Date scheduleStartTime = null;
+ //Integer sort = 0;
+ //for(VoIrrigateSchedule schedule : schedules){
+ // if(scheduleStartTime == null) {
+ // scheduleStartTime = planStartTime;
+ // }
+ // irrigatePlanSv.updateScheduleStartTime(schedule.getScheduleId(), scheduleStartTime);
+ //
+ // // 璁$畻涓嬩竴缁勭殑寮�濮嬫椂闂�
+ // LocalDateTime LocalscheduleStartTime = scheduleStartTime.toInstant().atZone(ZoneId.systemDefault()) .toLocalDateTime();
+ // LocalscheduleStartTime = LocalscheduleStartTime.plusMinutes(schedule.getDuration());
+ // scheduleStartTime = Date.from(LocalscheduleStartTime.atZone(ZoneId.systemDefault()).toInstant());
+ //}
+ //
+ //// 娣诲姞鐏屾簤璁″垝鎿嶄綔璁板綍
+ //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("娣诲姞鐏屾簤璁″垝鎿嶄綔璁板綍澶辫触");
+ //}
+ //
+ //schedules = irrigatePlanSv.getSchedulesByPlanId(planId);
+ //for(VoIrrigateSchedule schedule : schedules) {
+ // Long groupId = schedule.getGroupId();
+ // List<Long> intakeIds = irrigatePlanSv.getIntakeIdsByGroupId(groupId);
+ // for(Long intakeId : intakeIds) {
+ // if(schedule.getDuration() > 0) {
+ // // 浠婂彂甯冪亴婧夋椂闀垮ぇ浜�0鐨�
+ // AutomaticClose automaticClose = new AutomaticClose();
+ // automaticClose.setIntakeId(intakeId);
+ // automaticClose.setPlannedOpenTime(schedule.getStartTime());
+ // automaticClose.setMinutes(schedule.getDuration());
+ // automaticClose.setOperator(operatorId);
+ // automaticClose.setOpenType(Byte.valueOf("1"));
+ //
+ // commandSv.planedOpenTimedClose(automaticClose, planId, operateType, schedule.getStartTime(), schedule.getDuration());
+ // }
+ // }
+ //}
+ //
+ //return BaseResponseUtils.buildSuccess();
+ }
+
+ /**
+ * 鏍规嵁璁″垝ID鑾峰彇璁″垝鏈�鏂扮姸鎬�
+ * @param planId
+ * @return
+ */
+ @GetMapping(path = "/getPlanLatestState")
+ public BaseResponse<Integer> getPlanLatestState(@RequestParam Long planId) {
+ if(planId == null) {
+ return BaseResponseUtils.buildErrorMsg("璁″垝ID涓嶈兘涓虹┖");
}
- Byte startupMode = plan.getStartupMode();
- Integer duration = plan.getDuration();
- Date planStartTime = plan.getPlanStartTime();
- Date planStopTime = null;
-
- if(startupMode == 1){
- planStartTime = new Date();
+ try {
+ return BaseResponseUtils.buildSuccess(irrigatePlanSv.getPlanLatestState(planId));
+ } catch (Exception e) {
+ log.error("鑾峰彇鏈畬鐨勮鍒掑紓甯�", e);
+ return BaseResponseUtils.buildException(e.getMessage());
}
- LocalDateTime startTime = planStartTime.toInstant().atZone(ZoneId.systemDefault()) .toLocalDateTime();
- if(startupMode == 1){
- // 娴嬭瘯闃舵寤跺悗2鍒嗛挓锛屾寮忓彂甯冧负5鍒嗛挓
- startTime = startTime.plusMinutes(2);
- //startTime = startTime.plusMinutes(5);
- }
- planStartTime = Date.from(startTime.atZone(ZoneId.systemDefault()).toInstant());
- LocalDateTime stopTime = startTime.plusMinutes(duration);
- planStopTime = Date.from(stopTime.atZone(ZoneId.systemDefault()).toInstant());
-
- if(irrigatePlanSv.updatePlanTimes(planStartTime, planStopTime, planId) == 0) {
- return BaseResponseUtils.buildErrorMsg("璁″垝淇℃伅鏇存柊澶辫触");
- }
-
- // 鏇存柊姣忎釜鐏屾簤娆″簭鐨勫紑濮嬫椂闂�
- List<VoIrrigateSchedule> schedules = irrigatePlanSv.getSchedulesByPlanId(planId);
- Date scheduleStartTime = null;
- Integer sort = 0;
- for(VoIrrigateSchedule schedule : schedules){
- if(scheduleStartTime == null) {
- scheduleStartTime = planStartTime;
- }
- irrigatePlanSv.updateScheduleStartTime(schedule.getScheduleId(), scheduleStartTime);
-
- // 璁$畻涓嬩竴缁勭殑寮�濮嬫椂闂�
- LocalDateTime LocalscheduleStartTime = scheduleStartTime.toInstant().atZone(ZoneId.systemDefault()) .toLocalDateTime();
- LocalscheduleStartTime = LocalscheduleStartTime.plusMinutes(schedule.getDuration());
- scheduleStartTime = Date.from(LocalscheduleStartTime.atZone(ZoneId.systemDefault()).toInstant());
- }
-
- // 娣诲姞鐏屾簤璁″垝鎿嶄綔璁板綍
- 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("娣诲姞鐏屾簤璁″垝鎿嶄綔璁板綍澶辫触");
- }
-
- schedules = irrigatePlanSv.getSchedulesByPlanId(planId);
- for(VoIrrigateSchedule schedule : schedules) {
- Long groupId = schedule.getGroupId();
- List<Long> intakeIds = irrigatePlanSv.getIntakeIdsByGroupId(groupId);
- for(Long intakeId : intakeIds) {
- if(schedule.getDuration() > 0) {
- // 浠婂彂甯冪亴婧夋椂闀垮ぇ浜�0鐨�
- AutomaticClose automaticClose = new AutomaticClose();
- automaticClose.setIntakeId(intakeId);
- automaticClose.setPlannedOpenTime(schedule.getStartTime());
- automaticClose.setMinutes(schedule.getDuration());
- automaticClose.setOperator(operatorId);
- automaticClose.setOpenType(Byte.valueOf("1"));
-
- commandSv.planedOpenTimedClose(automaticClose, planId, operateType, schedule.getStartTime(), schedule.getDuration());
- }
- }
- }
-
- return BaseResponseUtils.buildSuccess();
}
/**
@@ -418,4 +444,24 @@
return BaseResponseUtils.buildException(e.getMessage());
}
}
+
+ /**
+ * 鏍规嵁璁″垝ID鑾峰彇璁″垝缁堟鎿嶄綔缁撴灉
+ * @param planId
+ * @return
+ */
+ @GetMapping(path = "/getTerminateResults")
+ public BaseResponse<VoPlanDetails> getTerminateResults(@RequestParam Long planId) {
+ if(planId == null) {
+ return BaseResponseUtils.buildErrorMsg("璁″垝ID涓嶈兘涓虹┖");
+ }
+
+ try {
+ VoPlanDetails res = irrigatePlanSv.getTerminateResults(planId);
+ return BaseResponseUtils.buildSuccess(res);
+ } catch (Exception e) {
+ log.error("鑾峰彇璁″垝鍙戝竷缁撴灉寮傚父", e);
+ return BaseResponseUtils.buildException(e.getMessage());
+ }
+ }
}
--
Gitblit v1.8.0