feat(wms-batch):增加死锁检测和批次分配功能
- 在 IWmsBatchService 接口中添加了 checkDeadlock 和 generateNonDeadlockBatches 方法 - 在 WmsBatchController 中添加了对应的控制器方法 - 在 WmsBatchServiceImpl 中实现了死锁检测和批次分配的逻辑 - 新增了构建依赖图、检测环、拓扑排序等辅助方法
This commit is contained in:
@@ -7,6 +7,7 @@ import com.klp.common.core.domain.PageQuery;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 批次(合并相同工艺的任务)Service接口
|
||||
@@ -45,4 +46,21 @@ public interface IWmsBatchService {
|
||||
* 校验并批量删除批次(合并相同工艺的任务)信息
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
|
||||
|
||||
/**
|
||||
* 检测任务执行是否会产生死锁
|
||||
*
|
||||
* @param rows 任务执行顺序数组
|
||||
* @return 是否存在死锁
|
||||
*/
|
||||
boolean checkDeadlock(List<List<Map<String, Object>>> rows);
|
||||
|
||||
/**
|
||||
* 生成不会产生死锁的批次分配方案
|
||||
*
|
||||
* @param rows 任务执行顺序数组
|
||||
* @return 批次分配方案
|
||||
*/
|
||||
List<String> generateNonDeadlockBatches(List<List<Map<String, Object>>> rows);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user