value
2023-08-30 19c9e29273e8e751847d9dcb06b346dede48d2c8
user-server/src/main/resources/mapper/UserMapper.xml
@@ -1,32 +1,48 @@
<?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.yuanchu.limslaboratory.mapper.UserMapper">
    <select id="selectUserByUserId" parameterType="int" resultType="Map">
        select u.account account,u.name uname,u.phone,u.email,u.info,e.byname,e.`name`,e.link_name,e.link_phone
        from enterprise_user_list el,enterprise e,`user` u
        where e.id = el.enterprise_id
        and el.user_id = u.id
        and u.id = #{userId}
        SELECT u.account    account,
               u.name       uname,
               u.phone,
               u.email,
               u.info,
               e.byname     e_byname,
               e.`name`     e_name,
               e.link_name  e_link_name,
               e.link_phone e_phone
        FROM enterprise e,
             `user` u
        WHERE e.`id` = u.`enterprise_id`
          AND u.id = #{userId}
          and type = 1
    </select>
    <resultMap id="PagePersonnelVoMap" type="com.yuanchu.limslaboratory.vo.PagePersonnelVo">
        <result property="id" column="id"/>
        <result property="username" column="username"/>
        <result property="roleName" column="roleName"/>
        <result property="createTime" column="create_time"/>
        <result property="age" column="age"/>
        <result property="phone" column="phone"/>
        <result property="email" column="email"/>
        <result property="jobState" column="job_state"/>
    </resultMap>
    <select id="getNewPersonnelPage" resultMap="PagePersonnelVoMap">
        SELECT u.`id`, u.`name` username, r.`name` roleName, u.`create_time`, IFNULL(u.`age`, '---') age,
               IFNULL(u.`phone`, '---') phone, IFNULL(u.`email`, '---') email, u.`job_state`
        FROM `user` u, role r
        WHERE u.`role_id` = r.`id`
        <if test="name != null">
            AND u.name = #{name}
    <select id="getNewPersonnelPage" resultType="map">
        SELECT u.`id`, u.`name` username, r.`name` roleName, DATE_FORMAT(u.`create_time`, '%Y-%m-%d') createTime,
        u.`age`, CONCAT(r.`id`, '') roleId,
        u.`phone`, u.`email`, u.`job_state` jobState, o.`department`, u.`account`, o.`id` departmentId
        FROM `user` u
        LEFT JOIN role r
        ON u.`role_id` = r.`id` AND r.`state` = 1
        LEFT JOIN organizational o
        ON u.`organization_id` = o.`id` AND o.`state` = 1
        WHERE u.`state` = 1
        <if test="name != null and name != ''">
            AND u.`name` LIKE CONCAT('%',#{name}, '%')
        </if>
        <if test="status != null">
            AND u.`job_state` in (#{status})
        </if>
        and type=1
        ORDER BY u.`create_time` DESC
    </select>
    <select id="selectUser" resultType="Map">
        select id, name
        from lims_laboratory.user
        where job_state!=0
        and type=1
    </select>
</mapper>