From 47a751cb301d05276ae5d75145d57b2d090fe4e1 Mon Sep 17 00:00:00 2001
From: kongzy <kongzy>
Date: 星期一, 01 七月 2024 10:58:35 +0800
Subject: [PATCH] change

---
 src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.xml |  351 ++++++++++++++++++++++++++++++++++------------------------
 1 files changed, 205 insertions(+), 146 deletions(-)

diff --git a/src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.xml b/src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.xml
index 89fd0cf..8e9f608 100644
--- a/src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.xml
+++ b/src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.xml
@@ -4,30 +4,30 @@
   <resultMap id="OpeUseFlow" type="com.nanometer.smartlab.entity.OpeUseFlow">
     <id property="id" column="id"/>
     <result property="reagentCode" column="reagent_code"></result>
-    <result property="articleNumber" column="articleNumber"></result>
-    <result property="status" column="status" typeHandler="com.nanometer.smartlab.entity.handler.ArrivalStatusHandler"></result>
+    <result property="articleNumber" column="article_number"></result>
+    <result property="status" column="status"></result>
     <result property="houseId" column="house_id"></result>
     <result property="containerId" column="container_id"></result>
     <result property="userId" column="user_id"></result>
-    <result property="userName" column="userName"></result>
-    <result property="validFlag" column="valid_flag" typeHandler="com.nanometer.smartlab.entity.handler.ValidFlagHandler"></result>
+    <result property="userName" column="user_name"></result>
+    <result property="validFlag" column="valid_flag"></result>
     <result property="createTime" column="create_time"></result>
     <result property="realstatus" column="realstatus"></result>
     <result property="operateState" column="operatestate"></result>
     <result property="remainder" column="remainder"></result>
     <result property="place" column="place"></result>
-    <result property="storeType" column="store_type" typeHandler="com.nanometer.smartlab.entity.handler.StoreTypeHandler"></result>
-    <result column="laboratoryName" jdbcType="VARCHAR" property="laboratoryName" />
-    <result column="warehouseName" jdbcType="VARCHAR" property="warehouseName" />
-    <result column="warehouseContainerName" jdbcType="VARCHAR" property="warehouseContainerName" />
-    <result column="warehouseContainerCode" jdbcType="VARCHAR" property="warehouseContainerCode" />
-    <result column="laboratoryContainerName" jdbcType="VARCHAR" property="laboratoryContainerName" />
-    <result column="laboratoryContainerCode" jdbcType="VARCHAR" property="laboratoryContainerCode" />
-    <result column="operatestateName" jdbcType="VARCHAR" property="operatestateName" />
+    <result property="storeType" column="store_type"></result>
+    <result column="laboratory_name" jdbcType="VARCHAR" property="laboratoryName" />
+    <result column="warehouse_name" jdbcType="VARCHAR" property="warehouseName" />
+    <result column="warehouse_container_name" jdbcType="VARCHAR" property="warehouseContainerName" />
+    <result column="warehouse_container_code" jdbcType="VARCHAR" property="warehouseContainerCode" />
+    <result column="laboratory_container_name" jdbcType="VARCHAR" property="laboratoryContainerName" />
+    <result column="laboratory_container_code" jdbcType="VARCHAR" property="laboratoryContainerCode" />
+    <result column="operatestate_name" jdbcType="VARCHAR" property="operatestateName" />
     <result column="receipt_number" jdbcType="VARCHAR" property="receiptNumber" />
 
     <association property="reagent" javaType="com.nanometer.smartlab.entity.SysReagent">
-      	<id property="id" column="reagentId"/>
+      	<id property="id" column="reagent_id"/>
 	    <result property="name" column="name"></result>
 	    <result property="cas" column="cas"></result>
 	    <result property="reagentType" column="reagent_type"></result>
@@ -39,10 +39,10 @@
 	    <result property="price" column="price"></result>
 	    <result property="perBox" column="per_box"></result>
 	    <result property="memo" column="memo"></result>
-	    <result property="validFlag" column="valid_flag" typeHandler="com.nanometer.smartlab.entity.handler.ValidFlagHandler"></result>
+	    <result property="validFlag" column="valid_flag"></result>
 	    <result property="createTime" column="create_time"></result>
 	    <result property="updateTime" column="update_time"></result>
-	    <result property="supplierName" column="supplierName"></result>
+	    <result property="supplierName" column="supplier_name"></result>
     </association>
   </resultMap>
 
@@ -58,59 +58,58 @@
         where reagent_code = #{0}
     </update>
     <sql id="queryWhereSql">
-    <if test="reagentId != null and reagentId != ''">
-      and ors.reagent_id = #{reagentId}
-    </if>
-    <if test="userId != null and userId != ''">
-      and oa.user_id = #{userId}
-    </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="reagentCode != null and reagentCode != ''">
-      and oa.reagent_code like #{reagentCode}
-    </if>
-    <if test="status != null">
-      and oa.status = #{status}
-    </if>
-    <if test="reagentName != null and reagentName != ''">
-      and sr.name like concat('%',#{reagentName},'%')
-    </if>
-      <if test="houseName != null and houseName != ''">
-          and ( l.name like concat('%',#{houseName},'%') or w.name like concat('%',#{houseName},'%') )
-      </if>
-    <if test="startDate != null and startDate !=''">
-        and oa.create_time &gt;= #{startDate}
-    </if>
-    <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}
-    </if>
-  </sql>
+        <if test="reagentId != null and reagentId != ''">
+          and ors.reagent_id = #{reagentId}
+        </if>
+        <if test="userId != null and userId != ''">
+          and oa.user_id = #{userId}
+        </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="reagentCode != null and reagentCode != ''">
+          and oa.reagent_code like #{reagentCode}
+        </if>
+        <if test="status != null">
+          and oa.status = #{status}
+        </if>
+        <if test="reagentName != null and reagentName != ''">
+          and sr.name like concat('%',#{reagentName},'%')
+        </if>
+          <if test="houseName != null and houseName != ''">
+              and ( l.name like concat('%',#{houseName},'%') or w.name like concat('%',#{houseName},'%') )
+          </if>
+        <if test="startDate != null and startDate !=''">
+            and oa.create_time &gt;= #{startDate}
+        </if>
+        <if test="endDate != null and endDate !=''">
+            and oa.create_time &lt;= #{endDate}
+        </if>
+        <if test="operatestate != null and operatestate !=''">
+            and oa.operatestate = #{operatestate}
+        </if>
+        <if test="containerCode != null and containerCode !=''">
+            and wc.container_code = #{containerCode}
+            or lc.container_code =#{containerCode}
+        </if>
+    </sql>
 
     <sql id="queryColumns">
 		select oa.*,
 	    sr.*,
-	    ors.article_number as articleNumber,
-	    sr.id as reagentId,
-	    su.name as userName,
-	    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,
-	    bm1.meta_value as operatestateName
+	    ors.article_number as article_number,
+	    sr.id as reagent_id,
+	    su.name as user_name,
+	    ss.name as supplier_name,
+	    l.name as laboratory_name,
+	    w.name as warehouse_name,
+	    lc.name as warehouse_container_name,
+	    wc.name as laboratory_container_name,
+	    lc.container_code as warehouse_container_code,
+	    wc.container_code as laboratory_container_code,
 	</sql>
 
 	<sql id="queryJoins">
@@ -122,23 +121,32 @@
     	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
 	</sql>
 
 	<select id="getOpeUseFlowList" parameterType="java.util.Map" resultMap="OpeUseFlow">
         select oa.*,
         sr.*,
-        ors.article_number as articleNumber,
-        sr.id as reagentId,
-        su.name as userName,
-        ss.name as supplierName,
-        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
+        ors.article_number as article_number,
+        sr.id as reagent_id,
+        su.name as user_name,
+        ss.name as supplier_name,
+        l.name as laboratory_name,
+        w.name as warehouse_name,
+        wc.name as warehouse_container_name,
+        lc.name as laboratory_container_name,
+        wc.container_code as warehouse_container_code,
+        lc.container_code as laboratory_container_code,
+        (CASE
+        WHEN oa.operatestate = 0 THEN '试剂柜入库'
+        WHEN oa.operatestate = 1 THEN '错误入库'
+        WHEN oa.operatestate = 2 THEN '领用'
+        WHEN oa.operatestate = 3 THEN '存放'
+        WHEN oa.operatestate = 4 THEN '错误存放'
+        WHEN oa.operatestate = 5 THEN '报废'
+        WHEN oa.operatestate = 6 THEN '转移'
+        WHEN oa.operatestate = 10 THEN '仓库入库'
+        WHEN oa.operatestate = 11 THEN '仓库领用'
+        END) operatestate_name
 	    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
@@ -148,7 +156,6 @@
         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
@@ -167,16 +174,15 @@
   </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
+        select oa.*,
+        sr.id as reagent_id,sr.name as name,sr.cas as cas,
+        su.name as user_name,
+        l.name as laboratory_name,
+        w.name as warehouse_name,
+        wc.name as warehouse_container_name,
+        lc.name as laboratory_container_name,
+        wc.container_code as warehouse_container_code,
+        lc.container_code as laboratory_container_code
         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
@@ -185,13 +191,26 @@
         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="getOpeUseFlowSimpleInfoCount" parameterType="java.util.Map" resultType="long">
+        select count(1)
+        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
+        where oa.valid_flag = 1
+        <include refid="queryWhereSql"/>
     </select>
 
 
@@ -205,8 +224,9 @@
     ORDER BY create_time DESC
     LIMIT 1
   </select>
+
     <select id="getRegentInfoFromReceiptNumber" resultType="java.util.Map">
-        SELECT ors.reagent_id reagentId,count(ors.reagent_id) count
+        SELECT ors.reagent_id reagent_id,count(ors.reagent_id) count
         from  ope_use_flow ouf
         LEFT JOIN ope_reagent_status ors on ors.reagent_code = ouf.reagent_code
         WHERE ouf.receipt_number = #{0}
@@ -230,6 +250,7 @@
         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_project sp on sp.id=su.project_id
         WHERE
         (ouf.operatestate = #{operatestate}
         or ouf.operatestate = #{operatestate1})
@@ -248,7 +269,7 @@
             and ouf.create_time &lt;#{endTime}
         </if>
         <if test="project !=null and project != ''">
-            and su.project like concat("%",#{project},"%")
+            and sp.project_name like concat("%",#{project},"%")
         </if>
         <if test="department !=null and department != ''">
             and su.bm1.meta_value like concat("%",#{department},"%")
@@ -265,24 +286,24 @@
         group by ouf.receipt_number) a
     </select>
     <select id="selectPersonalUseInfo" resultType="com.nanometer.smartlab.entity.OpeUseFlow">
-        SELECT ouf.receipt_number receiptNumber,
+        SELECT ouf.receipt_number receipt_number,
         ouf.note,
-        count(ouf.reagent_code) applyNum,
+        count(ouf.reagent_code) apply_num,
         su.name username,
-        su.project ,
+        sp.project_name as project_name,
         su.phone,
         bm1.meta_value department,
-        sl.name laboratoryName,
-        ouf.create_time createTime,
-        ouf.house_id houseId
+        sl.name laboratory_name,
+        ouf.create_time create_time,
+        ouf.house_id house_id
         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
+        left join sys_project sp on sp.id=su.project_id
 
         WHERE
         (ouf.operatestate = #{operatestate}
@@ -302,7 +323,7 @@
             and ouf.create_time &lt;#{endTime}
         </if>
         <if test="project !=null and project != ''">
-            and su.project like concat("%",#{project},"%")
+            and su.project_name like concat("%",#{project},"%")
         </if>
         <if test="department !=null and department != ''">
             and su.bm1.meta_value like concat("%",#{department},"%")
@@ -324,22 +345,18 @@
     </select>
     <select id="getApplyInfo" resultType="com.nanometer.smartlab.entity.dto.PersonUseDetail">
          SELECT
-        ors.reagent_id reagentId,
-        ors.article_number articleNumber,
-        ouf.reagent_code reagentCode,
-        sr.product_sn productSn,
-        sr.NAME reagentName,
-        bm.meta_value  reagentFormat,
-        CONCAT(sr.main_metering,bm1.meta_value) perInfo,
-        bm2.meta_value productHome,
-        bm3.meta_value controlProducts
+        ors.reagent_id reagent_id,
+        ors.article_number article_number,
+        ouf.reagent_code reagent_code,
+        sr.product_sn product_sn,
+        sr.NAME reagent_name,
+        sr.reagent_format  reagent_format,
+        CONCAT(sr.main_metering,sr.reagent_unit) per_info,
+        sr.product_home product_home,
+        sr.control_products control_products
         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
         WHERE
         (ouf.operatestate = #{operatestate}
         or ouf.operatestate = #{operatestate1})
@@ -374,22 +391,22 @@
         and operatestate =#{operateState}
         and valid_flag = 1
     </select>
-    <select id="selectById" resultType="com.nanometer.smartlab.entity.OpeUseFlow">
+    <select id="selectById" resultMap="OpeUseFlow">
         select  *
         from ope_use_flow
         where id = #{id}
     </select>
     <select id="selectByReceiptNumber" resultType="com.nanometer.smartlab.entity.OpeUseFlow">
-        SELECT ouf.receipt_number receiptNumber,
+        SELECT ouf.receipt_number receipt_number,
         ouf.note,
-        count(ouf.reagent_code) applyNum,
+        count(ouf.reagent_code) apply_num,
         su.name username,
-        su.project ,
+        sp.project_name as project_name ,
         su.phone,
         bm1.meta_value department,
-        sl.name laboratoryName,
-        ouf.create_time createTime,
-        ouf.house_id houseId
+        sl.name laboratory_name,
+        ouf.create_time create_time,
+        ouf.house_id house_id
         FROM
         ope_use_flow  ouf
         LEFT JOIN sys_user su on su.id = ouf.user_id
@@ -398,6 +415,7 @@
         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
+        left join sys_project sp on sp.id=su.project_id
         <if test="userId !=null and userId != ''">
             LEFT JOIN sys_reagent sr2 on sr2.id = ouf.user_id
         </if>
@@ -411,14 +429,24 @@
     </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
+        oa.reagent_code as reagent_code,
+        sr.`name` as reagent_name,
+        CASE WHEN wc.container_code is NULL THEN lc.container_code ELSE wc.container_code END as laboratory_container_code,
+        (CASE
+        WHEN oa.operatestate = 0 THEN '试剂柜入库'
+        WHEN oa.operatestate = 1 THEN '错误入库'
+        WHEN oa.operatestate = 2 THEN '领用'
+        WHEN oa.operatestate = 3 THEN '存放'
+        WHEN oa.operatestate = 4 THEN '错误存放'
+        WHEN oa.operatestate = 5 THEN '报废'
+        WHEN oa.operatestate = 6 THEN '转移'
+        WHEN oa.operatestate = 10 THEN '仓库入库'
+        WHEN oa.operatestate = 11 THEN '仓库领用'
+        END) operatestate_name,
+        CASE WHEN oa.operatestate = 10 or oa.operatestate=11 THEN NULL ELSE oa.remainder END as remainder,
+        CASE WHEN w.name is NULL THEN l.name ELSE w.name END as warehouse_container_name,
+        su.name as user_name,
+        oa.create_time as create_time
         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
@@ -428,7 +456,7 @@
         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
@@ -437,29 +465,26 @@
     <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,
+        sr.product_sn product_sn,
+        sr.NAME reagent_name,
+        ouf.reagent_code reagent_code,
+        sr.control_products control_products,
+        sr.reagent_format  reagent_format,
+        CONCAT(sr.main_metering,sr.reagent_unit) per_info,
+        sr.product_home product_home,
+        ors.article_number article_number,
         su.name username,
-        su.project,
+        sp.project_name as project_name,
         bm4.meta_value department,
         sl.name location,
-        date_format(ouf.create_time,'%Y-%m-%d %H:%i') createTime
+        date_format(ouf.create_time,'%Y-%m-%d %H:%i') create_time
         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
+        left join sys_project sp on sp.id =su.project_id
         WHERE
         (ouf.operatestate = #{operatestate}
         or ouf.operatestate = #{operatestate1})
@@ -478,7 +503,7 @@
             and ouf.create_time &lt;#{endTime}
         </if>
         <if test="project !=null and project != ''">
-            and su.project like concat("%",#{project},"%")
+            and sp.project_name like concat("%",#{project},"%")
         </if>
         <if test="department !=null and department != ''">
             and su.bm1.meta_value like concat("%",#{department},"%")
@@ -494,20 +519,28 @@
         </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,volume
+    <insert id="insertOpeUseFlow" parameterType="com.nanometer.smartlab.entity.OpeUseFlow" useGeneratedKeys = "true" keyProperty = "id">
+    insert into ope_use_flow(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},#{volume}
+    values ( #{reagentCode}, #{status}, #{houseId}, #{containerId}, #{userId}, #{remainder}, #{place}, #{storeType}, 1, now(), #{realstatus},#{operateState},#{volume}
         <if test="receiptNumber != null">
             ,#{receiptNumber}
         </if>)
   </insert>
 
+    <insert id="batchInsertOpeUseFlow" >
+        insert into ope_use_flow(reagent_code, status, house_id, container_id, user_id, remainder, place, store_type, valid_flag, create_time, realstatus, operatestate,volume,receipt_number)
+        values
+        <foreach collection ="list" item="useFlow" separator =",">
+            ( #{useFlow.reagentCode}, #{useFlow.status}, #{useFlow.houseId}, #{useFlow.containerId}, #{useFlow.userId}, #{useFlow.remainder}, #{useFlow.place}, #{useFlow.storeType}, 1, now(), #{useFlow.realstatus},#{useFlow.operateState},#{useFlow.volume},#{useFlow.receiptNumber})
+        </foreach >
+    </insert>
 
-    <delete id="deleteByReagentCode" parameterType="java.lang.String" >
+
+    <delete id="deleteByReagentCode"  >
         delete from ope_use_flow
         where reagent_code=#{reagentCode}
     </delete>
@@ -520,4 +553,30 @@
     </delete>
 
 
+    <select id="getOpeUseFlowByCode2"  resultMap="OpeUseFlow">
+        select oa.*,su.name as user_name,w.name as warehouse_name,l.name as laboratory_name, wc.name as warehouse_container_name,lc.name as laboratory_container_name
+        from ope_use_flow as oa
+        left join sys_user 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 = oa.house_id
+        left join sys_laboratory_container lc on lc.id = oa.container_id
+        left join sys_laboratory l on l.id = lc.laboratory_id
+        where oa.valid_flag = 1 and oa.reagent_code=#{reagentCode}
+        order by oa.create_time desc
+    </select>
+
+    <select id="getLastUseFlow" resultMap="OpeUseFlow">
+        select * from ope_use_flow where reagent_code=#{reagentCode} order by create_time desc limit 1
+    </select>
+
+    <select id="getUseFlowByCodeAndStatus" resultMap="OpeUseFlow">
+        select * from ope_use_flow where reagent_code=#{reagentCode} and operatestate=#{operateStatus}
+    </select>
+
+    <select id="getUseFlowByCodeAndStatuses" resultMap="OpeUseFlow">
+        select * from ope_use_flow where reagent_code=#{reagentCode} and operatestate in
+        <foreach collection ="operateStatuses" item="opestatus" separator ="," open="(" close=")">
+           #{opestatus}
+        </foreach >
+    </select>
 </mapper>

--
Gitblit v1.9.2