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.

481 lines
15 KiB
C#

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using DS.Module.Core;
using DS.Module.Core.Data;
using DS.Module.Core.Enums;
using SqlSugar;
namespace DS.WMS.Core.Info.Entity;
/// <summary>
/// 往来单位基本信息
/// </summary>
[SugarTable("info_client", "往来单位基本信息")]
public class InfoClient : SharedOrgModel<long>
{
/// <summary>
/// 客户代码(助记码)
/// </summary>
[SugarColumn(ColumnDescription = "客户代码", IsNullable = false, Length = 20)]
public string CodeName { get; set; }
/// <summary>
/// Desc:客户简称
/// </summary>
[SugarColumn(ColumnDescription = "客户简称", IsNullable = false, Length = 20)]
public string ShortName { get; set; }
/// <summary>
/// Desc:客户全称
/// </summary>
[SugarColumn(ColumnDescription = "客户全称", IsNullable = true, Length = 50)]
public string? Description { get; set; }
/// <summary>
/// Desc:客户英文简称
/// </summary>
[SugarColumn(ColumnDescription = "客户英文简称", IsNullable = true, Length = 50)]
public string? Name { get; set; }
/// <summary>
/// Desc:客户英文全称
/// </summary>
[SugarColumn(ColumnDescription = "客户英文全称", IsNullable = true, Length = 50)]
public string? EnFullName { get; set; }
/// <summary>
/// Desc:客户状态
/// </summary>
[SugarColumn(ColumnDescription = "客户状态", DefaultValue = "1")]
public int Status { get; set; } = 1;
/// <summary>
/// Desc:通讯地址
/// </summary>
[SugarColumn(ColumnDescription = "通讯地址", IsNullable = true, Length = 1000)]
public string? Address { get; set; }
/// <summary>
/// Desc:邮箱
/// </summary>
[SugarColumn(ColumnDescription = "邮箱", IsNullable = true, Length = 50)]
public string? Email { get; set; }
/// <summary>
/// Desc:网页
/// </summary>
[SugarColumn(ColumnDescription = "网页", IsNullable = true, Length = 50)]
public string? Web { get; set; }
/// <summary>
/// Desc:电话
/// </summary>
[SugarColumn(ColumnDescription = "电话", IsNullable = true, Length = 50)]
public string? Tel { get; set; }
/// <summary>
/// Desc:传真
/// </summary>
[SugarColumn(ColumnDescription = "传真", IsNullable = true, Length = 50)]
public string? Fax { get; set; }
/// <summary>
/// Desc:负责人
/// </summary>
[SugarColumn(ColumnDescription = "负责人", IsNullable = true, Length = 20)]
public string? Chief { get; set; }
/// <summary>
/// Desc:国家
/// </summary>
[SugarColumn(ColumnDescription = "国家", Length = 50, IsNullable = true)]
public string? Country { get; set; }
/// <summary>
/// Desc:省或州
/// </summary>
[SugarColumn(ColumnDescription = "省或州", Length = 50, IsNullable = true)]
public string? Province { get; set; }
/// <summary>
/// Desc:城市
/// </summary>
[SugarColumn(ColumnDescription = "城市", Length = 50, IsNullable = true)]
public string? City { get; set; }
/// <summary>
/// Desc:提单信息
/// </summary>
[SugarColumn(ColumnDescription = "提单信息", Length = 600, IsNullable = true)]
public string? BLContent { get; set; }
/// <summary>
/// Desc:是否停用该客户信息
/// </summary>
[SugarColumn(ColumnDescription = "是否停用该客户信息", DefaultValue = "0")]
public bool IsStop { get; set; }
/// <summary>
/// Desc:等级
/// </summary>
[SugarColumn(ColumnDescription = "等级", Length = 1, IsNullable = true)]
public string? Level { get; set; }
/// <summary>
/// Desc:QQ
/// </summary>
[SugarColumn(ColumnDescription = "QQ", Length = 50, IsNullable = true)]
public string? QQ { get; set; }
/// <summary>
/// Desc:MSN
/// </summary>
[SugarColumn(ColumnDescription = "MSN", Length = 50, IsNullable = true)]
public string? MSN { get; set; }
/// <summary>
/// Desc:财务应收账款代码
/// </summary>
[SugarColumn(ColumnDescription = "财务应收账款代码", Length = 50, IsNullable = true)]
public string? FARCode { get; set; }
/// <summary>
/// Desc:财务应付账款代码
/// </summary>
[SugarColumn(ColumnDescription = "财务应付账款代码", Length = 50, IsNullable = true)]
public string? FAPCode { get; set; }
/// <summary>
/// Desc:冷藏费率
/// </summary>
[SugarColumn(ColumnDescription = "冷藏费率", Length = 50, DefaultValue = "0", IsNullable = true)]
public string? UnitPrice { get; set; }
/// <summary>
/// Desc:企业备案号
/// </summary>
[SugarColumn(ColumnDescription = "企业备案号", Length = 50, IsNullable = true)]
public string? RegistrationNo { get; set; }
/// <summary>
/// Desc:财务序号
/// </summary>
[SugarColumn(ColumnDescription = "财务序号", Length = 50, IsNullable = true)]
public string? OrderNo { get; set; }
/// <summary>
/// Desc:纳税人识别号
/// </summary>
[SugarColumn(ColumnDescription = "纳税人识别号", Length = 30, IsNullable = true)]
public string? TaxNo { get; set; }
/// <summary>
/// Desc:EDI代码
/// </summary>
[SugarColumn(ColumnDescription = "EDI代码", Length = 20, IsNullable = true)]
public string? EDICode { get; set; }
/// <summary>
/// Desc:EDI代码2
/// </summary>
[SugarColumn(ColumnDescription = "EDI代码2", Length = 20, IsNullable = true)]
public string? EDICode2 { get; set; }
/// <summary>
/// Desc:EDI代码3
/// </summary>
[SugarColumn(ColumnDescription = "EDI代码3", Length = 20, IsNullable = true)]
public string? EDICode3 { get; set; }
/// <summary>
/// Desc:组织机构代码
/// </summary>
[SugarColumn(ColumnDescription = "组织机构代码", Length = 50, IsNullable = true)]
public string? OrganizationCode { get; set; }
/// <summary>
/// 所属集团ID
/// </summary>
[SugarColumn(ColumnDescription = "所属集团ID", IsNullable = true)]
public long? PcorpId { get; set; }
/// <summary>
/// Desc: 所属集团
/// </summary>
[SugarColumn(ColumnDescription = "所属集团", Length = 50, IsNullable = true)]
public string? PcorpName { get; set; }
/// <summary>
/// Desc:企业商检备案号
/// </summary>
[SugarColumn(ColumnDescription = "商检备案号", Length = 50, IsNullable = true)]
public string? InspectionNo { get; set; }
/// <summary>
/// 审批状态
/// </summary>
[SugarColumn(ColumnDescription = "审批状态")]
public AuditStatusEnum AuditStatus { get; set; } = AuditStatusEnum.NoAudit;
/// <summary>
/// 审批时间
/// </summary>
[SugarColumn(ColumnDescription = "审批时间", IsNullable = true)]
public DateTime? AuditTime { get; set; }
/// <summary>
/// 审批意见
/// </summary>
[SugarColumn(ColumnDescription = "审批意见", Length = 100, IsNullable = true)]
public string? AuditNote { get; set; }
/// <summary>
/// Desc:默认付费方式
/// </summary>
[SugarColumn(ColumnDescription = "默认付费方式", Length = 20, IsNullable = true)]
public string? FeeFRT { get; set; }
/// <summary>
/// Desc:业务来源Id
/// </summary>
[SugarColumn(ColumnDescription = "业务来源Id")]
public long SourceId { get; set; }
/// <summary>
/// Desc:发票银行
/// </summary>
[SugarColumn(ColumnDescription = "发票银行", Length = 150, IsNullable = true)]
public string? InvoiceBank { get; set; }
/// <summary>
/// Desc:发票地址电话
/// </summary>
[SugarColumn(ColumnDescription = "发票地址电话", Length = 200, IsNullable = true)]
public string? InvoiceAddrTel { get; set; }
/// <summary>
/// 所属分部
/// </summary>
[SugarColumn(ColumnDescription = "所属分部", IsNullable = true)]
public string? SaleOrgId { get; set; }
/// <summary>
/// 所属分部名称
/// </summary>
[SugarColumn(ColumnDescription = "所属分部名称", IsNullable = true, Length = 100)]
public string? SaleOrgName { get; set; }
/// <summary>
/// Desc:提成比例
/// </summary>
[SugarColumn(ColumnDescription = "提成比例", Length = 18, DecimalDigits = 2, DefaultValue = "0")]
public decimal CommissionRate { get; set; } = 0;
/// <summary>
/// Desc:分成比例
/// </summary>
[SugarColumn(ColumnDescription = "分成比例", Length = 18, DecimalDigits = 2, DefaultValue = "0")]
public decimal ProportionRate { get; set; } = 0;
/// <summary>
/// Desc:提成参与人
/// </summary>
[SugarColumn(ColumnDescription = "提成参与人", IsNullable = true)]
public long? CommissionUserId { get; set; }
/// <summary>
/// Desc:运输公司列表
/// </summary>
[SugarColumn(ColumnDescription = "运输公司列表", Length = 200, IsNullable = true)]
public string? CarrierList { get; set; }
/// <summary>
/// Desc:集装箱尺寸
/// </summary>
[SugarColumn(ColumnDescription = "集装箱尺寸", Length = 50, IsNullable = true)]
public string? CtnType { get; set; }
/// <summary>
/// Desc:英文简称
/// </summary>
[SugarColumn(ColumnDescription = "英文简称", Length = 50, IsNullable = true)]
public string? EnShortName { get; set; }
/// <summary>
/// Desc:仓储费开始日期模式
/// </summary>
[SugarColumn(ColumnDescription = "仓储费开始日期模式", Length = 50, IsNullable = true)]
public string? WMSFeeRateType { get; set; }
/// <summary>
/// 揽货人Id
/// </summary>
[SugarColumn(ColumnDescription = "揽货人Id", IsNullable = true, DefaultValue = "0")]
public long? SaleId { get; set; }
/// <summary>
/// 揽货人
/// </summary>
[SugarColumn(ColumnDescription = "揽货人", IsNullable = true, Length = 100)]
public string Sale { get; set; }
/// <summary>
/// Desc:单证
/// </summary>
[SugarColumn(ColumnDescription = "单证", IsNullable = true, DefaultValue = "0")]
public long? Doc { get; set; }
/// <summary>
/// Desc:单证人员
/// </summary>
[SugarColumn(ColumnDescription = "单证人员", IsNullable = true, Length = 30)]
public string DocName { get; set; }
/// <summary>
/// 操作员
/// </summary>
[SugarColumn(ColumnDescription = "操作员", IsNullable = true, DefaultValue = "0")]
public long? OperatorId { get; set; }
/// <summary>
/// 操作员名称
/// </summary>
[SugarColumn(ColumnDescription = "操作员", IsNullable = true, Length = 30)]
public string OperatorName { get; set; }
/// <summary>
/// 客服
/// </summary>
[SugarColumn(ColumnDescription = "客服", IsNullable = true, DefaultValue = "0")]
public long? CustomerService { get; set; }
/// <summary>
/// 客服名称
/// </summary>
[SugarColumn(ColumnDescription = "客服名称", IsNullable = true, Length = 30)]
public string CustomerServiceName { get; set; }
/// <summary>
/// 开票方式
/// </summary>
[SugarColumn(ColumnDescription = "开票方式", IsNullable = true)]
public InvoicingMethod? InvoicingMethod { get; set; }
/// <summary>
/// 推送通知
/// </summary>
[SugarColumn(ColumnDescription = "推送通知")]
public PushNotification Notification { get; set; }
/// <summary>
/// 是否超期扣单
/// </summary>
[SugarColumn(ColumnDescription = "是否超期扣单", DefaultValue = "1")]
public bool IsOverdueDeduction { get; set; }
/// <summary>
/// 超期天数
/// </summary>
[SugarColumn(ColumnDescription = "超期天数")]
public int OverdueDays { get; set; }
/// <summary>
/// 是否押最后一单
/// </summary>
[SugarColumn(ColumnDescription = "是否押最后一单", DefaultValue = "1")]
public bool IsMortgageLastOrder { get; set; }
/// <summary>
/// Desc:业务来源明细Id
/// </summary>
[SugarColumn(ColumnDescription = "业务来源明细Id")]
public long SourceDetailId { get; set; }
/// <summary>
/// Desc:业务来源名称
/// </summary>
[SugarColumn(ColumnDescription = "业务来源名称", Length = 100, IsNullable = true)]
public string SourceName { get; set; }
/// <summary>
/// Desc:业务来源明细名称
/// </summary>
[SugarColumn(ColumnDescription = "业务来源明细名称", Length = 100, IsNullable = true)]
public string SourceDetailName { get; set; }
/// <summary>
/// 服务项目
/// </summary>
[SugarColumn(ColumnDescription = "服务项目", ColumnDataType = "text", IsNullable = true)]
public string? ServiceItem { get; set; }
/// <summary>
/// 是否为客户
/// </summary>
[SugarColumn(ColumnDescription = "是否为客户")]
public bool IsCustomer { get; set; }
/// <summary>
/// 是否为供应商
/// </summary>
[SugarColumn(ColumnDescription = "是否为供应商")]
public bool IsSupplier { get; set; }
/// <summary>
/// 末期合作时间
/// </summary>
[SugarColumn(ColumnDescription = "末期合作时间", IsNullable = true)]
public DateTime? ETD { get; set; }
/// <summary>
/// 客户等级A/B/C/D
/// </summary>
[SugarColumn(ColumnDescription = "客户等级", Length = 1, IsNullable = true)]
public string? Grade { get; set; }
/// <summary>
/// 注册资金
/// </summary>
[SugarColumn(ColumnDescription = "注册资金", IsNullable = true)]
public decimal? RegisteredCapital { get; set; }
/// <summary>
/// 注册时间
/// </summary>
[SugarColumn(ColumnDescription = "注册时间", IsNullable = true)]
public DateTime? RegistrationTime { get; set; }
/// <summary>
/// 是否冻结
/// </summary>
[SugarColumn(ColumnDescription = "是否冻结")]
public bool IsFrozen { get; set; }
/// <summary>
/// 客户属性
/// </summary>
[Navigate(NavigateType.OneToOne, nameof(InfoClientContact.ClientId))]
public InfoClientTag? ClientTag { get; set; }
/// <summary>
/// 账期
/// </summary>
[Navigate(NavigateType.OneToMany, nameof(InfoClientContact.ClientId))]
public List<InfoClientAccountDate>? AccountDates { get; set; }
/// <summary>
/// 联系人
/// </summary>
[Navigate(NavigateType.OneToMany, nameof(InfoClientContact.ClientId))]
public List<InfoClientContact>? Contacts { get; set; }
/// <summary>
/// 干系人列表
/// </summary>
//[SqlSugar.SugarColumn(IsIgnore = true)]
[Navigate(NavigateType.OneToMany, nameof(InfoClientStakeholder.ClientId))]
public List<InfoClientStakeholder>? Stakeholders { get; set; }
/// <summary>
/// 干系人列表
/// </summary>
[SqlSugar.SugarColumn(IsIgnore = true)]
public List<long>? UserIds { get; set; }
}