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 >= #{startDt,jdbcType=TIMESTAMP} + <if test="startDt != null and startDt != ''"> + and rasl.dt >= #{startDt,jdbcType=TIMESTAMP} </if> - <if test="endDt != null"> - and rash.dt <= #{endDt,jdbcType=TIMESTAMP} + <if test="endDt != null and endDt != ''"> + and rasl.dt <= #{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 >= #{startDt,jdbcType=TIMESTAMP} + <if test="startDt != null and startDt != ''"> + and rasl.dt >= #{startDt,jdbcType=TIMESTAMP} </if> - <if test="endDt != null"> - and rash.dt <= #{endDt,jdbcType=TIMESTAMP} + <if test="endDt != null and endDt != ''"> + and rasl.dt <= #{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 >= #{startDt,jdbcType=TIMESTAMP} </if> - <if test="endDt != null"> + <if test="endDt != null and endDt != ''"> and rasl.dt <= #{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 >= #{startDt,jdbcType=TIMESTAMP} </if> - <if test="endDt != null"> + <if test="endDt != null and endDt != ''"> and rasl.dt <= #{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