<?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.smartor.mapper.SysUserDeptMapper"> 
 | 
  
 | 
    <resultMap type="com.ruoyi.common.core.domain.entity.SysUserDept" id="SysUserDeptResult"> 
 | 
        <result property="id" column="id"/> 
 | 
        <result property="orgid" column="orgid"/> 
 | 
        <result property="userId" column="user_id"/> 
 | 
        <result property="deptId" column="dept_id"/> 
 | 
        <result property="delFlag" column="del_flag"/> 
 | 
        <result property="deptCode" column="dept_code"/> 
 | 
        <result property="deptName" column="dept_name"/> 
 | 
        <result property="deptType" column="dept_type"/> 
 | 
        <result property="createTime" column="create_time"/> 
 | 
        <result property="updateTime" column="update_time"/> 
 | 
    </resultMap> 
 | 
  
 | 
    <resultMap id="deptResult" type="com.ruoyi.common.core.domain.entity.SysDept"> 
 | 
        <id property="deptId" column="dept_id"/> 
 | 
        <result property="parentId" column="parent_id"/> 
 | 
        <result property="deptName" column="dept_name"/> 
 | 
        <result property="ancestors" column="ancestors"/> 
 | 
        <result property="orderNum" column="order_num"/> 
 | 
        <result property="leader" column="leader"/> 
 | 
        <result property="status" column="dept_status"/> 
 | 
    </resultMap> 
 | 
  
 | 
    <sql id="selectSysUserDeptVo"> 
 | 
        select id, 
 | 
               user_id, 
 | 
               dept_id, 
 | 
               del_flag, 
 | 
               orgid, 
 | 
               create_time, 
 | 
               update_time, 
 | 
               dept_code, 
 | 
               dept_name, 
 | 
               dept_type 
 | 
        from sys_user_dept 
 | 
    </sql> 
 | 
  
 | 
    <select id="selectSysUserDeptList" parameterType="com.ruoyi.common.core.domain.entity.SysUserDept" 
 | 
            resultMap="SysUserDeptResult"> 
 | 
        <include refid="selectSysUserDeptVo"/> 
 | 
        <where> 
 | 
            del_flag=0 
 | 
            and orgid=#{orgid} 
 | 
            <if test="userId != null "> 
 | 
                and user_id = #{userId} 
 | 
            </if> 
 | 
            <if test="deptId != null "> 
 | 
                and dept_id = #{deptId} 
 | 
            </if> 
 | 
            <if test="delFlag != null "> 
 | 
                and del_flag = #{delFlag} 
 | 
            </if> 
 | 
            <if test="createTime != null "> 
 | 
                and create_time = #{createTime} 
 | 
            </if> 
 | 
            <if test="updateTime != null "> 
 | 
                and update_time = #{updateTime} 
 | 
            </if> 
 | 
            <if test="deptType != null "> 
 | 
                and dept_type = #{deptType} 
 | 
            </if> 
 | 
            <if test="deptCode != null "> 
 | 
                and dept_code = #{deptCode} 
 | 
            </if> 
 | 
        </where> 
 | 
    </select> 
 | 
  
 | 
    <select id="selectSysUserDeptById" parameterType="Long" 
 | 
            resultMap="SysUserDeptResult"> 
 | 
        <include refid="selectSysUserDeptVo"/> 
 | 
        where id = #{id} 
 | 
    </select> 
 | 
  
 | 
    <insert id="insertSysUserDept" parameterType="com.ruoyi.common.core.domain.entity.SysUserDept" 
 | 
            useGeneratedKeys="true" keyProperty="id"> 
 | 
        insert into sys_user_dept 
 | 
        <trim prefix="(" suffix=")" suffixOverrides=","> 
 | 
            <if test="userId != null">user_id, 
 | 
            </if> 
 | 
            <if test="deptId != null">dept_id, 
 | 
            </if> 
 | 
            <if test="delFlag != null "> 
 | 
                del_flag, 
 | 
            </if> 
 | 
            <if test="createTime != null "> 
 | 
                create_time, 
 | 
            </if> 
 | 
            <if test="updateTime != null "> 
 | 
                update_time, 
 | 
            </if> 
 | 
            <if test="deptType != null "> 
 | 
                dept_type, 
 | 
            </if> 
 | 
            <if test="deptCode != null "> 
 | 
                dept_code, 
 | 
            </if> 
 | 
            <if test="deptName != null "> 
 | 
                dept_name, 
 | 
            </if> 
 | 
            <if test="orgid != null "> 
 | 
                orgid, 
 | 
            </if> 
 | 
        </trim> 
 | 
        <trim prefix="values (" suffix=")" suffixOverrides=","> 
 | 
            <if test="userId != null">#{userId}, 
 | 
            </if> 
 | 
            <if test="deptId != null">#{deptId}, 
 | 
            </if> 
 | 
            <if test="delFlag != null "> 
 | 
                #{delFlag}, 
 | 
            </if> 
 | 
            <if test="createTime != null "> 
 | 
                #{createTime}, 
 | 
            </if> 
 | 
            <if test="updateTime != null "> 
 | 
                #{updateTime}, 
 | 
            </if> 
 | 
            <if test="deptType != null "> 
 | 
                #{deptType}, 
 | 
            </if> 
 | 
            <if test="deptCode != null "> 
 | 
                #{deptCode}, 
 | 
            </if> 
 | 
            <if test="deptName != null "> 
 | 
                #{deptName}, 
 | 
            </if> 
 | 
            <if test="orgid != null "> 
 | 
                #{orgid}, 
 | 
            </if> 
 | 
        </trim> 
 | 
    </insert> 
 | 
  
 | 
    <update id="updateSysUserDept" parameterType="com.ruoyi.common.core.domain.entity.SysUserDept"> 
 | 
        update sys_user_dept 
 | 
        <trim prefix="SET" suffixOverrides=","> 
 | 
            <if test="userId != null">user_id = 
 | 
                #{userId}, 
 | 
            </if> 
 | 
            <if test="deptId != null">dept_id = 
 | 
                #{deptId}, 
 | 
            </if> 
 | 
            <if test="delFlag != null "> 
 | 
                del_flag = #{delFlag}, 
 | 
            </if> 
 | 
            <if test="createTime != null "> 
 | 
                create_time = #{createTime}, 
 | 
            </if> 
 | 
            <if test="updateTime != null "> 
 | 
                update_time = #{updateTime}, 
 | 
            </if> 
 | 
            <if test="deptType != null "> 
 | 
                dept_type = #{deptType}, 
 | 
            </if> 
 | 
            <if test="deptCode != null "> 
 | 
                dept_code = #{deptCode}, 
 | 
            </if> 
 | 
            <if test="deptName != null "> 
 | 
                dept_name = #{deptName}, 
 | 
            </if> 
 | 
            <if test="orgid != null "> 
 | 
                orgid = #{orgid}, 
 | 
            </if> 
 | 
        </trim> 
 | 
        where id = #{id} 
 | 
    </update> 
 | 
  
 | 
    <update id="deleteSysUserDeptById" parameterType="Long"> 
 | 
        update sys_user_dept 
 | 
        <trim prefix="SET" suffixOverrides=","> 
 | 
            del_flag =1 
 | 
        </trim> 
 | 
        where id = #{id} 
 | 
    </update> 
 | 
  
 | 
    <select id="selectDeptListByUserId" resultMap="deptResult"> 
 | 
        select d.dept_id, 
 | 
               d.dept_name, 
 | 
               d.parent_id, 
 | 
               d.ancestors, 
 | 
               d.dept_name, 
 | 
               d.order_num, 
 | 
               d.leader, 
 | 
               d.orgid, 
 | 
               d.status as dept_status 
 | 
        from sys_dept d 
 | 
                 left join sys_user_dept ud on d.dept_id = ud.dept_id 
 | 
        where ud.user_id = #{userId} 
 | 
          and ud.del_flag = 0 
 | 
          and d.del_flag = 0 
 | 
    </select> 
 | 
    <update id="deleteSysUserDeptByIds" parameterType="String"> 
 | 
        update sys_user_dept 
 | 
        <trim prefix="SET" suffixOverrides=","> 
 | 
            del_flag =1, 
 | 
            update_time = sysdate() 
 | 
        </trim> 
 | 
        where user_id in 
 | 
        <foreach item="id" collection="array" open="(" separator="," close=")"> 
 | 
            #{id} 
 | 
        </foreach> 
 | 
    </update> 
 | 
  
 | 
  
 | 
    <update id="deleteSysUserDeptByCode" parameterType="String"> 
 | 
        update sys_user_dept 
 | 
        <trim prefix="SET" suffixOverrides=","> 
 | 
            del_flag =1, 
 | 
            update_time = sysdate() 
 | 
        </trim> 
 | 
        where user_id =#{userId} and dept_code=#{deptCode} 
 | 
    </update> 
 | 
  
 | 
  
 | 
</mapper> 
 |