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.

417 lines
8.7 KiB
C#

using DS.Module.Core;
using FluentValidation;
namespace DS.WMS.Core.Info.Dtos;
/// <summary>
/// 客户基本信息请求实体
/// </summary>
public class ClientInfoReq
{
/// <summary>
/// 主键Id
/// </summary>
public long Id { get; set; }
/// <summary>
/// Desc:客户代码
/// </summary>
public string CodeName { get; set; }
/// <summary>
/// Desc:客户简称
/// </summary>
public string ShortName { get; set; }
/// <summary>
/// Desc:客户中文名称或描述信息
/// </summary>
public string Description { get; set; }
/// <summary>
/// Desc:客户英文简称
/// </summary>
public string Name { get; set; }
/// <summary>
/// Desc:客户英文全称
/// </summary>
public string EnFullName { get; set; }
/// <summary>
/// Desc:通讯地址
/// </summary>
public string Address { get; set; }
/// <summary>
/// Desc:邮箱
/// </summary>
public string Email { get; set; }
/// <summary>
/// Desc:网页
/// </summary>
public string Web { get; set; }
/// <summary>
/// Desc:电话
/// </summary>
public string Tel { get; set; }
/// <summary>
/// Desc:传真
/// </summary>
public string Fax { get; set; }
/// <summary>
/// Desc:负责人
/// </summary>
public string Chief { get; set; }
/// <summary>
/// Desc:所属揽货人
/// </summary>
public long SaleId { get; set; }
/// <summary>
/// Desc:所属操作人
/// </summary>
public long Op { get; set; }
/// <summary>
/// Desc:所属单证
/// </summary>
public long Doc { get; set; }
/// <summary>
/// Desc:国家
/// </summary>
public string Country { get; set; }
/// <summary>
/// Desc:省或州
/// </summary>
public string Province { get; set; }
/// <summary>
/// Desc:城市
/// </summary>
public string City { get; set; }
/// <summary>
/// Desc:提单信息
/// </summary>
public string BLContent { get; set; }
/// <summary>
/// Desc:是否停用
/// </summary>
public bool? IsStop { get; set; } = false;
/// <summary>
/// Desc:发票抬头1
/// </summary>
public string BillRises1 { get; set; }
/// <summary>
/// Desc:发票抬头2
/// </summary>
public string BillRises2 { get; set; }
/// <summary>
/// Desc:美元支票抬头
/// </summary>
public string USDBillRises { get; set; }
/// <summary>
/// Desc:人民币支票抬头
/// </summary>
public string RMBBillRises { get; set; }
/// <summary>
/// Desc:人民币开户银行
/// </summary>
public string RMBBank { get; set; }
/// <summary>
/// Desc:人民币账号
/// </summary>
public string RMBAccount { get; set; }
/// <summary>
/// Desc:人民币联机行号
/// </summary>
public string RMBOnlineNO { get; set; }
/// <summary>
/// Desc:美元开户银行
/// </summary>
public string USDBank { get; set; }
/// <summary>
/// Desc:美元账号
/// </summary>
public string USDAccount { get; set; }
/// <summary>
/// Desc:美元联机行号
/// </summary>
public string USDOnlineNO { get; set; }
/// <summary>
/// Desc:自定义属性1
/// </summary>
public string CustomAttributes1 { get; set; }
/// <summary>
/// Desc:自定义属性2
/// </summary>
public string CustomAttributes2 { get; set; }
/// <summary>
/// Desc:美元信用最大金额
/// </summary>
public decimal? USDMaxAmountCredit { get; set; } = 0;
/// <summary>
/// Desc:人民币信用最大金额
/// </summary>
public decimal? RMBMaxAmountCredit { get; set; } = 0;
/// <summary>
/// Desc:信用最大金额RMB+USD
/// </summary>
public decimal? MaxAmountCredit { get; set; } = 0;
/// <summary>
/// Desc:结算方式编码
/// </summary>
public string StlName { get; set; }
/// <summary>
/// Desc:美金汇率
/// </summary>
public decimal? USDExchangeRate { get; set; }
/// <summary>
/// Desc:月结算时间
/// </summary>
public string StlDate { get; set; }
/// <summary>
/// Desc:上半月结算时间
/// </summary>
public string StlFirstHalfDate { get; set; }
/// <summary>
/// Desc:下半月结算时间
/// </summary>
public string StlMiddleDate { get; set; }
/// <summary>
/// Desc:票结结算时间
/// </summary>
public string InvoiceStlDate { get; set; }
/// <summary>
/// Desc:等级
/// </summary>
public string Level { get; set; }
/// <summary>
/// Desc:QQ
/// </summary>
public string QQ { get; set; }
/// <summary>
/// Desc:MSN
/// </summary>
public string MSN { get; set; }
/// <summary>
/// Desc:财务应收账款代码
/// </summary>
public string FARCode { get; set; }
/// <summary>
/// Desc:财务应付账款代码
/// </summary>
public string FAPCode { get; set; }
/// <summary>
/// Desc:冷藏费率
/// </summary>
public string UnitPrice { get; set; }
/// <summary>
/// Desc:企业备案号
/// </summary>
public string RegistrationNo { get; set; }
/// <summary>
/// Desc:财务序号
/// </summary>
public string OrderNo { get; set; }
/// <summary>
/// Desc:纳税人识别号
/// </summary>
public string TaxNo { get; set; }
/// <summary>
/// Desc:EDI代码
/// </summary>
public string EDICode { get; set; }
/// <summary>
/// Desc:EDI代码2
/// </summary>
public string EDICode2 { get; set; }
/// <summary>
/// Desc:EDI代码3
/// </summary>
public string EDICode3 { get; set; }
/// <summary>
/// Desc:组织机构代码
/// </summary>
public string OrganizationCode { get; set; }
/// <summary>
/// Desc: 所属集团
/// </summary>
public string PcorpName { get; set; }
/// <summary>
/// Desc:企业商检备案号
/// </summary>
public string InspectionNo { get; set; }
/// <summary>
/// 审批状态
/// </summary>
public AuditStatusEnum? AuditStatus { get; set; } = AuditStatusEnum.Approve;
/// <summary>
/// 审批时间
/// </summary>
public DateTime? AuditTime { get; set; }
/// <summary>
/// 审批意见
/// </summary>
public string AuditNote { get; set; }
/// <summary>
/// Desc:默认付费方式
/// </summary>
public string FeeFRT { get; set; }
/// <summary>
/// Desc:收单据模式
/// </summary>
public int? RCVMode { get; set; }
/// <summary>
/// Desc:业务来源Id
/// </summary>
public long SourceId { get; set; }
/// <summary>
/// Desc:发票银行
/// </summary>
public string InvoiceBank { get; set; }
/// <summary>
/// Desc:发票地址电话
/// </summary>
public string InvoiceAddrTel { get; set; }
/// <summary>
/// Desc:所属分部
/// </summary>
public long? SaleOrgId { get; set; }
/// <summary>
/// Desc:提成比例
/// </summary>
public decimal? CommissionRate { get; set; } = 0;
/// <summary>
/// Desc:分成比例
/// </summary>
public decimal? ProportionRate { get; set; } = 0;
/// <summary>
/// Desc:提成参与人
/// </summary>
public long CommissionUserId { get; set; }
/// <summary>
/// Desc:运输公司列表
/// </summary>
public string CarrierList { get; set; }
/// <summary>
/// Desc:集装箱尺寸
/// </summary>
public string CtnType { get; set; }
/// <summary>
/// Desc: 客服
/// </summary>
public long CustomerService { get; set; } = 0;
/// <summary>
/// Desc:英文简称
/// </summary>
public string EnShortName { get; set; }
/// <summary>
/// Desc:仓储费开始日期模式
/// </summary>
public string WMSFeeRateType { get; set; }
/// <summary>
/// 状态 0 启用 1 禁用
/// </summary>
public StatusEnum? Status { get; set; } = StatusEnum.Enable;
/// <summary>
/// 备注
/// </summary>
public string Note { get; set; } = "";
/// <summary>
/// 客户标识
/// </summary>
public ClientTagReq ClientTag { get; set; }
}
/// <summary>
/// 验证
/// </summary>
public class ClientInfoReqValidator : AbstractValidator<ClientInfoReq>
{
/// <summary>
/// 构造函数
/// </summary>
public ClientInfoReqValidator()
{
this.RuleFor(o => o.CodeName)
.NotEmpty().WithName("客户代码");
this.RuleFor(o => o.ShortName)
.NotEmpty().WithName("客户简称");
}
}