|
@@ -130,23 +130,13 @@ namespace OASystem.API.Controllers
|
|
|
private readonly IDeepSeekService _deepSeekService;
|
|
private readonly IDeepSeekService _deepSeekService;
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
|
- ///初始化岗位对应负责的数据类型
|
|
|
|
|
|
|
+ /// 初始化岗位对应负责的数据类型
|
|
|
///
|
|
///
|
|
|
/// 岗位ID
|
|
/// 岗位ID
|
|
|
- /// 24 机票
|
|
|
|
|
- /// 25 酒店
|
|
|
|
|
- /// 26 签证
|
|
|
|
|
- /// 27 商邀
|
|
|
|
|
- /// 28 OP
|
|
|
|
|
|
|
+ /// 24 机票、25 酒店、26 签证、27 商邀、28 OP
|
|
|
///
|
|
///
|
|
|
/// 费用类型ID
|
|
/// 费用类型ID
|
|
|
- /// 76 酒店预订
|
|
|
|
|
- /// 79 车/导游地接
|
|
|
|
|
- /// 80 签证
|
|
|
|
|
- /// 81 邀请/公务活动
|
|
|
|
|
- /// 82 团组客户保险
|
|
|
|
|
- /// 85 机票预订
|
|
|
|
|
- /// 98 其他款项
|
|
|
|
|
|
|
+ /// 76 酒店预订、79 车/导游地接、80 签证、81 邀请/公务活动、82 团组客户保险、85 机票预订、98 其他款项
|
|
|
/// </summary>
|
|
/// </summary>
|
|
|
private readonly Dictionary<int, List<int>> _dataInit = new() {
|
|
private readonly Dictionary<int, List<int>> _dataInit = new() {
|
|
|
{ 24, new List<int> { 85 } }, // 机票 -> 机票预订
|
|
{ 24, new List<int> { 85 } }, // 机票 -> 机票预订
|
|
@@ -9053,52 +9043,49 @@ FROM
|
|
|
|
|
|
|
|
var airTotalStr = new StringBuilder();
|
|
var airTotalStr = new StringBuilder();
|
|
|
var airPriceStr = new StringBuilder();
|
|
var airPriceStr = new StringBuilder();
|
|
|
|
|
+ var cityTrafficLabel = new StringBuilder();
|
|
|
//经济舱
|
|
//经济舱
|
|
|
if (_EnterExitCosts.SumJJC == 1)
|
|
if (_EnterExitCosts.SumJJC == 1)
|
|
|
{
|
|
{
|
|
|
- airTotalStr.Append($"{_EnterExitCosts.OutsideJJPay:#0.00}元/人(经济舱)");
|
|
|
|
|
- airPriceStr.Append($"{_EnterExitCosts.AirJJ:#0.00}元/人(经济舱)");
|
|
|
|
|
|
|
+ airTotalStr.AppendFormat($"{_EnterExitCosts.OutsideJJPay:#0.00}元/人(经济舱)");
|
|
|
|
|
+ airPriceStr.AppendFormat($"{_EnterExitCosts.AirJJ:#0.00}元/人(经济舱)");
|
|
|
|
|
+ cityTrafficLabel.AppendFormat("经济舱:{0:#0.00} 元/人 ", _EnterExitCosts.CityTranffic);
|
|
|
}
|
|
}
|
|
|
//公务舱
|
|
//公务舱
|
|
|
if (_EnterExitCosts.SumGWC == 1)
|
|
if (_EnterExitCosts.SumGWC == 1)
|
|
|
{
|
|
{
|
|
|
- airTotalStr.Append($"{_EnterExitCosts.OutsideGWPay:#0.00} 元/人(公务舱)");
|
|
|
|
|
- airPriceStr.Append($"{_EnterExitCosts.AirGW:#0.00} 元/人(公务舱)");
|
|
|
|
|
|
|
+ airTotalStr.AppendFormat($"{_EnterExitCosts.OutsideGWPay:#0.00} 元/人(公务舱)");
|
|
|
|
|
+ airPriceStr.AppendFormat($"{_EnterExitCosts.AirGW:#0.00} 元/人(公务舱)");
|
|
|
|
|
+ cityTrafficLabel.AppendFormat("公务舱:{0:#0.00} 元/人 ", _EnterExitCosts.CityTranffic1);
|
|
|
}
|
|
}
|
|
|
//头等舱
|
|
//头等舱
|
|
|
if (_EnterExitCosts.SumTDC == 1)
|
|
if (_EnterExitCosts.SumTDC == 1)
|
|
|
{
|
|
{
|
|
|
- airTotalStr.Append($"{_EnterExitCosts.OutsideTDPay:#0.00} 元/人(头等舱)");
|
|
|
|
|
- airPriceStr.Append($"{_EnterExitCosts.AirTD:#0.00} 元/人(头等舱)");
|
|
|
|
|
|
|
+ airTotalStr.AppendFormat($"{_EnterExitCosts.OutsideTDPay:#0.00} 元/人(头等舱)");
|
|
|
|
|
+ airPriceStr.AppendFormat($"{_EnterExitCosts.AirTD:#0.00} 元/人(头等舱)");
|
|
|
|
|
+ cityTrafficLabel.AppendFormat("头等舱:{0:#0.00} 元/人 ", _EnterExitCosts.CityTranffic2);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
//描述
|
|
//描述
|
|
|
var remarkLable = new StringBuilder();
|
|
var remarkLable = new StringBuilder();
|
|
|
//第二项描述
|
|
//第二项描述
|
|
|
remarkLable.Append("备注:");
|
|
remarkLable.Append("备注:");
|
|
|
- if (!string.IsNullOrEmpty(_EnterExitCosts.TwoItemRemark)) remarkLable.Append( _EnterExitCosts.TwoItemRemark);
|
|
|
|
|
|
|
+ if (!string.IsNullOrEmpty(_EnterExitCosts.TwoItemRemark)) remarkLable.AppendFormat( _EnterExitCosts.TwoItemRemark);
|
|
|
|
|
|
|
|
//汇率描述
|
|
//汇率描述
|
|
|
if (peiceItemCurrencyInfos.Any())
|
|
if (peiceItemCurrencyInfos.Any())
|
|
|
{
|
|
{
|
|
|
remarkLable.AppendLine();
|
|
remarkLable.AppendLine();
|
|
|
- remarkLable.Append("汇率描述:");
|
|
|
|
|
|
|
+ remarkLable.AppendFormat("汇率描述:");
|
|
|
foreach (var item in peiceItemCurrencyInfos)
|
|
foreach (var item in peiceItemCurrencyInfos)
|
|
|
{
|
|
{
|
|
|
- remarkLable.Append($"{item.CurrencyName}({item.CurrencyCode}):{item.Rate:#0.0000} ");
|
|
|
|
|
|
|
+ remarkLable.AppendFormat($"{item.CurrencyName}({item.CurrencyCode}):{item.Rate:#0.0000} ");
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- //城市交通费 处理
|
|
|
|
|
- var cityTrafficLabel = new StringBuilder()
|
|
|
|
|
- .AppendFormat(" 经济舱:{0:#0.00} 元/人", _EnterExitCosts.CityTranffic)
|
|
|
|
|
- .AppendFormat(" 公务舱:{0:#0.00} 元/人", _EnterExitCosts.CityTranffic1)
|
|
|
|
|
- .AppendFormat(" 头等舱:{0:#0.00} 元/人", _EnterExitCosts.CityTranffic2)
|
|
|
|
|
- .ToString();
|
|
|
|
|
-
|
|
|
|
|
dic.Add("AirTotalStr", airTotalStr.ToString());
|
|
dic.Add("AirTotalStr", airTotalStr.ToString());
|
|
|
dic.Add("AirPriceStr", airPriceStr.ToString());
|
|
dic.Add("AirPriceStr", airPriceStr.ToString());
|
|
|
- dic.Add("CityTranffic", cityTrafficLabel);
|
|
|
|
|
|
|
+ dic.Add("CityTranffic", cityTrafficLabel.ToString());
|
|
|
dic.Add("TwoItemRemark", remarkLable.ToString());
|
|
dic.Add("TwoItemRemark", remarkLable.ToString());
|
|
|
|
|
|
|
|
NodeCollection allTables = doc.GetChildNodes(NodeType.Table, true);
|
|
NodeCollection allTables = doc.GetChildNodes(NodeType.Table, true);
|
|
@@ -28462,6 +28449,34 @@ ORDER BY
|
|
|
|
|
|
|
|
#region 会务流程
|
|
#region 会务流程
|
|
|
|
|
|
|
|
|
|
+ /// <summary>
|
|
|
|
|
+ /// 会务流程 - 团组列表
|
|
|
|
|
+ /// </summary>
|
|
|
|
|
+ /// <returns>团组基本信息、团组列表和会务基本信息列表</returns>
|
|
|
|
|
+ [HttpGet]
|
|
|
|
|
+ public async Task<IActionResult> ConferenceProceduresGroupNames()
|
|
|
|
|
+ {
|
|
|
|
|
+ var conferenceTypeIds = new List<int>() {
|
|
|
|
|
+ 302, // 成都-会务活动
|
|
|
|
|
+ 691 // 四川-会务活动
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ var groupList = await _sqlSugar.Queryable<Grp_DelegationInfo>()
|
|
|
|
|
+ .Where(x => x.IsDel == 0)
|
|
|
|
|
+ .Where(x => conferenceTypeIds.Contains(x.TeamDid))
|
|
|
|
|
+ .OrderByDescending(x => x.VisitDate)
|
|
|
|
|
+ .Select(x => new {
|
|
|
|
|
+ x.Id,
|
|
|
|
|
+ x.TeamName,
|
|
|
|
|
+ HasChildData = SqlFunc.Subqueryable<Grp_ConferenceProcedures>()
|
|
|
|
|
+ .Where(child => child.DiId == x.Id) // 替换关联条件
|
|
|
|
|
+ .Any() // 判断子表是否存在数据
|
|
|
|
|
+ })
|
|
|
|
|
+ .ToListAsync();
|
|
|
|
|
+
|
|
|
|
|
+ return Ok(JsonView(true, "SUCCESS", groupList));
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
/// <summary>
|
|
/// <summary>
|
|
|
/// 会务流程 - 数据初始化
|
|
/// 会务流程 - 数据初始化
|
|
|
/// </summary>
|
|
/// </summary>
|
|
@@ -28472,6 +28487,11 @@ ORDER BY
|
|
|
{
|
|
{
|
|
|
try
|
|
try
|
|
|
{
|
|
{
|
|
|
|
|
+ var conferenceTypeIds = new List<int>() {
|
|
|
|
|
+ 302, // 成都-会务活动
|
|
|
|
|
+ 691 // 四川-会务活动
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
Grp_DelegationInfo targetGroup = null;
|
|
Grp_DelegationInfo targetGroup = null;
|
|
|
|
|
|
|
|
targetGroup = await _sqlSugar.Queryable<Grp_DelegationInfo>()
|
|
targetGroup = await _sqlSugar.Queryable<Grp_DelegationInfo>()
|
|
@@ -28482,7 +28502,8 @@ ORDER BY
|
|
|
{
|
|
{
|
|
|
targetGroup = await _sqlSugar.Queryable<Grp_DelegationInfo>()
|
|
targetGroup = await _sqlSugar.Queryable<Grp_DelegationInfo>()
|
|
|
.Where(x => x.IsDel == 0)
|
|
.Where(x => x.IsDel == 0)
|
|
|
- .OrderByDescending(x => x.CreateTime)
|
|
|
|
|
|
|
+ .Where(x => conferenceTypeIds.Contains(x.TeamDid))
|
|
|
|
|
+ .OrderByDescending(x => x.VisitDate)
|
|
|
.FirstAsync();
|
|
.FirstAsync();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -28492,10 +28513,17 @@ ORDER BY
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
var groupList = await _sqlSugar.Queryable<Grp_DelegationInfo>()
|
|
var groupList = await _sqlSugar.Queryable<Grp_DelegationInfo>()
|
|
|
- .Where(x => x.IsDel == 0)
|
|
|
|
|
- .OrderByDescending(x => x.CreateTime)
|
|
|
|
|
- .Select(x => new { x.Id, x.TeamName })
|
|
|
|
|
- .ToListAsync();
|
|
|
|
|
|
|
+ .Where(x => x.IsDel == 0)
|
|
|
|
|
+ .Where(x => conferenceTypeIds.Contains(x.TeamDid))
|
|
|
|
|
+ .OrderByDescending(x => x.VisitDate)
|
|
|
|
|
+ .Select(x => new {
|
|
|
|
|
+ x.Id,
|
|
|
|
|
+ x.TeamName,
|
|
|
|
|
+ HasChildData = SqlFunc.Subqueryable<Grp_ConferenceProcedures>()
|
|
|
|
|
+ .Where(child => child.DiId == x.Id)
|
|
|
|
|
+ .Any() // 判断子表是否存在数据
|
|
|
|
|
+ })
|
|
|
|
|
+ .ToListAsync();
|
|
|
|
|
|
|
|
var conferenceProceduresList = await _sqlSugar.Queryable<Grp_ConferenceProcedures>()
|
|
var conferenceProceduresList = await _sqlSugar.Queryable<Grp_ConferenceProcedures>()
|
|
|
.Where(x => x.DiId == targetGroup.Id && x.IsDel == 0)
|
|
.Where(x => x.DiId == targetGroup.Id && x.IsDel == 0)
|
|
@@ -28511,19 +28539,19 @@ ORDER BY
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
var conferenceProceduresGroupByTitle = conferenceProceduresList
|
|
var conferenceProceduresGroupByTitle = conferenceProceduresList
|
|
|
- .GroupBy(x => x.Title)
|
|
|
|
|
- .Select(x => new
|
|
|
|
|
- {
|
|
|
|
|
- title = x.Key,
|
|
|
|
|
- itmes = x.Select(y => new
|
|
|
|
|
|
|
+ .GroupBy(x => x.Title)
|
|
|
|
|
+ .Select(x => new
|
|
|
{
|
|
{
|
|
|
- y.Id,
|
|
|
|
|
- y.DataDetails,
|
|
|
|
|
- y.Details,
|
|
|
|
|
- y.Remark
|
|
|
|
|
- }).ToList()
|
|
|
|
|
- })
|
|
|
|
|
- .ToList();
|
|
|
|
|
|
|
+ title = x.Key,
|
|
|
|
|
+ itmes = x.Select(y => new
|
|
|
|
|
+ {
|
|
|
|
|
+ y.Id,
|
|
|
|
|
+ y.DataDetails,
|
|
|
|
|
+ y.Details,
|
|
|
|
|
+ y.Remark
|
|
|
|
|
+ }).ToList()
|
|
|
|
|
+ })
|
|
|
|
|
+ .ToList();
|
|
|
|
|
|
|
|
var response = new
|
|
var response = new
|
|
|
{
|
|
{
|