diff --git a/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIHomeController.cs b/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIHomeController.cs
index 4ba9649..2161bf2 100644
--- a/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIHomeController.cs
+++ b/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIHomeController.cs
@@ -1,15 +1,18 @@
-using APT.BaseData.Domain.Entities.FM;
-using APT.Infrastructure.Core;
-using Microsoft.AspNetCore.Mvc;
-using APT.Infrastructure.Api;
-using System.Collections.Generic;
-using System;
-using System.Linq;
-using APT.Utility;
-using APT.MS.Domain.Entities.BI;
+using APT.BaseData.Domain.ApiModel.Platform;
+using APT.BaseData.Domain.Entities.FM;
using APT.BaseData.Domain.IServices.BI;
-using APT.BaseData.Domain.ApiModel.Platform;
+using APT.Infrastructure.Api;
using APT.Infrastructure.Api.Redis;
+using APT.Infrastructure.Core;
+using APT.MS.Domain.Entities.BI;
+using APT.MS.Domain.Entities.HM;
+using APT.MS.Domain.Entities.SK;
+using APT.Utility;
+using log4net.Core;
+using Microsoft.AspNetCore.Mvc;
+using System;
+using System.Collections.Generic;
+using System.Linq;
namespace APT.SC.WebApi.Controllers.Api.BI
{
@@ -2113,6 +2116,36 @@ namespace APT.SC.WebApi.Controllers.Api.BI
#endregion
+ return result;
+ });
+ }
+ ///
+ /// 风险等级占比
+ ///
+ /// 过滤实体
+ ///
+ [HttpPost, Route("GetHomeRiskLevel")]
+ public JsonActionResult> GetHomeRiskLevel([FromBody] KeywordFilter filter)
+ {
+ return SafeExecute(() =>
+ {
+
+ List result = new List();
+ BaseFilter baseFilter = new BaseFilter(filter.GetOrgId());
+ baseFilter.SelectField = new string[] { "EVALUATE_LEVEL" };
+ var evaluateRisks = GetEntities(t => t.EVALUATE_LEVEL != null && t.ENABLE_STATUS == 0, baseFilter).OrderBy(i => i.EVALUATE_LEVEL).ToList();
+ var distinctLevelTypes = evaluateRisks.GroupBy(m => new { m.EVALUATE_LEVEL }).Select(group => new { group.Key.EVALUATE_LEVEL, count = group.Count() }).ToList();
+ int i = 1;
+ foreach (var item in distinctLevelTypes)
+ {
+ T_FM_RISK_LEVEL_PROPORTION riskLevelProportion = new T_FM_RISK_LEVEL_PROPORTION();
+ riskLevelProportion.COUNT = item.count;
+ riskLevelProportion.NUM = i;
+ riskLevelProportion.RISK_LEVEL = item.EVALUATE_LEVEL.GetDescription();
+ riskLevelProportion.ORG_ID = filter.GetOrgId();
+ result.Add(riskLevelProportion);
+ i++;
+ }
return result;
});
}
diff --git a/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIStatiscialAnalysisController.cs b/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIStatiscialAnalysisController.cs
index 0727fa5..be2d778 100644
--- a/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIStatiscialAnalysisController.cs
+++ b/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIStatiscialAnalysisController.cs
@@ -11241,8 +11241,8 @@ namespace APT.SC.WebApi.Controllers.Api.BIController
info.DOING = details.Count(t => t.NOTICE_STATUS == "0" && t.TASK_ENDDT >= DateTime.Now);
info.UNFINISH = details.Count(t => t.NOTICE_STATUS == "0");
info.OVER_UNFINISH = details.Count(t => t.NOTICE_STATUS == "0" && t.TASK_ENDDT < DateTime.Now);
- info.FINISH_RATE = info.TOTAL_QTY == 0 ? "0" : ((info.NORMAL_FINISH + info.OVER_FINISH) / info.TOTAL_QTY * 100).ToString();
- info.NORMAL_RATE = info.TOTAL_QTY == 0 ? "0" : (info.NORMAL_FINISH / info.TOTAL_QTY * 100).ToString();
+ info.FINISH_RATE = info.TOTAL_QTY == 0 ? "0" : ((double)(info.NORMAL_FINISH + info.OVER_FINISH) / info.TOTAL_QTY * 100).ToString("0.00");
+ info.NORMAL_RATE = info.TOTAL_QTY == 0 ? "0" : ((double)info.NORMAL_FINISH / info.TOTAL_QTY * 100).ToString("0.00");
if (details != null && details.Any())
{
info.details = new List();