|
|
using Myshipping.Core;
|
|
|
using Microsoft.AspNetCore.Mvc;
|
|
|
using System.Threading.Tasks;
|
|
|
using Myshipping.Application.Entity;
|
|
|
using Myshipping.Application.Service.BookingOrder.Dto;
|
|
|
using Microsoft.AspNetCore.Http;
|
|
|
using System.Collections.Generic;
|
|
|
using Myshipping.Application.Service.BookingSlot.Dto;
|
|
|
|
|
|
namespace Myshipping.Application
|
|
|
{
|
|
|
public interface IBookingOrderService
|
|
|
{
|
|
|
|
|
|
Task Delete(string Ids);
|
|
|
|
|
|
|
|
|
Task<BookingOrderOutput> Get(long Id);
|
|
|
Task<List<BookingLogDto>> GetLog(long Id);
|
|
|
|
|
|
Task<IActionResult> Download(long id);
|
|
|
Task<List<BookingRemark>> GetRemark(long Id);
|
|
|
|
|
|
Task AddRemark(BookingRemarkDto dto);
|
|
|
|
|
|
|
|
|
Task<string> AddFile(IFormFile file, [FromForm] BookingFileDto dto);
|
|
|
|
|
|
Task<List<BookingFile>> GetFile(long Id);
|
|
|
|
|
|
|
|
|
|
|
|
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);
|
|
|
|
|
|
Task<dynamic> InnerBookingOrClosingEDI(BookingOrClosingEDIOrderDto model);
|
|
|
/// <summary>
|
|
|
/// 推送东胜
|
|
|
/// </summary>
|
|
|
/// <param name="ids"></param>
|
|
|
/// <param name="syncTypeEnum"><see cref="BookingOrderSyncTypeEnum"/></param>
|
|
|
/// <param name="oddCode"></param>
|
|
|
/// <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);
|
|
|
|
|
|
/// <summary>
|
|
|
/// 放舱发送
|
|
|
/// </summary>
|
|
|
/// <param name="bookingId">订舱ID</param>
|
|
|
/// <param name="templateId">放舱选择模板</param>
|
|
|
/// <returns></returns>
|
|
|
Task SendLetterYard(long bookingId, long templateId);
|
|
|
|
|
|
/// <summary>
|
|
|
/// 设置货物状态完成
|
|
|
/// </summary>
|
|
|
/// <param name="code"></param>
|
|
|
/// <param name="bookingId"></param>
|
|
|
/// <returns></returns>
|
|
|
Task SetGoodsStatus(string code, long bookingId);
|
|
|
/// <summary>
|
|
|
/// 记录日志
|
|
|
/// </summary>
|
|
|
/// <param name="newOrder"></param>
|
|
|
/// <param name="oldOrder"></param>
|
|
|
/// <param name="fromFunc">日志操作来源</param>
|
|
|
/// <param name="updateFields">明确的被修改的字段</param>
|
|
|
/// <returns></returns>
|
|
|
Task SaveLog(BookingOrder newOrder, BookingOrder oldOrder, string fromFunc, List<string> updateFields = null);
|
|
|
|
|
|
|
|
|
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);
|
|
|
}
|
|
|
} |