chen.lin
1 天以前 79edfec1f6e6789d3f6cc57db3cb0cfdffd64c32
rsf-server/src/main/resources/mapper/manager/LocItemMapper.xml
@@ -55,4 +55,25 @@
        </if>
        GROUP BY li.matnr_id
    </select>
    <!-- 按物料+状态+库位分组:每行一个库位及其数量,汇总与拼接在 Java 中完成以减轻库压力 -->
    <select id="listStockByMatnrIdsGroupByStatusAndLoc" resultType="java.util.HashMap">
        SELECT
            li.matnr_id AS matnrId,
            l.use_status AS useStatus,
            li.loc_code AS locCode,
            COALESCE(SUM(li.anfme), 0) AS locQty
        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, l.use_status, li.loc_code
        ORDER BY li.matnr_id, l.use_status, li.loc_code
    </select>
</mapper>