From a5381945bfbafbdd2d2d4703500620f0f5f5d413 Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期一, 16 三月 2026 10:07:29 +0800
Subject: [PATCH] #erp接口对接

---
 src/main/resources/mapper/LocDetlMapper.xml |   68 ++++++++++++++++++++++++++++++++++
 1 files changed, 68 insertions(+), 0 deletions(-)

diff --git a/src/main/resources/mapper/LocDetlMapper.xml b/src/main/resources/mapper/LocDetlMapper.xml
index 310366a..800c321 100644
--- a/src/main/resources/mapper/LocDetlMapper.xml
+++ b/src/main/resources/mapper/LocDetlMapper.xml
@@ -106,6 +106,9 @@
         <if test="batch!=null and batch!='' ">
             and a.batch like '%' + #{batch} + '%'
         </if>
+        <if test="specs!=null and specs!='' ">
+            and a.specs like '%' + #{specs} + '%'
+        </if>
     </sql>
 
     <select id="getStockOutPage" resultMap="BaseResultMap">
@@ -323,5 +326,70 @@
         where loc_no=#{locNo}
     </select>
 
+    <update id="updateMatTurn">
+        UPDATE a
+        SET a.matnr=b.matnr,
+            a.specs=b.specs,
+            a.maktx=b.maktx,
+            a.unit=b.unit
+        FROM asr_loc_detl a
+        INNER JOIN man_mat b ON a.matnr=#{matnrOld} AND b.matnr=#{matnr};
+    </update>
+
+    <select id="mesInventoryDetails" resultType="java.util.HashMap">
+        select
+            ld.loc_no as locId,
+            'WH01' as wareHouseId,
+            '浠撳簱1' as wareHouseName,
+            ld.zpallet as palletId,
+            ld.matnr as matNr,
+            coalesce(m.maktx, ld.maktx) as makTx,
+            cast(round(ld.anfme, 4) as decimal(18, 4)) as anfme,
+            coalesce(m.unit, ld.unit) as unit,
+            1 as status,
+            isnull(ld.batch, '') as batch
+        from asr_loc_detl ld
+        left join asr_loc_mast lm on ld.loc_no = lm.loc_no
+        left join man_mat m on ld.matnr = m.matnr
+        where 1=1
+          and lm.loc_sts = 'F'
+        <if test="locId != null and locId != ''">
+            and ld.loc_no = #{locId}
+        </if>
+        <if test="matNr != null and matNr != ''">
+            and ld.matnr = #{matNr}
+        </if>
+        <if test="orderNo != null and orderNo != ''">
+            and ld.order_no = #{orderNo}
+        </if>
+        <if test="batch != null and batch != ''">
+            and ld.batch = #{batch}
+        </if>
+        order by ld.loc_no, ld.zpallet, ld.matnr
+    </select>
+
+    <select id="mesInventorySummary" resultType="java.util.HashMap">
+        select
+            'WH01' as wareHouseId,
+            '浠撳簱1' as wareHouseName,
+            ld.matnr as matNr,
+            coalesce(max(m.maktx), max(ld.maktx)) as matTx,
+            cast(round(sum(ld.anfme), 4) as decimal(18, 4)) as anfme,
+            coalesce(max(m.unit), max(ld.unit)) as unit
+        from asr_loc_detl ld
+        left join asr_loc_mast lm on ld.loc_no = lm.loc_no
+        left join man_mat m on ld.matnr = m.matnr
+        where 1=1
+          and lm.loc_sts = 'F'
+        <if test="matNrs != null and matNrs.size > 0">
+            and ld.matnr in
+            <foreach item="item" collection="matNrs" separator="," open="(" close=")">
+                #{item}
+            </foreach>
+        </if>
+        group by ld.matnr
+        order by ld.matnr
+    </select>
+
 
 </mapper>

--
Gitblit v1.9.1