|
@@ -3,6 +3,7 @@ using Aspose.Words;
|
|
using Aspose.Words.Drawing;
|
|
using Aspose.Words.Drawing;
|
|
using Aspose.Words.Tables;
|
|
using Aspose.Words.Tables;
|
|
using DiffMatchPatch;
|
|
using DiffMatchPatch;
|
|
|
|
+using EyeSoft.Collections.Generic;
|
|
using Microsoft.AspNetCore.SignalR;
|
|
using Microsoft.AspNetCore.SignalR;
|
|
using Microsoft.EntityFrameworkCore.Query.Internal;
|
|
using Microsoft.EntityFrameworkCore.Query.Internal;
|
|
using NPOI.HSSF.UserModel;
|
|
using NPOI.HSSF.UserModel;
|
|
@@ -5666,6 +5667,9 @@ FROM
|
|
var _DayAndCosts = _sqlSugar.Queryable<Grp_DayAndCost>().Where(it => it.IsDel == 0 && it.DiId == dto.DiId).ToList();
|
|
var _DayAndCosts = _sqlSugar.Queryable<Grp_DayAndCost>().Where(it => it.IsDel == 0 && it.DiId == dto.DiId).ToList();
|
|
if (_EnterExitCosts == null) return Ok(JsonView(400, "该团组未填写出入境费用;", ""));
|
|
if (_EnterExitCosts == null) return Ok(JsonView(400, "该团组未填写出入境费用;", ""));
|
|
|
|
|
|
|
|
+ var currencyInit = _sqlSugar.Queryable<Sys_SetData>().Where(x => x.IsDel == 0 && x.STid == 66).ToList();
|
|
|
|
+ var enterExitCostCurrencys = (List<CurrencyInfo>?)CommonFun.GetCurrencyChinaToList(_EnterExitCosts.CurrencyRemark);
|
|
|
|
+
|
|
//数据源
|
|
//数据源
|
|
var dac1 = _DayAndCosts.Where(it => it.Type == 1).ToList(); //住宿费
|
|
var dac1 = _DayAndCosts.Where(it => it.Type == 1).ToList(); //住宿费
|
|
var dac2 = _DayAndCosts.Where(it => it.Type == 2).ToList(); //伙食费
|
|
var dac2 = _DayAndCosts.Where(it => it.Type == 2).ToList(); //伙食费
|
|
@@ -5687,6 +5691,20 @@ FROM
|
|
.OrderBy((x) => x.Index)
|
|
.OrderBy((x) => x.Index)
|
|
.ToList(); //其他款项费用
|
|
.ToList(); //其他款项费用
|
|
|
|
|
|
|
|
+ var peiceItemCurrencys = new List<string>();
|
|
|
|
+ if (_DayAndCosts.Any()) {
|
|
|
|
+ var currencyIds = _DayAndCosts.Select(x => x.Currency).Distinct().ToList();
|
|
|
|
+ if (currencyIds.Any()) peiceItemCurrencys.AddRange(currencyInit.Where(x => currencyIds.Contains(x.Id)).Select(x => x.Name).ToList());
|
|
|
|
+ }
|
|
|
|
+ if (dac5.Any()) peiceItemCurrencys.AddRange(dac5.Select(x => x.CurrencyStr).Distinct().ToList());
|
|
|
|
+
|
|
|
|
+ var peiceItemCurrencyInfos= new List<CurrencyInfo>();
|
|
|
|
+ if (enterExitCostCurrencys.Any() && peiceItemCurrencys.Any())
|
|
|
|
+ {
|
|
|
|
+ peiceItemCurrencyInfos = enterExitCostCurrencys.Where(x => peiceItemCurrencys.Contains(x.CurrencyCode)).ToList();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
var _CurrDatas = _sqlSugar.Queryable<Sys_SetData>().Where(it => it.IsDel == 0 && it.STid == 66).ToList();
|
|
var _CurrDatas = _sqlSugar.Queryable<Sys_SetData>().Where(it => it.IsDel == 0 && it.STid == 66).ToList();
|
|
var _DelegationInfo = _sqlSugar.Queryable<Grp_DelegationInfo>().Where(it => it.IsDel == 0 && it.Id == dto.DiId).First();
|
|
var _DelegationInfo = _sqlSugar.Queryable<Grp_DelegationInfo>().Where(it => it.IsDel == 0 && it.Id == dto.DiId).First();
|
|
var DeleClientList = _sqlSugar.Queryable<Grp_TourClientList>()
|
|
var DeleClientList = _sqlSugar.Queryable<Grp_TourClientList>()
|
|
@@ -5811,11 +5829,23 @@ FROM
|
|
airPriceStr += $" {_EnterExitCosts.AirTD.ToString("#0.00")} 元/人(头等舱)";
|
|
airPriceStr += $" {_EnterExitCosts.AirTD.ToString("#0.00")} 元/人(头等舱)";
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ //汇率描述
|
|
|
|
+ string rateStr = "";
|
|
|
|
+ if (peiceItemCurrencyInfos.Any())
|
|
|
|
+ {
|
|
|
|
+ rateStr = "\r\n汇率描述:";
|
|
|
|
+ foreach (var item in peiceItemCurrencyInfos)
|
|
|
|
+ {
|
|
|
|
+ rateStr += $"{item.CurrencyName}({item.CurrencyCode}):{item.Rate.ToString("#0.0000")} ";
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
string twoItemRemark = "备注:";
|
|
string twoItemRemark = "备注:";
|
|
if (!string.IsNullOrEmpty(_EnterExitCosts.TwoItemRemark))
|
|
if (!string.IsNullOrEmpty(_EnterExitCosts.TwoItemRemark))
|
|
{
|
|
{
|
|
twoItemRemark = _EnterExitCosts.TwoItemRemark;
|
|
twoItemRemark = _EnterExitCosts.TwoItemRemark;
|
|
}
|
|
}
|
|
|
|
+ if (!string.IsNullOrEmpty(rateStr)) twoItemRemark += rateStr;
|
|
|
|
|
|
dic.Add("AirTotalStr", airTotalStr);
|
|
dic.Add("AirTotalStr", airTotalStr);
|
|
dic.Add("AirPriceStr", airPriceStr);
|
|
dic.Add("AirPriceStr", airPriceStr);
|
|
@@ -7737,6 +7767,8 @@ FROM
|
|
var countryIds = _DayAndCosts.Select(x => x.NationalTravelFeeId).ToList();
|
|
var countryIds = _DayAndCosts.Select(x => x.NationalTravelFeeId).ToList();
|
|
var nationalTravelFeeData = _sqlSugar.Queryable<Grp_NationalTravelFee>().Where(it => it.IsDel == 0 && countryIds.Contains(it.Id)).ToList();
|
|
var nationalTravelFeeData = _sqlSugar.Queryable<Grp_NationalTravelFee>().Where(it => it.IsDel == 0 && countryIds.Contains(it.Id)).ToList();
|
|
|
|
|
|
|
|
+ var enterExitCostCurrencys = (List<CurrencyInfo>?)CommonFun.GetCurrencyChinaToList(_EnterExitCosts.CurrencyRemark);
|
|
|
|
+
|
|
//数据源
|
|
//数据源
|
|
var dac1 = _DayAndCosts.Where(it => it.Type == 1).ToList(); //住宿费
|
|
var dac1 = _DayAndCosts.Where(it => it.Type == 1).ToList(); //住宿费
|
|
var dac2 = _DayAndCosts.Where(it => it.Type == 2).ToList(); //伙食费
|
|
var dac2 = _DayAndCosts.Where(it => it.Type == 2).ToList(); //伙食费
|
|
@@ -7759,7 +7791,21 @@ FROM
|
|
.ToList(); //其他款项费用
|
|
.ToList(); //其他款项费用
|
|
|
|
|
|
var _CurrDatas = _sqlSugar.Queryable<Sys_SetData>().Where(it => it.IsDel == 0 && it.STid == 66).ToList();
|
|
var _CurrDatas = _sqlSugar.Queryable<Sys_SetData>().Where(it => it.IsDel == 0 && it.STid == 66).ToList();
|
|
-
|
|
|
|
|
|
+
|
|
|
|
+ var peiceItemCurrencys = new List<string>();
|
|
|
|
+ if (_DayAndCosts.Any())
|
|
|
|
+ {
|
|
|
|
+ var currencyIds = _DayAndCosts.Select(x => x.Currency).Distinct().ToList();
|
|
|
|
+ if (currencyIds.Any()) peiceItemCurrencys.AddRange(_CurrDatas.Where(x => currencyIds.Contains(x.Id)).Select(x => x.Name).ToList());
|
|
|
|
+ }
|
|
|
|
+ if (dac5.Any()) peiceItemCurrencys.AddRange(dac5.Select(x => x.CurrencyStr).Distinct().ToList());
|
|
|
|
+
|
|
|
|
+ var peiceItemCurrencyInfos = new List<CurrencyInfo>();
|
|
|
|
+ if (enterExitCostCurrencys.Any() && peiceItemCurrencys.Any())
|
|
|
|
+ {
|
|
|
|
+ peiceItemCurrencyInfos = enterExitCostCurrencys.Where(x => peiceItemCurrencys.Contains(x.CurrencyCode)).ToList();
|
|
|
|
+ }
|
|
|
|
+
|
|
var threeCodes = _sqlSugar.Queryable<Res_ThreeCode>().Where(it => it.IsDel == 0).ToList();
|
|
var threeCodes = _sqlSugar.Queryable<Res_ThreeCode>().Where(it => it.IsDel == 0).ToList();
|
|
var placeData = _sqlSugar.Queryable<Grp_NationalTravelFee>().Where(it => it.IsDel == 0).ToList();
|
|
var placeData = _sqlSugar.Queryable<Grp_NationalTravelFee>().Where(it => it.IsDel == 0).ToList();
|
|
var rateDatas = await _EnterExitCosts.CurrencyRemark.SplitExchangeRate();
|
|
var rateDatas = await _EnterExitCosts.CurrencyRemark.SplitExchangeRate();
|
|
@@ -7860,12 +7906,25 @@ FROM
|
|
airPriceStr += $" {_EnterExitCosts.AirTD.ToString("#0.00")} 元/人(头等舱)";
|
|
airPriceStr += $" {_EnterExitCosts.AirTD.ToString("#0.00")} 元/人(头等舱)";
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ //汇率描述
|
|
|
|
+ string rateStr = "";
|
|
|
|
+ if (peiceItemCurrencyInfos.Any())
|
|
|
|
+ {
|
|
|
|
+ rateStr = "\r\n汇率描述:";
|
|
|
|
+ foreach (var item in peiceItemCurrencyInfos)
|
|
|
|
+ {
|
|
|
|
+ rateStr += $"{item.CurrencyName}({item.CurrencyCode}):{item.Rate.ToString("#0.0000")} ";
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
string twoItemRemark = "备注:";
|
|
string twoItemRemark = "备注:";
|
|
if (!string.IsNullOrEmpty(_EnterExitCosts.TwoItemRemark))
|
|
if (!string.IsNullOrEmpty(_EnterExitCosts.TwoItemRemark))
|
|
{
|
|
{
|
|
twoItemRemark = _EnterExitCosts.TwoItemRemark;
|
|
twoItemRemark = _EnterExitCosts.TwoItemRemark;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ if (!string.IsNullOrEmpty(rateStr)) twoItemRemark += rateStr;
|
|
|
|
+
|
|
dic.Add("AirTotalStr", airTotalStr);
|
|
dic.Add("AirTotalStr", airTotalStr);
|
|
dic.Add("AirPriceStr", airPriceStr);
|
|
dic.Add("AirPriceStr", airPriceStr);
|
|
dic.Add("CityTranffic", _EnterExitCosts.CityTranffic.ToString("#0.00"));
|
|
dic.Add("CityTranffic", _EnterExitCosts.CityTranffic.ToString("#0.00"));
|