From 16900a8d681aed70bca5b3fea8dc28715dde9712 Mon Sep 17 00:00:00 2001
From: Administrator <zhubaomin>
Date: 星期三, 17 七月 2024 09:53:13 +0800
Subject: [PATCH] 2024-07-17 朱宝民 重构了获取取水口两个接口

---
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrControllerMapper.xml |   58 ++++++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 44 insertions(+), 14 deletions(-)

diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrControllerMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrControllerMapper.xml
index fa997e8..e9b32bd 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrControllerMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrControllerMapper.xml
@@ -9,6 +9,7 @@
     <result column="rtuAddr" jdbcType="VARCHAR" property="rtuAddr" />
     <result column="protocol" jdbcType="VARCHAR" property="protocol" />
     <result column="findDt" jdbcType="TIMESTAMP" property="findDt" />
+    <result column="orgTag" jdbcType="VARCHAR" property="orgTag" />
     <result column="addWays" jdbcType="TINYINT" property="addWays" />
     <result column="operator" jdbcType="BIGINT" property="operator" />
     <result column="operateDt" jdbcType="TIMESTAMP" property="operateDt" />
@@ -22,7 +23,7 @@
 
   <sql id="Base_Column_List">
     <!--@mbg.generated-->
-    id, intakeId, rtuAddr, protocol, findDt, addWays, `operator`, operateDt, deleted
+    id, intakeId, rtuAddr, protocol, findDt, orgTag, addWays, `operator`, operateDt, deleted
   </sql>
   <sql id="Part_Column_List">
     <!--@mbg.generated-->
@@ -43,12 +44,13 @@
   <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoPr.PrController">
     <!--@mbg.generated-->
     insert into pr_controller (id, intakeId, rtuAddr,
-      protocol, findDt, addWays,
+      protocol, findDt, orgTag, addWays,
       `operator`, operateDt, deleted
       )
     values (#{id,jdbcType=BIGINT}, #{intakeId,jdbcType=BIGINT}, #{rtuAddr,jdbcType=VARCHAR},
-      #{protocol,jdbcType=VARCHAR}, #{findDt,jdbcType=TIMESTAMP}, #{addWays,jdbcType=TINYINT},
-      #{operator,jdbcType=BIGINT}, #{operateDt,jdbcType=TIMESTAMP}, #{deleted,jdbcType=TINYINT}
+      #{protocol,jdbcType=VARCHAR}, #{findDt,jdbcType=TIMESTAMP}, #{orgTag,jdbcType=VARCHAR},
+      #{addWays,jdbcType=TINYINT}, #{operator,jdbcType=BIGINT}, #{operateDt,jdbcType=TIMESTAMP},
+      #{deleted,jdbcType=TINYINT}
       )
   </insert>
   <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoPr.PrController">
@@ -69,6 +71,9 @@
       </if>
       <if test="findDt != null">
         findDt,
+      </if>
+      <if test="orgTag != null">
+        orgTag,
       </if>
       <if test="addWays != null">
         addWays,
@@ -98,6 +103,9 @@
       </if>
       <if test="findDt != null">
         #{findDt,jdbcType=TIMESTAMP},
+      </if>
+      <if test="orgTag != null">
+        #{orgTag,jdbcType=VARCHAR},
       </if>
       <if test="addWays != null">
         #{addWays,jdbcType=TINYINT},
@@ -129,6 +137,9 @@
       <if test="findDt != null">
         findDt = #{findDt,jdbcType=TIMESTAMP},
       </if>
+     <if test="orgTag != null">
+       orgTag = #{orgTag,jdbcType=VARCHAR},
+      </if>
       <if test="addWays != null">
         addWays = #{addWays,jdbcType=TINYINT},
       </if>
@@ -151,6 +162,7 @@
       rtuAddr = #{rtuAddr,jdbcType=VARCHAR},
       protocol = #{protocol,jdbcType=VARCHAR},
       findDt = #{findDt,jdbcType=TIMESTAMP},
+      orgTag = #{orgTag,jdbcType=VARCHAR},
       addWays = #{addWays,jdbcType=TINYINT},
       `operator` = #{operator,jdbcType=BIGINT},
       operateDt = #{operateDt,jdbcType=TIMESTAMP},
@@ -168,20 +180,28 @@
     SELECT
         COUNT(*) AS recordCount
     FROM pr_controller con
-        INNER JOIN pr_intake_controller ic ON ic.controllerId = con.id
-        INNER JOIN pr_intake inta ON con.intakeId = inta.id
+    LEFT JOIN pr_intake_controller ic ON ic.controllerId = con.id
+    INNER JOIN pr_intake inta ON con.intakeId = inta.id
+    left 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 con.rtuAddr = rtus.rtuAddr
     <where>
-      AND ic.operateType = 1
       AND con.deleted = 0
 
       <if test = "id != null and id > 0">
         AND con.id = ${id}
       </if>
-
       <if test = "rtuAddr != null and rtuAddr !=''">
         AND con.rtuAddr like CONCAT('%',#{rtuAddr},'%')
       </if>
-
+      <if test="isOnLine != null and isOnLine !='' ">
+        AND rtus.isOnLine = #{isOnLine}
+      </if>
       <if test = "bindNumber != null and bindNumber > 0">
         AND (SELECT COUNT(*) FROM pr_intake_controller WHERE controllerId = con.id AND intakeId = inta.id AND operateType = 1) = ${bindNumber}
       </if>
@@ -194,24 +214,34 @@
         CAST(con.id AS char) AS id,
         con.rtuAddr AS rtuAddr,
         inta.name AS intakeName,
-        "鍦ㄧ嚎" AS onlineState,
+        con.protocol,
+        inta.remarks,
+        rtus.isOnLine,
         (SELECT COUNT(*) FROM pr_intake_controller WHERE controllerId = con.id AND intakeId = inta.id AND operateType = 1) AS bindNumber,
         con.findDt AS findDt
     FROM pr_controller con
-        INNER JOIN pr_intake_controller ic ON ic.controllerId = con.id
+        LEFT JOIN pr_intake_controller ic ON ic.controllerId = con.id
         INNER JOIN pr_intake inta ON con.intakeId = inta.id
+        left 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 con.rtuAddr = rtus.rtuAddr
     <where>
-      AND ic.operateType = 1
       AND con.deleted = 0
 
       <if test = "id != null and id > 0">
         AND con.id = ${id}
       </if>
-
       <if test = "rtuAddr != null and rtuAddr !=''">
         AND con.rtuAddr like CONCAT('%',#{rtuAddr},'%')
       </if>
-
+      <if test="isOnLine != null and isOnLine !='' ">
+        AND rtus.isOnLine = #{isOnLine}
+      </if>
       <if test = "bindNumber != null and bindNumber > 0">
         AND (SELECT COUNT(*) FROM pr_intake_controller WHERE controllerId = con.id AND intakeId = inta.id AND operateType = 1) = ${bindNumber}
       </if>

--
Gitblit v1.8.0