using DS.Module.Core;
using DS.WMS.Core.Op.Entity;
using FluentValidation;
namespace DS.WMS.Core.Fee.Dtos;
///
/// 费用记录请求实体
///
public class FeeRecordReq
{
///
/// 主键Id
///
public long Id { get; set; }
///
/// 业务Id
///
public long BusinessId { get; set; }
public BusinessType BusinessType { get; set; }
///
/// 收付类型(收、付) 1应收 2 应付
///
public FeeType FeeType { get; set; }
///
/// 费用Id
///
public long FeeId { get; set; }
///
/// 费用代码 录入费用是作为检索
///
public string FeeCode { get; set; }
///
/// 费用名称
///
public string FeeName { get; set; }
///
/// 费用英文名称
///
public string FeeEnName { get; set; }
///
/// 费用对象
///
public string CustomerName { get; set; }
///
/// 费用对象编码
///
public string CustomerCode { get; set; }
///
/// 费用对象Id
///
public long CustomerId { get; set; }
///
/// 费用对象类型
///
public string CustomerType { 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 string CustomerTypeText { get; set; }
public string UnitText { get; set; }
public string CurrencyText { get; set; }
///
/// 汇率
///
public decimal? ExchangeRate { get; set; }
///
/// 驳回原因
///
public string Reason { get; set; }
///
/// 备注
///
public string Remark { get; set; }
///
/// Desc:佣金比率
///
public decimal? CommissionRate { get; set; }
///
/// Desc:结算金额
///
public decimal? SettlementAmount { get; set; }
///
/// Desc:开票金额
///
public decimal? InvoiceAmount { get; set; }
///
/// Desc:申请金额
///
public decimal? OrderAmount { get; set; }
///
/// Desc:申请开票金额
///
public decimal? OrderInvoiceAmount { 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? IsCrmOrderFee { get; set; }
///
/// 排序
///
public int? OrderNo { get; set; }
///
/// 费用状态
///
public FeeStatus FeeStatus { get; set; }
///
/// 发票号
///
public string InvoiceNum { get; set; }
///
/// 支票号
///
public string ChequeNum { get; set; }
///
/// 仓储编号
///
public string WmsOutBSNO { get; set; }
///
/// 行号
///
public int LineNum { get; set; }
///
/// 税率
///
public decimal TaxRate { get; set; }
///
/// 不含税金额
///
public decimal NoTaxAmount { get; set; }
///
/// 财务税率
///
public decimal AccTaxRate { get; set; }
///
/// 是否生成凭证
///
public bool IsVou { get; set; }
///
/// 报销编号
///
public string BxId { get; set; }
///
/// 税额
///
public decimal Tax { get; set; }
///
/// 申请结算金额
///
public decimal OrderSettlementAmount { get; set; }
///
/// 含税单价
///
public decimal TaxUnitPrice { get; set; }
///
/// 申请发票开票金额
///
public decimal OrderInvSettlementAmount { get; set; }
///
/// 凭证号
///
public string VoucherNo { get; set; }
///
///
///
public string SalesNo { get; set; }
///
/// 借款编号
///
public string JkId { get; set; }
///
///
///
public string DeliveryNo { get; set; }
///
/// 本位币
///
public string LocalCurrency { get; set; }
///
/// 责任人
///
public string Manager { get; set; }
///
/// 是否财务费用
///
public bool IsAcc { get; set; }
///
///
///
public string PaymentId { get; set; }
///
///
///
public string StatementNo { get; set; }
///
/// 核算单位
///
public string SaleOrg { get; set; }
///
/// 核算单位Id
///
public long SaleOrgId { get; set; }
///
/// 发票自助连接
///
public string InvLinkId { get; set; }
///
/// 备注
///
public string Note { get; set; }
}
///
/// 验证
///
public class FeeRecordReqValidator : AbstractValidator
{
///
/// 构造函数
///
public FeeRecordReqValidator()
{
this.RuleFor(o => o.FeeCode)
.NotEmpty().WithName("费用代码");
this.RuleFor(o => o.CustomerCode)
.NotEmpty().WithName("费用对象");
}
}