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