using DS.Module.Core; using DS.Module.Core.Data; using DS.WMS.Core.TaskPlat.Dtos; using DS.WMS.Core.TaskPlat.Entity; using SqlSugar; namespace DS.WMS.Core.TaskPlat.Interface { public interface ITaskAllocationService { /// /// 获取任务分配列表中已存在的船公司列表(用于查询) /// Task>> GetContainsCarrierList(); /// /// 获取任务分配列表 /// /// 船公司Id(可选) Task> GetList(long? carrierId); /// /// 保存任务分配设置 /// Task Save(TaskAllocationtSetSaveDto saveDto); /// /// 获取任务分配数据 /// /// 是否从缓存提取 true-从缓存读取 false-从数据库读取 /// 返回任务分配数据列表 Task>> GetAllList(bool isFromCache = true); /// /// (单个任务类型)根据任务类型+海运出口订单Id查询任务分配的人员列表 /// /// 任务类型 /// 海运出口订单Id /// 数据上下文(规则匹配时用到的数据来源) /// 任务接收人列表 Task>> GetAllotUserBySeaExportId(TaskBaseTypeEnum taskType, long seaExportId, TaskFlowDataContext? dataContext = null); /// /// (多个任务类型)根据任务类型列表+海运出口订单Id查询任务分配的人员列表 /// /// 任务类型列表 /// 海运出口订单Id /// 数据上下文(规则匹配时用到的数据来源) /// 指定任务类型对应的任务接收人列表 Task>>> GetAllotUserBySeaExportId(List taskTypeList, long seaExportId, TaskFlowDataContext? dataContext = null); Task> GetAllotUserList(SqlSugarScopeProvider tenantDb, long taskId); } }