瀏覽代碼

Merge branch 'develop' of http://132.232.92.186:3000/XinXiBu/OA2023 into develop

yuanrf 18 小時之前
父節點
當前提交
fb0d70a84f

+ 5 - 5
OASystem/OASystem.Api/Controllers/FinancialController.cs

@@ -1095,15 +1095,15 @@ namespace OASystem.API.Controllers
 
                     //伙食费 选中赋值
                     List<Grp_DayAndCost> dac2 = new List<Grp_DayAndCost>();
-                    if (_EnterExitCosts.ChoiceFour == 1) dac1 = _DayAndCosts.Where(it => it.Type == 2).ToList(); //伙食费
+                    if (_EnterExitCosts.ChoiceFour == 1) dac2 = _DayAndCosts.Where(it => it.Type == 2).ToList(); //伙食费
 
                     //公杂费 选中赋值
                     List<Grp_DayAndCost> dac3 = new List<Grp_DayAndCost>();
-                    if (_EnterExitCosts.ChoiceFour == 1) dac1 = _DayAndCosts.Where(it => it.Type == 3).ToList(); //公杂费
+                    if (_EnterExitCosts.ChoiceFour == 1) dac3 = _DayAndCosts.Where(it => it.Type == 3).ToList(); //公杂费
 
                     //培训费 选中赋值
                     List<Grp_DayAndCost> dac4 = new List<Grp_DayAndCost>();
-                    if (_EnterExitCosts.ChoiceFour == 1) dac1 = _DayAndCosts.Where(it => it.Type == 4).ToList(); //培训费
+                    if (_EnterExitCosts.ChoiceFour == 1) dac4 = _DayAndCosts.Where(it => it.Type == 4).ToList(); //培训费
 
                     //币种Data
                     var currData = _sqlSugar.Queryable<Sys_SetData>().Where(it => it.IsDel == 0 && it.STid == 66).ToList();
@@ -1188,7 +1188,7 @@ namespace OASystem.API.Controllers
                             {
                                 airName = $"头等舱";
                                 airPrice = _EnterExitCosts.AirTD;
-                                cityTranffic = _EnterExitCosts.CityTranffic;
+                                cityTranffic = _EnterExitCosts.CityTranffic2;
                             }
                             else if (client.AirType == 458)
                             {
@@ -1200,7 +1200,7 @@ namespace OASystem.API.Controllers
                             {
                                 airName = $"经济舱";
                                 airPrice = _EnterExitCosts.AirJJ;
-                                cityTranffic = _EnterExitCosts.CityTranffic2;
+                                cityTranffic = _EnterExitCosts.CityTranffic;
                             }
 
                             //计算费用总和

+ 75 - 47
OASystem/OASystem.Api/Controllers/GroupsController.cs

@@ -130,23 +130,13 @@ namespace OASystem.API.Controllers
         private readonly IDeepSeekService _deepSeekService;
 
         /// <summary>
-        ///初始化岗位对应负责的数据类型
+        /// 初始化岗位对应负责的数据类型
         /// 
         ///  岗位ID
-        ///  24 机票
-        ///  25 酒店
-        ///  26 签证
-        ///  27 商邀
-        ///  28 OP
+        ///  24 机票、25 酒店、26 签证、27 商邀、28 OP
         ///  
         ///  费用类型ID
-        ///  76 酒店预订	
-        ///  79 车/导游地接	
-        ///  80 签证
-        ///  81 邀请/公务活动
-        ///  82 团组客户保险
-        ///  85 机票预订
-        ///  98 其他款项
+        ///  76 酒店预订、79 车/导游地接、80 签证、81 邀请/公务活动、82 团组客户保险、85 机票预订、98 其他款项
         /// </summary>
         private readonly Dictionary<int, List<int>> _dataInit = new() {
                 { 24, new List<int> { 85 } },      // 机票 -> 机票预订
@@ -9053,52 +9043,49 @@ FROM
 
                         var airTotalStr = new StringBuilder();
                         var airPriceStr = new StringBuilder();
+                        var cityTrafficLabel = new StringBuilder();
                         //经济舱
                         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)
                         {
-                            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)
                         {
-                            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();
                         //第二项描述
                         remarkLable.Append("备注:");
-                        if (!string.IsNullOrEmpty(_EnterExitCosts.TwoItemRemark)) remarkLable.Append( _EnterExitCosts.TwoItemRemark);
+                        if (!string.IsNullOrEmpty(_EnterExitCosts.TwoItemRemark)) remarkLable.AppendFormat( _EnterExitCosts.TwoItemRemark);
 
                         //汇率描述
                         if (peiceItemCurrencyInfos.Any())
                         {
                             remarkLable.AppendLine();
-                            remarkLable.Append("汇率描述:");
+                            remarkLable.AppendFormat("汇率描述:");
                             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("AirPriceStr", airPriceStr.ToString());
-                        dic.Add("CityTranffic", cityTrafficLabel);
+                        dic.Add("CityTranffic", cityTrafficLabel.ToString());
                         dic.Add("TwoItemRemark", remarkLable.ToString());
 
                         NodeCollection allTables = doc.GetChildNodes(NodeType.Table, true);
@@ -28462,6 +28449,34 @@ ORDER BY
 
         #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>
@@ -28472,6 +28487,11 @@ ORDER BY
         {
             try
             {
+                var conferenceTypeIds = new List<int>() {
+                    302,  // 成都-会务活动
+                    691   // 四川-会务活动
+                };
+
                 Grp_DelegationInfo targetGroup = null;
 
                 targetGroup = await _sqlSugar.Queryable<Grp_DelegationInfo>()
@@ -28482,7 +28502,8 @@ ORDER BY
                 {
                     targetGroup = await _sqlSugar.Queryable<Grp_DelegationInfo>()
                         .Where(x => x.IsDel == 0)
-                        .OrderByDescending(x => x.CreateTime)
+                        .Where(x => conferenceTypeIds.Contains(x.TeamDid))
+                        .OrderByDescending(x => x.VisitDate)
                         .FirstAsync();
                 }
 
@@ -28492,10 +28513,17 @@ ORDER BY
                 }
 
                 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>()
                     .Where(x => x.DiId == targetGroup.Id && x.IsDel == 0)
@@ -28511,19 +28539,19 @@ ORDER BY
                 }
 
                 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
                 {