package com.klp.service; import com.klp.domain.vo.BatchGroupVo; 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; import java.util.Map; /** * 批次(合并相同工艺的任务)Service接口 * * @author klp * @date 2025-08-14 */ public interface IWmsBatchService { /** * 查询批次(合并相同工艺的任务) */ WmsBatchVo queryById(Long batchId); /** * 查询批次(合并相同工艺的任务)列表 */ TableDataInfo queryPageList(WmsBatchBo bo, PageQuery pageQuery); /** * 查询批次(合并相同工艺的任务)列表 */ List queryList(WmsBatchBo bo); /** * 新增批次(合并相同工艺的任务) */ Boolean insertByBo(WmsBatchBo bo); /** * 修改批次(合并相同工艺的任务) */ Boolean updateByBo(WmsBatchBo bo); /** * 校验并批量删除批次(合并相同工艺的任务)信息 */ Boolean deleteWithValidByIds(Collection ids, Boolean isValid); /** * 生成不会产生死锁的批次分配方案 * * @param rows 任务执行顺序数组 * @return 批次分配方案 */ List generateNonDeadlockBatches(List>> rows); }