using Microsoft.AspNetCore.Mvc;
using Myshipping.Core;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Myshipping.Application
{
public interface IBookingMSKAPIService
{
///
/// 检索海运船期详情
///
/// 请求船期详情
/// 返回船期结果
Task> SearchShipSailingSchedule(QueryShipSailingScheduleDto model);
///
/// 发送马士基订舱请求
///
/// 请求订舱详情
/// 返回检索结果
Task SendMSKBooking(MSKBookingDto model);
///
/// 检索商品名称
///
/// 请求详情
/// 返回检索结果
Task> SearchCommodities(QueryCommoditiesDto model);
///
/// 检索始发地、目的港口信息
///
/// 请求详情
/// 返回检索结果
Task> SearchLocations(QueryLocationsDto model);
///
/// 马士基API订舱台账
///
/// 查询条件
/// 返回台账列表
Task> GetPageAsync(QueryBookingDeliveryRecordDto QuerySearch);
///
/// 获取马士基API订舱详情
///
/// 马士基API订舱ID
/// 返回详情
Task GetInfo(long id);
///
/// 保存
///
/// 请求订舱详情
/// 返回ID
Task Save(MSKBookingDto model);
///
/// 删除
///
/// 请求订舱ID
///
Task Delete(long id);
///
/// 批量发送API前调取校验预警
///
/// 马士基API订舱ID组
/// 返回提示信息
Task CheckWarningBatchSend(long[] ids);
///
/// 批量发送
///
/// 马士基API订舱ID组
/// 返回执行结果消息
Task BatchSend(long[] ids);
///
/// 批量复制前调取校验预警
///
/// 马士基API批量复制指定数据
/// 返回提示信息
Task CheckWarningBatchCopy(MSKAPIBookingCopyDto model);
///
/// 批量复制
///
/// 马士基API批量复制指定数据
/// 返回执行结果消息
Task BatchCopy(MSKAPIBookingCopyDto model);
///
/// 同步BC状态(BC,Cancellation)
///
/// 提单号
/// 租户ID
/// 操作类型 BC-同步BC状态 Cancellation-同步取消状态
/// 返回回执
Task SyncBCInfo(string mblno, long tenantId, string opTypeName = "BookingConfirmation");
///
/// 获取初始化页面默认值
///
/// 返回详情
Task GetInitInfo();
///
/// 批量设定定时订舱时间
///
/// 请求详情
/// 返回回执
Task BatchSetupTimerBooking(MSKAPITimerBookingDto model);
///
/// 获取定时订舱方案列表
///
///
Task> GetTimerSchemeList();
///
/// 发送马士基订舱请求
///
/// 请求订舱ID
/// 返回检索结果
Task SendMSKBookingById(long id);
///
/// 生成订舱订舱报告邮件并自动转发
///
///
Task GenerateTimerReportEmail();
///
/// 批量取消定时订舱时间
///
/// 马士基API订舱ID组
/// 返回回执
Task BatchCancelTimerBooking(long[] ids);
}
}