|  |  |  | 
|---|
|  |  |  | <!--根据农户主键获取水卡列表(物理卡+虚拟卡)--> | 
|---|
|  |  |  | <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 id="getCardsCount" parameterType="java.util.Map" resultType="java.lang.Long"> | 
|---|
|  |  |  | SELECT COUNT(*) AS recordCount | 
|---|
|  |  |  | FROM se_client_card card | 
|---|
|  |  |  | INNER JOIN se_client cli ON card.clientId = cli.id | 
|---|
|  |  |  | LEFT JOIN se_client cli ON card.clientId = cli.id | 
|---|
|  |  |  | <where> | 
|---|
|  |  |  | AND card.state = 1 | 
|---|
|  |  |  | <if test="clientNum != null and clientNum != ''"> | 
|---|
|  |  |  | 
|---|
|  |  |  | '农户卡' AS cardType, | 
|---|
|  |  |  | FORMAT(card.money, 2) AS money | 
|---|
|  |  |  | FROM se_client_card card | 
|---|
|  |  |  | INNER JOIN se_client cli ON card.clientId = cli.id | 
|---|
|  |  |  | LEFT JOIN se_client cli ON card.clientId = cli.id | 
|---|
|  |  |  | <where> | 
|---|
|  |  |  | AND card.state = 1 | 
|---|
|  |  |  | <if test="clientNum != null and clientNum != ''"> | 
|---|