From b349b13e37bba4440e5787567ca4551a75d32f62 Mon Sep 17 00:00:00 2001
From: wuzeyu <1223318623@qq.com>
Date: 星期二, 23 七月 2024 15:34:17 +0800
Subject: [PATCH] 控制器报警与状态查询(历史) 控制器报警与状态查询(最新)

---
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml |   56 +++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 47 insertions(+), 9 deletions(-)

diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml
index 363e4e2..54809d4 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml
@@ -365,19 +365,19 @@
     FROM pr_controller con
         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
+            <!--'[{"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>
       <if test="isOnLine != null">
         rtus.isOnLine = #{isOnLine}
       </if>
       <if test="intakeNum != null and intakeNum != ''">
-        AND inta.name LIKE CONCAT('%', #{intakeNum}, '%')
+        AND inta.name = #{intakeNum}
       </if>
     </where>
   </select>
@@ -404,13 +404,38 @@
         rtus.isOnLine = #{isOnLine}
       </if>
       <if test="intakeNum != null and intakeNum != ''">
-        AND inta.name LIKE CONCAT('%', #{intakeNum}, '%')
+        AND inta.name = #{intakeNum}
       </if>
     </where>
     order by con.id ASC
     <if test="pageCurr != null and pageSize != null">
       LIMIT ${(pageCurr-1)*pageSize}, ${pageSize}
     </if>
+  </select>
+
+  <!--鏍规嵁鍙栨按鍙g紪鍙疯幏鍙栧彇姘村彛瀵硅薄-->
+  <select id="getIntakeByName" resultType="com.dy.pipIrrGlobal.voPr.VoOnLineIntake">
+    SELECT
+      con.intakeId,
+      con.rtuAddr,
+      inta.name AS intakeNum,
+      rtus.isOnLine
+    FROM pr_controller con
+      INNER JOIN pr_intake inta ON con.intakeId = inta.id
+      left JOIN JSON_TABLE(
+        #{onLineMap},
+        '$[*]' COLUMNS(
+        rtuAddr VARCHAR(20) PATH '$.rtuAddr',
+        isOnLine BOOLEAN PATH '$.isOnLine'
+        )
+      ) rtus ON con.rtuAddr = rtus.rtuAddr
+    <where>
+      <if test="intakeNum != null and intakeNum != ''">
+        AND LOWER(inta.name) = #{intakeNum}
+      </if>
+    </where>
+    LIMIT 0,1
+
   </select>
 
   <!--鏍规嵁鎿嶄綔鍛樿幏鍙栧父鐢ㄥ彇姘村彛-->
@@ -442,4 +467,17 @@
   <select id="getIntakeIdByName" resultType="java.lang.Long">
     SELECT id AS intakeId FROM pr_intake WHERE `name` = #{intakeName}
   </select>
+
+  <!--鍙栨按鍙e悕绉版崲鍙栨按鍙D锛岄獙璇佹槸鍚﹂噸澶嶅悕绉颁娇鐢�-->
+  <select id="getIntakeIdsByName" resultType="java.lang.Long">
+    SELECT id AS intakeId FROM pr_intake WHERE `name` = #{intakeName}
+  </select>
+
+  <!--鍙栨按鍙e悕绉版崲鍙栨按鍙D锛岄獙璇佹槸鍚﹂噸澶嶅悕绉颁娇鐢�-->
+  <select id="getIntakeIdByNameExcludeId" resultType="java.lang.Long">
+    SELECT id AS intakeId FROM pr_intake WHERE id != #{id} and `name` = #{intakeName}
+  </select>
+
+
+
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0