using DS.Module.Core.Data;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DS.WMS.Core.Fee.Entity
{
///
/// 费用记录
///
[SugarTable("fee_record", TableDescription = "费用记录")]
public class FeeRecord : BaseModel
{
///
/// 业务Id
///
[SugarColumn(ColumnDescription = "业务Id")]
public long BusinessId { get; set; }
///
/// 收付类型(收、付) 1应收 2 应付
///
[SugarColumn(ColumnDescription = "收付类型(收、付)", IsNullable = false, DefaultValue = "1")]
public int FeeType { get; set; }
///
/// 费用Id
///
[SugarColumn(ColumnDescription = "费用Id")]
public long FeeId { get; set; }
///
/// 费用代码 录入费用是作为检索
///
[SugarColumn(ColumnDescription = "费用代码", Length = 50, IsNullable = true)]
public string FeeCode { get; set; }
///
/// 费用名称
///
[SugarColumn(ColumnDescription = "费用名称", Length = 100, IsNullable = true)]
public string FeeName { get; set; }
///
/// 费用对象
///
[SugarColumn(ColumnDescription = "费用对象", Length = 100, IsNullable = true)]
public string CustomerName { get; set; }
///
/// 费用对象编码
///
[SugarColumn(ColumnDescription = "费用对象编码", Length = 100, IsNullable = true)]
public string CustomerCode { get; set; }
///
/// 费用对象类型
///
[SugarColumn(ColumnDescription = "费用对象类型", IsNullable = false, DefaultValue = "1")]
public int CustomerType { get; set; }
///
/// 费用标准
///
[SugarColumn(ColumnDescription = "费用标准", Length = 20, IsNullable = true)]
public string Unit { get; set; }
///
/// 单价
///
[SugarColumn(ColumnDescription = "单价", IsNullable = true, Length = 18, DecimalDigits = 4, DefaultValue = "0")]
public decimal? UnitPrice { get; set; }
///
/// 数量
///
[SugarColumn(ColumnDescription = "数量", IsNullable = true, Length = 18, DecimalDigits = 4, DefaultValue = "0")]
public decimal? Quantity { get; set; }
///
/// 金额
///
[SugarColumn(ColumnDescription = "金额", IsNullable = true, Length = 18, DecimalDigits = 2, DefaultValue = "0")]
public decimal? Amount { get; set; }
///
/// 币别
///
[SugarColumn(ColumnDescription = "币别", Length = 20)]
public string Currency { get; set; }
///
/// 汇率
///
[SugarColumn(ColumnDescription = "汇率", IsNullable = true, Length = 18, DecimalDigits = 5, DefaultValue = "0")]
public decimal? ExchangeRate { get; set; }
///
/// 驳回原因
///
[SugarColumn(ColumnDescription = "驳回原因", Length = 100, IsNullable = true)]
public string Reason { get; set; }
///
/// 备注
///
[SugarColumn(ColumnDescription = "备注", Length = 1000, IsNullable = true)]
public string Remark { get; set; }
///
/// Desc:佣金比率
///
[SugarColumn(ColumnDescription = "佣金比率", Length = 18, DecimalDigits = 3, DefaultValue = "0")]
public decimal? CommissionRate { get; set; } = 0;
///
/// Desc:结算金额
///
[SugarColumn(ColumnDescription = "结算金额", Length = 18, DecimalDigits = 2, DefaultValue = "0")]
public decimal? SettlementAmount { get; set; } = 0;
///
/// Desc:开票金额
///
[SugarColumn(ColumnDescription = "开票金额", Length = 18, DecimalDigits = 2, DefaultValue = "0")]
public decimal? InvoiceAmount { get; set; } = 0;
///
/// Desc:申请金额
///
[SugarColumn(ColumnDescription = "申请金额", Length = 18, DecimalDigits = 2, DefaultValue = "0")]
public decimal? OrderAmount { get; set; } = 0;
///
/// Desc:申请开票金额
///
[SugarColumn(ColumnDescription = "申请开票金额", Length = 18, DecimalDigits = 2, DefaultValue = "0")]
public decimal? OrderInvoiceAmount { get; set; } = 0;
///
/// 提交日期
///
[SugarColumn(ColumnDescription = "提交日期")]
public DateTime? SubmitDate { get; set; }
///
/// 审核人Id
///
[SugarColumn(ColumnDescription = "审核人Id")]
public long AuditBy { get; set; }
///
/// 审核人
///
[SugarColumn(ColumnDescription = "审核人",IsNullable = true, Length = 50)]
public string AuditOperator { get; set; }
///
/// 审核日期
///
[SugarColumn(ColumnDescription = "审核日期")]
public DateTime AuditDate { get; set; }
///
/// 是否机密费用
///
[SugarColumn(ColumnDescription = "是否机密费用", DefaultValue = "0")]
public bool? IsOpen { get; set; } = false;
///
/// 对帐编号
///
[SugarColumn(ColumnDescription = "对帐编号", IsNullable = true, Length = 50)]
public string DebitNo { get; set; }
///
/// 是否对帐
///
[SugarColumn(ColumnDescription = "IsDebit", DefaultValue = "0")]
public bool IsDebit { get; set; } = false;
///
/// 是否垫付费用
///
[SugarColumn(ColumnDescription = "是否垫付费用", DefaultValue = "0")]
public bool? IsAdvancedPay { get; set; } = false;
///
/// 是否禁开发票
///
[SugarColumn(ColumnDescription = "是否禁开发票", DefaultValue = "0")]
public bool? IsInvoice { get; set; } = false;
///
/// 是否销售订舱
///
[SugarColumn(ColumnDescription = "是否销售订舱", DefaultValue = "0")]
public bool? IsCrmOrderFee { get; set; } = false;
///
/// 排序
///
[SugarColumn(ColumnDescription = "排序")]
public int? OrderNo { get; set; } = 100;
///
/// 费用状态
///
[SugarColumn(ColumnDescription = "费用状态", DefaultValue = "0")]
public int FeeStatus { get; set; }
///
/// 发票号
///
[SugarColumn(ColumnDescription = "发票号", IsNullable = true, Length = 200)]
public string InvoiceNum { get; set; }
///
/// 支票号
///
[SugarColumn(ColumnDescription = "支票号", IsNullable = true, Length = 200)]
[Description("支票号")]
public string ChequeNum { get; set; }
///
/// 仓储编号
///
[SugarColumn(ColumnDescription = "仓储编号", IsNullable = true, Length = 100)]
public string WmsOutBSNO { get; set; }
///
/// 行号
///
[SugarColumn(ColumnDescription = "行号")]
public int LineNum { get; set; }
///
/// 税率
///
[SugarColumn(ColumnDescription = "税率", Length = 18, DecimalDigits = 4, DefaultValue = "0")]
public decimal TaxRate { get; set; }
///
/// 不含税金额
///
[SugarColumn(ColumnDescription = "不含税金额", Length = 18, DecimalDigits = 2, DefaultValue = "0")]
public decimal NoTaxAmount { get; set; }
///
/// 财务税率
///
[SugarColumn(ColumnDescription = "财务税率", Length = 18, DecimalDigits = 4, DefaultValue = "0")]
public decimal AccTaxRate { get; set; }
///
/// 是否生成凭证
///
[SugarColumn(ColumnDescription = "是否生成凭证", IsNullable = true, DefaultValue = "0")]
public bool IsVou { get; set; }
///
/// 报销编号
///
[SugarColumn(ColumnDescription = "报销编号", IsNullable = true, Length = 50)]
public string BxId { get; set; }
///
/// 税额
///
[SugarColumn(ColumnDescription = "税额", Length = 18, DecimalDigits = 2, DefaultValue = "0")]
public decimal Tax { get; set; }
///
/// 申请结算金额
///
[SugarColumn(ColumnDescription = "申请结算金额", Length = 18, DecimalDigits = 2, DefaultValue = "0")]
public decimal OrderSettlementAmount { get; set; }
///
/// 含税单价
///
[SugarColumn(ColumnDescription = "含税单价", Length = 18, DecimalDigits = 4, DefaultValue = "0")]
public decimal TaxUnitPrice { get; set; }
///
/// 申请发票开票金额
///
[SugarColumn(ColumnDescription = "申请发票开票金额", Length = 18, DecimalDigits = 3, DefaultValue = "0")]
public decimal OrderInvSettlementAmount { get; set; }
///
/// 凭证号
///
[SugarColumn(ColumnDescription = "凭证号", IsNullable = true, Length = 50)]
public string VoucherNo { get; set; }
///
///
///
[SugarColumn(ColumnDescription = "SalesNo", IsNullable = true, Length = 50)]
public string SalesNo { get; set; }
///
/// 借款编号
///
[SugarColumn(ColumnDescription = "借款编号", IsNullable = true, Length = 50)]
public string JkId { get; set; }
///
///
///
[SugarColumn(ColumnDescription = "DeliveryNo", IsNullable = true, Length = 50)]
public string DeliveryNo { get; set; }
///
/// 本位币
///
[SugarColumn(ColumnDescription = "本位币", IsNullable = true, Length = 30)]
public string LocalCurrency { get; set; }
///
/// 责任人
///
[SugarColumn(ColumnDescription = "责任人", IsNullable = true, Length = 50)]
public string Manager { get; set; }
///
/// 是否财务费用
///
[SugarColumn(ColumnDescription = "是否财务费用", IsNullable = true, DefaultValue ="0")]
public bool IsAcc { get; set; }
///
///
///
[SugarColumn(ColumnDescription = "PaymentId", IsNullable = true, Length = 50)]
public string PaymentId { get; set; }
///
///
///
[SugarColumn(ColumnDescription = "StatementNo",IsNullable = true, Length = 50)]
public string StatementNo{ get; set; }
///
/// 核算单位
///
[SugarColumn(ColumnDescription = "核算单位", IsNullable = true, Length = 50)]
public string SaleOrg { get; set; }
///
/// 核算单位Id
///
[SugarColumn(ColumnDescription = "核算单位Id")]
public long SaleOrgId { get; set; }
///
/// 发票自助连接
///
[SugarColumn(ColumnDescription = "发票自助连接", IsNullable = true, Length = 50)]
public string InvLinkId { get; set; }
///
/// 提交人
///
[SugarColumn(ColumnDescription = "提交人", IsNullable = true, Length = 50)]
public string SubmitBy { get; set; }
}
}