From 8407e277e156a55fee38e7bb7b8930ec16a15f0e Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期五, 24 四月 2026 09:08:47 +0800
Subject: [PATCH] 库存上下限预警,物料高低频摆放
---
src/main/resources/mapper/LocDetlMapper.xml | 76 +++++++++++++++++++++++++++++++++++++
1 files changed, 75 insertions(+), 1 deletions(-)
diff --git a/src/main/resources/mapper/LocDetlMapper.xml b/src/main/resources/mapper/LocDetlMapper.xml
index 958190a..98a357d 100644
--- a/src/main/resources/mapper/LocDetlMapper.xml
+++ b/src/main/resources/mapper/LocDetlMapper.xml
@@ -545,7 +545,7 @@
<if test="locNos != null and locNos.size > 0">
- and b.loc_no not in
+ and (b.loc_no + '_' + a.matnr + '_' + a.batch) not in
<foreach item="item" collection="locNos" index="index" separator="," open="(" close=")">
#{item}
</foreach>
@@ -763,5 +763,79 @@
group by a.matnr,a.batch
) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize})
</select>
+ <select id="getStockList" resultType="com.zy.asrs.entity.LocDetl">
+ select
+ *
+ from
+ (
+ SELECT
+ ROW_NUMBER() over (
+ order by m.matnr desc) as row,
+ m.matnr,
+ m.maktx ,
+ m.store_min boxType1,
+ m.store_max boxType2,
+ ISNULL(SUM(d.anfme),
+ 0) AS anfme
+ FROM
+ man_mat m
+ LEFT JOIN asr_loc_detl d
+ ON
+ m.matnr = d.matnr
+ WHERE
+ m.store_min IS NOT NULL
+ OR m.store_max IS NOT NULL
+ <if test="matnr!=null and matnr!='' ">
+ and m.matnr like '%' + #{matnr} + '%'
+ </if>
+ <if test="maktx!=null and maktx!='' ">
+ and m.maktx like '%' + #{maktx} + '%'
+ </if>
+ GROUP BY
+ m.matnr,
+ m.maktx ,
+ m.store_min,
+ m.store_max
+ HAVING
+ ISNULL(SUM(d.anfme),0) < m.store_min OR ISNULL(SUM(d.anfme),0) > m.store_max
+ ) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize})
+ </select>
+ <select id="getStockListCount" resultType="java.lang.Long">
+ select
+ count(*)
+ from
+ (
+ SELECT
+ ROW_NUMBER() over (
+ order by m.matnr desc) as row,
+ m.matnr,
+ m.maktx ,
+ m.store_min boxType1,
+ m.store_max boxType2,
+ ISNULL(SUM(d.anfme),
+ 0) AS anfme
+ FROM
+ man_mat m
+ LEFT JOIN asr_loc_detl d
+ ON
+ m.matnr = d.matnr
+ WHERE
+ m.store_min IS NOT NULL
+ OR m.store_max IS NOT NULL
+ <if test="matnr!=null and matnr!='' ">
+ and m.matnr like '%' + #{matnr} + '%'
+ </if>
+ <if test="maktx!=null and maktx!='' ">
+ and m.maktx like '%' + #{maktx} + '%'
+ </if>
+ GROUP BY
+ m.matnr,
+ m.maktx ,
+ m.store_min,
+ m.store_max
+ HAVING
+ ISNULL(SUM(d.anfme),0) < m.store_min OR ISNULL(SUM(d.anfme),0) > m.store_max
+ ) t
+ </select>
</mapper>
--
Gitblit v1.9.1