From b738548b942265ec7fc487bdd2017d7d91da26f1 Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Mon, 25 Dec 2023 14:50:30 +0800
Subject: [PATCH] 场所标签优化
---
src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.xml | 91 +++++++++++++++++++++++++++++++--------------
1 files changed, 63 insertions(+), 28 deletions(-)
diff --git a/src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.xml b/src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.xml
index 9008b94..2b2f478 100644
--- a/src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.xml
+++ b/src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.xml
@@ -115,7 +115,13 @@
<!--自定义分页数据查询-->
<select id="selectHouseholdPage" resultMap="householdPageAndLabelMap">
select
- jh.*,
+ jh.id,jh.house_code,jh.name,jh.phone_number,jh.associated_user_id,
+ jh.role_type,jh.associated_user_name,jh.relationship,jh.is_primary_contact,
+ jh.residential_status,jh.birthday,jh.id_card,jh.hkmt_pass,jh.passport,
+ ifnull(jh.gender,case when substring(jh.id_card,17,1)%2=1 then 1 else 0 end) as gender,
+ jh.ethnicity,jh.education,jh.hukou_registration,jh.work_status,employer,
+ jh.marital_status,jh.card_number,jh.other_contact,jh.current_address,jh.disability_cert,
+ jh.party_ember,jh.create_user,jh.create_time,jh.update_user,jh.update_time,jh.remark,
jhs.district_name aoiName,
concat(jhs.building," ",unit," ",room) as address,
jda.town_street_name as townStreetName,jda.nei_name as neiName
@@ -142,7 +148,12 @@
<if test="household.confirmFlag != null ">
and jh.confirm_flag = #{household.confirmFlag}
</if>
-
+ <if test="household.townStreetName!=null and household.townStreetName!=''">
+ and jda.town_street_name like concat('%',#{household.townStreetName},'%')
+ </if>
+ <if test="household.neiName!=null and household.neiName!=''">
+ and jda.nei_name like concat('%',#{household.neiName},'%')
+ </if>
<if test="household.housingRentalId != null ">
and jh.housing_rental_id = #{household.housingRentalId}
</if>
@@ -277,7 +288,7 @@
( SELECT
IF
(
- id_card IS NULL,
+ id_card IS NULL or id_card = '',
'未知',
IF
(SUBSTRING( id_card, 17, 1 ) % 2 = 1, '男', '女' )) AS gender
@@ -287,9 +298,10 @@
WHERE
jda.nei_code = #{code}
AND jh.is_deleted = 0
- <if test="userId != null">
+ and jda.doorplate_type = '户室牌'
+ <if test="userId != null and roleType == '1'">
AND jda.address_code IN (
- SELECT
+ SELECT DISTINCT
jgr.house_code
FROM
jczz_grid jg
@@ -297,8 +309,17 @@
LEFT JOIN jczz_grid_range jgr ON jgr.grid_id = jg.id
WHERE
jgm.user_id = #{userId}
- AND jh.house_code = jgr.house_code
AND jg.is_deleted = 0
+ )
+ </if>
+ <if test="userId != null and roleType == '3'">
+ AND jda.address_code IN (SELECT
+ jda.address_code
+ FROM
+ jczz_doorplate_address jda
+ LEFT JOIN jczz_community jc ON jc.CODE = jda.nei_code
+ WHERE
+ jc.res_police_user_id = #{userId})
)
</if>
) a
@@ -312,29 +333,43 @@
when TIMESTAMPDIFF(YEAR,STR_TO_DATE(substr(id_card,7,8),'%Y%m%d'),sysdate()) <![CDATA[ >= ]]> 0 and TIMESTAMPDIFF(YEAR,STR_TO_DATE(substr(id_card,7,8),'%Y%m%d'),sysdate()) <![CDATA[ <= ]]> 3 then '0~3岁'
when TIMESTAMPDIFF(YEAR,STR_TO_DATE(substr(id_card,7,8),'%Y%m%d'),sysdate()) <![CDATA[ >= ]]> 4 and TIMESTAMPDIFF(YEAR,STR_TO_DATE(substr(id_card,7,8),'%Y%m%d'),sysdate()) <![CDATA[ <= ]]> 17 then '4~17岁'
when TIMESTAMPDIFF(YEAR,STR_TO_DATE(substr(id_card,7,8),'%Y%m%d'),sysdate()) <![CDATA[ >= ]]> 18 and TIMESTAMPDIFF(YEAR,STR_TO_DATE(substr(id_card,7,8),'%Y%m%d'),sysdate()) <![CDATA[ <= ]]> 39 then '18~39岁'
- when TIMESTAMPDIFF(YEAR,STR_TO_DATE(substr(id_card,7,8),'%Y%m%d'),sysdate()) <![CDATA[ >= ]]> 40 and TIMESTAMPDIFF(YEAR,STR_TO_DATE(substr(id_card,7,8),'%Y%m%d'),sysdate()) <![CDATA[ <= ]]> 59 then '40~59岁'
- when TIMESTAMPDIFF(YEAR,STR_TO_DATE(substr(id_card,7,8),'%Y%m%d'),sysdate()) <![CDATA[ >= ]]> 60 and TIMESTAMPDIFF(YEAR,STR_TO_DATE(substr(id_card,7,8),'%Y%m%d'),sysdate()) <![CDATA[ <= ]]> 79 then '60~79岁'
- when TIMESTAMPDIFF(YEAR,STR_TO_DATE(substr(id_card,7,8),'%Y%m%d'),sysdate()) <![CDATA[ > ]]> 80 then '80岁以上'
- ELSE '无身份信息'
- END AS age,
- count(1) as number FROM
- jczz_household jh
- LEFT JOIN jczz_doorplate_address jda ON jh.house_code = jda.address_code
+ when TIMESTAMPDIFF(YEAR,STR_TO_DATE(substr(id_card,7,8),'%Y%m%d'),sysdate()) <![CDATA[ >= ]]> 40 and
+ TIMESTAMPDIFF(YEAR,STR_TO_DATE(substr(id_card,7,8),'%Y%m%d'),sysdate()) <![CDATA[ <= ]]> 59 then '40~59岁'
+ when TIMESTAMPDIFF(YEAR,STR_TO_DATE(substr(id_card,7,8),'%Y%m%d'),sysdate()) <![CDATA[ >= ]]> 60 and
+ TIMESTAMPDIFF(YEAR,STR_TO_DATE(substr(id_card,7,8),'%Y%m%d'),sysdate()) <![CDATA[ <= ]]> 79 then '60~79岁'
+ when TIMESTAMPDIFF(YEAR,STR_TO_DATE(substr(id_card,7,8),'%Y%m%d'),sysdate()) <![CDATA[ > ]]> 80 then '80岁以上'
+ ELSE '无身份信息'
+ END AS age,
+ count(1) as number FROM
+ jczz_household jh
+ LEFT JOIN jczz_doorplate_address jda ON jh.house_code = jda.address_code
WHERE
- jda.nei_code = #{code}
- AND jh.is_deleted = 0
- <if test="userId != null">
- AND jda.address_code IN (
- SELECT
- distinct jgr.house_code
- FROM
- jczz_grid jg
- LEFT JOIN jczz_gridman jgm ON jg.id = jgm.grid_id
- LEFT JOIN jczz_grid_range jgr ON jgr.grid_id = jg.id
- WHERE
- jgm.user_id = #{userId}
- AND jg.is_deleted = 0
- )
+ jda.nei_code = #{code}
+ and jda.doorplate_type = '户室牌'
+ AND jh.is_deleted = 0
+ <if test="userId != null and roleType == '1'">
+ AND jda.address_code IN (
+ SELECT
+ distinct jgr.house_code
+ FROM
+ jczz_grid jg
+ LEFT JOIN jczz_gridman jgm ON jg.id = jgm.grid_id
+ LEFT JOIN jczz_grid_range jgr ON jgr.grid_id = jg.id
+ WHERE
+ jgm.user_id = #{userId}
+ AND jg.is_deleted = 0
+ )
+ </if>
+
+ <if test="userId != null and roleType == '3'">
+ AND jda.address_code IN (SELECT
+ jda.address_code
+ FROM
+ jczz_doorplate_address jda
+ LEFT JOIN jczz_community jc ON jc.CODE = jda.nei_code
+ WHERE
+ jc.res_police_user_id = #{userId})
+ )
</if>
GROUP BY age
</select>
--
Gitblit v1.9.3