zhubaomin
2025-02-25 356331d8401267aa7aeb409d1314537aa25ac5ad
解决控制器报警与状态SQL语句的错误
5个文件已修改
1个文件已添加
202 ■■■■■ 已修改文件
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrIrrigatePlanMapper.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoIrrigatePlan.java 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigatePlanMapper.xml 90 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmAlarmStateHistoryMapper.xml 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmAlarmStateLastMapper.xml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/IrrigatePlanSv.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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);
}
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoIrrigatePlan.java
New file
@@ -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;
}
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>
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
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>
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