Browse Source

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

leiy 10 months ago
parent
commit
97f321a513

+ 43 - 30
OASystem/OASystem.Api/Controllers/StatisticsController.cs

@@ -20,6 +20,7 @@ using Microsoft.Extensions.DependencyInjection;
 using Aspose.Words.Lists;
 using static OASystem.API.OAMethodLib.GeneralMethod;
 using TypeInfo = OASystem.Domain.ViewModels.Statistics.TypeInfo;
+using System.Net.NetworkInformation;
 
 namespace OASystem.API.Controllers
 {
@@ -209,7 +210,7 @@ namespace OASystem.API.Controllers
                 List<Gsd_ProceedsReceivedView> _prViews = await _sqlSugar.SqlQueryable<Gsd_ProceedsReceivedView>(_prSql).ToListAsync();
                 prTotalAmount = _prViews.Sum(it => it.Price);
                 _giView.ProceedsReceivedViews = _prViews;
-                _giView.ProceedsReceivedStr = string.Format(@$"应收合计:{frTotalAmount.ToString("#0.00")} CNY  已收款合计:{prTotalAmount.ConvertToDecimal1().ToString("#0.00")} CNY" );
+                _giView.ProceedsReceivedStr = string.Format(@$"应收合计:{frTotalAmount.ToString("#0.00")} CNY  已收款合计:{prTotalAmount.ConvertToDecimal1().ToString("#0.00")} CNY");
 
 
                 /*
@@ -273,7 +274,7 @@ namespace OASystem.API.Controllers
 
                 _giView.ExtraCostsViews = _ExtraCostsViews;
                 _giView.ExtraCostsStr = string.Format(@"人民币总费用:{0} CNY", exTotalAmount.ConvertToDecimal1().ToString("#0.00"));
-                
+
                 /*
                  * 收款退还
                  */
@@ -291,7 +292,7 @@ namespace OASystem.API.Controllers
 										         And ccp.IsAuditGM = 1 And ccp.IsPay = 1
 										         And prom.DiId = {0} Order By PrCreateTime", _dto.DiId);
                 var _promDatas = await _sqlSugar.SqlQueryable<Gsd_PaymentRefundAndOtherMoneyDataSource1View>(_ropSql).ToListAsync();
-                
+
                 foreach (var ropItem in _promDatas)
                 {
                     string thisCueencyCode = "Unknown";
@@ -514,9 +515,9 @@ namespace OASystem.API.Controllers
                                                         {ctggfr.FirstOrDefault()?.PaymentCurrency}(人民币:
                                                         {ctggfr.Sum(it => Convert.ToDecimal(it.CNYPrice.ToString("#0.00"))).ToString("#0.00")} CNY 当时支付汇率:
                                                         {ctggfr.FirstOrDefault()?.DayRate.ToString("#0.0000")})\r\n");
-                        CTGGRCNYTotalPrice += ctggfr.Sum(it => Convert.ToDecimal( it.CNYPrice.ToString("#0.00")));
+                        CTGGRCNYTotalPrice += ctggfr.Sum(it => Convert.ToDecimal(it.CNYPrice.ToString("#0.00")));
                     }
-                    
+
                 }
 
                 foreach (var item in groupCTGGRFeeViews)
@@ -532,7 +533,7 @@ namespace OASystem.API.Controllers
                 }
                 _geView.GroupCTGGRFeeViews = groupCTGGRFeeViews;
 
-                _geView.GroupCTGGRFeeStr = string.Format(@"{0}人民币总费用:{1} CNY", CTGGRFeeStr,CTGGRCNYTotalPrice.ToString("#0.00"));
+                _geView.GroupCTGGRFeeStr = string.Format(@"{0}人民币总费用:{1} CNY", CTGGRFeeStr, CTGGRCNYTotalPrice.ToString("#0.00"));
                 #endregion
 
                 #region 机票预订费用
@@ -541,7 +542,8 @@ namespace OASystem.API.Controllers
                 string groupAirFeeSql = string.Format(@"Select atr.Id As AirId,atr.DIId As AirDiId,atr.FlightsCode,atr.FlightsCity,sd4.Name As AirTypeName,
                                                         atr.FlightsDate,atr.FlightsTime,atr.ClientName,atr.ClientNum,ccp.PayMoney,
                                                         sd1.Name As PayMoneyCurrency,ccp.RMBPrice As CNYPrice,ccp.DayRate,ccp.Payee,ccp.AuditGMDate,
-                                                        ccp.OrbitalPrivateTransfer,sd2.Name As PayWay,sd3.Name As CardType,ccp.IsPay,u.CnName As Applicant,atr.CreateTime
+                                                        ccp.OrbitalPrivateTransfer,sd2.Name As PayWay,sd3.Name As CardType,ccp.IsPay,u.CnName As Applicant,atr.CreateTime,
+                                                        atr.CType
                                                         From Grp_AirTicketReservations atr
                                                         Left Join Grp_CreditCardPayment ccp On ccp.isdel = 0 And ccp.CTable = 85 And atr.Id = ccp.CId
                                                         Left Join Sys_SetData sd1 On ccp.PaymentCurrency = sd1.Id
@@ -567,7 +569,7 @@ namespace OASystem.API.Controllers
                 //    GWCPeopleNum = groupAirFeeViews.Where(it => it.AirTypeName.Equals("公务舱")).Sum(it => it.ClientNum);
                 //    GWCAveragePrice = (GWCCNYTotalPrice / GWCPeopleNum).ConvertToDecimal1();
                 //}
-               
+
                 int Index = 0;
                 foreach (var item in groupAirFeeViews)
                 {
@@ -576,6 +578,15 @@ namespace OASystem.API.Controllers
                         string itemClientName = "";
                         if (!string.IsNullOrEmpty(item.ClientName))
                         {
+                            System.Text.RegularExpressions.Match m_EnName = Regex.Match(item.ClientName, @"[A-Za-z]+");
+                            System.Text.RegularExpressions.Match m_ZHName = Regex.Match(item.ClientName, @"[\u4e00-\u9fa5]");
+
+                            if (m_EnName.Success || m_ZHName.Success)
+                            {
+                                itemClientName = item.ClientName;
+                                continue;
+                            }
+
                             string[] clientIds = new string[] { };
                             if (item.ClientName.Contains(','))
                             {
@@ -602,8 +613,9 @@ namespace OASystem.API.Controllers
                                 int clienIndex = 1;
                                 foreach (var client in clients)
                                 {
-                                    airClientPris.Add(new {
-                                        CnName = client.LastName+client.FirstName,
+                                    airClientPris.Add(new
+                                    {
+                                        CnName = client.LastName + client.FirstName,
                                         EnName = client.Pinyin,
                                         Price = unitCost,
                                         AirType = item.AirTypeName
@@ -638,7 +650,7 @@ namespace OASystem.API.Controllers
                                 int index = i + 1;
                                 if (index < clientNames.Length)
                                 {
-                                    name = clientNames[index].Replace("MR","").Replace("MS","").Trim();
+                                    name = clientNames[index].Replace("MR", "").Replace("MS", "").Trim();
                                     if (!string.IsNullOrEmpty(name))
                                     {
                                         airClientPris.Add(new
@@ -649,7 +661,7 @@ namespace OASystem.API.Controllers
                                             AirType = item.AirTypeName
                                         });
                                     }
-                                    
+
 
                                     //if (name.Length > 0)
                                     //{
@@ -661,8 +673,8 @@ namespace OASystem.API.Controllers
                                     //}
                                 }
                             }
-                            
-                            clientPinYinName += string.Format(@"{0}.{1}出票价为:{2} CNY;", Index+1, name, unitCost.ToString("#0.00"));
+
+                            clientPinYinName += string.Format(@"{0}.{1}出票价为:{2} CNY;", Index + 1, name, unitCost.ToString("#0.00"));
                         }
                     }
                     if (!string.IsNullOrEmpty(item.AuditGMDate))
@@ -688,7 +700,7 @@ namespace OASystem.API.Controllers
                         {
                             price += pri.Price;
                         }
-                        peoplePriStr += $@"{airClientPrisIndex}.{item.EnName}出票价为: { price.ToString("#0.00")} CNY;";
+                        peoplePriStr += $@"{airClientPrisIndex}.{item.EnName}出票价为: {price.ToString("#0.00")} CNY;";
 
                         airClientPrisIndex++;
                     }
@@ -709,7 +721,7 @@ namespace OASystem.API.Controllers
                         }
                         decimal jjcPeopleNum = airJJCPris.GroupBy(item => item.CnName)
                                                       .Select(group => group.First())
-                                                      .ToList().Count();;
+                                                      .ToList().Count(); ;
                         JJCAveragePrice = jjcTotalPrice / jjcPeopleNum;
                     }
 
@@ -786,12 +798,13 @@ namespace OASystem.API.Controllers
                                     itemClientName += $"{client.LastName + client.FirstName},";
                                 }
                             }
-                            else {
+                            else
+                            {
                                 itemClientName = visaClients;
                             }
                         }
                     }
-                    if (itemClientName.Length > 0 )
+                    if (itemClientName.Length > 0)
                     {
                         itemClientName = itemClientName.Substring(0, itemClientName.Length - 1);
                     }
@@ -976,7 +989,7 @@ namespace OASystem.API.Controllers
                             }
                         }
                     }
-                    
+
                     item.ClientName = itemClientName;
 
                     if (!string.IsNullOrEmpty(item.AuditGMDate))
@@ -1077,7 +1090,7 @@ namespace OASystem.API.Controllers
                 decimal _amountReceived = 0.00M;   //已收金额
                 decimal _receivableProfit = 0.00M; //应收利润
                 decimal _receivedProfit = 0.00M;   //已收利润
-                _totalExpenditure = HotelCNYTotalPrice + CTGGRCNYTotalPrice + AirCNYTotalPrice + VisaCNYTotalPirce + InvitationalCNYTotalPrice + 
+                _totalExpenditure = HotelCNYTotalPrice + CTGGRCNYTotalPrice + AirCNYTotalPrice + VisaCNYTotalPirce + InvitationalCNYTotalPrice +
                                     InsuranceCNYTotalPrice + DecreaseCNYTotalPrice + exTotalAmount;
                 _amountReceivable = frTotalAmount;
                 _amountReceived = prTotalAmount;
@@ -1135,7 +1148,7 @@ namespace OASystem.API.Controllers
             string sqlWhere = string.Empty;
 
             //起止时间
-            DateTime beginDt = Convert.ToDateTime( $"{_dto.Year}-01-01 00:00:00");
+            DateTime beginDt = Convert.ToDateTime($"{_dto.Year}-01-01 00:00:00");
             DateTime endDt = Convert.ToDateTime($"{_dto.Year}-12-31 23:59:59");
 
             sqlWhere = string.Format(@$" Where Isdel = 0 ");
@@ -1163,7 +1176,7 @@ namespace OASystem.API.Controllers
                 });
             }
 
-            if (groupTypeId.Count > 0 )
+            if (groupTypeId.Count > 0)
             {
                 sqlWhere += string.Format(@$" And TeamDid In ({string.Join(',', groupTypeId)})");
             }
@@ -1181,8 +1194,8 @@ namespace OASystem.API.Controllers
             List<MonthInfo> months = new List<MonthInfo>();
             if (_dto.StatisticsType == 1) //月份
             {
-                 months = GeneralMethod.GetMonthInfos(Convert.ToInt32(_dto.Year));
-               
+                months = GeneralMethod.GetMonthInfos(Convert.ToInt32(_dto.Year));
+
             }
             else if (_dto.StatisticsType == 1) //季度
             {
@@ -1205,7 +1218,7 @@ namespace OASystem.API.Controllers
                 });
             }
 
-            return Ok(JsonView(true,"操作成功!",_view));
+            return Ok(JsonView(true, "操作成功!", _view));
             #endregion
 
         }
@@ -1641,7 +1654,7 @@ namespace OASystem.API.Controllers
             List<GroupTypeNumberInfo> datas = new List<GroupTypeNumberInfo>();
             foreach (var item in groupInfos)
             {
-                var data = await GroupBookingsNumber(_dto.Type,item);
+                var data = await GroupBookingsNumber(_dto.Type, item);
 
                 if (data.TypeItem.Count > 0)
                 {
@@ -1664,8 +1677,8 @@ namespace OASystem.API.Controllers
                             if (item1.RegionItem.Count > 0)
                             {
                                 GroupInfo groupInfo = new GroupInfo()
-                                { 
-                                    DiId=item.DiId,
+                                {
+                                    DiId = item.DiId,
                                     TeamName = item.GroupName,
                                     CreateTime = groupInfos.Find(it => it.Id == item.DiId)?.CreateTime.ToString("yyyy-MM-dd HH:mm:ss") ?? "Unknown",
                                     ClientUnit = groupInfos.Find(it => it.Id == item.DiId)?.ClientUnit ?? "Unknown",
@@ -1688,7 +1701,7 @@ namespace OASystem.API.Controllers
                     }
                     infos = infos.OrderByDescending(it => it.CreateTime).ToList(); //
 
-                    _view.Add(new GroupBookingNumberView() { Name = item.Key, Number = item.Count(),GroupItem = infos });
+                    _view.Add(new GroupBookingNumberView() { Name = item.Key, Number = item.Count(), GroupItem = infos });
                 }
 
                 _view = _view.OrderByDescending(it => it.Number).Take(10).ToList();
@@ -1723,7 +1736,7 @@ namespace OASystem.API.Controllers
                                     foreach (var item3 in item2.Data)
                                     {
 
-                                        StatisticsHotelInfo statisticsHotelInfos = JsonConvert.DeserializeObject<StatisticsHotelInfo>(JsonConvert.SerializeObject( item3));
+                                        StatisticsHotelInfo statisticsHotelInfos = JsonConvert.DeserializeObject<StatisticsHotelInfo>(JsonConvert.SerializeObject(item3));
 
                                         HotelInfo hotelInfo = new HotelInfo()
                                         {

+ 5 - 0
OASystem/OASystem.Domain/Dtos/Financial/DailyFeePaymentDto.cs

@@ -68,6 +68,11 @@ namespace OASystem.Domain.Dtos.Financial
         /// </summary>
         public int CreateUserId { get; set; }
 
+        /// <summary>
+        /// 支付标识 -1:全部 0:未支付 1:已支付
+        /// </summary>
+        public int IsPaySign { get; set; } = -1;
+
     }
 
     /// <summary>

+ 5 - 0
OASystem/OASystem.Domain/ViewModels/Financial/Fin_DailyFeePaymentView.cs

@@ -141,6 +141,11 @@ namespace OASystem.Domain.ViewModels.Financial
         /// 费用类型
         /// </summary>
         public int PriceTypeId { get; set; }
+
+        /// <summary>
+        /// 支付标识 0,1
+        /// </summary>
+        public int IsPay { get; set; }
     }
 
     /// <summary>

+ 5 - 0
OASystem/OASystem.Domain/ViewModels/Statistics/GroupStatementView.cs

@@ -907,6 +907,11 @@ namespace OASystem.Domain.ViewModels.Statistics
         /// 操作人
         /// </summary>
         public string? Applicant { get; set; }
+
+        /// <summary>
+        /// SetDataId
+        /// </summary>
+        public int CType { get; set; }
     }
 
     /// <summary>

+ 6 - 1
OASystem/OASystem.Infrastructure/Repositories/Financial/DailyFeePaymentRepository.cs

@@ -169,6 +169,11 @@ namespace OASystem.Infrastructure.Repositories.Financial
             if (dto.ManagerAuditStatus != -1)   //总经理审核
                 sqlWhere += string.Format(" And dfp.MAudit = {0}", dto.ManagerAuditStatus);
 
+            if (dto.IsPaySign != -1) //付款状态
+            {
+                sqlWhere += string.Format(" And dfp.IsPay = {0}", dto.IsPaySign);
+            }
+
             if (dto.FeeTypeId != -1)   //费用类型
             {
                 if (dto.FeeSubTypeId != -1) //子类处理
@@ -209,7 +214,7 @@ namespace OASystem.Infrastructure.Repositories.Financial
                                                 Select row_number() over (order by dfp.Id Desc) as RowNumber,
                                                     dfp.Id,dfp.CompanyId,c.CompanyName,dfp.Instructions,dfp.SumPrice,
                                                     dfp.CreateUserId,u.CnName CreateUser,dfp.CreateTime,dfp.FAudit,dfp.MAudit,
-                                                    dfp.PriceTypeId
+                                                    dfp.PriceTypeId,dfp.IsPay
                                                 From Fin_DailyFeePayment dfp
                                                 Inner Join Sys_Company c On dfp.CompanyId = c.Id
                                                 Left Join Sys_Users u On dfp.CreateUserId = u.Id