李宇
2021-01-21 9c9503de4fb1e1b0127f83c8b2b0f645c6ab9e9c
src/main/java/com/nanometer/smartlab/dao/SysUserDao.xml
@@ -22,8 +22,26 @@
    <result property="updateTime" column="update_time"></result>
    <result property="roleName" column="roleName"></result>
    <result property="containerCodeList" column="containerCodeList"></result>
    <result property="projectId" column="project_id"></result>
    <result property="project" column="project"></result>
    <result property="waster" column="waster" typeHandler="com.nanometer.smartlab.entity.handler.WasterHandler"></result>
  </resultMap>
    <resultMap id="SysUserDto" type="com.nanometer.smartlab.entity.dto.SysUserDto">
        <id property="id" column="id"/>
        <result property="arp" column="arp"/>
        <result property="account" column="account"/>
        <result property="department" column="department"/>
        <result property="name" column="name"/>
        <result property="point" column="point"/>
        <collection property="sysLaboratory" ofType="com.nanometer.smartlab.entity.dto.SysLaboratoryDto" fetchType="lazy">
            <id property="id" column="sl_id"/>
            <result property="name" column="sl_name"/>
            <collection property="sysLaboratoryContainer" ofType="com.nanometer.smartlab.entity.dto.SysLaboratoryContainerDto" fetchType="lazy">
                <id property="id" column="slc_id"/>
                <result property="name" column="slc_name"/>
            </collection>
        </collection>
    </resultMap>
  <sql id="queryWhereSql">
    <if test="arp != null and arp != ''">
@@ -52,6 +70,9 @@
    </if>
    <if test="editId != null and editId != ''">
      and su.id != #{editId}
    </if>
    <if test="waster != null">
        and su.waster = #{waster}
    </if>
  </sql>
@@ -138,13 +159,13 @@
  </select>
  <insert id="insertSysUser" parameterType="com.nanometer.smartlab.entity.SysUser">
    insert into sys_user(id, arp, account, password, company, department, name, phone, email, memo, id_card, approver_flag, see_flag, role_id, valid_flag, create_time, update_time,project_id)
    values (#{id}, #{arp}, #{account}, #{password}, #{company}, #{department}, #{name}, #{phone}, #{email}, #{memo}, #{idCard}, #{approverFlag}, #{seeFlag}, #{roleId}, 1, now(), now(),#{projectId})
    insert into sys_user(id, arp, account, password, company, department, name, phone, email, memo, id_card, approver_flag, see_flag, role_id, valid_flag, create_time, update_time,project,waster)
    values (#{id}, #{arp}, #{account}, #{password}, #{company}, #{department}, #{name}, #{phone}, #{email}, #{memo}, #{idCard}, #{approverFlag}, #{seeFlag}, #{roleId}, 1, now(), now(),#{project},#{waster})
  </insert>
  <update id="updateSysUser" parameterType="com.nanometer.smartlab.entity.SysUser">
    update sys_user set arp=#{arp}, account=#{account}, password=#{password}, company=#{company}, department=#{department}, name=#{name}, phone=#{phone},
    email=#{email}, memo=#{memo}, id_card=#{idCard}, approver_flag=#{approverFlag}, see_flag=#{seeFlag}, role_id=#{roleId}, point=#{point},update_time=now(),project_id=#{projectId}
    email=#{email}, memo=#{memo}, id_card=#{idCard}, approver_flag=#{approverFlag}, see_flag=#{seeFlag}, role_id=#{roleId}, point=#{point},update_time=now(),project=#{project},waster=#{waster}
    where id=#{id}
  </update>
@@ -175,29 +196,79 @@
  </select>
    <select id="getUserListByContainerCodeNew" parameterType="java.util.Map" resultMap="SysUser">
      SELECT u.name,u.see_flag,u.role_id,u.valid_flag,u.id_card,bm2.meta_value department,bm1.meta_value company,u.arp,u.point
   from sys_user u
   left join base_meta bm1 on bm1.id = u.company
   left join base_meta bm2 on bm2.id = u.department
   where project_id = (
   SELECT project_id from sys_laboratory_container
   WHERE container_code =  #{0}
   and  valid_flag = 1)
   AND u.valid_flag = 1
   and u.update_time >= #{1} and #{2} > u.update_time
  </select>
  <select id="selectByAccount" parameterType="com.nanometer.smartlab.entity.SysUser" resultMap="SysUser">
    select * from sys_user where valid_flag=1 and account=#{account}
  </select>
    <select id="selectUserInfo" resultMap="SysUserDto">
    SELECT
   su.id,
   su.arp,
   su.account,
   su.`name`,
   su.point,
   bm1.meta_value department,
   sl.id sl_id,
   sl.`name` sl_name,
   slc.id slc_id,
   slc.`name` slc_name
    FROM sys_user su
   LEFT JOIN base_meta bm1 on bm1.id = su.department
   LEFT JOIN sys_laboratory sl on sl.department = su.department
   LEFT JOIN sys_laboratory_container slc on slc.laboratory_id = sl.id
   WHERE su.valid_flag = 1
   and sl.valid_flag = 1
   and slc.valid_flag = 1
    ORDER BY su.`name` asc
    </select>
    <select id="getUserListByProject" parameterType="java.util.Map" resultMap="SysUser">
    SELECT u.name,u.see_flag,u.role_id,u.valid_flag,u.id_card,bm2.meta_value department,bm1.meta_value company,u.arp,u.point,u.project
    from sys_user u
    left join base_meta bm1 on bm1.id = u.company
    left join base_meta bm2 on bm2.id = u.department
    where
    u.project = #{0}
    and u.valid_flag = 1
    and u.update_time >= #{1} and #{2} > u.update_time
    </select>
    <select id="getUserByAccount" resultType="com.nanometer.smartlab.entity.dto.HazardousWasteUser">
    SELECT
    su.id,
   su.account,
    su.`name`,
    su.`password`,
    su.waster as adminFlag,
    su.project,
    bm.meta_value as department,
    com.meta_value as company
    FROM sys_user AS su
    LEFT JOIN base_meta bm ON su.department = bm.id
    LEFT JOIN base_meta com on com.id = su.company
    <where>
        su.valid_flag = 1
        <if test="account != null and account !=''">
            AND su.account = #{account}
        </if>
        <if test="name != null and name !=''">
            AND su.name = #{name}
        </if>
    </where>
    </select>
    <select id="getUserByProject" resultType="com.nanometer.smartlab.entity.dto.LaboratoryVo$LaboratoryUser">
    SELECT
    `name` as username
    FROM sys_user
    WHERE
       valid_flag = '1'
    AND waster = '1'
    AND project = #{project};
    </select>
    <update id="updateUserPointBySelective" parameterType="java.util.Map">
        update sys_user set point=#{point}
        <where>
            <if test="id != null">
                id = #{id}
            </if>
        </where>
    update sys_user set point=#{point}
    <where>
        <if test="id != null">
            id = #{id}
        </if>
    </where>
    </update>
</mapper>