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