feat(wms): 添加钢卷物料统计数据接口
- 在 IWmsMaterialCoilService 中新增 getStatistics 方法用于汇总统计 - 在 WmsMaterialCoilController 中添加 /statisticsList 接口 - 在 WmsMaterialCoilMapper 中新增 selectStatistics 查询方法 - 在 WmsMaterialCoilMapper.xml 中实现统计 SQL 查询 - 在 WmsMaterialCoilServiceImpl 中实现统计业务逻辑 - 支持按筛选条件统计总毛重、总净重和总数 - 采用高性能查询方式只查询 sum/count 聚合数据 - 独立统计接口不影响原有分页查询功能
This commit is contained in:
@@ -902,5 +902,27 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
)
|
||||
</select>
|
||||
|
||||
<!-- 统计筛选条件下的全量汇总数据(高性能:只查sum/count) -->
|
||||
<select id="selectStatistics" resultType="java.util.Map">
|
||||
SELECT
|
||||
IFNULL(SUM(mc.gross_weight), 0) AS total_gross_weight,
|
||||
IFNULL(SUM(mc.net_weight), 0) AS total_net_weight,
|
||||
COUNT(mc.coil_id) AS total_count
|
||||
FROM wms_material_coil mc
|
||||
LEFT JOIN wms_warehouse w ON mc.warehouse_id = w.warehouse_id
|
||||
LEFT JOIN wms_warehouse nw ON mc.next_warehouse_id = nw.warehouse_id
|
||||
LEFT JOIN wms_actual_warehouse aw ON mc.actual_warehouse_id = aw.actual_warehouse_id
|
||||
LEFT JOIN sys_user su ON mc.sale_id = su.user_id
|
||||
LEFT JOIN wms_raw_material rm ON mc.item_type = 'raw_material' AND mc.item_id = rm.raw_material_id
|
||||
LEFT JOIN wms_product p ON mc.item_type = 'product' AND mc.item_id = p.product_id
|
||||
LEFT JOIN (
|
||||
SELECT coil_id, COUNT(*) AS abnormal_count
|
||||
FROM wms_coil_abnormal
|
||||
WHERE del_flag = 0
|
||||
GROUP BY coil_id
|
||||
) ca ON mc.coil_id = ca.coil_id
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user