| | |
| | | <!--根据农户主键获取水卡列表(物理卡+虚拟卡)--> |
| | | <select id="getCardInfoByClientId" resultType="com.dy.pipIrrGlobal.voSe.VoCardInfo"> |
| | | SELECT * |
| | | FROM (SELECT '物理卡' AS cardType, |
| | | card.cardNum AS cardNum, |
| | | card.money AS money, |
| | | (CASE |
| | | WHEN card.state = 1 THEN '正常' |
| | | WHEN card.state = 2 THEN '已注销' |
| | | ELSE '已挂失' |
| | | END) AS state |
| | | FROM (SELECT |
| | | '物理卡' AS cardType, |
| | | card.cardNum AS cardNum, |
| | | card.money AS money, |
| | | (CASE |
| | | WHEN card.state = 1 THEN '正常' |
| | | WHEN card.state = 2 THEN '已注销' |
| | | ELSE '已挂失' |
| | | END) AS state |
| | | FROM se_client_card card |
| | | INNER JOIN se_client cli ON cli.id = card.clientId |
| | | INNER JOIN se_client cli ON cli.id = card.clientId |
| | | WHERE state != 4 AND card.clientId = #{clientId,jdbcType=BIGINT} |
| | | UNION ALL |
| | | SELECT '虚拟卡' AS cardType, |
| | | vc.vc_num AS cardNum, |
| | | vc.money AS money, |
| | | (CASE |
| | | WHEN vc.in_use = 0 THEN '未使用' |
| | | WHEN vc.in_use = 1 THEN '使用中' |
| | | END) AS state |
| | | SELECT |
| | | '虚拟卡' AS cardType, |
| | | vc.vc_num AS cardNum, |
| | | ROUND(vc.money /100, 2) AS money, |
| | | (CASE |
| | | WHEN vc.in_use = 0 THEN '未使用' |
| | | WHEN vc.in_use = 1 THEN '使用中' |
| | | END) AS state |
| | | FROM se_virtual_card vc |
| | | INNER JOIN se_client cli ON cli.id = vc.client_id |
| | | WHERE vc.client_id = #{clientId,jdbcType=BIGINT} |
| | | INNER JOIN se_client cli ON cli.id = vc.client_id |
| | | WHERE vc.state = 1 AND vc.client_id = #{clientId,jdbcType=BIGINT} |
| | | ) card |
| | | ORDER BY card.Money DESC, card.State DESC |
| | | </select> |
| | |
| | | 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.operateDt BETWEEN #{timeStart} AND #{timeStop}) AS totalRecharge, |
| | | (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 |
| | | <!-- INNER JOIN se_recharge_history rch ON rch.cardId = card.id--> |
| | | <where> |
| | | <if test="clientName != null and clientName != ''"> |
| | | AND cli.name like CONCAT('%', #{clientName}, '%') |
| | |
| | | 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.operateDt BETWEEN #{timeStart} AND #{timeStop}) AS totalRecharge, |
| | | (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 |
| | | <!-- INNER JOIN se_recharge_history rch ON rch.cardId = card.id--> |
| | | <where> |
| | | <if test="clientName != null and clientName != ''"> |
| | | AND cli.name like CONCAT('%', #{clientName}, '%') |