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.

117 lines
4.3 KiB
C#

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;
3 months ago
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);
3 months ago
/// <summary>
/// 对比BC与海运出口订单
/// </summary>
3 months ago
Task<DataResult<CompareResultInfo>> CompareBcWithSeaExportTask(TaskFlowDataContext dataContext);
3 months ago
/// <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);
3 months ago
/// <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);
}
}