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 |   85 +++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 83 insertions(+), 2 deletions(-)

diff --git a/src/main/resources/mapper/LocDetlMapper.xml b/src/main/resources/mapper/LocDetlMapper.xml
index dfff812..800c321 100644
--- a/src/main/resources/mapper/LocDetlMapper.xml
+++ b/src/main/resources/mapper/LocDetlMapper.xml
@@ -100,6 +100,15 @@
         <if test="startTime!=null and endTime!=null">
             and a.modi_time between #{startTime} and #{endTime}
         </if>
+        <if test="crnNo!=null and crnNo!='' ">
+            and b.crn_no=#{crnNo}
+        </if>
+        <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">
@@ -132,11 +141,12 @@
             select
             ROW_NUMBER() over (order by sum(a.anfme) desc) as row
             , a.matnr
+            , a.batch
             , sum(a.anfme) as anfme
             from asr_loc_detl a
             where 1=1
             <include refid="stockOutCondition"></include>
-            group by a.matnr
+            group by a.matnr, a.batch
          ) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize})
     </select>
 
@@ -211,7 +221,7 @@
             and a.batch = #{batch}
         </if>
         <if test="orderNo != null and orderNo != ''">
-            and a.orderNo = #{orderNo}
+            and a.order_no = #{orderNo}
         </if>
 
         <if test="locNos != null and locNos.size > 0">
@@ -310,5 +320,76 @@
             batch LIKE '%[a-z]%'
     </select>
 
+    <select id="selectLocDetlSumQty" resultType="double">
+        select SUM(anfme) anfme
+        from asr_loc_detl
+        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