From fea4afb0bf137c135e6cc59a74f9dff34966f813 Mon Sep 17 00:00:00 2001
From: Administrator <zhubaomin>
Date: 星期五, 07 六月 2024 09:45:38 +0800
Subject: [PATCH] 2024-06-07 朱宝民 添加接口:使用取水口ID可进行平台远程关阀

---
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmCommandHistoryMapper.xml |  104 ++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 81 insertions(+), 23 deletions(-)

diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmCommandHistoryMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmCommandHistoryMapper.xml
index f656fde..aee1cf2 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmCommandHistoryMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmCommandHistoryMapper.xml
@@ -7,7 +7,8 @@
     <id column="id" jdbcType="BIGINT" property="id" />
     <result column="command_code" jdbcType="VARCHAR" property="commandCode" />
     <result column="command_name" jdbcType="VARCHAR" property="commandName" />
-    <result column="rtuAddr" jdbcType="VARCHAR" property="rtuaddr" />
+    <result column="intake_id" jdbcType="BIGINT" property="intakeId" />
+    <result column="rtu_addr" jdbcType="VARCHAR" property="rtuAddr" />
     <result column="protocol" jdbcType="VARCHAR" property="protocol" />
     <result column="param" property="param" jdbcType="JAVA_OBJECT" typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" />
     <result column="send_time" jdbcType="TIMESTAMP" property="sendTime" />
@@ -18,7 +19,7 @@
   </resultMap>
   <sql id="Base_Column_List">
     <!--@mbg.generated-->
-    id, command_code, command_name, rtuAddr, protocol, param, send_time, `operator`, 
+    id, command_code, command_name, intake_id, rtu_addr, protocol, param, send_time, `operator`,
     `result`, result_time, result_text
   </sql>
   <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
@@ -36,11 +37,11 @@
   <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoRm.RmCommandHistory">
     <!--@mbg.generated-->
     insert into rm_command_history (id, command_code, command_name, 
-      rtuAddr, protocol, param, 
+      intake_id, rtu_addr, protocol, param,
       send_time, `operator`, `result`, 
       result_time, result_text)
-    values (#{id,jdbcType=BIGINT}, #{commandCode,jdbcType=VARCHAR}, #{commandName,jdbcType=VARCHAR}, 
-      #{rtuaddr,jdbcType=VARCHAR}, #{protocol,jdbcType=VARCHAR}, #{param,jdbcType= JAVA_OBJECT, typeHandler=com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler},
+    values (#{id,jdbcType=BIGINT}, #{commandCode,jdbcType=VARCHAR}, #{commandName,jdbcType=VARCHAR}, #{intakeId,jdbcType=BIGINT},
+      #{rtuAddr,jdbcType=VARCHAR}, #{protocol,jdbcType=VARCHAR}, #{param,jdbcType= JAVA_OBJECT, typeHandler=com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler},
       #{sendTime,jdbcType=TIMESTAMP}, #{operator,jdbcType=BIGINT}, #{result,jdbcType=TINYINT}, 
       #{resultTime,jdbcType=TIMESTAMP}, #{resultText,jdbcType= JAVA_OBJECT, typeHandler=com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler})
   </insert>
@@ -57,8 +58,11 @@
       <if test="commandName != null">
         command_name,
       </if>
-      <if test="rtuaddr != null">
-        rtuAddr,
+      <if test="intakeId != null">
+        intake_id,
+      </if>
+      <if test="rtuAddr != null">
+        rtu_addr,
       </if>
       <if test="protocol != null">
         protocol,
@@ -92,8 +96,11 @@
       <if test="commandName != null">
         #{commandName,jdbcType=VARCHAR},
       </if>
-      <if test="rtuaddr != null">
-        #{rtuaddr,jdbcType=VARCHAR},
+      <if test="intakeId != null">
+        #{intakeId,jdbcType=BIGINT},
+      </if>
+      <if test="rtuAddr != null">
+        #{rtuAddr,jdbcType=VARCHAR},
       </if>
       <if test="protocol != null">
         #{protocol,jdbcType=VARCHAR},
@@ -128,8 +135,11 @@
       <if test="commandName != null">
         command_name = #{commandName,jdbcType=VARCHAR},
       </if>
-      <if test="rtuaddr != null">
-        rtuAddr = #{rtuaddr,jdbcType=VARCHAR},
+      <if test="intakeId != null">
+        intake_id = #{intakeId,jdbcType=BIGINT},
+      </if>
+      <if test="rtuAddr != null">
+        rtu_addr = #{rtuAddr,jdbcType=VARCHAR},
       </if>
       <if test="protocol != null">
         protocol = #{protocol,jdbcType=VARCHAR},
@@ -160,7 +170,8 @@
     update rm_command_history
     set command_code = #{commandCode,jdbcType=VARCHAR},
       command_name = #{commandName,jdbcType=VARCHAR},
-      rtuAddr = #{rtuaddr,jdbcType=VARCHAR},
+      intake_id = #{intakeId,jdbcType=BIGINT},
+      rtu_addr = #{rtuAddr,jdbcType=VARCHAR},
       protocol = #{protocol,jdbcType=VARCHAR},
       param = #{param,jdbcType= JAVA_OBJECT, typeHandler=com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler},
       send_time = #{sendTime,jdbcType=TIMESTAMP},
@@ -171,20 +182,67 @@
     where id = #{id,jdbcType=BIGINT}
   </update>
 
-  <!--鏍规嵁鎿嶄綔鍛業D鑾峰彇鏈叧闃�璁板綍-->
+  <!--鏍规嵁鎿嶄綔鍛業D鑾峰彇鏈叧闃�璁板綍锛堝寘鍚湪绾挎儏鍐碉級-->
   <select id="getUnclosedValves" resultType="com.dy.pipIrrGlobal.voRm.VoUnclosedValve">
     SELECT
-      com.command_code AS commandCode,
-      inta.name AS intakeNum,
-      com.rtuAddr,
-      com.param ->>'$.orderNo' AS orderNo,
-      com.param ->>'$.icCardNo' AS vcNum,
-      com.send_time AS openTime
+        com.command_code AS commandCode,
+        inta.name AS intakeNum,
+        rtus.isOnLine,
+        com.rtu_addr AS rtuAddr,
+        com.param ->>'$.orderNo' AS orderNo,
+        com.param ->>'$.icCardNo' AS vcNum,
+        com.send_time AS openTime
     FROM rm_command_history com
-      INNER JOIN pr_controller con ON com.rtuAddr = con.rtuAddr
-      INNER JOIN pr_intake inta ON con.intakeId = inta.id
-    WHERE (com.command_code = '92' OR com.command_code = 'A2') AND com.operator = #{operator}
-      AND NOT EXISTS (SELECT * FROM rm_command_history WHERE (command_code = '93' OR command_code = 'A3') AND param ->>'$.orderNo' = com.param ->>'$.orderNo')
+        INNER JOIN pr_controller con ON com.rtu_addr = con.rtuAddr
+        INNER JOIN pr_intake inta ON con.intakeId = inta.id
+        INNER JOIN JSON_TABLE(
+            <!--'[{"rtuAddr":"37142501020100215","isOnLine":true},{"rtuAddr":"4000004","isOnLine":true},{"rtuAddr":"dy20240325","isOnLine":false}]',-->
+            #{onLineMap},
+            '$[*]' COLUMNS(
+                rtuAddr VARCHAR(20) PATH '$.rtuAddr',
+                isOnLine BOOLEAN PATH '$.isOnLine'
+            )
+        ) rtus ON com.rtu_addr = rtus.rtuAddr
+    <where>
+      AND (com.command_code = '92' OR com.command_code = 'A2' OR com.command_code = '97')
+      AND com.operator = #{operator}
+      AND NOT EXISTS (
+        SELECT *
+        FROM rm_command_history
+        WHERE (result IS NULL OR result = 1 )
+            AND (command_code = '93' OR command_code = 'A3' OR command_code = '98')
+            AND param ->>'$.orderNo' = com.param ->>'$.orderNo'
+      )
+    </where>
     ORDER BY com.send_time DESC
   </select>
+
+  <!--鏍规嵁鍙栨按鍙D鑾峰彇璇ュ彇姘村彛鏈叧闃�鍙傛暟-->
+  <select id="getUncloseParam" resultType="com.dy.pipIrrGlobal.voRm.VoUnclosedParam">
+    SELECT
+      com.rtu_addr AS rtuAddr,
+      com.param ->>'$.orderNo' AS orderNo,
+      com.param ->>'$.icCardNo' AS vcNum
+    FROM rm_command_history com
+      INNER JOIN pr_controller con ON com.rtu_addr = con.rtuAddr
+      INNER JOIN pr_intake inta ON con.intakeId = inta.id
+      INNER JOIN JSON_TABLE(
+      '[{"rtuAddr":"620201000029","isOnLine":true},{"rtuAddr":"4000004","isOnLine":true},{"rtuAddr":"dy20240325","isOnLine":false}]',
+      '$[*]' COLUMNS(
+      rtuAddr VARCHAR(20) PATH '$.rtuAddr',
+      isOnLine BOOLEAN PATH '$.isOnLine'
+      )
+      ) rtus ON com.rtu_addr = rtus.rtuAddr
+    WHERE (com.command_code = '92' OR com.command_code = 'A2' OR com.command_code = '97') AND con.intakeId = #{intakeId}
+      AND NOT EXISTS (
+      SELECT *
+      FROM rm_command_history
+      WHERE (result IS NULL OR result = 1 )
+      AND (command_code = '93' OR command_code = 'A3' OR command_code = '98')
+      AND param ->>'$.orderNo' = com.param ->>'$.orderNo'
+      )
+    ORDER BY com.send_time DESC
+      LIMIT 0,1
+  </select>
+
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0