From 0dfab938c5116c8fa0191cadf36a47f5bb4f2936 Mon Sep 17 00:00:00 2001 From: lyfO_o <764716047@qq.com> Date: 星期四, 16 九月 2021 15:50:52 +0800 Subject: [PATCH] 申购:管制品 搜索 --- src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.xml | 103 +++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 87 insertions(+), 16 deletions(-) diff --git a/src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.xml b/src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.xml index be2c5f2..2c693b9 100644 --- a/src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.xml +++ b/src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.xml @@ -85,6 +85,9 @@ <if test="endDate != null and endDate !=''"> and oa.create_time <= #{endDate} </if> + <if test="operatestate != null and operatestate !=''"> + and bm1.id = #{operatestate} + </if> <if test="containerCode != null and containerCode !=''"> and wc.container_code = #{containerCode} or lc.container_code =#{containerCode} @@ -128,10 +131,10 @@ ss.name as supplierName, l.name as laboratoryName, w.name as warehouseName, - lc.name as warehouseContainerName, - wc.name as laboratoryContainerName, - lc.container_code as warehouseContainerCode, - wc.container_code as laboratoryContainerCode, + wc.name as warehouseContainerName, + lc.name as laboratoryContainerName, + wc.container_code as warehouseContainerCode, + lc.container_code as laboratoryContainerCode, bm1.meta_value as operatestateName from ope_use_flow as oa left join ope_reagent_status ors on ors.reagent_code = oa.reagent_code @@ -196,8 +199,10 @@ <if test="userId !=null and userId != ''"> LEFT JOIN sys_reagent sr2 on sr2.id = ouf.user_id </if> - WHERE ouf.operatestate = #{operatestate} - and LENGTH(trim(ouf.receipt_number))>0 + WHERE + (ouf.operatestate = #{operatestate} + or ouf.operatestate = #{operatestate1}) + and LENGTH(trim(ouf.receipt_number))>0 and ouf.valid_flag = 1 <if test="reagentCode !=null and reagentCode != ''"> and ouf.reagent_code like concat("%",#{reagentCode},"%") @@ -224,9 +229,6 @@ and su.name like concat("%",#{applyPerson},"%") </if> group by ouf.receipt_number) a - - - </select> <select id="selectPersonalUseInfo" resultType="com.nanometer.smartlab.entity.OpeUseFlow"> SELECT ouf.receipt_number receiptNumber, @@ -249,8 +251,10 @@ <if test="userId !=null and userId != ''"> LEFT JOIN sys_reagent sr2 on sr2.id = ouf.user_id </if> - WHERE ouf.operatestate = #{operatestate} - and LENGTH(trim(ouf.receipt_number))>0 + WHERE + (ouf.operatestate = #{operatestate} + or ouf.operatestate = #{operatestate1}) + and LENGTH(trim(ouf.receipt_number))>0 and ouf.valid_flag = 1 <if test="reagentCode !=null and reagentCode != ''"> and ouf.reagent_code like concat("%",#{reagentCode},"%") @@ -300,7 +304,9 @@ LEFT JOIN base_meta bm1 on bm1.id = sr.reagent_unit LEFT JOIN base_meta bm2 on bm2.id = sr.product_home LEFT JOIN base_meta bm3 on bm3.id = sr.control_products - WHERE ouf.operatestate = #{operatestate} + WHERE + (ouf.operatestate = #{operatestate} + or ouf.operatestate = #{operatestate1}) and ouf.receipt_number = #{receiptNumber} and ouf.valid_flag = 1 </select> @@ -316,7 +322,8 @@ LEFT JOIN base_meta bm1 on bm1.id = sr.reagent_unit LEFT JOIN base_meta bm2 on bm2.id = sr.product_home LEFT JOIN base_meta bm3 on bm3.id = sr.control_products - WHERE ouf.operatestate = #{operatestate} + WHERE (ouf.operatestate = #{operatestate} + or ouf.operatestate = #{operatestate}) and ouf.receipt_number = #{receiptNumber} and ouf.valid_flag = 1 </select> @@ -331,10 +338,74 @@ and operatestate =#{operateState} and valid_flag = 1 </select> - + <select id="selectById" resultType="com.nanometer.smartlab.entity.OpeUseFlow"> + select * + from ope_use_flow + where id = #{id} + </select> + <select id="selectByReceiptNumber" resultType="com.nanometer.smartlab.entity.OpeUseFlow"> + SELECT ouf.receipt_number receiptNumber, + count(ouf.reagent_code) applyNum, + su.name username, + su.project , + su.phone, + bm1.meta_value department, + sl.name laboratoryName, + ouf.create_time createTime, + ouf.house_id houseId + FROM + ope_use_flow ouf + LEFT JOIN sys_user su on su.id = ouf.user_id + LEFT JOIN base_meta bm on bm.id = ouf.operatestate + LEFT JOIN ope_reagent_status ors on ors.reagent_code = ouf.reagent_code + LEFT JOIN sys_reagent sr on sr.id = ors.reagent_id + left join base_meta bm1 on bm1.id = su.department + left join sys_laboratory sl on sl.id = ouf.house_id + <if test="userId !=null and userId != ''"> + LEFT JOIN sys_reagent sr2 on sr2.id = ouf.user_id + </if> + WHERE (ouf.operatestate = #{operatestate} + or ouf.operatestate = #{operatestate1}) + and LENGTH(trim(ouf.receipt_number))>0 + and ouf.valid_flag = 1 + and ouf.receipt_number = #{receiptNumber} + group by ouf.receipt_number + ORDER BY ouf.create_time desc + </select> + <select id="selectAll" resultType="java.util.Map"> + select + oa.reagent_code as reagentCode, + sr.`name` as reagentName, + CASE WHEN wc.container_code is NULL THEN lc.container_code ELSE wc.container_code END as laboratoryContainerCode, + bm1.meta_value as operatestateName, + CASE WHEN bm1.meta_value = '仓库入库' or bm1.meta_value='仓库领用' THEN NULL ELSE oa.remainder END as remainder, + CASE WHEN w.name is NULL THEN l.name ELSE w.name END as warehouseContainerName, + su.name as userName, + oa.create_time as createTime + from ope_use_flow as oa + left join ope_reagent_status ors on ors.reagent_code = oa.reagent_code + left join sys_reagent sr on ors.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 + left join sys_warehouse_container wc on wc.id = oa.container_id + left join sys_warehouse w on w.id = wc.warehouse_id + left join sys_laboratory_container lc on lc.id = oa.container_id + left join sys_laboratory l on l.id = lc.laboratory_id + left join base_meta bm1 on bm1.id = oa.operatestate + where oa.valid_flag = 1 + <include refid="queryWhereSql"/> + order by oa.create_time desc + </select> <insert id="insertOpeUseFlow" parameterType="com.nanometer.smartlab.entity.OpeUseFlow"> - insert into ope_use_flow(id, reagent_code, status, house_id, container_id, user_id, remainder, place, store_type, valid_flag, create_time, realstatus, operatestate) - values (#{id}, #{reagentCode}, #{status}, #{houseId}, #{containerId}, #{userId}, #{remainder}, #{place}, #{storeType}, 1, #{createTime}, #{realstatus},#{operateState}) + insert into ope_use_flow(id, reagent_code, status, house_id, container_id, user_id, remainder, place, store_type, valid_flag, create_time, realstatus, operatestate + <if test="receiptNumber != null"> + ,receipt_number + </if> + ) + values (#{id}, #{reagentCode}, #{status}, #{houseId}, #{containerId}, #{userId}, #{remainder}, #{place}, #{storeType}, 1, #{createTime}, #{realstatus},#{operateState} + <if test="receiptNumber != null"> + ,#{receiptNumber} + </if>) </insert> -- Gitblit v1.9.2