From 4c78c3a6fc3fe5fbbcabc85465612a799d98587d Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期三, 26 三月 2025 16:45:31 +0800
Subject: [PATCH] 获取未完成计划列表、获取已完成计划列表

---
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigatePlanMapper.xml |  251 ++++++++++++++++++++++++++++---------------------
 1 files changed, 142 insertions(+), 109 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 0d4e9ed..699d758 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigatePlanMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigatePlanMapper.xml
@@ -5,7 +5,6 @@
     <!--@mbg.generated-->
     <!--@Table ir_irrigate_plan-->
     <id column="id" jdbcType="BIGINT" property="id" />
-    <result column="project_id" jdbcType="BIGINT" property="projectId" />
     <result column="plan_name" jdbcType="VARCHAR" property="planName" />
     <result column="startup_mode" jdbcType="TINYINT" property="startupMode" />
     <result column="plan_start_time" jdbcType="TIMESTAMP" property="planStartTime" />
@@ -17,7 +16,7 @@
   </resultMap>
   <sql id="Base_Column_List">
     <!--@mbg.generated-->
-    id, project_id, plan_name, startup_mode, plan_start_time, plan_stop_time, duration, 
+    id, plan_name, startup_mode, plan_start_time, plan_stop_time, duration,
     plan_state, executing_state, deleted
   </sql>
   <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
@@ -34,11 +33,11 @@
   </delete>
   <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoIr.IrIrrigatePlan">
     <!--@mbg.generated-->
-    insert into ir_irrigate_plan (id, project_id, plan_name, 
+    insert into ir_irrigate_plan (id, plan_name,
       startup_mode, plan_start_time, plan_stop_time, 
       duration, plan_state, executing_state, 
       deleted)
-    values (#{id,jdbcType=BIGINT}, #{projectId,jdbcType=BIGINT}, #{planName,jdbcType=VARCHAR}, 
+    values (#{id,jdbcType=BIGINT}, #{planName,jdbcType=VARCHAR},
       #{startupMode,jdbcType=TINYINT}, #{planStartTime,jdbcType=TIMESTAMP}, #{planStopTime,jdbcType=TIMESTAMP}, 
       #{duration,jdbcType=INTEGER}, #{planState,jdbcType=TINYINT}, #{executingState,jdbcType=TINYINT}, 
       #{deleted,jdbcType=BIGINT})
@@ -49,9 +48,6 @@
     <trim prefix="(" suffix=")" suffixOverrides=",">
       <if test="id != null">
         id,
-      </if>
-      <if test="projectId != null">
-        project_id,
       </if>
       <if test="planName != null">
         plan_name,
@@ -81,9 +77,6 @@
     <trim prefix="values (" suffix=")" suffixOverrides=",">
       <if test="id != null">
         #{id,jdbcType=BIGINT},
-      </if>
-      <if test="projectId != null">
-        #{projectId,jdbcType=BIGINT},
       </if>
       <if test="planName != null">
         #{planName,jdbcType=VARCHAR},
@@ -115,9 +108,6 @@
     <!--@mbg.generated-->
     update ir_irrigate_plan
     <set>
-      <if test="projectId != null">
-        project_id = #{projectId,jdbcType=BIGINT},
-      </if>
       <if test="planName != null">
         plan_name = #{planName,jdbcType=VARCHAR},
       </if>
@@ -148,8 +138,7 @@
   <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoIr.IrIrrigatePlan">
     <!--@mbg.generated-->
     update ir_irrigate_plan
-    set project_id = #{projectId,jdbcType=BIGINT},
-      plan_name = #{planName,jdbcType=VARCHAR},
+    set plan_name = #{planName,jdbcType=VARCHAR},
       startup_mode = #{startupMode,jdbcType=TINYINT},
       plan_start_time = #{planStartTime,jdbcType=TIMESTAMP},
       plan_stop_time = #{planStopTime,jdbcType=TIMESTAMP},
@@ -168,108 +157,152 @@
     WHERE id = #{planId}
   </select>
 
-  <!--鏍规嵁鎸囧畾鐨勮鍒扞D鑾峰彇宸插彂甯冪殑鐏屾簤璁″垝鏁伴噺-->
-  <select id="getPublishedCount" resultType="java.lang.Integer">
-    SELECT COUNT(*)
-    FROM ir_irrigate_plan plan
-    WHERE plan.id = #{planId}
-      AND plan.plan_state = 2
-      AND plan.deleted = 0
-  </select>
-
-  <!--鍙戝竷鎸囧畾鐨勭亴婧夎鍒�-->
-  <update id="publishIrrigatePlan">
-    UPDATE ir_irrigate_plan SET plan_state = 2 WHERE id = #{planId}
-  </update>
-
   <!--鏍规嵁鎸囧畾鐨勬潯浠惰幏鍙栬鍒掓暟閲�-->
-  <select id="getIrrigatePlanCount" resultType="java.lang.Long">
-    SELECT COUNT(*)
-    FROM ir_irrigate_plan plan
-    INNER JOIN ir_project pro ON pro.id = plan.project_id
-    <where>
-      AND plan.deleted = 0
-      AND pro.deleted = 0
-      <if test="projectName != null and projectName != ''">
-        AND pro.project_name LIKE CONCAT('%', #{projectName}, '%')
-      </if>
+<!--  <select id="getIrrigatePlanCount" resultType="java.lang.Long">-->
+<!--    SELECT COUNT(*)-->
+<!--    FROM ir_irrigate_plan plan-->
+<!--    INNER JOIN ir_project pro ON pro.id = plan.project_id-->
+<!--    <where>-->
+<!--      AND plan.deleted = 0-->
+<!--      AND pro.deleted = 0-->
+<!--      <if test="projectName != null and projectName != ''">-->
+<!--        AND pro.project_name LIKE CONCAT('%', #{projectName}, '%')-->
+<!--      </if>-->
 
-      <if test="planName != null and planName != ''">
-        AND plan.plan_name LIKE CONCAT('%', #{planName}, '%')
-      </if>
+<!--      <if test="planName != null and planName != ''">-->
+<!--        AND plan.plan_name LIKE CONCAT('%', #{planName}, '%')-->
+<!--      </if>-->
 
-      <if test="startupMode != null">
-        AND plan.startup_mode = #{startupMode}
-      </if>
+<!--      <if test="startupMode != null">-->
+<!--        AND plan.startup_mode = #{startupMode}-->
+<!--      </if>-->
 
-      <if test="planState != null">
-        AND plan.plan_state = #{planState}
-      </if>
+<!--      <if test="planState != null">-->
+<!--        AND plan.plan_state = #{planState}-->
+<!--      </if>-->
 
-      <if test="executingState != null">
-        AND plan.executing_state = #{executingState}
-      </if>
-    </where>
-  </select>
+<!--      <if test="executingState != null">-->
+<!--        AND plan.executing_state = #{executingState}-->
+<!--      </if>-->
+<!--    </where>-->
+<!--  </select>-->
 
   <!--鏍规嵁鎸囧畾鐨勬潯浠惰幏鍙栬鍒掑垪琛�-->
-  <select id="getIrrigatePlans" resultType="com.dy.pipIrrGlobal.voIr.VoIrrigatePlan">
+<!--  <select id="getIrrigatePlans" resultType="com.dy.pipIrrGlobal.voIr.VoIrrigatePlan">-->
+<!--    SELECT-->
+<!--        plan.id AS planId,-->
+<!--        pro.project_name AS projectName,-->
+<!--        plan.plan_name AS planName,-->
+<!--        CASE plan.startup_mode-->
+<!--            WHEN 1 THEN '鎵嬪姩鍚姩'-->
+<!--            WHEN 2 THEN '鑷姩鍚姩'-->
+<!--        END AS startupMode,-->
+<!--        plan.plan_start_time AS startTime,-->
+<!--        plan.plan_stop_time AS stopTime,-->
+<!--        plan.duration AS duration,-->
+<!--        CASE plan.plan_state-->
+<!--            WHEN 1 THEN '鑽夌'-->
+<!--            WHEN 2 THEN '宸插彂甯�'-->
+<!--        END AS planState,-->
+
+<!--        CASE plan.executing_state-->
+<!--            WHEN 1 THEN-->
+<!--            '鏈墽琛�'-->
+<!--            WHEN 2 THEN-->
+<!--            '鎵ц涓�'-->
+<!--            WHEN 3 THEN-->
+<!--            '宸叉殏鍋�'-->
+<!--            WHEN 4 THEN-->
+<!--            '宸茬粓姝�'-->
+<!--        END AS executingState-->
+<!--    FROM ir_irrigate_plan plan-->
+<!--    INNER JOIN ir_project pro ON pro.id = plan.project_id-->
+<!--    <where>-->
+<!--      AND plan.deleted = 0-->
+<!--      AND pro.deleted = 0-->
+<!--      <if test="projectName != null and projectName != ''">-->
+<!--        AND pro.project_name LIKE CONCAT('%', #{projectName}, '%')-->
+<!--      </if>-->
+
+<!--      <if test="planName != null and planName != ''">-->
+<!--        AND plan.plan_name LIKE CONCAT('%', #{planName}, '%')-->
+<!--      </if>-->
+
+<!--      <if test="startupMode != null">-->
+<!--        AND plan.startup_mode = #{startupMode}-->
+<!--      </if>-->
+
+<!--      <if test="planState != null">-->
+<!--        AND plan.plan_state = #{planState}-->
+<!--      </if>-->
+
+<!--      <if test="executingState != null">-->
+<!--        AND plan.executing_state = #{executingState}-->
+<!--      </if>-->
+<!--    </where>-->
+<!--    ORDER BY plan.plan_state DESC, plan.plan_start_time-->
+<!--    <trim prefix="limit ">-->
+<!--      <if test="start != null and count != null">-->
+<!--        #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER}-->
+<!--      </if>-->
+<!--    </trim>-->
+<!--  </select>-->
+
+  <!--鏍规嵁璁″垝ID鑾峰彇璁″垝绠�鍗曚俊鎭�-->
+  <select id="getPlanSimple" resultType="com.dy.pipIrrGlobal.voIr.VoPlanSimple">
     SELECT
-        plan.id AS planId,
-        pro.project_name AS projectName,
-        plan.plan_name AS planName,
-        CASE plan.startup_mode
-            WHEN 1 THEN '鎵嬪姩鍚姩'
-            WHEN 2 THEN '鑷姩鍚姩'
-        END AS startupMode,
-        plan.plan_start_time AS startTime,
-        plan.plan_stop_time AS stopTime,
-        plan.duration AS duration,
-        CASE plan.plan_state
-            WHEN 1 THEN '鑽夌'
-            WHEN 2 THEN '宸插彂甯�'
-        END AS planState,
-
-        CASE plan.executing_state
-            WHEN 1 THEN
-            '鏈墽琛�'
-            WHEN 2 THEN
-            '鎵ц涓�'
-            WHEN 3 THEN
-            '宸叉殏鍋�'
-            WHEN 4 THEN
-            '宸茬粓姝�'
-        END AS executingState
+        plan.startup_mode AS startupMode,
+        plan.plan_start_time AS planStartTime,
+        plan.duration AS duration
     FROM ir_irrigate_plan plan
-    INNER JOIN ir_project pro ON pro.id = plan.project_id
-    <where>
-      AND plan.deleted = 0
-      AND pro.deleted = 0
-      <if test="projectName != null and projectName != ''">
-        AND pro.project_name LIKE CONCAT('%', #{projectName}, '%')
-      </if>
-
-      <if test="planName != null and planName != ''">
-        AND plan.plan_name LIKE CONCAT('%', #{planName}, '%')
-      </if>
-
-      <if test="startupMode != null">
-        AND plan.startup_mode = #{startupMode}
-      </if>
-
-      <if test="planState != null">
-        AND plan.plan_state = #{planState}
-      </if>
-
-      <if test="executingState != null">
-        AND plan.executing_state = #{executingState}
-      </if>
-    </where>
-    ORDER BY plan.plan_state DESC, plan.plan_start_time
-    <trim prefix="limit ">
-      <if test="start != null and count != null">
-        #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER}
-      </if>
-    </trim>
+    WHERE plan.id = #{planId}
+      AND plan.deleted = 0 AND plan_state = 1
+    LIMIT 1
   </select>
+
+  <!--鏍规嵁璁″垝ID鏇存柊璁″垝淇℃伅锛堣捣姝㈡椂闂淬�佽鍒掔姸鎬侊級-->
+  <update id="updatePlanTimes">
+    UPDATE ir_irrigate_plan
+    SET plan_start_time = #{planStartTime}, plan_stop_time = #{planStopTime}, plan_state = 2
+    WHERE id = #{planId}
+  </update>
+
+  <!--鑾峰彇鏈畬鎴愮殑璁″垝鍒楄〃锛屽皬绋嬪簭璁″垝鍒楄〃椤典娇鐢�-->
+  <select id="getNotCompletePlans" resultType="com.dy.pipIrrGlobal.voIr.VoPlans">
+    SELECT
+      id AS planId,
+      plan_name AS planName,
+      startup_mode AS startupMode,
+      plan_start_time AS planStartTime,
+      plan_stop_time AS planStopTime,
+      duration,
+      IF(plan_state = 1,'鑽夌',
+         IF(NOW() &lt; plan_start_time, '鏈墽琛�',
+            IF(NOW() &gt;= plan_start_time AND NOW() &lt; plan_stop_time, '鎵ц涓�', '宸插畬鎴�')
+        )
+      ) AS planState
+    FROM ir_irrigate_plan plan
+    WHERE deleted = 0 AND (plan_state = 1 OR NOW() &lt; plan_stop_time)
+    ORDER BY plan_state DESC
+  </select>
+
+  <!--鑾峰彇宸插畬鎴愮殑璁″垝鍒楄〃锛屽皬绋嬪簭璁″垝鍒楄〃椤典娇鐢�-->
+  <select id="getCompletedPlans" resultType="com.dy.pipIrrGlobal.voIr.VoPlans">
+    SELECT
+      id AS planId,
+      plan_name AS planName,
+      startup_mode AS startupMode,
+      plan_start_time AS planStartTime,
+      plan_stop_time AS planStopTime,
+      duration,
+      IF(plan_state = 1,'鑽夌',
+         IF(NOW() &lt; plan_start_time, '鏈墽琛�',
+            IF(NOW() &gt;= plan_start_time AND NOW() &lt; plan_stop_time, '鎵ц涓�', '宸插畬鎴�')
+        )
+      ) AS planState
+    FROM ir_irrigate_plan plan
+    WHERE deleted = 0 AND (plan_state = 2 AND NOW() &gt;= plan_stop_time)
+    ORDER BY plan_state DESC
+  </select>
+
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0