报表
This commit is contained in:
parent
9b726663a9
commit
de2ce97034
@ -947,16 +947,23 @@ namespace APT.SC.WebApi.Controllers.Api.BI
|
||||
}
|
||||
//行转列
|
||||
var groupList = riskTempList
|
||||
.GroupBy(x => x.companyName)
|
||||
.Select(g => new RiskList
|
||||
{
|
||||
companyName = g.Key,
|
||||
majorCount = g.First(x => x.riskType == SKEvaluateLevelEnum.重大风险.GetDescription()).cnt,
|
||||
largerCount = g.First(x => x.riskType == SKEvaluateLevelEnum.较大风险.GetDescription()).cnt,
|
||||
generalCount = g.First(x => x.riskType == SKEvaluateLevelEnum.一般风险.GetDescription()).cnt,
|
||||
lowCount = g.First(x => x.riskType == SKEvaluateLevelEnum.低风险.GetDescription()).cnt,
|
||||
totalCount = g.Sum(x => x.cnt)
|
||||
}).ToList();
|
||||
.GroupBy(x => x.companyName)
|
||||
.Select(g =>
|
||||
{
|
||||
// 先把当前公司的风险类型和数量转成字典,避免多次遍历分组
|
||||
var riskDict = g.ToDictionary(x => x.riskType, x => x.cnt);
|
||||
|
||||
return new RiskList
|
||||
{
|
||||
companyName = g.Key,
|
||||
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())
|
||||
{
|
||||
foreach (var item in orgList)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user