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/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 &lt;= #{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