<?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= "com.epmet.dao.IcStatsResiWarnDao" >
<resultMap type= "com.epmet.entity.IcStatsResiWarnEntity" id= "icStatsResiWarnMap" >
<result property= "id" column= "ID" />
<result property= "customerId" column= "CUSTOMER_ID" />
<result property= "configId" column= "CONFIG_ID" />
<result property= "gridId" column= "GRID_ID" />
<result property= "agencyId" column= "AGENCY_ID" />
<result property= "agencyPids" column= "AGENCY_PIDS" />
<result property= "neighborHoodId" column= "NEIGHBOR_HOOD_ID" />
<result property= "buildingId" column= "BUILDING_ID" />
<result property= "count" column= "COUNT" />
<result property= "delFlag" column= "DEL_FLAG" />
<result property= "revision" column= "REVISION" />
<result property= "createdBy" column= "CREATED_BY" />
<result property= "createdTime" column= "CREATED_TIME" />
<result property= "updatedBy" column= "UPDATED_BY" />
<result property= "updatedTime" column= "UPDATED_TIME" />
</resultMap>
<select id= "selectResiWarnByAgencyId" resultType= "com.epmet.entity.IcStatsResiWarnEntity" >
select * from ic_stats_resi_warn
where
DEL_FLAG='0'
<if test= "agencyId != null and agencyId.trim() != ''" >
AND (AGENCY_ID = #{agencyId} or CONCAT(':',AGENCY_PIDS, ':') like CONCAT('%:',#{agencyId},':%'))
</if>
</select>
<select id= "userWarnList" resultType= "map" >
select
BUILD_ID as buildingId,
GROUP_CONCAT(name) as residentNames
from ic_resi_user
where
BUILD_ID in
<foreach collection= "buildingIdList" item= "buildingId" open= "(" separator= "," close= " )" >
#{buildingId}
</foreach>
<if test= "tableName=='ic_resi_user'" >
and ${columnName} = '1'
</if>
<if test= "tableName!='ic_resi_user'" >
and ID in (
select IC_RESI_USER from ${tableName} where ${columnName} = '1' and DEL_FLAG = '0'
)
</if>
and DEL_FLAG = '0'
group by BUILD_ID
</select>
<select id= "countListByLevelAndCol" resultType= "int" >
select count(*)
from ic_resi_user
where 1=1
<if test= "tableName=='ic_resi_user'" >
and ${columnName} = '1'
</if>
<if test= "tableName!='ic_resi_user'" >
and ID in (
select IC_RESI_USER from ${tableName} where ${columnName} = '1' and DEL_FLAG = '0'
)
</if>
<if test= "level=='agency'" >
AND (AGENCY_ID = #{id} or CONCAT(':',PIDS, ':') like CONCAT('%:',#{id},':%'))
</if>
<if test= "level=='grid'" >
AND GRID_ID = #{id}
</if>
<if test= "level=='neighborHood'" >
AND VILLAGE_ID = #{id}
</if>
<if test= "level=='building'" >
AND BUILD_ID = #{id}
</if>
and DEL_FLAG = '0'
</select>
<select id= "resiWarn" resultType= "com.epmet.entity.IcStatsResiWarnEntity" >
SELECT
AGENCY_ID as agencyId,
PIDS as agencyPids,
GRID_ID as gridId,
VILLAGE_ID as neighborHoodId,
BUILD_ID as buildingId,
count(*) as count
from ic_resi_user
where 1=1
<if test= "tableName=='ic_resi_user'" >
and ${columnName} = '1'
</if>
<if test= "tableName!='ic_resi_user'" >
and ID in (
select IC_RESI_USER from ${tableName} where ${columnName} = '1' and DEL_FLAG = '0'
)
</if>
and DEL_FLAG = '0'
group by AGENCY_ID,GRID_ID,VILLAGE_ID,BUILD_ID
</select>
<select id= "resiWarnById" resultType= "com.epmet.entity.IcStatsResiWarnEntity" >
SELECT
AGENCY_ID as agencyId,
PIDS as agencyPids,
GRID_ID as gridId,
VILLAGE_ID as neighborHoodId,
BUILD_ID as buildingId,
count(*) as count
from ic_resi_user
where 1=1
<if test= "tableName=='ic_resi_user'" >
and ${columnName} = '1'
</if>
<if test= "tableName!='ic_resi_user'" >
and ID in (
select IC_RESI_USER from ${tableName} where ${columnName} = '1' and DEL_FLAG = '0'
)
</if>
and DEL_FLAG = '0'
and AGENCY_ID = #{icStatsResiWarn.agencyId} and GRID_ID =#{icStatsResiWarn.gridId} and VILLAGE_ID=#{icStatsResiWarn.neighborHoodId} and BUILD_ID=#{icStatsResiWarn.buildingId}
group by AGENCY_ID,GRID_ID,VILLAGE_ID,BUILD_ID
</select>
</mapper>