From 47a751cb301d05276ae5d75145d57b2d090fe4e1 Mon Sep 17 00:00:00 2001 From: kongzy <kongzy> Date: 星期一, 01 七月 2024 10:58:35 +0800 Subject: [PATCH] change --- src/main/java/com/nanometer/smartlab/dao/SysUserDao.xml | 237 +++++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 207 insertions(+), 30 deletions(-) diff --git a/src/main/java/com/nanometer/smartlab/dao/SysUserDao.xml b/src/main/java/com/nanometer/smartlab/dao/SysUserDao.xml index 64b16c6..6677031 100644 --- a/src/main/java/com/nanometer/smartlab/dao/SysUserDao.xml +++ b/src/main/java/com/nanometer/smartlab/dao/SysUserDao.xml @@ -8,6 +8,7 @@ <result property="password" column="password"></result> <result property="company" column="company"></result> <result property="department" column="department"></result> + <result property="departmentName" column="department_name"></result> <result property="name" column="name"></result> <result property="phone" column="phone"></result> <result property="email" column="email"></result> @@ -22,7 +23,10 @@ <result property="updateTime" column="update_time"></result> <result property="roleName" column="roleName"></result> <result property="containerCodeList" column="containerCodeList"></result> - <result property="project" column="project"></result> + <result property="projectId" column="project_id"></result> + <result property="projectName" column="project_name"></result> + <result property="url" column="url"></result> + <result property="score" column="score"></result> <result property="waster" column="waster" typeHandler="com.nanometer.smartlab.entity.handler.WasterHandler"></result> </resultMap> @@ -65,33 +69,47 @@ <if test="seeFlag != null"> and su.see_flag = #{seeFlag} </if> - <if test="seeFlag != null"> - and su.see_flag = #{seeFlag} - </if> <if test="editId != null and editId != ''"> and su.id != #{editId} </if> <if test="waster != null"> and su.waster = #{waster} </if> + <if test="projectId != null and projectId != ''"> + and su.project_id =#{projectId} + </if> + <if test="projectName != null and projectName != ''"> + and sp.project_name like concat("%",#{projectName},"%") + </if> + <if test="company != null and company != ''"> + and bm1.meta_value like concat("%",#{company},"%") + </if> </sql> - <select id="getSysUser" parameterType="java.lang.String" resultMap="SysUser" > + <select id="getSysUser" resultMap="SysUser" > select * from sys_user where id = #{id} and valid_flag = 1 </select> - <select id="getUser" parameterType="java.lang.String" resultType="java.util.Map"> - select * from sys_user + <select id="getUser" resultMap="SysUser"> + select + sys_user.id, + sys_user.`name`, + sys_user.phone, + sys_user.project_id, + base_meta.meta_value as department_name + from sys_user left join base_meta on sys_user.department = base_meta.id - where sys_user.id = #{id} and sys_user.valid_flag = 1 + where sys_user.id = #{id} + and sys_user.valid_flag = 1 + and base_meta.valid_flag = 1 </select> - <insert id="insertUserFavor" parameterType="java.util.Map"> - insert into favor(id,user_id,reagent_id,create_time) value (#{id},#{user},#{reagent},now()); + <insert id="insertUserFavor" parameterType="java.util.Map" useGeneratedKeys = "true" keyProperty = "id"> + insert into favor(user_id,reagent_id,create_time) value (#{user},#{reagent},now()); </insert> - <select id="getSysUserForSuppllier" parameterType="java.lang.String" resultMap="SysUser" > + <select id="getSysUserForSuppllier" resultMap="SysUser" > select * from sys_user where id = #{id} </select> @@ -108,15 +126,19 @@ - <select id="getSysUserByIdCard" parameterType="java.lang.String" resultMap="SysUser" > + <select id="getSysUserByIdCard" resultMap="SysUser" > select * from sys_user - where id_card = #{idCard} and valid_flag = 1 + where id_card = #{idCard} + and valid_flag = 1 + limit 1 </select> <select id="getSysUserList" parameterType="java.util.Map" resultMap="SysUser"> - select su.*, br.name as roleName from sys_user as su + select su.*, br.name as roleName,sp.project_name from sys_user as su left join base_role as br on su.role_id = br.id left join base_meta bm on su.department = bm.id + left join base_meta bm1 on bm1.id = su.company + left join sys_project sp on sp.id=su.project_id where su.valid_flag = 1 <if test="departmentNameLike != null and departmentNameLike != ''"> and bm.meta_value like #{departmentNameLike} @@ -128,11 +150,33 @@ </if> </select> + <select id="getSysUserSimpleInfoList" parameterType="java.util.Map" resultMap="SysUser"> + select su.id,su.arp,su.account,su.name,su.phone,su.email,su.create_time,su.project_id,bm.meta_value as department,bm1.meta_value as company,sp.project_name from sys_user as su + left join base_meta bm on su.department = bm.id + left join base_meta bm1 on bm1.id = su.company + left join sys_project sp on sp.id=su.project_id + where su.valid_flag = 1 + <include refid="queryWhereSql"/> + order by su.arp ASC + <if test="first != null and pageSize != null"> + limit #{first}, #{pageSize} + </if> + </select> + <select id="getHasProjectSysUserList" parameterType="java.util.Map" resultMap="SysUser"> select DISTINCT su.*, br.name as roleName from sys_user as su - left join base_role as br on su.role_id = br.id inner join sys_project as sp on su.id=sp.sys_user_id + left join base_role as br on su.role_id = br.id + inner join sys_project as sp on su.id=sp.sys_user_id where su.valid_flag = 1 - <include refid="queryWhereSql"/> + <if test="department != null and department != ''"> + and su.department = #{department} + </if> + <if test="approverFlag != null"> + and su.approver_flag = #{approverFlag} + </if> + <if test="projectId != null and projectId != ''"> + and su.project_id =#{projectId} + </if> order by su.arp ASC <if test="first != null and pageSize != null"> limit #{first}, #{pageSize} @@ -140,7 +184,9 @@ </select> <select id="getSysUserInfoList" parameterType="java.util.Map" resultMap="SysUser"> - select u.name,u.see_flag,u.role_id,u.valid_flag,u.id_card,u.point,group_concat(container_code SEPARATOR ',') containerCodeList ,u.arp, bm1.meta_value department,bm2.meta_value company,u.project_id projectId from sys_user u + select u.name,u.see_flag,u.role_id,u.valid_flag,u.id_card,u.point,group_concat(container_code SEPARATOR ',') containerCodeList ,u.arp, bm1.meta_value department,bm2.meta_value company,u.project_id projectId, + u.url,u.score + from sys_user u left join sys_laboratory l on l.department = u.department and l.valid_flag = 1 left join sys_laboratory_container c on c.laboratory_id = l.id and c.valid_flag = 1 left join base_meta bm1 on bm1.id = u.department @@ -150,7 +196,10 @@ </select> <select id="getSysUserTotalCount" parameterType="java.util.Map" resultType="int"> - select count(1) from sys_user as su left join base_meta bm on su.department = bm.id + select count(1) from sys_user as su + left join base_meta bm on su.department = bm.id + left join base_meta bm1 on bm1.id = su.company + left join sys_project sp on sp.id=su.project_id where su.valid_flag = 1 <if test="departmentNameLike != null and departmentNameLike != ''"> and bm.meta_value like #{departmentNameLike} @@ -158,14 +207,16 @@ <include refid="queryWhereSql"/> </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,waster) - values (#{id}, #{arp}, #{account}, #{password}, #{company}, #{department}, #{name}, #{phone}, #{email}, #{memo}, #{idCard}, #{approverFlag}, #{seeFlag}, #{roleId}, 1, now(), now(),#{project},#{waster}) + <insert id="insertSysUser" parameterType="com.nanometer.smartlab.entity.SysUser" useGeneratedKeys = "true" keyProperty = "id"> + insert into sys_user( 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,waster,url,score) + values ( #{arp}, #{account}, #{password}, #{company}, #{department}, #{name}, #{phone}, #{email}, #{memo}, #{idCard}, #{approverFlag}, #{seeFlag}, #{roleId}, 1, now(), now(),#{projectId},#{waster},#{url},#{score}) </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=#{project},waster=#{waster} + email=#{email}, memo=#{memo}, id_card=#{idCard}, approver_flag=#{approverFlag}, see_flag=#{seeFlag}, role_id=#{roleId}, point=#{point},update_time=now(),project_id=#{projectId},waster=#{waster}, + url= #{url}, + score = #{score} where id=#{id} </update> @@ -218,16 +269,16 @@ 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 + 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_id 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} + u.project_id = #{0} and u.valid_flag = 1 and u.update_time >= #{1} and #{2} > u.update_time </select> @@ -235,18 +286,28 @@ SELECT su.id, su.account, + su.id_card, su.`name`, su.`password`, su.waster as adminFlag, - su.project, + su.project_id, bm.meta_value as department, - com.meta_value as company + com.meta_value as company_name, + com.id as company, + sp.project_name 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 + left join sys_project sp on sp.id=su.project_id + <where> su.valid_flag = 1 - AND su.account = #{account} + <if test="account != null and account !=''"> + AND su.account = #{account} + </if> + <if test="userId != null "> + AND su.id = #{userId} + </if> + </where> </select> <select id="getUserByProject" resultType="com.nanometer.smartlab.entity.dto.LaboratoryVo$LaboratoryUser"> SELECT @@ -255,7 +316,123 @@ WHERE valid_flag = '1' AND waster = '1' - AND project = #{project}; + AND project_id = #{projectId}; + </select> + <select id="getUserByArp" resultMap="SysUser"> + select * from sys_user + where arp = #{0} and valid_flag = 1 + </select> + <select id="getUserCountInProject" parameterType="java.util.Map" resultType="java.lang.Integer"> + select count(1) from sys_user as su + left join base_meta bm on su.department = bm.id + left join base_meta bm1 on bm1.id = su.company + left join sys_project sp on sp.id=su.project_id + where su.valid_flag = 1 + <if test="departmentNameLike != null and departmentNameLike != ''"> + and bm.meta_value like concat("%",#{departmentNameLike},"%") + </if> + <if test="arp != null and arp != ''"> + and su.arp like concat("%",#{arp},"%") + </if> + <if test="name != null and name != ''"> + and su.name like concat("%",#{name},"%") + </if> + <if test="company != null and company != ''"> + and bm1.meta_value like concat("%",#{company},"%") + </if> + <if test="projectId != null and projectId != ''"> + and su.project_id=#{projectId} + </if> + <if test="projectName != null and projectName != ''"> + and sp.projectName like concat("%",#{projectId},"%") + </if> + </select> + <select id="getUserInProject" parameterType="java.util.Map" resultMap="SysUser"> + select su.*, br.name as roleName from sys_user as su + left join base_role as br on su.role_id = br.id + left join base_meta bm on su.department = bm.id + left join base_meta bm1 on bm1.id = su.company + left join sys_project sp on sp.id=su.project_id + where su.valid_flag = 1 + <if test="departmentNameLike != null and departmentNameLike != ''"> + and bm.meta_value like concat("%",#{departmentNameLike},"%") + </if> + <if test="arp != null and arp != ''"> + and su.arp like concat("%",#{arp},"%") + </if> + <if test="name != null and name != ''"> + and su.name like concat("%",#{name},"%") + </if> + <if test="company != null and company != ''"> + and bm1.meta_value like concat("%",#{company},"%") + </if> + <if test="projectId != null and projectId != ''"> + and su.project_id=#{projectId} + </if> + <if test="projectName != null and projectName != ''"> + and sp.project_name like concat("%",#{projectName},"%") + </if> + order by su.arp ASC + <if test="first != null and pageSize != null"> + limit #{first}, #{pageSize} + </if> + </select> + <select id="getExportUserList" resultType="Map"> + select + bm.meta_value AS departmentName, + bm1.meta_value AS companyName, + su.project_id, + sp.project_name projectName, + su.arp, + su.name, + su.account, + su.id_card as idCard, + su.phone, + su.email, + su.memo, + br.name AS roleName, + CASE WHEN su.approver_flag=0 then '否' else '是' END AS approver, + CASE WHEN su.see_flag=2 then '一般人员' WHEN su.see_flag=3 then '安全员' WHEN su.see_flag=11 then '系统管理员'WHEN su.see_flag=0 then '实验室管理员' END AS seeName, + CASE WHEN su.waster=2 then '危废管理员' WHEN su.waster=1 then '危废处理人员' else '' END AS wasterName, + su.update_time as updateTime + from sys_user as su + left join base_role as br on su.role_id = br.id + left join base_meta bm on su.department = bm.id + left join base_meta bm1 on bm1.id = su.company + left join sys_project sp on sp.id=su.project_id + <where> + su.valid_flag = 1 + <if test="arp != null and arp != ''"> + and su.arp like #{arp} + </if> + <if test="name != null and name != ''"> + and su.name like concat("%",#{name},"%") + </if> + <if test="departmentName != null and departmentName != ''"> + and su.department like concat("%",#{departmentName},"%") + </if> + <if test="projectId != null and projectId != ''"> + and su.project_id =#{projectId} + </if> + <if test="company != null and company != ''"> + and bm1.meta_value like concat("%",#{company},"%") + </if> + </where> + order by su.arp ASC + </select> + <select id="getLibrarianEmail" resultType="java.lang.String"> + select su.email + from sys_user as su + left join base_role as br on br.id = su.role_id + where + su.valid_flag = 1 + and br.name = '库管员' + and su.email is not null + and su.email != '' + </select> + <select id="getUserByName" resultMap="SysUser"> + select * from sys_user + where name = #{name} and valid_flag = 1 </select> <update id="updateUserPointBySelective" parameterType="java.util.Map"> update sys_user set point=#{point} -- Gitblit v1.9.2