From 1649a3fca34a0d8b550ee547569b36bc4b43bd6b Mon Sep 17 00:00:00 2001
From: WX <wx036@qq.com>
Date: 星期三, 22 十一月 2023 21:15:50 +0800
Subject: [PATCH] 主营分析列表接口调整

---
 RiskControl.NewService/Service/RcyService.cs |   39 +++------------------------------------
 1 files changed, 3 insertions(+), 36 deletions(-)

diff --git a/RiskControl.NewService/Service/RcyService.cs b/RiskControl.NewService/Service/RcyService.cs
index 0d4ddbe..07df17d 100644
--- a/RiskControl.NewService/Service/RcyService.cs
+++ b/RiskControl.NewService/Service/RcyService.cs
@@ -106,45 +106,12 @@
             return res;
         }
 
-        public async Task<Page<object>> GetChainIncomeCostPage(int pageIndex,int pageSize,string exchangeCode)
+        public async Task<Page<ChainIncomeCost>> GetChainIncomeCostPage(int pageIndex,int pageSize,string[] exchangeCodes)
         {
-            var pageCompany = await RiskControlRRDb.Queryable<ChainIncomeCost>()
-                .Select(a => a.CompanyName)
-                .Distinct()
+            var res = await RiskControlRRDb.Queryable<ChainIncomeCost>()
+                .WhereIF(exchangeCodes.Length>0,a=>exchangeCodes.Contains(a.ExchangeCode))
                 .ToPageAsync(pageIndex, pageSize);
 
-            var reportTypes = await RiskControlRRDb.Queryable<ChainIncomeCost>()
-                .Select(a => a.ReportType)
-                .Distinct()
-                .ToListAsync();
-
-            var colSql = string.Empty;
-            foreach (var reportType in reportTypes.OrderByDescending(a=>a))
-            {
-                colSql += $@"
-    MAX(CASE WHEN ReportType = '{reportType}' THEN Income ELSE 0 END)  AS Income{reportType},
-    MAX(CASE WHEN ReportType = '{reportType}' THEN Cost ELSE 0 END) AS Cost{reportType},
-    MAX(CASE WHEN ReportType = '{reportType}' THEN GrossMargin ELSE 0 END) AS GrossMargin{reportType},";
-            }
-            var sql = $@"SELECT 
-    CompanyName,
-    ExchangeCode,
-    ExchangeName,{colSql.TrimEnd(',')}
-FROM ChainIncomeCost
-Where CompanyName in ('{string.Join("','", pageCompany.Items)}') 
-{(string.IsNullOrWhiteSpace(exchangeCode)?"": $"And ExchangeCode='{exchangeCode}'")}
-GROUP BY CompanyName, ExchangeCode, ExchangeName;";
-
-            var data =  RiskControlRRDb.Ado.SqlQuery<object>(sql);
-
-
-            var res = new Page<object>()
-            {
-                CurrentPage = pageCompany.CurrentPage,
-                PageSize = pageCompany.PageSize,
-                TotalItems = pageCompany.TotalItems,
-                Items = data
-            };
             return res;
         }
 

--
Gitblit v1.8.0