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.

539 lines
13 KiB
C#

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