From 9ad36b2b910aa15e45d5fb40b7e39d8d887a7cb7 Mon Sep 17 00:00:00 2001
From: Administrator <zhubaomin>
Date: 星期二, 28 五月 2024 08:26:47 +0800
Subject: [PATCH] 2024-05-27 朱宝民 远程开关阀、RTU在线情况

---
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml |   53 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 53 insertions(+), 0 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 5a25cea..920ffce 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml
@@ -358,4 +358,57 @@
     WHERE id NOT IN(SELECT intakeId FROM pr_controller) AND deleted = 0
   </select>
 
+  <!--鑾峰彇鍙栨按鍙f暟閲忥紙鍦ㄧ嚎鍜屼笉鍦ㄥ厛锛�-->
+  <select id="getOnLineIntakesCount" resultType="java.lang.Long">
+    SELECT
+        COUNT(*) AS recordCount
+    FROM pr_controller con
+        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 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}, '%')
+      </if>
+    </where>
+  </select>
+
+  <!--鑾峰彇鍙栨按鍙e垪琛紙鍦ㄧ嚎鍜屼笉鍦ㄥ厛锛�-->
+  <select id="getOnLineIntakes" 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
+        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 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}, '%')
+      </if>
+    </where>
+    <if test="pageCurr != null and pageSize != null">
+      LIMIT ${(pageCurr-1)*pageSize}, ${pageSize}
+    </if>
+  </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0