From 8e2b983273b816b33e7456f6c30a2577d443fb43 Mon Sep 17 00:00:00 2001 From: lyfO_o <764716047@qq.com> Date: 星期四, 22 四月 2021 10:26:44 +0800 Subject: [PATCH] 根据课题组展示库存情况 --- src/main/java/com/nanometer/smartlab/dao/OpeReagentStatusDao.xml | 119 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 113 insertions(+), 6 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..52a4829 100644 --- a/src/main/java/com/nanometer/smartlab/dao/OpeReagentStatusDao.xml +++ b/src/main/java/com/nanometer/smartlab/dao/OpeReagentStatusDao.xml @@ -206,12 +206,71 @@ </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> + </choose> order by oa.reagent_code asc <if test="first != null and pageSize != null"> limit #{first}, #{pageSize} @@ -251,9 +310,57 @@ <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> + </choose> </select> <select id="getPersonReagentStatusTotalCount" parameterType="java.util.Map" resultType="int"> -- Gitblit v1.9.2