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.

262 lines
7.8 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.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 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);
7 months ago
/// <summary>
/// 获取VGM、VGM SI链接
/// </summary>
/// <param name="id">业务Id</param>
/// <returns></returns>
public Task<DataResult<string[]>> VgmLink(string id);
7 months ago
/// <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);
4 months ago
/// <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);
2 months ago
/// <summary>
/// 获取VGM发送通道选项
2 months ago
/// </summary>
/// <param name="id">订单主键</param>
/// <returns>返回回执</returns>
Task<DataResult<CheckVGMShowDto>> GetVgmSendChannel(string id);
}