feat(wms): 添加钢卷类别统计——汇总统计
- 新增 CategoryWidthRawVo 和 CategoryWidthStatisticsVo 数据传输对象 - 在 IWmsMaterialCoilService 中添加 getCategoryWidthStatistics 方法定义 - 实现 WmsMaterialCoilController 的 categoryWidthStatistics 接口 - 添加 WmsMaterialCoilMapper 的 selectCategoryWidthStatistics 查询方法 - 实现 WmsMaterialCoilServiceImpl 中的 getCategoryWidthStatistics 业务逻辑 - 在 XML 映射文件中添加类别宽度统计的 SQL 查询语句
This commit is contained in:
@@ -703,5 +703,47 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
ORDER BY thickness, width, trimmingRequirement
|
||||
</select>
|
||||
|
||||
<!-- 类别宽度统计 -->
|
||||
<select id="selectCategoryWidthStatistics" resultType="com.klp.domain.vo.dashboard.CategoryWidthRawVo">
|
||||
SELECT
|
||||
CASE
|
||||
WHEN rm.raw_material_name LIKE '%热轧卷板%' OR p.product_name LIKE '%热轧卷板%' THEN '热轧卷板'
|
||||
WHEN rm.raw_material_name LIKE '%冷硬卷%' OR p.product_name LIKE '%冷硬卷%' THEN '冷硬卷'
|
||||
WHEN rm.raw_material_name LIKE '%冷轧卷%' OR p.product_name LIKE '%冷轧卷%' THEN '冷轧卷'
|
||||
WHEN rm.raw_material_name LIKE '%镀锌卷%' OR p.product_name LIKE '%镀锌卷%' THEN
|
||||
CASE
|
||||
WHEN mc.business_purpose = '毛化镀锌卷' THEN '镀锌钢卷(毛化)'
|
||||
WHEN mc.business_purpose = '镀锌管料' THEN '镀锌管料'
|
||||
WHEN mc.business_purpose = '镀锌钢卷' THEN '镀锌钢卷(未光整)'
|
||||
ELSE '镀锌卷'
|
||||
END
|
||||
ELSE '其他'
|
||||
END AS category,
|
||||
SUBSTRING_INDEX(COALESCE(rm.specification, p.specification), '*', -1) AS width,
|
||||
CASE
|
||||
WHEN mc.trimming_requirement = '净边' THEN '净边'
|
||||
ELSE '毛边'
|
||||
END AS isTrimmed,
|
||||
COALESCE(SUM(mc.net_weight), 0) AS totalWeight
|
||||
FROM wms_material_coil mc
|
||||
LEFT JOIN wms_raw_material rm ON mc.item_id = rm.raw_material_id AND mc.item_type = 'raw_material'
|
||||
LEFT JOIN wms_product p ON mc.item_id = p.product_id AND mc.item_type = 'product'
|
||||
WHERE mc.del_flag = 0
|
||||
AND mc.data_type = 1
|
||||
AND mc.status = 0
|
||||
AND (
|
||||
rm.raw_material_name LIKE '%热轧卷板%'
|
||||
OR p.product_name LIKE '%热轧卷板%'
|
||||
OR rm.raw_material_name LIKE '%冷硬卷%'
|
||||
OR p.product_name LIKE '%冷硬卷%'
|
||||
OR rm.raw_material_name LIKE '%冷轧卷%'
|
||||
OR p.product_name LIKE '%冷轧卷%'
|
||||
OR rm.raw_material_name LIKE '%镀锌卷%'
|
||||
OR p.product_name LIKE '%镀锌卷%'
|
||||
)
|
||||
GROUP BY category, width, isTrimmed
|
||||
ORDER BY category, isTrimmed, width
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user