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 |   54 ++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 42 insertions(+), 12 deletions(-)

diff --git a/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryDao.xml b/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryDao.xml
index b2323cf..3ed0857 100644
--- a/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryDao.xml
+++ b/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryDao.xml
@@ -4,16 +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">
@@ -37,12 +46,12 @@
     </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" parameterType="java.lang.String"  resultMap="SysLaboratory">
+  <select id="getSysLaboratorySimpleInfo"   resultType="com.nanometer.smartlab.entity.SysLaboratory">
     select id,name from sys_laboratory
     where id = #{id} and valid_flag = 1
   </select>
@@ -58,7 +67,8 @@
   </select>
 
   <select id="getSysLaboratorySimpleInfoList" parameterType="java.util.Map" resultMap="SysLaboratory">
-    select su.id,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,bm2.meta_value as department from sys_laboratory as su
+    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
@@ -69,8 +79,8 @@
     </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="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
@@ -79,7 +89,7 @@
     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
@@ -108,9 +118,9 @@
     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,project)
-    values (#{id}, #{type}, #{name}, #{infoCode}, #{barCode}, #{location1}, #{location2}, 1,#{department}, now(), now(),#{project})
+  <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">
@@ -127,12 +137,12 @@
     </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
@@ -145,7 +155,7 @@
 	sys_laboratory as sl
     LEFT JOIN base_meta bm on bm.id = sl.department
     WHERE
-	sl.project LIKE CONCAT('%',#{project},'%')
+    find_in_set(#{projectId},sl.project)
   </select>
   <select id="getSysLaboratoryByName"  resultMap="SysLaboratory">
     select *
@@ -174,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