Kaynağa Gözat

1.酒店预订 bug 更改
2.团组汇率币种 拆分统一方法 重复调通即可

leiy 11 ay önce
ebeveyn
işleme
f41050abad

+ 18 - 0
OASystem/OASystem.Api/Controllers/StatisticsController.cs

@@ -1102,6 +1102,24 @@ namespace OASystem.API.Controllers
         #region 报表/折线图统计
         //企业利润-团组利润
         //企业利润-会务利润
+
+        ///// <summary>
+        ///// 计算企业利润 - 已收利润
+        ///// </summary>
+        ///// <param name="tIds"></param>
+        ///// <param name="year"></param>
+        ///// <returns></returns>
+        //private async Task<object> CorporateProfitAsync(List<int> tIds, string year)
+        //{
+        //    if (tIds.Count < 1)
+        //    {
+        //        return null;
+        //    }
+        //}
+
+
+
+
         //未来预测-地区接团/出团量
         //未来预测-地区酒店预订量
         //未来预测-地区机票预订量

+ 2 - 1
OASystem/OASystem.Infrastructure/Repositories/Groups/HotelPriceRepository.cs

@@ -795,6 +795,7 @@ namespace OASystem.Infrastructure.Repositories.Groups
         /// <returns></returns>
         public async Task<Result> _AddOrEdit(HotelReservationsAddOrEditDto _dto)
         {
+            _result.Code = -1;
             int portType = _dto.PortType;
             if (portType == 1 || portType == 2 || portType == 3)
             {
@@ -849,7 +850,7 @@ namespace OASystem.Infrastructure.Repositories.Groups
                 decimal currencyRate = 0.00M;
                 if (_CreditCardPayment.PayMoney != 0)
                 {
-                    if(_CreditCardPayment.PaymentCurrency <= 0)
+                    if(_CreditCardPayment.PaymentCurrency < 1)
                     {
                         _result.Msg = "请选择付款币种!";
                         return _result;

+ 91 - 86
OASystem/OASystem.Infrastructure/Repositories/Groups/TeamRateRepository.cs

@@ -455,7 +455,6 @@ namespace OASystem.Infrastructure.Repositories.Groups
 
             #region 团组汇率
 
-
             foreach (TeamRateInfoView item in teamRateInfo)
             {
                 TeamRateModelView teamRateModelInfo = new TeamRateModelView();
@@ -463,39 +462,104 @@ namespace OASystem.Infrastructure.Repositories.Groups
                 teamRateModelInfo.Id = item.Id;
                 teamRateModelInfo.CTableId = item.CTable;
                 teamRateModelInfo.CTableName = item.Name;
-                List<TeamRateDescView> teamRateDescViews = new List<TeamRateDescView>();
+                //拆分remark里的汇率
+                teamRateModelInfo.TeamRates = GroupCurrencySplittings(item.Remark);
+                teamRateModels.Add(teamRateModelInfo);
+            }
 
-                #region 拆分remark里的汇率
+            #endregion
 
-                if (item.Remark.Contains("|"))
+            return teamRateModels;
+
+        }
+
+        /// <summary>
+        /// 团组汇率币种拆分
+        /// 团组币种按指定格式拆分 返回集合
+        /// </summary>
+        /// <param name="currStr"></param>
+        /// <returns></returns>
+        public  List<TeamRateDescView> GroupCurrencySplittings(string currStr)
+        {
+            List<TeamRateDescView> _view = new List<TeamRateDescView>();
+
+            if (!string.IsNullOrEmpty(currStr))
+            {
+                if (currStr.Contains("|"))
                 {
-                    string[] currencyArr = item.Remark.Split("|");
+                    string[] currencyArr = currStr.Split("|");
                     foreach (string currency in currencyArr)
                     {
-                        string[] currency1 = currency.Split(":");
-                        string[] currency2 = currency1[0].Split("(");
-
-                        TeamRateDescView rateDescView = new TeamRateDescView()
-                        {
-                            CurrencyCode = currency2[1].Replace(")", "").TrimEnd(),
-                            CurrencyName = currency2[0],
-                            Rate = decimal.Parse(currency1[1]),
-                        };
-                        teamRateDescViews.Add(rateDescView);
+                        _view.Add(GroupCurrencySplittingSingle(currency));
                     }
                 }
+                else
+                {
+                    _view.Add(GroupCurrencySplittingSingle(currStr));
+                }
+            }
 
-                #endregion
+            return _view;
+        }
 
-                teamRateModelInfo.TeamRates = teamRateDescViews;
-                teamRateModels.Add(teamRateModelInfo);
+
+        /// <summary>
+        /// 团组汇率币种拆分
+        /// 团组币种按指定格式拆分 返回集合
+        /// return TeamRateDescView
+        /// </summary>
+        /// <param name="currStr"></param>
+        /// <returns></returns>
+        public TeamRateDescView GroupCurrencySplittingSingle(string currStr)
+        {
+            TeamRateDescView _view = new TeamRateDescView();
+
+            if (!string.IsNullOrEmpty(currStr))
+            {
+                string[] currency1 = currStr.Split(":");
+                string[] currency2 = currency1[0].Split("(");
+
+                _view = new TeamRateDescView()
+                {
+                    CurrencyCode = currency2[1].Replace(")", "").TrimEnd(),
+                    CurrencyName = currency2[0],
+                    Rate = decimal.Parse(currency1[1]),
+                };
             }
 
-            #endregion
+            return _view;
+        }
 
+        /// <summary>
+        /// 团组汇率币种拆分 注意返回 实体类
+        /// 团组币种按指定格式拆分 返回集合
+        /// return TeamRateDescView
+        /// </summary>
+        /// <param name="currStr"></param>
+        /// <returns></returns>
+        public TeamRateDescAddCurrencyIdView GroupCurrencySplittingSingle(List<SetDataInfoView> currs,string currStr)
+        {
+            TeamRateDescAddCurrencyIdView _view = new TeamRateDescAddCurrencyIdView();
 
-            return teamRateModels;
+            if (!string.IsNullOrEmpty(currStr))
+            {
+                string[] currency1 = currStr.Split(":");
+                string[] currency2 = currency1[0].Split("(");
+
+                string currencyCode = currency2[1].Replace(")", "").TrimEnd();
+                SetDataInfoView dataInfoView = new SetDataInfoView();
+                dataInfoView = currs.Where(it => it.Name == currencyCode).FirstOrDefault();
+                int currencyId = currs.Where(it => it.Name == currencyCode).FirstOrDefault().Id;
+                _view = new TeamRateDescAddCurrencyIdView()
+                {
+                    CurrencyId = dataInfoView.Id,
+                    CurrencyCode = currencyCode,
+                    CurrencyName = currency2[0],
+                    Rate = decimal.Parse(currency1[1]),
+                };
+            }
 
+            return _view;
         }
 
 
@@ -591,43 +655,13 @@ namespace OASystem.Infrastructure.Repositories.Groups
                         string[] currencyArr = item.Remark.Split("|");
                         foreach (string currency in currencyArr)
                         {
-                            string[] currency1 = currency.Split(":");
-                            string[] currency2 = currency1[0].Split("(");
-
-                            string currencyCode = currency2[1].Replace(")", "").TrimEnd();
-                            SetDataInfoView dataInfoView = new SetDataInfoView();
-                            dataInfoView = currencyDatas.Where(it => it.Name == currencyCode).FirstOrDefault();
-                            int currencyId = currencyDatas.Where(it => it.Name == currencyCode).FirstOrDefault().Id;
-                            TeamRateDescAddCurrencyIdView rateDescView = new TeamRateDescAddCurrencyIdView()
-                            {
-                                CurrencyId = dataInfoView.Id,
-                                CurrencyCode = currencyCode,
-                                CurrencyName = currency2[0],
-                                Rate = decimal.Parse(currency1[1]),
-                            };
-                            teamRateDescViews.Add(rateDescView);
+                            teamRateDescViews.Add(GroupCurrencySplittingSingle(currencyDatas, currency));
                         }
                     }
                     else
                     {
-                        if (!string.IsNullOrEmpty(item.Remark))
-                        {
-                            string[] currency1 = item.Remark.Split(":");
-                            string[] currency2 = currency1[0].Split("(");
-
-                            string currencyCode = currency2[1].Replace(")", "").TrimEnd();
-                            SetDataInfoView dataInfoView = new SetDataInfoView();
-                            dataInfoView = currencyDatas.Where(it => it.Name == currencyCode).FirstOrDefault();
-                            int currencyId = currencyDatas.Where(it => it.Name == currencyCode).FirstOrDefault().Id;
-                            TeamRateDescAddCurrencyIdView rateDescView = new TeamRateDescAddCurrencyIdView()
-                            {
-                                CurrencyId = dataInfoView.Id,
-                                CurrencyCode = currencyCode,
-                                CurrencyName = currency2[0],
-                                Rate = decimal.Parse(currency1[1]),
-                            };
-                            teamRateDescViews.Add(rateDescView);
-                        }
+                        teamRateDescViews.Add(GroupCurrencySplittingSingle(currencyDatas, item.Remark));
+                       
                     }
 
                     #endregion
@@ -702,43 +736,14 @@ namespace OASystem.Infrastructure.Repositories.Groups
                     string[] currencyArr = item.Remark.Split("|");
                     foreach (string currency in currencyArr)
                     {
-                        string[] currency1 = currency.Split(":");
-                        string[] currency2 = currency1[0].Split("(");
-
-                        string currencyCode = currency2[1].Replace(")", "").TrimEnd();
-                        SetDataInfoView dataInfoView = new SetDataInfoView();
-                        dataInfoView = currencyDatas.Where(it => it.Name == currencyCode).FirstOrDefault();
-                        int currencyId = currencyDatas.Where(it => it.Name == currencyCode).FirstOrDefault().Id;
-                        TeamRateDescAddCurrencyIdView rateDescView = new TeamRateDescAddCurrencyIdView()
-                        {
-                            CurrencyId = dataInfoView.Id,
-                            CurrencyCode = currencyCode,
-                            CurrencyName = currency2[0],
-                            Rate = decimal.Parse(currency1[1]),
-                        };
-                        teamRateDescViews.Add(rateDescView);
+
+                        teamRateDescViews.Add(GroupCurrencySplittingSingle(currencyDatas, currency));
                     }
                 }
                 else
                 {
-                    if (!string.IsNullOrEmpty(item.Remark))
-                    {
-                        string[] currency1 = item.Remark.Split(":");
-                        string[] currency2 = currency1[0].Split("(");
-
-                        string currencyCode = currency2[1].Replace(")", "").TrimEnd();
-                        SetDataInfoView dataInfoView = new SetDataInfoView();
-                        dataInfoView = currencyDatas.Where(it => it.Name == currencyCode).FirstOrDefault();
-                        int currencyId = currencyDatas.Where(it => it.Name == currencyCode).FirstOrDefault().Id;
-                        TeamRateDescAddCurrencyIdView rateDescView = new TeamRateDescAddCurrencyIdView()
-                        {
-                            CurrencyId = dataInfoView.Id,
-                            CurrencyCode = currencyCode,
-                            CurrencyName = currency2[0],
-                            Rate = decimal.Parse(currency1[1]),
-                        };
-                        teamRateDescViews.Add(rateDescView);
-                    }
+
+                    teamRateDescViews.Add(GroupCurrencySplittingSingle(currencyDatas, item.Remark));
                 }
 
                 #endregion