|
|
using Microsoft.AspNetCore.Mvc;
|
|
|
using System;
|
|
|
using System.Collections.Generic;
|
|
|
using System.Linq;
|
|
|
using System.Text;
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
namespace Myshipping.Application
|
|
|
{
|
|
|
/// <summary>
|
|
|
/// BC任务
|
|
|
/// </summary>
|
|
|
public interface ITaskManageBCService
|
|
|
{
|
|
|
/// <summary>
|
|
|
/// 获取BC详情
|
|
|
/// </summary>
|
|
|
/// <param name="pkId">BC主键</param>
|
|
|
/// <returns>返回回执</returns>
|
|
|
Task<TaskManageOrderResultDto> GetInfo(string pkId);
|
|
|
|
|
|
/// <summary>
|
|
|
/// 通过任务主键获取BC详情
|
|
|
/// </summary>
|
|
|
/// <param name="taskPkId">BC任务主键</param>
|
|
|
/// <returns>返回回执</returns>
|
|
|
Task<TaskManageOrderResultDto> GetInfoByTaskId(string taskPkId);
|
|
|
|
|
|
/// <summary>
|
|
|
/// 获取待处理的BC任务(来自邮件解析需要对应订舱,系统会根据用户的订舱台账预配)
|
|
|
/// </summary>
|
|
|
/// <returns>返回回执</returns>
|
|
|
Task<TaskManageOrderResultDto> GetToDoBCList();
|
|
|
|
|
|
/// <summary>
|
|
|
/// 任务ID下载附件
|
|
|
/// </summary>
|
|
|
/// <param name="taskPKId">BC任务主键</param>
|
|
|
/// <param name="fileCategory">附件分类代码</param>
|
|
|
/// <returns>返回数据流</returns>
|
|
|
Task<IActionResult> DownloadFile(string taskPKId, string fileCategory = "BC");
|
|
|
|
|
|
/// <summary>
|
|
|
/// 检索订舱信息
|
|
|
/// </summary>
|
|
|
/// <param name="query">检索条件</param>
|
|
|
/// <returns>返回回执</returns>
|
|
|
Task<TaskManageOrderResultDto> QueryBookingOrderList(BookingOrderBCQuery query);
|
|
|
|
|
|
/// <summary>
|
|
|
/// 转移任务(将任务指定给其他人)
|
|
|
/// </summary>
|
|
|
/// <param name="taskPKId">BC任务主键</param>
|
|
|
/// <param name="userId">用户ID</param>
|
|
|
/// <returns>返回回执</returns>
|
|
|
Task<TaskManageOrderResultDto> TransferTask(string taskPKId,long userId);
|
|
|
|
|
|
/// <summary>
|
|
|
/// 生成订舱或舱位
|
|
|
/// </summary>
|
|
|
/// <param name="model">生成订舱或者舱位请求</param>
|
|
|
/// <returns>返回回执</returns>
|
|
|
Task<TaskManageOrderResultDto> CreateBookingAndSlot(BookingOrSlotGenerateDto model);
|
|
|
|
|
|
/// <summary>
|
|
|
/// 取消任务
|
|
|
/// </summary>
|
|
|
/// <param name="taskPKId">BC任务主键</param>
|
|
|
/// <returns>返回回执</returns>
|
|
|
Task<TaskManageOrderResultDto> CancelTask(string taskPKId);
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
/// 获取服务项目列表
|
|
|
/// </summary>
|
|
|
/// <returns>返回回执</returns>
|
|
|
Task<List<ServiceProjectBaseDto>> GetProjectList();
|
|
|
|
|
|
/// <summary>
|
|
|
/// 发送邮件
|
|
|
/// </summary>
|
|
|
/// <param name="taskPKId">BC任务主键</param>
|
|
|
/// <param name="mandatoryBookingId">强制订单主键(非必填)</param>
|
|
|
/// <param name="usePersonalEmailSend">是否默认使用用户个人邮箱发送</param>
|
|
|
/// <returns>返回回执</returns>
|
|
|
Task<TaskManageOrderResultDto> SendEmail(string taskPKId, Nullable<long> mandatoryBookingId = null, bool usePersonalEmailSend = false);
|
|
|
|
|
|
/// <summary>
|
|
|
/// 获取当前比对结果
|
|
|
/// </summary>
|
|
|
/// <param name="taskPKId">BC任务主键</param>
|
|
|
/// <returns>返回回执</returns>
|
|
|
Task<List<CompareResultDetailInfo>> GetCompareResult(string taskPKId);
|
|
|
|
|
|
/// <summary>
|
|
|
/// 同步舱位变更
|
|
|
/// </summary>
|
|
|
/// <param name="taskPKId">BC任务主键</param>
|
|
|
/// <param name="tenantId">租户ID</param>
|
|
|
/// <returns>返回回执</returns>
|
|
|
Task<TaskManageOrderResultDto> SyncBookingSlotChange(string taskPKId,long tenantId);
|
|
|
|
|
|
/// <summary>
|
|
|
/// 重新处理BC任务
|
|
|
/// 对未匹配订舱订单的任务记录重新对应订舱订单
|
|
|
/// </summary>
|
|
|
/// <param name="taskPkId">BC任务主键</param>
|
|
|
/// <returns>返回回执</returns>
|
|
|
Task<TaskManageOrderResultDto> SearchAndConnectBookingInfo(string taskPkId);
|
|
|
|
|
|
/// <summary>
|
|
|
/// 重新比对
|
|
|
/// </summary>
|
|
|
/// <param name="taskPKId">BC任务主键</param>
|
|
|
/// <returns></returns>
|
|
|
Task ReCompareResult(string taskPKId);
|
|
|
|
|
|
/// <summary>
|
|
|
/// 获取BC关联的订舱详情
|
|
|
/// </summary>
|
|
|
/// <param name="taskPkId">BC任务主键</param>
|
|
|
/// <returns>返回回执</returns>
|
|
|
Task<TaskManageOrderResultDto> GetBookingOrder(string taskPkId);
|
|
|
|
|
|
/// <summary>
|
|
|
/// 同步更新船期表
|
|
|
/// </summary>
|
|
|
/// <param name="taskPKId">BC任务主键</param>
|
|
|
/// <returns></returns>
|
|
|
Task<TaskManageOrderResultDto> SyncDjyVesselInfo(string taskPKId);
|
|
|
|
|
|
}
|
|
|
}
|