- 在 IWmsRawMaterialService 中新增 queryStatistics 方法用于统计原材料数据 - 在 WmsRawMaterialController 中添加 /statistics 接口端点 - 在 WmsRawMaterialMapper 中新增 selectStatistics 查询方法 - 在 XML 映射文件中实现统计查询的 SQL 语句 - 在服务实现类中完成统计逻辑,按厂家、材质、规格分组计算钢卷件数和重量 - 新增 ManufacturerStatisticsVo、MaterialStatisticsVo、SpecificationStatisticsVo 和 WmsRawMaterialStatisticsVo 数据传输对象 - 实现多层级数据聚合统计功能,包括厂家、材质、规格维度的数据汇总
63 lines
3.2 KiB
XML
63 lines
3.2 KiB
XML
<?xml version="1.0" encoding="UTF-8" ?>
|
|
<!DOCTYPE mapper
|
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
|
<mapper namespace="com.klp.mapper.WmsRawMaterialMapper">
|
|
|
|
<resultMap type="com.klp.domain.WmsRawMaterial" id="WmsRawMaterialResult">
|
|
<result property="rawMaterialId" column="raw_material_id"/>
|
|
<result property="rawMaterialCode" column="raw_material_code"/>
|
|
<result property="rawMaterialName" column="raw_material_name"/>
|
|
<result property="steelGrade" column="steel_grade"/>
|
|
<result property="targetColdGrade" column="target_cold_grade"/>
|
|
<result property="baseMaterialId" column="base_material_id"/>
|
|
<result property="surfaceTreatmentId" column="surface_treatment_id"/>
|
|
<result property="thickness" column="thickness"/>
|
|
<result property="thicknessDeviation" column="thickness_deviation"/>
|
|
<result property="width" column="width"/>
|
|
<result property="targetColdWidth" column="target_cold_width"/>
|
|
<result property="targetColdThickness" column="target_cold_thickness"/>
|
|
<result property="crown" column="crown"/>
|
|
<result property="coilWeight" column="coil_weight"/>
|
|
<result property="surfaceQuality" column="surface_quality"/>
|
|
<result property="hardnessHv5" column="hardness_hv5"/>
|
|
<result property="hardnessDiff" column="hardness_diff"/>
|
|
<result property="compositionMn" column="composition_mn"/>
|
|
<result property="compositionP" column="composition_p"/>
|
|
<result property="grainSize" column="grain_size"/>
|
|
<result property="headTailCutFlag" column="head_tail_cut_flag"/>
|
|
<result property="inspectionResult" column="inspection_result"/>
|
|
<result property="isEnabled" column="is_enabled"/>
|
|
<result property="delFlag" column="del_flag"/>
|
|
<result property="remark" column="remark"/>
|
|
<result property="createTime" column="create_time"/>
|
|
<result property="createBy" column="create_by"/>
|
|
<result property="updateTime" column="update_time"/>
|
|
<result property="updateBy" column="update_by"/>
|
|
<result property="unit" column="unit"/>
|
|
<result property="bomId" column="bom_id"/>
|
|
<result property="specification" column="specification"/>
|
|
<result property="material" column="material"/>
|
|
<result property="manufacturer" column="manufacturer"/>
|
|
<result property="surfaceTreatmentDesc" column="surface_treatment_desc"/>
|
|
<result property="zincLayer" column="zinc_layer"/>
|
|
</resultMap>
|
|
|
|
<select id="selectStatistics" resultType="com.klp.domain.vo.dashboard.WmsRawMaterialStatisticsVo">
|
|
SELECT
|
|
rm.manufacturer,
|
|
rm.material,
|
|
rm.specification,
|
|
COUNT(mc.coil_id) AS coilCount,
|
|
COALESCE(SUM(mc.net_weight), 0) AS totalWeight
|
|
FROM wms_raw_material rm
|
|
LEFT JOIN wms_material_coil mc ON rm.raw_material_id = mc.item_id
|
|
AND mc.item_type = 'raw_material'
|
|
AND mc.del_flag = 0
|
|
WHERE rm.del_flag = 0
|
|
GROUP BY rm.manufacturer, rm.material, rm.specification
|
|
ORDER BY rm.manufacturer, rm.material, rm.specification
|
|
</select>
|
|
|
|
</mapper>
|