From b4c6816d3016e26d908c55d3a194d972b998e952 Mon Sep 17 00:00:00 2001 From: wuzeyu <1223318623@qq.com> Date: 星期三, 08 一月 2025 14:42:30 +0800 Subject: [PATCH] 优化接口 水卡使用情况(充值、消费、余额) --- pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml | 58 ++++++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 42 insertions(+), 16 deletions(-) diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml index f90e929..f5c65a6 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml +++ b/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}, '%') -- Gitblit v1.8.0