using OASystem.Domain.Entities;
using OASystem.Domain.Entities.Groups;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace OASystem.Domain.Dtos.Groups
{
    public class GroupCostSavaDto
    {
        //选中
       public List<Grp_CheckBoxsDto> CheckBoxs { get; set; }

        //列表
       public List<Grp_GroupCostDto> GroupCosts { get; set; }

        //房间数
       public List<Grp_CostTypeHotelNumberDto> CostTypeHotelNumbers { get; set; }

        //系数
       public List<Grp_GroupCostParameterDto> GroupCostParameters { get; set; }

        public int Userid { get; set; }

        public int Diid {  get; set; }  
    }

    public class CarGuidesDto
    {
     
    }

    public class GroupIsShareDto
    {
        public int Diid { get; set; }
    }

    public class Grp_CheckBoxsDto
    {
        public int Diid { get; set; }
        /// <summary>
        /// 选中区域  Top, Left, Right
        /// </summary>
        public string CbType { get; set; }
        /// <summary>
        /// 选中的值
        /// </summary>
        public string CbValues { get; set; }
    }

    public class Grp_GroupCostDto
    {
        int diid;
        /// <summary>
        /// 团号
        /// </summary>
        public int Diid
        {
            get { return diid; }
            set { diid = value; }
        }
        string day;
        /// <summary>
        /// 天数
        /// </summary>

        public string DAY
        {
            get { return day; }
            set { day = value; }
        }
        string date;
        /// <summary>
        /// 日期
        /// </summary>
        public string Date
        {
            get { return date; }
            set { date = value; }
        }

        string itin;
        /// <summary>
        /// 行程描述
        /// </summary>
        public string ITIN
        {
            get { return itin; }
            set { itin = value; }
        }
        string carType;
        /// <summary>
        /// 车型
        /// </summary>
        public string CarType
        {
            get { return carType; }
            set { carType = value; }
        }

        decimal carCost;
        /// <summary>
        /// 车费用
        /// </summary>
        
        public decimal CarCost
        {
            get { return carCost; }
            set { carCost = value; }
        }

        int carNumber;
        /// <summary>
        /// 车数量
        /// </summary>
        
        public int CarNumber
        {
            get { return carNumber; }
            set { carNumber = value; }
        }

        decimal carTiming;
        /// <summary>
        /// 用车时间
        /// </summary>
        
        public decimal CarTiming
        {
            get { return carTiming; }
            set { carTiming = value; }
        }

        decimal tgs;
        /// <summary>
        ///  导游工资
        /// </summary>
        
        public decimal TGS
        {
            get { return tgs; }
            set { tgs = value; }
        }

        decimal tgwh;
        /// <summary>
        ///  导游工作时间
        /// </summary>
        
        public decimal TGWH
        {
            get { return tgwh; }
            set { tgwh = value; }
        }

        decimal tgn;
        /// <summary>
        ///  导游数量
        /// </summary>
        
        public decimal TGN
        {
            get { return tgn; }
            set { tgn = value; }
        }

        /// <summary>
        /// 导游超时费用
        /// </summary>
        decimal tgof;

        
        public decimal TGOF
        {
            get { return tgof; }
            set { tgof = value; }
        }

        decimal tgm;
        /// <summary>
        /// 导游餐补
        /// </summary>
        
        public decimal TGM
        {
            get { return tgm; }
            set { tgm = value; }
        }

        decimal tga;
        /// <summary>
        /// 导游房补
        /// </summary>
        
        public decimal TGA
        {
            get { return tga; }
            set { tga = value; }
        }

        decimal tgtf;
        /// <summary>
        /// 导游交通费
        /// </summary>
        
        public decimal TGTF
        {
            get { return tgtf; }
            set { tgtf = value; }
        }

        decimal tgef;
        /// <summary>
        /// 导游景点费
        /// </summary>
        
        public decimal TGEF
        {
            get { return tgef; }
            set { tgef = value; }
        }

        decimal cfs;
        /// <summary>
        ///  司机工资
        /// </summary>
        
        public decimal CFS
        {
            get { return cfs; }
            set { cfs = value; }
        }

        /// <summary>
        /// 司机餐补
        /// </summary>
        decimal cfm;
        
        public decimal CFM
        {
            get { return cfm; }
            set { cfm = value; }
        }

        /// <summary>
        /// 司机超时费用
        /// </summary>
        decimal cfof;
        
        public decimal CFOF
        {
            get { return cfof; }
            set { cfof = value; }
        }

        decimal b;
        /// <summary>
        /// 早餐
        /// </summary>
        
        public decimal B
        {
            get { return b; }
            set { b = value; }
        }

        decimal l;
        /// <summary>
        /// 午餐
        /// </summary>
        
        public decimal L
        {
            get { return l; }
            set { l = value; }
        }

        decimal d;
        /// <summary>
        /// 晚餐
        /// </summary>
        
        public decimal D
        {
            get { return d; }
            set { d = value; }
        }

        decimal tbr;
        /// <summary>
        /// 1/2 双人间
        /// </summary>
        
        public decimal TBR
        {
            get { return tbr; }
            set { tbr = value; }
        }
        decimal sgr;
        /// <summary>
        /// 单间
        /// </summary>
        
        public decimal SGR
        {
            get { return sgr; }
            set { sgr = value; }
        }
        decimal jses;
        /// <summary>
        /// 小套房
        /// </summary>
        
        public decimal JS_ES
        {
            get { return jses; }
            set { jses = value; }
        }

        decimal suite;
        /// <summary>
        /// 套房
        /// </summary>
        
        public decimal Suite
        {
            get { return suite; }
            set { suite = value; }
        }

        string accon;
        /// <summary>
        /// 酒店名称
        /// </summary>
        public string ACCON
        {
            get { return accon; }
            set { accon = value; }
        }

        decimal tv;
        /// <summary>
        /// 公务活动费用
        /// </summary>
        
        public decimal TV
        {
            get { return tv; }
            set { tv = value; }
        }

        decimal il;
        /// <summary>
        /// 邀请函相关费用
        /// </summary>
        
        public decimal iL
        {
            get { return il; }
            set { il = value; }
        }

        decimal iF;
        /// <summary>
        /// 公务翻译费用
        /// </summary>
        
        public decimal IF
        {
            get { return iF; }
            set { iF = value; }
        }

        decimal ef;
        /// <summary>
        /// 景点门票
        /// </summary>
        
        public decimal EF
        {
            get { return ef; }
            set { ef = value; }
        }

        decimal brf;
        /// <summary>
        /// 饮料零食水果
        /// </summary>
        
        public decimal B_R_F
        {
            get { return brf; }
            set { brf = value; }
        }

        decimal te;
        /// <summary>
        /// 出行物资
        /// </summary>
        
        public decimal TE
        {
            get { return te; }
            set { te = value; }
        }

        decimal tgtips;
        /// <summary>
        /// 导游小费
        /// </summary>
        
        public decimal TGTips
        {
            get { return tgtips; }
            set { tgtips = value; }
        }
        decimal drvtips;
        /// <summary>
        /// 司机小费
        /// </summary>
        
        public decimal DRVTips
        {
            get { return drvtips; }
            set { drvtips = value; }
        }

        decimal pc;
        /// <summary>
        /// 零用金
        /// </summary>
        
        public decimal PC
        {
            get { return pc; }
            set { pc = value; }
        }

        decimal tlf;
        /// <summary>
        /// 领队费
        /// </summary>
        
        public decimal TLF
        {
            get { return tlf; }
            set { tlf = value; }
        }

        decimal ect;
        /// <summary>
        /// 会务费
        /// </summary>
        
        public decimal ECT
        {
            get { return ect; }
            set { ect = value; }
        }

        public string GwCount { get; set; }
        public string FyCount { get; set; }
    }

    public class Grp_CostTypeHotelNumberDto
    {
        /// <summary>
        /// 数据id
        /// </summary>
        public int Id { get; set; }

        /// <summary>
        /// 单人间
        /// </summary>
        public int SGR { get; set; }

        /// <summary>
        /// 双人间
        /// </summary>
        public int TBR { get; set; }

        /// <summary>
        /// 小套房
        /// </summary>
        public int JSES { get; set; }

        /// <summary>
        /// 大套房
        /// </summary>
        public int SUITE { get; set; }

        /// <summary>
        /// 类型 Default A B ....
        /// </summary>
        public string Type { get; set; }

        /// <summary>
        /// 团组id
        /// </summary>
        public int Diid { get; set; }
    }

    public class Grp_GroupCostParameterDto
    {
        /// <summary>
        /// 数据id
        /// </summary>
        public int Id { get; set; }


        /// <summary>
        /// 团组ID
        /// </summary>
        
        public int DiId { get; set; }
        /// <summary>
        /// 币种
        /// </summary>
       
        public string Currency { get; set; }
        /// <summary>
        /// 汇率
        /// </summary>
       
        public decimal Rate { get; set; }
        /// <summary>
        /// 税率
        /// </summary>
       
        public decimal Tax { get; set; }
        /// <summary>
        /// 房费预算
        /// </summary>
       
        public decimal FFYS { get; set; }
        /// <summary>
        /// 酒店系数
        /// </summary>
       
        public decimal HotelXS { get; set; }
        /// <summary>
        /// 经济舱成本
        /// </summary>
       
        public decimal JJCCB { get; set; }
        /// <summary>
        /// 经济舱系数
        /// </summary>
       
        public decimal JJCXS { get; set; }
        /// <summary>
        /// 经济舱人数
        /// </summary>
        
        public int JJCRS { get; set; }
        /// <summary>
        /// 公务舱成本
        /// </summary>
       
        public decimal GWCCB { get; set; }
        /// <summary>
        /// 公务舱系数
        /// </summary>
       
        public decimal GWCXS { get; set; }
        /// <summary>
        /// 公务舱人数
        /// </summary>
        
        public int GWCRS { get; set; }
        /// <summary>
        /// 火车票成本
        /// </summary>
       
        public decimal HCPCB { get; set; }
        /// <summary>
        /// 火车票系数
        /// </summary>
       
        public decimal HCPXS { get; set; }
        /// <summary>
        /// 火车票人数
        /// </summary>
        
        public int HCPRS { get; set; }
        /// <summary>
        /// 船票成本
        /// </summary>
       
        public decimal CPCB { get; set; }
        /// <summary>
        /// 船票系数
        /// </summary>
       
        public decimal CPXS { get; set; }
        /// <summary>
        /// 船票人数
        /// </summary>
        
        public int CPRS { get; set; }
        /// <summary>
        /// 保险成本
        /// </summary>
       
        public decimal BXCB { get; set; }
        /// <summary>
        /// 保险系数
        /// </summary>
       
        public decimal BXXS { get; set; }
        /// <summary>
        /// 保险人数
        /// </summary>
        
        public int BXRS { get; set; }
        /// <summary>
        /// 核酸检测成本
        /// </summary>
       
        public decimal HSCB { get; set; }
        /// <summary>
        /// 核酸检测系数
        /// </summary>
       
        public decimal HSXS { get; set; }
        /// <summary>
        /// 核酸检测人数
        /// </summary>
        
        public int HSRS { get; set; }
        /// <summary>
        /// 签证成本
        /// </summary>
       
        public decimal VisaCB { get; set; }
        /// <summary>
        /// 签证系数
        /// </summary>
       
        public decimal VisaXS { get; set; }
        /// <summary>
        /// 签证人数
        /// </summary>
        
        public int VisaRS { get; set; }
        /// <summary>
        /// 公务成本 : 公杂费
        /// </summary>
       
        public decimal GWCB { get; set; }
        /// <summary>
        /// 公务系数: 公杂费
        /// </summary>
       
        public decimal GWXS { get; set; }
        /// <summary>
        /// 公务人数 : 公杂费
        /// </summary>
        
        public int GWRS { get; set; }
        /// <summary>
        /// 地接成本
        /// </summary>
       
        public decimal DJCB { get; set; }

        /// <summary>
        /// 地接人数
        /// </summary>
        public int DJRS { get; set; }

        /// <summary>
        /// 地接系数
        /// </summary>

        public decimal DJXS { get; set; }
        /// <summary>
        /// 单间 单人成本
        /// </summary>
       
        public decimal SGRCB { get; set; }
        /// <summary>
        /// 单间数量(人数)
        /// </summary>
        
        public int SGRNumber { get; set; }
        /// <summary>
        /// 单间 系数
        /// </summary>
       
        public decimal SGRXS { get; set; }
        /// <summary>
        /// 1/2标间 单人成本
        /// </summary>
       
        public decimal TBRCB { get; set; }
        /// <summary>
        /// 1/2标间数量(人数)
        /// </summary>
        
        public int TBRNumber { get; set; }
        /// <summary>
        /// 1/2标间  系数
        /// </summary>
       
        public decimal TBRXS { get; set; }
        /// <summary>
        /// 小套房/豪华套房 单人成本
        /// </summary>
       
        public decimal JSESCB { get; set; }
        /// <summary>
        /// 小套房/豪华套房数量(人数)
        /// </summary>
        
        public int JSESNumber { get; set; }
        /// <summary>
        /// 小套房/豪华套房 系数
        /// </summary>
       
        public decimal JSESXS { get; set; }
        /// <summary>
        /// 套房  单人成本
        /// </summary>
       
        public decimal SUITECB { get; set; }
        /// <summary>
        /// 套房数量(人数)
        /// </summary>
        
        public int SUITENumber { get; set; }
        /// <summary>
        /// 套房  系数
        /// </summary>
       
        public decimal SUITEXS { get; set; }
        /// <summary>
        /// 零用金成本
        /// </summary>
       
        public decimal LYJCB { get; set; }
        /// <summary>
        /// 零用金系数
        /// </summary>
       
        public decimal LYJXS { get; set; }
        /// <summary>
        /// 零用金人数
        /// </summary>
        
        public int LYJRS { get; set; }
        /// <summary>
        /// 成本完成标识  0:未完成 1：完成
        /// </summary>
        
        public int IsShare { get; set; }

        /// <summary>
        /// 分段类型
        /// </summary>
       
        public string CostType { get; set; }
        /// <summary>
        /// 开始时间
        /// </summary>
        public string CostTypeStartTime { get; set; }
        /// <summary>
        /// 结束时间
        /// </summary>
        public string CostTypeendTime { get; set; }
        /// <summary>
        /// 此段人数
        /// </summary>
        
        public int CostTypenumber { get; set; }
    }

    public class GroupCostInItDto
    {
        public int Diid { get; set; } 
    }

    public class GroupCostExportWordFile
    {
        public int Diid { get; set; }
        public List<ExportWordFileAir> airs { get; set; }

    }

    public class ExportWordFileAir
    {
        public string code { get; set; }
        public int number { get; set; }
        public decimal price { get; set; }
        public string costType { get; set; }
    }

    public class GroupCostExportExcelFile
    {
        public int Diid { get; set; }
        public string costType { get; set; }

        public titleChunk title { get; set; }

        public List<LeftModel> leftInfo { get; set; }

        public List<RightModel> rightInfo { get; set; }

        public List<TitleModel> titleModel { get; set; }
    }

    public class ExportClientWordFileDto
    {
        public int Diid { get; set; }
        public string costType { get; set; }

        public decimal Rate { get; set; }

        public string CarGuides1 { get; set; }
        public string Meal { get; set; }
        public string SubsidizedMeals { get; set; }
        public string NightRepair { get; set; }
        public string AttractionsTickets { get; set; }
        public string MiscellaneousFees { get; set; }
        public string ATip { get; set; }
        public string TzZCost { get; set; }

        public List<LeftModel> leftInfo { get; set; }
    }

    public class LeftModel
    {
        public string Type { get; set; }

        public List<leftInfoModel> leftinfoNumber {get;set; }
    }

    public class RightModel
    {
        public string Type { get; set; }

        public List<RightInfoModel> rightInfoNumber { get; set; }
    }
    public class TitleModel
    {
        public string label { get; set; }
        public string text { get; set; }
    }

    public class RightInfoModel
    {
        public string cb { get; set; }
        public int index { get; set; }
        public string rs { get; set; }
        public string title { get; set; }
        public string xs { get; set; }

        public string bj { get; set; }
    }

    public class leftInfoModel
    {
        public string cb { get; set; }
        public int index { get; set; }
        public string rs { get; set; }
        public string title { get; set; }
        public string xs { get; set; }

    }

    /// <summary>
    /// GroupCost 适用 excel 导出 
    /// </summary>
    public class GroupCost_Excel
    {
        int id;
        /// <summary>
        /// 主键
        /// </summary>
        public int Id
        {
            get { return id; }
            set { id = value; }
        }

        string diid;
        /// <summary>
        /// 团号
        /// </summary>
        public string Diid
        {
            get { return diid; }
            set { diid = value; }
        }
        string day;
        /// <summary>
        /// 天数
        /// </summary>

        public string DAY
        {
            get { return day; }
            set { day = value; }
        }
        string date;
        /// <summary>
        /// 日期
        /// </summary>
        public string Date
        {
            get { return date; }
            set { date = value; }
        }

        string itin;
        /// <summary>
        /// 行程描述
        /// </summary>
        public string ITIN
        {
            get { return itin; }
            set { itin = value; }
        }
        string carType;
        /// <summary>
        /// 车型
        /// </summary>
        public string CarType
        {
            get { return carType; }
            set { carType = value; }
        }

        string carCost;
        /// <summary>
        /// 车费用
        /// </summary>
        public string CarCost
        {
            get { return carCost; }
            set { carCost = value; }
        }

        string carNumber;
        /// <summary>
        /// 车数量
        /// </summary>
        public string CarNumber
        {
            get { return carNumber; }
            set { carNumber = value; }
        }

        string carTiming;
        /// <summary>
        /// 用车时间
        /// </summary>
        public string CarTiming
        {
            get { return carTiming; }
            set { carTiming = value; }
        }

        string tgs;
        /// <summary>
        ///  导游工资
        /// </summary>
        public string TGS
        {
            get { return tgs; }
            set { tgs = value; }
        }

        string tgn;
        /// <summary>
        /// 导游人数
        /// </summary>
        public string TGN
        {
            get { return tgn; }
            set { tgn = value; }
        }

        string tgwk;
        /// <summary>
        ///  导游工资
        /// </summary>
        public string TGWH
        {
            get { return tgwk; }
            set { tgwk = value; }
        }
        /// <summary>
        /// 导游超时费用
        /// </summary>
        string tgof;
        public string TGOF
        {
            get { return tgof; }
            set { tgof = value; }
        }

        string tgm;
        /// <summary>
        /// 导游餐补
        /// </summary>
        public string TGM
        {
            get { return tgm; }
            set { tgm = value; }
        }

        string tga;
        /// <summary>
        /// 导游房补
        /// </summary>
        public string TGA
        {
            get { return tga; }
            set { tga = value; }
        }

        string tgtf;
        /// <summary>
        /// 导游交通费
        /// </summary>
        public string TGTF
        {
            get { return tgtf; }
            set { tgtf = value; }
        }

        string tgef;
        /// <summary>
        /// 导游景点费
        /// </summary>
        public string TGEF
        {
            get { return tgef; }
            set { tgef = value; }
        }

        string cfs;
        /// <summary>
        ///  司机工资
        /// </summary>
        public string CFS
        {
            get { return cfs; }
            set { cfs = value; }
        }

        /// <summary>
        /// 司机餐补
        /// </summary>
        string cfm;
        public string CFM
        {
            get { return cfm; }
            set { cfm = value; }
        }

        /// <summary>
        /// 司机超时费用
        /// </summary>
        string cfof;
        public string CFOF
        {
            get { return cfof; }
            set { cfof = value; }
        }

        string b;
        /// <summary>
        /// 早餐
        /// </summary>
        public string B
        {
            get { return b; }
            set { b = value; }
        }

        string l;
        /// <summary>
        /// 午餐
        /// </summary>
        public string L
        {
            get { return l; }
            set { l = value; }
        }

        string d;
        /// <summary>
        /// 晚餐
        /// </summary>
        public string D
        {
            get { return d; }
            set { d = value; }
        }

        string tbr;
        /// <summary>
        /// 1/2 双人间
        /// </summary>
        public string TBR
        {
            get { return tbr; }
            set { tbr = value; }
        }
        string sgr;
        /// <summary>
        /// 单间
        /// </summary>
        public string SGR
        {
            get { return sgr; }
            set { sgr = value; }
        }
        string jses;
        /// <summary>
        /// 小套房
        /// </summary>
        public string JS_ES
        {
            get { return jses; }
            set { jses = value; }
        }

        string suite;
        /// <summary>
        /// 套房
        /// </summary>
        public string Suite
        {
            get { return suite; }
            set { suite = value; }
        }

        string accon;
        /// <summary>
        /// 酒店名称
        /// </summary>
        public string ACCON
        {
            get { return accon; }
            set { accon = value; }
        }

        string tv;
        /// <summary>
        /// 公务活动费用
        /// </summary>
        public string TV
        {
            get { return tv; }
            set { tv = value; }
        }

        string il;
        /// <summary>
        /// 邀请函相关费用
        /// </summary>
        public string iL
        {
            get { return il; }
            set { il = value; }
        }

        string iF;
        /// <summary>
        /// 公务翻译费用
        /// </summary>
        public string IF
        {
            get { return iF; }
            set { iF = value; }
        }

        string ef;
        /// <summary>
        /// 景点门票
        /// </summary>
        public string EF
        {
            get { return ef; }
            set { ef = value; }
        }

        string brf;
        /// <summary>
        /// 饮料零食水果
        /// </summary>
        public string B_R_F
        {
            get { return brf; }
            set { brf = value; }
        }

        string te;
        /// <summary>
        /// 出行物资
        /// </summary>
        public string TE
        {
            get { return te; }
            set { te = value; }
        }

        string tgtips;
        /// <summary>
        /// 导游小费
        /// </summary>
        public string TGTips
        {
            get { return tgtips; }
            set { tgtips = value; }
        }
        string drvtips;
        /// <summary>
        /// 司机小费
        /// </summary>
        public string DRVTips
        {
            get { return drvtips; }
            set { drvtips = value; }
        }

        string pc;
        /// <summary>
        /// 零用金
        /// </summary>
        public string PC
        {
            get { return pc; }
            set { pc = value; }
        }

        string tlf;
        /// <summary>
        /// 领队费
        /// </summary>
        public string TLF
        {
            get { return tlf; }
            set { tlf = value; }
        }

        string ect;
        /// <summary>
        /// 会务费
        /// </summary>
        public string ECT
        {
            get { return ect; }
            set { ect = value; }
        }

        int oper;
        /// <summary>
        /// 操作员
        /// </summary>
        public int Oper
        {
            get { return oper; }
            set { oper = value; }
        }

        string opTime;
        /// <summary>
        /// 操作时间
        /// </summary>
        public string OpTime
        {
            get { return opTime; }
            set { opTime = value; }
        }

        int isdel;
        /// <summary>
        ///  删除标识
        /// </summary>
        public int Isdel
        {
            get { return isdel; }
            set { isdel = value; }
        }

        public string GwCount { get; set; }

        public string FyCount { get; set; }
    }


    public class titleChunk
    {

        public int GroupNumber { get; set; }

        public string TeamName { get; set; }

        public decimal Tax {  get; set; }

        public string Currency { get; set; }

        public decimal Rate { get; set; }





    }

    public class GroupCostModulePromptDto
    {
        public int UserId { get; set; }
        public int DiId { get; set; }

        /// <summary>
        /// 模块分类
        /// 76	酒店预订
        /// 77	行程
        /// 79	车/导游地接
        /// 80	签证
        /// 81	邀请/公务活动
        /// 82	团组客户保险
        /// 85	机票预订
        /// 98	其他款项
        /// 285	收款退还
        /// 751	酒店早餐
        /// 1015	超支费用
        /// </summary>
        public int CTable { get; set; }
    }
}
