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

@@ -369,6 +369,24 @@ public class WmsMaterialCoilController extends BaseController {
return R.ok(iWmsMaterialCoilService.queryById(coilId));
}
/**
* 钢卷加工链追溯查询
* 根据钢卷ID双向追溯完整加工链条
* - 向上沿parentCoilId一直查到根节点
* - 向下:查找所有后代钢卷
*
* @param coilId 钢卷ID
*/
@GetMapping("/chain/all/{coilId}")
public R<com.klp.domain.vo.CoilChainVo> getChain(@NotNull(message = "主键不能为空")
@PathVariable("coilId") Long coilId) {
com.klp.domain.vo.CoilChainVo result = iWmsMaterialCoilService.queryCoilChain(coilId);
if (result == null) {
return R.fail("钢卷不存在");
}
return R.ok(result);
}
/**
* 新增钢卷物料表
*/