|
|
|
|
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;
|
|
|
|
|
|
|
|
|
|
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>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
Task<dynamic> SendBookingOrder(long[] ids);
|
|
|
|
|
|
|
|
|
|
/// <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>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
Task SaveLog(BookingOrder newOrder, BookingOrder oldOrder, string fromFunc);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
Task SetBookingGoodsStatus(long bookingId, bool isAutoSyncDS = false);
|
|
|
|
|
|
|
|
|
|
/// <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);
|
|
|
|
|
}
|
|
|
|
|
}
|