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.

300 lines
10 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.Attributes;
using DS.WMS.Core.Op.Dtos;
using DS.WMS.Core.Op.Interface;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Org.BouncyCastle.Crypto;
namespace DS.WMS.OpApi.Controllers
{
/// <summary>
/// 预订舱马士基API合约订舱
/// </summary>
public class SpaceBookingMSKAPIController : ApiController
{
private readonly ISpaceBookingMSKAPIService _spaceBookingMSKAPIService;
public SpaceBookingMSKAPIController(ISpaceBookingMSKAPIService spaceBookingMSKAPIService)
{
_spaceBookingMSKAPIService = spaceBookingMSKAPIService;
}
#region 检索海运船期详情
/// <summary>
/// 检索海运船期详情
/// </summary>
/// <param name="model">请求船期详情</param>
/// <returns>返回船期结果</returns>
[HttpPost]
[Route("SearchShipSailingSchedule")]
public async Task<DataResult<List<SearchShipSailingScheduleResultDto>>> SearchShipSailingSchedule(QueryShipSailingScheduleDto model)
{
return await _spaceBookingMSKAPIService.SearchShipSailingSchedule(model);
}
#endregion
#region 发送马士基订舱请求
/// <summary>
/// 发送马士基订舱请求
/// </summary>
/// <param name="model">请求订舱详情</param>
/// <returns>返回检索结果</returns>
[HttpPost]
[Route("SendMSKBooking")]
public async Task<DataResult<MSKBookingResultDto>> SendMSKBooking(MSKBookingDto model)
{
return await _spaceBookingMSKAPIService.SendMSKBooking(model);
}
#endregion
#region 检索商品名称
/// <summary>
/// 检索商品名称
/// </summary>
/// <param name="model">请求详情</param>
/// <returns>返回检索结果</returns>
[HttpPost]
[Route("SearchCommodities")]
public async Task<DataResult<List<SearchCommodityResultDto>>> SearchCommodities(QueryCommoditiesDto model)
{
return await _spaceBookingMSKAPIService.SearchCommodities(model);
}
#endregion
#region 检索始发地、目的港口信息
/// <summary>
/// 检索始发地、目的港口信息
/// </summary>
/// <param name="model">请求详情</param>
/// <returns>返回检索结果</returns>
[HttpPost]
[Route("SearchLocations")]
public async Task<DataResult<List<QueryLocationsResultDto>>> SearchLocations(QueryLocationsDto model)
{
return await _spaceBookingMSKAPIService.SearchLocations(model);
}
#endregion
#region 查询台账
/// <summary>
/// 查询台账
/// </summary>
/// <param name="querySearch"></param>
/// <returns>返回台账结果</returns>
[HttpPost]
[Route("GetPageAsync")]
public async Task<DataResult<List<SpaceBookingPageDto>>> GetPageAsync([FromBody] PageRequest querySearch)
{
return await _spaceBookingMSKAPIService.GetPageAsync(querySearch);
}
#endregion
#region 获取马士基API订舱详情
/// <summary>
/// 获取马士基API订舱详情
/// </summary>
/// <param name="id">马士基API订舱ID</param>
/// <returns>返回详情</returns>
[HttpGet]
[Route("GetInfo")]
public async Task<DataResult<MSKBookingDto>> GetInfo(long id)
{
return await _spaceBookingMSKAPIService.GetInfo(id);
}
#endregion
#region 保存
/// <summary>
/// 保存
/// </summary>
/// <param name="model">请求订舱详情</param>
/// <returns>返回ID</returns>
[HttpPost]
[Route("Save")]
public async Task<DataResult<long>> Save([FromBody] MSKBookingDto model)
{
return await _spaceBookingMSKAPIService.Save(model);
}
#endregion
#region 删除
/// <summary>
/// 删除
/// </summary>
/// <param name="id">请求订舱ID</param>
/// <returns></returns>
[HttpGet]
[Route("Delete")]
public async Task<DataResult<string>> Delete(long id)
{
return await _spaceBookingMSKAPIService.Delete(id);
}
#endregion
#region 批量发送API前调取校验预警
/// <summary>
/// 批量发送API前调取校验预警
/// </summary>
/// <param name="ids">马士基API订舱ID组</param>
/// <returns>返回提示信息</returns>
[HttpPost]
[Route("CheckWarningBatchSend")]
public async Task<DataResult<string>> CheckWarningBatchSend([FromBody] long[] ids)
{
return await _spaceBookingMSKAPIService.CheckWarningBatchSend(ids);
}
#endregion
#region 批量发送
/// <summary>
/// 批量发送
/// </summary>
/// <param name="ids">马士基API订舱ID组</param>
/// <returns>返回执行结果消息</returns>
[HttpPost]
[Route("BatchSend")]
public async Task<DataResult<string>> BatchSend([FromBody] long[] ids)
{
return await _spaceBookingMSKAPIService.BatchSend(ids);
}
#endregion
#region 批量复制前调取校验预警
/// <summary>
/// 批量复制前调取校验预警
/// </summary>
/// <param name="model">马士基API批量复制指定数据</param>
/// <returns>返回提示信息</returns>
[HttpPost]
[Route("CheckWarningBatchCopy")]
public async Task<DataResult<string>> CheckWarningBatchCopy(MSKAPIBookingCopyDto model)
{
return await _spaceBookingMSKAPIService.CheckWarningBatchCopy(model);
}
#endregion
#region 批量复制
/// <summary>
/// 批量复制
/// </summary>
/// <param name="model">马士基API批量复制指定数据</param>
/// <returns>返回执行结果消息</returns>
[HttpPost]
[Route("BatchCopy")]
public async Task<DataResult<string>> BatchCopy(MSKAPIBookingCopyDto model)
{
return await _spaceBookingMSKAPIService.BatchCopy(model);
}
#endregion
#region 同步BC状态BC,Cancellation
/// <summary>
/// 同步BC状态BC,Cancellation
/// </summary>
/// <param name="mblno">提单号</param>
/// <param name="tenantId">租户ID</param>
/// <param name="opTypeName">操作类型 BC-同步BC状态 Cancellation-同步取消状态</param>
/// <returns>返回回执</returns>
[HttpGet]
[Route("SyncBCInfo")]
public async Task<DataResult<MSKBookingResultDto>> SyncBCInfo(string mblno, long tenantId, string opTypeName = "BookingConfirmation")
{
return await _spaceBookingMSKAPIService.SyncBCInfo(mblno, tenantId, opTypeName);
}
#endregion
#region 获取初始化页面默认值
/// <summary>
/// 获取初始化页面默认值
/// </summary>
/// <returns>返回详情</returns>
[HttpGet]
[Route("GetInitInfo")]
public async Task<DataResult<MSKSPOTBookingInitDto>> GetInitInfo()
{
return await _spaceBookingMSKAPIService.GetInitInfo();
}
#endregion
#region 获取预订舱途径选择
/// <summary>
/// 获取预订舱途径选择
/// </summary>
/// <returns>返回结果</returns>
[HttpGet]
[Route("ChannelSelectShow")]
public async Task<DataResult<List<string>>> GetBookingChannelSelectShow()
{
return await _spaceBookingMSKAPIService.GetBookingChannelSelectShow();
}
#endregion
#region 生成订舱报告邮件并自动转发
/// <summary>
/// 生成订舱报告邮件并自动转发
/// </summary>
/// <returns></returns>
[HttpGet("GenerateTimerReportEmail")]
public async Task<DataResult<string>> GenerateTimerReportEmail()
{
return await _spaceBookingMSKAPIService.GenerateTimerReportEmail();
}
#endregion
#region 批量取消定时订舱时间
/// <summary>
/// 批量取消定时订舱时间
/// </summary>
/// <param name="ids">马士基API订舱ID组</param>
/// <returns>返回回执</returns>
[HttpPost("BatchCancelTimerBooking")]
public async Task<DataResult<string>> BatchCancelTimerBooking([FromBody] long[] ids)
{
return await _spaceBookingMSKAPIService.BatchCancelTimerBooking(ids);
}
#endregion
#region 获取定时订舱方案列表
/// <summary>
/// 获取定时订舱方案列表
/// </summary>
/// <returns></returns>
[HttpGet("GetTimerSchemeList")]
public async Task<DataResult<List<MSKAPITimerSchemeDto>>> GetTimerSchemeList()
{
return await _spaceBookingMSKAPIService.GetTimerSchemeList();
}
#endregion
#region 批量设定定时订舱时间
/// <summary>
/// 批量设定定时订舱时间
/// </summary>
/// <param name="model">请求详情</param>
/// <returns>返回回执</returns>
[HttpPost("BatchSetupTimerBooking")]
public async Task<DataResult<string>> BatchSetupTimerBooking([FromBody] MSKAPITimerBookingDto model)
{
return await _spaceBookingMSKAPIService.BatchSetupTimerBooking(model);
}
#endregion
#region 发送马士基订舱请求
/// <summary>
/// 发送马士基订舱请求
/// </summary>
/// <param name="id">请求订舱ID</param>
/// <returns>返回检索结果</returns>
[HttpGet("SendMSKBookingById"), AllowAnonymous, ApiUser(ApiCode = "BCTaskManage")]
public async Task<DataResult<MSKBookingResultDto>> SendMSKBookingById([FromQuery] long id)
{
return await _spaceBookingMSKAPIService.SendMSKBookingById(id);
}
#endregion
}
}