This commit is contained in:
何美荣 2026-05-08 10:25:49 +08:00
parent 9b726663a9
commit de2ce97034

View File

@ -947,16 +947,23 @@ namespace APT.SC.WebApi.Controllers.Api.BI
} }
//行转列 //行转列
var groupList = riskTempList var groupList = riskTempList
.GroupBy(x => x.companyName) .GroupBy(x => x.companyName)
.Select(g => new RiskList .Select(g =>
{ {
companyName = g.Key, // 先把当前公司的风险类型和数量转成字典,避免多次遍历分组
majorCount = g.First(x => x.riskType == SKEvaluateLevelEnum..GetDescription()).cnt, var riskDict = g.ToDictionary(x => x.riskType, x => x.cnt);
largerCount = g.First(x => x.riskType == SKEvaluateLevelEnum..GetDescription()).cnt,
generalCount = g.First(x => x.riskType == SKEvaluateLevelEnum..GetDescription()).cnt, return new RiskList
lowCount = g.First(x => x.riskType == SKEvaluateLevelEnum..GetDescription()).cnt, {
totalCount = g.Sum(x => x.cnt) companyName = g.Key,
}).ToList(); majorCount = riskDict.TryGetValue(SKEvaluateLevelEnum..GetDescription(), out var major) ? major : 0,
largerCount = riskDict.TryGetValue(SKEvaluateLevelEnum..GetDescription(), out var larger) ? larger : 0,
generalCount = riskDict.TryGetValue(SKEvaluateLevelEnum..GetDescription(), out var general) ? general : 0,
lowCount = riskDict.TryGetValue(SKEvaluateLevelEnum..GetDescription(), out var low) ? low : 0,
totalCount = riskDict.Sum(x => x.Value)
};
})
.ToList();
if (orgList != null && orgList.Any()) if (orgList != null && orgList.Any())
{ {
foreach (var item in orgList) foreach (var item in orgList)