liurunyu
2024-10-25 f16c96a3bbd126dca21b254ceb018a0558f5ea1d
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveLastMapper.xml
@@ -466,14 +466,17 @@
            <if test="intakeNum != null and intakeNum != ''">
                AND inta.name LIKE CONCAT('%', #{intakeNum}, '%')
            </if>
            <if test="clientName != null and clientName != ''">
                AND oh.client_name LIKE CONCAT('%', #{clientName}, '%')
            </if>
            <if test="rtuAddr != null and rtuAddr != ''">
                AND oh.rtu_addr LIKE CONCAT('%', #{rtuAddr}, '%')
            </if>
            <if test="timeStart_open != null and timeStop_open != null">
                AND oh.op_dt BETWEEN #{timeStart_open} AND #{timeStop_open}
            <if test="timeStart_open != null and timeStart_open != '' and timeStop_open != null and timeStop_open != ''">
                AND oh.open_dt BETWEEN #{timeStart_open} AND #{timeStop_open}
            </if>
            <if test="timeStart_close != null and timeStop_close != null">
                AND oh.cl_dt BETWEEN #{timeStart_close} AND #{timeStop_close}
            <if test="timeStart_close != null and timeStart_close != '' and timeStop_close != null and timeStop_close != ''">
                AND oh.close_dt BETWEEN #{timeStart_close} AND #{timeStop_close}
            </if>
        </where>
    </select>
@@ -486,14 +489,13 @@
               oh.client_name          AS clientName,
               oh.op_ic_card_no        AS openIcNum,
               oh.op_ic_card_addr      AS openIcAddr,
               oh.op_dt                AS openTime,
               oh.open_dt              AS openTime,
               CASE
                   WHEN oh.op_type = 1 THEN '刷卡开阀'
                   WHEN oh.op_type = 3 THEN '中心站开阀'
                   WHEN oh.op_type = 5 THEN '欠费关阀'
                   WHEN oh.op_type = 5 THEN '余额不足关阀'
                   WHEN oh.op_type = 8 THEN '用户远程开阀'
                   WHEN oh.op_type = 11 THEN '开关阀卡开阀'
                   WHEN oh.op_type = 11 THEN '巡检卡开阀'
                   ELSE '未知'
                   END                 AS openType,
               oh.op_order_no          AS openOrderNo,
@@ -503,18 +505,18 @@
               oh.op_ele_total_amount  AS openEleTotalAmount,
               oh.cl_ic_card_no        AS closeIcNum,
               oh.cl_ic_card_addr      AS closeIcAddr,
               oh.cl_dt                AS closeTime,
               oh.close_dt             AS closeTime,
               CASE
                   WHEN oh.cl_type = 2 THEN '刷卡关阀'
                   WHEN oh.cl_type = 4 THEN '中心站关阀'
                   WHEN oh.cl_type = 5 THEN '欠费关阀'
                   WHEN oh.cl_type = 5 THEN '余额不足关阀'
                   WHEN oh.cl_type = 6 THEN '流量计故障关阀'
                   WHEN oh.cl_type = 7 THEN '紧急关阀'
                   WHEN oh.cl_type = 7 THEN '紧急关闭'
                   WHEN oh.cl_type = 9 THEN '用户远程关阀'
                   WHEN oh.cl_type = 10 THEN '开关阀卡关阀'
                   WHEN oh.cl_type = 10 THEN '巡检卡关阀'
                   WHEN oh.cl_type = 12 THEN '黑名单命令关阀'
                   WHEN oh.cl_type = 13 THEN '远程定时关阀'
                   WHEN oh.cl_type = 14 THEN '远程定量关阀'
                   WHEN oh.cl_type = 13 THEN '用户远程定时关阀'
                   WHEN oh.cl_type = 14 THEN '用户远程定量关阀'
                   ELSE '未知'
                   END                 AS closeType,
               oh.cl_this_amount       AS closeThisAmount,
@@ -531,14 +533,17 @@
            <if test="intakeNum != null and intakeNum != ''">
                AND inta.name LIKE CONCAT('%', #{intakeNum}, '%')
            </if>
            <if test="clientName != null and clientName != ''">
                AND oh.client_name LIKE CONCAT('%', #{clientName}, '%')
            </if>
            <if test="rtuAddr != null and rtuAddr != ''">
                AND oh.rtu_addr LIKE CONCAT('%', #{rtuAddr}, '%')
            </if>
            <if test="timeStart_open != null and timeStop_open != null">
                AND oh.op_dt BETWEEN #{timeStart_open} AND #{timeStop_open}
            <if test="timeStart_open != null and timeStart_open != '' and timeStop_open != null and timeStop_open != ''">
                AND oh.open_dt BETWEEN #{timeStart_open} AND #{timeStop_open}
            </if>
            <if test="timeStart_close != null and timeStop_close != null">
                AND oh.cl_dt BETWEEN #{timeStart_close} AND #{timeStop_close}
            <if test="timeStart_close != null and timeStart_close != '' and timeStop_close != null and timeStop_close != ''">
                AND oh.close_dt BETWEEN #{timeStart_close} AND #{timeStop_close}
            </if>
        </where>
        ORDER BY oh.op_dt DESC
@@ -554,7 +559,9 @@
        SELECT COUNT(*) AS recordCount
        FROM rm_open_close_valve_history
        <where>
            AND op_type = #{openType}
            <if test="openType != null">
                AND op_type = #{openType}
            </if>
            <if test="timeStart != null and timeStop != null">
                AND op_dt BETWEEN #{timeStart} AND #{timeStop}
            </if>
@@ -566,10 +573,19 @@
        SELECT COUNT(*) AS recordCount
        FROM rm_open_close_valve_history
        <where>
            AND cl_type = #{closeType}
            <if test="closeType != null">
                AND cl_type = #{closeType}
            </if>
            <if test="timeStart != null and timeStop != null">
                AND cl_dt BETWEEN #{timeStart} AND #{timeStop}
            </if>
        </where>
    </select>
    <!--为指定(阀控器地址、水卡编号、无关阀记录)开关阀最新记录添加关阀时间,使之不在未关阀记录中显示-->
    <update id="addCloseTime">
        UPDATE rm_open_close_valve_last
        SET cl_dt = NOW()
        WHERE rtu_addr = #{rtuAddr} AND op_ic_card_no = #{icCardNo} AND cl_dt IS NULL
    </update>
</mapper>