| | |
| | | </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> |