using Google.Protobuf; using Newtonsoft.Json; using OASystem.Domain.Entities.Financial; using OASystem.Domain.Entities.Groups; using System; using System.Collections.Generic; using System.Linq; using System.Runtime.Intrinsics.Arm; 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> /// 添加方式 /// 0 - 账单模块 1 - 成本预算模块 2 - 实际报价 /// </summary> public int AddingWay { get; set; } /// <summary> /// 审核状态 AddingWay==2该项有值 /// 0 - 未审核 1 - 审核通过 2 - 审核不通过 /// </summary> public int Status { get; set; } public string StatusStr { get { string str = "-"; if (AddingWay == 2) { if (Status == 0) str = "未审核"; else if (Status == 1) str = "审核通过"; else if (Status == 2) str = "审核不通过"; } return str; } } public string Auditor { get; set; } public string AuditorStr { get { string str = "-"; if (AddingWay == 2) { if (Status != 0) { str = @$"{Auditor} "; } } return str; } } //public DateTime? AuditTime { 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; public string Remark { get; set; } } /// <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; } public string CostMark { get { return OrbitalPrivateTransfer == 0 ? "公转" : OrbitalPrivateTransfer == 1 ? "私转" : "-"; } } /// <summary> /// 支付方式 /// </summary> public string? PayType { get; set; } /// <summary> /// 付款状态 /// 0 未付款 1 已付款 /// </summary> public int IsPay { get; set; } public string IsPayLable { get { return IsPay == 0 ? "未付款" : IsPay == 1 ? "已付款" : "-"; } } /// <summary> /// 申请人 /// </summary> public string? Applicant { get; set; } public string Remark { 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; } public string SKTHRemark { 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; } public List<GroupRoyaltyFeeView> GroupRoyaltyFeeViews { get; set; } public string? GroupRoyaltyFeeStr { get; set; } /// <summary> /// 公司人员报销费用集合 /// </summary> public List<GroupReimburseFeeInfoView> GroupReimburseFeeViews { get; set; } /// <summary> /// 公司人员报销费用描述 /// </summary> public string? GroupReimburseFeeStr { 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> /// excel Label /// </summary> public string RoomFeeLabel { get { return $"{RoomPrice.ToString("#0.00")} {RoomPriceCurrency}"; } } /// <summary> /// 早餐费用 /// </summary> public decimal BreakfastPrice { get; set; } = 0.00M; /// <summary> /// 早餐币种 /// </summary> public string? BreakfastCurrency { get; set; } /// <summary> /// 早餐提示消息 /// </summary> public string BreakfastInfoTips { get; set; } /// <summary> /// excel Label /// </summary> public string BreakfastFeeLabel { get { return $"{BreakfastPrice.ToString("#0.00")} {BreakfastCurrency}"; } } ///// <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> /// excel Label /// </summary> public string GovernmentRentFeeLabel { get { return $"{GovernmentRent.ToString("#0.00")} {GovernmentRentCurrency}"; } } /// <summary> /// 城市价格 /// </summary> public decimal CityTax { get; set; } = 0.00M; /// <summary> /// 城市币种 /// </summary> public string? CityTaxCurrency { get; set; } /// <summary> /// 城市税提示信息 /// </summary> public string? CityTaxTips { get; set; } /// <summary> /// excel Label /// </summary> public string CityTaxFeeLabel { get { return $"{CityTax.ToString("#0.00")} {CityTaxCurrency}"; } } /// <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 string CNYPriceLabel { get { return $"{CNYPrice.ToString("#0.00")} CNY"; } } ///// <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; } public string CostMark { get { var label = string.Empty; if (OrbitalPrivateTransfer == 0) label = "公转"; else if (OrbitalPrivateTransfer == 1) label = "私转"; return label; } } /// <summary> /// 支付方式 /// </summary> public string? PayWay { get; set; } ///// <summary> ///// 卡类型 ///// </summary> //public string? CardType { get; set; } /// <summary> /// 是否支付 /// -1 未选择 0 未付款 1 已付款 2 其它费用子项未付款 /// </summary> public int IsPay { get; set; } public string IsPayLable { get { var label = $"未选择"; if (IsPay == 0) label = "未付款"; else if (IsPay == 1) label = "已付款"; else if (IsPay == 2) label = "其它费用子项未付款"; return label; } } /// <summary> /// /// </summary> public string PayTips { get; set; } /// <summary> /// 操作人 /// </summary> public string? Applicant { get; set; } public string Remark { 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 DateTime DatePrice { get; set; } /// <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> /// 费用标识Text /// </summary> public string CostMark { get { return OrbitalPrivateTransfer == 0 ? "公转" : OrbitalPrivateTransfer == 1 ? "私转" : "-"; } } /// <summary> /// 支付方式 /// </summary> public string? PayWay { get; set; } /// <summary> /// 是否支付 /// -1 未选择 0 未付款 1 已付款 /// </summary> public int IsPay { get; set; } public string IsPayLabel { get { return IsPay == 0 ? "未付款" : IsPay == 1 ? "已付款" : "-"; } } /// <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; } } public class GroupRoyaltyFeeInfo { public int GroupId { get; set; } public string OverviewInfo { get; set; } [JsonIgnore] public string DetailedInfo { get; set; } public string[] DetailedInfoText { get { var jsonArray = Array.Empty<string>(); string str = DetailedInfo; if (string.IsNullOrWhiteSpace(str)) return jsonArray; str = str.Trim(); if ((str.StartsWith("{") && str.EndsWith("}")) || // 检查是否是 JSON 对象 (str.StartsWith("[") && str.EndsWith("]"))) // 检查是否是 JSON 数组 { try { return JsonConvert.DeserializeObject<string[]>(str); } catch (JsonException) { return jsonArray; } } return jsonArray; } } public string DetailedInfoExcelText { get { string label = string.Empty; var array = DetailedInfoText; if (!array.Any()) return label; foreach (var item in array) label += $"{item}\n"; if (label.EndsWith(@"\n")) label = label.Substring(0, label.Length - 2); return label; } } public decimal Amount { get; set; } public int IsConfirm { get; set; } public string IsConfrimText { get { return IsConfirm == 1 ? "已确认" : "未确认"; } } public int IsSeed { get; set; } public string IsSeedText { get { return IsSeed == 1 ? "已发放" : "未发放"; } } public string RoyaltyUserName { get; set; } public string CreateUserName { get; set; } public DateTime CreateTime { get; set; } } public class GroupReimburseFeeInfoView { /// <summary> /// 金额总计 /// </summary> public decimal TotalAmt { get; set; } public string Currency { get; set; } = "CNY"; //public GroupReimburseFeeSubInfo[]? FeeItems { get; set; } /// <summary> /// 申请原因 /// </summary> public string AppReason { get; set; } public int FAudit { get; set; } public int MAudit { get; set; } /// <summary> /// 审核状态 /// </summary> public string AuditStatusFlg { get { var fLabel = FAudit == 0 ? "财务未审核" : FAudit == 1 ? "财务已审核" : "财务审核未通过"; var mLabel = MAudit == 0 ? "总经理未审核" : MAudit == 1 ? "总经理已审核" : "总经理审核未通过"; return $"{fLabel}<br />{mLabel}"; } } /// <summary> /// 付款描述 /// </summary> public string PayStatusFlag { get; set; } /// <summary> /// 转账标识 /// </summary> public string TransferLabel { get; set; } /// <summary> /// 申请公司 /// </summary> public string ApplyComp { get; set; } /// <summary> /// 申请人 /// </summary> public string ApplyName { get; set; } /// <summary> /// 申请时间 /// </summary> public DateTime ApplyTime { get; set; } } public class GroupReimburseFeeSubInfo { /// <summary> /// 费用名称 /// </summary> public string? PriceName { get; set; } /// <summary> /// 数量 /// </summary> public decimal Quantity { get; set; } /// <summary> /// 单价 /// </summary> public decimal Price { get; set; } /// <summary> /// 小记 /// </summary> public decimal SubTotal { get; set; } public string Currency { get; set; } = "CNY"; public string Remark { get; set; } } /// <summary> /// 操作人员提成View /// </summary> public class GroupRoyaltyFeeView { public int GroupId { get; set; } public string OverviewInfo { get; set; } public string[] DetailedInfoText { get; set; } public decimal Amount { get; set; } public string IsConfrimText { get; set; } public string IsSeedText { get; set; } public string RoyaltyUserName { get; set; } public string CreateUserName { get; set; } public DateTime CreateTime { get; set; } } #endregion #region 团组统计报表下载 /// <summary> /// Excel 签证费用View /// </summary> public class GroupVisaFeeExcelView { 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 string CostMark { get; set; } /// <summary> /// 支付方式 /// </summary> public string? PaymentModes { get; set; } /// <summary> /// 卡类型 /// </summary> public string? CardType { get; set; } /// <summary> /// 是否支付 /// </summary> public string IsPay { get; set; } /// <summary> /// 付款时间 /// </summary> public string ConsumptionDate { get; set; } public string Remark { get; set; } /// <summary> /// 操作人 /// </summary> public string? Applicant { get; set; } public DateTime CreateTime { get; set; } } /// <summary> /// Excel 商邀费用View /// </summary> public class GroupOAFeeExcelView { 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 decimal DayRate { get; set; } = 0.0000M; /// <summary> /// 付款币种 /// </summary> public string? PaymentCurrency { get; set; } /// <summary> /// 人民币费用 /// </summary> public decimal CNYPrice { get; set; } = 0.00M; /// <summary> /// 收款方 /// </summary> public string? Payee { get; set; } /// <summary> /// 消费日期 /// </summary> public string ConsumptionDate { get; set; } /// <summary> /// 费用标识 /// </summary> public string CostMark { get; set; } /// <summary> /// 支付标识 /// </summary> public string IsPay { get; set; } /// <summary> /// 支付方式 /// </summary> public string PaymentModes { get; set; } /// <summary> /// 备注 /// </summary> public string Remark { get; set; } /// <summary> /// 审核时间 /// </summary> public string? AuditGMDate { get; set; } /// <summary> /// 操作人 /// </summary> public string? Applicant { get; set; } public DateTime CreateTime { get; set; } } /// <summary> /// Excel 机票费用View /// </summary> public class GroupAirTicketExcelView { public int AirId { get; set; } public int AirDiId { get; set; } /// <summary> /// 航班号 /// </summary> public string? FlightsCode { get; set; } /// <summary> /// 城市A-B /// </summary> public string? FlightsCity { get; set; } /// <summary> /// 舱位类型 /// </summary> public string? AirTypeName { 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 string PriceDescription { get; set; } /// <summary> /// 付款金额 /// </summary> public decimal PayMoney { get; set; } = 0.00M; /// <summary> /// 当时汇率 /// </summary> public decimal DayRate { get; set; } = 1.0000M; /// <summary> /// 付款币种 /// </summary> public string? PayMoneyCurrency { get; set; } /// <summary> /// CNY 金额 /// </summary> public decimal CNYPrice { get; set; } = 0.00M; /// <summary> /// 付款时间 /// </summary> public string ConsumptionDate { get; set; } /// <summary> /// 收款方 /// </summary> public string? Payee { get; set; } /// <summary> /// 费用标识 /// </summary> public string CostMark { get; set; } /// <summary> /// 是否支付 /// </summary> public string IsPay { get; set; } /// <summary> /// 支付方式 /// </summary> public string? PaymentModes { get; set; } /// <summary> /// 卡类型 /// </summary> public string? CardType { get; set; } /// <summary> /// 审核时间 /// </summary> public string? AuditGMDate { get; set; } /// <summary> /// 操作人 /// </summary> public string? Applicant { get; set; } /// <summary> /// 创建时间 /// </summary> public DateTime CreateTime { get; set; } /// <summary> /// SetDataId /// </summary> public int CType { get; set; } public string Remark { get; set; } } /// <summary> /// Excel 保险费用View /// </summary> public class GroupInsureExcelView { 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 DayRate { get; set; } /// <summary> /// 人民币金额 /// </summary> public decimal CNYPrice { get; set; } = 0.00M; /// <summary> /// 付款时间 /// </summary> public string ConsumptionDate { get; set; } /// <summary> /// 费用标识 /// </summary> public string CostMark { get; set; } /// <summary> /// 审核时间 /// </summary> public string? AuditGMDate { get; set; } /// <summary> /// 收款方 /// </summary> public string? Payee { get; set; } /// <summary> /// 是否支付 /// </summary> public string IsPay { get; set; } /// <summary> /// 支付方式 /// </summary> public string? PaymentModes { get; set; } /// <summary> /// 操作人 /// </summary> public string? Applicant { get; set; } public DateTime CreateTime { get; set; } public string Remark { get; set; } } /// <summary> /// Excel 保险费用View /// </summary> public class GroupOtherFeeExcelView { 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> /// 费用标识 /// </summary> public string CostMark { get; set; } /// <summary> /// 支付方式 /// </summary> public string? PaymentModes { get; set; } /// <summary> /// 是否支付 /// </summary> public string IsPay { get; set; } /// <summary> /// 操作人 /// </summary> public string? Applicant { get; set; } public DateTime CreateTime { get; set; } public string? Remark { get; set; } } /// <summary> /// 操作人员提成View /// </summary> public class GroupRoyaltyFeeExcelView { public int GroupId { get; set; } public string OverviewInfo { get; set; } public string DetailedInfoExcelText { get; set; } public decimal Amount { get; set; } public string IsConfrimText { get; set; } public string IsSeedText { get; set; } public string RoyaltyUserName { get; set; } public string CreateUserName { get; set; } public DateTime CreateTime { get; set; } } #endregion }