RuoYi
2022-09-12 d0ad8b7b1374956ceb0ef1267bbf51daa07ce229
src/main/resources/mybatis/system/SysDeptMapper.xml
@@ -30,6 +30,9 @@
   <select id="selectDeptList" parameterType="SysDept" resultMap="SysDeptResult">
        <include refid="selectDeptVo"/>
        where d.del_flag = '0'
      <if test="deptId != null and deptId != 0">
         AND dept_id = #{deptId}
      </if>
        <if test="parentId != null and parentId != 0">
         AND parent_id = #{parentId}
      </if>
@@ -44,7 +47,7 @@
      order by d.parent_id, d.order_num
    </select>
    
    <select id="selectDeptListByRoleId" resultType="Integer">
    <select id="selectDeptListByRoleId" resultType="Long">
      select d.dept_id
      from sys_dept d
            left join sys_role_dept rd on d.dept_id = rd.dept_id
@@ -56,8 +59,10 @@
   </select>
    
    <select id="selectDeptById" parameterType="Long" resultMap="SysDeptResult">
      <include refid="selectDeptVo"/>
      where dept_id = #{deptId}
      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 = #{deptId}
   </select>
    
    <select id="checkDeptExistUser" parameterType="Long" resultType="int">
@@ -79,7 +84,7 @@
   
   <select id="checkDeptNameUnique" resultMap="SysDeptResult">
       <include refid="selectDeptVo"/>
      where dept_name=#{deptName} and parent_id = #{parentId} limit 1
      where dept_name=#{deptName} and parent_id = #{parentId} and del_flag = '0' limit 1
   </select>
    
    <insert id="insertDept" parameterType="SysDept">
@@ -88,7 +93,7 @@
          <if test="parentId != null and parentId != 0">parent_id,</if>
          <if test="deptName != null and deptName != ''">dept_name,</if>
          <if test="ancestors != null and ancestors != ''">ancestors,</if>
          <if test="orderNum != null and orderNum != ''">order_num,</if>
          <if test="orderNum != null">order_num,</if>
          <if test="leader != null and leader != ''">leader,</if>
          <if test="phone != null and phone != ''">phone,</if>
          <if test="email != null and email != ''">email,</if>
@@ -100,7 +105,7 @@
          <if test="parentId != null and parentId != 0">#{parentId},</if>
          <if test="deptName != null and deptName != ''">#{deptName},</if>
          <if test="ancestors != null and ancestors != ''">#{ancestors},</if>
          <if test="orderNum != null and orderNum != ''">#{orderNum},</if>
          <if test="orderNum != null">#{orderNum},</if>
          <if test="leader != null and leader != ''">#{leader},</if>
          <if test="phone != null and phone != ''">#{phone},</if>
          <if test="email != null and email != ''">#{email},</if>
@@ -116,7 +121,7 @@
          <if test="parentId != null and parentId != 0">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="orderNum != null and orderNum != ''">order_num = #{orderNum},</if>
          <if test="orderNum != null">order_num = #{orderNum},</if>
          <if test="leader != null">leader = #{leader},</if>
          <if test="phone != null">phone = #{phone},</if>
          <if test="email != null">email = #{email},</if>
@@ -140,14 +145,11 @@
       </foreach>
   </update>
    
    <update id="updateDeptStatus" parameterType="SysDept">
        update sys_dept
        <set>
            <if test="status != null and status != ''">status = #{status},</if>
            <if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
            update_time = sysdate()
        </set>
        where find_in_set(#{deptId}, ancestors)
   <update id="updateDeptStatusNormal" parameterType="Long">
        update sys_dept set status = '0' where dept_id in
        <foreach collection="array" item="deptId" open="(" separator="," close=")">
           #{deptId}
        </foreach>
   </update>
   
   <delete id="deleteDeptById" parameterType="Long">