<?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.HouseMapper">
|
|
<!-- 通用查询映射结果 -->
|
<resultMap id="houseResultMap" type="org.springblade.modules.house.entity.HouseEntity">
|
<result column="id" property="id"/>
|
<result column="house_code" property="houseCode"/>
|
<result column="district_code" property="districtCode"/>
|
<result column="district_name" property="districtName"/>
|
<result column="house_name" property="houseName"/>
|
<result column="phone" property="phone"/>
|
<result column="area" property="area"/>
|
<result column="property_price" property="propertyPrice"/>
|
<result column="service_due" property="serviceDue"/>
|
<result column="floor" property="floor"/>
|
<result column="building" property="building"/>
|
<result column="unit" property="unit"/>
|
<result column="room" property="room"/>
|
<result column="building_no" property="buildingNo"/>
|
<result column="image_urls" property="imageUrls"/>
|
<result column="create_user" property="createUser"/>
|
<result column="created_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"/>
|
</resultMap>
|
|
<!--过滤网格数据-->
|
<sql id="filterHouseGrid">
|
<if test="houseParam.roleName!=null and houseParam.roleName!=''">
|
<if test="houseParam.roleName=='网格员'">
|
<choose>
|
<when test="list != null and list.size()>0">
|
and house_code in
|
<foreach collection="list" item="houseCode" separator="," open="(" close=")">
|
#{houseCode}
|
</foreach>
|
</when>
|
<otherwise>
|
and house_code in ('')
|
</otherwise>
|
</choose>
|
</if>
|
</if>
|
</sql>
|
|
<sql id="selectHouse">
|
select
|
id,
|
house_code,
|
district_code,
|
district_name,
|
house_name,
|
phone,
|
area,
|
property_price,
|
service_due,
|
floor,
|
building,
|
unit,
|
room,
|
building_no,
|
image_urls,
|
create_user,
|
create_time,
|
update_user,
|
update_time,
|
remark,
|
is_deleted
|
from
|
jczz_house
|
</sql>
|
|
|
<!--房屋详情-->
|
<resultMap id="houseAndHouseLabelMap" type="org.springblade.modules.house.vo.HouseVO" autoMapping="true">
|
<result column="id" property="id"/>
|
<result column="house_code" property="houseCode"/>
|
<result column="district_code" property="districtCode"/>
|
<result column="district_name" property="districtName"/>
|
<result column="house_name" property="houseName"/>
|
<result column="phone" property="phone"/>
|
<result column="area" property="area"/>
|
<result column="property_price" property="propertyPrice"/>
|
<result column="service_due" property="serviceDue"/>
|
<result column="floor" property="floor"/>
|
<result column="building" property="building"/>
|
<result column="unit" property="unit"/>
|
<result column="room" property="room"/>
|
<result column="building_no" property="buildingNo"/>
|
<result column="image_urls" property="imageUrls"/>
|
<result column="create_user" property="createUser"/>
|
<result column="created_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"/>
|
<collection property="userHouseLabelVOList" javaType="java.util.List" select="selectHouseLabelPage"
|
column="house_code"
|
ofType="org.springblade.modules.house.vo.UserHouseLabelVO" 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 house_code = #{houseCode} and lable_type = 2
|
</select>
|
|
<!--房屋详情-->
|
<resultMap id="housePageAndHouseLabelMap" type="org.springblade.modules.house.vo.HouseVO" autoMapping="true">
|
<id property="id" column="id"/>
|
<collection property="userHouseLabelVOList" javaType="java.util.List"
|
ofType="org.springblade.modules.house.vo.UserHouseLabelVO" autoMapping="true">
|
<id property="id" column="cid"/>
|
<result property="remark" column="cremark"/>
|
</collection>
|
</resultMap>
|
|
<!--自定义分页列表-->
|
<select id="selectHousePage" resultMap="houseAndHouseLabelMap">
|
select
|
jh.*,
|
concat(jh.building," ",jh.unit," ",jh.room) as address,
|
br.town_name as townStreetName,br.name as neiName,
|
jg.grid_name
|
from jczz_house jh
|
left join jczz_grid jg on jg.grid_code = jh.grid_code and jg.is_deleted = 0
|
left join blade_region br on br.code = jg.community_code
|
LEFT JOIN jczz_police_affairs_grid jpag on jh.jw_grid_code= jpag.jw_grid_code and jpag.is_deleted = 0
|
<where>
|
<if test="house.id != null ">and jh.id = #{house.id}</if>
|
<if test="house.streetCode != null and house.streetCode != ''">
|
and jda.town_street_code like concat('%',#{house.streetCode},'%')
|
</if>
|
<if test="house.houseCode != null and house.houseCode != ''">and jh.house_code = #{house.houseCode}</if>
|
<if test="house.districtCode != null and house.districtCode != ''">and jh.district_code =
|
#{house.districtCode}
|
</if>
|
<if test="house.districtName != null and house.districtName != ''">
|
and jh.district_name like concat('%',#{house.districtName},'%')
|
</if>
|
<if test="house.townStreetName!=null and house.townStreetName!=''">
|
and br.town_name like concat('%',#{house.townStreetName},'%')
|
</if>
|
<if test="house.neiName!=null and house.neiName!=''">
|
and br.name like concat('%',#{house.neiName},'%')
|
</if>
|
<if test="house.address!=null and house.address!=''">
|
and jh.address like concat('%',#{house.address},'%')
|
</if>
|
<if test="house.houseName != null and house.houseName != ''">and jh.house_name like
|
concat('%',#{house.houseName},'%')
|
</if>
|
<if test="house.phone != null and house.phone != ''">and jh.phone = #{house.phone}</if>
|
<if test="house.area != null ">and jh.area = #{house.area}</if>
|
<if test="house.propertyPrice != null ">and jh.property_price = #{house.propertyPrice}</if>
|
<if test="house.serviceDue != null ">and jh.service_due = #{house.serviceDue}</if>
|
<if test="house.floor != null ">and jh.floor = #{house.floor}</if>
|
<if test="house.building != null and house.building != ''">and jh.building = #{house.building}</if>
|
<if test="house.unit != null and house.unit != ''">and jh.unit = #{house.unit}</if>
|
<if test="house.room != null and house.room != ''">and jh.room = #{house.room}</if>
|
<if test="house.buildingNo != null ">and jh.building_no = #{house.buildingNo}</if>
|
<if test="isAdministrator==2">
|
<choose>
|
<when test="house.roleName != null and house.roleName != ''">
|
<if test="house.roleName=='wgy'">
|
<choose>
|
<when test="gridCodeList !=null and gridCodeList.size()>0">
|
and jh.grid_code in
|
<foreach collection="gridCodeList" item="code" open="(" close=")" separator=",">
|
#{code}
|
</foreach>
|
</when>
|
<otherwise>
|
and jh.grid_code in ('')
|
</otherwise>
|
</choose>
|
</if>
|
<if test="house.roleName=='mj'">
|
<choose>
|
<when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
|
and jpag.community_code in
|
<foreach collection="regionChildCodesList" item="code" open="(" close=")"
|
separator=",">
|
#{code}
|
</foreach>
|
</when>
|
<otherwise>
|
and jpag.community_code in ('')
|
</otherwise>
|
</choose>
|
</if>
|
</when>
|
<otherwise>
|
<choose>
|
<when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
|
and
|
(
|
jg.grid_code in
|
<foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
|
#{code}
|
</foreach>
|
or
|
jpag.community_code in
|
<foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
|
#{code}
|
</foreach>
|
)
|
</when>
|
<otherwise>
|
and
|
(
|
jg.grid_code in ('')
|
or
|
jpag.community_code in ('')
|
)
|
</otherwise>
|
</choose>
|
</otherwise>
|
</choose>
|
</if>
|
<if test="house.parentId != null ">
|
and jh.house_code in (
|
SELECT DISTINCT
|
juhl.house_code
|
FROM
|
jczz_user_house_label juhl
|
LEFT JOIN jczz_label jl ON juhl.label_id = jl.id
|
WHERE
|
juhl.lable_type = 2
|
<if test="house.labelId != null ">
|
AND jl.id = #{house.labelId}
|
</if>
|
<if test="house.parentId != null ">
|
AND jl.parent_id = #{house.parentId}
|
</if>
|
AND juhl.label_id IS NOT NULL
|
)
|
</if>
|
and jh.is_deleted = 0
|
ORDER BY
|
jh.update_time desc,jh.id desc
|
</where>
|
|
|
</select>
|
|
<!--房屋详情-->
|
<resultMap id="houseAndHouseLabelDetailMap" type="org.springblade.modules.house.vo.HouseVO" autoMapping="true">
|
<result column="id" property="id"/>
|
<result column="house_code" property="houseCode"/>
|
<result column="district_code" property="districtCode"/>
|
<result column="district_name" property="districtName"/>
|
<result column="house_name" property="houseName"/>
|
<result column="phone" property="phone"/>
|
<result column="area" property="area"/>
|
<result column="property_price" property="propertyPrice"/>
|
<result column="service_due" property="serviceDue"/>
|
<result column="floor" property="floor"/>
|
<result column="building" property="building"/>
|
<result column="unit" property="unit"/>
|
<result column="room" property="room"/>
|
<result column="building_no" property="buildingNo"/>
|
<result column="image_urls" property="imageUrls"/>
|
<result column="create_user" property="createUser"/>
|
<result column="created_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"/>
|
<collection property="userHouseLabelVOList" javaType="java.util.List"
|
ofType="org.springblade.modules.house.vo.UserHouseLabelVO" autoMapping="true">
|
<id property="id" column="cid"/>
|
<result property="remark" column="cremark"/>
|
</collection>
|
</resultMap>
|
|
<!--房屋自定义详情查询-->
|
<select id="getHouseDetail" resultMap="houseAndHouseLabelDetailMap">
|
select
|
jh.*,
|
jhl.id as cid,jhl.*,jhl.remark as cremark,
|
br.code as neiCode,br.town_code as streetCode
|
from jczz_house jh
|
left join jczz_user_house_label jhl on jh.house_code = jhl.house_code and jhl.lable_type = 2
|
left join jczz_grid jg on jg.grid_code = jh.grid_code and jg.is_deleted = 0
|
left join blade_region br on br.code = jg.community_code
|
where jh.is_deleted = 0
|
<if test="house.houseCode!=null and house.houseCode!=''">
|
and jh.house_code = #{house.houseCode}
|
</if>
|
<if test="house.id!=null">
|
and jh.id = #{house.id}
|
</if>
|
</select>
|
|
<!--房屋数据导出-->
|
<select id="export" resultType="org.springblade.modules.house.excel.HouseExcel">
|
select
|
*,
|
concat(building," ",unit," ",room) as address
|
from jczz_house
|
where is_deleted = 0
|
<if test="house.id != null ">and id = #{house.id}</if>
|
<if test="house.houseCode != null and house.houseCode != ''">and house_code = #{house.houseCode}</if>
|
<if test="house.districtCode != null and house.districtCode != ''">and district_code = #{house.districtCode}
|
</if>
|
<if test="house.districtName != null and house.districtName != ''">
|
and district_name like concat('%',#{house.districtName},'%')
|
</if>
|
<if test="house.houseName != null and house.houseName != ''">and house_name = #{house.houseName}</if>
|
<if test="house.phone != null and house.phone != ''">and phone = #{house.phone}</if>
|
<if test="house.area != null ">and area = #{house.area}</if>
|
<if test="house.propertyPrice != null ">and property_price = #{house.propertyPrice}</if>
|
<if test="house.serviceDue != null ">and service_due = #{house.serviceDue}</if>
|
<if test="house.floor != null ">and floor = #{house.floor}</if>
|
<if test="house.building != null and house.building != ''">and building = #{house.building}</if>
|
<if test="house.unit != null and house.unit != ''">and unit = #{house.unit}</if>
|
<if test="house.room != null and house.room != ''">and room = #{house.room}</if>
|
<if test="house.buildingNo != null ">and building_no = #{house.buildingNo}</if>
|
</select>
|
|
|
<!--获取房屋树-->
|
<select id="getHouseTree" resultType="org.springblade.modules.house.vo.HouseTree">
|
SELECT
|
district_code as code,
|
district_name as name,
|
jda.nei_code as parentCode
|
FROM jczz_house jh
|
left join
|
(select nei_code,aoi_code from jczz_doorplate_address where nei_code = #{houseParam.code} group by
|
nei_code,aoi_code) jda
|
on jda.aoi_code = jh.district_code
|
WHERE jda.nei_code = #{houseParam.code}
|
<include refid="filterHouseGrid"/>
|
GROUP BY district_code,district_name,nei_code
|
union all
|
(
|
SELECT
|
building as code,
|
building as name,
|
district_code as parentCode
|
FROM jczz_house jh
|
left join
|
(select nei_code,aoi_code from jczz_doorplate_address where nei_code = #{houseParam.code} group by
|
nei_code,aoi_code) jda
|
on jda.aoi_code = jh.district_code
|
WHERE jda.nei_code = #{houseParam.code}
|
<include refid="filterHouseGrid"/>
|
GROUP BY building,district_code
|
)
|
union all
|
(
|
select
|
unit as code,
|
unit name,
|
building as parentCode
|
FROM jczz_house jh
|
left join
|
(select nei_code,aoi_code from jczz_doorplate_address where nei_code = #{houseParam.code} group by
|
nei_code,aoi_code) jda
|
on jda.aoi_code = jh.district_code
|
WHERE jda.nei_code = #{houseParam.code}
|
<include refid="filterHouseGrid"/>
|
group by unit,building
|
)
|
union all
|
(
|
select
|
room as code,
|
room name,
|
unit as parentCode
|
FROM jczz_house jh
|
left join
|
(select nei_code,aoi_code from jczz_doorplate_address where nei_code = #{houseParam.code} group by
|
nei_code,aoi_code) jda
|
on jda.aoi_code = jh.district_code
|
WHERE jda.nei_code = #{houseParam.code}
|
<include refid="filterHouseGrid"/>
|
)
|
</select>
|
|
|
<select id="getHouseStatisticsOne" resultType="java.lang.Integer">
|
SELECT
|
count( 1 )
|
FROM
|
(
|
SELECT DISTINCT
|
jda.building_code
|
FROM
|
jczz_house jh
|
LEFT JOIN jczz_doorplate_address jda ON jda.address_code = jh.house_code
|
WHERE
|
jda.nei_code = #{code}
|
AND jh.is_deleted = 0
|
<if test="buildingCode != null and buildingCode != ''">
|
and jda.building_code=#{buildingCode}
|
</if>
|
|
<if test="unitCode != null and unitCode != ''">
|
and jda.unit_code=#{unitCode}
|
</if>
|
|
<if test="aoiCode != null and aoiCode != ''">
|
and jda.aoi_code=#{aoiCode}
|
</if>
|
<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 like concat('%',#{userId},'%'))
|
)
|
</if>
|
) a
|
|
</select>
|
|
|
<select id="getHouseStatisticsTwo" resultType="java.lang.Integer">
|
SELECT
|
count( 1 )
|
FROM
|
(
|
SELECT DISTINCT
|
jda.address_code
|
FROM
|
jczz_house jh
|
LEFT JOIN jczz_doorplate_address jda ON jda.address_code = jh.house_code
|
WHERE
|
jda.nei_code = #{code}
|
AND jh.is_deleted = 0
|
and jda.doorplate_type = '户室牌'
|
<if test="buildingCode != null and buildingCode != ''">
|
and jda.building_code=#{buildingCode}
|
</if>
|
|
<if test="unitCode != null and unitCode != ''">
|
and jda.unit_code=#{unitCode}
|
AND jda.unit_code is not null
|
</if>
|
|
<if test="aoiCode != null and aoiCode != ''">
|
and jda.aoi_code=#{aoiCode}
|
</if>
|
<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 like concat('%',#{userId},'%'))
|
)
|
</if>
|
) a
|
|
</select>
|
|
|
<select id="getHouseStatisticsThree" resultType="java.lang.Integer">
|
SELECT
|
count( 1 )
|
FROM
|
jczz_household jhh
|
LEFT JOIN jczz_doorplate_address jda ON jda.address_code = jhh.house_code
|
WHERE
|
jda.nei_code = #{code}
|
AND jhh.is_deleted = 0
|
and jda.doorplate_type = '户室牌'
|
<if test="buildingCode != null and buildingCode != ''">
|
and jda.building_code=#{buildingCode}
|
</if>
|
|
<if test="unitCode != null and unitCode != ''">
|
and jda.unit_code=#{unitCode}
|
AND jda.unit_code is not null
|
</if>
|
|
<if test="aoiCode != null and aoiCode != ''">
|
and jda.aoi_code=#{aoiCode}
|
</if>
|
<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 like concat('%',#{userId},'%'))
|
)
|
</if>
|
</select>
|
|
|
<select id="getHouseStatisticsFour" resultType="java.lang.Integer">
|
SELECT
|
count( 1 )
|
FROM
|
(
|
SELECT DISTINCT
|
jda.unit_code
|
FROM
|
jczz_house jh
|
LEFT JOIN jczz_doorplate_address jda ON jda.address_code = jh.house_code
|
WHERE
|
jda.nei_code = #{code}
|
AND jh.is_deleted = 0
|
AND jda.unit_code is not null
|
<if test="buildingCode != null and buildingCode != ''">
|
and jda.building_code=#{buildingCode}
|
</if>
|
|
<if test="unitCode != null and unitCode != ''">
|
and jda.unit_code=#{unitCode}
|
</if>
|
|
<if test="aoiCode != null and aoiCode != ''">
|
and jda.aoi_code=#{aoiCode}
|
</if>
|
<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 like concat('%',#{userId},'%'))
|
)
|
</if>
|
) a
|
|
|
</select>
|
|
<select id="getHouseBuilding" resultType="java.lang.String">
|
SELECT DISTINCT
|
jh.building
|
FROM
|
jczz_house jh
|
LEFT JOIN jczz_district jd ON jd.aoi_code = jh.district_code
|
WHERE
|
jd.id = #{districtCode}
|
and jh.building is not null
|
</select>
|
|
<select id="getHouseUnit" resultType="java.lang.String">
|
SELECT DISTINCT
|
jh.unit
|
FROM
|
jczz_house jh
|
LEFT JOIN jczz_district jd ON jd.aoi_code = jh.district_code
|
WHERE
|
jd.id = #{districtCode}
|
and jd.building = #{building}
|
and jh.building is not null
|
|
</select>
|
|
<select id="labelStatistics" resultType="java.util.Map">
|
SELECT
|
jl.id AS id,
|
jl.parent_id AS parentId,
|
jl.label_name AS name,
|
jl.sort,
|
(SELECT
|
count( DISTINCT jhl.house_code )
|
FROM
|
jczz_user_house_label jhl
|
LEFT JOIN jczz_house jh ON jhl.house_code = jh.house_code
|
LEFT JOIN jczz_grid jg ON jg.grid_code = jh.grid_code
|
AND jg.is_deleted = 0
|
LEFT JOIN blade_region br ON br.CODE = jg.community_code
|
<where>
|
<if test="house.id != null ">and jh.id = #{house.id}</if>
|
<if test="house.streetCode != null and house.streetCode != ''">
|
and jda.town_street_code like concat('%',#{house.streetCode},'%')
|
</if>
|
<if test="house.houseCode != null and house.houseCode != ''">and jh.house_code = #{house.houseCode}</if>
|
<if test="house.districtCode != null and house.districtCode != ''">and jh.district_code =
|
#{house.districtCode}
|
</if>
|
<if test="house.districtName != null and house.districtName != ''">
|
and jh.district_name like concat('%',#{house.districtName},'%')
|
</if>
|
<if test="house.townStreetName!=null and house.townStreetName!=''">
|
and br.town_name like concat('%',#{house.townStreetName},'%')
|
</if>
|
<if test="house.neiName!=null and house.neiName!=''">
|
and br.name like concat('%',#{house.neiName},'%')
|
</if>
|
<if test="house.address!=null and house.address!=''">
|
and jh.address like concat('%',#{house.address},'%')
|
</if>
|
<if test="house.houseName != null and house.houseName != ''">and jh.house_name like
|
concat('%',#{house.houseName},'%')
|
</if>
|
<if test="house.phone != null and house.phone != ''">and jh.phone = #{house.phone}</if>
|
<if test="house.area != null ">and jh.area = #{house.area}</if>
|
<if test="house.propertyPrice != null ">and jh.property_price = #{house.propertyPrice}</if>
|
<if test="house.serviceDue != null ">and jh.service_due = #{house.serviceDue}</if>
|
<if test="house.floor != null ">and jh.floor = #{house.floor}</if>
|
<if test="house.building != null and house.building != ''">and jh.building = #{house.building}</if>
|
<if test="house.unit != null and house.unit != ''">and jh.unit = #{house.unit}</if>
|
<if test="house.room != null and house.room != ''">and jh.room = #{house.room}</if>
|
<if test="house.buildingNo != null ">and jh.building_no = #{house.buildingNo}</if>
|
<if test="isAdministrator==2">
|
<choose>
|
<when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
|
and jg.community_code in
|
<foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
|
#{code}
|
</foreach>
|
</when>
|
</choose>
|
</if>
|
<if test="house.parentId != null ">
|
<if test="house.labelId != null ">
|
AND jl.id = #{house.labelId}
|
</if>
|
<if test="house.parentId != null ">
|
AND jl.parent_id = #{house.parentId}
|
</if>
|
and jhl.label_id=jl.id
|
AND jhl.lable_type = 2
|
AND jhl.label_id IS NOT NULL
|
</if>
|
and jh.is_deleted = 0
|
</where>
|
) count
|
FROM
|
jczz_label jl where is_deleted = 0
|
<if test="house.parentId != null ">
|
AND jl.parent_id = #{house.parentId}
|
</if>
|
and jl.id != '1002'
|
|
|
</select>
|
|
|
<select id="labelCommunityStatistics" resultType="java.util.Map">
|
SELECT
|
br.code,
|
br.name,
|
br.id
|
FROM
|
blade_region br
|
<where>
|
<if test="regionChildCodesList !=null and regionChildCodesList.size()>0">
|
br.code IN
|
<foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
|
#{code}
|
</foreach>
|
</if>
|
and br.parent_code = '361102'
|
</where>
|
</select>
|
|
<select id="getlabelCount" resultType="org.springblade.modules.label.vo.LabelVO">
|
|
SELECT
|
jl.label_name,
|
( SELECT
|
count( DISTINCT jhl.house_code )
|
FROM
|
jczz_user_house_label jhl
|
LEFT JOIN jczz_house jh ON jhl.house_code = jh.house_code
|
LEFT JOIN jczz_grid jg ON jg.grid_code = jh.grid_code
|
AND jg.is_deleted = 0
|
LEFT JOIN jczz_community jc ON jc.CODE = jg.community_code
|
LEFT JOIN blade_region br ON br.CODE = jg.community_code
|
WHERE
|
jhl.lable_type = 2
|
AND jl.id = jhl.label_id
|
AND jc.street_code = #{streetCode}
|
<if test="house.townStreetName!=null and house.townStreetName!=''">
|
and br.town_name like concat('%',#{house.townStreetName},'%')
|
</if>
|
<if test="house.neiName!=null and house.neiName!=''">
|
and br.name like concat('%',#{house.neiName},'%')
|
</if>
|
<if test="house.neiName!=null and house.neiName!=''">
|
and br.name like concat('%',#{house.neiName},'%')
|
</if>
|
<if test="house.address!=null and house.address!=''">
|
and jh.address like concat('%',#{house.address},'%')
|
</if>
|
<if test="isAdministrator==2">
|
<choose>
|
<when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
|
and jg.community_code in
|
<foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
|
#{code}
|
</foreach>
|
</when>
|
</choose>
|
</if>
|
<if test="house.parentId != null ">
|
and jh.house_code in (
|
SELECT DISTINCT
|
juhl.house_code
|
FROM
|
jczz_user_house_label juhl
|
LEFT JOIN jczz_label jl ON juhl.label_id = jl.id
|
WHERE
|
juhl.lable_type = 2
|
<if test="house.labelId != null ">
|
AND jl.id = #{house.labelId}
|
</if>
|
<if test="house.parentId != null ">
|
AND jl.parent_id = #{house.parentId}
|
</if>
|
AND juhl.label_id IS NOT NULL
|
)
|
</if>
|
) num
|
FROM
|
jczz_label jl
|
WHERE
|
jl.parent_id = '1001'
|
ORDER BY
|
jl.sort DESC
|
|
</select>
|
|
<!--查询未绑定网格或警格的数据-->
|
<select id="getNotBindGridOrJwGridList" resultType="org.springblade.modules.house.entity.HouseEntity">
|
select id,lng,lat from jczz_house where is_deleted = 0 and lng != ''
|
<if test="type == 1">
|
and grid_code is null
|
</if>
|
<if test="type == 2">
|
and jw_grid_code is null
|
</if>
|
</select>
|
|
<!--按房屋标签统计-->
|
<select id="getHouseLabelStatistic" resultType="java.util.Map">
|
select a.label_name as labelName,ifnull(b.numbers,0) numbers from
|
(
|
select label_name from jczz_label where parent_id = 1001 and is_deleted = 0
|
union all
|
select '未知' as label_name
|
) a
|
left join (
|
select
|
ifnull(juhl.label_name,'未知') labelName,
|
count(*) as numbers
|
from jczz_doorplate_address jda
|
LEFT JOIN jczz_house jh on jda.address_code = jh.house_code and jh.is_deleted = 0
|
LEFT JOIN jczz_grid jg on jg.grid_code = jh.grid_code and jg.is_deleted = 0
|
LEFT JOIN blade_region br on br.code = jg.community_code
|
LEFT JOIN jczz_police_affairs_grid jpag on jh.jw_grid_code= jpag.jw_grid_code and jpag.is_deleted = 0
|
LEFT JOIN jczz_user_house_label juhl ON juhl.house_code = jh.house_code and juhl.lable_type = 2
|
where jda.doorplate_type = '户室牌'
|
<if test="house.communityCode != null and house.communityCode != ''">
|
and jg.community_code = #{house.communityCode}
|
</if>
|
<if test="isAdministrator==2">
|
<choose>
|
<when test="house.roleName != null and house.roleName != ''">
|
<if test="house.roleName=='wgy'">
|
<choose>
|
<when test="gridCodeList !=null and gridCodeList.size()>0">
|
and jh.grid_code in
|
<foreach collection="gridCodeList" item="code" open="(" close=")" separator=",">
|
#{code}
|
</foreach>
|
</when>
|
<otherwise>
|
and jh.grid_code in ('')
|
</otherwise>
|
</choose>
|
</if>
|
<if test="house.roleName=='mj'">
|
<choose>
|
<when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
|
and jpag.community_code in
|
<foreach collection="regionChildCodesList" item="code" open="(" close=")"
|
separator=",">
|
#{code}
|
</foreach>
|
</when>
|
<otherwise>
|
and jpag.community_code in ('')
|
</otherwise>
|
</choose>
|
</if>
|
</when>
|
<otherwise>
|
<choose>
|
<when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
|
and
|
(
|
jg.grid_code in
|
<foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
|
#{code}
|
</foreach>
|
or
|
jpag.community_code in
|
<foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
|
#{code}
|
</foreach>
|
)
|
</when>
|
<otherwise>
|
and
|
(
|
jg.grid_code in ('')
|
or
|
jpag.community_code in ('')
|
)
|
</otherwise>
|
</choose>
|
</otherwise>
|
</choose>
|
</if>
|
group by juhl.label_name
|
) b on a.label_name =b.labelName
|
</select>
|
|
<!--查询对应的社区编号-->
|
<select id="getCommunityCode" resultType="java.lang.String">
|
SELECT
|
jpag.community_code
|
FROM
|
jczz_house jh
|
LEFT JOIN jczz_police_affairs_grid jpag on jh.jw_grid_code= jpag.jw_grid_code and jpag.is_deleted = 0
|
where jh.is_deleted = 0
|
and jh.id = #{id}
|
</select>
|
|
<!--查询所有房屋总数-->
|
<select id="getAllListTotal" resultType="java.lang.Integer">
|
SELECT
|
count(*)
|
FROM
|
jczz_house jh
|
where jh.is_deleted = 0
|
</select>
|
|
<!--查询所有的房屋-->
|
<select id="getAllList" resultType="org.springblade.modules.house.vo.HouseVO">
|
SELECT
|
jh.*,
|
jpag.community_code
|
FROM
|
jczz_house jh
|
LEFT JOIN jczz_police_affairs_grid jpag on jh.jw_grid_code= jpag.jw_grid_code and jpag.is_deleted = 0
|
where jh.is_deleted = 0
|
limit #{i},#{size}
|
</select>
|
|
<!--查询无房屋状态的房屋数量-->
|
<select id="getNotBindLabelHouseNum" resultType="java.lang.Integer">
|
select count(*) from (
|
SELECT
|
jh.house_code,
|
case when c.house_code is not null then 1
|
when a.house_code is not null and b.house_code is null then 2
|
when b.house_code is not null then 3
|
end as status
|
FROM
|
jczz_house jh
|
left join
|
(
|
select house_code from jczz_household where is_deleted = 0 and relationship = 1 and house_code is not null and house_code != '' GROUP BY house_code
|
) a on a.house_code = jh.house_code
|
left join
|
(
|
select house_code from jczz_household where is_deleted = 0 and relationship = 18 and house_code is not null and house_code != '' GROUP BY house_code
|
) b on b.house_code = jh.house_code
|
left join
|
(
|
select house_code from jczz_household where is_deleted = 0 and relationship is null or (relationship!=1 and relationship!=18) and house_code is not null and house_code != '' GROUP BY house_code
|
) c on c.house_code = jh.house_code
|
) d left join jczz_user_house_label juhl on d.house_code = juhl.house_code and lable_type = 2
|
where juhl.id is null and status is not null
|
</select>
|
|
<!--查询无房屋状态的房屋列表集合-->
|
<select id="getNotBindLabelHouseList" resultType="org.springblade.modules.house.vo.HouseVO">
|
select d.* from (
|
SELECT
|
jh.house_code,
|
case when c.house_code is not null then 1
|
when a.house_code is not null and b.house_code is null then 2
|
when b.house_code is not null then 3
|
end as status
|
FROM
|
jczz_house jh
|
left join
|
(
|
select house_code from jczz_household where is_deleted = 0 and relationship = 1 and house_code is not null and house_code != '' GROUP BY house_code
|
) a on a.house_code = jh.house_code
|
left join
|
(
|
select house_code from jczz_household where is_deleted = 0 and relationship = 18 and house_code is not null and house_code != '' GROUP BY house_code
|
) b on b.house_code = jh.house_code
|
left join
|
(
|
select house_code from jczz_household where is_deleted = 0 and relationship is null or (relationship!=1 and relationship!=18) and house_code is not null and house_code != '' GROUP BY house_code
|
) c on c.house_code = jh.house_code
|
) d left join jczz_user_house_label juhl on d.house_code = juhl.house_code and lable_type = 2
|
where juhl.id is null and status is not null
|
limit #{i},#{size}
|
</select>
|
|
|
</mapper>
|