From f9e742b17c47d9f0df3a56caa09f18c8f99aa3f8 Mon Sep 17 00:00:00 2001
From: whycq <123456>
Date: 星期四, 03 七月 2025 17:44:37 +0800
Subject: [PATCH] #

---
 src/main/resources/mapper/LocDetlMapper.xml |   93 ++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 89 insertions(+), 4 deletions(-)

diff --git a/src/main/resources/mapper/LocDetlMapper.xml b/src/main/resources/mapper/LocDetlMapper.xml
index 85f6e52..c6ccebc 100644
--- a/src/main/resources/mapper/LocDetlMapper.xml
+++ b/src/main/resources/mapper/LocDetlMapper.xml
@@ -67,6 +67,55 @@
         <include refid="batchSeq"></include>
     </select>
 
+    <select id="selectItem2" resultMap="BaseResultMap">
+        select top 1 *
+        from asr_loc_detl
+        where 1=1
+        and loc_no = #{locNo}
+        and matnr = #{matnr}
+        <choose>
+            <when test="threeCode != null">
+                and three_code = #{threeCode}
+            </when>
+            <otherwise>
+                and (three_code IS NULL)
+            </otherwise>
+        </choose>
+        <choose>
+            <when test="bomCode != null">
+                and bom_code = #{bomCode}
+            </when>
+            <otherwise>
+                and (bom_code IS NULL)
+            </otherwise>
+        </choose>
+        <include refid="batchSeq"></include>
+    </select>
+
+    <delete id="deleteItem2">
+        delete from asr_loc_detl
+        where 1=1
+        and loc_no = #{locNo}
+        and matnr = #{matnr}
+        <choose>
+            <when test="threeCode != null">
+                and three_code = #{threeCode}
+            </when>
+            <otherwise>
+                and (three_code IS NULL)
+            </otherwise>
+        </choose>
+        <choose>
+            <when test="bomCode != null">
+                and bom_code = #{bomCode}
+            </when>
+            <otherwise>
+                and (bom_code IS NULL)
+            </otherwise>
+        </choose>
+        <include refid="batchSeq"></include>
+    </delete>
+
     <delete id="deleteItem">
         delete from asr_loc_detl
         where 1=1
@@ -82,6 +131,32 @@
         where 1=1
         and loc_no = #{locNo}
         and matnr = #{matnr}
+        <include refid="batchSeq"></include>
+    </update>
+
+    <update id="updateAnfme2">
+        update asr_loc_detl
+        set anfme = #{anfme}
+        , modi_time = getdate()
+        where 1=1
+        and loc_no = #{locNo}
+        and matnr = #{matnr}
+        <choose>
+            <when test="threeCode != null">
+                and three_code = #{threeCode}
+            </when>
+            <otherwise>
+                and (three_code IS NULL)
+            </otherwise>
+        </choose>
+        <choose>
+            <when test="bomCode != null">
+                and bom_code = #{bomCode}
+            </when>
+            <otherwise>
+                and (bom_code IS NULL)
+            </otherwise>
+        </choose>
         <include refid="batchSeq"></include>
     </update>
 
@@ -112,6 +187,12 @@
         </if>
         <if test="bomCode!=null and bomCode!='' ">
             and a.bom_code like '%' + #{bomCode} + '%'
+        </if>
+        <if test="threeCode!=null and threeCode!='' ">
+            and a.three_code like '%' + #{threeCode} + '%'
+        </if>
+        <if test="orderNo!=null and orderNo!='' ">
+            and a.order_no like '%' + #{orderNo} + '%'
         </if>
     </sql>
 
@@ -169,6 +250,8 @@
         select
         ROW_NUMBER() over (order by sum(a.anfme) desc) as row
         , a.matnr
+        , min(a.maktx) as maktx
+        , min(a.specs) as specs
         , sum(a.anfme) as anfme
         from asr_loc_detl a
         where 1=1
@@ -220,7 +303,7 @@
 <!--                and (a.batch IS NULL OR a.batch = '')-->
 <!--            </otherwise>-->
 <!--        </choose>-->
-        <if test="batch != null">
+        <if test="batch != null and batch != ''">
             and a.batch = #{batch}
         </if>
         <if test="orderNo != null and orderNo != ''">
@@ -235,7 +318,7 @@
         </if>
 
         order by
-        DATEPART(yyyy,a.modi_time),DATEPART(mm,a.modi_time),DATEPART(dd,a.modi_time), a.anfme
+        DATEPART(yyyy,a.appe_time),DATEPART(mm,a.appe_time),DATEPART(dd,a.appe_time), a.anfme
         desc,
         NEWID(),
         case
@@ -320,9 +403,11 @@
                 #{item}
             </foreach>
         </if>
-        and a.bom_code = #{bomCode}
+        <if test="bomCode != null and bomCode != ''">
+            and a.bom_code = #{bomCode}
+        </if>
         order by
-        DATEPART(yyyy,a.modi_time),DATEPART(mm,a.modi_time),DATEPART(dd,a.modi_time), a.anfme
+        DATEPART(yyyy,a.appe_time),DATEPART(mm,a.appe_time),DATEPART(dd,a.appe_time), a.anfme
         desc,
         NEWID(),
         case

--
Gitblit v1.9.1