liurunyu
2024-10-23 587704894acc97cccc1a112ccbe0ac30e1e9660c
”远程监测“功能查询在线取水口和不在线取水口SQL语句修改
1个文件已修改
26 ■■■■■ 已修改文件
pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml
@@ -532,7 +532,7 @@
        SELECT COUNT(*) AS recordCount
        FROM pr_intake inta
        INNER JOIN pr_controller con ON con.intakeId = inta.id
        <if test="onLineMap != null and onLineMap !='' and onLineMap != '[]' and isOnLine != null">
        <if test="onLineMap != null and onLineMap !='' and isOnLine != null">
            LEFT JOIN JSON_TABLE(
                <!--'[{"rtuAddr":"37142501020100215","isOnLine":true},{"rtuAddr":"4000004","isOnLine":true},{"rtuAddr":"dy20240325","isOnLine":false}]',-->
                #{onLineMap},
@@ -544,14 +544,17 @@
        </if>
        WHERE con.intakeId is not null
        <if test="isOnLine != null and isOnLine == false">
            <if test="onLineMap != null and onLineMap !='' and onLineMap != '[]'">
            <choose>
                <when test="onLineMap != null and onLineMap !=''">
                AND rtus.isOnLine = false OR rtus.rtuAddr IS NULL
            </if>
                </when>
                <otherwise>
                    AND rtus.rtuAddr IS NULL
                </otherwise>
            </choose>
        </if>
        <if test="isOnLine != null and isOnLine == true">
            <if test="onLineMap != null and onLineMap !='' and onLineMap != '[]'">
                AND rtus.isOnLine = true
            </if>
        </if>
        <if test="intakeNum != null and intakeNum != ''">
            AND inta.name = #{intakeNum}
@@ -584,7 +587,7 @@
            WHERE (alarm_loss = 1 OR alarm_battery_volt = 1 OR alarm_valve = 1 OR alarm_water_meter_fault = 1)
            AND dt >= DATE_SUB(NOW(), INTERVAL 12 HOUR)
        ) alarm ON alarm.intakeId = inta.id
        <if test="onLineMap != null and onLineMap !='' and onLineMap != '[]' and isOnLine != null">
        <if test="onLineMap != null and onLineMap !='' and isOnLine != null">
            LEFT JOIN JSON_TABLE(
                <!--'[{"rtuAddr":"37142501020100215","isOnLine":true},{"rtuAddr":"4000004","isOnLine":true},{"rtuAddr":"dy20240325","isOnLine":false}]',-->
                #{onLineMap},
@@ -596,14 +599,17 @@
        </if>
        WHERE con.intakeId is not null
        <if test="isOnLine != null and isOnLine == false">
            <if test="onLineMap != null and onLineMap !='' and onLineMap != '[]'">
            <choose>
                <when test="onLineMap != null and onLineMap !=''">
                AND rtus.isOnLine = false OR rtus.rtuAddr IS NULL
            </if>
                </when>
                <otherwise>
                    AND rtus.rtuAddr IS NULL
                </otherwise>
            </choose>
        </if>
        <if test="isOnLine != null and isOnLine == true">
            <if test="onLineMap != null and onLineMap !='' and onLineMap != '[]'">
                AND rtus.isOnLine = true
            </if>
        </if>
        <if test="intakeNum != null and intakeNum != ''">
            AND inta.name = #{intakeNum}