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/SysLaboratoryContainerDao.xml |  134 ++++++++++++++++++++++++++++++++++----------
 1 files changed, 103 insertions(+), 31 deletions(-)

diff --git a/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryContainerDao.xml b/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryContainerDao.xml
index 7397426..8878e15 100644
--- a/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryContainerDao.xml
+++ b/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryContainerDao.xml
@@ -24,20 +24,36 @@
   <update id="updateInfo" parameterType="java.util.Map">
     update sys_laboratory_container set temp=#{temp},humidity=#{humidity},voc1=#{voc1},flag=#{flag} where id=#{containerId}
   </update>
-
+  <update id="delSlcIds" parameterType="java.util.List">
+    update sys_laboratory_container set valid_flag=0, update_time=now()
+    where laboratory_id in
+    <foreach collection="list" item="item" index="index" open="(" separator="," close=")">
+      #{item}
+    </foreach>
+  </update>
   <select id="getSysLaboratoryContainerInfoList" parameterType="java.util.Map"  resultMap="SysLaboratoryContainer" >
     select container_code,name,valid_flag,type,character_left,character_right from sys_laboratory_container where update_time >= #{startTime} and #{endTime} > update_time
   </select>
 
-  <select id="getSysLaboratoryContainer" parameterType="java.lang.String"  resultMap="SysLaboratoryContainer" >
-    select su.*,ss.name as laboratoryName, ss.type as laboratoryType  from sys_laboratory_container as su
+  <select id="getSysLaboratoryContainer"  resultMap="SysLaboratoryContainer" >
+    select su.*,ss.name as laboratoryName, ss.type as laboratoryType ,su.project project
+    from sys_laboratory_container as su
     left join sys_laboratory as ss on su.laboratory_id = ss.id
-    where su.id = #{id} and su.valid_flag = 1
+    where su.id = #{id}
+    and su.valid_flag = 1
+    and ss.valid_flag = 1
   </select>
 
-  <select id="getSysLaboratoryContainerByContainerCode" parameterType="java.lang.String" resultMap="SysLaboratoryContainer">
-    select * from sys_laboratory_container
-    where container_code = #{containerCode} and valid_flag = 1
+  <select id="getSysLaboratoryContainerByContainerCode" resultMap="SysLaboratoryContainer">
+     SELECT
+     sys_laboratory_container.*
+     FROM
+     sys_laboratory_container
+     LEFT JOIN sys_laboratory on sys_laboratory.id = sys_laboratory_container.laboratory_id
+     WHERE
+     sys_laboratory_container.container_code = #{containerCode}
+     AND sys_laboratory_container.valid_flag = 1
+     AND sys_laboratory.valid_flag = 1
   </select>
 
   <select id="updateSysLabContainer" parameterType="java.util.Map" >
@@ -52,11 +68,9 @@
   </select>
 
   <select id="getSysLaboratoryContainerList" parameterType="java.util.Map" resultMap="SysLaboratoryContainer">
-    select su.*,ss.name as laboratoryName, ss.type as laboratoryType,sc.controller_name as controllerName  from sys_laboratory_container as su
+    select su.*,ss.name as laboratoryName, ss.type as laboratoryType,su.project as project  from sys_laboratory_container as su
     left join sys_laboratory as ss on su.laboratory_id = ss.id
-    left join sys_controller sc on sc.controller_code=su.controller_code
     where su.valid_flag = 1
-    AND sc.valid_flag = 1
     AND ss.valid_flag = 1
     <if test="laboratoryType != null and laboratoryType != ''">
       and ss.type = #{laboratoryType}
@@ -67,7 +81,28 @@
     <if test="laboratoryName != null and laboratoryName != ''">
       and ss.name like #{laboratoryName}
     </if>
-    order by ss.name ASC,sc.controller_name,su.container_code,su.name
+    <if test="project != null and project != ''">
+      and su.project like concat("%",#{project},"%")
+    </if>
+    order by ss.name ASC,su.container_code,su.name
+    <if test="first != null and pageSize != null">
+      limit #{first}, #{pageSize}
+    </if>
+  </select>
+
+
+  <select id="getSysLaboratoryContainerSimpleInfoList" parameterType="java.util.Map" resultMap="SysLaboratoryContainer">
+    select su.id,su.name,su.container_code,su.info_code,su.project as project,bm1.meta_value as type,bm2.meta_value as structure,
+           ss.name as laboratoryName from sys_laboratory_container as su
+    left join sys_laboratory as ss on su.laboratory_id = ss.id
+    left join base_meta bm1 ON bm1.id = su.type
+    left join base_meta bm2 ON bm2.id = su.structure
+    where su.valid_flag = 1
+    AND ss.valid_flag = 1
+    <if test="laboratoryName != null and laboratoryName != ''">
+      and ss.name like #{laboratoryName}
+    </if>
+    order by su.create_time desc
     <if test="first != null and pageSize != null">
       limit #{first}, #{pageSize}
     </if>
@@ -83,7 +118,8 @@
     bm1.meta_value containerType ,
     slc.info_code infoCode ,
     bm3.meta_value structure,
-    slc.`name` name
+    slc.`name` name,
+    slc.project
     FROM
     sys_laboratory_container slc
     LEFT JOIN base_meta bm1 ON bm1.id = slc.type
@@ -101,6 +137,12 @@
     <if test="name != null and name != ''">
       and sl.name like concat("%",#{name},"%")
     </if>
+    <if test="project != null and project != ''">
+      and slc.project like concat("%",#{project},"%")
+    </if>
+    <if test="controllerName != null and controllerName != ''">
+      and sc.controller_name like concat("%",#{controllerName},"%")
+    </if>
     order by sl.name ASC,sc.controller_name,slc.container_code,slc.name
 
   </select>
@@ -108,9 +150,7 @@
   <select id="getSysLaboratoryContainerTotalCount" parameterType="java.util.Map" resultType="int">
     select count(1) from sys_laboratory_container as su
     left join sys_laboratory as ss on su.laboratory_id = ss.id
-    left join sys_controller sc on sc.controller_code=su.controller_code
     where su.valid_flag = 1
-    AND sc.valid_flag = 1
     AND ss.valid_flag = 1
     <if test="laboratoryType != null and laboratoryType != ''">
       and ss.type = #{laboratoryType}
@@ -127,17 +167,20 @@
     <if test="editId != null and editId != ''">
       and su.id != #{editId}
     </if>
+    <if test="project != null and project != ''">
+      and su.project like concat("%",#{project},"%")
+    </if>
   </select>
 
-  <insert id="insertSysLaboratoryContainer" parameterType="com.nanometer.smartlab.entity.SysLaboratoryContainer">
-    insert into sys_laboratory_container(id, laboratory_id, type, container_code, info_code, structure, name, valid_flag, character_left, character_right, create_time, update_time, controller_code)
-    values (#{id}, #{laboratoryId}, #{type}, #{containerCode}, #{infoCode}, #{structure}, #{name}, 1, #{characterLeft}, #{characterRight}, now(), now(), #{controllerCode})
+  <insert id="insertSysLaboratoryContainer" parameterType="com.nanometer.smartlab.entity.SysLaboratoryContainer" useGeneratedKeys = "true" keyProperty = "id">
+    insert into sys_laboratory_container( laboratory_id, type, container_code, info_code, structure, name, valid_flag, character_left, character_right, create_time, update_time, controller_code,project)
+    values ( #{laboratoryId}, #{type}, #{containerCode}, #{infoCode}, #{structure}, #{name}, 1, #{characterLeft}, #{characterRight}, now(), now(), #{controllerCode},#{project})
   </insert>
 
   <update id="updateSysLaboratoryContainer" parameterType="com.nanometer.smartlab.entity.SysLaboratoryContainer">
     update sys_laboratory_container set laboratory_id=#{laboratoryId}, type=#{type}, container_code=#{containerCode}, info_code=#{infoCode},
     structure=#{structure}, name=#{name}, character_left=#{characterLeft}, character_right=#{characterRight},controller_code=#{controllerCode},
-    update_time=now()
+    update_time=now(),project = #{project}
     where id=#{id}
   </update>
 
@@ -170,13 +213,13 @@
     </foreach>
   </select>
 
-  <update id="updateSysLaboratoryContainerClearControllerCode" parameterType="java.lang.String" >
+  <update id="updateSysLaboratoryContainerClearControllerCode">
     update sys_laboratory_container set
     controller_code=null
     where controller_code=#{controllerCode}
   </update>
 
-  <select id="getSysLaboratoryContainerByControllerCode" parameterType="java.lang.String" resultMap="SysLaboratoryContainer">
+  <select id="getSysLaboratoryContainerByControllerCode" resultMap="SysLaboratoryContainer">
     select * from sys_laboratory_container
     where controller_code = #{controllerCode}
   </select>
@@ -187,30 +230,59 @@
   </update>
 
 
-  <select id="getContainerPersonInCharge" parameterType="java.lang.String" resultType="java.util.Map">
+  <select id="getContainerPersonInCharge"  resultType="java.util.Map">
     SELECT slc.container_code containCode,su.name name,su.phone phone,
-CONCAT(sl.location1,"-",sl.location2) location
-
-FROM sys_laboratory_container slc
-LEFT JOIN sys_laboratory sl on sl.id = slc.laboratory_id
-LEFT JOIN sys_user su on su.department = sl.department
-LEFT JOIN base_role br on br.id = su.role_id
-WHERE slc.container_code = #{containerCode}
-and su.valid_flag =1
-and br.`name` = '实验负责人'
+    CONCAT(sl.location1,"-",sl.location2) location
+    FROM sys_laboratory_container slc
+    LEFT JOIN sys_laboratory sl on sl.id = slc.laboratory_id
+    LEFT JOIN sys_user su on su.department = sl.department
+    LEFT JOIN base_role br on br.id = su.role_id
+    WHERE slc.container_code = #{containerCode}
+    and su.valid_flag =1
+    and sl.valid_flag =1
+    and br.`name` = '实验负责人'
   </select>
 
 
 
 
-  <select id="selectLocationByContainerCode" parameterType="java.lang.String" resultType="java.util.Map">
+  <select id="selectLocationByContainerCode" resultType="java.util.Map">
      SELECT
+     sl.name,
   CONCAT(sl.location1,"-",sl.location2) location,sl.bar_code barCode
 
   FROM sys_laboratory_container slc
   LEFT JOIN sys_laboratory sl on sl.id = slc.laboratory_id
   WHERE slc.container_code = #{containerCode}
   and slc.valid_flag = 1
+  and sl.valid_flag = 1
   </select>
 
+  <select id="selectProjectsByContainerCode" resultType="string">
+  SELECT
+	slc.project
+    FROM
+	sys_laboratory_container AS slc
+    LEFT JOIN sys_laboratory sl ON sl.id = slc.laboratory_id
+    WHERE
+	slc.container_code = #{0}
+    AND slc.valid_flag = 1
+    AND sl.valid_flag = 1
+  </select>
+  <select id="getSysLaboratoryContainerExist" resultType="java.lang.Integer">
+    select count(1)
+    from sys_laboratory_container as su
+    where su.valid_flag = 1
+    <if test="containerCode != null and containerCode != ''">
+      and su.container_code = #{containerCode}
+    </if>
+    <if test="editId != null and editId != ''">
+      and su.id != #{editId}
+    </if>
+  </select>
+
+  <select id="getLaboratoryByProjectId" resultMap="SysLaboratoryContainer">
+    select * from sys_laboratory_container
+    where find_in_set(#{projectId},project)
+  </select>
 </mapper>

--
Gitblit v1.9.2