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.
BookingHeChuan/Myshipping.Application/Service/BookingOrder/IBookingOrderService.cs

175 lines
6.4 KiB
C#

2 years ago
using Myshipping.Core;
using Microsoft.AspNetCore.Mvc;
using System.Threading.Tasks;
using Myshipping.Application.Entity;
2 years ago
using Myshipping.Application.Service.BookingOrder.Dto;
2 years ago
using Microsoft.AspNetCore.Http;
2 years ago
using System.Collections.Generic;
using Myshipping.Application.Service.BookingSlot.Dto;
2 years ago
namespace Myshipping.Application
2 years ago
{
public interface IBookingOrderService
{
2 years ago
Task Delete(string Ids);
2 years ago
2 years ago
Task<BookingOrderOutput> Get(long Id);
Task<List<BookingLogDto>> GetLog(long Id);
2 years ago
2 years ago
Task<IActionResult> Download(long id);
2 years ago
Task<List<BookingRemark>> GetRemark(long Id);
2 years ago
Task AddRemark(BookingRemarkDto dto);
2 years ago
Task<string> AddFile(IFormFile file, [FromForm] BookingFileDto dto);
2 years ago
2 years ago
Task<List<BookingFile>> GetFile(long Id);
2 years ago
Task<List<BookingStatusLogDto>> GetBookingStatusLog(long Id);
/// <summary>
/// 发送订舱、截单EDI
/// </summary>
/// <param name="model">订舱、截单EDI请求</param>
/// <returns>返回回执</returns>
Task<dynamic> SendBookingOrClosingEDI(BookingOrClosingEDIOrderDto model);
Task BachUpdate(BatchUpdate dto);
1 year ago
Task<dynamic> InnerBookingOrClosingEDI(BookingOrClosingEDIOrderDto model);
1 year ago
/// <summary>
/// 推送东胜
/// </summary>
/// <param name="ids"></param>
/// <param name="syncTypeEnum"><see cref="BookingOrderSyncTypeEnum"/></param>
/// <param name="oddCode"></param>
1 year ago
/// <returns></returns>
Task<dynamic> SendBookingOrder(long[] ids, BookingOrderSyncTypeEnum? syncTypeEnum = null, string oddCode = "");
/// <summary>
/// 保存(新增或修改)放舱
/// </summary>
/// <param name="input">放舱详情</param>
/// <returns>返回放舱主键</returns>
Task<long> LetteryardSave(UpdateBookingLetteryardInput input);
2 years ago
/// <summary>
/// 放舱发送
/// </summary>
/// <param name="bookingId">订舱ID</param>
/// <param name="templateId">放舱选择模板</param>
/// <returns></returns>
Task SendLetterYard(long bookingId, long templateId);
/// <summary>
1 year ago
/// 设置货物状态完成
/// </summary>
/// <param name="code"></param>
/// <param name="bookingId"></param>
/// <returns></returns>
Task SetGoodsStatus(string code, long bookingId);
1 year ago
/// <summary>
/// 记录日志
/// </summary>
/// <param name="newOrder"></param>
/// <param name="oldOrder"></param>
/// <param name="fromFunc">日志操作来源</param>
/// <param name="updateFields">明确的被修改的字段</param>
1 year ago
/// <returns></returns>
Task SaveLog(BookingOrder newOrder, BookingOrder oldOrder, string fromFunc, List<string> updateFields = null);
1 year ago
Task AutoYardData(long bookId);
/// <summary>
/// 推送服务状态
/// </summary>
/// <param name="code">服务状态代码</param>
/// <param name="bookingId">订舱ID</param>
/// <param name="isAutoSyncDS">是否默认同步东胜 true-自动同步 false-不自动同步</param>
/// <returns></returns>
Task SetGoodsStatusPush(string code, long bookingId, bool isAutoSyncDS = false);
/// <summary>
/// 取消服务状态
/// </summary>
/// <param name="code">服务状态代码</param>
/// <param name="bookingId">订舱编号</param>
/// <param name="isAutoSyncDS">是否默认同步东胜 true-自动同步 false-不自动同步</param>
/// <returns></returns>
Task SetGoodsStatusCancel(string code, long bookingId, bool isAutoSyncDS = false);
/// <summary>
/// 设定保存订舱的货物状态并同步东胜
/// </summary>
/// <param name="bookingId"></param>
/// <param name="isAutoSyncDS">是否默认同步东胜 true-自动同步 false-不自动同步</param>
/// <param name="fromFunc">调用方模块名</param>
/// <returns></returns>
Task SetBookingGoodsStatus(long bookingId, bool isAutoSyncDS = false, string fromFunc = null);
/// <summary>
/// 检查是否VOLTA并返回初始数据
/// </summary>
/// <param name="model">请求参数</param>
/// <returns>返回回执</returns>
dynamic CheckAndInitVOLTAEdi(BookingOrClosingEDIOrderDto model);
/// <summary>
/// 发送VOLTA截单请求
/// </summary>
/// <param name="model">请求截单详情</param>
/// <returns>返回回执</returns>
Task<dynamic> SendVOLTAEdiSI(VOLTAEDIBaseModel model);
/// <summary>
/// 下载VOLTA截单请求报文
/// </summary>
/// <param name="model">请求截单详情</param>
/// <returns>返回回执</returns>
Task<IActionResult> DownloadVOLTAEdiSI(VOLTAEDIBaseModel model);
/// <summary>
/// 生成VOLTA报文内部方法
/// </summary>
/// <param name="model">请求截单详情</param>
/// <param name="isSend">是否直接发送VOLTA申报截单</param>
/// <returns>返回回执</returns>
Task<dynamic> InnerVOLTAEDI(VOLTAEDIBaseModel model, bool isSend = false);
/// <summary>
/// 订舱保存
/// </summary>
/// <param name="input">订舱请求详情</param>
/// <returns>返回回执</returns>
Task<BookingOrderOutput> Save(SaveBookingOrderInput input);
/// <summary>
/// 批量更新订舱的详情
/// </summary>
/// <param name="dto">请求参数</param>
/// <returns></returns>
Task BatchUpdateOrder(BatchUpdate dto);
/// <summary>
/// 获取舱位拆票或者合票后新单号结果
/// </summary>
/// <param name="model">舱位拆票或者合票请求</param>
/// <returns>返回舱位拆票或者合票结果</returns>
Task<BookingSlotMergeOrSplitResultDto> GetBookingSlotMergeOrSplitResult(BookingSlotMergeOrSplitRequestDto model);
/// <summary>
/// 检索订单信息(如果当前为拆、合票,内包含分票信息)
/// </summary>
/// <param name="mblNo">提单号</param>
/// <returns></returns>
Task<SeaExportOrderExtension> SearchOrderInfo(string mblNo);
2 years ago
}
}