From 44a78bc47ab66d6492bc0579f58f24dc1921b5d5 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期四, 03 四月 2025 15:44:30 +0800
Subject: [PATCH] 1、webSocket相关代码进行了注解优化; 2、通信中间件把阀控器上报的阀门状态进行消息推送,前端、小程序可能用到(webSocket推送)。
---
pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigatePlanMapper.xml | 185 ++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 176 insertions(+), 9 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 d0dcde5..08b7a87 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,14 +153,171 @@
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}
where id = #{id,jdbcType=BIGINT}
</update>
- <!--鍙戝竷鎸囧畾鐨勭亴婧夎鍒�-->
- <update id="publishIrrigatePlan">
- UPDATE ir_irrigate_plan SET plan_state = 2 WHERE id = #{planId}
+ <!--鏍规嵁鎸囧畾鐨勮鍒扞D鑾峰彇鍚姩妯″紡-->
+ <select id="getStartupMode" resultType="java.lang.Byte">
+ SELECT
+ startup_mode AS startupMode
+ FROM ir_irrigate_plan
+ WHERE id = #{planId}
+ </select>
+
+ <!--鏍规嵁鎸囧畾鐨勬潯浠惰幏鍙栬鍒掓暟閲�-->
+ <!-- <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,-->
+ <!-- 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.startup_mode AS startupMode,
+ plan.plan_start_time AS planStartTime,
+ plan.duration AS duration
+ FROM ir_irrigate_plan plan
+ 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
+ pro.project_name AS projectName,
+ plan.id AS planId,
+ plan.plan_name AS planName,
+ plan.startup_mode AS startupMode,
+ plan.plan_start_time AS planStartTime,
+ plan.plan_stop_time AS planStopTime,
+ plan.duration,
+ IF(plan.plan_state = 1, 1,
+ IF(NOW() < plan.plan_start_time, 2,
+ IF(NOW() >= plan.plan_start_time AND NOW() < plan.plan_stop_time, 3, 4)
+ )
+ ) AS planState
+ FROM ir_irrigate_plan plan
+ INNER JOIN ir_project pro ON pro.id = plan.project_id
+ WHERE plan.deleted = 0 AND (plan.plan_state = 1 OR NOW() < plan.plan_stop_time)
+ ORDER BY plan.plan_state DESC
+ </select>
+
+ <!--鑾峰彇宸插畬鎴愮殑璁″垝鍒楄〃锛屽皬绋嬪簭璁″垝鍒楄〃椤典娇鐢�-->
+ <select id="getCompletedPlans" resultType="com.dy.pipIrrGlobal.voIr.VoPlans">
+ SELECT
+ pro.project_name AS projectName,
+ plan.id AS planId,
+ plan.plan_name AS planName,
+ plan.startup_mode AS startupMode,
+ plan.plan_start_time AS planStartTime,
+ plan.plan_stop_time AS planStopTime,
+ plan.duration,
+ IF(plan.plan_state = 1, 1,
+ IF(NOW() < plan.plan_start_time, 2,
+ IF(NOW() >= plan.plan_start_time AND NOW() < plan.plan_stop_time, 3, 4)
+ )
+ ) AS planState
+ FROM ir_irrigate_plan plan
+ INNER JOIN ir_project pro ON pro.id = plan.project_id
+ WHERE plan.deleted = 0 AND (plan.plan_state = 2 AND NOW() >= plan.plan_stop_time)
+ ORDER BY plan.plan_state DESC
+ </select>
+
</mapper>
\ No newline at end of file
--
Gitblit v1.8.0