From 9619e60e3075a432d692f3cd8b76787568c53aad Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期三, 07 五月 2025 15:56:58 +0800
Subject: [PATCH] 1、完善代码;2、禁止输出SpringBoot启动时Banner。
---
pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigatePlanMapper.xml | 150 +++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 142 insertions(+), 8 deletions(-)
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 50a525a..2837fc5 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigatePlanMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigatePlanMapper.xml
@@ -295,8 +295,21 @@
) AS planState
FROM ir_irrigate_plan plan
INNER JOIN ir_project pro ON pro.id = plan.project_id
- WHERE plan.deleted = 0 AND (plan.plan_state = 1 OR NOW() < plan.plan_stop_time)
+ <where>
+ AND plan.deleted = 0
+ AND (plan.plan_state = 1 OR NOW() < plan.plan_stop_time)
+ AND plan.executing_state != 3
+ </where>
ORDER BY plan.plan_state DESC
+ </select>
+
+ <!--鑾峰彇宸插畬鎴愮殑璁″垝鏁伴噺-->
+ <select id="getCompletedPlansCount" resultType="java.lang.Long">
+ SELECT
+ COUNT(*) AS recordCount
+ FROM ir_irrigate_plan plan
+ INNER JOIN ir_project pro ON pro.id = plan.project_id
+ WHERE plan.deleted = 0 AND ((plan.plan_state = 2 AND NOW() >= plan.plan_stop_time) OR (plan.executing_state = 3))
</select>
<!--鑾峰彇宸插畬鎴愮殑璁″垝鍒楄〃锛屽皬绋嬪簭璁″垝鍒楄〃椤典娇鐢�-->
@@ -309,15 +322,17 @@
plan.plan_start_time AS planStartTime,
plan.plan_stop_time AS planStopTime,
plan.duration,
- IF(plan.plan_state = 1, 1,
- IF(NOW() < plan.plan_start_time, 2,
- IF(NOW() >= plan.plan_start_time AND NOW() < plan.plan_stop_time, 3, 4)
- )
- ) AS planState
+ IF(plan.executing_state = 3, 5, 4) AS planState
FROM ir_irrigate_plan plan
INNER JOIN ir_project pro ON pro.id = plan.project_id
- WHERE plan.deleted = 0 AND (plan.plan_state = 2 AND NOW() >= plan.plan_stop_time)
- ORDER BY plan.plan_state DESC
+ INNER JOIN ir_plan_operate po ON po.plan_id = plan.id
+ WHERE plan.deleted = 0 AND ((plan.plan_state = 2 AND NOW() >= plan.plan_stop_time) OR (plan.executing_state = 3)) AND po.operate_type = 1
+ ORDER BY po.operate_time DESC
+ <trim prefix="limit ">
+ <if test="start != null and count != null">
+ #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER}
+ </if>
+ </trim>
</select>
<!--鏍规嵁璁″垝ID鑾峰彇寰呯粓姝㈣鍒掔殑缁撴潫鏃堕棿锛氭湭鍒犻櫎銆佹湭缁堟銆佸凡鍙戝竷銆佸綋鍓嶆椂闂村皬浜庤鍒掔粨鏉熸椂闂�-->
@@ -337,4 +352,123 @@
</select>
+ <!--鏍规嵁璁″垝ID鑾峰彇璁″垝璇︽儏锛屽寘鎷鍒掑悕绉帮紝椤圭洰鍚嶏紝璁″垝寮�濮嬫椂闂达紝璁″垝缁撴潫鏃堕棿锛岃鍒掕鎯呴〉浣跨敤-->
+ <select id="getPlanDetails" resultType="com.dy.pipIrrGlobal.voIr.VoPlanDetails">
+ SELECT
+ plan.plan_name AS planName,
+ pro.project_name AS projectName,
+ IF(plan.executing_state = 3, '5',
+ IF(NOW() < plan.plan_start_time,'2',
+ IF(NOW() < plan.plan_stop_time, '3', '4'))) AS state,
+ plan.plan_start_time AS planStartTime,
+ plan.plan_stop_time AS planStopTime,
+ NULL AS groupDetails,
+ NULL AS failureCount
+ FROM ir_irrigate_plan plan
+ INNER JOIN ir_project pro ON pro.id = plan.project_id
+ WHERE plan.id = #{planId}
+ AND plan.deleted = 0
+ </select>
+
+ <!--鏍规嵁璁″垝ID鑾峰彇宸茬粓姝㈣鍒掔殑璇︽儏锛岀粨鏉熸椂闂翠负瀹為檯缁堟鏃堕棿-->
+ <select id="getPlanDetails_terminate" resultType="com.dy.pipIrrGlobal.voIr.VoPlanDetails">
+ SELECT
+ plan.plan_name AS planName,
+ pro.project_name AS projectName,
+<!-- IF(#{terminateTime} < plan.plan_start_time, 6,-->
+<!-- IF(#{terminateTime} < plan.plan_stop_time, 5, 4)) AS state,-->
+ IF(plan.executing_state = 3, 5,
+ IF(NOW() < plan_start_time, 2,
+ IF(NOW() < plan_stop_time, 3, 4)
+ )
+ ) AS state,
+ plan.plan_start_time AS planStartTime,
+ plan.plan_stop_time AS planStopTime,
+ #{terminateTime} AS realStopTime,
+ NULL AS groupDetails,
+ NULL AS failureCount
+ FROM ir_irrigate_plan plan
+ INNER JOIN ir_project pro ON pro.id = plan.project_id
+ WHERE plan.id = #{planId}
+ AND plan.deleted = 0
+ </select>
+
+ <!--鏍规嵁璁″垝ID鑾峰彇璁″垝鐘舵�侊紝鐢ㄤ簬鍒ゆ柇鏄惁鍙互鍒犻櫎璁″垝-->
+ <select id="getPlanState" resultType="java.lang.Integer">
+ SELECT
+ plan_state
+ FROM ir_irrigate_plan
+ WHERE id = #{planId}
+ AND deleted = 0
+ </select>
+
+ <!--鍒ゆ柇褰撳墠椤圭洰鏄惁瀛樺湪宸插彂甯冦�佹湭缁堟銆佹湭鍒犻櫎銆佹湭瀹屾垚鐨勮鍒掞紝鍙戝竷璁″垝鍓嶅垽鏂娇鐢�-->
+ <select id="hasPlan_CurrentProject" resultType="java.lang.Integer">
+ SELECT
+ COUNT(*) AS recordCount
+ FROM ir_irrigate_plan
+ WHERE project_id = (SELECT project_id FROM ir_irrigate_plan WHERE id = #{planId})
+ AND id != #{planId}
+ AND plan_state = 2
+ AND executing_state != 3
+ AND deleted = 0
+ AND NOW() < plan_stop_time
+ </select>
+
+ <!--鍒ゆ柇褰撳墠璁″垝鍖呭惈鐨勮疆鐏岀粍鏄惁涓庡叾浠栭」鐩笅璁″垝鍖呭惈鐨勮疆鐏岀粍鏈変氦闆嗭紝涓斿叾浠栭」鐩殑璁″垝鐘舵�佷负宸插彂甯冦�佹湭缁堟銆佹湭鍒犻櫎銆佹湭瀹屾垚锛屽彂甯冭鍒掑墠鍒ゆ柇浣跨敤-->
+ <select id="hasPlan_OtherProject" resultType="java.lang.Integer">
+ SELECT EXISTS(
+ SELECT sche.group_id
+ FROM ir_irrigate_plan plan
+ INNER JOIN ir_plan_schedule ps ON ps.plan_id = plan.id
+ INNER JOIN ir_irrigate_schedule sche ON sche.id = ps.schedule_id
+ WHERE plan.project_id != (SELECT project_id FROM ir_irrigate_plan WHERE id = #{planId})
+ AND plan_state = 2
+ AND executing_state != 3
+ AND deleted = 0
+ AND NOW() < plan_stop_time
+
+ INTERSECT
+
+ SELECT sche.group_id
+ FROM ir_irrigate_schedule sche
+ INNER JOIN ir_plan_schedule ps ON schedule_id = sche.id
+ WHERE ps.plan_id = #{planId}
+ LIMIT 1
+ ) 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
+ IF(plan_state = 1, 1,
+ IF(executing_state = 3, 5,
+ IF(NOW() < plan_start_time, 2,
+ IF(NOW() < plan_stop_time, 3, 4)
+ )
+ )
+ ) AS planState
+ FROM ir_irrigate_plan
+ WHERE deleted = 0 AND id = #{planId}
+ </select>
+
</mapper>
\ No newline at end of file
--
Gitblit v1.8.0