From e6a9e6f750115579c8cc90d7e6d5bf1eebe79b90 Mon Sep 17 00:00:00 2001 From: zhubaomin <zhubaomin> Date: 星期二, 05 十一月 2024 15:26:24 +0800 Subject: [PATCH] 获取农户数据去掉重复记录,微信支付的传参、返回值、接口、数据库表金额都以元为单位 --- pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientMapper.xml | 151 ++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 121 insertions(+), 30 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 23e2a6b..91c9588 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientMapper.xml @@ -286,7 +286,7 @@ address = #{address,jdbcType=VARCHAR}, remarks = #{remarks,jdbcType=VARCHAR}, `operator` = #{operator,jdbcType=BIGINT}, - operateDt = #{operatedt,jdbcType=TIMESTAMP}, + operateDt = #{operatedt,jdbcType=TIMESTAMP} <!-- disabled = #{disabled,jdbcType=TINYINT},--> <!-- deleted = #{deleted,jdbcType=TINYINT}--> where id = #{id,jdbcType=BIGINT} @@ -302,11 +302,41 @@ </select> <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇鍐滄埛璁板綍鏁�--> - <select id="getRecordCount" parameterType="java.util.Map" resultType="java.lang.Long"> - SELECT - COUNT(*) AS recordCount +<!-- <select id="getRecordCount" parameterType="java.util.Map" resultType="java.lang.Long">--> + <select id="getRecordCount" resultType="com.dy.pipIrrGlobal.voSe.VoClient"> +<!-- SELECT--> +<!-- COUNT(*) AS recordCount--> + SELECT DISTINCT + cli.countyId, + dis_con.name AS countryName, + cli.townId, + dis_town.name AS townName, + cli.villageId, + dis_village.name AS villageName, + cli.blockId, + blo.name AS blockName, + cli.divideId, + divi.name AS divideName, + cli.typeId, + wat.typeName AS waterTypeName, + cli.id AS clientId, + cli.name, + cli.clientNum, + cli.phone, + cli.idCard, + cli.area, + (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 - , (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 +354,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> @@ -332,38 +375,37 @@ <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇鍐滄埛鏁版嵁--> <select id="getClients" resultType="com.dy.pipIrrGlobal.voSe.VoClient"> - SELECT - (@i:=@i+1) AS id, - CAST(cli.countyId AS char) AS countyId, + SELECT DISTINCT + 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, - blo.name AS bolckName, - CAST(cli.divideId AS char) AS divideId, + cli.blockId, + blo.name AS blockName, + 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 +423,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 +448,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 +471,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 +488,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 +512,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