|
|
using System.Runtime.Serialization;
|
|
|
using DS.Module.Core.Enums;
|
|
|
using DS.WMS.Core.Info.Entity;
|
|
|
using FluentValidation;
|
|
|
using SqlSugar;
|
|
|
|
|
|
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 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; }
|
|
|
|
|
|
///// <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>
|
|
|
/// 所属集团ID
|
|
|
/// </summary>
|
|
|
public long? PcorpId { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// Desc: 所属集团
|
|
|
/// </summary>
|
|
|
public string? PcorpName { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// Desc:企业商检备案号
|
|
|
/// </summary>
|
|
|
public string InspectionNo { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 审批时间
|
|
|
/// </summary>
|
|
|
public DateTime? AuditTime { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 审批意见
|
|
|
/// </summary>
|
|
|
public string AuditNote { get; set; }
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
/// Desc:默认付费方式
|
|
|
/// </summary>
|
|
|
public string FeeFRT { 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>
|
|
|
/// 所属分部
|
|
|
/// </summary>
|
|
|
public long[]? SaleOrgIdList { get; set; }
|
|
|
|
|
|
///// <summary>
|
|
|
///// 所属分部值
|
|
|
///// </summary>
|
|
|
//[IgnoreDataMember]
|
|
|
//public string? SaleOrgId => SaleOrgIdList == null ? null : string.Join(",", SaleOrgIdList);
|
|
|
|
|
|
/// <summary>
|
|
|
/// Desc:所属分部值
|
|
|
/// </summary>
|
|
|
public string? SaleOrgId { get; set; }
|
|
|
/// <summary>
|
|
|
/// Desc:提成比例
|
|
|
/// </summary>
|
|
|
public decimal CommissionRate { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// Desc:分成比例
|
|
|
/// </summary>
|
|
|
public decimal ProportionRate { get; set; }
|
|
|
|
|
|
/// <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 string EnShortName { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// Desc:仓储费开始日期模式
|
|
|
/// </summary>
|
|
|
public string WMSFeeRateType { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 备注
|
|
|
/// </summary>
|
|
|
public string? Note { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 客户属性
|
|
|
/// </summary>
|
|
|
public List<InfoClientAttribute> Attributes { get; set; } = [];
|
|
|
|
|
|
/// <summary>
|
|
|
/// 是否共享
|
|
|
/// </summary>
|
|
|
public bool IsShared { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 揽货人Id
|
|
|
/// </summary>
|
|
|
public long? SaleId { get; set; }
|
|
|
/// <summary>
|
|
|
/// 揽货人
|
|
|
/// </summary>
|
|
|
public string Sale { get; set; }
|
|
|
/// <summary>
|
|
|
/// Desc:单证
|
|
|
/// </summary>
|
|
|
public long? Doc { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// Desc:单证人员
|
|
|
/// </summary>
|
|
|
public string DocName { get; set; }
|
|
|
/// <summary>
|
|
|
/// 操作员
|
|
|
/// </summary>
|
|
|
public long? OperatorId { get; set; }
|
|
|
/// <summary>
|
|
|
/// 操作员名称
|
|
|
/// </summary>
|
|
|
public string OperatorName { get; set; }
|
|
|
/// <summary>
|
|
|
/// 客服
|
|
|
/// </summary>
|
|
|
public long? CustomerService { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 客服名称
|
|
|
/// </summary>
|
|
|
public string CustomerServiceName { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 开票方式
|
|
|
/// </summary>
|
|
|
public InvoicingMethod? InvoicingMethod { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 推送设置
|
|
|
/// </summary>
|
|
|
public PushNotification[]? Notifications { get; set; }
|
|
|
|
|
|
[IgnoreDataMember]
|
|
|
public PushNotification Notification
|
|
|
{
|
|
|
get
|
|
|
{
|
|
|
if (Notifications == null || Notifications.Length == 0)
|
|
|
return PushNotification.None;
|
|
|
|
|
|
PushNotification flags = PushNotification.None;
|
|
|
for (int i = 0; i < Notifications.Length; i++)
|
|
|
flags |= Notifications[i];
|
|
|
|
|
|
return flags;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 是否超期扣单
|
|
|
/// </summary>
|
|
|
public bool IsOverdueDeduction { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 超期天数
|
|
|
/// </summary>
|
|
|
public int OverdueDays { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 是否押最后一单
|
|
|
/// </summary>
|
|
|
public bool IsMortgageLastOrder { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// Desc:业务来源明细Id
|
|
|
/// </summary>
|
|
|
public long SourceDetailId { get; set; }
|
|
|
/// <summary>
|
|
|
/// Desc:业务来源名称
|
|
|
/// </summary>
|
|
|
public string SourceName { get; set; }
|
|
|
/// <summary>
|
|
|
/// Desc:业务来源明细名称
|
|
|
/// </summary>
|
|
|
public string SourceDetailName { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 所属分部名称
|
|
|
/// </summary>
|
|
|
public string? SaleOrgName { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 服务项目代码
|
|
|
/// </summary>
|
|
|
public string[]? ServiceItemCodes { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 是否为客户
|
|
|
/// </summary>
|
|
|
public bool IsCustomer { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 是否为供应商
|
|
|
/// </summary>
|
|
|
public bool IsSupplier { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 客户等级:A/B/C/D
|
|
|
/// </summary>
|
|
|
public string? Grade { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 注册资金
|
|
|
/// </summary>
|
|
|
public string? RegisteredCapital { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 注册时间
|
|
|
/// </summary>
|
|
|
public DateTime? RegistrationTime { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 是否冻结
|
|
|
/// </summary>
|
|
|
public bool IsFrozen { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 账单抬头
|
|
|
/// </summary>
|
|
|
public string? BillHeader { get; set; }
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
/// 进账人民币账户ID
|
|
|
/// </summary>
|
|
|
public long? RMBAccountId { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 进账人民币银行名称
|
|
|
/// </summary>
|
|
|
public string RMBBankName { get; set; }
|
|
|
/// <summary>
|
|
|
/// Desc:进账人民币银行账户
|
|
|
/// </summary>
|
|
|
public string RMBBankAccountNo { get; set; }
|
|
|
/// <summary>
|
|
|
/// 进账美金账户ID
|
|
|
/// </summary>
|
|
|
public long? USDAccountId { get; set; }
|
|
|
/// <summary>
|
|
|
/// 进账美金银行名称
|
|
|
/// </summary>
|
|
|
public string USDBankName { get; set; }
|
|
|
/// <summary>
|
|
|
/// Desc:进账美金银行账户
|
|
|
/// </summary>
|
|
|
public string USDBankAccountNo { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 银行国际代码
|
|
|
/// </summary>
|
|
|
public string? SwiftCode { 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("客户简称");
|
|
|
}
|
|
|
} |