From beca4894acec49f29f7283f3c76c8da5e1c9bfe8 Mon Sep 17 00:00:00 2001
From: wuzeyu <1223318623@qq.com>
Date: 星期四, 01 八月 2024 08:48:35 +0800
Subject: [PATCH] 获取全部取水口(在线不在线)接口增加查询条件是否绑定控制器,分页查询默认返回10条

---
 pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intake/qo/OnLineIntakesQO.java |    9 +++-
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/webUtil/QueryResultVo.java                            |    2 
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voPr/VoOnLineIntake.java                        |    6 +++
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml                                      |   44 +++++++++++++++-------
 4 files changed, 44 insertions(+), 17 deletions(-)

diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/webUtil/QueryResultVo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/webUtil/QueryResultVo.java
index 16d5841..ac64d89 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/webUtil/QueryResultVo.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/webUtil/QueryResultVo.java
@@ -69,7 +69,7 @@
              * 鏈紶鍏ュ垎椤靛弬鏁版椂锛屽彇鍏ㄩ儴璁板綍
              */
             //this.pageSize = 1 ;//渚涗笅闈綔涓洪櫎鏁�
-            this.pageSize = 10000 ;//渚涗笅闈綔涓洪櫎鏁�
+            this.pageSize = 10 ;//渚涗笅闈綔涓洪櫎鏁�
         }
 
         pageTotal = (int)Math.ceil((itemTotal==null?0.0D:itemTotal.doubleValue())/pageSize);
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voPr/VoOnLineIntake.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voPr/VoOnLineIntake.java
index 01f6c46..c0c3512 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voPr/VoOnLineIntake.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voPr/VoOnLineIntake.java
@@ -1,5 +1,6 @@
 package com.dy.pipIrrGlobal.voPr;
 
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
 import com.dy.common.po.BaseEntity;
 import lombok.Data;
 
@@ -33,4 +34,9 @@
      * 鏄惁鍦ㄧ嚎
      */
     private Boolean isOnLine;
+
+    /**
+     * 鏄惁缁戝畾
+     */
+    private Boolean isBinded;
 }
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 54809d4..afcd2da 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml
@@ -379,26 +379,36 @@
       <if test="intakeNum != null and intakeNum != ''">
         AND inta.name = #{intakeNum}
       </if>
+      <if test="isBinded == 0">
+        AND inta.id NOT IN(SELECT intakeId FROM pr_controller where deleted = 0)
+      </if>
+      <if test="isBinded == 1">
+        AND inta.id IN(SELECT intakeId FROM pr_controller where deleted = 0)
+      </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
-        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
+    inta.id AS intakeId,
+    con.rtuAddr,
+    inta.name AS intakeNum,
+    (CASE
+    WHEN con.rtuAddr IS  NULL  THEN "false"
+    WHEN con.rtuAddr IS NOT NULL THEN "true"
+    END) AS isBinded,
+    rtus.isOnLine
+    FROM pr_intake inta
+    LEFT JOIN pr_controller con 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>
       <if test="isOnLine != null">
         rtus.isOnLine = #{isOnLine}
@@ -406,6 +416,12 @@
       <if test="intakeNum != null and intakeNum != ''">
         AND inta.name = #{intakeNum}
       </if>
+      <if test="isBinded == false ">
+        AND con.rtuAddr IS  NULL
+      </if>
+      <if test="isBinded == true ">
+        AND con.rtuAddr IS NOT NULL
+      </if>
     </where>
     order by con.id ASC
     <if test="pageCurr != null and pageSize != null">
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intake/qo/OnLineIntakesQO.java b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intake/qo/OnLineIntakesQO.java
index aebcdd0..023af9e 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intake/qo/OnLineIntakesQO.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intake/qo/OnLineIntakesQO.java
@@ -27,7 +27,12 @@
     /**
      * 鏄惁鍦ㄧ嚎
      */
-    @Max(value = 1,message = "鏄惁鍦ㄧ嚎浠呭厑璁镐负鐪熸垨鍋�")
-    @Min(value = 0,message = "鏄惁鍦ㄧ嚎浠呭厑璁镐负鐪熸垨鍋�")
+
     private Boolean isOnLine;
+
+    /**
+     * 鏄惁缁戝畾
+     */
+
+    private Boolean isBinded;
 }

--
Gitblit v1.8.0