From 24aeee2fe7b76c7e9a8731f7bef93b48a47da17f Mon Sep 17 00:00:00 2001
From: lyfO_o <764716047@qq.com>
Date: 星期二, 26 四月 2022 15:53:38 +0800
Subject: [PATCH] up

---
 src/main/java/com/nanometer/smartlab/dao/OpeWarehouseReserveDao.xml |  131 +++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 125 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/nanometer/smartlab/dao/OpeWarehouseReserveDao.xml b/src/main/java/com/nanometer/smartlab/dao/OpeWarehouseReserveDao.xml
index 6c81389..d79f0c2 100644
--- a/src/main/java/com/nanometer/smartlab/dao/OpeWarehouseReserveDao.xml
+++ b/src/main/java/com/nanometer/smartlab/dao/OpeWarehouseReserveDao.xml
@@ -7,10 +7,12 @@
     <result property="reserve" column="reserve"></result>
     <result property="updateTime" column="update_time"></result>
       <result property="warehouseId" column="warehouseId"></result>
+      <result property="containerId" column="container_id"></result>
       <result property="warehouseName" column="warehouseName"></result>
     <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>
@@ -29,7 +31,8 @@
 	    <result property="updateTime" column="update_time"></result>
 	    <result property="supplierName" column="supplierName"></result>
 	    <result property="productHome" column="product_home"></result>
-    		<result property="productHomeName" column="productHomeName"></result>
+        <result property="productHomeName" column="productHomeName"></result>
+        <result property="productSn" column="product_sn"/>
     </association>
   </resultMap>
 
@@ -49,8 +52,14 @@
     <if test="reagentName != null and reagentName != ''">
       and sr.name like concat('%',#{reagentName},'%')
     </if>
-      <if test="warehouseId != null and warehouseId != ''">
-          and oa.warehouseId=#{warehouseId}
+    <if test="warehouseId != null and warehouseId != ''">
+        and oa.warehouseId=#{warehouseId}
+    </if>
+    <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>
 
@@ -98,17 +107,121 @@
   </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)
-        values (#{id}, #{reagentId}, #{articleNumber}, #{reserve}, 1, now(),#{warehouseId})
+        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,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},warehouseId=#{warehouseId}, article_number=#{articleNumber}, reserve=#{reserve}, update_time=now()
+        update ope_warehouse_reserve
+        <set>
+            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>
+
+    <update id="updateOpeWarehouseReserve2" parameterType="com.nanometer.smartlab.entity.OpeWarehouseReserve">
+        update ope_warehouse_reserve
+         set reserve=#{reserve}
         where id=#{id}
     </update>
 
     <select id="selectByReId" resultMap="OpeWarehouseReserve">
         select * from ope_warehouse_reserve where reagent_id=#{id}
+    </select>
+    <select id="selectWarehouseByReagentIdAndArticleNumber" resultMap="OpeWarehouseReserve" parameterType="java.util.Map">
+        SELECT
+            owr.id,
+            owr.reagent_id,
+            owr.warehouseId,
+            sw.NAME warehouseName,
+            sum( owr.reserve ) reserve
+        FROM
+            ope_warehouse_reserve owr
+            LEFT JOIN sys_warehouse sw ON sw.id = owr.warehouseId
+        WHERE
+            sw.valid_flag = 1
+            AND owr.valid_flag = 1
+            and owr.reserve > 0
+            and  owr.reagent_id = #{reagentId}
+        <if test="articleNumber != null and articleNumber != ''">
+            and owr.article_number = #{articleNumber}
+        </if>
+        GROUP BY
+            reagent_id,
+            warehouseId
+        HAVING
+            reserve > 0
+    </select>
+
+    <select id="selectWarehouseByRidAndArtiNumberAndWid" resultMap="OpeWarehouseReserve" parameterType="java.util.Map">
+        SELECT
+        owr.id,
+        owr.reagent_id,
+        owr.warehouseId,
+        sw.NAME warehouseName,
+        owr.reserve,
+        owr.article_number,
+        owr.container_id,
+        owr.user_id,
+        owr.update_time
+        FROM
+        ope_warehouse_reserve owr
+        LEFT JOIN sys_warehouse sw ON sw.id = owr.warehouseId
+        WHERE
+        sw.valid_flag = 1
+        AND owr.valid_flag = 1
+        and owr.reserve > 0
+        and  owr.reagent_id = #{reagentId}
+        <if test="articleNumber != null and articleNumber != ''">
+            and owr.article_number = #{articleNumber}
+        </if>
+        <if test="warehouseId != null and warehouseId != ''">
+            and owr.warehouseId = #{warehouseId}
+        </if>
+    </select>
+
+    <select id="getOpeWarehouseReserveList2" resultMap="OpeWarehouseReserve" parameterType="java.util.Map">
+
+        <include refid="queryColumns"/>
+        from ope_warehouse_reserve as oa
+        <include refid="queryJoins"/>
+        where oa.valid_flag = 1 and oa.reserve > 0
+        <include refid="queryWhereSql"/>
+
+        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">
@@ -118,6 +231,12 @@
 
     <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
+        set reserve = reserve - #{1}
+        where id = #{0}
     </update>
 
 

--
Gitblit v1.9.2