Browse Source

团组报表
地接费用 按城市,币种,汇率 分组计算

leiy 11 months ago
parent
commit
76dd4ddfce
1 changed files with 50 additions and 3 deletions
  1. 50 3
      OASystem/OASystem.Api/Controllers/StatisticsController.cs

+ 50 - 3
OASystem/OASystem.Api/Controllers/StatisticsController.cs

@@ -470,6 +470,53 @@ namespace OASystem.API.Controllers
 
                 string CTGGRFeeStr = "";
                 decimal CTGGRCNYTotalPrice = 0.00M;
+
+                //按1 地区,2 币种,3 汇率 分组计算
+                var groupCTGGRFeeDatas = groupCTGGRFeeViews.GroupBy(it => it.Area);
+
+                foreach (var ctggfr in groupCTGGRFeeDatas)
+                {
+                    var ctggfr_curr = ctggfr.GroupBy(it => it.PaymentCurrency);
+
+                    if (ctggfr_curr.Count() > 0)
+                    {
+                        foreach (var curr in ctggfr_curr)
+                        {
+
+                            var ctggfr_rate = curr.GroupBy(it => it.DayRate);
+
+                            if (ctggfr_rate.Count() > 0)
+                            {
+                                foreach (var rate in ctggfr_rate)
+                                {
+                                    CTGGRFeeStr += string.Format(@$"{ctggfr.Key} 总费用:{rate.Sum(it => it.AmountPaid).ToString("#0.00")} 
+                                                        {rate.FirstOrDefault()?.PaymentCurrency}(人民币:
+                                                        {rate.Sum(it => Convert.ToDecimal(it.CNYPrice.ToString("#0.00"))).ToString("#0.00")} CNY 当时支付汇率:
+                                                        {rate.FirstOrDefault()?.DayRate.ToString("#0.0000")})\r\n");
+                                    CTGGRCNYTotalPrice += rate.Sum(it => Convert.ToDecimal(it.CNYPrice.ToString("#0.00")));
+                                }
+                            }
+                            else
+                            {
+                                CTGGRFeeStr += string.Format(@$"{ctggfr.Key} 总费用:{curr.Sum(it => it.AmountPaid).ToString("#0.00")} 
+                                                        {curr.FirstOrDefault()?.PaymentCurrency}(人民币:
+                                                        {curr.Sum(it => Convert.ToDecimal(it.CNYPrice.ToString("#0.00"))).ToString("#0.00")} CNY 当时支付汇率:
+                                                        {curr.FirstOrDefault()?.DayRate.ToString("#0.0000")})\r\n");
+                                CTGGRCNYTotalPrice += curr.Sum(it => Convert.ToDecimal(it.CNYPrice.ToString("#0.00")));
+                            }
+                        }
+                    }
+                    else
+                    {
+                        CTGGRFeeStr += string.Format(@$"{ctggfr.Key} 总费用:{ctggfr.Sum(it => it.AmountPaid).ToString("#0.00")} 
+                                                        {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")));
+                    }
+                    
+                }
+
                 foreach (var item in groupCTGGRFeeViews)
                 {
                     if (!string.IsNullOrEmpty(item.AuditGMDate))
@@ -477,9 +524,9 @@ namespace OASystem.API.Controllers
                         item.AuditGMDate = Convert.ToDateTime(item.AuditGMDate).ToString("yyyy-MM-dd HH:mm:ss");
                     }
 
-                    CTGGRFeeStr += string.Format(@"{0} 总费用:{1} {2}(人民币:{3} CNY 当时支付汇率:{4})\r\n", 
-                        item.Area, item.AmountPaid.ConvertToDecimal1().ToString("#0.00"), item.PaymentCurrency, item.CNYPrice.ToString("#0.0000"), item.DayRate.ToString("#0.0000"));
-                    CTGGRCNYTotalPrice += item.CNYPrice;
+                    //CTGGRFeeStr += string.Format(@"{0} 总费用:{1} {2}(人民币:{3} CNY 当时支付汇率:{4})\r\n", 
+                    //    item.Area, item.AmountPaid.ConvertToDecimal1().ToString("#0.00"), item.PaymentCurrency, item.CNYPrice.ToString("#0.0000"), item.DayRate.ToString("#0.0000"));
+                    //CTGGRCNYTotalPrice += item.CNYPrice;
                 }
                 _geView.GroupCTGGRFeeViews = groupCTGGRFeeViews;