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
{
///
/// 海运出口差异日志
///
///
///
public Task SaveSeaExportLogAsync(SeaExportSaveLog req, SqlSugarScopeProvider tenantDb);
///
/// 获取第三方账户
///
///
///
///
///
///
public CodeThirdParty GetCodeThirdParty(string type, string userId, SqlSugarScopeProvider tenantDb, long customerId = 0);
///
/// 获取客户结算方式及结算日期
///
///
///
public DataResult GetCustomerStlInfo(CustomerStlReq req);
///
/// 设置货物状态完成
///
///
///
///
public Task SetGoodsStatus(string code, long bookingId, SqlSugarScopeProvider tenantDb);
///
/// 发送XHZ
///
///
///
///
public Task XHZSend(
long bookingId, string filerole);
///
/// 更新订舱的状态
///
/// 订舱主键
/// 状态代码
/// 状态名称
///
public Task SaveBookingStatus(long bookingId, string code, string name);
///
/// 获取船公司代码
///
///
///
///
public string GetCarrierCode(long Id, SqlSugarScopeProvider tenantDb);
///
/// 获取港口代码
///
///
///
///
public string GetPortCode(long Id, SqlSugarScopeProvider tenantDb);
///
/// 获取系统配置信息
///
///
///
public Task> GetConfigData(string code);
///
/// 获取往来单位代码 有EDICode返 无返回CodeName
///
///
///
///
///
public string GetClientCode(long Id, SqlSugarScopeProvider tenantDb, bool isEDI = true);
///
/// 获取场站映射名称
///
///
///
///
public EDIMapperInfo GetYardMapper(long Id, SqlSugarScopeProvider tenantDb);
///
/// 获取船公司映射名称
///
///
///
///
public EDIMapperInfo GetCarrierMapper(long Id, SqlSugarScopeProvider tenantDb);
///
/// 海运出口对外开放更新接口
///
///
///
public Task SeaExportOpenEdit(SeaExportOpenEditReq req);
///
/// 保存集装箱明细信息需自动更新业务主表
///
///
///
///
public SeaExport UpdateSeaExportCtnInfo(SeaExport entity, List ctnList);
///
/// 获取港口详情
///
///
///
///
Task> GetPortInfo(long Id, SqlSugarScopeProvider tenantDb);
///
/// 根据订舱中的港口代码查找映射EDI代码
///
/// 港口ID
/// 模块代码
///
string GetDischargePortEDICode(long Id, string module = "");
}
}