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.

118 lines
4.3 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.Module.Core.Data;
using DS.Module.DjyServiceStatus;
using DS.WMS.Core.Op.Dtos;
using DS.WMS.Core.Op.Entity;
using DS.WMS.Core.TaskPlat.Dtos;
using Microsoft.AspNetCore.Http;
using System.Threading.Tasks;
namespace DS.WMS.Core.TaskPlat.Interface
{
public interface ITaskManageBCService
{
/// <summary>
/// 通过任务信息BC生成订舱或舱位
/// </summary>
/// <param name="model">生成订舱或者舱位请求</param>
/// <returns>返回回执</returns>
Task<DataResult<TaskManageOrderResultDto>> CreateBookingAndSlot(BookingOrSlotGenerateDto model);
/// <summary>
/// 通过任务主键获取BC详情
/// </summary>
/// <param name="taskId">BC任务主键</param>
Task<DataResult<TaskManageOrderResultDto>> GetInfoByTaskId(long taskId);
/// <summary>
/// 获取当前比对结果
/// </summary>
/// <param name="taskId">BC任务主键</param>
/// <returns>返回回执</returns>
Task<DataResult<List<CompareResultDetailInfo>>> GetCompareResult(long taskId);
/// <summary>
/// 同步舱位变更
/// </summary>
/// <param name="taskPKId">BC任务主键</param>
/// <returns>返回回执</returns>
Task<DataResult> SyncBookingSlotChange(long taskPKId);
/// <summary>
/// 同步舱位变更(任务自动)
/// </summary>
/// <param name="dataContext">上下文</param>
/// <returns>返回回执</returns>
Task<DataResult> SyncBookingSlotChangeTask(TaskFlowDataContext dataContext);
/// <summary>
/// 对比BC与海运出口订单
/// </summary>
Task<DataResult<CompareResultInfo>> CompareBcWithSeaExportTask(TaskFlowDataContext dataContext);
/// <summary>
/// 读取BC详情
/// </summary>
/// <param name="carrierCode">船公司代码</param>
/// <param name="file">BC文件</param>
/// <returns>返回解析详情</returns>
Task<DataResult<ParserBCInfoDto>> GetReadBC(string carrierCode, IFormFile file);
/// <summary>
/// 读取BC擦写后文件流
/// </summary>
/// <param name="carrierCode">船公司代码</param>
/// <param name="file">BC文件</param>
/// <returns>返回解析详情</returns>
Task<DataResult<byte[]>> GetModifyBCFile(string carrierCode, IFormFile file);
/// <summary>
/// 通过BC任务匹配订单任务台使用
/// </summary>
Task<DataResult<SeaExportRes?>> BcMatchSeaExportTask(TaskFlowDataContext dataContext);
/// <summary>
/// 上传BC文件并触发执行BC任务
/// </summary>
/// <param name="carrierCode">船公司代码</param>
/// <param name="taskId">任务主键</param>
/// <param name="file">BC文件</param>
Task<DataResult> UploadBcThenRunTask(string carrierCode, long taskId, IFormFile file);
/// <summary>
/// 结束BC任务并创建下一步任务
/// </summary>
Task<DataResult> BCTaskCompleteThenNext(TaskFlowDataContext dataContext);
/// <summary>
/// BC更新海运出口订单信息
/// </summary>
Task<DataResult> BCUpdateOrderInfo(TaskFlowDataContext dataContext);
/// <summary>
/// 发送邮件通知给客户
/// </summary>
/// <param name="taskPKId">BC变更任务主键</param>
/// <param name="businessTaskMailId">邮件模板主键</param>
/// <returns>返回回执</returns>
Task<DataResult<TaskTransferMsgDto>> InnerSendEmailToCustomer(long taskPKId, long businessTaskMailId);
/// <summary>
/// 发送邮件通知给客户(任务自动机调取)
/// </summary>
/// <param name="dataContext">数据上下文</param>
/// <returns>返回回执</returns>
Task<DataResult<TaskTransferMsgDto>> SendEmailToCustomerTask(TaskFlowDataContext dataContext);
/// <summary>
/// 手工发送邮件通知给客户
/// </summary>
/// <param name="taskPKId">BC变更任务主键</param>
/// <returns>返回回执</returns>
Task<DataResult<TaskTransferMsgDto>> ManualSendEmailToCustomer(long taskPKId);
}
}