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/SysLaboratoryDao.xml | 99 ++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 89 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryDao.xml b/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryDao.xml index a375e93..3ed0857 100644 --- a/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryDao.xml +++ b/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryDao.xml @@ -4,15 +4,25 @@ <resultMap id="SysLaboratory" type="com.nanometer.smartlab.entity.SysLaboratory"> <id property="id" column="id"/> <result property="type" column="type"></result> + <result property="typeName" column="type_name"></result> <result property="name" column="name"></result> <result property="infoCode" column="info_code"></result> <result property="barCode" column="bar_code"></result> <result property="location1" column="location1"></result> <result property="location2" column="location2"></result> + <result property="location" column="location"></result> <result property="department" column="department"></result> + <result property="departmentName" column="department_name"></result> <result property="validFlag" column="valid_flag" typeHandler="com.nanometer.smartlab.entity.handler.ValidFlagHandler"></result> <result property="createTime" column="create_time"></result> <result property="updateTime" column="update_time"></result> + <result property="project" column="project"></result> + <collection property="projects" ofType="com.nanometer.smartlab.entity.SysProject" select="getProjectsByIds" column="{projectIds=project}"/> + </resultMap> + + <resultMap id="laboratoryAndContainerMap" type="com.nanometer.smartlab.entity.SysLaboratory" extends="SysLaboratory"> + <collection property="laboratoryContainers" ofType="com.nanometer.smartlab.entity.SysLaboratoryContainer" select="getContaninerByLabId" column="{labId=id}"/> + <collection property="projects" ofType="com.nanometer.smartlab.entity.SysProject" select="getProjectsByIds" column="{projectIds=project}"/> </resultMap> <sql id="queryWhereSql"> @@ -31,10 +41,18 @@ <if test="department != null and department != ''"> and su.department = #{department} </if> + <if test="project != null and project != ''"> + and su.project like concat("%",#{project},"%") + </if> </sql> - <select id="getSysLaboratory" parameterType="java.lang.String" resultMap="SysLaboratory" > + <select id="getSysLaboratory" resultMap="SysLaboratory" > select * from sys_laboratory + where id = #{id} and valid_flag = 1 + </select> + + <select id="getSysLaboratorySimpleInfo" resultType="com.nanometer.smartlab.entity.SysLaboratory"> + select id,name from sys_laboratory where id = #{id} and valid_flag = 1 </select> @@ -48,8 +66,21 @@ </if> </select> - <select id="exportLabList" parameterType="java.util.Map" resultType="java.util.Map"> - SELECT bm1.meta_value type ,sl.name,sl.info_code infoCode,sl.bar_code barCode, + <select id="getSysLaboratorySimpleInfoList" parameterType="java.util.Map" resultMap="SysLaboratory"> + select su.id,su.type,su.name,su.info_code,su.bar_code,su.location1,su.location2,su.project,su.create_time,su.update_time,bm1.meta_value as type_name,bm2.meta_value as department + from sys_laboratory as su + left join base_meta as bm1 on bm1.id=su.type + left join base_meta as bm2 on bm2.id=su.department + where su.valid_flag = 1 + <include refid="queryWhereSql"/> + order by su.create_time desc + <if test="first != null and pageSize != null"> + limit #{first}, #{pageSize} + </if> + </select> + + <select id="exportLabList" parameterType="java.util.Map" resultMap="SysLaboratory"> + SELECT sl.id,bm1.meta_value type_name ,sl.name,sl.info_code info_code,sl.bar_code bar_code, CASE WHEN (ISNULL(location1)=1) || (LENGTH(trim(location1))=0) THEN @@ -58,7 +89,8 @@ CONCAT(location1,'-',location2) END location, - bm2.meta_value department + bm2.meta_value department_name, + sl.project from sys_laboratory as sl LEFT JOIN base_meta bm1 on bm1.id = sl.type left JOIN base_meta bm2 on bm2.id = sl.department @@ -68,6 +100,9 @@ </if> <if test="type != null and type != ''"> and sl.type = #{type}; + </if> + <if test="project != null and project != ''"> + and sl.project like concat("%",#{project},"%") </if> </select> @@ -83,14 +118,14 @@ order by name asc </select> - <insert id="insertSysLaboratory" parameterType="com.nanometer.smartlab.entity.SysLaboratory"> - insert into sys_laboratory(id, type, name, info_code, bar_code, location1, location2, valid_flag,department, create_time, update_time) - values (#{id}, #{type}, #{name}, #{infoCode}, #{barCode}, #{location1}, #{location2}, 1,#{department}, now(), now()) + <insert id="insertSysLaboratory" parameterType="com.nanometer.smartlab.entity.SysLaboratory" useGeneratedKeys = "true" keyProperty = "id"> + insert into sys_laboratory( type, name, info_code, bar_code, location1, location2, valid_flag,department, create_time, update_time,project) + values ( #{type}, #{name}, #{infoCode}, #{barCode}, #{location1}, #{location2}, 1,#{department}, now(), now(),#{project}) </insert> <update id="updateSysLaboratory" parameterType="com.nanometer.smartlab.entity.SysLaboratory"> update sys_laboratory set type=#{type}, name=#{name}, info_code=#{infoCode}, bar_code=#{barCode}, location1=#{location1}, location2=#{location2},department=#{department}, - update_time=now() + update_time=now(),project = #{project} where id=#{id} </update> @@ -102,17 +137,41 @@ </foreach> </update> - <select id="getSysLaboratoryByBarCode" parameterType="java.lang.String" resultMap="SysLaboratory" > + <select id="getSysLaboratoryByBarCode" resultMap="SysLaboratory" > select * from sys_laboratory where bar_code = #{barCode} and valid_flag=1 </select> - <select id="getSysLaboratoryByBarCodeForExport" parameterType="java.lang.String" resultMap="SysLaboratory" > + <select id="getSysLaboratoryByBarCodeForExport" resultMap="SysLaboratory" > select * from sys_laboratory where bar_code = #{barCode} and valid_flag=1 </select> + <select id="getLaboratoryByProject" resultType="com.nanometer.smartlab.entity.dto.LaboratoryVo$Laboratory"> + SELECT + CONCAT('楼号:',sl.location1,'-地址号:',sl.location2) as address, + bm.meta_value as department + FROM + sys_laboratory as sl + LEFT JOIN base_meta bm on bm.id = sl.department + WHERE + find_in_set(#{projectId},sl.project) + </select> + <select id="getSysLaboratoryByName" resultMap="SysLaboratory"> + select * + from sys_laboratory + where name = #{0} + and valid_flag = 1 + </select> + <select id="getPersonInCharge" resultType="java.util.Map"> + select su.phone + from sys_user as su + left join base_role as br on su.role_id = br.id + where su.project like concat("%",#{project},"%") + and su.valid_flag = 1 + and br.`name` = '实验负责人' + </select> <update id="updateLabExport" parameterType="com.nanometer.smartlab.entity.SysLaboratory"> update sys_laboratory set type=#{type}, @@ -125,4 +184,24 @@ update_time=now() where id=#{id} </update> + + <select id="getLaboratoryByProjectId" resultMap="laboratoryAndContainerMap"> + select sl.*,bm.meta_value as type_name from sys_laboratory sl + left join base_meta bm on bm.id=sl.type + where find_in_set(#{projectId},project) + </select> + + <select id="getContaninerByLabId" resultType="com.nanometer.smartlab.entity.SysLaboratoryContainer"> + select * from sys_laboratory_container where laboratory_id=#{labId} + </select> + + <select id="getProjectsByIds" resultType="com.nanometer.smartlab.entity.SysProject"> + select id,project_no as projectNo,project_name as projectName,sys_user_id as sysUserId,project from sys_project where id in + <foreach item="item" index="index" collection="projectIds.split(',')" open="(" separator="," close=")"> + #{item} + </foreach> + </select> + + + </mapper> -- Gitblit v1.9.2