From e0c3d16c7ba1700be99b4739b883e4d01789cc62 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期三, 30 四月 2025 16:20:50 +0800
Subject: [PATCH] feat(pipIrr): 新增计划终止后限制发布新计划的功能
---
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrIrrigatePlanMapper.java | 8 ++
pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigatePlanMapper.xml | 19 ++++++
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrPlanOperateMapper.java | 15 +++++
pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/resources/application-self.yml | 1
pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrPlanOperateMapper.xml | 20 ++++++
pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/IrrigatePlanSv.java | 117 ++++++++++++++++++++++++++------------
6 files changed, 142 insertions(+), 38 deletions(-)
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrIrrigatePlanMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrIrrigatePlanMapper.java
index a0d9f99..c7e6677 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrIrrigatePlanMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrIrrigatePlanMapper.java
@@ -131,6 +131,14 @@
Integer hasPlan_OtherProject(Long planId);
/**
+ * 鍒ゆ柇褰撳墠璁″垝涓庢渶杩戠粓姝㈢殑璁″垝鐨勮疆鐏岀粍鏄惁鏈夐噸鍙�
+ * @param planId 褰撳墠璁″垝ID
+ * @param terminatedPlanId 鏈�杩戠粓姝㈢殑璁″垝ID
+ * @return
+ */
+ Integer hasPlanOverlapWithTerminated(@Param("planId") Long planId, @Param("terminatedPlanId") Long terminatedPlanId);
+
+ /**
* 鏍规嵁璁″垝ID鑾峰彇璁″垝鏈�鏂扮姸鎬�
* @param planId
* @return
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrPlanOperateMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrPlanOperateMapper.java
index 5817fec..d8b1da1 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrPlanOperateMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrPlanOperateMapper.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dy.pipIrrGlobal.pojoIr.IrPlanOperate;
import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
import java.util.Date;
@@ -33,4 +34,18 @@
* @return
*/
Date getTerminateTime(Long planId);
+
+ /**
+ * 鑾峰彇鏈�杩戜竴娆¤鍒掔粓姝㈢殑鏃堕棿
+ * @param planTerminateLimitMinutes 璁″垝缁堟鍚庨檺鍒跺彂甯冩柊璁″垝鐨勬椂闂撮棿闅�(鍒嗛挓)
+ * @return 鏈�杩戜竴娆¤鍒掔粓姝㈢殑鏃堕棿锛屽鏋滄病鏈夊垯杩斿洖null
+ */
+ Date getLastTerminateTime(@Param("planTerminateLimitMinutes") Integer planTerminateLimitMinutes);
+
+ /**
+ * 鑾峰彇鏈�杩戜竴娆$粓姝㈢殑璁″垝ID
+ * @param planTerminateLimitMinutes 璁″垝缁堟鍚庨檺鍒跺彂甯冩柊璁″垝鐨勬椂闂撮棿闅�(鍒嗛挓)
+ * @return 鏈�杩戜竴娆$粓姝㈢殑璁″垝ID锛屽鏋滄病鏈夊垯杩斿洖null
+ */
+ Long getLastTerminatedPlanId(@Param("planTerminateLimitMinutes") Integer planTerminateLimitMinutes);
}
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigatePlanMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigatePlanMapper.xml
index e0c32f9..2837fc5 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigatePlanMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigatePlanMapper.xml
@@ -438,6 +438,25 @@
) AS has_intersection
</select>
+ <!--鍒ゆ柇褰撳墠璁″垝涓庢渶杩戠粓姝㈢殑璁″垝鐨勮疆鐏岀粍鏄惁鏈夐噸鍙� -->
+ <select id="hasPlanOverlapWithTerminated" resultType="java.lang.Integer">
+ SELECT COUNT(1)
+ FROM (
+ SELECT sche1.group_id
+ FROM ir_plan_schedule ps1
+ INNER JOIN ir_irrigate_schedule sche1 ON ps1.schedule_id = sche1.id
+ WHERE ps1.plan_id = #{planId}
+ ) AS current_groups
+ INNER JOIN (
+ SELECT sche2.group_id
+ FROM ir_plan_schedule ps2
+ INNER JOIN ir_irrigate_schedule sche2 ON ps2.schedule_id = sche2.id
+ WHERE ps2.plan_id = #{terminatedPlanId}
+ ) AS terminated_groups
+ ON current_groups.group_id = terminated_groups.group_id
+ LIMIT 1
+ </select>
+
<!--鏍规嵁璁″垝ID鑾峰彇璁″垝鏈�鏂扮姸鎬�-->
<select id="getPlanLatestState" resultType="java.lang.Integer">
SELECT
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrPlanOperateMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrPlanOperateMapper.xml
index ffa361c..94accdf 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrPlanOperateMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrPlanOperateMapper.xml
@@ -104,4 +104,24 @@
<select id="getTerminateTime" resultType="java.util.Date">
SELECT operate_time AS operateTime FROM ir_plan_operate WHERE operate_type = 5 AND plan_id = #{planId} LIMIT 0,1
</select>
+
+ <!--鑾峰彇鏈�杩戜竴娆¤鍒掔粓姝㈢殑鏃堕棿锛屼笖缁堟鏃堕棿鍦ㄩ厤缃殑鏃堕棿闂撮殧鍐�-->
+ <select id="getLastTerminateTime" resultType="java.util.Date">
+ SELECT operate_time AS operateTime
+ FROM ir_plan_operate
+ WHERE operate_type = 5
+ AND operate_time >= DATE_SUB(NOW(), INTERVAL #{planTerminateLimitMinutes} MINUTE)
+ ORDER BY operate_time DESC
+ LIMIT 0,1
+ </select>
+
+ <!--鑾峰彇鏈�杩戜竴娆$粓姝㈢殑璁″垝ID-->
+ <select id="getLastTerminatedPlanId" resultType="java.lang.Long">
+ SELECT plan_id
+ FROM ir_plan_operate
+ WHERE operate_type = 5
+ AND operate_time >= DATE_SUB(NOW(), INTERVAL #{planTerminateLimitMinutes} MINUTE)
+ ORDER BY operate_time DESC
+ LIMIT 0,1
+ </select>
</mapper>
\ No newline at end of file
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 2a3bbf3..5db3988 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
@@ -70,15 +70,19 @@
private CommandSv commandSv;
@Value("${wechat.irr.plan.delay:5}")
- private Integer irrPlanDelay ;//杞亴涓鍒掑紑闃�鐨勫欢杩熸椂闀�
+ private Integer irrPlanDelay;//杞亴涓鍒掑紑闃�鐨勫欢杩熸椂闀�
- private static final Integer irrPlanDelayDefault = 5 ;//杞亴涓鍒掑紑闃�鐨勯粯璁ゅ欢杩熸椂闀�
+ private static final Integer irrPlanDelayDefault = 5;//杞亴涓鍒掑紑闃�鐨勯粯璁ゅ欢杩熸椂闀�
@Value("${wechat.irr.plan.preOpeningTime:10}")
private Integer preOpeningTime;
+ @Value("${wechat.irr.plan.planTerminateLimitMinutes:5}")
+ private Integer planTerminateLimitMinutes; // 璁″垝缁堟鍚庨檺鍒跺彂甯冩柊璁″垝鐨勬椂闂撮棿闅�(鍒嗛挓)
+
/**
* 娣诲姞鐏屾簤璁″垝
+ *
* @param po
* @return
*/
@@ -90,6 +94,7 @@
/**
* 鍒犻櫎鐏屾簤璁″垝
+ *
* @param planSimple
* @return
*/
@@ -99,14 +104,14 @@
Long operatorId = planSimple.getOperatorId();
Integer planState = irrigatePlanMapper.getPlanState(planId);
- if(planState == null) {
+ if (planState == null) {
Map map = new HashMap<>();
map.put("success", false);
map.put("msg", "鐏屾簤璁″垝涓嶅瓨鍦�");
map.put("content", null);
return map;
}
- if(planState != 1) {
+ if (planState != 1) {
Map map = new HashMap<>();
map.put("success", false);
map.put("msg", "鐏屾簤璁″垝闈炶崏绋跨姸鎬侊紝涓嶅厑璁稿垹闄�");
@@ -117,7 +122,7 @@
try {
irrigatePlanMapper.deleteByPrimaryKey(planId);
// 娣诲姞鐏屾簤璁″垝鎿嶄綔璁板綍
- IrPlanOperate planOperate = new IrPlanOperate();
+ IrPlanOperate planOperate = new IrPlanOperate();
planOperate.setPlanId(planId);
planOperate.setOperator(operatorId);
planOperate.setOperateType(OperateTypeENUM.DELETE.getCode());
@@ -140,6 +145,7 @@
/**
* 鍙戝竷鐏屾簤璁″垝
+ *
* @param planSimple
* @return
*/
@@ -148,7 +154,8 @@
Long operatorId = planSimple.getOperatorId();
Byte operateType = 1;
- if(irrigatePlanMapper.hasPlan_CurrentProject(planId) > 0) {
+ // 妫�鏌ュ綋鍓嶉」鐩槸鍚﹀瓨鍦ㄦ湭瀹屾垚鐨勭亴婧夎鍒�
+ if (irrigatePlanMapper.hasPlan_CurrentProject(planId) > 0) {
Map map = new HashMap<>();
map.put("success", false);
map.put("msg", "褰撳墠椤圭洰瀛樺湪鏈畬鎴愮殑鐏屾簤璁″垝");
@@ -156,7 +163,8 @@
return map;
}
- if(irrigatePlanMapper.hasPlan_OtherProject(planId) > 0) {
+ // 妫�鏌ュ叾浠栭」鐩腑鏄惁瀛樺湪鏈畬鎴愮殑鐏屾簤璁″垝
+ if (irrigatePlanMapper.hasPlan_OtherProject(planId) > 0) {
Map map = new HashMap<>();
map.put("success", false);
map.put("msg", "寰呭彂甯冭鍒掔殑杞亴缁勫湪鍏朵粬椤圭洰鐨勭亴婧夎鍒掍腑锛屼笖璇ヨ鍒掑皻鏈畬鎴�");
@@ -164,12 +172,25 @@
return map;
}
+ // 妫�鏌�5鍒嗛挓鍐呮槸鍚︽湁缁堟鐨勮鍒掞紝涓旇疆鐏岀粍鏈夐噸鍙�
+ Long lastTerminatedPlanId = irPlanOperateMapper.getLastTerminatedPlanId(planTerminateLimitMinutes);
+ if (lastTerminatedPlanId != null) {
+ // 妫�鏌ュ綋鍓嶈鍒掍笌鏈�杩戠粓姝㈣鍒掔殑杞亴缁勬槸鍚︽湁閲嶅彔
+ if (irrigatePlanMapper.hasPlanOverlapWithTerminated(planId, lastTerminatedPlanId) > 0) {
+ Map map = new HashMap<>();
+ map.put("success", false);
+ map.put("msg", "涓婁竴涓鍒掔粓姝㈠悗" + planTerminateLimitMinutes + "鍒嗛挓鍐呬笉鑳藉彂甯冩柊璁″垝");
+ map.put("content", null);
+ return map;
+ }
+ }
+
/**
* 鑾峰彇鐏屾簤璁″垝淇℃伅
* 鏇存柊鐏屾簤璁″垝璧锋鏃堕棿鍙婅鍒掔姸鎬�
*/
VoPlanSimple plan = irrigatePlanMapper.getPlanSimple(planId);
- if(plan == null){
+ if (plan == null) {
Map map = new HashMap<>();
map.put("success", false);
map.put("msg", "鎮ㄨ鍙戝竷鐨勮鍒掍笉瀛樺湪锛屾垨璇ヨ鍒掑凡鍙戝竷");
@@ -182,16 +203,16 @@
Date planStartTime = plan.getPlanStartTime();
Date planStopTime = null;
- if(startupMode == 1){
+ if (startupMode == 1) {
planStartTime = new Date();
}
- LocalDateTime startTime = planStartTime.toInstant().atZone(ZoneId.systemDefault()) .toLocalDateTime();
- if(startupMode == 1){
+ LocalDateTime startTime = planStartTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
+ if (startupMode == 1) {
// 娴嬭瘯闃舵寤跺悗2鍒嗛挓锛屾寮忓彂甯冧负5鍒嗛挓
//startTime = startTime.plusMinutes(2);
//startTime = startTime.plusMinutes(5);
- if(irrPlanDelay == null || irrPlanDelay <= 0) {
- irrPlanDelay = irrPlanDelayDefault ;
+ if (irrPlanDelay == null || irrPlanDelay <= 0) {
+ irrPlanDelay = irrPlanDelayDefault;
}
startTime = startTime.plusMinutes(irrPlanDelay);
}
@@ -200,7 +221,7 @@
planStopTime = Date.from(stopTime.atZone(ZoneId.systemDefault()).toInstant());
// 鏍规嵁璁″垝ID鏇存柊璁″垝淇℃伅锛堣捣姝㈡椂闂淬�佽鍒掔姸鎬侊級
- if(this.updatePlanTimes(planStartTime, planStopTime, planId) == 0) {
+ if (this.updatePlanTimes(planStartTime, planStopTime, planId) == 0) {
Map map = new HashMap<>();
map.put("success", false);
map.put("msg", "璁″垝淇℃伅鏇存柊澶辫触");
@@ -212,31 +233,31 @@
List<VoIrrigateSchedule> schedules = getSchedulesByPlanId(planId);
Date scheduleStartTime = null;
Integer sort = 0;
- for(VoIrrigateSchedule schedule : schedules){
- if(scheduleStartTime == null) {
+ for (VoIrrigateSchedule schedule : schedules) {
+ if (scheduleStartTime == null) {
scheduleStartTime = planStartTime;
}
this.updateScheduleStartTime(schedule.getScheduleId(), scheduleStartTime);
// 璁$畻涓嬩竴缁勭殑寮�濮嬫椂闂�
- LocalDateTime LocalscheduleStartTime = scheduleStartTime.toInstant().atZone(ZoneId.systemDefault()) .toLocalDateTime();
+ LocalDateTime LocalscheduleStartTime = scheduleStartTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
LocalscheduleStartTime = LocalscheduleStartTime.plusMinutes(schedule.getDuration());
LocalscheduleStartTime = LocalscheduleStartTime.minusMinutes(preOpeningTime);
scheduleStartTime = Date.from(LocalscheduleStartTime.atZone(ZoneId.systemDefault()).toInstant());
-
+
// 纭繚涓嬩竴缁勭殑寮�濮嬫椂闂翠笉鏃╀簬璁″垝寮�濮嬫椂闂�
- if(scheduleStartTime.before(planStartTime)) {
+ if (scheduleStartTime.before(planStartTime)) {
scheduleStartTime = planStartTime;
}
}
// 娣诲姞鐏屾簤璁″垝鎿嶄綔璁板綍
- IrPlanOperate planOperate = new IrPlanOperate();
+ IrPlanOperate planOperate = new IrPlanOperate();
planOperate.setPlanId(planId);
planOperate.setOperator(operatorId);
planOperate.setOperateType(OperateTypeENUM.PUBLISH.getCode());
planOperate.setOperateTime(new Date());
- if(addPlanOperate(planOperate) == 0){
+ if (addPlanOperate(planOperate) == 0) {
Map map = new HashMap<>();
map.put("success", false);
map.put("msg", "娣诲姞鐏屾簤璁″垝鎿嶄綔璁板綍澶辫触");
@@ -245,11 +266,11 @@
}
schedules = getSchedulesByPlanId(planId);
- for(VoIrrigateSchedule schedule : schedules) {
+ for (VoIrrigateSchedule schedule : schedules) {
Long groupId = schedule.getGroupId();
List<Long> intakeIds = getIntakeIdsByGroupId(groupId);
- for(Long intakeId : intakeIds) {
- if(schedule.getDuration() > 0) {
+ for (Long intakeId : intakeIds) {
+ if (schedule.getDuration() > 0) {
// 浠婂彂甯冪亴婧夋椂闀垮ぇ浜�0鐨�
AutomaticClose automaticClose = new AutomaticClose();
automaticClose.setIntakeId(intakeId);
@@ -272,6 +293,7 @@
/**
* 鏍规嵁璁″垝ID鑾峰彇璁″垝鏈�鏂扮姸鎬�
+ *
* @param planId
* @return
*/
@@ -281,6 +303,7 @@
/**
* 鏍规嵁璁″垝ID鑾峰彇寰呯粓姝㈣鍒掔殑缁撴潫鏃堕棿锛氭湭鍒犻櫎銆佹湭缁堟銆佸凡鍙戝竷銆佸綋鍓嶆椂闂村皬浜庤鍒掔粨鏉熸椂闂�
+ *
* @param planId
* @return
*/
@@ -290,6 +313,7 @@
/**
* 鏍规嵁璁″垝ID鑾峰彇寰呯粓姝㈢殑鍙栨按鍙D锛堝凡鍙戝竷寮�鍙戝懡浠わ紝鏃犺鏄惁鎴愬姛锛�
+ *
* @param planId
* @return
*/
@@ -299,6 +323,7 @@
/**
* 鏍规嵁璁″垝ID鑾峰彇寰呯粓姝㈢殑鍛戒护ID鍒楄〃
+ *
* @param planId
* @return
*/
@@ -308,6 +333,7 @@
/**
* 鏍规嵁璁″垝ID鑾峰彇寰呯粓姝㈢殑鍙栨按鍙e垪琛紙寮�闃�鎴愬姛鐨勶級
+ *
* @param planId
* @return
*/
@@ -317,6 +343,7 @@
/**
* 鏍规嵁鍛戒护鏃ュ織ID鑾峰彇鍙栨按鍙e強铏氭嫙鍗′俊鎭紝缁堟鐏屾簤璁″垝鏃朵娇鐢紝鐢ㄦ潵鎵ц杩滅▼鍏抽榾
+ *
* @param commandId
* @return
*/
@@ -326,6 +353,7 @@
/**
* 淇敼鐏屾簤璁″垝
+ *
* @param po
* @return
*/
@@ -336,7 +364,8 @@
/**
* 鑾峰彇鏈畬鎴愮殑璁″垝鍒楄〃锛屽皬绋嬪簭璁″垝鍒楄〃椤典娇鐢�
- * @return
+ *
+ * @return
*/
public List<VoPlans> getNotCompletePlans() {
return irrigatePlanMapper.getNotCompletePlans();
@@ -344,24 +373,26 @@
/**
* 鑾峰彇宸插畬鎴愮殑璁″垝鍒楄〃锛屽皬绋嬪簭璁″垝鍒楄〃椤典娇鐢�
+ *
* @return
*/
public QueryResultVo<List<VoPlans>> getCompletedPlans(QueryConditionVo queryVo) {
- Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo) ;
+ Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo);
- Long itemTotal = (long)irrigatePlanMapper.getCompletedPlansCount(params);
- QueryResultVo<List<VoPlans>> rsVo = new QueryResultVo<>() ;
- rsVo.pageSize = queryVo.pageSize ;
- rsVo.pageCurr = queryVo.pageCurr ;
+ Long itemTotal = (long) irrigatePlanMapper.getCompletedPlansCount(params);
+ QueryResultVo<List<VoPlans>> rsVo = new QueryResultVo<>();
+ rsVo.pageSize = queryVo.pageSize;
+ rsVo.pageCurr = queryVo.pageCurr;
rsVo.calculateAndSet(itemTotal, params);
rsVo.obj = irrigatePlanMapper.getCompletedPlans(params);
- return rsVo ;
+ return rsVo;
}
/**
* 鏍规嵁鎸囧畾鐨勮鍒扞D鑾峰彇鍚姩妯″紡
+ *
* @param planId
* @return
*/
@@ -390,6 +421,7 @@
/**
* 娣诲姞鐏屾簤璁″垝鎿嶄綔璁板綍
+ *
* @param po
* @return
*/
@@ -401,6 +433,7 @@
/**
* 娣诲姞鐏屾簤娆″簭璁板綍
+ *
* @param po
* @return
*/
@@ -412,6 +445,7 @@
/**
* 鏍规嵁璁″垝ID缁堟鐏屾簤娆″簭锛屽皢鐏屾簤娆″簭鐨勫綋鍓嶇姸鎬佹敼涓哄凡缁堟
+ *
* @param planId
* @return
*/
@@ -422,6 +456,7 @@
/**
* 鏍规嵁璁″垝ID鑾峰彇鐏屾簤娆″簭璁板綍
+ *
* @param planId
* @return
*/
@@ -431,6 +466,7 @@
/**
* 鏍规嵁缁処D鑾峰彇鍙栨按鍙D闆嗗悎
+ *
* @param groupId
* @return
*/
@@ -440,6 +476,7 @@
/**
* 娣诲姞璁″垝娆″簭鍏宠仈璁板綍
+ *
* @param po
* @return
*/
@@ -451,6 +488,7 @@
/**
* 鏍规嵁鐏屾簤娆″簭ID鏇存柊娆″簭寮�濮嬫椂闂�
+ *
* @param scheduleId
* @param startTime
* @return
@@ -472,6 +510,7 @@
/**
* 鏍规嵁鐏屾簤鍗曞厓ID鑾峰彇鍙栨按鍙D
+ *
* @param unitId
* @return
*/
@@ -481,12 +520,13 @@
/**
* 鏍规嵁璁″垝ID鑾峰彇璁″垝鍙戝竷缁撴灉
+ *
* @param planId
* @return
*/
public VoPlanDetails getPublishResults(Long planId) {
VoPlanDetails planDetails = irrigatePlanMapper.getPlanDetails(planId);
- if(planDetails == null){
+ if (planDetails == null) {
return null;
}
Integer failureCount = Optional.ofNullable(irIntakeOperateMapper.getFailureCount(planId)).orElse(0);
@@ -495,13 +535,13 @@
Date terminateTime = Optional.ofNullable(irPlanOperateMapper.getTerminateTime(planId)).orElse(null);
List<VoGroupResult> groupResults = irIrrigateGroupMapper.getGroupResult(planId);
- if(groupResults == null || groupResults.size() == 0){
+ if (groupResults == null || groupResults.size() == 0) {
return null;
}
for (VoGroupResult groupResult : groupResults) {
List<VoIntakeResult> intakeResults = irIntakeOperateMapper.getIntakeResult(planId, groupResult.getGroupId());
- if(intakeResults != null) {
+ if (intakeResults != null) {
groupResult.setPublishResult(intakeResults);
}
}
@@ -513,6 +553,7 @@
/**
* 鏍规嵁璁″垝ID鑾峰彇璁″垝缁堟鎿嶄綔缁撴灉
+ *
* @param planId
* @return
*/
@@ -521,20 +562,20 @@
Date terminateTime = Optional.ofNullable(irPlanOperateMapper.getTerminateTime(planId)).orElse(null);
VoPlanDetails planDetails = irrigatePlanMapper.getPlanDetails_terminate(planId, terminateTime);
- if(planDetails == null){
+ if (planDetails == null) {
return null;
}
Integer failureCount = Optional.ofNullable(irIntakeOperateMapper.getFailureCount(planId)).orElse(0);
planDetails.setFailureCount(failureCount);
List<VoGroupResult> groupResults = irIrrigateGroupMapper.getGroupResult_terminate(planId, terminateTime);
- if(groupResults == null || groupResults.size() == 0){
+ if (groupResults == null || groupResults.size() == 0) {
return null;
}
for (VoGroupResult groupResult : groupResults) {
List<VoIntakeResult> intakeResults = irIntakeOperateMapper.getIntakeResult(planId, groupResult.getGroupId());
- if(intakeResults != null) {
+ if (intakeResults != null) {
groupResult.setPublishResult(intakeResults);
}
}
@@ -545,7 +586,7 @@
}
@Transactional(rollbackFor = Exception.class)
- Integer updatePlanTimes(Date planStartTime, Date planEndTime, Long planId){
+ Integer updatePlanTimes(Date planStartTime, Date planEndTime, Long planId) {
return irrigatePlanMapper.updatePlanTimes(planStartTime, planEndTime, planId);
}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/resources/application-self.yml b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/resources/application-self.yml
index 91832c2..ff9ce4c 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/resources/application-self.yml
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/resources/application-self.yml
@@ -17,6 +17,7 @@
plan:
delay: 5 #杞亴涓鍒掑紑闃�鐨勫欢杩熸椂闀�(鍒嗛挓)
preOpeningTime: 10 #鎻愬墠鏃堕棿(鍒嗛挓)
+ planTerminateLimitMinutes: 5 #璁″垝缁堟鍚庨檺鍒跺彂甯冩柊璁″垝鐨勬椂闂撮棿闅�(鍒嗛挓)
#闃块噷鐭俊鏈嶅姟
aliyun:
sms:
--
Gitblit v1.8.0