using DS.Module.Core; using DS.WMS.Core.TaskPlat.Dtos; using DS.WMS.Core.TaskPlat.Entity; 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); } }