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 | 139 ++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 127 insertions(+), 12 deletions(-)
diff --git a/src/main/resources/mapper/LocDetlMapper.xml b/src/main/resources/mapper/LocDetlMapper.xml
index 2ef13d2..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>
@@ -199,19 +209,30 @@
where 1=1
and b.loc_sts = 'F'
and a.matnr = #{matnr}
- <choose>
- <when test="batch != null and batch != ''">
- and a.batch = #{batch}
- </when>
- <otherwise>
- and (a.batch IS NULL OR a.batch = '')
- </otherwise>
- </choose>
- <if test="orderNo != null and orderNo != ''">
- and a.orderNo = #{orderNo}
+<!-- <choose>-->
+<!-- <when test="batch != null and batch != ''">-->
+<!-- and a.batch = #{batch}-->
+<!-- </when>-->
+<!-- <otherwise>-->
+<!-- and (a.batch IS NULL OR a.batch = '')-->
+<!-- </otherwise>-->
+<!-- </choose>-->
+ <if test="batch != null and batch != ''">
+ and a.batch = #{batch}
</if>
+ <if test="orderNo != null and orderNo != ''">
+ and a.order_no = #{orderNo}
+ </if>
+
+ <if test="locNos != null and locNos.size > 0">
+ and b.loc_no not in
+ <foreach item="item" collection="locNos" index="index" separator="," open="(" close=")">
+ #{item}
+ </foreach>
+ </if>
+
order by
- DATEPART(yyyy,a.modi_time),DATEPART(mm,a.modi_time),DATEPART(dd,a.modi_time)
+ DATEPART(yyyy,a.modi_time),DATEPART(mm,a.modi_time),DATEPART(dd,a.modi_time), a.anfme
desc,
NEWID(),
case
@@ -277,4 +298,98 @@
</if>
</select>
+ <select id="queryStockTotal" resultType="com.zy.asrs.entity.result.StockVo">
+ select
+ matnr,
+ batch,
+ count(anfme) as count
+ from asr_loc_detl
+ where 1=1
+ group by matnr,batch
+ </select>
+ <select id="sum" resultType="java.lang.Integer">
+ SELECT SUM(anfme) FROM asr_loc_detl
+ </select>
+ <select id="unreason" resultMap="BaseResultMap">
+ SELECT
+ *
+ FROM
+ [dbo].[asr_loc_detl]
+ WHERE
+ DATALENGTH( batch ) != 11 or
+ 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