From 59d9ea33f503e363f2e2941c7c00cc9dd9d9d1c7 Mon Sep 17 00:00:00 2001
From: kongzy <kongzy>
Date: 星期二, 28 十一月 2023 11:00:42 +0800
Subject: [PATCH] 修改课题管理bug

---
 src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.xml |  138 ++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 122 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 4f0ff72..89fd0cf 100644
--- a/src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.xml
+++ b/src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.xml
@@ -46,12 +46,15 @@
     </association>
   </resultMap>
 
+
+
     <update id="updateTimeByCode" parameterType="java.util.Map">
         update ope_use_flow set create_time=now() where reagent_code=#{code} and status=#{status}
     </update>
     <update id="updateReceiptNumber">
         update ope_use_flow
         set receipt_number = #{1}
+        , note = #{2}
         where reagent_code = #{0}
     </update>
     <sql id="queryWhereSql">
@@ -154,6 +157,7 @@
     </if>
   </select>
 
+
   <select id="getOpeUseFlowTotalCount" parameterType="java.util.Map" resultType="int">
     select count(1)
     from ope_use_flow as oa
@@ -161,6 +165,36 @@
     where oa.valid_flag = 1
     <include refid="queryWhereSql"/>
   </select>
+
+    <select id="getOpeUseFlowSimpleInfoList" parameterType="java.util.Map" resultMap="OpeUseFlow">
+        select oa.id,oa.reagent_code,oa.create_time,
+        sr.id as reagentId,sr.name as name,sr.cas as cas,
+        su.name as userName,
+        l.name as laboratoryName,
+        w.name as warehouseName,
+        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
+        left join sys_reagent sr on ors.reagent_id = sr.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
+        <if test="first != null and pageSize != null">
+            limit #{first}, #{pageSize}
+        </if>
+    </select>
+
+
   <select id="getOpeUseFlowByCode" resultType="com.nanometer.smartlab.entity.OpeUseFlow">
      SELECT
      *
@@ -196,12 +230,14 @@
         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
-        <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="userId !=null and userId != ''">
+            and  ouf.user_id = #{userId}
+        </if>
         <if test="reagentCode !=null and reagentCode != ''">
             and ouf.reagent_code like concat("%",#{reagentCode},"%")
         </if>
@@ -230,6 +266,7 @@
     </select>
     <select id="selectPersonalUseInfo" resultType="com.nanometer.smartlab.entity.OpeUseFlow">
         SELECT ouf.receipt_number receiptNumber,
+        ouf.note,
         count(ouf.reagent_code) applyNum,
         su.name username,
         su.project ,
@@ -246,12 +283,15 @@
         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}
-        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="userId !=null and userId != ''">
+            and  ouf.user_id = #{userId}
+        </if>
         <if test="reagentCode !=null and reagentCode != ''">
             and ouf.reagent_code like concat("%",#{reagentCode},"%")
         </if>
@@ -300,7 +340,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 +358,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>
@@ -338,6 +381,7 @@
     </select>
     <select id="selectByReceiptNumber" resultType="com.nanometer.smartlab.entity.OpeUseFlow">
         SELECT ouf.receipt_number receiptNumber,
+        ouf.note,
         count(ouf.reagent_code) applyNum,
         su.name username,
         su.project ,
@@ -357,8 +401,9 @@
         <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
 		and ouf.receipt_number =  #{receiptNumber}
         group by ouf.receipt_number
@@ -388,13 +433,74 @@
         <include refid="queryWhereSql"/>
         order by oa.create_time desc
     </select>
+
+    <select id="selectDetail" resultType="java.util.Map">
+
+      SELECT
+        sr.product_sn productSn,
+        sr.NAME reagentName,
+        ouf.reagent_code reagentCode,
+        bm3.meta_value controlProducts,
+        bm.meta_value  reagentFormat,
+        CONCAT(sr.main_metering,bm1.meta_value) perInfo,
+        bm2.meta_value productHome,
+        ors.article_number articleNumber,
+        su.name username,
+        su.project,
+        bm4.meta_value department,
+        sl.name location,
+        date_format(ouf.create_time,'%Y-%m-%d %H:%i') createTime
+        from `ope_use_flow` ouf
+        LEFT JOIN ope_reagent_status ors ON ors.reagent_code = ouf.reagent_code
+        LEFT join sys_reagent sr ON ors.reagent_id = sr.id
+        LEFT JOIN base_meta bm ON bm.id = sr.reagent_format
+        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
+        LEFT JOIN sys_user as su on su.id = ouf.user_id
+        left join base_meta bm4 on bm4.id = su.department
+        LEFT JOIN sys_laboratory sl on sl.id = ouf.house_id
+        WHERE
+        (ouf.operatestate = #{operatestate}
+        or ouf.operatestate = #{operatestate1})
+        and ouf.valid_flag = 1
+		and LENGTH(trim(ouf.receipt_number))>0
+        <if test="userId !=null and userId != ''">
+            and  ouf.user_id = #{userId}
+        </if>
+        <if test="reagentCode !=null and reagentCode != ''">
+            and ouf.reagent_code like concat("%",#{reagentCode},"%")
+        </if>
+        <if test="startTime !=null and startTime != ''">
+            and ouf.create_time &gt;#{startTime}
+        </if>
+        <if test="endTime !=null and endTime != ''">
+            and ouf.create_time &lt;#{endTime}
+        </if>
+        <if test="project !=null and project != ''">
+            and su.project like concat("%",#{project},"%")
+        </if>
+        <if test="department !=null and department != ''">
+            and su.bm1.meta_value like concat("%",#{department},"%")
+        </if>
+        <if test="receiptNumber !=null and receiptNumber != ''">
+            and ouf.receipt_number like concat("%",#{receiptNumber},"%")
+        </if>
+        <if test="reagentName !=null and reagentName != ''">
+            and sr.name like concat("%",#{reagentName},"%")
+        </if>
+        <if test="applyPerson !=null and applyPerson != ''">
+            and su.name like concat("%",#{applyPerson},"%")
+        </if>
+    </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
+    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,volume
     <if test="receiptNumber != null">
         ,receipt_number
     </if>
     )
-    values (#{id}, #{reagentCode}, #{status}, #{houseId}, #{containerId}, #{userId}, #{remainder}, #{place}, #{storeType}, 1, #{createTime}, #{realstatus},#{operateState}
+    values (#{id}, #{reagentCode}, #{status}, #{houseId}, #{containerId}, #{userId}, #{remainder}, #{place}, #{storeType}, 1, #{createTime}, #{realstatus},#{operateState},#{volume}
         <if test="receiptNumber != null">
             ,#{receiptNumber}
         </if>)

--
Gitblit v1.9.2