From e6f64dc1c6a24c3f6f38fcb312ed45aa9d57b68f Mon Sep 17 00:00:00 2001 From: zhubaomin <zhubaomin> Date: 星期五, 01 十一月 2024 11:34:01 +0800 Subject: [PATCH] 2024-11-01 虚拟卡常用充值金额实现自动初始化 --- pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientMapper.xml | 115 +++++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 91 insertions(+), 24 deletions(-) diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientMapper.xml index 8236c83..0172422 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientMapper.xml @@ -306,7 +306,13 @@ SELECT COUNT(*) AS recordCount FROM se_client cli - , (SELECT @i:=0) AS itable + LEFT JOIN ba_district dis_con ON cli.countyId = dis_con.id + LEFT JOIN ba_district dis_town ON cli.townId = dis_town.id + LEFT JOIN ba_district dis_village ON cli.villageId = dis_village.id + LEFT JOIN ba_block blo ON cli.blockId = blo.id + LEFT JOIN pr_divide divi ON cli.divideId = divi.id + LEFT JOIN se_water_type wat ON cli.typeId = wat.id + LEFT JOIN se_client_card card ON card.clientId = cli.id <where> AND cli.disabled = 0 AND cli.deleted = 0 @@ -324,6 +330,19 @@ <if test = "address != null and address !=''"> AND cli.address like CONCAT('%',#{address},'%') + </if> + + <if test = "villageId != null and villageId !=''"> + AND cli.villageId = #{villageId} + </if> + <if test = "blockId != null and blockId !=''"> + AND cli.blockId = #{blockId} + </if> + <if test = "divideId != null and divideId !=''"> + AND cli.divideId = #{divideId} + </if> + <if test = "cardNum != null"> + AND card.cardNum = #{cardNum} </if> </where> @@ -333,37 +352,36 @@ <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇鍐滄埛鏁版嵁--> <select id="getClients" resultType="com.dy.pipIrrGlobal.voSe.VoClient"> SELECT - (@i:=@i+1) AS id, - CAST(cli.countyId AS char) AS countyId, + cli.countyId, dis_con.name AS countryName, - CAST(cli.townId AS char) AS townId, + cli.townId, dis_town.name AS townName, - CAST(cli.villageId AS char) AS villageId, + cli.villageId, dis_village.name AS villageName, - CAST(cli.blockId AS char) AS blockId, + cli.blockId, blo.name AS blockName, - CAST(cli.divideId AS char) AS divideId, + cli.divideId, divi.name AS divideName, - CAST(cli.typeId AS char) AS waterTypeId, + cli.typeId, wat.typeName AS waterTypeName, - CAST(cli.id AS char) AS clientId, + cli.id AS clientId, cli.name, cli.clientNum, cli.phone, cli.idCard, cli.area, - (SELECT COUNT(*) FROM se_client_card WHERE clientId = cli.id) AS cardCount, + (SELECT COUNT(*) FROM se_client_card WHERE clientId = cli.id)+(SELECT COUNT(*) FROM se_virtual_card WHERE client_id = cli.id) AS cardCount, cli.address, cli.remarks, cli.operateDt FROM se_client cli - LEFT JOIN ba_district dis_con ON cli.countyId = dis_con.id - LEFT JOIN ba_district dis_town ON cli.townId = dis_town.id - LEFT JOIN ba_district dis_village ON cli.villageId = dis_village.id - LEFT JOIN ba_block blo ON cli.blockId = blo.id - LEFT JOIN pr_divide divi ON cli.divideId = divi.id - LEFT JOIN se_water_type wat ON cli.typeId = wat.id - , (SELECT @i:=0) AS itable + LEFT JOIN ba_district dis_con ON cli.countyId = dis_con.id + LEFT JOIN ba_district dis_town ON cli.townId = dis_town.id + LEFT JOIN ba_district dis_village ON cli.villageId = dis_village.id + LEFT JOIN ba_block blo ON cli.blockId = blo.id + LEFT JOIN pr_divide divi ON cli.divideId = divi.id + LEFT JOIN se_water_type wat ON cli.typeId = wat.id + LEFT JOIN se_client_card card ON card.clientId = cli.id <where> AND cli.disabled = 0 AND cli.deleted = 0 @@ -381,6 +399,19 @@ <if test = "address != null and address !=''"> AND cli.address like CONCAT('%',#{address},'%') + </if> + + <if test = "villageId != null and villageId !=''"> + AND cli.villageId = #{villageId} + </if> + <if test = "blockId != null and blockId !=''"> + AND cli.blockId = #{blockId} + </if> + <if test = "divideId != null and divideId !=''"> + AND cli.divideId = #{divideId} + </if> + <if test = "cardNum != null"> + AND card.cardNum = #{cardNum} </if> </where> ORDER BY cli.operateDt DESC @@ -393,17 +424,17 @@ <!--鏍规嵁鍐滄埛缂栧彿鑾峰彇5绾ц鏀垮尯鍒掍唬鐮�--> <select id="getAreaCodeByNum" resultType="java.lang.Long"> - SELECT districtNum FROM se_client WHERE clientNum = ${clientNum} LIMIT 0,1 + SELECT districtNum FROM se_client WHERE clientNum = #{clientNum} LIMIT 0,1 </select> <!--鏍规嵁鍐滄埛缂栧彿鑾峰彇5绾ц鏀垮尯鍒掍覆areaCode锛岃ˉ鍗¤繃绋嬩腑寮�鏂板崱浣跨敤--> <select id="getAreaCodeById" resultType="java.lang.Long"> - SELECT districtNum FROM se_client WHERE id = ${clientId} + SELECT districtNum FROM se_client WHERE id = #{clientId} </select> <!--鏍规嵁鍐滄埛缂栧彿鑾峰彇鍐滄埛ID--> <select id="getClientIdByNum" resultType="java.lang.Long"> - SELECT id FROM se_client WHERE clientNum = ${clientNum} LIMIT 0,1 + SELECT id FROM se_client WHERE clientNum = #{clientNum} LIMIT 0,1 </select> <!--鏍规嵁鐢佃瘽鍙风爜鑾峰彇鍐滄埛ID--> @@ -416,14 +447,14 @@ update se_client set deleted = 1 <where> <if test = "id != null and id > 0"> - AND id = ${id} + AND id = #{id} </if> </where> </update> <!--鏍规嵁涓婚敭鑾峰彇鏉慖D--> <select id="getVillageIdById" parameterType="java.lang.Long" resultType="java.lang.Long"> - SELECT villageId FROM se_client WHERE id = ${id} + SELECT villageId FROM se_client WHERE id = #{id} </select> <!--鑾峰彇铏氭嫙鍗″彿鏈�澶у��--> @@ -433,7 +464,7 @@ <!--鑾峰彇鐢ㄦ按鏂瑰紡鍒楄〃--> <select id="getWaterTypes" resultType="java.util.Map"> - SELECT id, typeName from se_water_type + SELECT CAST(se_water_type.id AS char) AS id, typeName from se_water_type </select> <!--鑾峰彇鍐滄埛鍩烘湰淇℃伅锛屽皬绋嬪簭棣栭〉浣跨敤--> @@ -457,5 +488,41 @@ </where> LIMIT 0,1 </select> - + <!--鑾峰彇鎸囧畾鏃堕棿娈靛啘鎴凤細鍏呭�煎悎璁°�佹秷璐瑰悎璁°�佷綑棰�--> + <select id="getClientUsagesCount" resultType="java.lang.Long"> + SELECT + count(*) + FROM se_client cli + <where> + <if test="clientName != null and clientName != ''"> + AND cli.name like CONCAT('%', #{clientName}, '%') + </if> + <if test="clientNum != null and clientNum != ''"> + AND cli.clientNum like CONCAT('%', #{clientNum}, '%') + </if> + </where> + </select> + <!--鑾峰彇鎸囧畾鏃堕棿娈靛啘鎴凤細鍏呭�煎悎璁°�佹秷璐瑰悎璁°�佷綑棰�--> + <select id="getClientUsages" resultType="com.dy.pipIrrGlobal.voSt.VoCardUsage"> + SELECT + cli.name AS clientName, + (SELECT ROUND(SUM(rch.amount),2) FROM se_recharge_history rch WHERE rch.clientId = cli.id 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.client_id = cli.id AND his.cl_dt BETWEEN #{timeStart} AND #{timeStop}) AS totalConsumption, + (SELECT ROUND(SUM(card.money),2) FROM se_client_card card WHERE card.clientId = cli.id) AS balance + FROM se_client cli + <where> + <if test="clientName != null and clientName != ''"> + AND cli.name like CONCAT('%', #{clientName}, '%') + </if> + <if test="clientNum != null and clientNum != ''"> + AND cli.clientNum like CONCAT('%', #{clientNum}, '%') + </if> + </where> + ORDER BY totalConsumption DESC, totalRecharge 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> \ No newline at end of file -- Gitblit v1.8.0