<?xml version="1.0" encoding="UTF-8"?>
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<mapper namespace="org.springblade.modules.house.mapper.HouseholdMapper">
|
|
<!-- 通用查询映射结果 -->
|
<resultMap id="householdResultMap" type="org.springblade.modules.house.entity.HouseholdEntity">
|
<result column="id" property="id"/>
|
<result column="house_code" property="houseCode"/>
|
<result column="name" property="name"/>
|
<result column="phone_number" property="phoneNumber"/>
|
<result column="associated_user_id" property="associatedUserId"/>
|
<result column="associated_user_name" property="associatedUserName"/>
|
<result column="relationship" property="relationship"/>
|
<!-- <result column="primary_contact" property="primaryContact"/>-->
|
<result column="residential_status" property="residentialStatus"/>
|
<result column="gender" property="gender"/>
|
<result column="birthday" property="birthday"/>
|
<result column="id_card" property="idCard"/>
|
<result column="hkmt_pass" property="hkmtPass"/>
|
<result column="passport" property="passport"/>
|
<result column="ethnicity" property="ethnicity"/>
|
<result column="education" property="education"/>
|
<result column="hukou_registration" property="hukouRegistration"/>
|
<result column="work_status" property="workStatus"/>
|
<result column="employer" property="employer"/>
|
<result column="marital_status" property="maritalStatus"/>
|
<result column="card_number" property="cardNumber"/>
|
<result column="other_contact" property="otherContact"/>
|
<result column="current_address" property="currentAddress"/>
|
<result column="disability_cert" property="disabilityCert"/>
|
<!-- <result column="data_status" property="dataStatus"/>-->
|
<result column="role_type" property="roleType"/>
|
<result column="party_ember" property="partyEmber"/>
|
<result column="create_user" property="createUser"/>
|
<result column="create_time" property="createTime"/>
|
<result column="update_user" property="updateUser"/>
|
<result column="update_time" property="updateTime"/>
|
<result column="remark" property="remark"/>
|
<result column="is_deleted" property="isDeleted"/>
|
<result column="confirm_flag" property="confirmFlag"/>
|
<result column="housing_rental_id" property="housingRentalId"/>
|
</resultMap>
|
|
<sql id="selectHousehold">
|
select
|
id,
|
house_code,
|
name,
|
phone_number,
|
associated_user_id,
|
role_type,
|
associated_user_name,
|
relationship,
|
is_primary_contact,
|
residential_status,
|
gender,
|
birthday,
|
id_card,
|
hkmt_pass,
|
passport,
|
ethnicity,
|
education,
|
hukou_registration,
|
work_status,
|
employer,
|
marital_status,
|
card_number,
|
other_contact,
|
current_address,
|
disability_cert,
|
party_ember,
|
create_user,
|
create_time,
|
update_user,
|
update_time,
|
remark,
|
is_deleted,
|
confirm_flag,
|
housing_rental_id
|
from jczz_household
|
</sql>
|
|
<resultMap id="householdAndLabelMap" type="org.springblade.modules.house.vo.HouseholdVO" autoMapping="true">
|
<id property="id" column="id"/>
|
<collection property="householdLabelList" javaType="java.util.List"
|
ofType="org.springblade.modules.house.vo.HouseholdLabelVO" autoMapping="true">
|
<id property="id" column="cid"/>
|
<id property="houseCode" column="houseCodes"/>
|
<result property="remark" column="cremark"/>
|
</collection>
|
</resultMap>
|
|
<resultMap id="householdPageAndLabelMap" type="org.springblade.modules.house.vo.HouseholdVO" autoMapping="true">
|
<id property="id" column="id"/>
|
<collection property="householdLabelList" javaType="java.util.List" select="selectHouseLabelPage" column="id"
|
ofType="org.springblade.modules.house.vo.HouseholdLabelVO" autoMapping="true">
|
</collection>
|
</resultMap>
|
|
<select id="selectHouseLabelPage" resultType="org.springblade.modules.house.vo.HouseholdLabelVO">
|
select
|
id,
|
house_code,
|
label_id,
|
label_name,
|
color,
|
remark cremark,
|
user_id,
|
lable_type,
|
household_id
|
from
|
jczz_user_house_label
|
where household_id = #{id} and lable_type = 1
|
</select>
|
|
<!--自定义分页数据查询-->
|
<select id="selectHouseholdPage" resultMap="householdPageAndLabelMap">
|
SELECT
|
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.gender,
|
jh.birthday,
|
jh.id_card,
|
jh.card_type,
|
jh.hkmt_pass,
|
ifnull( jh.gender, CASE WHEN substring( jh.id_card, 17, 1 )% 2 = 1 THEN 1 ELSE 0 END ) AS gender,
|
jh.passport,
|
jh.ethnicity,
|
jh.education,
|
jh.resident_type,
|
jh.hukou_registration,
|
jh.resident_adcode,
|
jh.native_place_adcode,
|
jh.religious_belief,
|
jh.health_status,
|
jh.disease_name,
|
jh.work_status,
|
jh.employer,
|
jh.occupation,
|
jh.cmpy_reg_addr,
|
jh.go_out_addr,
|
jh.go_out_where,
|
jh.go_out_time,
|
jh.go_out_reason,
|
jh.marital_status,
|
jh.card_number,
|
jh.other_contact,
|
IF
|
( jda.id IS NOT NULL, jda.address_name, jh.current_address ) AS current_address,
|
jh.disability_cert,
|
jh.party_ember,
|
jh.remark,
|
jh.confirm_flag,
|
jh.housing_rental_id,
|
IF
|
( jda.id IS NOT NULL, substring( jda.town_street_code, 1, 9 ), jh.home_adcode ) AS home_adcode,
|
jhs.district_name aoiName,
|
concat( jhs.building, " ", unit, " ", room ) AS address,
|
jda.town_street_name AS townStreetName,
|
jda.nei_name AS neiName,
|
jg.grid_name,
|
jhs.building,
|
jhs.district_code aoiCode,
|
jhs.unit
|
FROM
|
jczz_household jh
|
LEFT JOIN jczz_house jhs ON jh.house_code = jhs.house_code and jhs.is_deleted = 0
|
LEFT JOIN jczz_doorplate_address jda ON jda.address_code = jh.house_code
|
LEFT JOIN jczz_grid_range jgr on jgr.house_code=jda.address_code
|
LEFT JOIN jczz_grid jg on jg.id = jgr.grid_id and jg.is_deleted = 0
|
<where>
|
<if test="household.userId!=null">
|
AND jg.id IN ( SELECT DISTINCT jgm.grid_id FROM jczz_gridman jgm WHERE jgm.user_id = #{household.userId}
|
)
|
</if>
|
<if test="household.name!=null and household.name !=''">
|
and jh.name like concat('%',#{household.name},'%')
|
</if>
|
<if test="household.houseCode!=null and household.houseCode !=''">
|
and jh.house_code = #{household.houseCode}
|
</if>
|
<if test="household.phoneNumber!=null and household.phoneNumber !=''">
|
and jh.phone_number like concat('%',#{household.phoneNumber},'%')
|
</if>
|
<if test="household.idCard!=null and household.idCard !=''">
|
and jh.id_card like concat('%',#{household.idCard},'%')
|
</if>
|
<if test="household.aoiName!=null and household.aoiName !=''">
|
and jhs.district_name like concat('%',#{household.aoiName},'%')
|
</if>
|
<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>
|
<if test="household.startTime != null and household.startTime != '' and household.endTime != null and household.endTime != '' ">
|
AND jh.create_time BETWEEN #{household.startTime} and #{household.endTime}
|
</if>
|
<if test="household.regionCode!=null and household.regionCode!=''">
|
and jg.community_code like concat(#{household.regionCode},'%')
|
</if>
|
<if test="household.building!=null and household.building!=''">
|
and jhs.building like concat(#{household.building},'%')
|
</if>
|
<if test="household.unit!=null and household.unit!=''">
|
and jhs.unit like concat(#{household.unit},'%')
|
</if>
|
<if test="household.aoiCode!=null and household.aoiCode!=''">
|
and jhs.district_code = #{household.aoiCode}
|
</if>
|
and jh.is_deleted = 0
|
order by jh.create_time desc
|
</where>
|
|
|
</select>
|
|
<select id="getAllHouseHold" resultMap="householdPageAndLabelMap">
|
SELECT
|
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.confirm_flag,
|
jh.remark,
|
jhs.district_name aoiName,
|
concat( jhs.building, " ", unit, " ", room ) AS address,
|
jda.town_street_name AS townStreetName,
|
jda.nei_name AS neiName,
|
jg.grid_name
|
FROM
|
jczz_household jh
|
LEFT JOIN jczz_house jhs ON jh.house_code = jhs.house_code and jhs.is_deleted = 0
|
LEFT JOIN jczz_doorplate_address jda ON jda.address_code = jh.house_code
|
LEFT JOIN jczz_grid_range jgr on jgr.house_code=jda.address_code
|
LEFT JOIN jczz_grid jg on jg.id = jgr.grid_id and jg.is_deleted = 0
|
where jh.is_deleted = 0
|
and jh.name != '' and jh.name is not null
|
<if test="household.userId!=null">
|
AND jg.id IN ( SELECT DISTINCT jgm.grid_id FROM jczz_gridman jgm WHERE jgm.user_id = #{household.userId}
|
)
|
</if>
|
<if test="household.name!=null and household.name !=''">
|
and jh.name like concat('%',#{household.name},'%')
|
</if>
|
<if test="household.houseCode!=null and household.houseCode !=''">
|
and jh.house_code = #{household.houseCode}
|
</if>
|
<if test="household.phoneNumber!=null and household.phoneNumber !=''">
|
and jh.phone_number like concat('%',#{household.phoneNumber},'%')
|
</if>
|
<if test="household.idCard!=null and household.idCard !=''">
|
and jh.id_card like concat('%',#{household.idCard},'%')
|
</if>
|
<if test="household.aoiName!=null and household.aoiName !=''">
|
and jhs.district_name like concat('%',#{household.aoiName},'%')
|
</if>
|
<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>
|
<if test="household.startTime != null and household.startTime != '' and household.endTime != null and household.endTime != '' ">
|
AND jh.create_time BETWEEN #{household.startTime} and #{household.endTime}
|
</if>
|
<if test="household.regionCode!=null and household.regionCode!=''">
|
and jg.community_code like concat('%',#{household.regionCode},'%')
|
</if>
|
<if test="household.id!=null and household.id!=''">
|
and jh.id = #{household.id}
|
</if>
|
order by jh.create_time desc
|
</select>
|
|
|
<!--查询房屋集合信息-->
|
<select id="selectHouseNodeList" resultType="org.springblade.common.node.TreeStringNode">
|
select jh.house_code as id,
|
jh.house_code as houseCode,
|
jda.address_name as name,
|
false as hasChildren,
|
jda.doorplate_type doorplateType,
|
jda.address_level addressLevel,
|
jda.nei_name neiName,
|
jda.aoi_code aoiCode,
|
jh.relationship relationship
|
from jczz_household jh
|
left join jczz_doorplate_address jda on jh.house_code = jda.address_code
|
where 1 = 1 and jh.is_deleted = 0
|
and jh.associated_user_id = #{userId}
|
</select>
|
|
<!--查询房屋集合信息-->
|
<select id="getHouseholdListByCode" resultMap="householdAndLabelMap">
|
select
|
jh.*,
|
jhl.id as cid,
|
jhl.house_code houseCodes,
|
jhl.label_id,
|
jhl.label_name,
|
jhl.color,
|
jhl.user_id,
|
jhl.lable_type,
|
jhl.household_id,
|
jhl.remark as cremark
|
from jczz_household jh
|
left join jczz_user_house_label jhl on jh.id = jhl.household_id
|
where 1=1 and jh.is_deleted = 0
|
and jh.house_code = #{code}
|
order by -jh.relationship desc,jh.id desc
|
</select>
|
|
<!--查询房屋集合信息-按id-->
|
<select id="getHouseholdListById" resultMap="householdAndLabelMap">
|
select
|
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.gender,jh.birthday,jh.id_card,
|
jh.card_type,jh.card_no,jh.hkmt_pass,jh.passport,
|
jh.ethnicity,jh.education,jh.resident_type,
|
jh.hukou_registration,jh.resident_adcode,jh.native_place_adcode,
|
jh.religious_belief,jh.health_status,jh.disease_name,
|
jh.work_status,jh.employer,jh.occupation,jh.cmpy_reg_addr,
|
jh.go_out_addr,jh.go_out_where,jh.go_out_time,jh.go_out_reason,
|
jh.marital_status,jh.card_number,jh.other_contact,
|
if(jda.id is not null,jda.address_name,jh.current_address) as current_address,
|
jh.disability_cert,jh.party_ember,jh.remark,
|
jh.confirm_flag,jh.housing_rental_id,
|
if(jda.id is not null,substring(jda.town_street_code,1,9),jh.home_adcode) as home_adcode,
|
br1.name as residentAdName,
|
br1.province_code as residentProvinceAdCode,br1.province_name as residentProvinceAdName,
|
br1.city_code as residentCityAdCode,br1.city_name as residentCityAdName,
|
br2.name as nativePlaceAdName,
|
br2.province_code as nativePlaceProvinceAdCode,br2.province_name as nativePlaceProvinceAdName,
|
br2.city_code as nativePlaceCityAdCode,br2.city_name as nativePlaceCityAdName,
|
jhs.source,
|
jhl.id as cid,
|
jhl.house_code houseCodes,
|
jhl.label_id,
|
jhl.label_name,
|
jhl.color,
|
jhl.user_id,
|
jhl.lable_type,
|
jhl.household_id,
|
jhl.remark as cremark
|
from jczz_household jh
|
left join jczz_user_house_label jhl on jh.id = jhl.household_id
|
left join jczz_doorplate_address jda on jda.address_code = jh.house_code
|
left join jczz_house jhs on jhs.house_code = jh.house_code
|
left join blade_region br1 on br1.code = jh.resident_adcode
|
left join blade_region br2 on br2.code = jh.native_place_adcode
|
where 1=1 and jh.is_deleted = 0
|
and jh.id = #{household.id}
|
</select>
|
|
<!--导出数据-->
|
<select id="export" resultType="org.springblade.modules.house.excel.HouseHoldExcel">
|
select
|
jh.house_code houseCode,
|
jh.name,jh.phone_number phoneNumber,jh.role_type roleType,jh.relationship relationship,
|
jh.is_primary_contact isPrimaryContact,jh.residential_status residentialStatus,jh.gender,
|
jh.birthday,jh.id_card idCard,jh.hkmt_pass hkmtPass,jh.passport,jh.ethnicity,jh.education,
|
jh.hukou_registration hukouRegistration,jh.work_status workStatus,jh.employer,jh.marital_status maritalStatus,
|
jh.card_number cardNumber,jh.other_contact otherContact,jh.current_address currentAddress,
|
jh.disability_cert disabilityCert,jh.party_ember partyEmber,jh.remark,
|
jhs.district_name aoiName,
|
concat(jhs.building," ",unit," ",room) as address
|
from
|
jczz_household jh join jczz_house jhs on jh.house_code = jhs.house_code and jhs.is_deleted = 0
|
where jh.is_deleted = 0
|
<if test="household.name!=null and household.name !=''">
|
and jh.name like concat('%',#{household.name},'%')
|
</if>
|
<if test="household.phoneNumber!=null and household.phoneNumber !=''">
|
and jh.phone_number like concat('%',#{household.phoneNumber},'%')
|
</if>
|
<if test="household.idCard!=null and household.idCard !=''">
|
and jh.id_card like concat('%',#{household.idCard},'%')
|
</if>
|
<if test="household.aoiName!=null and household.aoiName !=''">
|
and jhs.district_name like concat('%',#{household.aoiName},'%')
|
</if>
|
</select>
|
|
|
<select id="statistics" resultType="java.lang.Integer">
|
SELECT
|
count( 1 )
|
FROM
|
jczz_household jh
|
LEFT JOIN jczz_doorplate_address jda ON jh.house_code = jda.address_code
|
<where>
|
<if test="neiCode != null and neiCode != ''">
|
and jda.nei_code = #{neiCode}
|
</if>
|
<if test="userId != null">
|
AND jh.house_code IN (
|
SELECT
|
jgr.house_code
|
FROM
|
jczz_grid_range jgr
|
LEFT JOIN jczz_grid jg ON jg.id = jgr.grid_id
|
LEFT JOIN jczz_gridman jgm ON jg.id = jgm.grid_id
|
WHERE
|
jg.is_deleted = 0
|
AND jgm.user_id = #{userId} )
|
</if>
|
and jh.is_deleted = 0
|
and jh.confirm_flag = 0
|
</where>
|
</select>
|
|
<!--查询物业-->
|
<select id="getProperty" resultType="org.springblade.modules.house.vo.HouseholdOtherVO">
|
SELECT
|
jpcd.property_company_id as code,
|
jpcd.principal as name,
|
jpcd.principal_phone as phone
|
FROM
|
jczz_doorplate_address jda
|
LEFT JOIN jczz_district jd ON jd.aoi_code = jda.aoi_code
|
LEFT JOIN jczz_property_company_district jpcd on jpcd.district_id=jd.id
|
WHERE 1=1
|
AND jda.address_code = #{household.houseCode}
|
limit 1
|
</select>
|
|
<!--查询网格-->
|
<select id="getGrid" resultType="org.springblade.modules.house.vo.HouseholdOtherVO">
|
SELECT jg.id as code,
|
jgm.gridman_name as name,
|
jgm.mobile as phone
|
FROM jczz_grid_range jgr
|
LEFT JOIN jczz_grid jg ON jg.id = jgr.grid_id and jg.is_deleted = 0
|
LEFT JOIN jczz_gridman jgm ON jg.id = jgm.grid_id and jgm.is_deleted = 0
|
WHERE 1 = 1
|
AND jgr.house_code = #{household.houseCode} limit 1
|
</select>
|
|
<!--查询公安信息-->
|
<select id="getSecurity" resultType="org.springblade.modules.house.vo.HouseholdOtherVO">
|
SELECT
|
address_code as code,policeman as name,policeman_phone as phone
|
FROM
|
jczz_doorplate_address
|
WHERE
|
address_code = #{household.houseCode}
|
</select>
|
|
|
<select id="getHouseHoldStatistics" resultType="java.util.Map">
|
SELECT
|
a.gender,
|
count( a.gender ) numbers
|
FROM
|
( SELECT
|
IF
|
(
|
id_card IS NULL or id_card = '',
|
'未知',
|
IF
|
(SUBSTRING( id_card, 17, 1 ) % 2 = 1, '男', '女' )) AS gender
|
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
|
and jda.doorplate_type = '户室牌'
|
<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>
|
) a
|
GROUP BY
|
a.gender
|
</select>
|
<select id="getHouseHoldStatisticsAge" resultType="java.util.Map">
|
|
select
|
case
|
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
|
WHERE
|
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>
|
|
<!--查询所有未入库的业主信息-->
|
<select id="getNotInsertUserHousehold" resultType="org.springblade.modules.house.entity.HouseholdEntity">
|
select jh.* from jczz_household jh
|
where jh.is_deleted = 0
|
and jh.relationship = 1
|
and jh.associated_user_id is null
|
and jh.phone_number !=''
|
and length(jh.name)<=12
|
</select>
|
|
<!--关联标签-->
|
<resultMap id="householdPageAndLabelMaps" type="org.springblade.modules.house.vo.HouseholdVO" autoMapping="true">
|
<id property="id" column="id"/>
|
<collection property="householdLabelList" javaType="java.util.List"
|
ofType="org.springblade.modules.house.vo.HouseholdLabelVO" autoMapping="true">
|
<id property="id" column="cid"/>
|
<result property="houseCode" column="houseCodes"/>
|
</collection>
|
</resultMap>
|
|
<!--住户列表查询(关联标签)-->
|
<select id="selectHouseholdList" resultMap="householdPageAndLabelMaps">
|
SELECT
|
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.confirm_flag,
|
jh.remark,
|
jhs.district_name aoiName,
|
concat( jhs.building, " ", unit, " ", room ) AS address,
|
jda.town_street_name AS townStreetName,
|
jda.nei_name AS neiName,
|
jg.grid_name,
|
juhl.id as cid,juhl.house_code as houseCodes,juhl.label_id,juhl.label_name,juhl.color
|
FROM
|
jczz_household jh
|
LEFT JOIN jczz_house jhs ON jh.house_code = jhs.house_code and jhs.is_deleted = 0
|
LEFT JOIN jczz_doorplate_address jda ON jda.address_code = jh.house_code
|
LEFT JOIN jczz_grid_range jgr on jgr.house_code=jda.address_code
|
LEFT JOIN jczz_grid jg on jg.id = jgr.grid_id and jg.is_deleted = 0
|
LEFT JOIN jczz_user_house_label juhl on juhl.house_code = jda.address_code and lable_type=1
|
<where>
|
<if test="household.userId!=null">
|
AND jg.id IN ( SELECT DISTINCT jgm.grid_id FROM jczz_gridman jgm WHERE jgm.user_id = #{household.userId}
|
)
|
</if>
|
<if test="household.name!=null and household.name !=''">
|
and jh.name like concat('%',#{household.name},'%')
|
</if>
|
<if test="household.houseCode!=null and household.houseCode !=''">
|
and jh.house_code = #{household.houseCode}
|
</if>
|
<if test="household.phoneNumber!=null and household.phoneNumber !=''">
|
and jh.phone_number like concat('%',#{household.phoneNumber},'%')
|
</if>
|
<if test="household.idCard!=null and household.idCard !=''">
|
and jh.id_card like concat('%',#{household.idCard},'%')
|
</if>
|
<if test="household.aoiName!=null and household.aoiName !=''">
|
and jhs.district_name like concat('%',#{household.aoiName},'%')
|
</if>
|
<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>
|
<if test="household.startTime != null and household.startTime != '' and household.endTime != null and household.endTime != '' ">
|
AND jh.create_time BETWEEN #{household.startTime} and #{household.endTime}
|
</if>
|
<if test="household.regionCode!=null and household.regionCode!=''">
|
and jg.community_code like concat('%',#{household.regionCode},'%')
|
</if>
|
<if test="household.id!=null">
|
and jh.id = #{household.id}
|
</if>
|
<if test="household.labelId!=null">
|
and juhl.label_id = #{household.labelId}
|
</if>
|
<if test="household.searchKey!=null and household.searchKey!=''">
|
and CONCAT(jh.name,jh.phone_number) like CONCAT ('%', #{household.searchKey},'%')
|
</if>
|
and jh.is_deleted = 0
|
and jh.name != '' and jh.name is not null
|
order by jh.create_time desc,jh.id desc
|
<if test="household.limit!=null">
|
limit #{household.limit}
|
</if>
|
</where>
|
</select>
|
|
|
<select id="getKeynotePersonnelPage" resultType="org.springblade.modules.house.vo.HouseholdVO">
|
|
SELECT
|
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.gender,
|
jh.birthday,
|
jh.id_card,
|
jh.card_type,
|
jh.hkmt_pass,
|
ifnull( jh.gender, CASE WHEN substring( jh.id_card, 17, 1 )% 2 = 1 THEN 1 ELSE 0 END ) AS gender,
|
jh.passport,
|
jh.ethnicity,
|
jh.education,
|
jh.resident_type,
|
jh.hukou_registration,
|
jh.resident_adcode,
|
jh.native_place_adcode,
|
jh.religious_belief,
|
jh.health_status,
|
jh.disease_name,
|
jh.work_status,
|
jh.employer,
|
jh.occupation,
|
jh.cmpy_reg_addr,
|
jh.go_out_addr,
|
jh.go_out_where,
|
jh.go_out_time,
|
jh.go_out_reason,
|
jh.marital_status,
|
jh.card_number,
|
jh.other_contact,
|
IF
|
( jda.id IS NOT NULL, jda.address_name, jh.current_address ) AS current_address,
|
jh.disability_cert,
|
jh.party_ember,
|
jh.remark,
|
jh.confirm_flag,
|
jh.housing_rental_id,
|
IF
|
( jda.id IS NOT NULL, substring( jda.town_street_code, 1, 9 ), jh.home_adcode ) AS home_adcode,
|
jhs.district_name aoiName,
|
concat( jhs.building, " ", unit, " ", room ) AS address,
|
jda.town_street_name AS townStreetName,
|
jda.nei_name AS neiName,
|
jg.grid_name,
|
jhs.building,
|
jhs.district_code aoiCode,
|
jhs.unit
|
FROM
|
jczz_household jh
|
LEFT JOIN jczz_house jhs ON jh.house_code = jhs.house_code and jhs.is_deleted = 0
|
LEFT JOIN jczz_doorplate_address jda ON jda.address_code = jh.house_code
|
LEFT JOIN jczz_grid_range jgr on jgr.house_code=jda.address_code
|
LEFT JOIN jczz_grid jg on jg.id = jgr.grid_id and jg.is_deleted = 0
|
<where>
|
<if test="household.userId!=null">
|
AND jg.id IN ( SELECT DISTINCT jgm.grid_id FROM jczz_gridman jgm WHERE jgm.user_id = #{household.userId}
|
)
|
</if>
|
<if test="household.name!=null and household.name !=''">
|
and jh.name like concat('%',#{household.name},'%')
|
</if>
|
<if test="household.houseCode!=null and household.houseCode !=''">
|
and jh.house_code = #{household.houseCode}
|
</if>
|
<if test="household.phoneNumber!=null and household.phoneNumber !=''">
|
and jh.phone_number like concat('%',#{household.phoneNumber},'%')
|
</if>
|
<if test="household.idCard!=null and household.idCard !=''">
|
and jh.id_card like concat('%',#{household.idCard},'%')
|
</if>
|
<if test="household.aoiName!=null and household.aoiName !=''">
|
and jhs.district_name like concat('%',#{household.aoiName},'%')
|
</if>
|
<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>
|
<if test="household.startTime != null and household.startTime != '' and household.endTime != null and household.endTime != '' ">
|
AND jh.create_time BETWEEN #{household.startTime} and #{household.endTime}
|
</if>
|
<if test="household.regionCode!=null and household.regionCode!=''">
|
and jg.community_code like concat(#{household.regionCode},'%')
|
</if>
|
<if test="household.building!=null and household.building!=''">
|
and jhs.building like concat(#{household.building},'%')
|
</if>
|
<if test="household.unit!=null and household.unit!=''">
|
and jhs.unit like concat(#{household.unit},'%')
|
</if>
|
<if test="household.aoiCode!=null and household.aoiCode!=''">
|
and jhs.district_code = #{household.aoiCode}
|
</if>
|
and jh.is_deleted = 0
|
order by jh.create_time desc
|
</where>
|
</select>
|
|
</mapper>
|