using DS.Module.Core;
using DS.WMS.Core.Op.Entity;
using Masuit.Tools.Systems;
using SqlSugar;
namespace DS.WMS.Core.Fee.Dtos
{
///
/// 业务
///
public class BusinessDto
{
///
/// 业务ID
///
public long BusinessId { get; set; }
///
/// 业务类型
///
public BusinessType BusinessType { get; set; }
///
/// 业务类型描述
///
public string BusinessTypeText => BusinessType.GetDescription();
///
/// 应收费用状态
///
public BillFeeStatus? ARFeeStatus { get; set; }
///
/// 应收费用状态描述
///
public string ARFeeStatusText => ARFeeStatus?.GetDescription();
///
/// 应付费用状态
///
public BillFeeStatus? APFeeStatus { get; set; }
///
/// 应付费用状态描述
///
public string APFeeStatusText => APFeeStatus?.GetDescription();
///
/// 委托单位ID
///
public long ClientId { get; set; }
///
/// 委托单位名称
///
public string? ClientName { get; set; }
///
/// 主提单号
///
public string? MBLNO { get; set; }
///
/// 分提单号
///
public string? HBLNO { get; set; }
///
/// 开船日期
///
public DateTime? ETD { get; set; }
///
/// 业务状态
///
public string? BusinessStatus { get; set; }
///
/// 业务锁定
///
public bool? IsBusinessLocking { get; set; }
///
/// 费用锁定
///
public bool? IsFeeLocking { get; set; }
///
/// 委托编号
///
public string CustomerNo { get; set; }
///
/// 报关单号
///
public string? CustomNo { get; set; }
///
/// 揽货人ID
///
//[IgnoreDataMember]
public long? SaleId { get; set; }
///
/// 揽货人名称
///
public string? Sale { get; set; }
///
/// 集装箱
///
public string? CntrTotal { get; set; }
///
/// 会计期间
///
public string? AccountDate { get; set; }
//[IgnoreDataMember]
public long? SourceId { get; set; }
///
/// 业务来源
///
public string? SourceName { get; set; }
//[IgnoreDataMember]
public long? SourceDetailId { get; set; }
///
/// 来源明细
///
public string? DetailName { get; set; }
///
/// 经营单位
///
public string? BusinessUnit { get; set; }
///
/// 备注
///
public string? Remark { get; set; }
///
/// 其他备注
///
public string? Note { get; set; }
///
/// 创建人ID
///
//[IgnoreDataMember]
public long CreateBy { get; set; }
///
/// 创建人用户名
///
public string CreateByName { get; set; }
///
/// 操作ID
///
//[IgnoreDataMember]
public long? OperatorId { get; set; }
///
/// 操作员
///
public string? Operator { get; set; }
///
/// 起运港
///
public string? LoadPort { get; set; }
///
/// 卸货港
///
public string? DischargePort { get; set; }
///
/// 船名
///
public string? Vessel { get; set; }
///
/// 航次
///
public string? Voyage { get; set; }
///
/// 客服员ID
///
//[IgnoreDataMember]
public long? CustomerServiceId { get; set; }
///
/// 客服员
///
public string? CustomerServiceName { get; set; }
///
/// 收货地
///
public string? ReceiptPlace { get; set; }
///
/// 目的地
///
public string? Destination { get; set; }
///
/// 订单号
///
public string? OrderNo { get; set; }
///
/// 运杂费比例
///
public decimal? FreightRatio { get; set; }
///
/// 品名
///
public string? GoodsName { get; set; }
///
/// 付费方式
///
public string? MBLFrt { get; set; }
///
/// 承运人/船公司
///
public string? Carrier { get; set; }
///
/// 场站
///
public string? Yard { get; set; }
///
/// 订舱公司
///
public string? Forwarder { get; set; }
///
/// 签单方式
///
public string? IssueType { get; set; }
///
/// 运费协议号
///
public string? ContractNo { get; set; }
///
/// 所属分部ID
///
//[IgnoreDataMember]
public long SaleDeptId { get; set; }
///
/// 所属分部名
///
public string? SaleDeptName { get; set; }
///
/// 装运方式
///
public string? BLType { get; set; }
///
/// 货物标识
///
public string? CargoId { get; set; }
///
/// 危险品等级
///
public string? DangerClass { get; set; }
///
/// 运输类型
///
public string? ShipmentType { get; set; }
///
/// 业务日期
///
public DateTime? BusinessDate { get; set; }
///
/// 国外代理ID
///
public long? AgentId { get; set; }
///
/// 发票号
///
public string? InvoiceNo { get; set; }
///
/// 订舱编号
///
public string? BookingNo { get; set; }
///
/// 结算方式
///
public string? StlName { get; set; }
}
///
/// 业务费用
///
public class BusinessFeeDto : BusinessDto
{
///
/// 费用记录ID
///
public long RecordId { get; set; }
///
/// 费用状态
///
public FeeStatus FeeStatus { get; set; }
///
/// 费用状态描述
///
public string FeeStatusText { get { return FeeStatus.GetDescription(); } }
///
/// 收付类型(收、付) 1应收 2 应付
///
public FeeType FeeType { get; set; }
///
/// 收付类型描述
///
public string FeeTypeText { get { return FeeType.GetDescription(); } }
///
/// 费用ID
///
public long FeeId { get; set; }
///
/// 费用名称
///
public string FeeName { get; set; }
///
/// 费用英文名称
///
public string? FeeEnName { get; set; }
///
/// 费用对象ID
///
public long CustomerId { get; set; }
///
/// 费用对象
///
public string CustomerName { get; set; }
///
/// 费用对象全称
///
public string? CustomerFullName { get; set; }
///
/// 费用标准
///
public string? Unit { get; set; }
///
/// 单价
///
public decimal UnitPrice { get; set; }
///
/// 数量
///
public decimal Quantity { get; set; }
///
/// 金额
///
public decimal Amount { get; set; }
///
/// 币别
///
public string Currency { get; set; }
///
/// 汇率
///
public decimal? ExchangeRate { get; set; }
///
/// 佣金比率
///
public decimal CommissionRate { get; set; }
///
/// 结算金额
///
public decimal SettlementAmount { get; set; }
///
/// 开票金额
///
public decimal InvoiceAmount { get; set; }
///
/// 申请金额
///
public decimal OrderAmount { get; set; }
///
/// 申请开票金额
///
public decimal OrderInvoiceAmount { get; set; }
///
/// 申请结算金额
///
public decimal OrderSettlementAmount { get; set; }
///
/// 申请发票开票金额
///
public decimal OrderInvSettlementAmount { get; set; }
/////
///// 未开票金额
/////
//public decimal InvoiceAmountRest { get; set; }
///
/// 是否机密费用
///
public bool IsOpen { get; set; }
///
/// 对帐编号
///
public string? DebitNo { get; set; }
///
/// 是否对帐
///
public bool IsDebit { get; set; }
///
/// 是否垫付费用
///
public bool IsAdvancedPay { get; set; }
///
/// 是否禁开发票
///
public bool IsInvoice { get; set; }
///
/// 是否财务费用
///
public bool IsAcc { get; set; }
///
/// 税率
///
public decimal TaxRate { get; set; }
///
/// 含税单价
///
public decimal TaxUnitPrice { get; set; }
///
/// 不含税金额
///
public decimal NoTaxAmount { get; set; }
///
/// 财务税率 (销项税率)
///
public decimal AccTaxRate { get; set; }
///
/// 销项税额
///
public decimal AccTax { get { return Amount * AccTaxRate; } }
///
/// 销项金额
///
public decimal AccTaxValue { get { return Amount - AccTax; } }
///
/// 税额
///
public decimal Tax { get; set; }
///
/// 核算单位Id
///
public long SaleOrgId { get; set; }
///
/// 核算单位
///
public string? SaleOrg { get; set; }
///
/// 创建人
///
public long CreateBy { get; set; }
///
/// 创建人名字
///
public string CreateByName { get; set; }
///
/// 创建时间
///
public DateTime CreateTime { get; set; }
}
}