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

namespace OASystem.Domain.ViewModels.Statistics
{
    /// <summary>
    /// 团组报表
    /// </summary>
    public class GroupStatementView
    {
    }

    /// <summary>
    /// 团组报表
    /// Items View
    /// </summary>
    public class GroupStatementItemView
    {
        /// <summary>
        /// 序号
        /// </summary>
        public int Row_Number { get; set; }

        /// <summary>
        /// 是否操作完成 
        /// 0否1是
        /// </summary>
        public int IsSure { get; set; }

        /// <summary>
        /// 主键Id
        /// 团组Id
        /// </summary>
        public int Id { get; set; }

        /// <summary>
        /// 团号
        /// </summary>
        public string? TourCode { get; set; }

        /// <summary>
        /// 接团操作人
        /// </summary>
        public string? JietuanOperator { get; set; }

        /// <summary>
        /// 团组等级Id
        /// </summary>
        public int TeamLevId { get; set; }

        /// <summary>
        /// 团组等级 
        /// </summary>
        public string? TeamLev { get; set; }

        /// <summary>
        /// 团组名称
        /// </summary>
        public string? TeamName { get; set; }

        /// <summary>
        /// 客户名称
        /// </summary>
        public string? ClientName { get; set; }

        /// <summary>
        /// 客户所属公司
        /// </summary>
        public string? ClientUnit { get; set; }

        /// <summary>
        /// 团组类型Id
        /// </summary>
        public int TeamTypeId { get; set; }

        /// <summary>
        /// 团组类型
        /// </summary>
        public string? TeamType { get; set; }

        /// <summary>
        /// 出团日期
        /// </summary>
        public DateTime VisitDate { get; set; }

        /// <summary>
        /// 出行天数
        /// </summary>
        public int VisitDays { get; set; }

        /// <summary>
        /// 出行人数
        /// </summary>
        public int VisitPNumber { get; set; }

        /// <summary>
        /// 最后收款时间
        /// </summary>
        public DateTime? LastCollectionTime { get; set; }

    }

    /// <summary>
    /// 团组报表
    /// Details View
    /// </summary>
    public class GroupStatementDetailsView
    {
        /// <summary>
        /// 费用总计 描述
        /// </summary>
        public string? FeeTotalStr { get; set; }

        /// <summary>
        /// 团组收入
        /// Data View 
        /// </summary>
        public GroupIncomeView? GroupIncome { get; set; }

        /// <summary>
        /// 团组收入
        /// 描述
        /// </summary>
        public string? GroupIncomeStr { get; set; }

        /// <summary>
        /// 团组支出
        /// </summary>
        public GroupExpenditureView? GroupExpenditure { get; set; }
    }

    #region 团组收入

    /// <summary>
    /// 团组收入 
    /// Data View
    /// </summary>
    public class GroupIncomeView
    {
        /// <summary>
        /// 应收 Items
        /// </summary>
        public List<Gsd_ForeignReceivablesView>? Receivables { get; set; }

        /// <summary>
        /// 应收 Str
        /// </summary>
        public string? ReceivableStr { get; set; }

        /// <summary>
        /// 已收 Items
        /// </summary>
        public List<Gsd_ProceedsReceivedView>? ProceedsReceivedViews { get; set; }

        /// <summary>
        /// 已收 Str
        /// </summary>
        public string? ProceedsReceivedStr { get; set; }

        /// <summary>
        /// 支出费用 Items
        /// </summary>
        public List<Gsd_ExtraCostsView>? ExtraCostsViews { get; set; } 

        /// <summary>
        /// 支出费用 Str
        /// </summary>
        public string? ExtraCostsStr { get; set; } 

        /// <summary>
        /// 收款退还 Items
        /// </summary>
        public List<Gsd_PaymentRefundAndOtherMoneyView>? PaymentRefundAndOtherMoneyViews { get; set; }

        /// <summary>
        /// 收款退还 Str
        /// </summary>
        public string? PaymentRefundAndOtherMoneyStr { get; set; }
    }

    /// <summary>
    /// 应收报表
    /// </summary>
    public class Gsd_ForeignReceivablesView
    {
        public int Id { get; set; }

        public int diid { get; set; }

        /// <summary>
        /// 费用名称
        /// </summary>
        public string? PriceName { get; set; }

        /// <summary>
        /// 单价
        /// </summary>
        public decimal Price { get; set; } = 0.00M;

        /// <summary>
        /// 数量
        /// </summary>
        public int Count { get; set; }

        /// <summary>
        /// 单位
        /// </summary>
        public string? Unit { get; set; }

        /// <summary>
        /// 币种
        /// </summary>
        public int Currency { get; set; }

        /// <summary>
        /// 币种 Code
        /// </summary>
        public string CurrencyCode { get; set; }

        /// <summary>
        /// 币种 Name
        /// </summary>
        public string CurrencyName { get; set; }

        /// <summary>
        /// 汇率
        /// </summary>
        public decimal Rate { get; set; } = 1.0000M;

        /// <summary>
        /// 应收金额
        /// </summary>
        public decimal ItemSumPrice { get; set; } = 0.00M;
    }

    /// <summary>
    /// 已收报表
    /// </summary>
    public class Gsd_ProceedsReceivedView
    {
        public int Id { get; set; }

        public int Diid { get; set; }

        public string SectionTimeDt { get; set; }

        /// <summary>
        /// 到款时间
        /// </summary>
        public string SectionTime { get {

                string dt = "";

                if (!string.IsNullOrEmpty(SectionTimeDt))
                {
                    DateTime validDate;

                    bool isValid = DateTime.TryParse(SectionTimeDt, out validDate);

                    if (isValid)
                    {
                        dt = validDate.ToString("yyyy-MM-dd");
                    }
                }

                return dt;
            } }

        /// <summary>
        /// 费用金额
        /// </summary>
        public decimal Price { get; set; } = 0.00M;

        /// <summary>
        /// 币种
        /// </summary>
        public int Currency { get; set; }

        /// <summary>
        /// 币种 Code
        /// </summary>
        public string CurrencyCode { get; set; }

        /// <summary>
        /// 币种 Name
        /// </summary>
        public string CurrencyName { get; set; }

        /// <summary>
        /// 支出单位
        /// </summary>
        public string? Client { get; set; }

        /// <summary>
        /// 转账标识Id
        /// </summary>
        public int ReceivablesType { get; set; }

        /// <summary>
        /// 转账类型名称
        /// </summary>
        public string ReceivablesTypeName { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        public string? Remark { get; set; }
    }

    /// <summary>
    /// 超支费用
    /// </summary>
    public class Gsd_ExtraCostsView 
    {
        public int GECId { get; set; }
        public int GECDiId { get; set; }

        /// <summary>
        /// 费用名称
        /// </summary>
        public string? PriceName { get; set; }

        /// <summary>
        /// 付款金额
        /// </summary>
        public decimal PayMoney { get; set; } = 0.00M;

        /// <summary>
        /// 付款币种
        /// </summary>
        public string? PaymentCurrency { get; set; }

        /// <summary>
        /// 当天汇率
        /// </summary>
        public decimal DayRate { get; set; } = 1.0000M;

        /// <summary>
        /// 人民币金额
        /// </summary>
        public decimal CNYPrice { get; set; } = 0.00M;

        /// <summary>
        /// 收款方
        /// </summary>
        public string? Payee { get; set; }

        /// <summary>
        /// 费用标识
        /// -1 未选择 0 公转 1 私转
        /// </summary>
        public int OrbitalPrivateTransfer { get; set; }

        /// <summary>
        /// 支付方式
        /// </summary>
        public string? PayWay { get; set; }

        /// <summary>
        /// 卡类型
        /// </summary>
        public string? CardType { get; set; }

        /// <summary>
        /// 付款状态
        /// </summary>
        public int IsPay { get; set; }

        /// <summary>
        /// 申请人
        /// </summary>
        public string? Applicant { get; set; }
    }

    /// <summary>
    /// 收款退还
    /// </summary>
    public class Gsd_PaymentRefundAndOtherMoneyView
    {
        public int Id { get; set; }

        public int DiId { get; set; }

        /// <summary>
        /// 费用名称
        /// </summary>
        public string? PriceName { get; set; }

        /// <summary>
        /// 币种code
        /// </summary>
        public string? PayCurrencyCode { get; set; }

        /// <summary>
        /// 币种名称
        /// </summary>
        public string? PayCurrencyName { get; set; }

        /// <summary>
        /// 费用
        /// </summary>
        public decimal Price { get; set; } = 0.00M;

        /// <summary>
        /// 人民币金额
        /// </summary>
        public decimal CNYPrice { get; set; } = 0.00M;

        /// <summary>
        /// 当时汇率
        /// </summary>
        public decimal ThisRate { get; set; } = 1.0000M;

        /// <summary>
        /// 收款方
        /// </summary>
        public string? Payee { get; set; }

        /// <summary>
        /// 付款时间
        /// </summary>
        public string? PayTime { get; set; }

        /// <summary>
        /// 费用标识
        /// -1 未选择 0 公转 1 私转
        /// </summary>
        public int? OrbitalPrivateTransfer { get; set; }

        /// <summary>
        /// 支付方式
        /// </summary>
        public string? PayType { get; set; }

        /// <summary>
        /// 付款状态
        /// 0 未付款 1 已付款
        /// </summary>
        public int IsPay { get; set; }

        /// <summary>
        /// 申请人
        /// </summary>
        public string? Applicant { get; set; }
    }

    #region 收款退还 View

    public class Gsd_PaymentRefundAndOtherMoneyDataSource1View : Grp_CreditCardPayment 
    {
        /// <summary>
        /// 申请人
        /// </summary>
        public string Appliction { get; set; }
        public int PrId { get; set; }

        public int PrDiId { get; set; }
        public string PrPriceName { get; set; }
        public decimal PrPrice { get; set; } = 0.00M;
        public int PrCurrencyId { get; set; }
        public int PrPayType { get; set; }
        public int PrPriceType { get; set; }
    };

    #endregion

    #endregion

    #region 团组支出
    /// <summary>
    /// 团组支出 View
    /// </summary>
    public class GroupExpenditureView
    {
        /// <summary>
        /// 酒店费用集合
        /// </summary>
        public List<GroupHotelFeeView>? GroupHotelFeeViews { get; set; }

        /// <summary>
        /// 酒店费用描述
        /// </summary>
        public string? GroupHotelFeeStr { get; set; }

        /// <summary>
        /// 地接费用集合
        /// </summary>
        public List<GroupCTGGRFeeView>? GroupCTGGRFeeViews { get; set; }

        /// <summary>
        /// 地接费用描述
        /// </summary>
        public string? GroupCTGGRFeeStr { get; set; }

        /// <summary>
        /// 机票费用集合
        /// </summary>
        public List<GroupAirFeeView>? GroupAirFeeViews { get; set; }

        /// <summary>
        /// 机票费用描述
        /// </summary>
        public string? GroupAirFeeStr { get; set; }

        /// <summary>
        /// 签证费用集合
        /// </summary>
        public List<GroupVisaFeeView>? GroupVisaFeeViews { get; set; }

        /// <summary>
        /// 签证费用描述
        /// </summary>
        public string? GroupVisaFeeStr { get; set; }

        /// <summary>
        /// 邀请/公务费用集合
        /// </summary>
        public List<GroupInvitationalFeeView>? GroupInvitationalFeeViews { get; set; }

        /// <summary>
        /// 邀请/公务费用描述
        /// </summary>
        public string? GroupInvitationalFeeStr { get; set; }

        /// <summary>
        /// 保险费用集合
        /// </summary>
        public List<GroupInsuranceFeeView>? GroupInsuranceFeeViews { get; set; }

        /// <summary>
        /// 保险费用描述
        /// </summary>
        public string? GroupInsuranceFeeStr { get; set; }

        /// <summary>
        /// 增减款项费用集合
        /// </summary>
        public List<GroupDecreaseFeeView>? GroupDecreaseFeeViews { get; set; }

        /// <summary>
        /// 增减款项费用描述
        /// </summary>
        public string? GroupDecreaseFeeStr { get; set; }
    }

    /// <summary>
    /// 酒店费用View
    /// </summary>
    public class GroupHotelFeeView
    {
        /// <summary>
        /// 团组Id
        /// </summary>
        public int HrDiId { get; set; }

        /// <summary>
        /// 酒店Id
        /// </summary>
        public int HrId { get; set; }

        /// <summary>
        /// 城市
        /// </summary>
        public string? City { get; set; }

        /// <summary>
        /// 酒店名称
        /// </summary>
        public string? HotelName { get; set; }

        /// <summary>
        /// 入住时间
        /// </summary>
        public string? CheckInDate { get; set; }

        /// <summary>
        /// 离店时间
        /// </summary>
        public string? CheckOutDate { get; set; }



        /// <summary>
        /// 单间价格
        /// </summary>
        public decimal SingleRoomPrice { get; set; } = 0.00M;

        /// <summary>
        /// 单间数量
        /// </summary>
        public int SingleRoomCount { get; set; }

        /// <summary>
        /// 双间价格
        /// </summary>
        public decimal DoubleRoomPrice { get; set; } = 0.00M;

        /// <summary>
        /// 双间数量
        /// </summary>
        public int DoubleRoomCount { get; set; }

        /// <summary>
        /// 套房价格
        /// </summary>
        public decimal SuiteRoomPrice { get; set; } = 0.00M;

        /// <summary>
        /// 套房数量
        /// </summary>
        public int SuiteRoomCount { get; set; }

        /// <summary>
        /// 其他房型价格
        /// </summary>
        public decimal OtherRoomPrice { get; set; } = 0.00M;

        /// <summary>
        /// 其他房型数量
        /// </summary>
        public int OtherRoomCount { get; set; }

        /// <summary>
        /// 房间费用
        /// </summary>
        public decimal RoomPrice { get; set; }

        /// <summary>
        /// 房间费用币种
        /// </summary>
        public string RoomPriceCurrency { get; set; }

        /// <summary>
        /// 房间费用提示信息
        /// </summary>
        public string RoomInfoTips { get; set; }

        /// <summary>
        /// 早餐费用
        /// </summary>
        public decimal BreakfastPrice { get; set; } = 0.00M;

        /// <summary>
        /// 早餐币种
        /// </summary>
        public string? BreakfastCurrency { get; set; }

        /// <summary>
        /// 早餐提示消息
        /// </summary>
        public string BreakfastInfoTips { get; set; }

        ///// <summary>
        ///// 由地接支付
        ///// 0 是 1否
        ///// </summary>
        //public int Isoppay { get; set; }

        /// <summary>
        /// 地税
        /// </summary>
        public decimal GovernmentRent { get; set; } = 0.00M;

        /// <summary>
        /// 地税币种
        /// </summary>
        public string? GovernmentRentCurrency { get; set; }

        /// <summary>
        /// 地税提示消息
        /// </summary>
        public string GovernmentRentTips { get; set; }

        /// <summary>
        /// 城市价格
        /// </summary>
        public decimal CityTax { get; set; } = 0.00M;

        /// <summary>
        /// 城市币种
        /// </summary>
        public string? CityTaxCurrency { get; set; }

        /// <summary>
        /// 城市税提示信息
        /// </summary>
        public string? CityTaxTips { get; set; }

        /// <summary>
        /// 信用卡金额
        /// </summary>
        public decimal PayMoney { get; set; } = 0.00M;

        /// <summary>
        /// 信用卡金额币种
        /// </summary>
        public string? PaymentCurrency { get; set; }

        /// <summary>
        /// 人民币金额
        /// </summary>
        public decimal CNYPrice { get; set; } = 0.00M;

        ///// <summary>
        ///// 当天汇率
        ///// </summary>
        //public decimal DayRate { get; set; } = 0.0000M;

        ///// <summary>
        ///// 币种汇率
        ///// </summary>
        //public string? CurrencyRateStr { get; set; }

        /// <summary>
        /// 收款方
        /// </summary>
        public string? Payee { get; set; }

        ///// <summary>
        ///// 费用标识
        ///// -1 未选择 0 公转 1 私转
        ///// </summary>
        //public int OrbitalPrivateTransfer { get; set; }

        ///// <summary>
        ///// 支付方式
        ///// </summary>
        //public string? PayWay { get; set; }

        ///// <summary>
        ///// 卡类型
        ///// </summary>
        //public string? CardType { get; set; }

        /// <summary>
        /// 是否支付
        /// -1 未选择 0 未付款 1 已付款 
        /// </summary>
        public int IsPay { get; set; }

        /// <summary>
        /// 操作人
        /// </summary>
        public string? Applicant { get; set; }
    }

    /// <summary>
    /// 地接费用View
    /// </summary>
    public class GroupCTGGRFeeView
    {
        public int CTGGRDiId { get; set; }
        public int CTGGRId { get; set; }

        /// <summary>
        /// 地区
        /// </summary>
        public string? Area { get; set; }

        /// <summary>
        /// 费用名称
        /// </summary>
        public string? PriceName { get; set; }

        /// <summary>
        /// 费用描述
        /// </summary>
        public string? PriceContent { get; set; }

        /// <summary>
        /// 付款金额
        /// </summary>
        public decimal PayMoney { get; set; } = 0.00M;

        /// <summary>
        /// 付款币种
        /// </summary>
        public string? PaymentCurrency { get; set; }

        /// <summary>
        /// 此次付款百分比
        /// </summary>
        public decimal PayPercentage { get; set; } = 0.00M;

        /// <summary>
        /// 已付款金额
        /// </summary>
        public decimal AmountPaid { get; set; } = 0.00M;

        /// <summary>
        /// 尾款
        /// </summary>
        public decimal BalancePayment { get; set; } = 0.00M;

        /// <summary>
        /// 当时汇率
        /// </summary>
        public decimal DayRate { get; set; } = 1.0000M;

        /// <summary>
        /// 付款人民币金额
        /// </summary>
        public decimal CNYPrice { get; set; }

        /// <summary>
        /// 付款金额
        /// </summary>
        public string? Payee { get; set; }

        /// <summary>
        /// 付款时间
        /// </summary>
        public string? AuditGMDate { get; set; }

        /// <summary>
        /// 费用标识
        /// -1 未选择 0 公转 1 私转
        /// </summary>
        public int OrbitalPrivateTransfer { get; set; }

        /// <summary>
        /// 支付方式
        /// </summary>
        public string? PayWay { get; set; }

        /// <summary>
        /// 是否支付
        /// -1 未选择 0 未付款 1 已付款 
        /// </summary>
        public int IsPay { get; set; }

        /// <summary>
        /// 操作人
        /// </summary>
        public string? Applicant { get; set; }
    }

    /// <summary>
    /// 机票费用View
    /// </summary>
    public class GroupAirFeeView 
    {
        public int AirId { get; set; }
        public int AirDiId { get; set; }

        /// <summary>
        /// 舱位类型
        /// </summary>
        public string? AirTypeName { get; set; }
        /// <summary>
        /// 航班号
        /// </summary>
        public string? FlightsCode { get; set; }

        /// <summary>
        /// 城市A-B
        /// </summary>
        public string? FlightsCity { get; set; }

        /// <summary>
        /// 航班日期
        /// </summary>
        public string? FlightsDate { get; set; }

        /// <summary>
        /// 航班时间
        /// </summary>
        public string? FlightsTime { get; set; }

        /// <summary>
        /// 客户姓名
        /// </summary>
        public string? ClientName { get; set; }

        /// <summary>
        /// 客户人数
        /// </summary>
        public int ClientNum { get; set; }

        /// <summary>
        /// 付款金额
        /// </summary>
        public decimal PayMoney { get; set; } = 0.00M;

        /// <summary>
        /// 付款币种
        /// </summary>
        public string? PayMoneyCurrency { get; set; }

        /// <summary>
        /// CNY 金额
        /// </summary>
        public decimal CNYPrice { get; set; } = 0.00M;

        /// <summary>
        /// 当时汇率
        /// </summary>
        public decimal DayRate { get; set; } = 1.0000M;

        /// <summary>
        /// 付款时间
        /// </summary>
        public string? AuditGMDate { get; set; }

        /// <summary>
        /// 收款方
        /// </summary>
        public string? Payee { get; set; }

        /// <summary>
        /// 费用标识
        /// -1 未选择 0 公转 1 私转
        /// </summary>
        public int OrbitalPrivateTransfer { get; set; }

        /// <summary>
        /// 支付方式
        /// </summary>
        public string? PayWay { get; set; }

        /// <summary>
        /// 卡类型
        /// </summary>
        public string? CardType { get; set; }

        /// <summary>
        /// 是否支付
        /// -1 未选择 0 未付款 1 已付款 
        /// </summary>
        public int IsPay { get; set; }

        /// <summary>
        /// 操作人
        /// </summary>
        public string? Applicant { get; set; }

        /// <summary>
        /// SetDataId
        /// </summary>
        public int CType { get; set; }
    }

    /// <summary>
    /// 签证费用View
    /// </summary>
    public class GroupVisaFeeView
    {
        public int VisaId { get; set; }

        public int VisaDiId { get; set; }

        /// <summary>
        /// 客户名称
        /// </summary>
        public string? VisaClient { get; set; }

        /// <summary>
        /// 付款金额
        /// </summary>
        public decimal PayMoney { get; set; } = 0.00M;

        /// <summary>
        /// 付款金额
        /// </summary>
        public decimal CNYPrice { get; set; } = 0.00M;

        /// <summary>
        /// 付款币种
        /// </summary>
        public string? PayMoneyCurrency { get; set; }

        /// <summary>
        /// 当时汇率
        /// </summary>
        public decimal DayRate { get; set; } = 1.0000M;

        /// <summary>
        /// 付款时间
        /// </summary>
        public string? AuditGMDate { get; set; }
        /// <summary>
        /// 收款方
        /// </summary>
        public string? Payee { get; set; }

        /// <summary>
        /// 费用标识
        /// -1 未选择 0 公转 1 私转
        /// </summary>
        public int OrbitalPrivateTransfer { get; set; }

        /// <summary>
        /// 支付方式
        /// </summary>
        public string? PayWay { get; set; }

        /// <summary>
        /// 卡类型
        /// </summary>
        public string? CardType { get; set; }

        /// <summary>
        /// 是否支付
        /// -1 未选择 0 未付款 1 已付款 
        /// </summary>
        public int IsPay { get; set; }

        /// <summary>
        /// 操作人
        /// </summary>
        public string? Applicant { get; set; }
    }

    /// <summary>
    /// 邀请/公务费用View
    /// </summary>
    public class GroupInvitationalFeeView
    {
        public int IOAId { get; set; }

        public int IOADiId { get; set; }

        /// <summary>
        /// 邀请方地区
        /// </summary>
        public string? InviterArea { get; set; }

        /// <summary>
        /// 邀请方
        /// </summary>
        public string? Inviter { get; set; }

        /// <summary>
        /// 邀请时间
        /// </summary>
        public string? InviteTime { get; set; }

        /// <summary>
        /// 邀请函费用
        /// </summary>
        public decimal InviteCost { get; set; } = 0.00M;

        /// <summary>
        /// 邀请函币种
        /// </summary>
        public string? InviteCurrency { get; set; }

        /// <summary>
        /// 快递费用
        /// </summary>
        public decimal SendCost { get; set; } = 0.00M;

        /// <summary>
        /// 快递币种
        /// </summary>
        public string? SendCurrency { get; set; }

        /// <summary>
        /// 活动费用
        /// </summary>
        public decimal EventsCost { get; set; } = 0.00M;

        /// <summary>
        /// 活动币种
        /// </summary>
        public string? EventsCurrency { get; set; }

        /// <summary>
        /// 翻译费用
        /// </summary>
        public decimal TranslateCost { get; set; } = 0.00M;

        /// <summary>
        /// 翻译币种
        /// </summary>
        public string? TranslateCurrency { get; set; }

        /// <summary>
        /// 付款金额
        /// </summary>
        public decimal PayMoney { get; set; } = 0.00M;

        /// <summary>
        /// 付款币种
        /// </summary>
        public string? PaymentCurrency { get; set; }

        /// <summary>
        /// 人民币费用
        /// </summary>
        public decimal CNYPrice { get; set; } = 0.00M;


        /// <summary>
        /// 人民币费用(后台计算)
        /// </summary>
        public decimal CNYPrice2 { get; set; } = 0.00M;
        

        /// <summary>
        /// 当时币种汇率
        /// </summary>
        public string? CurrencyRateStr { get; set; }

        /// <summary>
        /// 收款方
        /// </summary>
        public string? Payee { get; set; }

        /// <summary>
        /// 付款时间
        /// </summary>
        public string? AuditGMDate { get; set; }

        /// <summary>
        /// 费用标识
        /// -1 未选择 0 公转 1 私转
        /// </summary>
        public int OrbitalPrivateTransfer { get; set; }

        /// <summary>
        /// 支付方式
        /// </summary>
        public string? PayWay { get; set; }

        /// <summary>
        /// 是否支付
        /// -1 未选择 0 未付款 1 已付款 
        /// </summary>
        public int IsPay { get; set; }

        /// <summary>
        /// 操作人
        /// </summary>
        public string? Applicant { get; set; }
    }

    /// <summary>
    /// 保险费用View
    /// </summary>
    public class GroupInsuranceFeeView
    {
        public int InsuranceId { get; set; }

        public int InsuranceDiId { get; set; }

        /// <summary>
        /// 客户名称
        /// </summary>
        public string? ClientName { get; set; }

        /// <summary>
        /// 付款金额
        /// </summary>
        public decimal PayMoney { get; set; } = 0.00M;

        /// <summary>
        /// 付款币种
        /// </summary>
        public string? PayMoneyCurrency { get; set; }

        /// <summary>
        /// 人民币金额
        /// </summary>
        public decimal CNYPrice { get; set; } = 0.00M;

        /// <summary>
        /// 付款时间
        /// </summary>
        public string? AuditGMDate { get; set; }

        /// <summary>
        /// 收款方
        /// </summary>
        public string? Payee { get; set; }

        /// <summary>
        /// 费用标识
        /// -1 未选择 0 公转 1 私转
        /// </summary>
        public int OrbitalPrivateTransfer { get; set; }

        /// <summary>
        /// 支付方式
        /// </summary>
        public string? PayWay { get; set; }

        /// <summary>
        /// 是否支付
        /// -1 未选择 0 未付款 1 已付款 
        /// </summary>
        public int IsPay { get; set; }

        /// <summary>
        /// 操作人
        /// </summary>
        public string? Applicant { get; set; }
    }

    /// <summary>
    /// 增减款项View
    /// </summary>
    public class GroupDecreaseFeeView
    {
        public int DPId { get; set; }
        public int DPDiId { get; set; }

        /// <summary>
        /// 费用名称
        /// </summary>
        public string? PriceName { get; set; }

        /// <summary>
        /// 付款金额
        /// </summary>
        public decimal PayMoney { get; set; } = 0.00M;

        /// <summary>
        /// 付款币种
        /// </summary>
        public string? PayMoneyCurrency { get; set; }

        /// <summary>
        /// 当时汇率
        /// </summary>
        public decimal DayRate { get; set; } = 1.0000M;

        /// <summary>
        /// 人民币金额
        /// </summary>
        public decimal CNYPrice { get; set; } = 0.00M;

        /// <summary>
        /// 付款时间
        /// </summary>
        public string? AuditGMDate { get; set; }

        /// <summary>
        /// 收款方
        /// </summary>
        public string? Payee { get; set; }

        /// <summary>
        /// 费用标识
        /// -1 未选择 0 公转 1 私转
        /// </summary>
        public int OrbitalPrivateTransfer { get; set; }

        /// <summary>
        /// 支付方式
        /// </summary>
        public string? PayWay { get; set; }

        /// <summary>
        /// 是否支付
        /// -1 未选择 0 未付款 1 已付款 
        /// </summary>
        public int IsPay { get; set; }

        /// <summary>
        /// 操作人
        /// </summary>
        public string? Applicant { get; set; }

    }
    #endregion

}
