From 62d986383bd6ce6ac5ed382dce683e70e1a8d8ed Mon Sep 17 00:00:00 2001 From: Administrator <zhubaomin> Date: 星期三, 27 三月 2024 19:11:13 +0800 Subject: [PATCH] 2024-03-27 朱宝民 优化Application下的获取交易统计记录 --- pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml | 100 +++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 78 insertions(+), 22 deletions(-) diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml index 485f1b5..8470ae2 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml @@ -214,12 +214,11 @@ <select id="getRecordCount" parameterType="java.util.Map" resultType="java.lang.Long"> SELECT COUNT(*) AS recordCount FROM pr_intake ge - INNER JOIN ba_divide divi ON ge.divideId = divi.id + INNER JOIN pr_divide divi ON ge.divideId = divi.id INNER JOIN ba_block blo ON divi.blockId = blo.id - INNER JOIN ba_district country ON ge.countyId = country.id - INNER JOIN ba_district town ON ge.townId = town.id - INNER JOIN ba_district village ON ge.villageId = village.id - , (SELECT @i:=0) AS itable + LEFT JOIN ba_district country ON ge.countyId = country.id + LEFT JOIN ba_district town ON ge.townId = town.id + LEFT JOIN ba_district village ON ge.villageId = village.id <where> ge.deleted = 0 AND divi.deleted = 0 @@ -233,26 +232,42 @@ </if> <if test="blockName != null and blockName != ''"> - AND blo.name = #{blockName} + AND blo.name LIKE CONCAT('%', #{blockName}, '%') + </if> + + <if test="isBinded == 0"> + AND ge.id NOT IN(SELECT intakeId FROM pr_controller where deleted = 0) + </if> + <if test="isBinded == 1"> + AND ge.id IN(SELECT intakeId FROM pr_controller where deleted = 0) + </if> + <if test="isBinded == null"> + + </if> + <if test="address != null and address != ''"> + AND CONCAT(country.`name`, town.`name`, village.`name`) LIKE CONCAT('%', #{address}, '%') </if> </where> </select> <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇鍙栨按鍙h褰�--> <select id="getIntakes" resultType="com.dy.pipIrrGlobal.voPr.VoIntake"> - SELECT (@i:=@i+1) AS id, + SELECT CAST(ge.id AS char) AS id, ge.`name` AS intakeName, divi.`name` AS divideName, blo.`name` AS blockName, ge.operateDt As operateDt, + (CASE + WHEN ge.id NOT IN(SELECT intakeId FROM pr_controller where deleted = 0) THEN "鏈粦瀹�" + WHEN ge.id IN(SELECT intakeId FROM pr_controller where deleted = 0) THEN "宸茬粦瀹�" + END) AS isBind, CONCAT(country.`name`, town.`name`, village.`name`) AS address FROM pr_intake ge INNER JOIN pr_divide divi ON ge.divideId = divi.id INNER JOIN ba_block blo ON divi.blockId = blo.id - INNER JOIN ba_district country ON ge.countyId = country.id - INNER JOIN ba_district town ON ge.townId = town.id - INNER JOIN ba_district village ON ge.villageId = village.id - , (SELECT @i:=0) AS itable + LEFT JOIN ba_district country ON ge.countyId = country.id + LEFT JOIN ba_district town ON ge.townId = town.id + LEFT JOIN ba_district village ON ge.villageId = village.id <where> ge.deleted = 0 AND divi.deleted = 0 @@ -260,29 +275,35 @@ <if test="intakeName != null and intakeName != ''"> AND ge.name LIKE CONCAT('%', #{intakeName}, '%') </if> + <if test="divideName != null and divideName != ''"> AND divi.name LIKE CONCAT('%', #{divideName}, '%') </if> <if test="blockName != null and blockName != ''"> - AND blo.name = #{blockName} + AND blo.name LIKE CONCAT('%', #{blockName}, '%') + </if> + + <if test="isBinded == 0"> + AND ge.id NOT IN(SELECT intakeId FROM pr_controller where deleted = 0) + </if> + <if test="isBinded == 1"> + AND ge.id IN(SELECT intakeId FROM pr_controller where deleted = 0) + </if> + <if test="isBinded == null"> + + </if> + <if test="address != null and address != ''"> + AND CONCAT(country.`name`, town.`name`, village.`name`) LIKE CONCAT('%', #{address}, '%') </if> </where> ORDER BY ge.operateDt DESC <if test="pageCurr != null and pageSize != null"> - LIMIT ${pageCurr}, ${pageSize} + LIMIT ${(pageCurr-1)*pageSize}, ${pageSize} </if> </select> - <select id="getSupperByvillageId" parameterType="_long" resultType="java.lang.Long"> - select dis_tow.* - from ba_district dis_vil - inner join - ba_district dis_tow - on dis_vil.supperId = dis_tow.id - where dis_vil.id = #{vaId,jdbcType=BIGINT} - </select> - + <!--鏍规嵁涓嬬骇鑾峰彇涓婁竴绾у湴鍧�--> <select id="getSupperByVillageId" parameterType="_long" resultType="java.lang.Long"> select dis_tow.* from ba_district dis_vil @@ -291,4 +312,39 @@ on dis_vil.supperId = dis_tow.id where dis_vil.id = #{vaId,jdbcType=BIGINT} </select> + + <!--鏍规嵁鍙栨按鍙g紪鍙疯幏鍙栨湭鍒犻櫎鐨勫彇姘村彛鏁伴噺--> + <select id="getRecordCountOfIntake" resultType="java.lang.Integer"> + SELECT COUNT(*) AS recordCount FROM pr_intake WHERE deleted = 0 AND id = ${intakeId} + </select> + + <!--鏍规嵁鏉慖D鑾峰彇鍏ㄩ儴鍦板潃--> + <select id="getAddressByVillageId" parameterType="_long" resultType="java.lang.String"> + select + CONCAT(dis_province.`name`, dis_city.`name`, dis_county.`name`, dis_town.`name`, dis_village.`name`) AS address + from ba_district dis_village + inner join ba_district dis_town on dis_village.supperId = dis_town.id + inner join ba_district dis_county on dis_town.supperId = dis_county.id + inner join ba_district dis_city on dis_county.supperId = dis_city.id + inner join ba_district dis_province on dis_city.supperId = dis_province.id + where dis_village.id = #{villageId,jdbcType=BIGINT} + </select> + + <!--鏍规嵁鍖哄煙Id鑾峰彇鍖哄煙绛夌骇--> + <select id="getLevelByRegionId" parameterType="_long" resultType="java.lang.Integer"> + select + region.level + from ba_district region + where region.id = #{regionId,jdbcType=BIGINT} + </select> + + <!--鑾峰彇鏈粦鎺у埗鍣ㄧ殑鍙栨按鍙e垪琛�--> + <select id="getNoBindingIntakes" resultType="java.util.HashMap"> + SELECT + CAST(inta.id AS char)AS intakeId, + name AS intakeName + FROM pr_intake inta + WHERE id NOT IN(SELECT intakeId FROM pr_controller) AND deleted = 0 + </select> + </mapper> \ No newline at end of file -- Gitblit v1.8.0