liusuyi
2024-06-03 49ca0cffd43f1ceb119d84232ecc92186d5abb63
ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml
@@ -165,4 +165,37 @@
         #{deptId}
      </foreach>
   </select>
   <select id="selectDeptIdBySub" resultType="java.lang.Long" parameterType="java.lang.Long">
      with recursive rsd as (
         select sd.dept_id from sys_dept sd where sd.dept_id = #{deptId}
         union
         select csd.dept_id from sys_dept csd inner join rsd on rsd.dept_id = csd.parent_id
      )
      select dept_id from rsd
   </select>
   <select id="selectRoleDeptIdByUsersId" resultType="java.lang.Long" parameterType="java.lang.String">
      select srd.dept_id from sys_user su
      inner join sys_user_role sur on su.user_id = sur.user_id
      inner join sys_role_dept srd on sur.role_id = srd.role_id
      where su.user_id = #{usersId} order by srd.dept_id
   </select>
   <select id="getParentsDeptListByDeptId" resultMap="SysDeptResult" parameterType="java.lang.Long">
      with recursive rsd as (
         select * from sys_dept sd where sd.dept_id = #{deptId}
         union
         select psd.* from sys_dept psd inner join rsd on rsd.parent_id = psd.dept_id
      )
      select * from rsd
   </select>
   <select id="selectNextChildrenDeptByIdAndInList" resultMap="SysDeptResult">
      select * from sys_dept where parent_id=#{deptId} and del_flag='0'
      and dept_id in
      <foreach collection="deptIdList" item="deptId" separator="," index="index" open="(" close=")">
         #{deptId}
      </foreach>
   </select>
</mapper>