|
@@ -3,6 +3,7 @@ using Aspose.Words;
|
|
|
using Aspose.Words.Drawing;
|
|
|
using Aspose.Words.Tables;
|
|
|
using DiffMatchPatch;
|
|
|
+using EyeSoft.Collections.Generic;
|
|
|
using Microsoft.AspNetCore.SignalR;
|
|
|
using Microsoft.EntityFrameworkCore.Query.Internal;
|
|
|
using NPOI.HSSF.UserModel;
|
|
@@ -412,12 +413,12 @@ namespace OASystem.API.Controllers
|
|
|
watch.Start();
|
|
|
RefAsync<int> total = 0;
|
|
|
var countyDatas = await _sqlSugar.Queryable<Grp_DelegationInfo>()
|
|
|
- .Where((di) => di.IsDel == 0 && !string.IsNullOrWhiteSpace(di.TeamName))
|
|
|
- .WhereIF(!string.IsNullOrEmpty(dto.Search), (di) => di.TeamName.Contains(dto.Search))
|
|
|
- .OrderBy((di) => new { id = SqlFunc.Desc(di.Id) })
|
|
|
- .Select((di) => new { id = di.Id, name = di.TeamName, di.ClientName, di.VisitPNumber, di.VisitCountry, di.VisitDays, di.VisitStartDate, di.VisitEndDate, di.TourCode })
|
|
|
- .Distinct()
|
|
|
- .ToPageListAsync(dto.PageIndex, dto.PageSize, total);
|
|
|
+ .Where((di) => di.IsDel == 0 && !string.IsNullOrWhiteSpace(di.TeamName))
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.Search), (di) => di.TeamName.Contains(dto.Search))
|
|
|
+ .OrderBy((di) => new { id = SqlFunc.Desc(di.Id) })
|
|
|
+ .Select((di) => new { id = di.Id, name = di.TeamName, di.ClientName, di.VisitPNumber, di.VisitCountry, di.VisitDays, di.VisitStartDate, di.VisitEndDate,di.TourCode })
|
|
|
+ .Distinct()
|
|
|
+ .ToPageListAsync(dto.PageIndex, dto.PageSize, total);
|
|
|
watch.Stop();
|
|
|
|
|
|
return Ok(JsonView(true, $"{MsgTips.Succeed},耗时 {watch.ElapsedMilliseconds} ms", countyDatas, total));
|
|
@@ -5666,6 +5667,9 @@ FROM
|
|
|
var _DayAndCosts = _sqlSugar.Queryable<Grp_DayAndCost>().Where(it => it.IsDel == 0 && it.DiId == dto.DiId).ToList();
|
|
|
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 dac2 = _DayAndCosts.Where(it => it.Type == 2).ToList(); //伙食费
|
|
@@ -5687,6 +5691,20 @@ FROM
|
|
|
.OrderBy((x) => x.Index)
|
|
|
.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 _DelegationInfo = _sqlSugar.Queryable<Grp_DelegationInfo>().Where(it => it.IsDel == 0 && it.Id == dto.DiId).First();
|
|
|
var DeleClientList = _sqlSugar.Queryable<Grp_TourClientList>()
|
|
@@ -5811,12 +5829,21 @@ FROM
|
|
|
airPriceStr += $" {_EnterExitCosts.AirTD.ToString("#0.00")} 元/人(头等舱)";
|
|
|
}
|
|
|
|
|
|
- string twoItemRemark = "备注:";
|
|
|
- if (!string.IsNullOrEmpty(_EnterExitCosts.TwoItemRemark))
|
|
|
+ //汇率描述
|
|
|
+ string rateStr = "";
|
|
|
+ if (peiceItemCurrencyInfos.Any())
|
|
|
{
|
|
|
- twoItemRemark = _EnterExitCosts.TwoItemRemark;
|
|
|
+ rateStr = "\r\n汇率描述:";
|
|
|
+ foreach (var item in peiceItemCurrencyInfos)
|
|
|
+ {
|
|
|
+ rateStr += $"{item.CurrencyName}({item.CurrencyCode}):{item.Rate.ToString("#0.0000")} ";
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
+ string twoItemRemark = "备注:";
|
|
|
+ if (!string.IsNullOrEmpty(_EnterExitCosts.TwoItemRemark)) twoItemRemark += _EnterExitCosts.TwoItemRemark;
|
|
|
+ if (!string.IsNullOrEmpty(rateStr)) twoItemRemark += rateStr;
|
|
|
+
|
|
|
dic.Add("AirTotalStr", airTotalStr);
|
|
|
dic.Add("AirPriceStr", airPriceStr);
|
|
|
dic.Add("CityTranffic", _EnterExitCosts.CityTranffic.ToString("#0.00"));
|
|
@@ -6115,7 +6142,6 @@ FROM
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
-
|
|
|
#region 设置页眉
|
|
|
|
|
|
string userLabel = string.Empty;
|
|
@@ -7737,6 +7763,8 @@ FROM
|
|
|
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 enterExitCostCurrencys = (List<CurrencyInfo>?)CommonFun.GetCurrencyChinaToList(_EnterExitCosts.CurrencyRemark);
|
|
|
+
|
|
|
//数据源
|
|
|
var dac1 = _DayAndCosts.Where(it => it.Type == 1).ToList(); //住宿费
|
|
|
var dac2 = _DayAndCosts.Where(it => it.Type == 2).ToList(); //伙食费
|
|
@@ -7759,7 +7787,21 @@ FROM
|
|
|
.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 placeData = _sqlSugar.Queryable<Grp_NationalTravelFee>().Where(it => it.IsDel == 0).ToList();
|
|
|
var rateDatas = await _EnterExitCosts.CurrencyRemark.SplitExchangeRate();
|
|
@@ -7860,11 +7902,21 @@ FROM
|
|
|
airPriceStr += $" {_EnterExitCosts.AirTD.ToString("#0.00")} 元/人(头等舱)";
|
|
|
}
|
|
|
|
|
|
- string twoItemRemark = "备注:";
|
|
|
- if (!string.IsNullOrEmpty(_EnterExitCosts.TwoItemRemark))
|
|
|
+ //汇率描述
|
|
|
+ string rateStr = "";
|
|
|
+ if (peiceItemCurrencyInfos.Any())
|
|
|
{
|
|
|
- twoItemRemark = _EnterExitCosts.TwoItemRemark;
|
|
|
+ rateStr = "\r\n汇率描述:";
|
|
|
+ foreach (var item in peiceItemCurrencyInfos)
|
|
|
+ {
|
|
|
+ rateStr += $"{item.CurrencyName}({item.CurrencyCode}):{item.Rate.ToString("#0.0000")} ";
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
+ string twoItemRemark = "备注:";
|
|
|
+ if (!string.IsNullOrEmpty(_EnterExitCosts.TwoItemRemark)) twoItemRemark += _EnterExitCosts.TwoItemRemark;
|
|
|
+
|
|
|
+ if (!string.IsNullOrEmpty(rateStr)) twoItemRemark += rateStr;
|
|
|
|
|
|
dic.Add("AirTotalStr", airTotalStr);
|
|
|
dic.Add("AirPriceStr", airPriceStr);
|