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();