From b5130c2e6d60c7f23e37f7c620375bc4e253caa3 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期二, 18 十月 2022 14:52:20 +0800
Subject: [PATCH] #

---
 src/main/resources/mapper/OrderDetlMapper.xml |   81 ++++++++++++++++++++++++++++++++++++----
 1 files changed, 73 insertions(+), 8 deletions(-)

diff --git a/src/main/resources/mapper/OrderDetlMapper.xml b/src/main/resources/mapper/OrderDetlMapper.xml
index ba6f8f9..6cab66f 100644
--- a/src/main/resources/mapper/OrderDetlMapper.xml
+++ b/src/main/resources/mapper/OrderDetlMapper.xml
@@ -69,14 +69,9 @@
         where 1=1
         and order_no = #{orderNo}
         and matnr = #{matnr}
-        <choose>
-            <when test="batch != null and batch != ''">
-                and batch = #{batch}
-            </when>
-            <otherwise>
-                and (batch IS NULL OR batch = '')
-            </otherwise>
-        </choose>
+        <if test="batch!=null and batch!='' ">
+            and batch = #{batch}
+        </if>
     </select>
 
     <select id="selectWorkingDetls" resultMap="BaseResultMap">
@@ -85,6 +80,67 @@
         and order_id = #{orderId}
         and qty &lt; anfme
     </select>
+
+    <sql id="pakOutPageCondition">
+        <if test="order_id!=null and order_id!='' ">
+            and mod.order_id = #{order_id}
+        </if>
+        <if test="matnr!=null and matnr!='' ">
+            and mod.matnr like '%' + #{matnr} + '%'
+        </if>
+        <if test="maktx!=null and maktx!='' ">
+            and mod.maktx like '%' + #{maktx} + '%'
+        </if>
+        <if test="batch!=null and batch!='' ">
+            and mod.batch like '%' + #{batch} + '%'
+        </if>
+    </sql>
+
+    <select id="getPakoutPage" resultMap="BaseResultMap">
+        select * from
+        (
+            select
+            ROW_NUMBER() over (order by mo.create_time desc) as row,
+            mod.*
+            from man_order_detl mod
+            inner join man_order mo on mod.order_id = mo.id
+            inner join man_doc_type mdt on mo.doc_type = mdt.doc_id
+            where 1=1
+            and mo.settle &lt;= 2
+            and mo.status = 1
+            and mdt.pakout = 1
+            <include refid="pakOutPageCondition"></include>
+        ) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize})
+    </select>
+
+    <select id="getPakoutPageCount" parameterType="java.util.Map" resultType="java.lang.Integer">
+        select
+        count(1)
+        from man_order_detl mod
+        inner join man_order mo on mod.order_id = mo.id
+        inner join man_doc_type mdt on mo.doc_type = mdt.doc_id
+        where 1=1
+        and mo.settle &lt;= 2
+        and mo.status = 1
+        and mdt.pakout = 1
+        <include refid="pakOutPageCondition"></include>
+    </select>
+
+    <update id="increaseAnfme">
+        update man_order_detl
+        set anfme = anfme + #{qty}
+        where 1=1
+        and order_id = #{orderId}
+        and matnr = #{matnr}
+        <choose>
+            <when test="batch != null and batch != ''">
+                and batch = #{batch}
+            </when>
+            <otherwise>
+                and (batch IS NULL OR batch = '')
+            </otherwise>
+        </choose>
+    </update>
 
     <update id="increase">
         update man_order_detl
@@ -125,4 +181,13 @@
         and order_id = #{orderId}
     </update>
 
+    <select id="selectRemainder" resultMap="BaseResultMap">
+        select
+        *
+        from man_order_detl
+        where 1=1
+        and anfme > qty
+        and order_id = #{orderId}
+    </select>
+
 </mapper>

--
Gitblit v1.9.1