feat(wms): 添加钢卷加工链追溯功能

- 在IWmsMaterialCoilService中新增queryCoilChain方法实现双向追溯
- 在WmsMaterialCoilController中添加/chain/all/{coilId}接口
- 在WmsMaterialCoilMapper中新增selectByParentCoilIds批量查询方法
- 在Mapper XML中实现FIND_IN_SET匹配逗号分隔的parent_coil_id查询
- 实现完整的双向追溯逻辑:向上追溯祖先向下查找后代支持合卷场景
- 创建CoilChainVo数据传输对象包含追溯结果和节点关系信息
- 实现BFS算法构建完整的加工链父子关系映射和深度计算
This commit is contained in:
2026-06-17 16:49:19 +08:00
parent 605f7b85a1
commit 585017873c
6 changed files with 343 additions and 0 deletions

View File

@@ -1101,5 +1101,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
${ew.customSqlSegment}
</select>
<!-- 根据父级钢卷ID列表批量查询子钢卷使用FIND_IN_SET匹配逗号分隔的parent_coil_id -->
<select id="selectByParentCoilIds" resultMap="WmsMaterialCoilResult">
SELECT * FROM wms_material_coil
WHERE del_flag = 0
AND parent_coil_id IS NOT NULL
AND parent_coil_id != ''
AND (
<foreach collection="coilIds" item="id" separator=" OR ">
FIND_IN_SET(#{id}, parent_coil_id) > 0
</foreach>
)
</select>
</mapper>