From 656aa4f953eb52502a6414965e46642c31b6e8ee Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期二, 29 四月 2025 15:33:09 +0800
Subject: [PATCH] 设备会在多种功能码上报数据中携带报警与状态数据,这样数据库保存设备报警与状态数据可能很多,为此修改逻辑,当前实现为一设备一个小时内只保存一条报警与状态数据。
---
pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/IrrigatePlanSv.java | 42 ++++++++++++++++++++++++++++++++++++++----
1 files changed, 38 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..2a3bbf3 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("${wechat.irr.plan.delay:5}")
+ private Integer irrPlanDelay ;//杞亴涓鍒掑紑闃�鐨勫欢杩熸椂闀�
+
+ private static final Integer irrPlanDelayDefault = 5 ;//杞亴涓鍒掑紑闃�鐨勯粯璁ゅ欢杩熸椂闀�
+
+ @Value("${wechat.irr.plan.preOpeningTime:10}")
+ private Integer 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,13 +216,18 @@
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());
+
+ // 纭繚涓嬩竴缁勭殑寮�濮嬫椂闂翠笉鏃╀簬璁″垝寮�濮嬫椂闂�
+ if(scheduleStartTime.before(planStartTime)) {
+ scheduleStartTime = planStartTime;
+ }
}
// 娣诲姞鐏屾簤璁″垝鎿嶄綔璁板綍
@@ -308,6 +329,7 @@
* @param po
* @return
*/
+ @Transactional(rollbackFor = Exception.class)
public Integer updatePlan(IrIrrigatePlan po) {
return irrigatePlanMapper.updateByPrimaryKeySelective(po);
}
@@ -371,6 +393,7 @@
* @param po
* @return
*/
+ @Transactional(rollbackFor = Exception.class)
public Long addPlanOperate(IrPlanOperate po) {
irPlanOperateMapper.insert(po);
return po.getId();
@@ -381,6 +404,7 @@
* @param po
* @return
*/
+ @Transactional(rollbackFor = Exception.class)
public Long addIrrigateSchedule(IrIrrigateSchedule po) {
irIrrigateScheduleMapper.insert(po);
return po.getId();
@@ -391,6 +415,7 @@
* @param planId
* @return
*/
+ @Transactional(rollbackFor = Exception.class)
public Integer terminateSchedule(Long planId) {
return irIrrigateScheduleMapper.terminateSchedule(planId);
}
@@ -418,6 +443,7 @@
* @param po
* @return
*/
+ @Transactional(rollbackFor = Exception.class)
public Long addPlanSchedule(IrPlanSchedule po) {
irPlanScheduleMapper.insert(po);
return po.getId();
@@ -429,6 +455,7 @@
* @param startTime
* @return
*/
+ @Transactional(rollbackFor = Exception.class)
public Integer updateScheduleStartTime(Long scheduleId, Date startTime) {
return irIrrigateScheduleMapper.updateScheduleStartTime(scheduleId, startTime);
}
@@ -516,4 +543,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