@ -70,83 +70,6 @@
)
</update>
<!-- <select id="searchHouseByPage" resultType="map">
select
a.ID as houseId,
a.HOUSE_NAME as houseName,
a.DOOR_NAME as doorName,
a.HOUSE_TYPE as houseType,
a.PURPOSE as purpose,
a.RENT_FLAG as rentFlag,
a.OWNER_NAME as ownerName,
a.OWNER_PHONE as ownerPhone,
a.OWNER_ID_CARD as ownerIdCard,
b.BUILDING_NAME as buildingName,
c.NEIGHBOR_HOOD_NAME as neighborHoodName,
d.UNIT_NUM as unitName
from ic_house a
INNER JOIN ic_building b on a.BUILDING_ID = b.ID
and c.ID in (select e.ID from ic_building e ${ew1.customSqlSegment})
INNER JOIN ic_neighbor_hood c on a.NEIGHBOR_HOOD_ID = c.ID
and c.ID in (select f.ID from ic_neighbor_hood f
INNER JOIN customer_agency g on f.AGENCY_ID = g.ID
INNER JOIN customer_grid h on f.GRID_ID = h.ID
${ew2.customSqlSegment}
)
LEFT JOIN ic_building_unit d on a.BUILDING_UNIT_ID = d.ID
${ew.customSqlSegment}
</select> -->
<!-- <select id="searchHouseByPage" resultType="map">
select
a.ID as houseId,
a.HOUSE_NAME as houseName,
a.DOOR_NAME as doorName,
a.HOUSE_TYPE as houseType,
a.PURPOSE as purpose,
a.RENT_FLAG as rentFlag,
a.OWNER_NAME as ownerName,
a.OWNER_PHONE as ownerPhone,
a.OWNER_ID_CARD as ownerIdCard,
b.BUILDING_NAME as buildingName,
c.NEIGHBOR_HOOD_NAME as neighborHoodName,
d.UNIT_NUM as unitName
from ic_house a
INNER JOIN ic_building b on a.BUILDING_ID = b.ID
<if test= "building.id != null and building.id.trim() != ''" >
AND b.ID = #{building.id}
</if>
<if test= "building.buildingName != null and building.buildingName.trim() != ''" >
AND b.BUILDING_NAME like concat('%',trim(#{building.buildingName}),'%')
</if>
INNER JOIN ic_neighbor_hood c on a.NEIGHBOR_HOOD_ID = c.ID
<if test= "neighbor.id != null and neighbor.id.trim() != ''" >
AND c.ID = #{neighbor.id}
</if>
<if test= "neighbor.agencyId != null and neighbor.agencyId.trim() != ''" >
AND c.AGENCY_ID = #{neighbor.agencyId}
</if>
<if test= "neighbor.gridId != null and neighbor.gridId.trim() != ''" >
AND c.GRID_ID = #{neighbor.gridId}
</if>
<if test= "neighbor.neighborHoodName != null and neighbor.neighborHoodName.trim() != ''" >
AND c.NEIGHBOR_HOOD_NAME like concat('%',trim(#{neighbor.neighborHoodName}),'%')
</if>
LEFT JOIN ic_building_unit d on a.BUILDING_UNIT_ID = d.ID
<where >
<if test= "house.ownerName != null and house.ownerName.trim() != ''" >
AND a.OWNER_NAME = #{house.ownerName}
</if>
<if test= "house.OWNER_PHONE != null and house.OWNER_PHONE.trim() != ''" >
AND a.OWNER_PHONE = #{house.ownerPhone}
</if>
<if test= "house.delFlag != null and house.delFlag.trim() != ''" >
AND a.DEL_FLAG = #{building.delFlag}
</if>
</where>
</select> -->
<select id= "searchHouseByPage" resultType= "map" >
select
a.HOUSE_NAME as houseName,
@ -154,7 +77,10 @@
b.BUILDING_NAME as buildingName,
d.UNIT_NUM as unitNum,
a.DOOR_NAME as doorName,
if(a.RENT_FLAG=1,'是','否') as rentFlag,
(case when a.RENT_FLAG = '0' then '自住'
when a.RENT_FLAG = '1' then '出租'
when a.RENT_FLAG = '2' then '闲置'
else '' end) as rentFlag,
a.OWNER_NAME as ownerName,
/*a.RENT_FLAG as rentFlag,
a.PURPOSE as purpose,*/
@ -167,7 +93,7 @@
a.BUILDING_UNIT_ID as unitNumKey,
a.HOUSE_TYPE as houseTypeKey,
a.PURPOSE as purposeKey,
a.RENT_FLAG as rentFlagKey,
CAST( a.RENT_FLAG AS CHAR) as rentFlagKey,
c.AGENCY_ID as agencyId,
c.GRID_ID as gridId
from ic_house a
@ -175,16 +101,26 @@
LEFT JOIN ic_neighbor_hood c on a.NEIGHBOR_HOOD_ID = c.ID and c.DEL_FLAG = '0'
LEFT JOIN ic_building_unit d on a.BUILDING_UNIT_ID = d.ID and d.DEL_FLAG = '0'
<where >
a.del_flag = '0'
1 = 1
<if test= "pids != null and pids != ''" >
and case c.AGENCY_PIDS
when '' then CONCAT(c.AGENCY_ID) like CONCAT(#{pids}, '%')
else CONCAT(c.AGENCY_PIDS, ':', c.AGENCY_ID) like CONCAT(#{pids}, '%')
end
and case c.AGENCY_PIDS when '' then CONCAT(c.AGENCY_ID) like CONCAT(#{pids}, '%')
else CONCAT(c.AGENCY_PIDS, ':', c.AGENCY_ID) like CONCAT(#{pids}, '%') end
</if>
<if test= "buildingId != null and buildingId.trim() != ''" >
AND a.BUILDING_ID = #{buildingId}
</if>
<if test= 'level == "grid"' >
AND c.GRID_ID = #{id}
</if>
<if test= 'level == "neighborHood"' >
AND c.id = #{id}
</if>
<if test= 'level == "build"' >
AND b.id = #{id}
</if>
<if test= "rentFlag != null and rentFlag.trim() != ''" >
AND a.RENT_FLAG = #{rentFlag}
</if>
<if test= "ownerName != null and ownerName.trim() != ''" >
AND a.OWNER_NAME like concat('%',#{ownerName},'%')
</if>
@ -197,22 +133,17 @@
<if test= "buildingName != null and buildingName.trim() != ''" >
AND b.BUILDING_NAME like CONCAT('%',#{buildingName},'%')
</if>
<if test= "rentFlag != null and rentFlag.trim() != ''" >
AND a.rent_flag = #{rentFlag}
</if>
and a.del_flag = '0'
</where>
/*排序规则:如果是社区查询则根据小区、楼栋、单元、房屋名字分别升序排序*/
<choose >
<when test= "queryScene == 'community_search'" >
ORDER BY CONVERT(c.NEIGHBOR_HOOD_NAME using gbk) ASC,
CONVERT(b.BUILDING_NAME USING gbk) ASC,
CONVERT(d.UNIT_NAME USING gbk) ASC,
CONVERT(a.HOUSE_NAME using gbk) ASC
</when>
<when test= "queryScene == 'house_manage'" >
ORDER BY CAST(d.UNIT_NUM AS SIGNED), a.DOOR_NAME
</when>
<otherwise >
ORDER BY CAST(d.UNIT_NUM AS SIGNED), a.DOOR_NAME
</otherwise>
</choose>
/*排序规则:根据小区、楼栋、单元、门牌号(分别按照数字和中文)分别升序排序*/
ORDER BY CONVERT(c.NEIGHBOR_HOOD_NAME using gbk),
CONVERT(b.BUILDING_NAME USING gbk),
CONVERT(d.UNIT_NAME USING gbk),
CAST(a.DOOR_NAME AS SIGNED),
CONVERT(a.DOOR_NAME using gbk)
</select>
<select id= "searchAllHouse" resultType= "com.epmet.excel.IcHouseExcel" >
select
@ -220,7 +151,7 @@
a.DOOR_NAME as doorName,
a.HOUSE_TYPE as houseType,
a.PURPOSE as purpose,
if(a.RENT_FLAG=1,'是','否' ) as rentFlag,
if(a.RENT_FLAG=0,'自住',if(a.RENT_FLAG=1,'出租','闲置') ) as rentFlag,
a.OWNER_NAME as ownerName,
a.OWNER_PHONE as ownerPhone,
a.OWNER_ID_CARD as ownerIdCard,
@ -244,59 +175,8 @@
<if test= "house.delFlag != null and house.delFlag.trim() != ''" >
AND a.DEL_FLAG = #{house.delFlag}
</if>
</where>
</select>
<!-- <select id="searchAllHouse" resultType="com.epmet.excel.IcHouseExcel">
select
a.HOUSE_NAME as houseName,
a.DOOR_NAME as doorName,
a.HOUSE_TYPE as houseType,
a.PURPOSE as purpose,
a.RENT_FLAG as rentFlag,
a.OWNER_NAME as ownerName,
a.OWNER_PHONE as ownerPhone,
a.OWNER_ID_CARD as ownerIdCard,
b.BUILDING_NAME as buildingName,
c.NEIGHBOR_HOOD_NAME as neighborHoodName,
d.UNIT_NUM as unitName
from ic_house a
INNER JOIN ic_building b on a.BUILDING_ID = b.ID
<if test= "building.id != null and building.id.trim() != ''" >
AND b.ID = #{building.id}
</if>
<if test= "building.buildingName != null and building.buildingName.trim() != ''" >
AND b.BUILDING_NAME like concat('%',trim(#{building.buildingName}),'%')
</if>
INNER JOIN ic_neighbor_hood c on a.NEIGHBOR_HOOD_ID = c.ID
<if test= "neighbor.id != null and neighbor.id.trim() != ''" >
AND c.ID = #{neighbor.id}
</if>
<if test= "neighbor.agencyId != null and neighbor.agencyId.trim() != ''" >
AND c.AGENCY_ID = #{neighbor.agencyId}
</if>
<if test= "neighbor.gridId != null and neighbor.gridId.trim() != ''" >
AND c.GRID_ID = #{neighbor.gridId}
</if>
<if test= "neighbor.neighborHoodName != null and neighbor.neighborHoodName.trim() != ''" >
AND c.NEIGHBOR_HOOD_NAME like concat('%',trim(#{neighbor.neighborHoodName}),'%')
</if>
LEFT JOIN ic_building_unit d on a.BUILDING_UNIT_ID = d.ID
<where >
<if test= "house.ownerName != null and house.ownerName.trim() != ''" >
AND a.OWNER_NAME = #{house.ownerName}
</if>
<if test= "house.OWNER_PHONE != null and house.OWNER_PHONE.trim() != ''" >
AND a.OWNER_PHONE = #{house.ownerPhone}
</if>
<if test= "house.delFlag != null and house.delFlag.trim() != ''" >
AND a.DEL_FLAG = #{building.delFlag}
</if>
</where>
</select> -->
<select id= "queryHouseInfo" parameterType= "map" resultType= "com.epmet.dto.result.HouseInfoDTO" >
@ -422,4 +302,22 @@
</foreach>
)
</select>
<!-- 根据身份证查询房屋名 -->
<select id= "getHousesNameByIdCards" resultType= "com.epmet.dto.result.HousesNameResultDTO" >
SELECT
h.OWNER_ID_CARD AS idCard,
CONCAT(nh.NEIGHBOR_HOOD_NAME,b.BUILDING_NAME,n.UNIT_NAME,h.DOOR_NAME) AS houseName
FROM ic_house h
INNER JOIN ic_neighbor_hood nh ON (nh.ID = h.NEIGHBOR_HOOD_ID AND nh.DEL_FLAG = '0')
INNER JOIN ic_building b ON (b.ID = h.BUILDING_ID AND b.DEL_FLAG = '0')
INNER JOIN ic_building_unit n ON (n.ID = h.BUILDING_UNIT_ID AND n.DEL_FLAG = '0')
WHERE h.DEL_FLAG = '0'
AND h.OWNER_ID_CARD IN (
<foreach collection= "idCards" item= "i" separator= "," >
#{i}
</foreach>
)
GROUP BY h.OWNER_ID_CARD
</select>
</mapper>