feat(wms): 新增按实际库区查询钢卷分布功能

- 在 IWmsMaterialCoilService 接口中新增 getDistributionByActualWarehouse 方法
- 实现钢卷按实际库区统计数量和重量的查询逻辑
- 添加对应的 Mapper XML 查询语句,支持按物品类型和 ID 过滤
- 在 Controller 中暴露新的 REST 接口 /distributionByActualWarehouse
- 扩展 WmsStockBo 和 WmsStockVo 类以支持实际库区相关字段
- 新增 queryPageListActual 方法用于分页查询实际库区库存数据
- 实现递归查询子实际库区的功能,并应用到查询条件中
- 更新 Mapper 文件及服务实现类以支持新查询逻辑
This commit is contained in:
2025-11-03 17:06:17 +08:00
parent 07c8ccbcdd
commit 83edc5703a
12 changed files with 169 additions and 7 deletions

View File

@@ -138,7 +138,27 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
LEFT JOIN wms_actual_warehouse aw ON mc.actual_warehouse_id = aw.actual_warehouse_id
${ew.customSqlSegment}
</select>
<select id="getDistributionByActualWarehouse" resultType="java.util.Map">
SELECT
w.actual_warehouse_id,
w.actual_warehouse_name,
COUNT(mc.coil_id) as coil_count,
COALESCE(SUM(mc.gross_weight), 0) as total_gross_weight,
COALESCE(SUM(mc.net_weight), 0) as total_net_weight
FROM wms_actual_warehouse w
LEFT JOIN wms_material_coil mc ON w.actual_warehouse_id = mc.actual_warehouse_id
AND mc.data_type = 1
AND mc.del_flag = '0'
WHERE w.del_flag = '0'
<if test="itemType != null and itemType != ''">
AND mc.item_type = #{itemType}
</if>
<if test="itemId != null">
AND mc.item_id = #{itemId}
</if>
GROUP BY w.actual_warehouse_id, w.actual_warehouse_name
ORDER BY w.actual_warehouse_id
</select>
</mapper>