<?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.panzhihua.service_grid.dao.EventGridDataMapper">
|
|
<resultMap id="baseResult" type="com.panzhihua.service_grid.model.dos.EventGridDataDO">
|
<result property="id" column="id"/>
|
<result property="type" column="type"/>
|
<result property="zoneId" column="zone_id"/>
|
<result property="gridStreetId" column="grid_street_id"/>
|
<result property="gridCommunityId" column="grid_community_id"/>
|
<result property="gridName" column="grid_name"/>
|
<result property="mapLevel" column="map_level"/>
|
<result property="area" column="area"/>
|
<result property="lineColor" column="line_color"/>
|
<result property="lineBroadband" column="line_broadband"/>
|
<result property="fillColor" column="fill_color"/>
|
<result property="remarks" column="remarks"/>
|
<result property="data" column="data"/>
|
<result property="createBy" column="create_by"/>
|
<result property="createAt" column="create_at"/>
|
<result property="updateBy" column="update_by"/>
|
<result property="updateAt" column="update_at"/>
|
</resultMap>
|
|
<sql id="columns">
|
<![CDATA[
|
id,type,zone_id,grid_street_id,grid_community_id,grid_name,map_level,area,line_color,line_broadband,fill_color,remarks,data,create_by,create_at,update_by,update_at
|
]]>
|
</sql>
|
|
|
<select id="findByPage" resultType="com.panzhihua.common.model.vos.grid.EventGridAdminVO"
|
parameterType="com.panzhihua.common.model.dtos.grid.PageEventGridDataAdminDTO">
|
SELECT DISTINCT
|
egd.id,
|
egd.grid_name,
|
egd.remarks,
|
egd.area,
|
egd.line_color,
|
egd.line_broadband,
|
egd.fill_color,
|
egd.data,
|
egd.create_at,
|
su1.`name` as createBy,
|
egd.grid_community_id,
|
(select lc_grid_name from lc_compare_code where local_grid_id = egd.id LIMIT 1) as lcGirdName,
|
(select id from lc_compare_code where local_grid_id = egd.id LIMIT 1) as lcGirdId,
|
ca.`name` AS communityName
|
FROM
|
event_grid_data AS egd
|
LEFT JOIN com_act AS ca ON ca.community_id = egd.grid_community_id
|
LEFT JOIN event_grid_member_relation AS egmr ON egmr.grid_id = egd.id
|
left join sys_user as su on su.user_id = egmr.grid_member_id
|
left join sys_user as su1 on su1.user_id = egd.create_by
|
<where>
|
<if test="pageEventGridDataDTO.gridStreetId!=null">
|
AND egd.grid_street_id = #{pageEventGridDataDTO.gridStreetId}
|
</if>
|
<if test="pageEventGridDataDTO.gridCommunityId!=null">
|
AND egd.grid_community_id = ${pageEventGridDataDTO.gridCommunityId}
|
</if>
|
|
<if test="pageEventGridDataDTO.keyWord != null and pageEventGridDataDTO.keyWord != """>
|
AND (egd.grid_name like concat(#{pageEventGridDataDTO.keyWord},'%') or su.nick_name like concat(#{pageEventGridDataDTO.keyWord},'%'))
|
</if>
|
</where>
|
ORDER BY create_at desc
|
</select>
|
<select id="selectUserGrid" resultType="com.panzhihua.common.model.vos.grid.EventGridDataVO"
|
parameterType="com.panzhihua.common.model.dtos.grid.PageEventGridDataDTO">
|
SELECT gd.id, gd.type, gd.zone_id, gd.grid_street_id, gd.grid_community_id, gd.grid_name, gd.map_level, gd.area, gd.line_color,
|
gd.line_broadband, gd.fill_color, gd.remarks, gd.data, gd.create_by, gd.create_at, gd.update_by, gd.update_at
|
FROM event_grid_data gd left join event_grid_member_relation gdr on gd.id = gdr.grid_id
|
<where>
|
<if test="pageEventGridDataDTO.userId!=null">
|
AND gdr.grid_member_id = #{pageEventGridDataDTO.userId}
|
</if>
|
<if test="pageEventGridDataDTO.id!=null">
|
AND gd.id = #{pageEventGridDataDTO.id}
|
</if>
|
<if test="pageEventGridDataDTO.type!=null">
|
AND gd.type = #{pageEventGridDataDTO.type}
|
</if>
|
<if test="pageEventGridDataDTO.zoneId!=null">
|
AND gd.zone_id = #{pageEventGridDataDTO.zoneId}
|
</if>
|
<if test="pageEventGridDataDTO.gridStreetId!=null">
|
AND gd.grid_street_id = #{pageEventGridDataDTO.gridStreetId}
|
</if>
|
<if test="pageEventGridDataDTO.gridCommunityId!=null">
|
AND gd.grid_community_id = ${pageEventGridDataDTO.gridCommunityId}
|
</if>
|
<if test="pageEventGridDataDTO.gridName!=null">
|
AND gd.grid_name = #{pageEventGridDataDTO.gridName}
|
</if>
|
<if test="pageEventGridDataDTO.mapLevel!=null">
|
AND gd.map_level = #{pageEventGridDataDTO.mapLevel}
|
</if>
|
<if test="pageEventGridDataDTO.area!=null">
|
AND gd.area = #{pageEventGridDataDTO.area}
|
</if>
|
<if test="pageEventGridDataDTO.lineColor!=null">
|
AND gd.line_color = #{pageEventGridDataDTO.lineColor}
|
</if>
|
<if test="pageEventGridDataDTO.lineBroadband!=null">
|
AND gd.line_broadband = #{pageEventGridDataDTO.lineBroadband}
|
</if>
|
<if test="pageEventGridDataDTO.fillColor!=null">
|
AND gd.fill_color = #{pageEventGridDataDTO.fillColor}
|
</if>
|
<if test="pageEventGridDataDTO.remarks!=null">
|
AND gd.remarks = #{pageEventGridDataDTO.remarks}
|
</if>
|
<if test="pageEventGridDataDTO.data!=null">
|
AND gd.data = #{pageEventGridDataDTO.data}
|
</if>
|
<if test="pageEventGridDataDTO.createBy!=null">
|
AND gd.create_by = #{pageEventGridDataDTO.createBy}
|
</if>
|
<if test="pageEventGridDataDTO.createAtBegin!=null">
|
AND gd.create_at >= #{pageEventGridDataDTO.createAtBegin}
|
</if>
|
<if test="pageEventGridDataDTO.createAtEnd!=null">
|
AND gd.create_at <= #{pageEventGridDataDTO.createAtEnd}
|
</if>
|
<if test="pageEventGridDataDTO.updateBy!=null">
|
AND gd.update_by = #{pageEventGridDataDTO.updateBy}
|
</if>
|
<if test="pageEventGridDataDTO.updateAtBegin!=null">
|
AND gd.update_at >= #{pageEventGridDataDTO.updateAtBegin}
|
</if>
|
<if test="pageEventGridDataDTO.updateAtEnd!=null">
|
AND gd.update_at <= #{pageEventGridDataDTO.updateAtEnd}
|
</if>
|
</where>
|
<if test="pageEventGridDataDTO.sortColumns!=null">
|
ORDER BY ${pageEventGridDataDTO.sortColumns} ${pageEventGridDataDTO.sortType}
|
</if>
|
</select>
|
|
<select id="getGridMemberLists" resultType="com.panzhihua.common.model.vos.grid.EventGridMemberAdminVO">
|
select user_id,nick_name from sys_user where `type` = 6
|
</select>
|
|
<select id="getGridMember" resultType="com.panzhihua.common.model.vos.grid.GridMemberAdminVO">
|
SELECT
|
su.user_id,
|
su.nick_name
|
FROM
|
event_grid_member_relation AS egmr
|
LEFT JOIN sys_user AS su ON su.user_id = egmr.grid_member_id
|
WHERE
|
egmr.grid_id = #{gridId}
|
</select>
|
|
<select id="getGridTodoData" resultType="com.panzhihua.common.model.vos.grid.UserEventGridDataVO"
|
parameterType="com.panzhihua.common.model.dtos.grid.EventGridTodoDataDTO">
|
SELECT
|
IFNULL( SUM( t.todoNums ), 0 ) todoNums,
|
1 event_type
|
FROM
|
(
|
SELECT
|
IFNULL( count( e.id ), 0 ) AS todoNums
|
FROM
|
`event` e
|
WHERE
|
e.event_category = 1
|
AND event_status = 2
|
AND ( event_process_status = 1 OR event_process_status = 3 )
|
AND process_type = 1
|
AND grid_id = #{eventGridTodoDataDTO.gridId}
|
AND e.event_type = 1
|
GROUP BY
|
e.event_type
|
) t UNION ALL
|
SELECT
|
IFNULL( SUM( t.todoNums ), 0 ) todoNums,
|
2 event_type
|
FROM
|
(
|
SELECT
|
IFNULL( count( e.id ), 0 ) AS todoNums
|
FROM
|
`event` e
|
WHERE
|
e.event_category = 1
|
AND event_status = 2
|
AND ( event_process_status = 1 OR event_process_status = 3 )
|
AND process_type = 1
|
AND grid_id = #{eventGridTodoDataDTO.gridId}
|
AND e.event_type = 2
|
GROUP BY
|
e.event_type
|
) t UNION ALL
|
SELECT
|
IFNULL( SUM( t.todoNums ), 0 ) todoNums,
|
3 event_type
|
FROM
|
(
|
SELECT
|
IFNULL( count( e.id ), 0 ) AS todoNums
|
FROM
|
`event` e
|
WHERE
|
e.event_category = 1
|
AND event_status = 2
|
AND ( event_process_status = 1 OR event_process_status = 3 )
|
AND process_type = 1
|
AND grid_id = #{eventGridTodoDataDTO.gridId}
|
AND e.event_type = 3
|
GROUP BY
|
e.event_type
|
) t UNION ALL
|
SELECT
|
IFNULL( SUM( t.todoNums ), 0 ) todoNums,
|
4 event_type
|
FROM
|
(
|
SELECT
|
IFNULL( count( e.id ), 0 ) AS todoNums
|
FROM
|
`event` e
|
WHERE
|
e.event_category = 1
|
AND event_status = 2
|
AND ( event_process_status = 1 OR event_process_status = 3 )
|
AND process_type = 1
|
AND grid_id = #{eventGridTodoDataDTO.gridId}
|
AND e.event_type = 4
|
GROUP BY
|
e.event_type
|
) t UNION ALL
|
SELECT
|
IFNULL( SUM( t.todoNums ), 0 ) todoNums,
|
5 event_type
|
FROM
|
(
|
SELECT
|
IFNULL( count( e.id ), 0 ) AS todoNums
|
FROM
|
`event` e
|
WHERE
|
e.event_category = 1
|
AND event_status = 2
|
AND ( event_process_status = 1 OR event_process_status = 3 )
|
AND process_type = 1
|
AND grid_id = #{eventGridTodoDataDTO.gridId}
|
AND e.event_type = 5
|
GROUP BY
|
e.event_type
|
) t UNION ALL
|
SELECT
|
IFNULL( count( e.id ), 0 ) AS todoNums,
|
6 AS event_type
|
FROM
|
`event` AS e
|
WHERE
|
e.event_category = 1
|
AND e.event_type = 6
|
AND event_status = 2
|
AND process_type = 1
|
AND ( event_process_status = 1 OR event_process_status = 3 )
|
AND grid_id = #{eventGridTodoDataDTO.gridId} UNION ALL
|
SELECT
|
IFNULL( count( cmp.id ), 0 ) AS todoNums,
|
8 AS event_type
|
FROM
|
com_mng_population AS cmp
|
LEFT JOIN com_mng_population_community_tags AS cmpct ON cmpct.population_id = cmp.id
|
LEFT JOIN event_grid_data AS egd ON egd.grid_community_id = cmpct.community_id
|
WHERE
|
egd.id = #{eventGridTodoDataDTO.gridId} UNION ALL
|
SELECT
|
IFNULL( count( id ), 0 ) AS todoNums,
|
9 AS event_type
|
FROM
|
event_visiting_tasks
|
WHERE
|
grid_id = #{eventGridTodoDataDTO.gridId} and (event_status = 1 OR event_status = 3)
|
</select>
|
|
<select id="getComActByActId" resultType="com.panzhihua.common.model.vos.grid.ComGridActVO">
|
select community_id,street_id,name,address,province_code,city_code,area_code from com_act where community_id = ${communityId}
|
</select>
|
<select id="getGridMemberListsByGrid" resultType="com.panzhihua.common.model.vos.grid.EventGridMemberAdminVO">
|
SELECT
|
su.user_id,
|
su.nick_name
|
FROM
|
event_grid_member_relation AS egmr
|
LEFT JOIN sys_user AS su ON su.user_id = egmr.grid_member_id
|
WHERE
|
egmr.grid_id = #{gridId}
|
</select>
|
<select id="getGridDataListByCommunity"
|
resultType="com.panzhihua.common.model.vos.grid.EventGridDataAreaVO" parameterType="long">
|
SELECT
|
gd.id, gd.grid_name , ad.district_name AS zoneName, st.name AS gridStreetName, act.name AS gridCommunityName
|
FROM event_grid_data gd LEFT JOIN com_mng_struct_area_district ad ON gd.zone_id = ad.district_adcode
|
LEFT JOIN com_street st ON gd.grid_street_id = st.street_id
|
LEFT JOIN com_act act ON gd.grid_community_id = act.community_id
|
WHERE gd.grid_community_id = ${communityId}
|
</select>
|
<select id="selectGridWithArea" resultType="com.panzhihua.common.model.vos.grid.EventGridDataAreaVO" parameterType="long">
|
SELECT
|
gd.id, gd.grid_name , ad.district_name AS zoneName, st.name AS gridStreetName, act.name AS gridCommunityName, gd.data
|
FROM event_grid_data gd LEFT JOIN com_mng_struct_area_district ad ON gd.zone_id = ad.district_adcode
|
LEFT JOIN com_street st ON gd.grid_street_id = st.street_id
|
LEFT JOIN com_act act ON gd.grid_community_id = act.community_id
|
WHERE gd.type=3
|
</select>
|
|
<delete id="removeGridRelationByGridId">
|
delete from event_grid_member_relation where grid_id = #{gridId}
|
</delete>
|
|
</mapper>
|