zf
2024-02-19 1936cef71ca4ef95d52c951b4af5948c7885b893
ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
@@ -25,8 +25,11 @@
        <result property="updateBy"     column="update_by"    />
        <result property="updateTime"   column="update_time"  />
        <result property="remark"       column="remark"       />
      <result property="idCard"       column="id_card" />
        <association property="dept"    javaType="SysDept"         resultMap="deptResult" />
      <association property="district" javaType="SysDistrictVo"  resultMap="DistrictResult"/>
        <collection  property="roles"   javaType="java.util.List"  resultMap="RoleResult" />
      <collection  property="institutions"   javaType="java.util.List"  resultMap="InstitutionResult" />
    </resultMap>
   
    <resultMap id="deptResult" type="SysDept">
@@ -47,20 +50,41 @@
        <result property="dataScope"    column="data_scope"     />
        <result property="status"       column="role_status"    />
    </resultMap>
   <resultMap id="DistrictResult" type="SysDistrictVo">
      <id     property="districtId"       column="district_id"        />
      <result property="districtCode"     column="district_code"      />
      <result property="districtName"      column="district_name"       />
      <result property="parentcode"     column="parentcode"      />
      <result property="districtType"    column="district_type"     />
   </resultMap>
   <resultMap id="InstitutionResult" type="TrainingInstitutionVo">
      <id     property="institutionId"       column="institution_id"        />
      <result property="institutionName"       column="institution_name" />
   </resultMap>
   
   <sql id="selectUserVo">
        select u.user_id, u.dept_id, u.district_id,u.unit,u.user_name, u.nick_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark,
        select u.user_id, u.dept_id, u.district_id,u.unit,u.user_name, u.nick_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, u.id_card,
        d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.status as dept_status,
        r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status
        r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status,
        di.name as district_name,
      ti.institution_id, ti.institution_name
        from sys_user u
          left join sys_dept d on u.dept_id = d.dept_id
          left join sys_user_role ur on u.user_id = ur.user_id
          left join sys_role r on r.role_id = ur.role_id
         left join sys_district di on di.id = u.district_id
         left join sys_user_institution ui on u.user_id = ui.user_id
         left join training_institution ti on ui.institution_id = ti.institution_id
    </sql>
    
    <select id="selectUserList" parameterType="SysUser" resultMap="SysUserResult">
      select u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name, d.leader from sys_user u
      select u.user_id, u.dept_id, u.district_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name, d.leader, u.id_card, ti.institution_id, ti.institution_name, di.name as district_name from sys_user u
      left join sys_dept d on u.dept_id = d.dept_id
      left join sys_district di on di.id = u.district_id
      left join sys_user_institution ui on u.user_id = ui.user_id
      left join training_institution ti on ui.institution_id = ti.institution_id
      where u.del_flag = '0'
      <if test="userId != null and userId != 0">
         AND u.user_id = #{userId}
@@ -88,11 +112,13 @@
   </select>
   
   <select id="selectAllocatedList" parameterType="SysUser" resultMap="SysUserResult">
       select distinct u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.phonenumber, u.status, u.create_time
       select distinct u.user_id, u.dept_id, u.district_id, u.user_name, u.nick_name, u.email, u.phonenumber, u.status, u.create_time, u.id_card, di.name as district_name
       from sys_user u
          left join sys_dept d on u.dept_id = d.dept_id
          left join sys_user_role ur on u.user_id = ur.user_id
          left join sys_role r on r.role_id = ur.role_id
           left join sys_district di on di.id = u.district_id
       where u.del_flag = '0' and r.role_id = #{roleId}
       <if test="userName != null and userName != ''">
         AND u.user_name like concat('%', #{userName}, '%')
@@ -105,12 +131,13 @@
   </select>
   
   <select id="selectUnallocatedList" parameterType="SysUser" resultMap="SysUserResult">
       select distinct u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.phonenumber, u.status, u.create_time
       select distinct u.user_id, u.dept_id, u.district_id, u.user_name, u.nick_name, u.email, u.phonenumber, u.status, u.create_time, u.id_card, di.name as district_name
       from sys_user u
          left join sys_dept d on u.dept_id = d.dept_id
          left join sys_user_role ur on u.user_id = ur.user_id
          left join sys_role r on r.role_id = ur.role_id
       where u.del_flag = '0' and (r.role_id != #{roleId} or r.role_id IS NULL)
          left join sys_district di on di.id = u.district_id
      where u.del_flag = '0' and (r.role_id != #{roleId} or r.role_id IS NULL)
       and u.user_id not in (select u.user_id from sys_user u inner join sys_user_role ur on u.user_id = ur.user_id and ur.role_id = #{roleId})
       <if test="userName != null and userName != ''">
         AND u.user_name like concat('%', #{userName}, '%')
@@ -158,6 +185,8 @@
          <if test="status != null and status != ''">status,</if>
          <if test="createBy != null and createBy != ''">create_by,</if>
          <if test="remark != null and remark != ''">remark,</if>
         <if test="idCard != null and idCard != ''">id_card,</if>
         <if test="districtId != null and districtId != 0">district_id,</if>
          create_time
       )values(
          <if test="userId != null and userId != ''">#{userId},</if>
@@ -172,6 +201,8 @@
          <if test="status != null and status != ''">#{status},</if>
          <if test="createBy != null and createBy != ''">#{createBy},</if>
          <if test="remark != null and remark != ''">#{remark},</if>
         <if test="idCard != null and idCard != ''">#{idCard},</if>
         <if test="districtId != null and districtId != 0">#{districtId},</if>
          sysdate()
       )
   </insert>
@@ -192,6 +223,8 @@
          <if test="loginDate != null">login_date = #{loginDate},</if>
          <if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
          <if test="remark != null">remark = #{remark},</if>
         <if test="idCard != null and idCard != ''">id_card = #{idCard},</if>
         <if test="districtId != null and districtId != 0">district_id = #{districtId},</if>
          update_time = sysdate()
       </set>
       where user_id = #{userId}