From c3510da29a7974c6af7ff3de1ade3db429d6f848 Mon Sep 17 00:00:00 2001
From: 李宇 <986321569@qq.com>
Date: 星期三, 18 八月 2021 14:27:59 +0800
Subject: [PATCH] 申购管理申请履历显示所有历史单据,提交时如有无效试剂耗材报错

---
 src/main/java/com/nanometer/smartlab/dao/OpeWarehouseReserveDao.xml |   54 ++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 40 insertions(+), 14 deletions(-)

diff --git a/src/main/java/com/nanometer/smartlab/dao/OpeWarehouseReserveDao.xml b/src/main/java/com/nanometer/smartlab/dao/OpeWarehouseReserveDao.xml
index 198aed0..d79f0c2 100644
--- a/src/main/java/com/nanometer/smartlab/dao/OpeWarehouseReserveDao.xml
+++ b/src/main/java/com/nanometer/smartlab/dao/OpeWarehouseReserveDao.xml
@@ -12,6 +12,7 @@
     <result property="validFlag" column="valid_flag" typeHandler="com.nanometer.smartlab.entity.handler.ValidFlagHandler"></result>
 
     <result property="reagentId" column="reagent_id"></result>
+    <result property="userId" column="user_id"></result>
     <association property="reagent" javaType="com.nanometer.smartlab.entity.SysReagent">
       	<id property="id" column="reagentId"/>
 	    <result property="name" column="name"></result>
@@ -57,6 +58,9 @@
     <if test="productSn != null and productSn != ''">
         and sr.product_sn like concat('%',#{productSn},'%')
     </if>
+      <if test="warehouseName != null and warehouseName != ''">
+          and sw.name like concat('%',#{warehouseName},'%')
+      </if>
   </sql>
 
   <sql id="queryColumns">
@@ -103,27 +107,32 @@
   </select>
 
     <insert id="insertOpeWarehouseReserve" parameterType="com.nanometer.smartlab.entity.OpeWarehouseReserve">
-        insert into ope_warehouse_reserve(id, reagent_id, article_number, reserve, valid_flag, update_time,warehouseId,container_id)
-        values (#{id}, #{reagentId}, #{articleNumber}, #{reserve}, 1, now(),#{warehouseId},#{containerId})
+        insert into ope_warehouse_reserve(id, reagent_id, article_number, reserve, valid_flag, update_time,warehouseId,container_id,user_id)
+        values (#{id}, #{reagentId}, #{articleNumber}, #{reserve}, 1, now(),#{warehouseId},#{containerId},#{userId})
     </insert>
     <insert id="insertOpeWarehouseReserve2" parameterType="com.nanometer.smartlab.entity.OpeWarehouseReserve">
-        insert into ope_warehouse_reserve(id, reagent_id, article_number, reserve, valid_flag, update_time,warehouseId,apply_code,order_code,container_id)
-        values (#{id}, #{reagentId}, #{articleNumber}, #{reserve}, 1, now(),#{warehouseId},#{applyCode},#{orderCode},#{containerId})
+        insert into ope_warehouse_reserve(id, reagent_id, article_number, reserve, valid_flag, update_time,warehouseId,apply_code,order_code,container_id,user_id)
+        values (#{id}, #{reagentId}, #{articleNumber}, #{reserve}, 1, now(),#{warehouseId},#{applyCode},#{orderCode},#{containerId},#{userId})
     </insert>
 
     <update id="updateOpeWarehouseReserve" parameterType="com.nanometer.smartlab.entity.OpeWarehouseReserve">
         update ope_warehouse_reserve
         <set>
-        reagent_id=#{reagentId},
-        reserve=#{reserve},
-        update_time=now(),
-        container_id=#{containerId},
-        <if test="articleNumber != null and articleNumber !=''">
-            article_number=#{articleNumber},
-        </if>
-        <if test="warehouseId != null and warehouseId !=''">
-            warehouseId=#{warehouseId},
-        </if>
+            reagent_id=#{reagentId},
+            reserve=#{reserve},
+            update_time=now(),
+            <if test="articleNumber != null and articleNumber !=''">
+                article_number=#{articleNumber},
+            </if>
+            <if test="warehouseId != null and warehouseId !=''">
+                warehouseId=#{warehouseId},
+            </if>
+            <if test="containerId != null and containerId !=''">
+                container_id=#{containerId},
+            </if>
+            <if test="userId != null and userId !=''">
+                user_id=#{userId},
+            </if>
         </set>
         where id=#{id}
     </update>
@@ -171,6 +180,7 @@
         owr.reserve,
         owr.article_number,
         owr.container_id,
+        owr.user_id,
         owr.update_time
         FROM
         ope_warehouse_reserve owr
@@ -198,6 +208,21 @@
 
         order by oa.update_time,oa.reserve
     </select>
+    <select id="countByReagentId" resultType="java.lang.Integer">
+        select ifnull(sum(owr.reserve),0)
+        from ope_warehouse_reserve as owr
+        where owr.reserve > 0
+        and owr.reagent_id = #{id}
+        and owr.valid_flag = 1
+        group by owr.reagent_id
+    </select>
+    <select id="getRowData" resultMap="OpeWarehouseReserve">
+
+        <include refid="queryColumns"/>
+        from ope_warehouse_reserve as oa
+        <include refid="queryJoins"/>
+        where oa.id = #{id}
+    </select>
 
     <update id="updateByReId" parameterType="java.util.Map">
         update ope_warehouse_reserve set reagent_id=#{newReId} where reagent_id=#{oldReId}
@@ -206,6 +231,7 @@
 
     <update id="updateCount" parameterType="java.util.Map">
         update ope_warehouse_reserve set reserve=reserve+1 where reagent_id=#{reagentId} and article_number=#{articleNumber}
+        and valid_flag = 1
     </update>
     <update id="updateBtReserve">
         UPDATE ope_warehouse_reserve

--
Gitblit v1.9.2