feat(wms): 新增钢卷物料导出功能

- 新增导出专用VO类WmsMaterialCoilExportVo,包含完整的钢卷字段信息
- 在IWmsMaterialCoilService接口中添加queryExportList方法定义
- 在WmsMaterialCoilServiceImpl实现类中实现导出数据查询逻辑
- 扩展WmsMaterialCoilMapper接口和XML文件,新增selectExportList查询
- 优化导出查询条件构建逻辑,支持多itemId筛选
- 更新导出接口文档注释,明确标识为完整字段版本
- 在控制器中切换导出接口使用新的导出VO类进行数据封装
This commit is contained in:
2025-11-27 13:08:09 +08:00
parent e971717d66
commit 8164cb39e1
6 changed files with 326 additions and 4 deletions

View File

@@ -316,6 +316,93 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
ORDER BY mc.item_type, mc.item_id, w.actual_warehouse_id
</select>
<!-- 导出查询:包含所有需要的字段 -->
<select id="selectExportList" resultType="com.klp.domain.vo.WmsMaterialCoilExportVo">
SELECT
-- 类型(中文显示)
CASE
WHEN mc.item_type = 'product' THEN '成品'
WHEN mc.item_type = 'raw_material' THEN '原料'
ELSE mc.item_type
END AS itemTypeDesc,
-- 物品ID
mc.item_id AS itemId,
-- 逻辑库区
w.warehouse_name AS warehouseName,
-- 实际库区
aw.actual_warehouse_name AS actualWarehouseName,
-- 入场卷号
mc.enter_coil_no AS enterCoilNo,
-- 厂家卷号
mc.supplier_coil_no AS supplierCoilNo,
-- 成品卷号
mc.current_coil_no AS currentCoilNo,
-- 日期
mc.create_time AS createTime,
-- 重量
mc.net_weight AS netWeight,
-- 用途(暂无数据源)
NULL AS purpose,
-- 切边要求
mc.trimming_requirement AS trimmingRequirement,
-- 包装种类
mc.packaging_requirement AS packagingRequirement,
-- 产品状态(直接展示原始值)
mc.quality_status AS qualityStatus,
-- 打包状态(直接展示原始值)
mc.packing_status AS packingStatus,
-- 库存状态(中文显示)
CASE
WHEN mc.status = 0 THEN '在库'
WHEN mc.status = 1 THEN '在途'
ELSE CAST(mc.sta tus AS CHAR)
END AS statusDesc,
-- 备注
mc.remark AS remark,
-- 名称(根据类型从不同表获取)
CASE
WHEN mc.item_type = 'raw_material' THEN rm.raw_material_name
WHEN mc.item_type = 'product' THEN p.product_name
ELSE NULL
END AS itemName,
-- 规格
CASE
WHEN mc.item_type = 'raw_material' THEN rm.specification
WHEN mc.item_type = 'product' THEN p.specification
ELSE NULL
END AS specification,
-- 材质
CASE
WHEN mc.item_type = 'raw_material' THEN rm.material
WHEN mc.item_type = 'product' THEN p.material
ELSE NULL
END AS material,
-- 厂家
CASE
WHEN mc.item_type = 'raw_material' THEN rm.manufacturer
WHEN mc.item_type = 'product' THEN p.manufacturer
ELSE NULL
END AS manufacturer,
-- 表面处理
CASE
WHEN mc.item_type = 'raw_material' THEN rm.surface_treatment_desc
WHEN mc.item_type = 'product' THEN p.surface_treatment_desc
ELSE NULL
END AS surfaceTreatmentDesc,
-- 锌层
CASE
WHEN mc.item_type = 'raw_material' THEN rm.zinc_layer
WHEN mc.item_type = 'product' THEN p.zinc_layer
ELSE NULL
END AS zincLayer
FROM wms_material_coil mc
LEFT JOIN wms_warehouse w ON mc.warehouse_id = w.warehouse_id
LEFT JOIN wms_actual_warehouse aw ON mc.actual_warehouse_id = aw.actual_warehouse_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
${ew.customSqlSegment}
</select>
</mapper>