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.

229 lines
6.6 KiB
C#

using DS.Module.Core;
using DS.Module.Core.Data;
using DS.Module.DjyRulesEngine;
using DS.WMS.Core.Op.Dtos;
using DS.WMS.Core.Op.EDI;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
namespace DS.WMS.Core.Op.Interface;
public interface ISeaExportService
{
/// <summary>
/// 列表
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
Task<DataResult<SeaExportListRes>> GetListByPage(PageRequest request);
/// <summary>
/// 海运出口分单列表
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public Task<DataResult<List<SeaExportRes>>> GetSeaExportPartList(PageRequest request);
/// <summary>
/// 编辑
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
Task<DataResult> EditSeaExport(SeaExportReq model);
/// <summary>
/// 获取详情
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
DataResult<SeaExportRes> GetSeaExportInfo(string id);
/// <summary>
/// 批量编辑单据
/// </summary>
/// <param name="req"></param>
/// <returns></returns>
Task<DataResult> SeaExportBatchEdit(SeaExportBatchEditReq req);
/// <summary>
/// 业务单据删除
/// </summary>
/// <param name="id">业务Id</param>
/// <returns></returns>
public DataResult SeaExportDel(string id);
/// <summary>
/// 业务单据删除
/// </summary>
/// <param name="req">业务Ids</param>
/// <returns></returns>
public DataResult SeaExportBatchDel(IdModel req);
/// <summary>
/// 业务单据单票复制
/// </summary>
/// <param name="id">业务Id</param>
/// <returns></returns>
public DataResult SeaExportCopy(string id);
/// <summary>
/// 获取场站数据
/// </summary>
/// <param name="id">业务Id</param>
/// <param name="isWeb">是否网站数据 默认false</param>
/// <returns></returns>
public Task<DataResult<string>> GetYardData(string id, bool isWeb = false);
/// <summary>
/// 发起运踪订阅或者更新提单号
/// </summary>
/// <param name="req"></param>
/// <returns></returns>
public Task<DataResult<string>> SendOrUpdateTrace(List<BillTraceSendReq> req);
/// <summary>
/// 运踪退订
/// </summary>
/// <param name="req"></param>
/// <returns></returns>
public Task<DataResult<string>> UnsubscribeBillTrace(List<BillTraceUnsubscribeList> req);
/// <summary>
/// 获取VGM、VGM SI链接
/// </summary>
/// <param name="id">业务Id</param>
/// <returns></returns>
public Task<DataResult<string[]>> VgmLink(string id);
/// <summary>
/// 发送VGM
/// </summary>
/// <param name="id">业务Id</param>
/// <returns></returns>
public Task<DataResult<string>> VgmSend(string id);
/// <summary>
/// 批量获取vgm
/// </summary>
/// <param name="ids">业务id 逗号拼接</param>
/// <returns></returns>
public Task<DataResult<List<BatchVGM>>> GetVmgDataList(string ids);
/// <summary>
/// 批量保存vgm
/// </summary>
/// <param name="req"></param>
/// <returns></returns>
public Task<DataResult<string>> SaveBatchVgm(List<BatchVGMList> req);
/// <summary>
/// 获取提箱小票链接
/// </summary>
/// <param name="id">业务Id</param>
/// <returns></returns>
public Task<DataResult<string>> TxxpLink(string id);
/// <summary>
/// 检查是否VOLTA并返回初始数据
/// </summary>
/// <param name="req">请求参数</param>
/// <returns>返回回执</returns>
public DataResult<VOLTAEDIBaseModel> CheckAndInitVOLTAEdi(BookingOrClosingEDIOrderReq req);
/// <summary>
/// 发送订舱、截单EDI
/// </summary>
/// <param name="req">订舱、截单EDI请求</param>
/// <returns>返回回执</returns>
public Task<DataResult<string>> SendBookingOrClosingEDI(BookingOrClosingEDIOrderReq req);
/// <summary>
/// 下载订舱、截单EDI
/// </summary>
/// <param name="req"></param>
/// <returns></returns>
public Task<DataResult<OpFileDownLoadRes>> DownloadBookingOrClosingEDI(BookingOrClosingEDIOrderReq req);
/// <summary>
/// 发送下货纸
/// </summary>
/// <param name="id">业务id</param>
/// <returns></returns>
public Task<DataResult> SendXHZ(string id);
/// <summary>
/// 船司电放提交
/// </summary>
/// <param name="req">订舱主键数组</param>
/// <returns>每单的处理提交结果</returns>
public Task<DataResult<List<SubmitTelexResultDto>>> SubmitTelex(IdModel req);
/// <summary>
/// 上传OCR附件
/// </summary>
/// <param name="file"></param>
/// <param name="req"></param>
/// <returns></returns>
public Task<DataResult<string>> UploadOcrFile(IFormFile file, [FromForm] OpFileReq req);
/// <summary>
/// 海运出口规则引擎校验
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public Task<DataResult<RuleEngineResult>> ExcuteRuleEngine(string id);
/// <summary>
/// 订单及货运动态
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public Task<DataResult<List<BookingStatusLogRes>>> GetBookingStatusLogList(PageRequest request);
/// <summary>
/// 发送托书
/// </summary>
/// <param name="req"></param>
/// <returns></returns>
public Task<DataResult<string>> SendShippingOrderEmail(SendShippingOrderReq req);
/// <summary>
/// 打印托书
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public Task<DataResult> PrintShippingOrderPDF(string id);
/// <summary>
/// 检索订单信息(如果当前为拆、合票,内包含分票信息)
/// </summary>
/// <param name="mblNo">提单号</param>
/// <returns></returns>
Task<DataResult<SeaExportOrderExtension>> SearchOrderInfo(string mblNo);
/// <summary>
/// 刷新运踪(互联网和云港通)
/// </summary>
/// <param name="Ids"></param>
/// <returns></returns>
public Task<DataResult<string>> RefreshYGT(long[] Ids);
/// <summary>
/// 打印保函
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public Task<DataResult> PrintShippingOrderLetterPDF(string id);
/// <summary>
/// 获取海运出口日志
/// </summary>
/// <param name="id">业务Id</param>
/// <returns></returns>
public Task<DataResult<List<OpBusinessLogRes>>> GetSeaExportLogList(string id);
}