From 5599ea07c557223e5a8f0acae755de852d2fe008 Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期三, 26 二月 2025 17:43:46 +0800 Subject: [PATCH] Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV --- pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrIrrigatePlanMapper.java | 22 ++ pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmAlarmStateLastMapper.xml | 8 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/qo/QoIrrigatePlan.java | 42 ++++ pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigatePlanMapper.xml | 113 ++++++++++ pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/IrrigatePlanCtrl.java | 24 ++ pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoIrrigatePlan.java | 71 +++++++ pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/IrrigatePlanSv.java | 24 ++ pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoIr/IrIrrigatePlan.java | 41 ++- pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmAlarmStateHistoryMapper.xml | 221 +++++++++++----------- 9 files changed, 421 insertions(+), 145 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..697f90e 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,12 +2,16 @@ 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 - * @date 2025-02-20 15:33 - * @LastEditTime 2025-02-20 15:33 + * @date 2025-02-25 14:59 + * @LastEditTime 2025-02-25 14:59 * @Description */ @@ -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/pojoIr/IrIrrigatePlan.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoIr/IrIrrigatePlan.java index f0c2679..90c7951 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoIr/IrIrrigatePlan.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoIr/IrIrrigatePlan.java @@ -30,54 +30,59 @@ public static final long serialVersionUID = 202502201543001L; /** - * 涓婚敭 - */ + * 涓婚敭 + */ @JSONField(serializeUsing= ObjectWriterImplToString.class) @TableId(type = IdType.INPUT) private Long id; /** - * 椤圭洰ID - */ + * 椤圭洰ID + */ private Long projectId; /** - * 璁″垝鍚嶇О - */ + * 璁″垝鍚嶇О + */ @NotBlank(message = "璁″垝鍚嶇О涓嶈兘涓虹┖") private String planName; /** - * 璁″垝鍚姩妯″紡;1-鎵嬪姩鍚姩锛�2-鑷姩鍚姩 - */ + * 璁″垝鍚姩妯″紡;1-鎵嬪姩鍚姩锛�2-鑷姩鍚姩 + */ @NotNull(message = "璁″垝鍚姩妯″紡涓嶈兘涓虹┖") private Byte startupMode; /** - * 鐏屾簤寮�濮嬫椂闂�;绮剧‘鍒板垎 - */ + * 鐏屾簤寮�濮嬫椂闂�;绮剧‘鍒板垎 + */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date planStartTime; /** - * 鐏屾簤缁撴潫鏃堕棿;绮剧‘鍒板垎 - */ + * 鐏屾簤缁撴潫鏃堕棿;绮剧‘鍒板垎 + */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date planStopTime; /** - * 璁″垝鐘舵��;1-鑽夌锛�2-宸插彂甯� - */ + * 鐏屾簤鏃堕暱;鍒嗛挓 + */ + private Integer duration; + + /** + * 璁″垝鐘舵��;1-鑽夌锛�2-宸插彂甯� + */ private Byte planState; /** - * 鎵ц鐘舵��;1-鏈墽琛岋紝2-鎵ц涓紝3-宸叉殏鍋滐紝4-宸茬粓姝紝5-宸插畬鎴� - */ + * 鎵ц鐘舵��;1-鏈墽琛岋紝2-鎵ц涓紝3-宸叉殏鍋滐紝4-宸茬粓姝紝5-宸插畬鎴� + */ private Byte executingState; /** - * 閫昏緫鍒犻櫎鏍囪瘑;鏈垹闄や负0锛屽凡鍒犻櫎涓哄垹闄ゆ椂闂� - */ + * 閫昏緫鍒犻櫎鏍囪瘑;鏈垹闄や负0锛屽凡鍒犻櫎涓哄垹闄ゆ椂闂� + */ private Long deleted; } \ 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..3eb8770 --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoIrrigatePlan.java @@ -0,0 +1,71 @@ +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", "duration", "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; + + /** + * 鐏屾簤鏃堕暱 + */ + private Integer duration; + + /** + * 璁″垝鐘舵�侊紱1-鑽夌锛�2-宸插彂甯� + */ + private String planState; + + /** + * 璁″垝鎵ц鐘舵�侊紱1-鏈墽琛岋紝2-鎵ц涓紝3-宸叉殏鍋滐紝4-宸茬粓姝紝5-宸插畬鎴� + */ + 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..bbf7b56 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigatePlanMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigatePlanMapper.xml @@ -10,14 +10,15 @@ <result column="startup_mode" jdbcType="TINYINT" property="startupMode" /> <result column="plan_start_time" jdbcType="TIMESTAMP" property="planStartTime" /> <result column="plan_stop_time" jdbcType="TIMESTAMP" property="planStopTime" /> + <result column="duration" jdbcType="INTEGER" property="duration" /> <result column="plan_state" jdbcType="TINYINT" property="planState" /> <result column="executing_state" jdbcType="TINYINT" property="executingState" /> <result column="deleted" jdbcType="BIGINT" property="deleted" /> </resultMap> <sql id="Base_Column_List"> <!--@mbg.generated--> - id, project_id, plan_name, startup_mode, plan_start_time, plan_stop_time, plan_state, - executing_state, deleted + id, project_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"> <!--@mbg.generated--> @@ -35,12 +36,12 @@ <!--@mbg.generated--> insert into ir_irrigate_plan (id, project_id, plan_name, startup_mode, plan_start_time, plan_stop_time, - plan_state, executing_state, deleted - ) + duration, plan_state, executing_state, + deleted) values (#{id,jdbcType=BIGINT}, #{projectId,jdbcType=BIGINT}, #{planName,jdbcType=VARCHAR}, #{startupMode,jdbcType=TINYINT}, #{planStartTime,jdbcType=TIMESTAMP}, #{planStopTime,jdbcType=TIMESTAMP}, - #{planState,jdbcType=TINYINT}, #{executingState,jdbcType=TINYINT}, #{deleted,jdbcType=BIGINT} - ) + #{duration,jdbcType=INTEGER}, #{planState,jdbcType=TINYINT}, #{executingState,jdbcType=TINYINT}, + #{deleted,jdbcType=BIGINT}) </insert> <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoIr.IrIrrigatePlan"> <!--@mbg.generated--> @@ -63,6 +64,9 @@ </if> <if test="planStopTime != null"> plan_stop_time, + </if> + <if test="duration != null"> + duration, </if> <if test="planState != null"> plan_state, @@ -92,6 +96,9 @@ </if> <if test="planStopTime != null"> #{planStopTime,jdbcType=TIMESTAMP}, + </if> + <if test="duration != null"> + #{duration,jdbcType=INTEGER}, </if> <if test="planState != null"> #{planState,jdbcType=TINYINT}, @@ -123,6 +130,9 @@ <if test="planStopTime != null"> plan_stop_time = #{planStopTime,jdbcType=TIMESTAMP}, </if> + <if test="duration != null"> + duration = #{duration,jdbcType=INTEGER}, + </if> <if test="planState != null"> plan_state = #{planState,jdbcType=TINYINT}, </if> @@ -143,6 +153,7 @@ startup_mode = #{startupMode,jdbcType=TINYINT}, plan_start_time = #{planStartTime,jdbcType=TIMESTAMP}, plan_stop_time = #{planStopTime,jdbcType=TIMESTAMP}, + duration = #{duration,jdbcType=INTEGER}, plan_state = #{planState,jdbcType=TINYINT}, executing_state = #{executingState,jdbcType=TINYINT}, deleted = #{deleted,jdbcType=BIGINT} @@ -153,4 +164,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..1dad843 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmAlarmStateHistoryMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmAlarmStateHistoryMapper.xml @@ -350,12 +350,12 @@ where id = #{id,jdbcType=BIGINT} </update> <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇璁板綍鎬绘暟--> -<select id="getRecordCount" resultType="java.lang.Long"> - select count(*) - from rm_alarm_state_history rash - Left join pr_intake pint on rash.intake_id = pint.id - <where> - <if test="alarmState == 1"> + <select id="getRecordCount" resultType="java.lang.Long"> + select count(*) + from rm_alarm_state_history rash + Left join pr_intake pint on rash.intake_id = pint.id + <where> + <if test="alarmState == 1"> and ( alarm_remain_water = 1 or alarm0_water_remain = 1 @@ -373,123 +373,122 @@ or alarm_battery_volt = 1 or alarm_valve = 1 ) - </if> - <if test="alarmState == 0"> - and ( - alarm_remain_water = 0 - and alarm0_water_remain = 0 - and alarm_exceed_year = 0 - and alarm_water_meter_fault = 0 - and alarm_loss = 0 - and alarm_water_meter_break = 0 - and alarm_ele_meter_fault = 0 - and alarm0_money_remain = 0 - and alarm_inner_door = 0 - and alarm_outer_door = 0 - and alarm_ele_miss = 0 - and alarm_ele_exceed = 0 - and alarm_ele_low_volt = 0 - and alarm_battery_volt = 0 - and alarm_valve = 0 - ) - </if> - <if test="valveState != null"> - and rash.valve_state = #{valveState,jdbcType=TINYINT} - </if> - <if test="intakeId != null and intakeId != '' "> - and rash.intake_id = #{intakeId} - </if> - <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> - <if test="endDt != null"> - and rash.dt <= #{endDt,jdbcType=TIMESTAMP} - </if> - </where> - </select> - <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇璁板綍--> - <select id="getControllerAlarmStateHistory" resultType="com.dy.pipIrrGlobal.voRm.VoControllerAlarmState"> - select - CAST(rash.controller_id AS char)AS controllerId, - CAST(rash.intake_id AS char)AS intakeId, - pint.name as intakeName, - rash.rtu_addr as rtuAddr, - rash.dt as dt, - rash.valve_state as valveState, - rash.alarm_remain_water as alarmRemainWater, - rash.alarm0_water_remain as alarm0WaterRemain, - rash.alarm_exceed_year as alarmExceedYear, - rash.alarm_water_meter_fault as alarmWaterMeterFault, - rash.alarm_loss as alarmLoss, - rash.alarm_water_meter_break as alarmWaterMeterBreak, - rash.alarm_ele_meter_fault as alarmEleMeterFault, - rash.alarm0_money_remain as alarm0MoneyRemain, - rash.alarm_inner_door as alarmInnerDoor, - rash.alarm_outer_door as alarmOuterDoor, - rash.alarm_ele_miss as alarmEleMiss, - rash.alarm_ele_exceed as alarmEleExceed, - rash.alarm_ele_low_volt as alarmEleLowVolt, - rash.state_ic_enable as stateIcEnable, - rash.alarm_battery_volt as alarmBatteryVolt, - rash.alarm_valve as alarmValve, - rash.power_type as powerType - from rm_alarm_state_history rash - Left join pr_intake pint on rash.intake_id = pint.id - <where> - <if test="alarmState == 1"> - and ( - alarm_remain_water = 1 - or alarm0_water_remain = 1 - or alarm_exceed_year = 1 - or alarm_water_meter_fault = 1 - or alarm_loss = 1 - or alarm_water_meter_break = 1 - or alarm_ele_meter_fault = 1 - or alarm0_money_remain = 1 - or alarm_inner_door = 1 - or alarm_outer_door = 1 - or alarm_ele_miss = 1 - or alarm_ele_exceed = 1 - or alarm_ele_low_volt = 1 - or alarm_battery_volt = 1 - or alarm_valve = 1 - ) </if> <if test="alarmState == 0"> and ( - alarm_remain_water = 0 - and alarm0_water_remain = 0 - and alarm_exceed_year = 0 - and alarm_water_meter_fault = 0 - and alarm_loss = 0 - and alarm_water_meter_break = 0 - and alarm_ele_meter_fault = 0 - and alarm0_money_remain = 0 - and alarm_inner_door = 0 - and alarm_outer_door = 0 - and alarm_ele_miss = 0 - and alarm_ele_exceed = 0 - and alarm_ele_low_volt = 0 - and alarm_battery_volt = 0 - and alarm_valve = 0 - ) + alarm_remain_water = 0 + and alarm0_water_remain = 0 + and alarm_exceed_year = 0 + and alarm_water_meter_fault = 0 + and alarm_loss = 0 + and alarm_water_meter_break = 0 + and alarm_ele_meter_fault = 0 + and alarm0_money_remain = 0 + and alarm_inner_door = 0 + and alarm_outer_door = 0 + and alarm_ele_miss = 0 + and alarm_ele_exceed = 0 + and alarm_ele_low_volt = 0 + and alarm_battery_volt = 0 + and alarm_valve = 0 + ) </if> <if test="valveState != null"> and rash.valve_state = #{valveState,jdbcType=TINYINT} </if> - <if test="intakeId != null and intakeId != '' "> + <if test="intakeId != null and intakeId != ''"> and rash.intake_id = #{intakeId} </if> - <if test="intakeName != null and intakeName != '' "> - and pint.name like CONCAT('%',#{intakeName,jdbcType=VARCHAR},'%') + <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 rash.dt >= #{startDt,jdbcType=TIMESTAMP} </if> - <if test="endDt != null"> + <if test="endDt != null and endDt != ''"> + and rash.dt <= #{endDt,jdbcType=TIMESTAMP} + </if> + </where> + </select> + <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇璁板綍--> + <select id="getControllerAlarmStateHistory" resultType="com.dy.pipIrrGlobal.voRm.VoControllerAlarmState"> + select CAST(rash.controller_id AS char) AS controllerId, + CAST(rash.intake_id AS char) AS intakeId, + pint.name as intakeName, + rash.rtu_addr as rtuAddr, + rash.dt as dt, + rash.valve_state as valveState, + rash.alarm_remain_water as alarmRemainWater, + rash.alarm0_water_remain as alarm0WaterRemain, + rash.alarm_exceed_year as alarmExceedYear, + rash.alarm_water_meter_fault as alarmWaterMeterFault, + rash.alarm_loss as alarmLoss, + rash.alarm_water_meter_break as alarmWaterMeterBreak, + rash.alarm_ele_meter_fault as alarmEleMeterFault, + rash.alarm0_money_remain as alarm0MoneyRemain, + rash.alarm_inner_door as alarmInnerDoor, + rash.alarm_outer_door as alarmOuterDoor, + rash.alarm_ele_miss as alarmEleMiss, + rash.alarm_ele_exceed as alarmEleExceed, + rash.alarm_ele_low_volt as alarmEleLowVolt, + rash.state_ic_enable as stateIcEnable, + rash.alarm_battery_volt as alarmBatteryVolt, + rash.alarm_valve as alarmValve, + rash.power_type as powerType + from rm_alarm_state_history rash + Left join pr_intake pint on rash.intake_id = pint.id + <where> + <if test="alarmState == 1"> + and ( + alarm_remain_water = 1 + or alarm0_water_remain = 1 + or alarm_exceed_year = 1 + or alarm_water_meter_fault = 1 + or alarm_loss = 1 + or alarm_water_meter_break = 1 + or alarm_ele_meter_fault = 1 + or alarm0_money_remain = 1 + or alarm_inner_door = 1 + or alarm_outer_door = 1 + or alarm_ele_miss = 1 + or alarm_ele_exceed = 1 + or alarm_ele_low_volt = 1 + or alarm_battery_volt = 1 + or alarm_valve = 1 + ) + </if> + <if test="alarmState == 0"> + and ( + alarm_remain_water = 0 + and alarm0_water_remain = 0 + and alarm_exceed_year = 0 + and alarm_water_meter_fault = 0 + and alarm_loss = 0 + and alarm_water_meter_break = 0 + and alarm_ele_meter_fault = 0 + and alarm0_money_remain = 0 + and alarm_inner_door = 0 + and alarm_outer_door = 0 + and alarm_ele_miss = 0 + and alarm_ele_exceed = 0 + and alarm_ele_low_volt = 0 + and alarm_battery_volt = 0 + and alarm_valve = 0 + ) + </if> + <if test="valveState != null"> + and rash.valve_state = #{valveState,jdbcType=TINYINT} + </if> + <if test="intakeId != null and intakeId != ''"> + and rash.intake_id = #{intakeId} + </if> + <if test="intakeName != null and intakeName != ''"> + and pint.name like CONCAT('%', #{intakeName,jdbcType=VARCHAR}, '%') + </if> + <if test="startDt != null and startDt != ''"> + and rash.dt >= #{startDt,jdbcType=TIMESTAMP} + </if> + <if test="endDt != null and endDt != ''"> and rash.dt <= #{endDt,jdbcType=TIMESTAMP} </if> </where> 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/IrrigatePlanCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/IrrigatePlanCtrl.java index 246fb29..1e9be73 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/IrrigatePlanCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/IrrigatePlanCtrl.java @@ -2,25 +2,25 @@ import com.dy.common.webUtil.BaseResponse; import com.dy.common.webUtil.BaseResponseUtils; +import com.dy.common.webUtil.QueryResultVo; import com.dy.pipIrrGlobal.pojoIr.IrIrrigatePlan; import com.dy.pipIrrGlobal.pojoIr.IrIrrigateSchedule; import com.dy.pipIrrGlobal.pojoIr.IrOpeningSchedule; import com.dy.pipIrrGlobal.pojoIr.IrPlanOperate; +import com.dy.pipIrrGlobal.voIr.VoIrrigatePlan; import com.dy.pipIrrGlobal.voIr.VoIrrigateSchedule; import com.dy.pipIrrWechat.irrigatePlan.dto.IrrigatePlan; import com.dy.pipIrrWechat.irrigatePlan.dto.IrrigateSchedule; import com.dy.pipIrrWechat.irrigatePlan.dto.PlanSimple; import com.dy.pipIrrWechat.irrigatePlan.enums.OperateTypeENUM; +import com.dy.pipIrrWechat.irrigatePlan.qo.QoIrrigatePlan; import jakarta.validation.Valid; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.http.MediaType; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.BindingResult; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.util.Date; import java.util.List; @@ -171,4 +171,20 @@ } return BaseResponseUtils.buildSuccess(); } + + /** + * 鑾峰彇鐏屾簤璁″垝鍒楄〃 + * @param vo + * @return + */ + @GetMapping(path = "/getIrrigatePlans") + public BaseResponse<QueryResultVo<List<VoIrrigatePlan>>> getIrrigatePlans(QoIrrigatePlan vo) { + try { + QueryResultVo<List<VoIrrigatePlan>> res = irrigatePlanSv.getIrrigatePlans(vo); + return BaseResponseUtils.buildSuccess(res); + } catch (Exception e) { + log.error("鑾峰彇杞亴缁勮褰曞紓甯�", e); + return BaseResponseUtils.buildException(e.getMessage()); + } + } } 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..c75639d 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 @@ -1,16 +1,21 @@ package com.dy.pipIrrWechat.irrigatePlan; +import com.dy.common.webUtil.QueryResultVo; import com.dy.pipIrrGlobal.daoIr.*; import com.dy.pipIrrGlobal.pojoIr.IrIrrigatePlan; import com.dy.pipIrrGlobal.pojoIr.IrIrrigateSchedule; import com.dy.pipIrrGlobal.pojoIr.IrOpeningSchedule; import com.dy.pipIrrGlobal.pojoIr.IrPlanOperate; +import com.dy.pipIrrGlobal.voIr.VoIrrigatePlan; import com.dy.pipIrrGlobal.voIr.VoIrrigateSchedule; +import com.dy.pipIrrWechat.irrigatePlan.qo.QoIrrigatePlan; import lombok.extern.slf4j.Slf4j; +import org.apache.dubbo.common.utils.PojoUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; +import java.util.Map; /** * @author ZhuBaoMin @@ -51,6 +56,25 @@ } /** + * 鏍规嵁鎸囧畾鐨勬潯浠惰幏鍙栬鍒掑垪琛� + * @param queryVo + * @return + */ + public QueryResultVo<List<VoIrrigatePlan>> getIrrigatePlans(QoIrrigatePlan queryVo) { + Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo); + + Long itemTotal = irrigatePlanMapper.getIrrigatePlanCount(params); + + QueryResultVo<List<VoIrrigatePlan>> rsVo = new QueryResultVo<>(); + rsVo.pageSize = queryVo.pageSize; + rsVo.pageCurr = queryVo.pageCurr; + + rsVo.calculateAndSet(itemTotal, params); + rsVo.obj = irrigatePlanMapper.getIrrigatePlans(params); + return rsVo; + } + + /** * 鍙戝竷鎸囧畾鐨勭亴婧夎鍒� * @param planId * @return diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/qo/QoIrrigatePlan.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/qo/QoIrrigatePlan.java new file mode 100644 index 0000000..2c10a36 --- /dev/null +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/qo/QoIrrigatePlan.java @@ -0,0 +1,42 @@ +package com.dy.pipIrrWechat.irrigatePlan.qo; + +import com.dy.common.webUtil.QueryConditionVo; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * @author ZhuBaoMin + * @date 2025-02-25 15:42 + * @LastEditTime 2025-02-25 15:42 + * @Description 鐏屾簤璁″垝鏌ヨ瀵硅薄 + */ + +@Data +@EqualsAndHashCode(callSuper = false) +public class QoIrrigatePlan extends QueryConditionVo { + + /** + * 椤圭洰鍚嶇О + */ + private String projectName; + + /** + * 璁″垝鍚嶇О + */ + private String planName; + + /** + * 璁″垝鍚姩妯″紡锛�1-鎵嬪姩鍚姩锛�2-鑷姩鍚姩 + */ + private Byte startupMode; + + /** + * 璁″垝鐘舵�侊紱1-鑽夌锛�2-宸插彂甯� + */ + private Byte planState; + + /** + * 鎵ц鐘舵�侊紱1-鏈墽琛岋紝2-鎵ц涓紝3-宸叉殏鍋滐紝4-宸茬粓姝紝5-宸插畬鎴� + */ + private Byte executingState; +} -- Gitblit v1.8.0