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