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.

476 lines
15 KiB
C#

using DS.Module.Core;
using DS.Module.Core.Data;
using DS.Module.Core.Enums;
using LanguageExt.TypeClasses;
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>
9 months ago
[SugarColumn(ColumnDescription = "客户英文简称", IsNullable = true, Length = 50)]
public string? Name { get; set; }
/// <summary>
/// Desc:客户英文全称
/// </summary>
9 months ago
[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>
9 months ago
[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>
9 months ago
[SugarColumn(ColumnDescription = "网页", IsNullable = true, Length = 50)]
public string? Web { get; set; }
/// <summary>
/// Desc:电话
/// </summary>
9 months ago
[SugarColumn(ColumnDescription = "电话", IsNullable = true, Length = 50)]
public string? Tel { get; set; }
/// <summary>
/// Desc:传真
/// </summary>
9 months ago
[SugarColumn(ColumnDescription = "传真", IsNullable = true, Length = 50)]
public string? Fax { get; set; }
/// <summary>
/// Desc:负责人
/// </summary>
9 months ago
[SugarColumn(ColumnDescription = "负责人", IsNullable = true, Length = 20)]
public string? Chief { get; set; }
/// <summary>
/// Desc:国家
/// </summary>
9 months ago
[SugarColumn(ColumnDescription = "国家", Length = 50, IsNullable = true)]
public string? Country { get; set; }
/// <summary>
/// Desc:省或州
/// </summary>
9 months ago
[SugarColumn(ColumnDescription = "省或州", Length = 50, IsNullable = true)]
public string? Province { get; set; }
/// <summary>
/// Desc:城市
/// </summary>
9 months ago
[SugarColumn(ColumnDescription = "城市", Length = 50, IsNullable = true)]
public string? City { get; set; }
/// <summary>
/// Desc:提单信息
/// </summary>
9 months ago
[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>
9 months ago
[SugarColumn(ColumnDescription = "等级", Length = 1, IsNullable = true)]
public string? Level { get; set; }
/// <summary>
/// Desc:QQ
/// </summary>
9 months ago
[SugarColumn(ColumnDescription = "QQ", Length = 50, IsNullable = true)]
public string? QQ { get; set; }
/// <summary>
/// Desc:MSN
/// </summary>
9 months ago
[SugarColumn(ColumnDescription = "MSN", Length = 50, IsNullable = true)]
public string? MSN { get; set; }
/// <summary>
/// Desc:财务应收账款代码
/// </summary>
9 months ago
[SugarColumn(ColumnDescription = "财务应收账款代码", Length = 50, IsNullable = true)]
public string? FARCode { get; set; }
/// <summary>
/// Desc:财务应付账款代码
/// </summary>
9 months ago
[SugarColumn(ColumnDescription = "财务应付账款代码", Length = 50, IsNullable = true)]
public string? FAPCode { get; set; }
/// <summary>
/// Desc:冷藏费率
/// </summary>
9 months ago
[SugarColumn(ColumnDescription = "冷藏费率", Length = 50, DefaultValue = "0", IsNullable = true)]
public string? UnitPrice { get; set; }
/// <summary>
/// Desc:企业备案号
/// </summary>
9 months ago
[SugarColumn(ColumnDescription = "企业备案号", Length = 50, IsNullable = true)]
public string? RegistrationNo { get; set; }
/// <summary>
/// Desc:财务序号
/// </summary>
9 months ago
[SugarColumn(ColumnDescription = "财务序号", Length = 50, IsNullable = true)]
public string? OrderNo { get; set; }
/// <summary>
/// Desc:纳税人识别号
/// </summary>
9 months ago
[SugarColumn(ColumnDescription = "纳税人识别号", Length = 30, IsNullable = true)]
public string? TaxNo { get; set; }
/// <summary>
/// Desc:EDI代码
/// </summary>
9 months ago
[SugarColumn(ColumnDescription = "EDI代码", Length = 20, IsNullable = true)]
public string? EDICode { get; set; }
/// <summary>
/// Desc:EDI代码2
/// </summary>
9 months ago
[SugarColumn(ColumnDescription = "EDI代码2", Length = 20, IsNullable = true)]
public string? EDICode2 { get; set; }
/// <summary>
/// Desc:EDI代码3
/// </summary>
9 months ago
[SugarColumn(ColumnDescription = "EDI代码3", Length = 20, IsNullable = true)]
public string? EDICode3 { get; set; }
/// <summary>
/// Desc:组织机构代码
/// </summary>
9 months ago
[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>
9 months ago
[SugarColumn(ColumnDescription = "所属集团", Length = 50, IsNullable = true)]
public string? PcorpName { get; set; }
/// <summary>
/// Desc:企业商检备案号
/// </summary>
9 months ago
[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>
9 months ago
[SugarColumn(ColumnDescription = "审批意见", Length = 100, IsNullable = true)]
public string? AuditNote { get; set; }
/// <summary>
/// Desc:默认付费方式
/// </summary>
9 months ago
[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>
9 months ago
[SugarColumn(ColumnDescription = "发票银行", Length = 150, IsNullable = true)]
public string? InvoiceBank { get; set; }
/// <summary>
/// Desc:发票地址电话
/// </summary>
9 months ago
[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>
9 months ago
[SugarColumn(ColumnDescription = "提成参与人", IsNullable = true)]
public long? CommissionUserId { get; set; }
/// <summary>
/// Desc:运输公司列表
/// </summary>
9 months ago
[SugarColumn(ColumnDescription = "运输公司列表", Length = 200, IsNullable = true)]
public string? CarrierList { get; set; }
/// <summary>
/// Desc:集装箱尺寸
/// </summary>
9 months ago
[SugarColumn(ColumnDescription = "集装箱尺寸", Length = 50, IsNullable = true)]
public string? CtnType { get; set; }
/// <summary>
/// Desc:英文简称
/// </summary>
9 months ago
[SugarColumn(ColumnDescription = "英文简称", Length = 50, IsNullable = true)]
public string? EnShortName { get; set; }
/// <summary>
/// Desc:仓储费开始日期模式
/// </summary>
9 months ago
[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)]
4 months ago
public string SourceName { get; set; }
/// <summary>
/// Desc:业务来源明细名称
/// </summary>
[SugarColumn(ColumnDescription = "业务来源明细名称", Length = 100, IsNullable = true)]
4 months ago
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>
[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; }
}