From 531c35275bc1700214ef26442380ad3a80d95838 Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期三, 07 五月 2025 11:27:43 +0800
Subject: [PATCH] 获取一个取水口接口返回值中增加阀控器ID
---
pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/IrrigatePlanCtrl.java | 189 +++++++++++++++++++++++++++--------------------
1 files changed, 108 insertions(+), 81 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 2b7b88c..f1cebfe 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
@@ -22,6 +22,7 @@
import jakarta.validation.Valid;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.MediaType;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.BindingResult;
@@ -61,7 +62,7 @@
* @return
*/
@PostMapping(path = "createPlan", consumes = MediaType.APPLICATION_JSON_VALUE)
- @Transactional(rollbackFor = Exception.class)
+ //@Transactional(rollbackFor = Exception.class)
public BaseResponse<Boolean> createPlan(@RequestBody @Valid IrrigatePlan planAndSchedule, BindingResult bindingResult){
if(bindingResult != null && bindingResult.hasErrors()){
return BaseResponseUtils.buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
@@ -193,93 +194,119 @@
* @return
*/
@PostMapping(path = "publishPlan", consumes = MediaType.APPLICATION_JSON_VALUE)
- @Transactional(rollbackFor = Exception.class)
+ //@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();
- 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();
}
/**
@@ -289,7 +316,7 @@
* @return
*/
@PostMapping(path = "terminatePlan", consumes = MediaType.APPLICATION_JSON_VALUE)
- @Transactional(rollbackFor = Exception.class)
+ //@Transactional(rollbackFor = Exception.class)
public BaseResponse<Boolean> terminatePlan(@RequestBody @Valid PlanSimple planSimple, BindingResult bindingResult){
if(bindingResult != null && bindingResult.hasErrors()){
return BaseResponseUtils.buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
@@ -302,7 +329,7 @@
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String terminateStartTimeStr = LocalDate.now().getYear() + "-01-01 00:00:00";
Date terminateStartTime = Date.from(LocalDateTime.parse(terminateStartTimeStr, formatter).atZone(ZoneId.systemDefault()).toInstant());
- Integer terminateDuration = 9999;
+ Integer terminateDuration = 0;
// 鍒ゆ柇璇ヨ鍒掓槸鍚﹀彲鎵ц缁堟鎿嶄綔锛氭湭鍒犻櫎銆佹湭缁堟銆佸凡鍙戝竷銆佸綋鍓嶆椂闂村皬浜庤鍒掔粨鏉熸椂闂�
Date planStartTime = irrigatePlanSv.getToTerminatePlan(planId);
--
Gitblit v1.8.0