240 lines
8.3 KiB
XML
240 lines
8.3 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">
|
||
|
|
||
|
<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="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="is_grid_operator" property="isGridOperator"/>
|
||
|
</resultMap>
|
||
|
|
||
|
<!-- 新增网格人员 -->
|
||
|
<insert id="saveGridPersonnel" parameterType="map">
|
||
|
INSERT INTO gen_grid_personnel(
|
||
|
grid_personnel_id,
|
||
|
user_id,
|
||
|
area1,
|
||
|
area2,
|
||
|
area3,
|
||
|
area4,
|
||
|
area5,
|
||
|
leader_user_id,
|
||
|
is_grid_operator,
|
||
|
creator,
|
||
|
gmt_create,
|
||
|
modifier,
|
||
|
gmt_modified,
|
||
|
is_delete
|
||
|
) VALUES(
|
||
|
#{gridPersonnelId},
|
||
|
#{userId},
|
||
|
#{area1},
|
||
|
#{area2},
|
||
|
#{area3},
|
||
|
#{area4},
|
||
|
#{area5},
|
||
|
#{leaderUserId},
|
||
|
#{isGridOperator},
|
||
|
#{creator},
|
||
|
#{gmtCreate},
|
||
|
#{modifier},
|
||
|
#{gmtModified},
|
||
|
#{isDelete}
|
||
|
)
|
||
|
</insert>
|
||
|
|
||
|
<!-- 删除网格人员 -->
|
||
|
<update id="removeGridPersonnel" parameterType="map">
|
||
|
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">
|
||
|
UPDATE
|
||
|
gen_grid_personnel
|
||
|
SET
|
||
|
<if test="userId != null and userId != ''">
|
||
|
user_id = #{userId},
|
||
|
</if>
|
||
|
<if test="area1 != null and area1 != ''">
|
||
|
area1 = #{area1},
|
||
|
</if>
|
||
|
<if test="area2 != null and area2 != ''">
|
||
|
area2 = #{area2},
|
||
|
</if>
|
||
|
<if test="area3 != null and area3 != ''">
|
||
|
area3 = #{area3},
|
||
|
</if>
|
||
|
<if test="area4 != null and area4 != ''">
|
||
|
area4 = #{area4},
|
||
|
</if>
|
||
|
<if test="area5 != null and area5 != ''">
|
||
|
area5 = #{area5},
|
||
|
</if>
|
||
|
<if test="leaderUserId != null and leaderUserId != ''">
|
||
|
leader_user_id = #{leaderUserId},
|
||
|
</if>
|
||
|
<if test="isGridOperator != null">
|
||
|
is_grid_operator = #{isGridOperator},
|
||
|
</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.grid_personnel_id
|
||
|
FROM
|
||
|
gen_grid_personnel t1
|
||
|
WHERE
|
||
|
t1.is_delete = 0
|
||
|
<if test="gridPersonnelId != null and gridPersonnelId != ''">
|
||
|
AND
|
||
|
t1.grid_personnel_id = #{gridPersonnelId}
|
||
|
</if>
|
||
|
</select>
|
||
|
|
||
|
<!-- 网格人员列表 -->
|
||
|
<select id="listGridPersonnel" parameterType="map" resultMap="gridPersonnelDTO">
|
||
|
SELECT
|
||
|
t1.user_id,
|
||
|
t1.area1,
|
||
|
GROUP_CONCAT(DISTINCT dt1.dictionary_name) area1_dictionary_name,
|
||
|
t1.area2,
|
||
|
GROUP_CONCAT(DISTINCT dt2.dictionary_name) area2_dictionary_name,
|
||
|
t1.area3,
|
||
|
GROUP_CONCAT(DISTINCT dt3.dictionary_name) area3_dictionary_name,
|
||
|
t1.area4,
|
||
|
GROUP_CONCAT(DISTINCT dt4.dictionary_name) area4_dictionary_name,
|
||
|
t1.area5,
|
||
|
GROUP_CONCAT(DISTINCT dt5.dictionary_name) area5_dictionary_name,
|
||
|
t1.leader_user_id,
|
||
|
jt1.user_id user_id_join_by_leader_user_id,
|
||
|
jt1.area1 area1_join_by_leader_user_id,
|
||
|
jt1.area2 area2_join_by_leader_user_id,
|
||
|
jt1.area3 area3_join_by_leader_user_id,
|
||
|
jt1.area4 area4_join_by_leader_user_id,
|
||
|
jt1.area5 area5_join_by_leader_user_id,
|
||
|
jt1.leader_user_id leader_user_id_join_by_leader_user_id,
|
||
|
jt1.is_grid_operator is_grid_operator_join_by_leader_user_id,
|
||
|
t1.is_grid_operator,
|
||
|
t1.grid_personnel_id
|
||
|
FROM
|
||
|
gen_grid_personnel t1
|
||
|
LEFT JOIN
|
||
|
data_dictionary dt1
|
||
|
ON
|
||
|
FIND_IN_SET(dt1.dictionary_id, t1.area1)
|
||
|
AND
|
||
|
dt1.is_delete = 0
|
||
|
LEFT JOIN
|
||
|
data_dictionary dt2
|
||
|
ON
|
||
|
FIND_IN_SET(dt2.dictionary_id, t1.area2)
|
||
|
AND
|
||
|
dt2.is_delete = 0
|
||
|
LEFT JOIN
|
||
|
data_dictionary dt3
|
||
|
ON
|
||
|
FIND_IN_SET(dt3.dictionary_id, t1.area3)
|
||
|
AND
|
||
|
dt3.is_delete = 0
|
||
|
LEFT JOIN
|
||
|
data_dictionary dt4
|
||
|
ON
|
||
|
FIND_IN_SET(dt4.dictionary_id, t1.area4)
|
||
|
AND
|
||
|
dt4.is_delete = 0
|
||
|
LEFT JOIN
|
||
|
data_dictionary dt5
|
||
|
ON
|
||
|
FIND_IN_SET(dt5.dictionary_id, t1.area5)
|
||
|
AND
|
||
|
dt5.is_delete = 0
|
||
|
LEFT JOIN
|
||
|
gen_grid_personnel jt1
|
||
|
ON
|
||
|
t1.leader_user_id = jt1.grid_personnel_id
|
||
|
AND
|
||
|
jt1.is_delete = 0
|
||
|
WHERE
|
||
|
t1.is_delete = 0
|
||
|
<if test="keywords != null and 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>
|
||
|
GROUP BY
|
||
|
t1.user_id,
|
||
|
t1.area1,
|
||
|
t1.area2,
|
||
|
t1.area3,
|
||
|
t1.area4,
|
||
|
t1.area5,
|
||
|
t1.leader_user_id,
|
||
|
jt1.user_id,
|
||
|
jt1.area1,
|
||
|
jt1.area2,
|
||
|
jt1.area3,
|
||
|
jt1.area4,
|
||
|
jt1.area5,
|
||
|
jt1.leader_user_id,
|
||
|
jt1.is_grid_operator,
|
||
|
t1.is_grid_operator,
|
||
|
t1.grid_personnel_id
|
||
|
</select>
|
||
|
|
||
|
</mapper>
|