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.

114 lines
2.4 KiB
C#

using DS.Module.Core;
using FluentValidation;
namespace DS.WMS.Core.Info.Dtos;
/// <summary>
/// 客户财务账期请求实体
/// </summary>
public class ClientAccountDateReq
{
/// <summary>
/// 主键Id
/// </summary>
public long Id { get; set; }
/// <summary>
/// 客户Id
/// </summary>
public long ClientId { get; set; }
/// <summary>
/// Desc:业务来源Id
/// </summary>
public long SourceId { get; set; }
/// <summary>
/// Desc:合同生效日期
/// </summary>
public DateTime? BeginDate { get; set; }
/// <summary>
/// Desc:合同结束日期
/// </summary>
public DateTime? EndDate { get; set; }
/// <summary>
/// Desc:业务类型
/// </summary>
public string BusinessType { get; set; }
/// <summary>
/// Desc:揽货人Id
/// </summary>
public long SaleId { get; set; }
/// <summary>
/// Desc:账期类型
/// </summary>
public string AccountType { get; set; }
/// <summary>
/// Desc:账期起算日
/// </summary>
public string AccountStartDate { get; set; }
/// <summary>
/// Desc:间隔月份
/// </summary>
public byte? AccountMonth { get; set; }
/// <summary>
/// Desc:账期日期
/// </summary>
public byte? AccountDays { get; set; }
/// <summary>
/// Desc:信用额度
/// </summary>
public decimal? AllowAmount { get; set; }
/// <summary>
/// Desc:合同Id
/// </summary>
public long ContractId { get; set; }
/// <summary>
/// Desc:运杂费比例
/// </summary>
public decimal? CommissionRate { get; set; } = 0;
/// <summary>
/// 状态 0 启用 1 禁用
/// </summary>
public StatusEnum? Status { get; set; } = StatusEnum.Enable;
/// <summary>
/// 备注
/// </summary>
public string Note { get; set; } = "";
/// <summary>
/// 特批放单客户
/// </summary>
public bool IsSpecial { get; set; }
}
/// <summary>
/// 验证
/// </summary>
public class ClientAccountDateReqValidator : AbstractValidator<ClientAccountDateReq>
{
/// <summary>
/// 构造函数
/// </summary>
public ClientAccountDateReqValidator()
{
this.RuleFor(o => o.AccountType)
.NotEmpty().WithName("账期类型");
this.RuleFor(o => o.BusinessType)
.NotEmpty().WithName("业务类型");
}
}