wuzeyu
2025-01-08 b4c6816d3016e26d908c55d3a194d972b998e952
优化接口 水卡使用情况(充值、消费、余额)
1个文件已修改
58 ■■■■ 已修改文件
pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml 58 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml
@@ -666,14 +666,27 @@
    <!--获取指定时间段水卡使用情况记录数量-->
    <select id="getCardUsagesCount" resultType="com.dy.pipIrrGlobal.voSt.VoCardUsage">
        SELECT
            cli.name AS clientName,
            card.cardNum,
            (SELECT ROUND(SUM(rch.amount),2) FROM se_recharge_history rch WHERE rch.cardId = card.id AND rch.operate_valid = 2  AND rch.operateDt BETWEEN #{timeStart} AND #{timeStop}) AS totalRecharge,
            (SELECT ROUND(SUM(his.cl_this_money),2) FROM rm_open_close_valve_history his WHERE his.cl_ic_card_no = card.cardNum AND his.cl_dt BETWEEN #{timeStart} AND #{timeStop}) AS totalConsumption,
            ROUND(card.money,2) AS balance
        FROM se_client_card card
            INNER JOIN se_client cli ON cli.id = card.clientId
<!--            INNER JOIN se_recharge_history rch ON rch.cardId = card.id-->
        card.id as cardId,
        cli.name AS clientName,
        card.cardNum,
        a.cl_ic_card_no,
        card.money AS balance,
        a.totalConsumption,
        b.totalRecharge
        FROM  se_client_card card
        INNER JOIN se_client cli ON cli.id = card.clientId
        LEFT JOIN  (
        SELECT his.cl_ic_card_no, SUM(his.cl_this_money) AS totalConsumption
        FROM rm_open_close_valve_history his
        WHERE his.cl_dt BETWEEN #{timeStart} AND #{timeStop}
        GROUP BY his.cl_ic_card_no
        ) a ON  a.cl_ic_card_no = CAST(card.cardNum AS CHAR)
        LEFT JOIN  (
        SELECT rch.cardId,ROUND(SUM(rch.amount),2) as totalRecharge
        FROM se_recharge_history rch
        WHERE rch.operate_valid = 2  AND rch.operateDt BETWEEN #{timeStart} AND #{timeStop}
        GROUP BY rch.cardId
        ) b ON b.cardId = card.id
        <where>
            <if test="clientName != null and clientName != ''">
                AND cli.name like CONCAT('%', #{clientName}, '%')
@@ -692,14 +705,27 @@
    <!--获取指定时间段水卡使用情况:充值合计、消费合计、余额-->
    <select id="getCardUsages" resultType="com.dy.pipIrrGlobal.voSt.VoCardUsage">
        SELECT
            cli.name AS clientName,
            card.cardNum,
            (SELECT ROUND(SUM(rch.amount),2) FROM se_recharge_history rch WHERE rch.cardId = card.id AND rch.operate_valid = 2  AND rch.operateDt BETWEEN #{timeStart} AND #{timeStop}) AS totalRecharge,
            (SELECT ROUND(SUM(his.cl_this_money),2) FROM rm_open_close_valve_history his WHERE his.cl_ic_card_no = card.cardNum AND his.cl_dt BETWEEN #{timeStart} AND #{timeStop}) AS totalConsumption,
            ROUND(card.money,2) AS balance
        FROM se_client_card card
            INNER JOIN se_client cli ON cli.id = card.clientId
<!--            INNER JOIN se_recharge_history rch ON rch.cardId = card.id-->
        card.id as cardId,
        cli.name AS clientName,
        card.cardNum,
        a.cl_ic_card_no,
        card.money AS balance,
        a.totalConsumption,
        b.totalRecharge
        FROM  se_client_card card
        INNER JOIN se_client cli ON cli.id = card.clientId
        LEFT JOIN  (
        SELECT his.cl_ic_card_no, SUM(his.cl_this_money) AS totalConsumption
        FROM rm_open_close_valve_history his
        WHERE his.cl_dt BETWEEN #{timeStart} AND #{timeStop}
        GROUP BY his.cl_ic_card_no
        ) a ON  a.cl_ic_card_no = CAST(card.cardNum AS CHAR)
        LEFT JOIN  (
        SELECT rch.cardId,ROUND(SUM(rch.amount),2) as totalRecharge
        FROM se_recharge_history rch
        WHERE rch.operate_valid = 2  AND rch.operateDt BETWEEN #{timeStart} AND #{timeStop}
        GROUP BY rch.cardId
        ) b ON b.cardId = card.id
        <where>
            <if test="clientName != null and clientName != ''">
                AND cli.name like CONCAT('%', #{clientName}, '%')