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.

460 lines
9.9 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 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;
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>
//[IgnoreDataMember]
public string? SaleOrgId { get; set; }
/// <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>
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>
/// 末期合作时间
/// </summary>
public DateTime? ETD { 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>
/// 默认联系人
/// </summary>
public ClientContactRes? DefaultContact { get; set; }
/// <summary>
/// 最新账期
/// </summary>
public ClientAccountDateRes? LastAccountDate { get; set; }
}