From 59d9ea33f503e363f2e2941c7c00cc9dd9d9d1c7 Mon Sep 17 00:00:00 2001
From: kongzy <kongzy>
Date: Tue, 28 Nov 2023 11:00:42 +0800
Subject: [PATCH] 修改课题管理bug
---
src/main/java/com/nanometer/smartlab/dao/OpeReagentStatusDao.xml | 248 +++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 238 insertions(+), 10 deletions(-)
diff --git a/src/main/java/com/nanometer/smartlab/dao/OpeReagentStatusDao.xml b/src/main/java/com/nanometer/smartlab/dao/OpeReagentStatusDao.xml
index 25b2cd3..4a1f6f1 100644
--- a/src/main/java/com/nanometer/smartlab/dao/OpeReagentStatusDao.xml
+++ b/src/main/java/com/nanometer/smartlab/dao/OpeReagentStatusDao.xml
@@ -42,6 +42,7 @@
<result property="supplierName" column="supplierName"></result>
<result property="deadline" column="deadline"></result>
<result property="productHome" column="product_home"></result>
+ <result property="density" column="density"></result>
</association>
</resultMap>
@@ -145,11 +146,11 @@
<if test="status != null">
<choose>
<when test="status == 1">
- left join sys_warehouse as sw on sw.id = oa.house_id
+ left join sys_warehouse as sw on sw.id = oa.house_id
left join sys_warehouse_container as swc on swc.id = oa.container_id
</when>
<when test="status == 2">
- left join sys_laboratory as sw on sw.id = oa.house_id
+ left join sys_laboratory as sw on sw.id = oa.house_id
left join sys_laboratory_container as swc on swc.id = oa.container_id
</when>
</choose>
@@ -176,6 +177,7 @@
<select id="getOpeReagentStatusInfoList" parameterType="java.util.Map" resultMap="OpeReagentStatus">
select s.id ,name,cas, deadline,reagent_code,bm3.meta_value reagent_format,r.main_metering,bm1.meta_value reagent_type,bm2.meta_value product_home,
bm4.meta_value reagent_unit,
+ r.density,
s.article_number
from ope_reagent_status s
left join sys_reagent r on r.id = s.reagent_id
@@ -205,13 +207,104 @@
</if>
</select>
- <select id="getOpeReagentStatusListForLab" parameterType="java.util.Map" resultMap="OpeReagentStatus">
- <include refid="queryColumns"/>
- from ope_reagent_status as oa
- <include refid="queryJoins"/>
- where oa.valid_flag = 1
- <include refid="queryWhereSqlForLab"/>
+ <select id="getOpeReagentStatusList22" parameterType="java.util.Map" resultMap="OpeReagentStatus">
+ <include refid="queryColumns"/>
+ from ope_reagent_status as oa
+ left join sys_reagent sr on oa.reagent_id = sr.id
+ left join sys_supplier as ss on sr.supplier_id = ss.id
+ left join sys_user as su on oa.user_id = su.id
+
+ <if test="status != null">
+ <choose>
+ <when test="status == 1">
+ inner join sys_warehouse as sw on sw.id = oa.house_id
+ left join sys_warehouse_container as swc on swc.id = oa.container_id
+ </when>
+ <when test="status == 2">
+ inner join sys_laboratory as sw on sw.id = oa.house_id
+ left join sys_laboratory_container as swc on swc.id = oa.container_id
+ </when>
+ </choose>
+ </if>
+ where oa.valid_flag = 1
+ <include refid="queryWhereSql"/>
+
+ order by oa.reagent_code asc
+ <if test="first != null and pageSize != null">
+ limit #{first}, #{pageSize}
+ </if>
+ </select>
+
+ <select id="getOpeReagentStatusListForLab" parameterType="java.util.Map" resultMap="OpeReagentStatus">
+ select oa.*,
+ sr.*,
+ sr.id as reagentId,
+ su.name as userName,
+ <if test="status != null">
+ <choose>
+ <when test="status == 1 or status == 2">
+ swc.container_code as containerCode,
+ sw.name as houseName,
+ </when>
+ </choose>
+ </if>
+ ss.name as supplierName
+ from ope_reagent_status as oa
+ left join sys_reagent sr on oa.reagent_id = sr.id
+ left join sys_supplier as ss on sr.supplier_id = ss.id
+ left join sys_user as su on oa.user_id = su.id
+ <if test="status != null">
+ <choose>
+ <when test="status == 1">
+ left join sys_warehouse as sw on sw.id = oa.house_id
+ left join sys_warehouse_container as swc on swc.id = oa.container_id
+ </when>
+ <when test="status == 2">
+ left join sys_laboratory as sw on sw.id = oa.house_id
+ left join sys_laboratory_container as swc on swc.id = oa.container_id
+ </when>
+ </choose>
+ </if>
+ where oa.valid_flag = 1
+ <if test="reagentId != null and reagentId != ''">
+ and oa.reagent_id = #{reagentId}
+ </if>
+ <if test="userId != null and userId != ''">
+ and oa.user_id = #{userId}
+ </if>
+ <if test="department != null and department != ''">
+ and sw.department = #{department}
+ </if>
+ <if test="departmentUserIds != null">
+ and oa.user_id in
+ <foreach collection="departmentUserIds" item="item" index="index" open="(" separator="," close=")">
+ #{item}
+ </foreach>
+ </if>
+ <if test="articleNumber != null and articleNumber != ''">
+ and oa.article_number = #{articleNumber}
+ </if>
+ <if test="editId != null and editId != ''">
+ and oa.id != #{editId}
+ </if>
+ <if test="reagentCode != null and reagentCode != ''">
+ and oa.reagent_code like #{reagentCode}
+ </if>
+ <if test="status != null">
+ and oa.status = #{status}
+ </if>
+ <if test="name != null and name != ''">
+ and sr.name like #{name}
+ </if>
+ <choose>
+ <when test="status == 2 and project != null and project != ''">
+ and sw.project like concat("%",#{project},"%")
+ </when>
+ <when test="status == 2 and labName != null and labName != ''">
+ and sw.name like concat("%",#{labName},"%")
+ </when>
+ </choose>
order by oa.reagent_code asc
<if test="first != null and pageSize != null">
limit #{first}, #{pageSize}
@@ -251,9 +344,60 @@
<select id="getOpeReagentStatusTotalCountForLab" parameterType="java.util.Map" resultType="int">
select count(1)
from ope_reagent_status as oa
- <include refid="queryJoins"/>
+ left join sys_reagent sr on oa.reagent_id = sr.id
+ left join sys_supplier as ss on sr.supplier_id = ss.id
+ left join sys_user as su on oa.user_id = su.id
+ <if test="status != null">
+ <choose>
+ <when test="status == 1">
+ left join sys_warehouse as sw on sw.id = oa.house_id
+ left join sys_warehouse_container as swc on swc.id = oa.container_id
+ </when>
+ <when test="status == 2">
+ left join sys_laboratory as sw on sw.id = oa.house_id
+ left join sys_laboratory_container as swc on swc.id = oa.container_id
+ </when>
+ </choose>
+ </if>
where oa.valid_flag = 1
- <include refid="queryWhereSqlForLab"/>
+ <if test="reagentId != null and reagentId != ''">
+ and oa.reagent_id = #{reagentId}
+ </if>
+ <if test="userId != null and userId != ''">
+ and oa.user_id = #{userId}
+ </if>
+ <if test="department != null and department != ''">
+ and sw.department = #{department}
+ </if>
+ <if test="departmentUserIds != null">
+ and oa.user_id in
+ <foreach collection="departmentUserIds" item="item" index="index" open="(" separator="," close=")">
+ #{item}
+ </foreach>
+ </if>
+ <if test="articleNumber != null and articleNumber != ''">
+ and oa.article_number = #{articleNumber}
+ </if>
+ <if test="editId != null and editId != ''">
+ and oa.id != #{editId}
+ </if>
+ <if test="reagentCode != null and reagentCode != ''">
+ and oa.reagent_code like #{reagentCode}
+ </if>
+ <if test="status != null">
+ and oa.status = #{status}
+ </if>
+ <if test="name != null and name != ''">
+ and sr.name like #{name}
+ </if>
+ <choose>
+ <when test="status == 2 and project != null and project != ''">
+ and sw.project like concat("%",#{project},"%")
+ </when>
+ <when test="status == 2 and labName != null and labName != ''">
+ and sw.name like concat("%",#{labName},"%")
+ </when>
+ </choose>
</select>
<select id="getPersonReagentStatusTotalCount" parameterType="java.util.Map" resultType="int">
@@ -450,4 +594,88 @@
and house_id = #{warehouseId}
</if>
</select>
+ <select id="selectExportList" resultType="java.util.Map">
+ select oa.article_number articleNumber,
+ oa.reagent_code reagentCode,
+ oa.remainder,
+ bm1.meta_value productHome,
+ bm2.meta_value reagentFomart,
+ sr.name reagentName,
+ sr.cas cas,
+ <if test="status != null">
+ <choose>
+ <when test="status == 1 or status == 2">
+ swc.container_code as containerCode,
+ sw.name as houseName,
+ </when>
+ </choose>
+ </if>
+ ss.name as supplierName
+ from ope_reagent_status as oa
+ left join sys_reagent sr on oa.reagent_id = sr.id
+ left join base_meta bm1 on bm1.id = sr.product_home
+ left join base_meta bm2 on bm2.id = sr.reagent_format
+ left join sys_supplier as ss on sr.supplier_id = ss.id
+ left join sys_user as su on oa.user_id = su.id
+ <if test="status != null">
+ <choose>
+ <when test="status == 1">
+ left join sys_warehouse as sw on sw.id = oa.house_id
+ left join sys_warehouse_container as swc on swc.id = oa.container_id
+ </when>
+ <when test="status == 2">
+ left join sys_laboratory as sw on sw.id = oa.house_id
+ left join sys_laboratory_container as swc on swc.id = oa.container_id
+ </when>
+ </choose>
+ </if>
+ where oa.valid_flag = 1
+ <if test="reagentId != null and reagentId != ''">
+ and oa.reagent_id = #{reagentId}
+ </if>
+ <if test="userId != null and userId != ''">
+ and oa.user_id = #{userId}
+ </if>
+ <if test="department != null and department != ''">
+ and sw.department = #{department}
+ </if>
+ <if test="departmentUserIds != null">
+ and oa.user_id in
+ <foreach collection="departmentUserIds" item="item" index="index" open="(" separator="," close=")">
+ #{item}
+ </foreach>
+ </if>
+ <if test="articleNumber != null and articleNumber != ''">
+ and oa.article_number = #{articleNumber}
+ </if>
+ <if test="editId != null and editId != ''">
+ and oa.id != #{editId}
+ </if>
+ <if test="reagentCode != null and reagentCode != ''">
+ and oa.reagent_code like concat("%",#{reagentCode},"%")
+ </if>
+ <if test="status != null">
+ and oa.status = #{status}
+ </if>
+ <if test="name != null and name != ''">
+ and sr.name like concat("%",#{name},"%")
+ </if>
+ <choose>
+ <when test="status == 2 and project != null and project != ''">
+ and sw.project like concat("%",#{project},"%")
+ </when>
+ <when test="status == 2 and labName != null and labName != ''">
+ and sw.name like concat("%",#{labName},"%")
+ </when>
+ </choose>
+ order by oa.reagent_code asc
+ </select>
+ <select id="getStatus" resultMap="OpeReagentStatus">
+
+ select *
+ from ope_reagent_status
+ where valid_flag = 1
+ and reagent_code = #{reagentCode}
+ and reagent_id = #{reagentId}
+ </select>
</mapper>
--
Gitblit v1.9.2