| GasolineBlend/Controllers/RcyController.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| RiskControl.NewService/Entity/RCY/ChainIncomeCost.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| RiskControl.NewService/Service/RcyService.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
GasolineBlend/Controllers/RcyController.cs
@@ -99,9 +99,9 @@ /// </summary> /// <returns></returns> [HttpPost] public async Task<ActionResult> GetChainIncomeCostPage(int pageIndex, int pageSize, string exchangeCode) public async Task<ActionResult> GetChainIncomeCostPage(int pageIndex, int pageSize, string[] exchangeCodes) { var res = await _rcyService.GetChainIncomeCostPage(pageIndex,pageSize, exchangeCode); var res = await _rcyService.GetChainIncomeCostPage(pageIndex,pageSize, exchangeCodes); return SuccessNoShow(data: res); } } RiskControl.NewService/Entity/RCY/ChainIncomeCost.cs
@@ -28,25 +28,23 @@ ///</summary> [SugarColumn(ColumnName = "ExchangeName")] public string ExchangeName { get; set; } /// <summary> /// ///</summary> [SugarColumn(ColumnName = "Income")] public decimal? Income { get; set; } /// <summary> /// ///</summary> [SugarColumn(ColumnName = "Cost")] public decimal? Cost { get; set; } /// <summary> /// ///</summary> [SugarColumn(ColumnName = "GrossMargin")] public decimal? GrossMargin { get; set; } /// <summary> /// ///</summary> [SugarColumn(ColumnName = "ReportType")] public string ReportType { get; set; } public double? Income2020 { get; set; } public double? Cost2020 { get; set; } public double? GrossMargin2020 { get; set; } public double? Income2021 { get; set; } public double? Cost2021 { get; set; } public double? GrossMargin2021 { get; set; } public double? Income2022 { get; set; } public double? Cost2022 { get; set; } public double? GrossMargin2022 { get; set; } public double? Income2023 { get; set; } public double? Cost2023 { get; set; } public double? GrossMargin2023 { get; set; } public double? Income2024 { get; set; } public double? Cost2024 { get; set; } public double? GrossMargin2024 { get; set; } public double? Income2025 { get; set; } public double? Cost2025 { get; set; } public double? GrossMargin2025 { get; set; } } } 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; }