You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

69 lines
3.0 KiB
C#

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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);
}
}