zxl
2025-03-02 95de53b0c3dde45d9f88ccf24e720fffdc20961a
system/src/main/resources/mapper/system/SysDeptMapper.xml
@@ -2,9 +2,9 @@
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.hnct.system.mapper.SysDeptMapper">
<mapper namespace="com.ycl.system.mapper.SysDeptMapper">
   <resultMap type="com.hnct.system.domain.SysDept" id="SysDeptResult">
   <resultMap type="SysDept" id="SysDeptResult">
      <id     property="deptId"     column="dept_id"     />
      <result property="parentId"   column="parent_id"   />
      <result property="ancestors"  column="ancestors"   />
@@ -27,7 +27,7 @@
        from sys_dept d
    </sql>
   <select id="selectDeptList" parameterType="com.hnct.system.domain.SysDept" resultMap="SysDeptResult">
   <select id="selectDeptList" parameterType="SysDept" resultMap="SysDeptResult">
        <include refid="selectDeptVo"/>
        where d.del_flag = '0'
      <if test="deptId != null and deptId != 0">
@@ -47,6 +47,18 @@
      order by d.parent_id, d.order_num
    </select>
   <select id="selectDeptListNoAuth" parameterType="SysDept" resultMap="SysDeptResult">
      <include refid="selectDeptVo"/>
      where d.del_flag = '0'
      <if test="parentId != null">
         AND FIND_IN_SET(#{parentId}, ancestors) > 0
      </if>
      <if test="deptName != null and deptName != ''">
         AND dept_name like concat('%', #{deptName}, '%')
      </if>
      order by d.parent_id, d.order_num
   </select>
    <select id="selectDeptListByRoleId" resultType="Long">
      select d.dept_id
      from sys_dept d
@@ -63,6 +75,13 @@
         (select dept_name from sys_dept where dept_id = d.parent_id) parent_name
      from sys_dept d
      where d.dept_id = #{deptId}
   </select>
   <select id="selectDeptByIds" parameterType="Long" resultMap="SysDeptResult">
      select d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.phone, d.email, d.status,
            (select dept_name from sys_dept where dept_id = d.parent_id) parent_name
      from sys_dept d
      where d.dept_id in <foreach collection="deptIds" open="(" separator="," close=")" item="deptId">#{deptId}</foreach>
   </select>
    <select id="checkDeptExistUser" parameterType="Long" resultType="int">
@@ -86,8 +105,18 @@
       <include refid="selectDeptVo"/>
      where dept_name=#{deptName} and parent_id = #{parentId} and del_flag = '0' limit 1
   </select>
    <select id="selectAncestors" resultType="java.lang.String">
      select SD.ancestors
      from sys_user SU
      INNER JOIN sys_dept SD ON SU.dept_id = SD.dept_id
      where SU.user_id = #{userId}
   </select>
    <insert id="insertDept" parameterType="com.hnct.system.domain.SysDept">
   <select id="selectByName" parameterType="string" resultType="long">
      SELECT dept_id FROM sys_dept WHERE dept_name = #{name} and del_flag = '0' limit 1
   </select>
    <insert id="insertDept" parameterType="SysDept">
       insert into sys_dept(
          <if test="deptId != null and deptId != 0">dept_id,</if>
          <if test="parentId != null and parentId != 0">parent_id,</if>
@@ -115,12 +144,12 @@
       )
   </insert>
   <update id="updateDept" parameterType="com.hnct.system.domain.SysDept">
   <update id="updateDept" parameterType="SysDept">
       update sys_dept
       <set>
          <if test="parentId != null and parentId != 0">parent_id = #{parentId},</if>
          <if test="parentId != null">parent_id = #{parentId},</if>
          <if test="deptName != null and deptName != ''">dept_name = #{deptName},</if>
          <if test="ancestors != null and ancestors != ''">ancestors = #{ancestors},</if>
          <if test="ancestors != null">ancestors = #{ancestors},</if>
          <if test="orderNum != null">order_num = #{orderNum},</if>
          <if test="leader != null">leader = #{leader},</if>
          <if test="phone != null">phone = #{phone},</if>