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.

289 lines
8.5 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.Module.DjyRulesEngine;
using DS.WMS.Core.Op.Dtos;
using DS.WMS.Core.Op.Dtos.VGM;
using DS.WMS.Core.Op.EDI;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using SqlSugar;
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="req"></param>
/// <param name="tenantDb"></param>
/// <returns></returns>
public Task<DataResult> CreateSeaExportOrder(SeaExportReq req, SqlSugarScopeProvider tenantDb);
/// <summary>
/// 获取详情
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
Task<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 Task<DataResult> SeaExportDel(string id);
/// <summary>
/// 业务单据删除
/// </summary>
/// <param name="req">业务Ids</param>
/// <returns></returns>
public Task<DataResult> SeaExportBatchDel(IdModel req);
/// <summary>
/// 业务单据单票复制
/// </summary>
/// <param name="id">业务Id</param>
/// <returns></returns>
public DataResult SeaExportCopy(string id);
/// <summary>
/// 业务单据复制-返回前端
/// </summary>
/// <param name="req"></param>
/// <returns></returns>
public Task<DataResult<SeaExportCopyRes>> GetSeaExportCopyInfo(SeaExportCopyReq req);
/// <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);
/// <summary>
/// 获取订舱记录在指定网站的HTML数据
/// </summary>
/// <param name="id">业务Id</param>
/// <param name="webCode">网站编码值为YARD或HLW_CD或YGTYARD获取订舱记录所属场站的网页数据HLW_CD获取互联网+的网页数据YGT获取云港通的网页数据</param>
/// <returns></returns>
public Task<DataResult<string>> GetWebData(string id, string webCode);
/// <summary>
/// 获取VGM发送通道选项
/// </summary>
/// <param name="id">订单主键</param>
/// <returns>返回回执</returns>
Task<DataResult<CheckVGMShowDto>> GetVgmSendChannel(string id);
/// <summary>
/// 刷新运踪
/// </summary>
/// <param name="Ids"></param>
/// <returns></returns>
public Task<DataResult<string>> RefreshYunZong(long[] Ids);
/// <summary>
/// 刷新运踪(场站)
/// </summary>
/// <param name="Ids"></param>
/// <returns></returns>
public Task<DataResult<string>> RefreshYard(long[] Ids);
/// <summary>
/// 提交订单
/// </summary>
/// <param name="req"></param>
/// <returns></returns>
public Task<DataResult> CreateOrderAuditTaskAsync(IdModel req);
/// <summary>
/// 更新服务项目
/// </summary>
/// <returns></returns>
public Task<DataResult> UpdateSeaExportServiceItem();
}