using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace OASystem.Domain.Entities.Groups
{
    /// <summary>
    /// 团组倒推表
    /// Is....: 0 是 1 否
    /// A:自然日  B:工作日
    /// </summary>
    [SugarTable("Grp_InvertedList")]
    public class Grp_InvertedList:EntityBase
    {
        /// <summary>
        /// 团组Id
        /// </summary>
        [SugarColumn(IsNullable = true,ColumnDataType = "int")]
        public int DiId { get; set; }

        /// <summary>
        /// 报批资料准备时间 - A
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(30)")]
        public string ApprovalDataDt { get; set; }

        /// <summary>
        /// 报批资料准备
        /// 是否完成
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
        public int IsApprovalData { get; set; } = 1;

        /// <summary>
        /// 报批资料准备 
        /// 备注
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(300)")]
        public string ApprovalDataRemark { get; set; } = "准备报批资料(包括:邀请函,请示,报批行程,报批费用)";

        /// <summary>
        /// 报批时间 - A
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(30)")]
        public string ApprovalDt { get; set; }

        /// <summary>
        /// 报批时间
        /// 1 预批件 2 正常批件 默认值??-1
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
        public int ApprovalType { get; set; }

        /// <summary>
        /// 报批
        /// 是否完成
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
        public int IsApproval { get; set; } = 1;

        /// <summary>
        /// 报批 
        /// 备注
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(300)")]
        public string ApprovalRemark { get; set; } = "客户准备报批资料并递交到省外办,同时我司开始收集客户签证需要的资料";

        /// <summary>
        /// 出批件时间 - A
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(30)")]
        public string IssueApprovalDt { get; set; }

        /// <summary>
        /// 出批件
        /// 是否完成
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
        public int IsIssueApproval { get; set; } = 1;

        /// <summary>
        /// 出批件 
        /// 备注
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(300)")]
        public string IssueApprovalRemark { get; set; } = "出预批件、制作护照-护照出";

        /// <summary>
        /// 办护照时间 - B
        /// 弃用
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(30)")]
        public string ApplyPassportDt { get; set; }

        /// <summary>
        /// 办护照
        /// 是否完成
        /// 弃用
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
        public int IsApplyPassport { get; set; } = 1;

        /// <summary>
        /// 办护照 
        /// 备注
        /// 弃用
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(300)")]
        public string ApplyPassportRemark { get; set; }

        /// <summary>
        /// 签证资料准备时间 - A
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(30)")]
        public string VisaInformationDt { get; set; }

        /// <summary>
        /// 签证资料准备
        /// 是否完成
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
        public int IsVisaInformation { get; set; } = 1;

        /// <summary>
        /// 签证资料准备 
        /// 备注
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(300)")]
        public string VisaInformationRemark { get; set; } = "汇总客户签证信息,准备送签资料";

        /// <summary>
        /// 送签时间 - B
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(30)")]
        public string SendVisaDt { get; set; }

        /// <summary>
        /// 送签
        /// 是否完成
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
        public int IsSendVisa { get; set; } = 1;

        /// <summary>
        /// 送签 
        /// 备注
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(300)")]
        public string SendVisaRemark { get; set; } = "签证周期暂无或免签\r\n(签证周期仅供参考)";

        /// <summary>
        /// 出签时间 - B
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(30)")]
        public string IssueVisaDt { get; set; }

        /// <summary>
        /// 出签
        /// 是否完成
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
        public int IsIssueVisa { get; set; } = 1;

        /// <summary>
        /// 出签 
        /// 备注
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(300)")]
        public string IssueVisaRemark { get; set; } = "外办领取签证";

        /// <summary>
        /// 行前会 - A
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(30)")]
        public string PreTripMeetingDt { get; set; }

        /// <summary>
        /// 行前会
        /// 是否完成
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
        public int IsPreTripMeeting { get; set; } = 1;

        /// <summary>
        /// 行前会 
        /// 备注
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(300)")]
        public string PreTripMeetingRemark { get; set; } = "开行前会为出访人员交代细节";

        /// <summary>
        /// 送机 - A
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(30)")]
        public string AirportdDropOffDt { get; set; }

        /// <summary>
        /// 送机
        /// 是否完成
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
        public int IsAirportdDropOff { get; set; } = 1;

        /// <summary>
        /// 送机 
        /// 备注
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(300)")]
        public string AirportdDropOffRemark { get; set; } = "为出访人员办理登机服务及行李打包等";

    }

    /// <summary>
    /// 倒推表签证 国家信息
    /// (数据来源:签证标准费用表 默认值)
    /// </summary>
    [SugarTable("Grp_InvertedListVisaCountry")]
    public class Grp_InvertedListVisaCountry : EntityBase
    {
        /// <summary>
        /// 倒推表Id
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
        public int ILId { get; set; }

        /// <summary>
        /// 国家
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(100)")]
        public string Country { get; set; }

        /// <summary>
        /// 公务类型ID 
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
        public int OfficialTypeId { get; set; }

        /// <summary>
        /// 签证类型ID 
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
        public int VisaTypeId { get; set; }

        /// <summary>
        /// 签证时间(工作日) 
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
        public int VisaDay { get; set; }
    }
}