From d0b51c6d6f2b7a530c0557b6279cc6dfced223cf Mon Sep 17 00:00:00 2001
From: zhubaomin <470473919@qq.com>
Date: 星期日, 27 四月 2025 19:01:04 +0800
Subject: [PATCH] 各轮灌组开阀时间提前10分钟,第一组除外,改为配置文件设置

---
 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/IrrigatePlanSv.java |   37 +++++++++++++++++++++++++++++++++----
 1 files changed, 33 insertions(+), 4 deletions(-)

diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/IrrigatePlanSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/IrrigatePlanSv.java
index 1b3d0f2..79c42dc 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/IrrigatePlanSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/IrrigatePlanSv.java
@@ -18,7 +18,9 @@
 import org.apache.dubbo.common.utils.PojoUtils;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.time.LocalDateTime;
 import java.time.ZoneId;
@@ -67,11 +69,20 @@
     @Autowired
     private CommandSv commandSv;
 
+    @Value("${webchat.irr.plan.delay}")
+    private Integer irrPlanDelay ;//杞亴涓鍒掑紑闃�鐨勫欢杩熸椂闀�
+
+    private static final Integer irrPlanDelayDefault = 5 ;//杞亴涓鍒掑紑闃�鐨勯粯璁ゅ欢杩熸椂闀�
+
+    @Value("${rotation.preOpeningTime}")
+    private Long preOpeningTime;
+
     /**
      * 娣诲姞鐏屾簤璁″垝
      * @param po
      * @return
      */
+    @Transactional(rollbackFor = Exception.class)
     public Long addIrrigatePlan(IrIrrigatePlan po) {
         irrigatePlanMapper.insert(po);
         return po.getId();
@@ -82,6 +93,7 @@
      * @param planSimple
      * @return
      */
+    @Transactional(rollbackFor = Exception.class)
     public Map deletePlan(PlanSimple planSimple) {
         Long planId = planSimple.getPlanId();
         Long operatorId = planSimple.getOperatorId();
@@ -176,15 +188,19 @@
         LocalDateTime startTime = planStartTime.toInstant().atZone(ZoneId.systemDefault()) .toLocalDateTime();
         if(startupMode == 1){
             // 娴嬭瘯闃舵寤跺悗2鍒嗛挓锛屾寮忓彂甯冧负5鍒嗛挓
-            startTime = startTime.plusMinutes(2);
+            //startTime = startTime.plusMinutes(2);
             //startTime = startTime.plusMinutes(5);
+            if(irrPlanDelay == null || irrPlanDelay <= 0) {
+                irrPlanDelay = irrPlanDelayDefault ;
+            }
+            startTime = startTime.plusMinutes(irrPlanDelay);
         }
         planStartTime = Date.from(startTime.atZone(ZoneId.systemDefault()).toInstant());
         LocalDateTime stopTime = startTime.plusMinutes(duration);
         planStopTime = Date.from(stopTime.atZone(ZoneId.systemDefault()).toInstant());
 
         // 鏍规嵁璁″垝ID鏇存柊璁″垝淇℃伅锛堣捣姝㈡椂闂淬�佽鍒掔姸鎬侊級
-        if(irrigatePlanMapper.updatePlanTimes(planStartTime, planStopTime, planId) == 0) {
+        if(this.updatePlanTimes(planStartTime, planStopTime, planId) == 0) {
             Map map = new HashMap<>();
             map.put("success", false);
             map.put("msg", "璁″垝淇℃伅鏇存柊澶辫触");
@@ -200,12 +216,12 @@
             if(scheduleStartTime == null) {
                 scheduleStartTime = planStartTime;
             }
-            updateScheduleStartTime(schedule.getScheduleId(), scheduleStartTime);
+            this.updateScheduleStartTime(schedule.getScheduleId(), scheduleStartTime);
 
             // 璁$畻涓嬩竴缁勭殑寮�濮嬫椂闂�
             LocalDateTime LocalscheduleStartTime = scheduleStartTime.toInstant().atZone(ZoneId.systemDefault()) .toLocalDateTime();
             LocalscheduleStartTime = LocalscheduleStartTime.plusMinutes(schedule.getDuration());
-            LocalscheduleStartTime = LocalscheduleStartTime.minusMinutes(2);
+            LocalscheduleStartTime = LocalscheduleStartTime.minusMinutes(preOpeningTime);
             scheduleStartTime = Date.from(LocalscheduleStartTime.atZone(ZoneId.systemDefault()).toInstant());
         }
 
@@ -308,6 +324,7 @@
      * @param po
      * @return
      */
+    @Transactional(rollbackFor = Exception.class)
     public Integer updatePlan(IrIrrigatePlan po) {
         return irrigatePlanMapper.updateByPrimaryKeySelective(po);
     }
@@ -371,6 +388,7 @@
      * @param po
      * @return
      */
+    @Transactional(rollbackFor = Exception.class)
     public Long addPlanOperate(IrPlanOperate po) {
         irPlanOperateMapper.insert(po);
         return po.getId();
@@ -381,6 +399,7 @@
      * @param po
      * @return
      */
+    @Transactional(rollbackFor = Exception.class)
     public Long addIrrigateSchedule(IrIrrigateSchedule po) {
         irIrrigateScheduleMapper.insert(po);
         return po.getId();
@@ -391,6 +410,7 @@
      * @param planId
      * @return
      */
+    @Transactional(rollbackFor = Exception.class)
     public Integer terminateSchedule(Long planId) {
         return irIrrigateScheduleMapper.terminateSchedule(planId);
     }
@@ -418,6 +438,7 @@
      * @param po
      * @return
      */
+    @Transactional(rollbackFor = Exception.class)
     public Long addPlanSchedule(IrPlanSchedule po) {
         irPlanScheduleMapper.insert(po);
         return po.getId();
@@ -429,6 +450,7 @@
      * @param startTime
      * @return
      */
+    @Transactional(rollbackFor = Exception.class)
     public Integer updateScheduleStartTime(Long scheduleId, Date startTime) {
         return irIrrigateScheduleMapper.updateScheduleStartTime(scheduleId, startTime);
     }
@@ -516,4 +538,11 @@
         return planDetails;
 
     }
+
+    @Transactional(rollbackFor = Exception.class)
+    Integer updatePlanTimes(Date planStartTime, Date planEndTime, Long planId){
+        return irrigatePlanMapper.updatePlanTimes(planStartTime, planEndTime, planId);
+    }
+
+
 }

--
Gitblit v1.8.0