wuzeyu
2024-09-20 99ef794e9ef300268c527aa6d55e55145a37d991
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml
@@ -447,6 +447,9 @@
            <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>
@@ -510,6 +513,9 @@
            </if>
            <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}, '%')
@@ -748,7 +754,16 @@
               cli.clientNum,
               CONCAT(cli.districtTitle, cli.address) AS address,
               cli.phone,
               cli.idCard
               cli.idCard,
                IFNULL((SELECT SUM(his.cl_this_amount)
                FROM rm_open_close_valve_history his
                <where>
                    his.client_id = cli.id
                    <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != ''">
                        AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}
                    </if>
                </where>
                ),0) AS waterConsumption
        FROM se_client cli
        <where>
            <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and waterConsumption != null">
@@ -786,7 +801,16 @@
               cli.clientNum,
               CONCAT(cli.districtTitle, cli.address) AS address,
               cli.phone,
               cli.idCard
               cli.idCard,
                IFNULL((SELECT SUM(his.cl_this_money)
                FROM rm_open_close_valve_history his
                <where>
                    his.client_id = cli.id
                    <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != ''">
                        AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}
                    </if>
                </where>
                ),0) AS amountSpent
        FROM se_client cli
        <where>
            <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and amountSpent != null">
@@ -825,7 +849,16 @@
               cli.clientNum,
               CONCAT(cli.districtTitle, cli.address) AS address,
               cli.phone,
               cli.idCard
               cli.idCard,
                IFNULL((SELECT SUM(his.cl_this_time)
                FROM rm_open_close_valve_history his
                <where>
                    his.client_id = cli.id
                    <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != ''">
                        AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}
                    </if>
                </where>
                ),0) AS waterDuration
        FROM se_client cli
        <where>
            <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and waterDuration != null">
@@ -1027,4 +1060,63 @@
            </if>
        </trim>
    </select>
    <!--获取水卡消费记录数量,管理平台使用-->
    <select id="getExpendsCount" resultType="java.lang.Long">
        SELECT COUNT(*) AS recordCount
        FROM rm_open_close_valve_history och
            INNER JOIN se_client cli ON cli.id = och.client_id
            INNER JOIN pr_intake inta ON inta.id = och.intake_id
        <where>
            AND och.cl_ic_card_no IS NOT NULL AND och.client_id IS NOT NULL
            <if test = "clientName != null and clientName !=''">
                AND cli.name like CONCAT('%',#{clientName},'%')
            </if>
            <if test = "clientNum != null and clientNum > 0">
                AND cli.clientNum like CONCAT('%',#{clientNum},'%')
            </if>
            <if test = "cardNum != null and cardNum !=''">
                AND och.cl_ic_card_no like CONCAT('%',#{cardNum},'%')
            </if>
        </where>
    </select>
    <!--获取水卡消费记录,管理平台使用-->
    <select id="getExpends" resultType="com.dy.pipIrrGlobal.voRm.VoExpend">
        SELECT
            cli.name AS clientName,
            cli.clientNum,
            och.cl_ic_card_no AS cardNum,
            inta.name AS intakeName,
            och.rtu_addr AS rtuAddr,
            och.cl_this_money AS moneyAmount,
            och.cl_this_amount AS waterAmount,
            och.cl_this_time AS duration,
            och.cl_dt AS operateTime
        FROM rm_open_close_valve_history och
            INNER JOIN se_client cli ON cli.id = och.client_id
            INNER JOIN pr_intake inta ON inta.id = och.intake_id
        <where>
            AND och.cl_ic_card_no IS NOT NULL AND och.client_id IS NOT NULL
            <if test = "clientName != null and clientName !=''">
                AND cli.name like CONCAT('%',#{clientName},'%')
            </if>
            <if test = "clientNum != null and clientNum > 0">
                AND cli.clientNum like CONCAT('%',#{clientNum},'%')
            </if>
            <if test = "cardNum != null and cardNum !=''">
                AND och.cl_ic_card_no like CONCAT('%',#{cardNum},'%')
            </if>
        </where>
        ORDER BY och.cl_dt DESC
        <trim prefix="limit " >
            <if test="start != null and count != null">
                #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER}
            </if>
        </trim>
    </select>
</mapper>