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