using System;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using ChangkeTec.SDMS.Model.Attributes;
using ChangkeTec.SDMS.Model.Base;
using ChangkeTec.SDMS.Model.Enums;

namespace ChangkeTec.SDMS.Model.DataCenterTables
{
    [Description("客户变更表")]
    public class TT_CUSTOMER : ITaskTable
    {
        [IsDataGridColum(true, 1)]
        [Description("客户代码")]
        [StringLength(50)]
        public string CustomerCode { get; set; }
        [IsDataGridColum(true, 2)]
        [Description("客户名称")]
        [StringLength(50)]
        public string CustomerName { get; set; }
        [IsDataGridColum(true, 3)]
        [Description("搜索名称")]
        [StringLength(50)]
        public string SearchName { get; set; }
        [IsDataGridColum(true, 4)]
        [Description("中间名称")]
        [StringLength(50)]
        public string SecondName { get; set; }
        [IsDataGridColum(true, 5)]
        [Description("第三级名称")]
        [StringLength(50)]
        public string ThirdName { get; set; }
        [IsDataGridColum(true, 6)]
        [Description("组名")]
        [StringLength(50)]
        public string GroupName { get; set; }
        [IsDataGridColum(true, 7)]
        [Description("启用")]
        [StringLength(50)]
        public string Active { get; set; }
        [IsDataGridColum(true, 8)]
        [Description("客户地址")]
        [StringLength(50)]
        public string Address1 { get; set; }
        [IsDataGridColum(true, 9)]
        [Description("客户地址")]
        [StringLength(50)]
        public string Address2 { get; set; }
        [IsDataGridColum(true, 10)]
        [Description("客户地址")]
        [StringLength(50)]
        public string Address3 { get; set; }
        [IsDataGridColum(true, 11)]
        [Description("邮编")]
        [StringLength(50)]
        public string ZipCode { get; set; }
        [IsDataGridColum(true, 12)]
        [Description("城市")]
        [StringLength(50)]
        public string City { get; set; }
        [IsDataGridColum(true, 13)]
        [Description("国家")]
        [StringLength(50)]
        public string Country { get; set; }
        [IsDataGridColum(true, 14)]
        [Description("电话")]
        [StringLength(50)]
        public string Telephone { get; set; }
        [IsDataGridColum(true, 15)]
        [Description("省")]
        [StringLength(50)]
        public string province { get; set; }
        [IsDataGridColum(true, 16)]
        [Description("县")]
        [StringLength(50)]
        public string County { get; set; }
        [IsDataGridColum(true, 17)]
        [Description("传真")]
        [StringLength(50)]
        public string Fax { get; set; }
        [IsDataGridColum(true, 18)]
        [Description("语言代码")]
        [StringLength(50)]
        public string LanguageCode { get; set; }
        [IsDataGridColum(true, 19)]
        [Description("电子邮件")]
        [StringLength(50)]
        public string Email { get; set; }
        [IsDataGridColum(true, 20)]
        [Description("网址")]
        [StringLength(50)]
        public string Internet { get; set; }
        [IsDataGridColum(true, 21)]
        [Description("纳税地址")]
        [StringLength(50)]
        public string AddressIsTaxable { get; set; }
        [IsDataGridColum(true, 22)]
        [Description("含税")]
        [StringLength(50)]
        public string AddressIsTaxIncluded { get; set; }
        [IsDataGridColum(true, 23)]
        [Description("联邦税")]
        [StringLength(50)]
        public string FederalTax { get; set; }
        [IsDataGridColum(true, 24)]
        [Description("州税")]
        [StringLength(50)]
        public string StateTax { get; set; }
        [IsDataGridColum(true, 25)]
        [Description("杂项税1")]
        [StringLength(50)]
        public string MiscTax1 { get; set; }
        [IsDataGridColum(true, 26)]
        [Description("杂项税2")]
        [StringLength(50)]
        public string MiscTax2 { get; set; }
        [IsDataGridColum(true, 27)]
        [Description("杂项税3")]
        [StringLength(50)]
        public string MiscTax3 { get; set; }
        [IsDataGridColum(true, 28)]
        [Description("城市税")]
        [StringLength(50)]
        public string TaxInCity { get; set; }
        [IsDataGridColum(true, 29)]
        [Description("税区")]
        [StringLength(50)]
        public string TaxZone { get; set; }
        [IsDataGridColum(true, 30)]
        [Description("税种")]
        [StringLength(50)]
        public string TaxClass { get; set; }
        [IsDataGridColum(true, 31)]
        [Description("税用途")]
        [StringLength(50)]
        public string TaxUsage { get; set; }
        [IsDataGridColum(true, 32)]
        [Description("标题")]
        [StringLength(50)]
        public string Title { get; set; }
        [IsDataGridColum(true, 33)]
        [Description("联系人名称")]
        [StringLength(50)]
        public string ContactName { get; set; }
        [IsDataGridColum(true, 34)]
        [Description("缩写")]
        [StringLength(50)]
        public string Initials { get; set; }
        [IsDataGridColum(true, 35)]
        [Description("函数")]
        [StringLength(50)]
        public string Function { get; set; }
        [IsDataGridColum(true, 36)]
        [Description("性别")]
        [StringLength(50)]
        public string Gender { get; set; }
        [IsDataGridColum(true, 37)]
        [Description("主要联系人")]
        [StringLength(50)]
        public string ContactIsPrimary { get; set; }
        [IsDataGridColum(true, 38)]
        [Description("次要联系人")]
        [StringLength(50)]
        public string ContactIsSecondary { get; set; }
        [IsDataGridColum(true, 39)]
        [Description("允许补偿")]
        [StringLength(50)]
        public string Compens { get; set; }
        [IsDataGridColum(true, 40)]
        [Description("发票控制文件")]
        [StringLength(50)]
        public string GlProfileInvoice { get; set; }
        [IsDataGridColum(true, 41)]
        [Description("信用票据控制文件")]
        [StringLength(50)]
        public string GlProfileCreditNote { get; set; }
        [IsDataGridColum(true, 42)]
        [Description("预付款控制文件")]
        [StringLength(50)]
        public string GlProfilePrepayment { get; set; }
        [IsDataGridColum(true, 43)]
        [Description("扣减控制文件")]
        [StringLength(50)]
        public string GLProfileDeduction { get; set; }
        [IsDataGridColum(true, 44)]
        [Description("销售总账控制文件")]
        [StringLength(50)]
        public string AccountGLProfile { get; set; }
        [IsDataGridColum(true, 45)]
        [Description("财务费用控制文件")]
        [StringLength(50)]
        public string FinanceChargeProfile { get; set; }
        [IsDataGridColum(true, 46)]
        [Description("分账户控制文件")]
        [StringLength(50)]
        public string SubAccountProfile { get; set; }
        [IsDataGridColum(true, 47)]
        [Description("币种")]
        [StringLength(50)]
        public string Currency { get; set; }
        [IsDataGridColum(true, 48)]
        [Description("客户类型")]
        [StringLength(50)]
        public string Customertype { get; set; }
        [IsDataGridColum(true, 49)]
        [Description("支付期")]
        [StringLength(50)]
        public string CreditTerms { get; set; }
        [IsDataGridColum(true, 50)]
        [Description("发票状态代码")]
        [StringLength(50)]
        public string InvoiceStatusCode { get; set; }

        [Description("付款组")]
        [StringLength(50)]
        public string PaymentGroup { get; set; }

        [Description("账单明细表")]
        [StringLength(50)]
        public string BillingSchedule { get; set; }

        [Description("票据收款人")]
        [StringLength(50)]
        public string BillPayee { get; set; }

        [Description("发票授权")]
        [StringLength(50)]
        public string InvoicebyAuthorization { get; set; }
        [IsDataGridColum(true, 51)]
        [Description("推销员")]
        [StringLength(50)]
        public string SalesPerson { get; set; }
        [IsDataGridColum(true, 52)]
        [Description("发货方式")]
        [StringLength(50)]
        public string ShipVia { get; set; }
        [IsDataGridColum(true, 53)]
        [Description("转卖税")]
        [StringLength(50)]
        public string Resale { get; set; }
        [IsDataGridColum(true, 54)]
        [Description("备注")]
        [StringLength(50)]
        public string Remarks { get; set; }
        [IsDataGridColum(true, 55)]
        [Description("地区")]
        [StringLength(50)]
        public string Region { get; set; }
        [IsDataGridColum(true, 56)]
        [Description("折扣表")]
        [StringLength(50)]
        public string DiscountTable { get; set; }
        [IsDataGridColum(true, 57)]
        [Description("固定价格")]
        [StringLength(50)]
        public string FixfdPrice { get; set; }
        [IsDataGridColum(true, 58)]
        [Description("日记账集")]
        [StringLength(50)]
        public string DayBookSet { get; set; }
        [IsDataGridColum(true, 59)]
        [Description("银行格式")]
        [StringLength(50)]
        public string BankFormat { get; set; }
        [IsDataGridColum(true, 60)]
        [Description("客户银行")]
        [StringLength(50)]
        public string CustomerBank { get; set; }
        [IsDataGridColum(true, 61)]
        [Description("自有银行")]
        [StringLength(50)]
        public string OwnBank { get; set; }

        [Key]
        public Guid GUID { get; set; } = Guid.NewGuid();

        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        public int UID { get; set; }
        [IsDataGridColum(true, 62)]
        [Description("创建人")]
        [StringLength(50)]
        public string CreateUser { get; set; }
        [IsDataGridColum(true, 63)]
        [Description("创建时间")]
        public DateTime CreateTime { get; set; }


        [Description("备注")]
        public string Remark { get; set; }
        [IsDataGridColum(true, 64)]
        [Description("任务编号")]
        public Guid TaskID { get; set; }
        [IsDataGridColum(true, 65)]
        [Description("命令类型")]
        [StringLength(50)]
        public string CommandType { get; set; }

        public Guid DataID { get; set; }

        [Description("域")]
        [StringLength(50)]
        public string Domain { get; set; }

        [Description("地点")]
        [StringLength(50)]
        public string Site { get; set; }
    }
}