386 lines
12 KiB
XML
386 lines
12 KiB
XML
<?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.cm.inspection.dao.gridpersonnel.IGridPersonnelDao">
|
|
|
|
<cache flushInterval="3600000"/>
|
|
|
|
<resultMap id="gridPersonnelDTO" type="com.cm.inspection.pojo.dtos.gridpersonnel.GridPersonnelDTO">
|
|
<id column="grid_personnel_id" property="gridPersonnelId"/>
|
|
<result column="user_id" property="userId"/>
|
|
<result column="user_name" property="userName"/>
|
|
<result column="area1" property="area1"/>
|
|
<result column="area1_dictionary_name" property="area1DictionaryName"/>
|
|
<result column="area2" property="area2"/>
|
|
<result column="area2_dictionary_name" property="area2DictionaryName"/>
|
|
<result column="area3" property="area3"/>
|
|
<result column="area3_dictionary_name" property="area3DictionaryName"/>
|
|
<result column="area4" property="area4"/>
|
|
<result column="area4_dictionary_name" property="area4DictionaryName"/>
|
|
<result column="area5" property="area5"/>
|
|
<result column="area5_dictionary_name" property="area5DictionaryName"/>
|
|
<result column="leader_user_id" property="leaderUserId"/>
|
|
<result column="user_id_join_by_leader_user_id" property="userIdJoinByLeaderUserId"/>
|
|
<result column="area1_join_by_leader_user_id" property="area1JoinByLeaderUserId"/>
|
|
<result column="area2_join_by_leader_user_id" property="area2JoinByLeaderUserId"/>
|
|
<result column="area3_join_by_leader_user_id" property="area3JoinByLeaderUserId"/>
|
|
<result column="area4_join_by_leader_user_id" property="area4JoinByLeaderUserId"/>
|
|
<result column="area5_join_by_leader_user_id" property="area5JoinByLeaderUserId"/>
|
|
<result column="leader_user_id_join_by_leader_user_id" property="leaderUserIdJoinByLeaderUserId"/>
|
|
<result column="is_grid_operator_join_by_leader_user_id" property="isGridOperatorJoinByLeaderUserId"/>
|
|
<result column="level_join_by_leader_user_id" property="levelJoinByLeaderUserId"/>
|
|
<result column="is_grid_operator" property="isGridOperator"/>
|
|
<result column="level" property="level"/>
|
|
<result column="industry_id" property="industryId"/>
|
|
</resultMap>
|
|
|
|
<!-- 新增网格人员 -->
|
|
<insert id="saveGridPersonnel" parameterType="map" flushCache="true">
|
|
INSERT INTO gen_grid_personnel(
|
|
grid_personnel_id,
|
|
user_id,
|
|
area1,
|
|
area2,
|
|
area3,
|
|
area4,
|
|
area5,
|
|
leader_user_id,
|
|
is_grid_operator,
|
|
level,
|
|
creator,
|
|
gmt_create,
|
|
modifier,
|
|
gmt_modified,
|
|
is_delete
|
|
) VALUES(
|
|
#{gridPersonnelId},
|
|
#{userId},
|
|
#{area1},
|
|
#{area2},
|
|
#{area3},
|
|
#{area4},
|
|
#{area5},
|
|
#{leaderUserId},
|
|
#{isGridOperator},
|
|
#{level},
|
|
#{creator},
|
|
#{gmtCreate},
|
|
#{modifier},
|
|
#{gmtModified},
|
|
#{isDelete}
|
|
)
|
|
</insert>
|
|
|
|
<!-- 删除网格人员 -->
|
|
<update id="removeGridPersonnel" parameterType="map" flushCache="true">
|
|
UPDATE
|
|
gen_grid_personnel
|
|
SET
|
|
is_delete = 1,
|
|
modifier = #{modifier},
|
|
gmt_modified = #{gmtModified}
|
|
WHERE
|
|
grid_personnel_id IN
|
|
<foreach collection="gridPersonnelIds" index="index" open="(" separator="," close=")">
|
|
#{gridPersonnelIds[${index}]}
|
|
</foreach>
|
|
</update>
|
|
|
|
<!-- 修改网格人员 -->
|
|
<update id="updateGridPersonnel" parameterType="map" flushCache="true">
|
|
UPDATE
|
|
gen_grid_personnel
|
|
SET
|
|
<if test="userId != null and userId != ''">
|
|
user_id = #{userId},
|
|
</if>
|
|
<if test="area1 != null">
|
|
area1 = #{area1},
|
|
</if>
|
|
<if test="area2 != null">
|
|
area2 = #{area2},
|
|
</if>
|
|
<if test="area3 != null">
|
|
area3 = #{area3},
|
|
</if>
|
|
<if test="area4 != null">
|
|
area4 = #{area4},
|
|
</if>
|
|
<if test="area5 != null">
|
|
area5 = #{area5},
|
|
</if>
|
|
<if test="leaderUserId != null and leaderUserId != ''">
|
|
leader_user_id = #{leaderUserId},
|
|
</if>
|
|
<if test="isGridOperator != null">
|
|
is_grid_operator = #{isGridOperator},
|
|
</if>
|
|
<if test="level != null">
|
|
level = #{level},
|
|
</if>
|
|
modifier = #{modifier},
|
|
gmt_modified = #{gmtModified}
|
|
WHERE
|
|
grid_personnel_id = #{gridPersonnelId}
|
|
</update>
|
|
|
|
<!-- 网格人员详情 -->
|
|
<select id="getGridPersonnel" parameterType="map" resultMap="gridPersonnelDTO">
|
|
SELECT
|
|
t1.user_id,
|
|
t1.area1,
|
|
t1.area2,
|
|
t1.area3,
|
|
t1.area4,
|
|
t1.area5,
|
|
t1.leader_user_id,
|
|
t1.is_grid_operator,
|
|
t1.level,
|
|
t1.grid_personnel_id,
|
|
jt1.industry_id
|
|
FROM
|
|
gen_grid_personnel t1
|
|
LEFT JOIN
|
|
gen_industry_user jt1
|
|
ON
|
|
jt1.user_id = SUBSTR(t1.user_id, 1, 36)
|
|
WHERE
|
|
t1.is_delete = 0
|
|
<if test="gridPersonnelId != null and gridPersonnelId != ''">
|
|
AND
|
|
t1.grid_personnel_id = #{gridPersonnelId}
|
|
</if>
|
|
<if test="userId != null and userId != ''">
|
|
AND
|
|
t1.user_id LIKE CONCAT(#{userId}, '%')
|
|
</if>
|
|
</select>
|
|
|
|
<!-- 网格人员列表 -->
|
|
<select id="listGridPersonnel" parameterType="map" resultMap="gridPersonnelDTO" useCache="true">
|
|
SELECT
|
|
t1.user_id,
|
|
t1.area1,
|
|
dt1.dictionary_name area1_dictionary_name,
|
|
t1.area2,
|
|
dt2.dictionary_name area2_dictionary_name,
|
|
t1.area3,
|
|
dt3.dictionary_name area3_dictionary_name,
|
|
t1.area4,
|
|
dt4.dictionary_name area4_dictionary_name,
|
|
t1.area5,
|
|
dt5.dictionary_name area5_dictionary_name,
|
|
t1.leader_user_id,
|
|
t1.is_grid_operator,
|
|
t1.level,
|
|
t1.grid_personnel_id
|
|
FROM
|
|
gen_grid_personnel t1
|
|
LEFT JOIN
|
|
data_dictionary dt1
|
|
ON
|
|
dt1.dictionary_id = t1.area1
|
|
AND
|
|
dt1.is_delete = 0
|
|
LEFT JOIN
|
|
data_dictionary dt2
|
|
ON
|
|
dt2.dictionary_id = t1.area2
|
|
AND
|
|
dt2.is_delete = 0
|
|
LEFT JOIN
|
|
data_dictionary dt3
|
|
ON
|
|
dt3.dictionary_id = t1.area3
|
|
AND
|
|
dt3.is_delete = 0
|
|
LEFT JOIN
|
|
data_dictionary dt4
|
|
ON
|
|
dt4.dictionary_id = t1.area4
|
|
AND
|
|
dt4.is_delete = 0
|
|
LEFT JOIN
|
|
data_dictionary dt5
|
|
ON
|
|
dt5.dictionary_id = t1.area5
|
|
AND
|
|
dt5.is_delete = 0
|
|
WHERE
|
|
t1.is_delete = 0
|
|
<if test="keywords != null and keywords != ''">
|
|
AND (
|
|
SUBSTRING_INDEX(t1.user_id, '|', 3) LIKE CONCAT('%', #{keywords}, '%')
|
|
OR
|
|
dt1.dictionary_name LIKE CONCAT('%', #{keywords}, '%')
|
|
OR
|
|
dt2.dictionary_name LIKE CONCAT('%', #{keywords}, '%')
|
|
OR
|
|
dt3.dictionary_name LIKE CONCAT('%', #{keywords}, '%')
|
|
OR
|
|
dt4.dictionary_name LIKE CONCAT('%', #{keywords}, '%')
|
|
OR
|
|
dt5.dictionary_name LIKE CONCAT('%', #{keywords}, '%')
|
|
)
|
|
</if>
|
|
<if test="startTime != null and startTime != ''">
|
|
AND
|
|
LEFT(t1.gmt_create, 10) <![CDATA[ >= ]]> #{startTime}
|
|
</if>
|
|
<if test="endTime != null and endTime != ''">
|
|
AND
|
|
LEFT(t1.gmt_create, 10) <![CDATA[ <= ]]> #{endTime}
|
|
</if>
|
|
<if test="gridPersonnelIds != null and gridPersonnelIds.size > 0">
|
|
AND
|
|
t1.grid_personnel_id IN
|
|
<foreach collection="gridPersonnelIds" index="index" open="(" separator="," close=")">
|
|
#{gridPersonnelIds[${index}]}
|
|
</foreach>
|
|
</if>
|
|
<if test="userId != null and userId != ''">
|
|
AND
|
|
t1.user_id LIKE CONCAT(#{userId}, '%')
|
|
</if>
|
|
<if test="leaderUserId != null and leaderUserId != ''">
|
|
AND
|
|
t1.leader_user_id LIKE CONCAT(#{leaderUserId}, '%')
|
|
</if>
|
|
<if test="userIds != null and userIds.size > 0">
|
|
AND
|
|
<foreach collection="userIds" index="index" open="(" separator="OR" close=")">
|
|
t1.user_id LIKE CONCAT(#{userIds[${index}]}, '|%')
|
|
</foreach>
|
|
</if>
|
|
<if test="level != null">
|
|
AND
|
|
t1.level = #{level}
|
|
</if>
|
|
<if test="area1 != null and area1 != ''">
|
|
AND
|
|
t1.area1 = #{area1}
|
|
</if>
|
|
<if test="area2 != null and area2 != ''">
|
|
AND
|
|
t1.area2 = #{area2}
|
|
</if>
|
|
<if test="area3 != null and area3 != ''">
|
|
AND
|
|
t1.area3 = #{area3}
|
|
</if>
|
|
<if test="area4 != null and area4 != ''">
|
|
AND
|
|
t1.area4 = #{area4}
|
|
</if>
|
|
<if test="area5 != null and area5 != ''">
|
|
AND
|
|
t1.area5 = #{area5}
|
|
</if>
|
|
ORDER BY
|
|
t1.level ASC
|
|
</select>
|
|
|
|
<!-- 统计网格员 -->
|
|
<select id="countGridPersonnel" parameterType="map" resultType="java.lang.Integer" useCache="true">
|
|
SELECT
|
|
COUNT(*)
|
|
FROM
|
|
gen_grid_personnel
|
|
WHERE
|
|
is_delete = 0
|
|
<if test="isGridOperator != null">
|
|
AND
|
|
is_grid_operator = #{isGridOperator}
|
|
</if>
|
|
</select>
|
|
|
|
<!-- 网格员列表 -->
|
|
<select id="listGridPersonnelSimple" parameterType="map" resultMap="gridPersonnelDTO" useCache="true">
|
|
SELECT
|
|
t1.user_id,
|
|
t1.area1,
|
|
t1.area2,
|
|
t1.area3,
|
|
t1.area4,
|
|
t1.area5,
|
|
t1.leader_user_id,
|
|
t1.is_grid_operator,
|
|
t1.level,
|
|
t1.grid_personnel_id
|
|
FROM
|
|
gen_grid_personnel t1
|
|
WHERE
|
|
is_delete = 0
|
|
<if test="level != null">
|
|
AND
|
|
t1.level = #{level}
|
|
</if>
|
|
<if test="area1 != null and area1 != ''">
|
|
AND
|
|
<choose>
|
|
<when test="area1 == 'none'">
|
|
(t1.area1 = '' OR t1.area1 IS NULL)
|
|
</when>
|
|
<otherwise>
|
|
t1.area1 = #{area1}
|
|
</otherwise>
|
|
</choose>
|
|
</if>
|
|
<if test="area2 != null and area2 != ''">
|
|
AND
|
|
<choose>
|
|
<when test="area2 == 'none'">
|
|
(t1.area2 = '' OR t1.area2 IS NULL)
|
|
</when>
|
|
<otherwise>
|
|
t1.area2 = #{area2}
|
|
</otherwise>
|
|
</choose>
|
|
</if>
|
|
<if test="area3 != null and area3 != ''">
|
|
AND
|
|
<choose>
|
|
<when test="area3 == 'none'">
|
|
(t1.area3 = '' OR t1.area3 IS NULL)
|
|
</when>
|
|
<otherwise>
|
|
t1.area3 = #{area3}
|
|
</otherwise>
|
|
</choose>
|
|
</if>
|
|
<if test="area4 != null and area4 != ''">
|
|
AND
|
|
<choose>
|
|
<when test="area4 == 'none'">
|
|
(t1.area4 = '' OR t1.area4 IS NULL)
|
|
</when>
|
|
<otherwise>
|
|
t1.area4 = #{area4}
|
|
</otherwise>
|
|
</choose>
|
|
</if>
|
|
<if test="area5 != null and area5 != ''">
|
|
AND
|
|
<choose>
|
|
<when test="area5 == 'none'">
|
|
(t1.area5 = '' OR t1.area5 IS NULL)
|
|
</when>
|
|
<otherwise>
|
|
t1.area5 = #{area5}
|
|
</otherwise>
|
|
</choose>
|
|
</if>
|
|
</select>
|
|
|
|
<!-- 更新网格员上级ID -->
|
|
<update id="updateGridPersonnelLeaderUserId" parameterType="map" flushCache="true">
|
|
UPDATE
|
|
gen_grid_personnel
|
|
SET
|
|
leader_user_id = #{leaderUserId}
|
|
WHERE
|
|
is_delete = 0
|
|
AND
|
|
grid_personnel_id = #{gridPersonnelId}
|
|
</update>
|
|
|
|
</mapper> |