heheng
2 天以前 338f2f5afc7762dabf2409f296d5d023462ed4b5
multi-system/src/main/resources/mapper/system/SysUserMapper.xml
@@ -26,8 +26,27 @@
        <result property="companyName"        column="company_name"          />
        <result property="remainPeriod"        column="remain_period"          />
        <result property="parentName"        column="parent_name"          />
        <result property="idCard"        column="id_card"          />
        <result property="duty"        column="duty"          />
        <result property="post"        column="post"          />
        <result property="deptId"        column="dept_id"          />
        <result property="deptName"        column="dept_name"          />
        <result  property="entryTime"        column="entry_time"          />
        <result property="resignTime"        column="resign_time"          />
        <result property="personType"        column="person_type"          />
        <result property="age"        column="age"          />
        <result property="positional"        column="positional"          />
        <result property="qualification"        column="qualification"          />
        <result property="operationCertificate"        column="operation_certificate"          />
    </resultMap>
    <resultMap id="SysUserVoResult" type="com.gkhy.exam.common.domain.entity.SysUser" extends="SysUserResult">
        <collection property="roles" ofType="com.gkhy.exam.common.domain.entity.SysRole" column="userId = id" select="getReponseData">
            <result     property="roleId"     column="role_id"     />
            <result property="roleName"     column="role_name"     />
        </collection>
    </resultMap>
    <delete id="deleteUserById" parameterType="java.lang.Long">
@@ -40,12 +59,20 @@
        where username=#{username} and del_flag=0 limit 1
    </select>
    <select id="userList"  resultMap="SysUserResult">
    <select id="getReponseData" resultType="com.gkhy.exam.common.domain.entity.SysRole">
        select r.role_name,r.role_id from  sys_user_role ur
        left join sys_role r on r.role_id=ur.role_id
        where ur.user_id = #{userId}
    </select>
    <select id="userList"  resultMap="SysUserVoResult">
        select u.id,u.username,u.name,u.user_type,u.phone,u.parent_id,u.company_id,u.sex,u.status,u.del_flag,u.version,
               u.login_ip,u.login_date,u.create_by,u.create_time,u.remark,c.name as company_name,su.name as parent_name
               u.login_ip,u.login_date,u.create_by,u.create_time,u.remark,c.name as company_name,su.name as parent_name,
                u.dept_id,d.dept_name,u.duty,u.post,u.id_card,u.entry_time,u.resign_time,u.person_type,u.age,u.positional,u.qualification,u.operation_certificate
        from sys_user u
        left join sys_company c on c.id=u.company_id
        left join sys_user su on su.id=u.parent_id and u.parent_id!=0
        left join sys_dept  d on d.dept_id=u.dept_id
        <where>
            and u.del_flag = 0
            <if test="username != null and username != ''">
@@ -57,14 +84,26 @@
            <if test="status != null and status != ''">
                AND u.status = #{status}
            </if>
            <if test="personType != null">
                AND u.person_type = #{personType}
            </if>
            <if test="qualification != null">
                AND u.qualification = #{qualification}
            </if>
            <if test="userType != null">
                AND u.user_type = #{userType}
            </if>
            <if test="deptId != null">
                AND d.dept_id = #{deptId}
            </if>
            <if test="companyId != null ">
                AND u.company_id = #{companyId}
            </if>
            <if test="phone != null and phone != ''">
                AND u.phone like concat('%', #{phone}, '%')
            </if>
            <if test="post != null and post != ''">
                AND u.post like concat('%', #{post}, '%')
            </if>
            <if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 -->
                AND date_format(u.create_time,'%y%m%d') &gt;= date_format(#{params.beginTime},'%y%m%d')
@@ -81,6 +120,7 @@
            <if test="params.userType != null and params.userType==0">
                AND u.user_type in (1,2,3,4)
            </if>
        </where>
        order by u.id desc
    </select>
@@ -93,10 +133,13 @@
    </select>
    <select id="getUserById" resultMap="SysUserResult">
        select u.id,u.username,u.user_type,u.name,u.phone,u.parent_id,u.company_id,u.status,u.sex,u.del_flag,u.version,c.name as company_name,c.remain_period,su.name as parent_name
        select u.id,u.username,u.user_type,u.name,u.phone,u.parent_id,u.company_id,u.status,u.sex,u.del_flag,u.version,c.name as company_name,
               c.remain_period,su.name as parent_name,u.dept_id,d.dept_name,u.duty,u.post,u.id_card,u.entry_time,u.resign_time,
               u.person_type,u.age,u.positional,u.qualification,u.operation_certificate
        from sys_user u
       left join sys_company c on c.id=u.company_id
       left join sys_user su on su.id=u.parent_id and u.parent_id!=0
        left join sys_dept  d on d.dept_id=u.dept_id
        where u.id=#{userId}
    </select>
@@ -114,10 +157,10 @@
    <select id="selectAllocatedList" parameterType="com.gkhy.exam.common.domain.entity.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.id, u.dept_id, u.user_name, u.nick_name, u.email, u.phonenumber, u.status, u.create_time
        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_user_role ur on u.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}
        <if test="userName != null and userName != ''">
@@ -126,26 +169,25 @@
        <if test="phonenumber != null and phonenumber != ''">
            AND u.phonenumber like concat('%', #{phonenumber}, '%')
        </if>
        <!-- 数据范围过滤 -->
        ${params.dataScope}
    </select>
    <select id="selectUnallocatedList" parameterType="com.gkhy.exam.common.domain.entity.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.id, u.dept_id, u.user_name, u.nick_name, u.email, u.phonenumber, u.status, u.create_time
        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_user_role ur on u.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)
        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})
        and u.id not in (select u.id from sys_user u inner join sys_user_role ur on u.id = ur.user_id and ur.role_id = #{roleId})
        <if test="userName != null and userName != ''">
            AND u.user_name like concat('%', #{userName}, '%')
        </if>
        <if test="phonenumber != null and phonenumber != ''">
            AND u.phonenumber like concat('%', #{phonenumber}, '%')
        </if>
        <!-- 数据范围过滤 -->
        ${params.dataScope}
    </select>
</mapper>