feat(wms): 优化批次分配策略以解决死锁和进程冲突问题

- 新增 checkDeadlock 方法检测任务执行是否会产生死锁
- 改进 generateNonDeadlockBatches 方法,增加对死锁和进程冲突的处理
- 实现增强版 DFS 检测环,并收集环中的节点- 添加进程依赖图构建和冲突进程对查找功能
- 优化批次分组算法,确保所有任务都被合理分配
This commit is contained in:
2025-08-15 11:25:48 +08:00
parent f3b2ac1f29
commit 59bd751cd7
3 changed files with 363 additions and 117 deletions

View File

@@ -49,6 +49,14 @@ public interface IWmsBatchService {
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
/**
* 检测任务执行是否会产生死锁
*
* @param rows 任务执行顺序数组
* @return 是否存在死锁
*/
boolean checkDeadlock(List<List<Map<String, Object>>> rows);
/**
* 生成不会产生死锁的批次分配方案
*