获取全部取水口(在线不在线)接口增加查询条件是否绑定控制器,分页查询默认返回10条
4个文件已修改
61 ■■■■ 已修改文件
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/webUtil/QueryResultVo.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voPr/VoOnLineIntake.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intake/qo/OnLineIntakesQO.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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);
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;
}
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>
  <!--获取取水口列表(在线和不在先)-->
  <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">
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;
}