|
@@ -254,6 +254,12 @@
|
|
|
|
|
|
<!--根据部门名称获取部门及其下辖部门人员-->
|
|
|
<select id="byDepartmentName" resultType="com.dayou.entity.User">
|
|
|
-
|
|
|
+ SELECT DISTINCT user.id, user.name
|
|
|
+ FROM (SELECT user.id,user.name,post.department_id FROM user, user_post, post WHERE user.id = user_post.user_id AND user_post.post_id = post.id AND user.deleted = 0 AND user_post.deleted = 0 AND post.deleted = 0) AS user
|
|
|
+ INNER JOIN (SELECT id
|
|
|
+ FROM (SELECT id,parent_id FROM department WHERE deleted = 0 ORDER BY parent_id, id ) org_query,
|
|
|
+ (SELECT @id := (SELECT id FROM department WHERE name = #{depName} AND deleted = 0)) initialisation
|
|
|
+ WHERE (FIND_IN_SET(parent_id, @id) > 0 OR FIND_IN_SET(id, @id) > 0)
|
|
|
+ AND @id := CONCAT(@id, ',', id)) AS depId ON depId.id = user.department_id
|
|
|
</select>
|
|
|
</mapper>
|