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.

163 lines
5.8 KiB
C#

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using DS.Module.Core;
using DS.Module.Core.Data;
using DS.WMS.Core.Op.Dtos;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DS.WMS.Core.Op.Interface
{
/// <summary>
/// 马士基API订舱
/// </summary>
public interface ISpaceBookingMSKAPIService
{
/// <summary>
/// 检索海运船期详情
/// </summary>
/// <param name="model">请求船期详情</param>
/// <returns>返回船期结果</returns>
Task<DataResult<List<SearchShipSailingScheduleResultDto>>> SearchShipSailingSchedule(QueryShipSailingScheduleDto model);
/// <summary>
/// 发送马士基订舱请求
/// </summary>
/// <param name="model">请求订舱详情</param>
/// <returns>返回检索结果</returns>
Task<DataResult<MSKBookingResultDto>> SendMSKBooking(MSKBookingDto model);
/// <summary>
/// 检索商品名称
/// </summary>
/// <param name="model">请求详情</param>
/// <returns>返回检索结果</returns>
Task<DataResult<List<SearchCommodityResultDto>>> SearchCommodities(QueryCommoditiesDto model);
/// <summary>
/// 检索始发地、目的港口信息
/// </summary>
/// <param name="model">请求详情</param>
/// <returns>返回检索结果</returns>
Task<DataResult<List<QueryLocationsResultDto>>> SearchLocations(QueryLocationsDto model);
/// <summary>
/// 马士基API订舱台账
/// </summary>
/// <param name="QuerySearch">查询条件</param>
/// <returns>返回台账列表</returns>
Task<DataResult<List<SpaceBookingPageDto>>> GetPageAsync(PageRequest QuerySearch);
/// <summary>
/// 获取马士基API订舱详情
/// </summary>
/// <param name="id">马士基API订舱ID</param>
/// <returns>返回详情</returns>
Task<DataResult<MSKBookingDto>> GetInfo(long id);
/// <summary>
/// 保存
/// </summary>
/// <param name="model">请求订舱详情</param>
/// <returns>返回ID</returns>
Task<DataResult<long>> Save(MSKBookingDto model);
/// <summary>
/// 删除
/// </summary>
/// <param name="id">请求订舱ID</param>
/// <returns></returns>
Task<DataResult<string>> Delete(long id);
/// <summary>
/// 批量发送API前调取校验预警
/// </summary>
/// <param name="ids">马士基API订舱ID组</param>
/// <returns>返回提示信息</returns>
Task<DataResult<string>> CheckWarningBatchSend(long[] ids);
/// <summary>
/// 批量发送
/// </summary>
/// <param name="ids">马士基API订舱ID组</param>
/// <returns>返回执行结果消息</returns>
Task<DataResult<string>> BatchSend(long[] ids);
/// <summary>
/// 批量复制前调取校验预警
/// </summary>
/// <param name="model">马士基API批量复制指定数据</param>
/// <returns>返回提示信息</returns>
Task<DataResult<string>> CheckWarningBatchCopy(MSKAPIBookingCopyDto model);
/// <summary>
/// 批量复制
/// </summary>
/// <param name="model">马士基API批量复制指定数据</param>
/// <returns>返回执行结果消息</returns>
Task<DataResult<string>> BatchCopy(MSKAPIBookingCopyDto model);
/// <summary>
/// 同步BC状态BC,Cancellation
/// </summary>
/// <param name="mblno">提单号</param>
/// <param name="tenantId">租户ID</param>
/// <param name="opTypeName">操作类型 BC-同步BC状态 Cancellation-同步取消状态</param>
/// <returns>返回回执</returns>
Task<DataResult<MSKBookingResultDto>> SyncBCInfo(string mblno, long tenantId, string opTypeName = "BookingConfirmation");
/// <summary>
/// 同步BC状态BC,Cancellation作为任务台执行模块
/// </summary>
/// <param name="dataContext">数据上下文</param>
Task<DataResult<MSKBookingResultDto>> SyncBCInfoTask(TaskFlowDataContext dataContext);
/// <summary>
/// 获取初始化页面默认值
/// </summary>
/// <returns>返回详情</returns>
Task<DataResult<MSKSPOTBookingInitDto>> GetInitInfo();
/// <summary>
/// 获取预订舱途径选择
/// </summary>
/// <returns>返回回执</returns>
Task<DataResult<List<string>>> GetBookingChannelSelectShow();
/// <summary>
/// 批量设定定时订舱时间
/// </summary>
/// <param name="model">请求详情</param>
/// <returns>返回回执</returns>
Task<DataResult<string>> BatchSetupTimerBooking(MSKAPITimerBookingDto model);
/// <summary>
/// 获取定时订舱方案列表
/// </summary>
/// <returns></returns>
Task<DataResult<List<MSKAPITimerSchemeDto>>> GetTimerSchemeList();
/// <summary>
/// 生成订舱订舱报告邮件并自动转发
/// </summary>
/// <returns></returns>
Task<DataResult<string>> GenerateTimerReportEmail();
/// <summary>
/// 批量取消定时订舱时间
/// </summary>
/// <param name="ids">马士基API订舱ID组</param>
/// <returns>返回回执</returns>
Task<DataResult<string>> BatchCancelTimerBooking(long[] ids);
/// <summary>
/// 发送马士基订舱请求
/// </summary>
/// <param name="id">请求订舱ID</param>
/// <returns>返回检索结果</returns>
Task<DataResult<MSKBookingResultDto>> SendMSKBookingById(long id);
}
}