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.

163 lines
5.6 KiB
C#

using DS.Module.Core;
using DS.WMS.Core.Code.Entity;
using DS.WMS.Core.Op.Dtos;
using DS.WMS.Core.Op.EDI;
using DS.WMS.Core.Op.Entity;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DS.WMS.Core.Op.Interface
{
public interface ISeaExportCommonService
{
/// <summary>
/// 更新手动更新海运出口派车报关标识
/// </summary>
/// <param name="id"></param>
/// <param name="code"></param>
/// <param name="type">类型 true 勾选保存 false 勾选取消</param>
public void UpdateSeaExportTag(long id, string code, bool type = true);
/// <summary>
/// 海运出口差异日志
/// </summary>
/// <param name="req"></param>
/// <returns></returns>
public Task SaveSeaExportLogAsync(SeaExportSaveLog req, SqlSugarScopeProvider tenantDb);
/// <summary>
/// 获取第三方账户
/// </summary>
/// <param name="type"></param>
/// <param name="userId"></param>
/// <param name="tenantDb"></param>
/// <param name="customerId"></param>
/// <returns></returns>
public CodeThirdParty GetCodeThirdParty(string type, string userId, SqlSugarScopeProvider tenantDb, long customerId = 0);
/// <summary>
/// 获取客户结算方式及结算日期
/// </summary>
/// <param name="req"></param>
/// <returns></returns>
public DataResult<CustomerStlRes> GetCustomerStlInfo(CustomerStlReq req);
/// <summary>
/// 设置货物状态完成
/// </summary>
/// <param name="code"></param>
/// <param name="bookingId"></param>
/// <returns></returns>
public Task SetGoodsStatus(string code, long bookingId, SqlSugarScopeProvider tenantDb);
/// <summary>
/// 发送XHZ
/// </summary>
/// <param name="bookingId"></param>
/// <param name="filerole"></param>
/// <returns></returns>
public Task<DataResult> XHZSend(
long bookingId, string filerole);
/// <summary>
/// 更新订舱的状态
/// </summary>
/// <param name="bookingId">订舱主键</param>
/// <param name="code">状态代码</param>
/// <param name="name">状态名称</param>
/// <returns></returns>
public Task SaveBookingStatus(long bookingId, string code, string name);
/// <summary>
/// 获取船公司代码
/// </summary>
/// <param name="Id"></param>
/// <param name="tenantDb"></param>
/// <returns></returns>
public string GetCarrierCode(long Id, SqlSugarScopeProvider tenantDb);
/// <summary>
/// 获取港口代码
/// </summary>
/// <param name="Id"></param>
/// <param name="tenantDb"></param>
/// <returns></returns>
public string GetPortCode(long Id, SqlSugarScopeProvider tenantDb);
/// <summary>
/// 获取系统配置信息
/// </summary>
/// <param name="code"></param>
/// <returns></returns>
public Task<DataResult<string>> GetConfigData(string code);
/// <summary>
/// 获取往来单位代码 有EDICode返 无返回CodeName
/// </summary>
/// <param name="Id"></param>
/// <param name="tenantDb"></param>
/// <param name="isEDI"></param>
/// <returns></returns>
public string GetClientCode(long Id, SqlSugarScopeProvider tenantDb, bool isEDI = true);
/// <summary>
/// 获取场站映射名称
/// </summary>
/// <param name="Id"></param>
/// <param name="tenantDb"></param>
/// <returns></returns>
public EDIMapperInfo GetYardMapper(long Id, SqlSugarScopeProvider tenantDb);
/// <summary>
/// 获取船公司映射名称
/// </summary>
/// <param name="Id"></param>
/// <param name="tenantDb"></param>
/// <returns></returns>
public EDIMapperInfo GetCarrierMapper(long Id, SqlSugarScopeProvider tenantDb);
/// <summary>
/// 海运出口对外开放更新接口
/// </summary>
/// <param name="req"></param>
/// <returns></returns>
public Task<DataResult> SeaExportOpenEdit(SeaExportOpenEditReq req);
/// <summary>
/// 保存集装箱明细信息需自动更新业务主表
/// </summary>
/// <param name="entity"></param>
/// <param name="ctnList"></param>
/// <returns></returns>
public SeaExport UpdateSeaExportCtnInfo(SeaExport entity, List<OpCtnReq> ctnList);
/// <summary>
/// 获取港口详情
/// </summary>
/// <param name="Id"></param>
/// <param name="tenantDb"></param>
/// <returns></returns>
Task<DataResult<CodePort>> GetPortInfo(long Id, SqlSugarScopeProvider tenantDb);
/// <summary>
/// 获取船公司详情
/// </summary>
/// <param name="Id"></param>
/// <param name="tenantDb"></param>
/// <returns></returns>
Task<DataResult<CodeCarrier>> GetCarrierInfo(long Id, SqlSugarScopeProvider tenantDb);
/// <summary>
/// 根据订舱中的港口代码查找映射EDI代码
/// </summary>
/// <param name="Id">港口ID</param>
/// <param name="module">模块代码</param>
/// <returns></returns>
string GetDischargePortEDICode(long Id, string module = "");
}
}