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 { /// /// 通过任务信息(BC)生成订舱或舱位 /// /// 生成订舱或者舱位请求 /// 返回回执 Task> CreateBookingAndSlot(BookingOrSlotGenerateDto model); /// /// 通过任务主键获取BC详情 /// /// BC任务主键 Task> GetInfoByTaskId(long taskId); /// /// 获取当前比对结果 /// /// BC任务主键 /// 返回回执 Task>> GetCompareResult(long taskId); /// /// 同步舱位变更 /// /// BC任务主键 /// 返回回执 Task SyncBookingSlotChange(long taskPKId); /// /// 同步舱位变更(任务自动) /// /// 上下文 /// 返回回执 Task SyncBookingSlotChangeTask(TaskFlowDataContext dataContext); /// /// 对比BC与海运出口订单 /// Task> CompareBcWithSeaExportTask(TaskFlowDataContext dataContext); /// /// 读取BC详情 /// /// 船公司代码 /// BC文件 /// 返回解析详情 Task> GetReadBC(string carrierCode, IFormFile file); /// /// 读取BC擦写后文件流 /// /// 船公司代码 /// BC文件 /// 返回解析详情 Task> GetModifyBCFile(string carrierCode, IFormFile file); /// /// 通过BC任务匹配订单(任务台使用) /// Task> BcMatchSeaExportTask(TaskFlowDataContext dataContext); /// /// 上传BC文件并触发执行BC任务 /// /// 船公司代码 /// 任务主键 /// BC文件 Task UploadBcThenRunTask(string carrierCode, long taskId, IFormFile file); /// /// 结束BC任务并创建下一步任务 /// Task BCTaskCompleteThenNext(TaskFlowDataContext dataContext); /// /// BC更新海运出口订单信息 /// Task BCUpdateOrderInfo(TaskFlowDataContext dataContext); /// /// 发送邮件通知给客户 /// /// BC变更任务主键 /// 邮件模板主键 /// 返回回执 Task> InnerSendEmailToCustomer(long taskPKId, long businessTaskMailId); /// /// 发送邮件通知给客户(任务自动机调取) /// /// 数据上下文 /// 返回回执 Task> SendEmailToCustomerTask(TaskFlowDataContext dataContext); /// /// 手工发送邮件通知给客户 /// /// BC变更任务主键 /// 返回回执 Task> ManualSendEmailToCustomer(long taskPKId); } }