using SqlSugar;
using System.ComponentModel;
using XF.Domain.Repository;

namespace DataSharing.Province
{
    /// <summary>
    /// 服务工单上报    
    /// </summary>
    [Description("服务工单上报")]
    public class DsSendCaseInfo : CreationModificationEntity
    {
        /// <summary>
        /// 工单ID
        /// </summary>
        [SugarColumn(ColumnDescription = "工单ID", ColumnDataType = "varchar(50)")]
        public string OrderID { get; set; }

        /// <summary>
        /// 工单编码（202201010001）
        /// </summary>
        [SugarColumn(ColumnDescription = "工单编码", ColumnDataType = "varchar(50)")]
        public string No { get; set; }

        /// <summary>
        /// 服务工单标题
        /// </summary>
        [SugarColumn(ColumnDescription = "服务工单标题", ColumnDataType = "varchar(300)")]
        public string CaseTitle { get; set; }

        /// <summary>
        /// 服务代表姓名
        /// </summary>
        [SugarColumn(ColumnDescription = "服务代表姓名", ColumnDataType = "varchar(200)")]
        public string CaseRegister { get; set; }

        /// <summary>
        /// 服务代表工号
        /// </summary>
        [SugarColumn(ColumnDescription = "服务代表工号", ColumnDataType = "varchar(50)")]
        public string CaseRegisterNo { get; set; }

        /// <summary>
        /// 登记时间
        /// </summary>
        [SugarColumn(ColumnDescription = "登记时间")]
        public DateTime? CaseDate { get; set; }

        /// <summary>
        /// 诉求渠道
        /// </summary>
        [SugarColumn(ColumnDescription = "诉求渠道", ColumnDataType = "varchar(20)")]
        public string CaseSource { get; set; }

        /// <summary>
        /// 联系电话
        /// </summary>
        [SugarColumn(ColumnDescription = "联系电话", ColumnDataType = "varchar(50)")]
        public string PhoneNumber { get; set; }

        /// <summary>
        /// 服务对象名称
        /// </summary>
        [SugarColumn(ColumnDescription = "服务对象名称", ColumnDataType = "varchar(200)")]
        public string AppLicantName { get; set; }

        /// <summary>
        /// 服务对象性别
        /// </summary>
        [SugarColumn(ColumnDescription = "服务对象性别", ColumnDataType = "varchar(1)")]
        public string AppLicantSex { get; set; }

        /// <summary>
        /// 服务对象年龄范围
        /// </summary>
        [SugarColumn(ColumnDescription = "服务对象年龄范围", ColumnDataType = "varchar(4)", IsNullable = true)]
        public string AppLicantAge { get; set; }

        /// <summary>
        /// 证件类型
        /// </summary>
        [SugarColumn(ColumnDescription = "证件类型", ColumnDataType = "varchar(4)", IsNullable = true)]
        public string CertifiCateType { get; set; }

        /// <summary>
        /// 证件号码
        /// </summary>
        [SugarColumn(ColumnDescription = "证件号码", ColumnDataType = "varchar(50)", IsNullable = true)]
        public string AppLicantId { get; set; }

        /// <summary>
        /// 诉求类型
        /// </summary>
        [SugarColumn(ColumnDescription = "诉求类型", ColumnDataType = "varchar(4)")]
        public string CaseType { get; set; }

        /// <summary>
        /// 诉求归口
        /// </summary>
        [SugarColumn(ColumnDescription = "诉求归口", ColumnDataType = "varchar(50)")]
        public string CaseAccord { get; set; }

        /// <summary>
        /// 诉求内容
        /// </summary>
        [SugarColumn(ColumnDescription = "诉求内容", ColumnDataType = "varchar(2000)")]
        public string CaseContent { get; set; }

        /// <summary>
        /// 处理方式
        /// </summary>
        [SugarColumn(ColumnDescription = "处理方式", ColumnDataType = "varchar(4)")]
        public string CaseProcessType { get; set; }

        /// <summary>
        /// 是否公开
        /// </summary>
        [SugarColumn(ColumnDescription = "是否公开", ColumnDataType = "varchar(4)")]
        public string? CaseIsPublic { get; set; }

        /// <summary>
        /// 是否保密
        /// </summary>
        [SugarColumn(ColumnDescription = "是否保密", ColumnDataType = "varchar(4)")]
        public string? CaseIsSecrect { get; set; }

        /// <summary>
        /// 是否回访
        /// </summary>
        [SugarColumn(ColumnDescription = "是否回访", ColumnDataType = "varchar(4)")]
        public string? CaseIsVisit { get; set; }

        /// <summary>
        /// 紧急程度
        /// </summary>
        [SugarColumn(ColumnDescription = "紧急程度", ColumnDataType = "varchar(4)")]
        public string? CaseIsUrgent { get; set; }

        /// <summary>
        /// 经纬度
        /// </summary>
        [SugarColumn(ColumnDescription = "经纬度", ColumnDataType = "varchar(50)", IsNullable = true)]
        public string? CaseLngLat { get; set; }

        /// <summary>
        /// 诉求情感
        /// </summary>
        [SugarColumn(ColumnDescription = "诉求情感", ColumnDataType = "varchar(50)", IsNullable = true)]
        public string? CaseEmotion { get; set; }

        /// <summary>
        /// 诉求详细地址
        /// </summary>
        [SugarColumn(ColumnDescription = "诉求详细地址", ColumnDataType = "varchar(500)", IsNullable = true)]
        public string? CaseAddress { get; set; }

        /// <summary>
        ///事发时间
        /// </summary>
        [SugarColumn(ColumnDescription = "事发时间")]
        public DateTime? EventDate { get; set; }

        /// <summary>
        /// 主题工单类型
        /// </summary>
        [SugarColumn(ColumnDescription = "主题工单类型", ColumnDataType = "varchar(50)")]
        public string? ThemeSerial { get; set; }

        /// <summary>
        /// 是否存在拓展信息
        /// </summary>
        [SugarColumn(ColumnDescription = "是否存在拓展信息", ColumnDataType = "varchar(50)", IsNullable = true)]
        public string IsExtends { get; set; }

        /// <summary>
        /// 当前工单是否办理完成
        /// </summary>
        [SugarColumn(ColumnDescription = "当前工单是否办理完成")]
        public bool IsEnd { get; set; }

        /// <summary>
        /// 服务工单编号  
        /// </summary>
        [SugarColumn(ColumnDescription = "服务工单编号", ColumnDataType = "varchar(50)")]
        public string CaseSerial { get; set; }

        /// <summary>
        /// 材料标识
        /// </summary>
        [SugarColumn(ColumnDescription = "材料标识", ColumnDataType = "varchar(50)", IsNullable = true)]
        public string CliengGuid { get; set; }

        /// <summary>
        /// 行政区划代码
        /// </summary>
        [SugarColumn(ColumnDescription = "行政区划代码", ColumnDataType = "varchar(24)")]
        public string AreaCode { get; set; }

        /// <summary>
        /// 标识版本字段
        /// </summary>
        [SqlSugar.SugarColumn(IsEnableUpdateVersionValidation = true)]
        public Guid Ver { get; set; }

        /// <summary>
        /// 数据读取状态 0：待读取，1：推送中
        /// </summary>
        [SugarColumn(ColumnDescription = "数据读取状态")]
        public string State { get; set; } = "0";
    }
}
