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 | 227 +++++++++++++++++++++++++++++++++++---------------------
1 files changed, 140 insertions(+), 87 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 7f5b8fc..08b7a87 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigatePlanMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigatePlanMapper.xml
@@ -5,6 +5,7 @@
<!--@mbg.generated-->
<!--@Table ir_irrigate_plan-->
<id column="id" jdbcType="BIGINT" property="id" />
+ <result column="project_id" jdbcType="BIGINT" property="projectId" />
<result column="plan_name" jdbcType="VARCHAR" property="planName" />
<result column="startup_mode" jdbcType="TINYINT" property="startupMode" />
<result column="plan_start_time" jdbcType="TIMESTAMP" property="planStartTime" />
@@ -16,7 +17,7 @@
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
- id, plan_name, startup_mode, plan_start_time, plan_stop_time, duration,
+ 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">
@@ -33,11 +34,11 @@
</delete>
<insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoIr.IrIrrigatePlan">
<!--@mbg.generated-->
- insert into ir_irrigate_plan (id, plan_name,
+ insert into ir_irrigate_plan (id, project_id, plan_name,
startup_mode, plan_start_time, plan_stop_time,
duration, plan_state, executing_state,
deleted)
- values (#{id,jdbcType=BIGINT}, #{planName,jdbcType=VARCHAR},
+ values (#{id,jdbcType=BIGINT}, #{projectId,jdbcType=BIGINT}, #{planName,jdbcType=VARCHAR},
#{startupMode,jdbcType=TINYINT}, #{planStartTime,jdbcType=TIMESTAMP}, #{planStopTime,jdbcType=TIMESTAMP},
#{duration,jdbcType=INTEGER}, #{planState,jdbcType=TINYINT}, #{executingState,jdbcType=TINYINT},
#{deleted,jdbcType=BIGINT})
@@ -48,6 +49,9 @@
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
id,
+ </if>
+ <if test="projectId != null">
+ project_id,
</if>
<if test="planName != null">
plan_name,
@@ -77,6 +81,9 @@
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
#{id,jdbcType=BIGINT},
+ </if>
+ <if test="projectId != null">
+ #{projectId,jdbcType=BIGINT},
</if>
<if test="planName != null">
#{planName,jdbcType=VARCHAR},
@@ -108,6 +115,9 @@
<!--@mbg.generated-->
update ir_irrigate_plan
<set>
+ <if test="projectId != null">
+ project_id = #{projectId,jdbcType=BIGINT},
+ </if>
<if test="planName != null">
plan_name = #{planName,jdbcType=VARCHAR},
</if>
@@ -138,7 +148,8 @@
<update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoIr.IrIrrigatePlan">
<!--@mbg.generated-->
update ir_irrigate_plan
- set plan_name = #{planName,jdbcType=VARCHAR},
+ set project_id = #{projectId,jdbcType=BIGINT},
+ plan_name = #{planName,jdbcType=VARCHAR},
startup_mode = #{startupMode,jdbcType=TINYINT},
plan_start_time = #{planStartTime,jdbcType=TIMESTAMP},
plan_stop_time = #{planStopTime,jdbcType=TIMESTAMP},
@@ -152,111 +163,111 @@
<!--鏍规嵁鎸囧畾鐨勮鍒扞D鑾峰彇鍚姩妯″紡-->
<select id="getStartupMode" resultType="java.lang.Byte">
SELECT
- startup_mode AS startupMode
+ 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>-->
+ <!-- <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="planName != null and planName != ''">-->
+ <!-- AND plan.plan_name LIKE CONCAT('%', #{planName}, '%')-->
+ <!-- </if>-->
-<!-- <if test="startupMode != null">-->
-<!-- AND plan.startup_mode = #{startupMode}-->
-<!-- </if>-->
+ <!-- <if test="startupMode != null">-->
+ <!-- AND plan.startup_mode = #{startupMode}-->
+ <!-- </if>-->
-<!-- <if test="planState != null">-->
-<!-- AND plan.plan_state = #{planState}-->
-<!-- </if>-->
+ <!-- <if test="planState != null">-->
+ <!-- AND plan.plan_state = #{planState}-->
+ <!-- </if>-->
-<!-- <if test="executingState != null">-->
-<!-- AND plan.executing_state = #{executingState}-->
-<!-- </if>-->
-<!-- </where>-->
-<!-- </select>-->
+ <!-- <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,-->
+ <!-- <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>-->
+ <!-- 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="planName != null and planName != ''">-->
+ <!-- AND plan.plan_name LIKE CONCAT('%', #{planName}, '%')-->
+ <!-- </if>-->
-<!-- <if test="startupMode != null">-->
-<!-- AND plan.startup_mode = #{startupMode}-->
-<!-- </if>-->
+ <!-- <if test="startupMode != null">-->
+ <!-- AND plan.startup_mode = #{startupMode}-->
+ <!-- </if>-->
-<!-- <if test="planState != null">-->
-<!-- AND plan.plan_state = #{planState}-->
-<!-- </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>-->
+ <!-- <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
+ 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
+ AND plan.deleted = 0 AND plan_state = 1
LIMIT 1
</select>
@@ -267,4 +278,46 @@
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