using DS.Module.Core; using DS.WMS.Core.TaskPlat.Dtos; using DS.WMS.Core.TaskPlat.Entity; using SqlSugar; using System.Linq.Expressions; namespace DS.WMS.Core.TaskPlat.Interface { /// /// 任务模块业务类的基类,封装了一些常用的方法 /// public interface ITaskManageBaseService { /// /// 更新任务主表状态 /// /// 任务主键数组 /// 需要更新状态的列 Task SetTaskStatus(long[] taskIds, params Expression>[] columns); /// /// 设置任务处理人 /// /// 任务主键数组 /// 人员信息列表 Task SetTaskOwner(long[] taskIds, List userInfo); /// /// 根据任务ID获取附件信息 /// /// 任务Id /// 附件分类代码 Task<(string fileFullPath, string fileName)> GetTaskFileInfo(long taskId, string fileCategory); /// /// 根据订单及配置,将所有或指定的公共任务匹配到个人 /// /// 任务Id列表(当传入时,则只匹配列表中指定的任务) /// 涉及当前登陆人的匹配结果 Task> MatchTask(List? taskIdList = null); /// /// 通过任务主表主键设置任务状态(任务台使用) /// /// 任务主表主键 /// 业务状态 /// 状态发生时间 /// 业务主键 Task SetTaskStatus(long taskBaseId, TaskStatusEnum taskStatusEnum, DateTime? statusTime, long? bsno = null); /// /// 是否具有指定任务列表的处理权限 /// /// 成功:全部具有处理权限;失败:存在不具有处理权限的任务,同时返回任务流水号列表 Task>> HasTaskHandleAuthorityWithBsno(IEnumerable<(long bsno, TaskBaseTypeEnum taskType)> businessTaskList); /// /// 是否具有指定任务列表的处理权限 /// /// 成功:全部具有处理权限;失败:存在不具有处理权限的任务,同时返回任务流水号列表 Task>> HasTaskHandleAuthority(IEnumerable taskIdList); /// /// 根据订单Id列表获取关联的任务流水号 /// Task>> GetSeaExportAllotTaskNo(IEnumerable seaExportIdList); /// /// 获取不创建任务的任务类型列表 /// Task> GetNotCreateTaskTypeList(SqlSugarScopeProvider? tenantDb = null); } }