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