From 8d5c50656d81dc3eb04a841ecd259adebf99424a Mon Sep 17 00:00:00 2001
From: chen.lin <1442464845@qq.com>
Date: 星期三, 11 二月 2026 15:49:26 +0800
Subject: [PATCH] 搜索库存明细调整不查询删除物料

---
 rsf-server/src/main/resources/mapper/manager/LocItemMapper.xml |   26 ++++++++++++++++++++++++++
 1 files changed, 26 insertions(+), 0 deletions(-)

diff --git a/rsf-server/src/main/resources/mapper/manager/LocItemMapper.xml b/rsf-server/src/main/resources/mapper/manager/LocItemMapper.xml
index df271db..6db3133 100644
--- a/rsf-server/src/main/resources/mapper/manager/LocItemMapper.xml
+++ b/rsf-server/src/main/resources/mapper/manager/LocItemMapper.xml
@@ -11,16 +11,21 @@
                     li.loc_id,
                     li.loc_code,
                     l.barcode,
+                    l.channel,
                     li.matnr_id,
                     li.matnr_code,
                     li.maktx,
                     li.batch,
+                    li.unit,
                     SUM( li.anfme ) anfme,
                     li.fields_index
                 FROM
                     man_loc_item li
                         INNER JOIN man_loc l ON l.id = li.loc_id
                     WHERE l.use_status = #{type}
+                    <if test="channel != null">
+                        AND l.channel = #{channel}
+                    </if>
                 GROUP BY
                     loc_id,
                     matnr_id,
@@ -29,4 +34,25 @@
             )t
             ${ew.customSqlSegment}
     </select>
+
+    <select id="listStockByMatnrIds" resultType="java.util.HashMap">
+        SELECT
+            li.matnr_id AS matnrId,
+            COALESCE(SUM(li.anfme), 0) AS stockQty,
+            GROUP_CONCAT(DISTINCT li.loc_code ORDER BY li.loc_code) AS locCodes
+        <if test="locUseStatus == null or locUseStatus == ''">
+            , GROUP_CONCAT(DISTINCT l.use_status ORDER BY l.use_status) AS locStatuses
+        </if>
+        FROM man_loc_item li
+        INNER JOIN man_loc l ON l.id = li.loc_id AND (l.deleted = 0 OR l.deleted IS NULL)
+        WHERE li.deleted = 0
+        AND li.matnr_id IN
+        <foreach collection="matnrIds" item="id" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+        <if test="locUseStatus != null and locUseStatus != ''">
+            AND l.use_status = #{locUseStatus}
+        </if>
+        GROUP BY li.matnr_id
+    </select>
 </mapper>

--
Gitblit v1.9.1