From 356331d8401267aa7aeb409d1314537aa25ac5ad Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期二, 25 二月 2025 14:33:03 +0800
Subject: [PATCH] 解决控制器报警与状态SQL语句的错误

---
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrIrrigatePlanMapper.java                 |   18 ++++
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmAlarmStateLastMapper.xml                              |    8 +-
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigatePlanMapper.xml                                |   90 ++++++++++++++++++++++
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoIrrigatePlan.java                        |   66 ++++++++++++++++
 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/IrrigatePlanSv.java |    4 +
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmAlarmStateHistoryMapper.xml                           |   16 ++--
 6 files changed, 190 insertions(+), 12 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 dacdfb0..8ef4634 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
@@ -2,7 +2,11 @@
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.dy.pipIrrGlobal.pojoIr.IrIrrigatePlan;
+import com.dy.pipIrrGlobal.voIr.VoIrrigatePlan;
 import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+import java.util.Map;
 
 /**
  * @author ZhuBaoMin
@@ -31,4 +35,18 @@
      * @return
      */
     int publishIrrigatePlan(Long planId);
+
+    /**
+     * 鏍规嵁鎸囧畾鐨勬潯浠惰幏鍙栬鍒掓暟閲�
+     * @param params
+     * @return
+     */
+    Long getIrrigatePlanCount(Map<?, ?> params);
+
+    /**
+     * 鏍规嵁鎸囧畾鐨勬潯浠惰幏鍙栬鍒掑垪琛�
+     * @param params
+     * @return
+     */
+    List<VoIrrigatePlan> getIrrigatePlans(Map<?, ?> params);
 }
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoIrrigatePlan.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoIrrigatePlan.java
new file mode 100644
index 0000000..cbaa7bf
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoIrrigatePlan.java
@@ -0,0 +1,66 @@
+package com.dy.pipIrrGlobal.voIr;
+
+import com.alibaba.fastjson2.annotation.JSONField;
+import com.alibaba.fastjson2.writer.ObjectWriterImplToString;
+import com.dy.common.po.BaseEntity;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2025-02-24 16:51
+ * @LastEditTime 2025-02-24 16:51
+ * @Description 鐏屾簤璁″垝瑙嗗浘瀵硅薄
+ */
+
+@Data
+@JsonPropertyOrder({"planId", "projectName", "planName", "startupMode", "startTime", "stopTime", "planState", "executingState"})
+public class VoIrrigatePlan implements BaseEntity {
+    public static final long serialVersionUID = 202502241652001L;
+
+    /**
+     * 璁″垝ID
+     */
+    @JSONField(serializeUsing= ObjectWriterImplToString.class)
+    private Long planId;
+
+    /**
+     * 鎵�灞為」鐩悕绉�
+     */
+    private String projectName;
+
+    /**
+     * 璁″垝鍚嶇О
+     */
+    private String planName;
+
+    /**
+     * 璁″垝鍚姩妯″紡锛�1-鎵嬪姩鍚姩锛�2-鑷姩鍚姩
+     */
+    private String startupMode;
+
+    /**
+     * 鐏屾簤寮�濮嬫椂闂达紱绮剧‘鍒板垎
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
+    private Date startTime;
+
+    /**
+     * 鐏屾簤缁撴潫鏃堕棿锛涚簿纭埌鍒�
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
+    private Date stopTime;
+
+    /**
+     * 璁″垝鐘舵�侊紱1-鑽夌锛�2-宸插彂甯�
+     */
+    private String planState;
+
+    /**
+     * 璁″垝鎵ц鐘舵��
+     */
+    private String executingState;
+}
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 d0dcde5..abd6ed3 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigatePlanMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigatePlanMapper.xml
@@ -153,4 +153,94 @@
   <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>
+
+      <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>
+  </select>
+
+  <!--鏍规嵁鎸囧畾鐨勬潯浠惰幏鍙栬鍒掑垪琛�-->
+  <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,
+      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>
 </mapper>
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmAlarmStateHistoryMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmAlarmStateHistoryMapper.xml
index 5fc59a3..5604c9a 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmAlarmStateHistoryMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmAlarmStateHistoryMapper.xml
@@ -402,11 +402,11 @@
         <if test="intakeName != null and intakeName != '' ">
             and pint.name like CONCAT('%',#{intakeName,jdbcType=VARCHAR},'%')
         </if>
-        <if test="startDt != null">
-             and rash.dt &gt;= #{startDt,jdbcType=TIMESTAMP}
+        <if test="startDt != null and startDt != ''">
+            and rasl.dt &gt;= #{startDt,jdbcType=TIMESTAMP}
         </if>
-        <if test="endDt != null">
-             and rash.dt &lt;= #{endDt,jdbcType=TIMESTAMP}
+        <if test="endDt != null and endDt != ''">
+            and rasl.dt &lt;= #{endDt,jdbcType=TIMESTAMP}
         </if>
         </where>
     </select>
@@ -486,11 +486,11 @@
             <if test="intakeName != null and intakeName != '' ">
                 and pint.name like CONCAT('%',#{intakeName,jdbcType=VARCHAR},'%')
             </if>
-            <if test="startDt != null">
-                and rash.dt &gt;= #{startDt,jdbcType=TIMESTAMP}
+            <if test="startDt != null and startDt != ''">
+                and rasl.dt &gt;= #{startDt,jdbcType=TIMESTAMP}
             </if>
-            <if test="endDt != null">
-                and rash.dt &lt;= #{endDt,jdbcType=TIMESTAMP}
+            <if test="endDt != null and endDt != ''">
+                and rasl.dt &lt;= #{endDt,jdbcType=TIMESTAMP}
             </if>
         </where>
         ORDER BY rash.id DESC
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmAlarmStateLastMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmAlarmStateLastMapper.xml
index 53147f1..cb93292 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmAlarmStateLastMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmAlarmStateLastMapper.xml
@@ -396,10 +396,10 @@
       <if test="intakeName != null and intakeName != '' ">
         and pint.name like CONCAT('%',#{intakeName,jdbcType=VARCHAR},'%')
       </if>
-      <if test="startDt != null">
+      <if test="startDt != null and startDt != ''">
         and rasl.dt &gt;= #{startDt,jdbcType=TIMESTAMP}
       </if>
-      <if test="endDt != null">
+      <if test="endDt != null and endDt != ''">
         and rasl.dt &lt;= #{endDt,jdbcType=TIMESTAMP}
       </if>
     </where>
@@ -480,10 +480,10 @@
       <if test="intakeName != null and intakeName != '' ">
         and pint.name like CONCAT('%',#{intakeName,jdbcType=VARCHAR},'%')
       </if>
-      <if test="startDt != null">
+      <if test="startDt != null and startDt != ''">
         and rasl.dt &gt;= #{startDt,jdbcType=TIMESTAMP}
       </if>
-      <if test="endDt != null">
+      <if test="endDt != null and endDt != ''">
         and rasl.dt &lt;= #{endDt,jdbcType=TIMESTAMP}
       </if>
     </where>
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 c0875cf..e205fb6 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
@@ -50,6 +50,10 @@
         return po.getId();
     }
 
+    //public List<VoIrrigatePlan> getIrrigatePlans(Map<?, ?> params {
+    //    return irrigatePlanMapper.getIrrigatePlans(params);
+    //}
+
     /**
      * 鍙戝竷鎸囧畾鐨勭亴婧夎鍒�
      * @param planId

--
Gitblit v1.8.0