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.

345 lines
7.6 KiB
C#

using DS.Module.Core;
using Masuit.Tools.Systems;
using SqlSugar;
using System.ComponentModel;
namespace DS.WMS.Core.Fee.Dtos;
/// <summary>
/// 费用记录返回实体
/// </summary>
public class FeeRecordRes
{
/// <summary>
/// 主键Id
/// </summary>
public long Id { get; set; }
/// <summary>
/// 业务Id
/// </summary>
public long BusinessId { get; set; }
/// <summary>
/// 收付类型(收、付) 1应收 2 应付
/// </summary>
public int FeeType { get; set; }
public string FeeTypeText { get { return FeeType == 1 ? "应收" : "应付"; } }
/// <summary>
/// 费用Id
/// </summary>
public long FeeId { get; set; }
/// <summary>
/// 费用代码 录入费用是作为检索
/// </summary>
public string FeeCode { get; set; }
/// <summary>
/// 费用名称
/// </summary>
public string FeeName { get; set; }
/// <summary>
/// 费用英文名称
/// </summary>
public string FeeEnName { get; set; }
/// <summary>
/// 费用对象
/// </summary>
public string CustomerName { get; set; }
/// <summary>
/// 费用对象编码
/// </summary>
public string CustomerCode { get; set; }
/// <summary>
/// 费用对象Id
/// </summary>
public long CustomerId { get; set; }
/// <summary>
/// 费用对象类型
/// </summary>
public string CustomerType { 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; }
public string CustomerTypeText { get; set; }
public string UnitText { get; set; }
public string CurrencyText { get; set; }
/// <summary>
/// 汇率
/// </summary>
public decimal? ExchangeRate { get; set; }
/// <summary>
/// 驳回原因
/// </summary>
public string Reason { get; set; }
/// <summary>
/// 备注
/// </summary>
public string Remark { get; set; }
/// <summary>
/// Desc:佣金比率
/// </summary>
public decimal? CommissionRate { get; set; } = 0;
/// <summary>
/// Desc:结算金额
/// </summary>
public decimal? SettlementAmount { get; set; } = 0;
/// <summary>
/// Desc:开票金额
/// </summary>
public decimal? InvoiceAmount { get; set; } = 0;
/// <summary>
/// 未开票金额
/// </summary>
public decimal? InvoiceAmountRest { get { return InvoiceAmount.HasValue ? Amount - InvoiceAmount.Value : null; } }
/// <summary>
/// Desc:申请金额
/// </summary>
public decimal? OrderAmount { get; set; } = 0;
/// <summary>
/// Desc:申请开票金额
/// </summary>
public decimal? OrderInvoiceAmount { get; set; } = 0;
/// <summary>
/// 提交日期
/// </summary>
public DateTime? SubmitDate { get; set; }
/// <summary>
/// 审核人Id
/// </summary>
public long? AuditBy { get; set; }
/// <summary>
/// 审核人
/// </summary>
public string AuditOperator { get; set; }
/// <summary>
/// 审核日期
/// </summary>
public DateTime? AuditDate { get; set; }
/// <summary>
/// 是否机密费用
/// </summary>
public bool? IsOpen { get; set; } = false;
/// <summary>
/// 对帐编号
/// </summary>
public string DebitNo { get; set; }
/// <summary>
/// 是否对帐
/// </summary>
public bool IsDebit { get; set; } = false;
/// <summary>
/// 是否垫付费用
/// </summary>
public bool? IsAdvancedPay { get; set; } = false;
/// <summary>
/// 是否禁开发票
/// </summary>
public bool? IsInvoice { get; set; } = false;
/// <summary>
/// 是否销售订舱
/// </summary>
public bool? IsCrmOrderFee { get; set; } = false;
/// <summary>
/// 排序
/// </summary>
public int? OrderNo { get; set; } = 100;
/// <summary>
/// 费用状态
/// </summary>
public FeeStatus FeeStatus { get; set; }
public string FeeStatusText { get { return FeeStatus.GetDescription(); } }
/// <summary>
/// 发票号
/// </summary>
public string InvoiceNum { get; set; }
/// <summary>
/// 支票号
/// </summary>
public string ChequeNum { get; set; }
/// <summary>
/// 仓储编号
/// </summary>
public string WmsOutBSNO { get; set; }
/// <summary>
/// 行号
/// </summary>
public int LineNum { get; set; }
/// <summary>
/// 税率
/// </summary>
public decimal TaxRate { get; set; }
/// <summary>
/// 不含税金额
/// </summary>
public decimal NoTaxAmount { get; set; }
/// <summary>
/// 财务税率 (销项税率)
/// </summary>
public decimal AccTaxRate { get; set; }
/// <summary>
/// 销项税额
/// </summary>
public decimal AccTax { get { return Amount.GetValueOrDefault() * AccTaxRate; } }
/// <summary>
/// 销项金额
/// </summary>
public decimal AccTaxValue { get { return Amount.GetValueOrDefault() - AccTax; } }
/// <summary>
/// 是否生成凭证
/// </summary>
public bool IsVou { get; set; }
/// <summary>
/// 报销编号
/// </summary>
public string BxId { get; set; }
/// <summary>
/// 税额
/// </summary>
public decimal Tax { get; set; }
/// <summary>
/// 申请结算金额
/// </summary>
public decimal OrderSettlementAmount { get; set; }
/// <summary>
/// 含税单价
/// </summary>
public decimal TaxUnitPrice { get; set; }
/// <summary>
/// 申请发票开票金额
/// </summary>
public decimal OrderInvSettlementAmount { get; set; }
/// <summary>
/// 凭证号
/// </summary>
public string VoucherNo { get; set; }
/// <summary>
///
/// </summary>
public string SalesNo { get; set; }
/// <summary>
/// 借款编号
/// </summary>
public string JkId { get; set; }
/// <summary>
///
/// </summary>
public string DeliveryNo { get; set; }
/// <summary>
/// 本位币
/// </summary>
public string LocalCurrency { get; set; }
/// <summary>
/// 责任人
/// </summary>
public string Manager { get; set; }
/// <summary>
/// 是否财务费用
/// </summary>
public bool IsAcc { get; set; }
/// <summary>
///
/// </summary>
public string PaymentId { get; set; }
/// <summary>
///
/// </summary>
public string StatementNo { get; set; }
/// <summary>
/// 核算单位
/// </summary>
public string SaleOrg { get; set; }
/// <summary>
/// 核算单位Id
/// </summary>
public long SaleOrgId { get; set; }
/// <summary>
/// 发票自助连接
/// </summary>
public string InvLinkId { get; set; }
/// <summary>
/// 提交人
/// </summary>
public string SubmitBy { get; set; }
/// <summary>
/// 备注
/// </summary>
public string Note { get; set; } = "";
/// <summary>
/// 修改人
/// </summary>
public long? UpdateBy { get; set; }
/// <summary>
/// 修改人名字
/// </summary>
public string UpdateByName { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime UpdateTime { get; set; }
}