2025-08-14 13:52:08 +08:00
|
|
|
|
package com.klp.service;
|
|
|
|
|
|
|
|
|
|
|
|
import com.klp.domain.vo.WmsBatchVo;
|
|
|
|
|
|
import com.klp.domain.bo.WmsBatchBo;
|
|
|
|
|
|
import com.klp.common.core.page.TableDataInfo;
|
|
|
|
|
|
import com.klp.common.core.domain.PageQuery;
|
|
|
|
|
|
|
|
|
|
|
|
import java.util.Collection;
|
|
|
|
|
|
import java.util.List;
|
2025-08-14 16:35:46 +08:00
|
|
|
|
import java.util.Map;
|
2025-08-14 13:52:08 +08:00
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 批次(合并相同工艺的任务)Service接口
|
|
|
|
|
|
*
|
|
|
|
|
|
* @author klp
|
|
|
|
|
|
* @date 2025-08-14
|
|
|
|
|
|
*/
|
|
|
|
|
|
public interface IWmsBatchService {
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 查询批次(合并相同工艺的任务)
|
|
|
|
|
|
*/
|
|
|
|
|
|
WmsBatchVo queryById(Long batchId);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 查询批次(合并相同工艺的任务)列表
|
|
|
|
|
|
*/
|
|
|
|
|
|
TableDataInfo<WmsBatchVo> queryPageList(WmsBatchBo bo, PageQuery pageQuery);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 查询批次(合并相同工艺的任务)列表
|
|
|
|
|
|
*/
|
|
|
|
|
|
List<WmsBatchVo> queryList(WmsBatchBo bo);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 新增批次(合并相同工艺的任务)
|
|
|
|
|
|
*/
|
|
|
|
|
|
Boolean insertByBo(WmsBatchBo bo);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 修改批次(合并相同工艺的任务)
|
|
|
|
|
|
*/
|
|
|
|
|
|
Boolean updateByBo(WmsBatchBo bo);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 校验并批量删除批次(合并相同工艺的任务)信息
|
|
|
|
|
|
*/
|
|
|
|
|
|
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
2025-08-14 16:35:46 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 检测任务执行是否会产生死锁
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param rows 任务执行顺序数组
|
|
|
|
|
|
* @return 是否存在死锁
|
|
|
|
|
|
*/
|
|
|
|
|
|
boolean checkDeadlock(List<List<Map<String, Object>>> rows);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 生成不会产生死锁的批次分配方案
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param rows 任务执行顺序数组
|
|
|
|
|
|
* @return 批次分配方案
|
|
|
|
|
|
*/
|
|
|
|
|
|
List<String> generateNonDeadlockBatches(List<List<Map<String, Object>>> rows);
|
2025-08-14 13:52:08 +08:00
|
|
|
|
}
|