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.

453 lines
9.8 KiB
C#

using System.Runtime.Serialization;
using DS.Module.Core;
using DS.Module.Core.Enums;
using DS.Module.Core.Extensions;
using DS.WMS.Core.Info.Entity;
using Masuit.Tools.Systems;
using SqlSugar;
namespace DS.WMS.Core.Info.Dtos;
/// <summary>
/// 客户基本信息返回实体
/// </summary>
public class ClientInfoRes
{
/// <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:等级
/// </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 AuditStatusEnum AuditStatus { get; set; }
/// <summary>
/// 审批状态显示文本
/// </summary>
public string AuditStatusText => AuditStatus.GetDescription();
/// <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>
3 months ago
//[IgnoreDataMember]
public string? SaleOrgId { get; set; }
3 months ago
/// <summary>
/// 所属分部
/// </summary>
public long[] SaleOrgIdList => SaleOrgId.IsNullOrEmpty() ? [] :
SaleOrgId.Split(',', StringSplitOptions.RemoveEmptyEntries).Select(long.Parse).ToArray();
/// <summary>
/// 所属分部名称
/// </summary>
public string? SaleOrgNames { 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>
/// 状态 0 启用 1 禁用
/// </summary>
public StatusEnum Status { get; set; } = StatusEnum.Enable;
/// <summary>
/// 备注
/// </summary>
public string Note { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreateTime { get; set; }
/// <summary>
/// 客户标识
/// </summary>
public ClientTagRes ClientTag { get; set; }
/// <summary>
/// 联系人列表
/// </summary>
public List<ClientContactRes> ClientContactList { 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 bool IsShared { get; set; }
/// <summary>
/// 开票方式
/// </summary>
public InvoicingMethod? InvoicingMethod { get; set; }
/// <summary>
/// 开票方式描述
/// </summary>
public string InvoicingMethodText => InvoicingMethod.HasValue ? InvoicingMethod.Value.GetDescription() : string.Empty;
[IgnoreDataMember]
public PushNotification Notification { get; set; }
/// <summary>
/// 推送设置
/// </summary>
public PushNotification[]? Notifications
{
get
{
if (Notification == PushNotification.None)
return [];
return Notification.Split().Where(x => x != PushNotification.None).ToArray();
}
}
/// <summary>
/// 是否超期扣单
/// </summary>
public bool IsOverdueDeduction { get; set; }
/// <summary>
/// 超期天数
/// </summary>
public int OverdueDays { get; set; }
/// <summary>
/// 是否押最后一单
/// </summary>
public bool IsMortgageLastOrder { get; set; }
/// <summary>
/// 发票抬头
/// </summary>
public List<InvoiceHeader>? InvoiceHeaders { get; set; }
/// <summary>
/// Desc:业务来源明细Id
/// </summary>
public long SourceDetailId { get; set; }
/// <summary>
/// Desc:业务来源名称
/// </summary>
3 months ago
public string SourceName { get; set; }
/// <summary>
/// Desc:业务来源明细名称
/// </summary>
3 months ago
public string SourceDetailName { get; set; }
/// <summary>
/// 所属分部名称
/// </summary>
public string? SaleOrgName { get; set; }
/// <summary>
/// 服务项目代码
/// </summary>
public string[]? ServiceItemCodes { get; set; }
[IgnoreDataMember]
public ClientAttribute Attribute { get; set; }
/// <summary>
/// 推送设置
/// </summary>
public ClientAttribute[]? Attributes
{
get
{
if (Attribute == ClientAttribute.None)
return [];
return Attribute.Split().Where(x => x != ClientAttribute.None).ToArray();
}
}
/// <summary>
/// 客户等级A/B/C/D
/// </summary>
public string? Grade { get; set; }
/// <summary>
/// 注册资金
/// </summary>
public decimal? RegisteredCapital { get; set; }
/// <summary>
/// 注册时间
/// </summary>
public DateTime? RegistrationTime { get; set; }
/// <summary>
/// 默认联系人
/// </summary>
public ClientContactRes? DefaultContact { get; set; }
/// <summary>
/// 最新账期
/// </summary>
public ClientAccountDateRes? LastAccountDate { get; set; }
}