From a1e90c3da21d88f994bac9c1feb91bf40e53a44d Mon Sep 17 00:00:00 2001 From: 李宇 <986321569@qq.com> Date: 星期三, 18 八月 2021 13:01:21 +0800 Subject: [PATCH] 耗材无供应商也显示,申购管理试剂库、申请履历、收藏不显示无效试剂和无供应商试剂 可显示无供应商的耗材 --- src/main/java/com/nanometer/smartlab/dao/OpeReagentStatusDao.xml | 231 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 222 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/nanometer/smartlab/dao/OpeReagentStatusDao.xml b/src/main/java/com/nanometer/smartlab/dao/OpeReagentStatusDao.xml index 5025194..373fdbb 100644 --- a/src/main/java/com/nanometer/smartlab/dao/OpeReagentStatusDao.xml +++ b/src/main/java/com/nanometer/smartlab/dao/OpeReagentStatusDao.xml @@ -206,12 +206,74 @@ </select> <select id="getOpeReagentStatusListForLab" parameterType="java.util.Map" resultMap="OpeReagentStatus"> - <include refid="queryColumns"/> + 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 - <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> order by oa.reagent_code asc <if test="first != null and pageSize != null"> limit #{first}, #{pageSize} @@ -223,7 +285,6 @@ from ope_reagent_status as oa <include refid="queryJoins3"/> where oa.valid_flag = 1 - and (oa.status = -1 or oa.status = 0 ) <include refid="queryWhereSql3"/> <if test="applyPerson != null and applyPerson != ''" > and su.name like concat("%",#{applyPerson},"%") @@ -252,9 +313,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"> @@ -263,7 +375,6 @@ <include refid="queryJoins2"/> left join sys_user su on su.id = oa.user_id where oa.valid_flag = 1 - and (oa.status = -1 or oa.status = 0 ) <include refid="queryWhereSql2"/> <if test="applyPerson != null and applyPerson != ''" > and su.name like concat("%",#{applyPerson},"%") @@ -427,11 +538,113 @@ <update id="updateByReId" parameterType="java.util.Map"> update ope_reagent_status set reagent_id=#{newReId} where reagent_id=#{oldReId} </update> + <update id="updateArticleNumberByRCode"> + update ope_reagent_status set article_number = #{1} + where reagent_code = #{0} + </update> -<select id="selectReagentCodesByReId" parameterType="java.lang.String" resultType="java.lang.String"> + <select id="selectReagentCodesByReId" parameterType="java.lang.String" resultType="java.lang.String"> select reagent_code from ope_reagent_status WHERE reagent_id = #{reagentId} and valid_flag = 1 ORDER BY update_time </select> + <select id="countReagentByArticleAndWarehouse" resultType="java.lang.Integer"> + select count(*) + from ope_reagent_status + WHERE status = 1 + <if test="reagentId != null and reagentId !=''"> + and reagent_id = #{reagentId} + </if> + <if test="articleNumber != null and articleNumber !=''"> + and article_number = #{articleNumber} + </if> + <if test="warehouseId != null and warehouseId !=''"> + 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