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.

52 lines
2.5 KiB
C#

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
{
/// <summary>
/// 获取任务分配列表中已存在的船公司列表(用于查询)
/// </summary>
Task<DataResult<List<CarrierInfoDto>>> GetContainsCarrierList();
/// <summary>
/// 获取任务分配列表
/// </summary>
/// <param name="carrierId">船公司Id可选</param>
Task<DataResult<TaskAllocationtSetQueryListDto>> GetList(long? carrierId);
/// <summary>
/// 保存任务分配设置
/// </summary>
Task<DataResult> Save(TaskAllocationtSetSaveDto saveDto);
4 months ago
/// <summary>
/// 获取任务分配数据
/// </summary>
/// <param name="isFromCache">是否从缓存提取 true-从缓存读取 false-从数据库读取</param>
/// <returns>返回任务分配数据列表</returns>
Task<DataResult<List<TaskAllocationtSetDto>>> GetAllList(bool isFromCache = true);
/// <summary>
/// (单个任务类型)根据任务类型+海运出口订单Id查询任务分配的人员列表
/// </summary>
/// <param name="taskType">任务类型</param>
/// <param name="seaExportId">海运出口订单Id</param>
/// <param name="dataContext">数据上下文(规则匹配时用到的数据来源)</param>
/// <returns>任务接收人列表</returns>
Task<DataResult<List<RecvUserInfo>>> GetAllotUserBySeaExportId(TaskBaseTypeEnum taskType, long seaExportId, TaskFlowDataContext? dataContext = null);
/// <summary>
/// (多个任务类型)根据任务类型列表+海运出口订单Id查询任务分配的人员列表
/// </summary>
/// <param name="taskTypeList">任务类型列表</param>
/// <param name="seaExportId">海运出口订单Id</param>
/// <param name="dataContext">数据上下文(规则匹配时用到的数据来源)</param>
/// <returns>指定任务类型对应的任务接收人列表</returns>
Task<DataResult<Dictionary<TaskBaseTypeEnum, List<RecvUserInfo>>>> GetAllotUserBySeaExportId(List<TaskBaseTypeEnum> taskTypeList, long seaExportId, TaskFlowDataContext? dataContext = null);
Task<List<(long userId, string userName)>> GetAllotUserList(SqlSugarScopeProvider tenantDb, long taskId);
}
}