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.

134 lines
4.8 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 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);
}
}