feat(wms): 新增动态关联查询功能并优化钢卷列表接口
- 在 WmsMaterialCoilMapper 中新增 selectVoListWithDynamicJoin 方法 - 修改 selectVoPagePlus SQL 查询逻辑,移除冗余字段 - 实现根据物品类型联查原材料或产品信息 - 更新 WmsMaterialCoilServiceImpl 中 queryList 方法调用新接口 - 优化 WmsMaterialCoilVo 字段注释及 Excel 导出配置- 移除部分不必要的 @ExcelProperty 注解 - 新增 itemName 和 itemCode 字段用于显示物品名称和编号- 调整字段注释说明 dataType 数据类型含义- 修复仓库变更判断逻辑中的空指针风险
This commit is contained in:
@@ -63,7 +63,30 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
GROUP BY w.warehouse_id, w.warehouse_name, mc.item_type, mc.item_id
|
||||
ORDER BY w.warehouse_id, mc.item_type, mc.item_id
|
||||
</select>
|
||||
|
||||
<select id="selectVoPagePlus" resultType="com.klp.domain.vo.WmsMaterialCoilVo">
|
||||
SELECT
|
||||
mc.coil_id,
|
||||
mc.enter_coil_no,
|
||||
mc.current_coil_no,
|
||||
mc.supplier_coil_no,
|
||||
mc.data_type,
|
||||
mc.next_warehouse_id,
|
||||
mc.qrcode_record_id,
|
||||
mc.team,
|
||||
mc.has_merge_split,
|
||||
mc.parent_coil_nos,
|
||||
mc.item_type,
|
||||
mc.item_id,
|
||||
mc.gross_weight,
|
||||
mc.net_weight,
|
||||
mc.status,
|
||||
mc.remark,
|
||||
mc.warehouse_id,
|
||||
w.warehouse_name AS warehouseName
|
||||
FROM wms_material_coil mc
|
||||
LEFT JOIN wms_warehouse w ON mc.warehouse_id = w.warehouse_id
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
<!-- 查询不同类型的钢卷在不同库区的分布情况 -->
|
||||
<select id="getDistributionByItemType" resultType="java.util.Map">
|
||||
SELECT
|
||||
@@ -88,30 +111,27 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
GROUP BY mc.item_type, mc.item_id, w.warehouse_id, w.warehouse_name
|
||||
ORDER BY mc.item_type, mc.item_id, w.warehouse_id
|
||||
</select>
|
||||
<select id="selectVoPagePlus" resultType="com.klp.domain.vo.WmsMaterialCoilVo">
|
||||
SELECT
|
||||
mc.coil_id,
|
||||
mc.enter_coil_no,
|
||||
mc.current_coil_no,
|
||||
mc.supplier_coil_no,
|
||||
mc.data_type,
|
||||
mc.next_warehouse_id,
|
||||
mc.qrcode_record_id,
|
||||
mc.team,
|
||||
mc.has_merge_split,
|
||||
mc.parent_coil_nos,
|
||||
mc.item_type,
|
||||
mc.item_id,
|
||||
mc.gross_weight,
|
||||
mc.net_weight,
|
||||
mc.status,
|
||||
mc.remark,
|
||||
mc.warehouse_id,
|
||||
w.warehouse_name AS warehouseName
|
||||
<select id="selectVoListWithDynamicJoin" resultType="com.klp.domain.vo.WmsMaterialCoilVo">
|
||||
SELECT mc.*,
|
||||
w.warehouse_name AS warehouseName,
|
||||
CASE
|
||||
WHEN mc.item_type = 'row_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 = 'row_material' THEN rm.raw_material_code
|
||||
WHEN mc.item_type = 'product' THEN p.product_code
|
||||
ELSE NULL
|
||||
END as itemCode
|
||||
FROM wms_material_coil mc
|
||||
LEFT JOIN wms_warehouse w ON mc.warehouse_id = w.warehouse_id
|
||||
${ew.customSqlSegment}
|
||||
LEFT JOIN wms_raw_material rm ON mc.item_type = 'row_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 wms_warehouse w ON mc.warehouse_id = w.warehouse_id
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
</mapper>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user