风险模块报表
This commit is contained in:
parent
d040a7cd41
commit
91a335895e
@ -2500,6 +2500,7 @@ namespace APT.BaseData.Services.DomainServices
|
||||
formSafe.ORG_ID = entity.ORG_ID;
|
||||
formSafe.FIRE_JOB_ID = entity.ID;
|
||||
formSafe.USER_ID = sendUser.ID;
|
||||
formSafe.DISCLOSURE_DATE = DateTime.Now;
|
||||
formSafe.DEPARTMENT_ID = sendUser.DEPARTMENT_ID;
|
||||
formSafe.CODE = "AQJD" + DateTime.Now.ToShortDateString().Replace("/", "") + new Random().Next(1, 999);
|
||||
notice = NotificationTaskService.InsertUserNoticeTaskModel("安全技术交底表", formSafe.ID, entity.ORG_ID, sendUser.ID, sendUser.NAME, DateTime.Now,
|
||||
|
||||
@ -1,27 +1,29 @@
|
||||
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.MS.Domain.Enums;
|
||||
using APT.MS.Domain.Entities.HM;
|
||||
using APT.BaseData.Domain.Enums;
|
||||
using APT.Utility;
|
||||
using APT.MS.Domain.Entities.SE;
|
||||
using APT.MS.Domain.Entities.BI;
|
||||
using NPOI.SS.Formula.Functions;
|
||||
using APT.BaseData.Domain.Entities;
|
||||
using APT.MS.Domain.Entities.SC.BI;
|
||||
using System.Collections.ObjectModel;
|
||||
using APT.BaseData.Domain.Entities;
|
||||
using APT.BaseData.Domain.Entities.FM;
|
||||
using APT.BaseData.Domain.Entities.OP;
|
||||
using APT.Migrations;
|
||||
using APT.BaseData.Services.Services.FM;
|
||||
using APT.BaseData.Domain.Enums;
|
||||
using APT.BaseData.Domain.IServices.FM;
|
||||
using static Google.Protobuf.WireFormat;
|
||||
using log4net.Core;
|
||||
using APT.BaseData.Services.Services.FM;
|
||||
using APT.Infrastructure.Api;
|
||||
using APT.Infrastructure.Core;
|
||||
using APT.Migrations;
|
||||
using APT.MS.Domain.Entities.BI;
|
||||
using APT.MS.Domain.Entities.FO;
|
||||
using APT.MS.Domain.Entities.HM;
|
||||
using APT.MS.Domain.Entities.SC.BI;
|
||||
using APT.MS.Domain.Entities.SE;
|
||||
using APT.MS.Domain.Entities.SK;
|
||||
using APT.MS.Domain.Enums;
|
||||
using APT.MS.Domain.Enums.SK;
|
||||
using APT.Utility;
|
||||
using log4net.Core;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using NPOI.SS.Formula.Functions;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Linq;
|
||||
using static Google.Protobuf.WireFormat;
|
||||
|
||||
namespace APT.SC.WebApi.Controllers.Api.BI
|
||||
{
|
||||
@ -754,26 +756,23 @@ namespace APT.SC.WebApi.Controllers.Api.BI
|
||||
return SafeExecute<riskPerformanceData>(() =>
|
||||
{
|
||||
var riskFilter = new BaseFilter(filter.GetOrgId());
|
||||
riskFilter.SelectField = new string[] { "EVALUATE_LEVEL", "CREATE_TIME", "MineType", "SOURCE_DEPARTMENT_ID", "TYPE_ID", "LEVEL", "AREA_ID", "DEPARTMENT_LIABLE_ID" };
|
||||
IEnumerable<T_HM_EVALUATE_RISK> allrisk = null;
|
||||
allrisk = GetEntities<T_HM_EVALUATE_RISK>(t => t.STATUS == (int)HMOperationStepEnum.有效 && t.SOURCE_DEPARTMENT_ID != null, riskFilter);
|
||||
riskFilter.SelectField = new string[] { "EVALUATE_LEVEL", "CREATE_TIME", "PRODUCTION_UNIT_ID", "TYPE_ID", "AREA_ID", "ID" };
|
||||
IEnumerable<T_SK_ENTERPRISE_LIBRARY> allrisk = null;
|
||||
allrisk = GetEntities<T_SK_ENTERPRISE_LIBRARY>(t => t.ENABLE_STATUS == 0 && t.PRODUCTION_UNIT_ID != null, riskFilter);
|
||||
var hazardFilter = new BaseFilter(filter.GetOrgId());
|
||||
hazardFilter.SelectField = new string[] { "CREATE_TIME" };
|
||||
var allhazard = GetEntities<T_HM_EVALUATE_HAZARD>(t => t.STATUS == (int)HMOperationStepEnum.有效, hazardFilter);
|
||||
riskPerformanceData riskPerformanceData = new riskPerformanceData();
|
||||
List<dateCountModel> item3s = new List<dateCountModel>();
|
||||
var distinctType = GetEntities<T_HM_RISK_TYPE>(t => t.IS_DELETED == false, new BaseFilter(filter.GetOrgId()));
|
||||
var distinctDepartment = GetEntities<T_FM_DEPARTMENT>(t => t.DEPARTMENT_TYPE == 10, new BaseFilter(filter.GetOrgId()));
|
||||
var distinctArea = GetEntities<T_HM_RISK_AREA>(t => t.IS_DELETED == false, new BaseFilter(filter.GetOrgId()));
|
||||
var distinctType = GetEntities<T_SK_RISK_TYPE>(t => t.IS_DELETED == false, new BaseFilter(filter.GetOrgId()));
|
||||
var departments = GetEntities<T_FM_DEPARTMENT>(t => t.ENABLE_STATUS == 0, new BaseFilter(filter.GetOrgId()));
|
||||
var distinctArea = GetEntities<T_SK_RISK_AREA>(t => t.IS_DELETED == false, new BaseFilter(filter.GetOrgId()));
|
||||
var distinctTeamDepartment = GetEntities<T_FM_DEPARTMENT>(t => t.DEPARTMENT_TYPE == 20, new BaseFilter(filter.GetOrgId()));
|
||||
|
||||
#region 1
|
||||
PerformanceModel CHARTFXDJ1 = new PerformanceModel();
|
||||
CHARTFXDJ1.NAME = new List<string> { "一级", "二级", "三级", "四级" };
|
||||
var type1 = allrisk.Count(t => t.EVALUATE_LEVEL == EvaluateLevelEnum.一级);
|
||||
var type2 = allrisk.Count(t => t.EVALUATE_LEVEL == EvaluateLevelEnum.二级);
|
||||
var type3 = allrisk.Count(t => t.EVALUATE_LEVEL == EvaluateLevelEnum.三级);
|
||||
var type4 = allrisk.Count(t => t.EVALUATE_LEVEL == EvaluateLevelEnum.四级);
|
||||
CHARTFXDJ1.NAME = new List<string> { "重大风险", "较大风险", "一般风险", "低风险" };
|
||||
var type1 = allrisk.Count(t => t.EVALUATE_LEVEL == SKEvaluateLevelEnum.重大风险);
|
||||
var type2 = allrisk.Count(t => t.EVALUATE_LEVEL == SKEvaluateLevelEnum.较大风险);
|
||||
var type3 = allrisk.Count(t => t.EVALUATE_LEVEL == SKEvaluateLevelEnum.一般风险);
|
||||
var type4 = allrisk.Count(t => t.EVALUATE_LEVEL == SKEvaluateLevelEnum.低风险);
|
||||
CHARTFXDJ1.LEVEL1 = new List<int> { type1, type2, type3, type4 };
|
||||
riskPerformanceData.CHARTFXDJ1 = CHARTFXDJ1;
|
||||
#endregion
|
||||
@ -784,33 +783,34 @@ namespace APT.SC.WebApi.Controllers.Api.BI
|
||||
PerformanceModel1 model3 = new PerformanceModel1();
|
||||
PerformanceModel1 model4 = new PerformanceModel1();
|
||||
|
||||
model1.name = "一级";
|
||||
model1.value = allrisk.Count(t => t.EVALUATE_LEVEL == EvaluateLevelEnum.一级);
|
||||
model1.name = "重大风险";
|
||||
model1.value = allrisk.Count(t => t.EVALUATE_LEVEL == SKEvaluateLevelEnum.重大风险);
|
||||
model2s.Add(model1);
|
||||
model2.name = "二级";
|
||||
model2.value = allrisk.Count(t => t.EVALUATE_LEVEL == EvaluateLevelEnum.二级);
|
||||
model2.name = "较大风险";
|
||||
model2.value = allrisk.Count(t => t.EVALUATE_LEVEL == SKEvaluateLevelEnum.较大风险);
|
||||
model2s.Add(model2);
|
||||
model3.name = "三级";
|
||||
model3.value = allrisk.Count(t => t.EVALUATE_LEVEL == EvaluateLevelEnum.三级);
|
||||
model3.name = "一般风险";
|
||||
model3.value = allrisk.Count(t => t.EVALUATE_LEVEL == SKEvaluateLevelEnum.一般风险);
|
||||
model2s.Add(model3);
|
||||
model4.name = "四级";
|
||||
model4.value = allrisk.Count(t => t.EVALUATE_LEVEL == EvaluateLevelEnum.四级);
|
||||
model4.name = "低风险";
|
||||
model4.value = allrisk.Count(t => t.EVALUATE_LEVEL == SKEvaluateLevelEnum.低风险);
|
||||
model2s.Add(model4);
|
||||
riskPerformanceData.CHARTFXDJ2 = model2s;
|
||||
#endregion
|
||||
|
||||
|
||||
#region 3
|
||||
var productionUnits = this.GetEntities<T_FM_USER_PRODUCTION_UNIT_SET>(t => t.IS_DELETED == false, new BaseFilter(filter.OrgId));
|
||||
var productIds = productionUnits.OrderBy(m=>m.ID).Select(t => t.ID).ToList();
|
||||
PerformanceModel modelMineType = new PerformanceModel();
|
||||
foreach (FMProductionUnit mineType in Enum.GetValues(typeof(FMProductionUnit)))
|
||||
foreach (var id in productIds)
|
||||
{
|
||||
var mineTypeName = mineType.GetDescription();
|
||||
var mineTypeInt = mineType.GetInt();
|
||||
var mineTypeName = productionUnits.FirstOrDefault(t => t.ID == id)?.NAME;
|
||||
modelMineType.NAME.Add(mineTypeName);
|
||||
modelMineType.LEVEL1.Add(allrisk.Count(t => t.MineType == mineTypeInt && t.EVALUATE_LEVEL == EvaluateLevelEnum.一级));
|
||||
modelMineType.LEVEL2.Add(allrisk.Count(t => t.MineType == mineTypeInt && t.EVALUATE_LEVEL == EvaluateLevelEnum.二级));
|
||||
modelMineType.LEVEL3.Add(allrisk.Count(t => t.MineType == mineTypeInt && t.EVALUATE_LEVEL == EvaluateLevelEnum.三级));
|
||||
modelMineType.LEVEL4.Add(allrisk.Count(t => t.MineType == mineTypeInt && t.EVALUATE_LEVEL == EvaluateLevelEnum.四级));
|
||||
modelMineType.LEVEL1.Add(allrisk.Count(t => t.PRODUCTION_UNIT_ID == id && t.EVALUATE_LEVEL == SKEvaluateLevelEnum.重大风险));
|
||||
modelMineType.LEVEL2.Add(allrisk.Count(t => t.PRODUCTION_UNIT_ID == id && t.EVALUATE_LEVEL == SKEvaluateLevelEnum.较大风险));
|
||||
modelMineType.LEVEL3.Add(allrisk.Count(t => t.PRODUCTION_UNIT_ID == id && t.EVALUATE_LEVEL == SKEvaluateLevelEnum.一般风险));
|
||||
modelMineType.LEVEL4.Add(allrisk.Count(t => t.PRODUCTION_UNIT_ID == id && t.EVALUATE_LEVEL == SKEvaluateLevelEnum.低风险));
|
||||
}
|
||||
riskPerformanceData.CHARTLIST.Add(modelMineType);
|
||||
#endregion
|
||||
@ -819,10 +819,10 @@ namespace APT.SC.WebApi.Controllers.Api.BI
|
||||
PerformanceModel modelFXLB = new PerformanceModel();
|
||||
foreach (var type in distinctType)
|
||||
{
|
||||
var countLevel1 = allrisk.Count(t => t.TYPE_ID == type.ID && t.EVALUATE_LEVEL == EvaluateLevelEnum.一级);
|
||||
var countLevel2 = allrisk.Count(t => t.TYPE_ID == type.ID && t.EVALUATE_LEVEL == EvaluateLevelEnum.二级);
|
||||
var countLevel3 = allrisk.Count(t => t.TYPE_ID == type.ID && t.EVALUATE_LEVEL == EvaluateLevelEnum.三级);
|
||||
var countLevel4 = allrisk.Count(t => t.TYPE_ID == type.ID && t.EVALUATE_LEVEL == EvaluateLevelEnum.四级);
|
||||
var countLevel1 = allrisk.Count(t => t.TYPE_ID == type.ID && t.EVALUATE_LEVEL == SKEvaluateLevelEnum.重大风险);
|
||||
var countLevel2 = allrisk.Count(t => t.TYPE_ID == type.ID && t.EVALUATE_LEVEL == SKEvaluateLevelEnum.较大风险);
|
||||
var countLevel3 = allrisk.Count(t => t.TYPE_ID == type.ID && t.EVALUATE_LEVEL == SKEvaluateLevelEnum.一般风险);
|
||||
var countLevel4 = allrisk.Count(t => t.TYPE_ID == type.ID && t.EVALUATE_LEVEL == SKEvaluateLevelEnum.低风险);
|
||||
var totalCount = countLevel1 + countLevel2 + countLevel3 + countLevel4;
|
||||
if (totalCount == 0)
|
||||
{
|
||||
@ -836,17 +836,23 @@ namespace APT.SC.WebApi.Controllers.Api.BI
|
||||
modelFXLB.TOTAL.Add(totalCount);
|
||||
}
|
||||
var newModelFXLB = SortByTotal(modelFXLB);
|
||||
riskPerformanceData.CHARTLIST.Add(modelFXLB);
|
||||
riskPerformanceData.CHARTLIST.Add(modelFXLB);
|
||||
#endregion
|
||||
|
||||
|
||||
#region 5
|
||||
//抓管控层级子表
|
||||
riskFilter.SelectField = new string[] { "ENTERPRISE_LIBRARY_ID", "DEPARTMENT_TYPE", "DEPARTMENT_ID", "USER_ID", "APPROVE_ROLE_ID", "ID" };
|
||||
var libMeasures = GetEntities<T_SK_ENTERPRISE_LIBRARY_DEPART>(t => t.IS_DELETED ==false, riskFilter);
|
||||
var departIds = libMeasures.Select(t => t.DEPARTMENT_ID).Distinct().ToList();
|
||||
var distinctDepartment = departments.Where(t => departIds.Contains(t.ID)).ToList();
|
||||
PerformanceModel modelZRDY = new PerformanceModel();
|
||||
foreach (var department in distinctDepartment)
|
||||
{
|
||||
var countLevel1 = allrisk.Count(t => t.SOURCE_DEPARTMENT_ID == department.ID && t.EVALUATE_LEVEL == EvaluateLevelEnum.一级);
|
||||
var countLevel2 = allrisk.Count(t => t.SOURCE_DEPARTMENT_ID == department.ID && t.EVALUATE_LEVEL == EvaluateLevelEnum.二级);
|
||||
var countLevel3 = allrisk.Count(t => t.SOURCE_DEPARTMENT_ID == department.ID && t.EVALUATE_LEVEL == EvaluateLevelEnum.三级);
|
||||
var countLevel4 = allrisk.Count(t => t.SOURCE_DEPARTMENT_ID == department.ID && t.EVALUATE_LEVEL == EvaluateLevelEnum.四级);
|
||||
var libIds = libMeasures.Where(t => t.DEPARTMENT_ID == department.ID).Select(m=>m.ENTERPRISE_LIBRARY_ID).Distinct().ToList();
|
||||
var countLevel1 = allrisk.Count(t => libIds.Contains(t.ID) && t.EVALUATE_LEVEL == SKEvaluateLevelEnum.重大风险);
|
||||
var countLevel2 = allrisk.Count(t => libIds.Contains(t.ID) && t.EVALUATE_LEVEL == SKEvaluateLevelEnum.较大风险);
|
||||
var countLevel3 = allrisk.Count(t => libIds.Contains(t.ID) && t.EVALUATE_LEVEL == SKEvaluateLevelEnum.一般风险);
|
||||
var countLevel4 = allrisk.Count(t => libIds.Contains(t.ID) && t.EVALUATE_LEVEL == SKEvaluateLevelEnum.低风险);
|
||||
if (countLevel1 + countLevel2 + countLevel3 + countLevel4 == 0)
|
||||
{
|
||||
continue;
|
||||
@ -857,19 +863,20 @@ namespace APT.SC.WebApi.Controllers.Api.BI
|
||||
modelZRDY.LEVEL3.Add(countLevel3);
|
||||
modelZRDY.LEVEL4.Add(countLevel4);
|
||||
}
|
||||
riskPerformanceData.CHARTLIST.Add(modelZRDY);
|
||||
riskPerformanceData.CHARTLIST.Add(modelZRDY);
|
||||
#endregion
|
||||
|
||||
|
||||
#region 6
|
||||
PerformanceModel modelDepartmentType = new PerformanceModel();
|
||||
foreach (FMDepartmentType level in Enum.GetValues(typeof(FMDepartmentType)))
|
||||
{
|
||||
foreach (SKDepartmentTypeEnum level in Enum.GetValues(typeof(SKDepartmentTypeEnum)))
|
||||
{
|
||||
var libIds = libMeasures.Where(t => t.DEPARTMENT_TYPE == level).Select(m => m.ENTERPRISE_LIBRARY_ID).Distinct().ToList();
|
||||
var levelName = level.GetDescription();
|
||||
modelDepartmentType.NAME.Add(levelName);
|
||||
modelDepartmentType.LEVEL1.Add(allrisk.Count(t => t.LEVEL == level && t.EVALUATE_LEVEL == EvaluateLevelEnum.一级));
|
||||
modelDepartmentType.LEVEL2.Add(allrisk.Count(t => t.LEVEL == level && t.EVALUATE_LEVEL == EvaluateLevelEnum.二级));
|
||||
modelDepartmentType.LEVEL3.Add(allrisk.Count(t => t.LEVEL == level && t.EVALUATE_LEVEL == EvaluateLevelEnum.三级));
|
||||
modelDepartmentType.LEVEL4.Add(allrisk.Count(t => t.LEVEL == level && t.EVALUATE_LEVEL == EvaluateLevelEnum.四级));
|
||||
modelDepartmentType.LEVEL1.Add(allrisk.Count(t => libIds.Contains(t.ID) && t.EVALUATE_LEVEL == SKEvaluateLevelEnum.重大风险));
|
||||
modelDepartmentType.LEVEL2.Add(allrisk.Count(t => libIds.Contains(t.ID) && t.EVALUATE_LEVEL == SKEvaluateLevelEnum.较大风险));
|
||||
modelDepartmentType.LEVEL3.Add(allrisk.Count(t => libIds.Contains(t.ID) && t.EVALUATE_LEVEL == SKEvaluateLevelEnum.一般风险));
|
||||
modelDepartmentType.LEVEL4.Add(allrisk.Count(t => libIds.Contains(t.ID) && t.EVALUATE_LEVEL == SKEvaluateLevelEnum.低风险));
|
||||
}
|
||||
riskPerformanceData.CHARTLIST.Add(modelDepartmentType);
|
||||
#endregion
|
||||
@ -878,10 +885,10 @@ namespace APT.SC.WebApi.Controllers.Api.BI
|
||||
PerformanceModel modelArea = new PerformanceModel();
|
||||
foreach (var area in distinctArea)
|
||||
{
|
||||
var countLevel1 = allrisk.Count(t => t.AREA_ID == area.ID && t.EVALUATE_LEVEL == EvaluateLevelEnum.一级);
|
||||
var countLevel2 = allrisk.Count(t => t.AREA_ID == area.ID && t.EVALUATE_LEVEL == EvaluateLevelEnum.二级);
|
||||
var countLevel3 = allrisk.Count(t => t.AREA_ID == area.ID && t.EVALUATE_LEVEL == EvaluateLevelEnum.三级);
|
||||
var countLevel4 = allrisk.Count(t => t.AREA_ID == area.ID && t.EVALUATE_LEVEL == EvaluateLevelEnum.四级);
|
||||
var countLevel1 = allrisk.Count(t => t.AREA_ID == area.ID && t.EVALUATE_LEVEL == SKEvaluateLevelEnum.重大风险);
|
||||
var countLevel2 = allrisk.Count(t => t.AREA_ID == area.ID && t.EVALUATE_LEVEL == SKEvaluateLevelEnum.较大风险);
|
||||
var countLevel3 = allrisk.Count(t => t.AREA_ID == area.ID && t.EVALUATE_LEVEL == SKEvaluateLevelEnum.一般风险);
|
||||
var countLevel4 = allrisk.Count(t => t.AREA_ID == area.ID && t.EVALUATE_LEVEL == SKEvaluateLevelEnum.低风险);
|
||||
var totalArea = countLevel1 + countLevel2 + countLevel3 + countLevel4;
|
||||
if (totalArea == 0)
|
||||
{
|
||||
@ -895,62 +902,71 @@ namespace APT.SC.WebApi.Controllers.Api.BI
|
||||
modelArea.TOTAL.Add(totalArea);
|
||||
}
|
||||
var newModelArea = SortByTotal(modelArea);
|
||||
riskPerformanceData.CHARTLIST.Add(newModelArea);
|
||||
riskPerformanceData.CHARTLIST.Add(newModelArea);
|
||||
#endregion
|
||||
|
||||
|
||||
#region 8
|
||||
var minTypeArr = new int[] { 30, 10, 20, 0 };
|
||||
var levelArr = new int[] { 3, 0, 1, 2 };
|
||||
foreach (var minetype in minTypeArr)
|
||||
var levelArr = new int[] { 5, 10, 15, 20 };
|
||||
foreach (var id in productIds)
|
||||
{
|
||||
var templevel1 = allrisk.Where(t => t.MineType == minetype && t.EVALUATE_LEVEL == EvaluateLevelEnum.一级);
|
||||
var templevel2 = allrisk.Where(t => t.MineType == minetype && t.EVALUATE_LEVEL == EvaluateLevelEnum.二级);
|
||||
var templevel3 = allrisk.Where(t => t.MineType == minetype && t.EVALUATE_LEVEL == EvaluateLevelEnum.三级);
|
||||
var templevel4 = allrisk.Where(t => t.MineType == minetype && t.EVALUATE_LEVEL == EvaluateLevelEnum.四级);
|
||||
|
||||
var mineTypeName = productionUnits.FirstOrDefault(t => t.ID == id)?.NAME;
|
||||
var templevel1 = allrisk.Where(t => t.PRODUCTION_UNIT_ID == id && t.EVALUATE_LEVEL == SKEvaluateLevelEnum.重大风险);
|
||||
var templevel2 = allrisk.Where(t => t.PRODUCTION_UNIT_ID == id && t.EVALUATE_LEVEL == SKEvaluateLevelEnum.较大风险);
|
||||
var templevel3 = allrisk.Where(t => t.PRODUCTION_UNIT_ID == id && t.EVALUATE_LEVEL == SKEvaluateLevelEnum.一般风险);
|
||||
var templevel4 = allrisk.Where(t => t.PRODUCTION_UNIT_ID == id && t.EVALUATE_LEVEL == SKEvaluateLevelEnum.低风险);
|
||||
var libIds1 = libMeasures.Where(t => t.DEPARTMENT_TYPE.GetInt() == levelArr[0]).Select(m => m.ENTERPRISE_LIBRARY_ID).Distinct().ToList();
|
||||
var libIds2 = libMeasures.Where(t => t.DEPARTMENT_TYPE.GetInt() == levelArr[1]).Select(m => m.ENTERPRISE_LIBRARY_ID).Distinct().ToList();
|
||||
var libIds3 = libMeasures.Where(t => t.DEPARTMENT_TYPE.GetInt() == levelArr[2]).Select(m => m.ENTERPRISE_LIBRARY_ID).Distinct().ToList();
|
||||
var libIds4 = libMeasures.Where(t => t.DEPARTMENT_TYPE.GetInt() == levelArr[3]).Select(m => m.ENTERPRISE_LIBRARY_ID).Distinct().ToList();
|
||||
PerformanceModel modelSCDY = new PerformanceModel();
|
||||
modelSCDY.NAME = new List<string> { "公司", "部门", "车间", "班组" };
|
||||
modelSCDY.LEVEL1 = new List<int> { templevel1.Count(t => (int)t.LEVEL == levelArr[0]), templevel1.Count(t => (int)t.LEVEL == levelArr[1]), templevel1.Count(t => (int)t.LEVEL == levelArr[2]), templevel1.Count(t => (int)t.LEVEL == levelArr[3]) };
|
||||
modelSCDY.LEVEL2 = new List<int> { templevel2.Count(t => (int)t.LEVEL == levelArr[0]), templevel2.Count(t => (int)t.LEVEL == levelArr[1]), templevel2.Count(t => (int)t.LEVEL == levelArr[2]), templevel2.Count(t => (int)t.LEVEL == levelArr[3]) };
|
||||
modelSCDY.LEVEL3 = new List<int> { templevel3.Count(t => (int)t.LEVEL == levelArr[0]), templevel3.Count(t => (int)t.LEVEL == levelArr[1]), templevel3.Count(t => (int)t.LEVEL == levelArr[2]), templevel3.Count(t => (int)t.LEVEL == levelArr[3]) };
|
||||
modelSCDY.LEVEL4 = new List<int> { templevel4.Count(t => (int)t.LEVEL == levelArr[0]), templevel4.Count(t => (int)t.LEVEL == levelArr[1]), templevel4.Count(t => (int)t.LEVEL == levelArr[2]), templevel4.Count(t => (int)t.LEVEL == levelArr[3]) };
|
||||
modelSCDY.LEVEL1 = new List<int> { templevel1.Count(t => libIds1.Contains(t.ID)), templevel1.Count(t => libIds2.Contains(t.ID)), templevel1.Count(t => libIds3.Contains(t.ID)), templevel1.Count(t => libIds4.Contains(t.ID)) };
|
||||
modelSCDY.LEVEL2 = new List<int> { templevel2.Count(t => libIds1.Contains(t.ID)), templevel2.Count(t => libIds2.Contains(t.ID)), templevel2.Count(t => libIds3.Contains(t.ID)), templevel2.Count(t => libIds4.Contains(t.ID)) };
|
||||
modelSCDY.LEVEL3 = new List<int> { templevel3.Count(t => libIds1.Contains(t.ID)), templevel3.Count(t => libIds2.Contains(t.ID)), templevel3.Count(t => libIds3.Contains(t.ID)), templevel3.Count(t => libIds4.Contains(t.ID)) };
|
||||
modelSCDY.LEVEL4 = new List<int> { templevel4.Count(t => libIds1.Contains(t.ID)), templevel4.Count(t => libIds2.Contains(t.ID)), templevel4.Count(t => libIds3.Contains(t.ID)), templevel4.Count(t => libIds4.Contains(t.ID)) };
|
||||
riskPerformanceData.SCDYLIST.Add(modelSCDY);
|
||||
}
|
||||
#endregion
|
||||
#region 9
|
||||
foreach (var level in levelArr)
|
||||
{
|
||||
var templevel1 = allrisk.Where(t => (int)t.LEVEL == level && t.EVALUATE_LEVEL == EvaluateLevelEnum.一级);
|
||||
var templevel2 = allrisk.Where(t => (int)t.LEVEL == level && t.EVALUATE_LEVEL == EvaluateLevelEnum.二级);
|
||||
var templevel3 = allrisk.Where(t => (int)t.LEVEL == level && t.EVALUATE_LEVEL == EvaluateLevelEnum.三级);
|
||||
var templevel4 = allrisk.Where(t => (int)t.LEVEL == level && t.EVALUATE_LEVEL == EvaluateLevelEnum.四级);
|
||||
{
|
||||
var libIds1 = libMeasures.Where(t => t.DEPARTMENT_TYPE.GetInt() == levelArr[0]).Select(m => m.ENTERPRISE_LIBRARY_ID).Distinct().ToList();
|
||||
var libIds2 = libMeasures.Where(t => t.DEPARTMENT_TYPE.GetInt() == levelArr[1]).Select(m => m.ENTERPRISE_LIBRARY_ID).Distinct().ToList();
|
||||
var libIds3 = libMeasures.Where(t => t.DEPARTMENT_TYPE.GetInt() == levelArr[2]).Select(m => m.ENTERPRISE_LIBRARY_ID).Distinct().ToList();
|
||||
var libIds4 = libMeasures.Where(t => t.DEPARTMENT_TYPE.GetInt() == levelArr[3]).Select(m => m.ENTERPRISE_LIBRARY_ID).Distinct().ToList();
|
||||
var templevel1 = allrisk.Where(t => libIds1.Contains(t.ID) && t.EVALUATE_LEVEL == SKEvaluateLevelEnum.重大风险);
|
||||
var templevel2 = allrisk.Where(t => libIds2.Contains(t.ID) && t.EVALUATE_LEVEL == SKEvaluateLevelEnum.较大风险);
|
||||
var templevel3 = allrisk.Where(t => libIds3.Contains(t.ID) && t.EVALUATE_LEVEL == SKEvaluateLevelEnum.一般风险);
|
||||
var templevel4 = allrisk.Where(t => libIds4.Contains(t.ID) && t.EVALUATE_LEVEL == SKEvaluateLevelEnum.低风险);
|
||||
|
||||
PerformanceModel modelCJ = new PerformanceModel();
|
||||
modelCJ.NAME = new List<string> { "露天矿", "选矿厂", "尾矿厂", "职能部门" };
|
||||
modelCJ.LEVEL1 = new List<int> { templevel1.Count(t => (int)t.MineType == minTypeArr[0]), templevel1.Count(t => (int)t.MineType == minTypeArr[1]), templevel1.Count(t => (int)t.MineType == minTypeArr[2]), templevel1.Count(t => (int)t.MineType == minTypeArr[3]) };
|
||||
modelCJ.LEVEL2 = new List<int> { templevel2.Count(t => (int)t.MineType == minTypeArr[0]), templevel2.Count(t => (int)t.MineType == minTypeArr[1]), templevel2.Count(t => (int)t.MineType == minTypeArr[2]), templevel2.Count(t => (int)t.MineType == minTypeArr[3]) };
|
||||
modelCJ.LEVEL3 = new List<int> { templevel3.Count(t => (int)t.MineType == minTypeArr[0]), templevel3.Count(t => (int)t.MineType == minTypeArr[1]), templevel3.Count(t => (int)t.MineType == minTypeArr[2]), templevel3.Count(t => (int)t.MineType == minTypeArr[3]) };
|
||||
modelCJ.LEVEL4 = new List<int> { templevel4.Count(t => (int)t.MineType == minTypeArr[0]), templevel4.Count(t => (int)t.MineType == minTypeArr[1]), templevel4.Count(t => (int)t.MineType == minTypeArr[2]), templevel4.Count(t => (int)t.MineType == minTypeArr[3]) };
|
||||
PerformanceModel modelCJ = new PerformanceModel();
|
||||
modelCJ.NAME = new List<string> { "露天矿", "选矿厂", "地下矿", "全公司" };
|
||||
var minTypeArr = productionUnits.Where(t => modelCJ.NAME.Contains(t.NAME)).Select(m => m.ID).ToList();
|
||||
modelCJ.LEVEL1 = new List<int> { templevel1.Count(t => t.PRODUCTION_UNIT_ID == minTypeArr[0]), templevel1.Count(t => t.PRODUCTION_UNIT_ID == minTypeArr[1]), templevel1.Count(t => t.PRODUCTION_UNIT_ID == minTypeArr[2]), templevel1.Count(t => t.PRODUCTION_UNIT_ID == minTypeArr[3]) };
|
||||
modelCJ.LEVEL2 = new List<int> { templevel2.Count(t => t.PRODUCTION_UNIT_ID == minTypeArr[0]), templevel2.Count(t => t.PRODUCTION_UNIT_ID == minTypeArr[1]), templevel2.Count(t => t.PRODUCTION_UNIT_ID == minTypeArr[2]), templevel2.Count(t => t.PRODUCTION_UNIT_ID == minTypeArr[3]) };
|
||||
modelCJ.LEVEL3 = new List<int> { templevel3.Count(t => t.PRODUCTION_UNIT_ID == minTypeArr[0]), templevel3.Count(t => t.PRODUCTION_UNIT_ID == minTypeArr[1]), templevel3.Count(t => t.PRODUCTION_UNIT_ID == minTypeArr[2]), templevel3.Count(t => t.PRODUCTION_UNIT_ID == minTypeArr[3]) };
|
||||
modelCJ.LEVEL4 = new List<int> { templevel4.Count(t => t.PRODUCTION_UNIT_ID == minTypeArr[0]), templevel4.Count(t => t.PRODUCTION_UNIT_ID == minTypeArr[1]), templevel4.Count(t => t.PRODUCTION_UNIT_ID == minTypeArr[2]), templevel4.Count(t => t.PRODUCTION_UNIT_ID == minTypeArr[3]) };
|
||||
riskPerformanceData.CJLIST.Add(modelCJ);
|
||||
}
|
||||
#endregion
|
||||
#region 10
|
||||
List<PerformanceModel> SubZRDY = new List<PerformanceModel>();
|
||||
foreach (int minetype in minTypeArr)
|
||||
foreach (var id in productIds)
|
||||
{
|
||||
PerformanceModel modelSubZRDY = new PerformanceModel();
|
||||
foreach (var team in distinctTeamDepartment)
|
||||
{
|
||||
var countLevel1 = allrisk.Count(t => t.DEPARTMENT_LIABLE_ID == team.ID && t.MineType == minetype && t.EVALUATE_LEVEL == EvaluateLevelEnum.一级);
|
||||
var countLevel2 = allrisk.Count(t => t.DEPARTMENT_LIABLE_ID == team.ID && t.MineType == minetype && t.EVALUATE_LEVEL == EvaluateLevelEnum.二级);
|
||||
var countLevel3 = allrisk.Count(t => t.DEPARTMENT_LIABLE_ID == team.ID && t.MineType == minetype && t.EVALUATE_LEVEL == EvaluateLevelEnum.三级);
|
||||
var countLevel4 = allrisk.Count(t => t.DEPARTMENT_LIABLE_ID == team.ID && t.MineType == minetype && t.EVALUATE_LEVEL == EvaluateLevelEnum.四级);
|
||||
foreach (var department in distinctDepartment)
|
||||
{
|
||||
var libIds = libMeasures.Where(t => t.DEPARTMENT_ID == department.ID).Select(m => m.ENTERPRISE_LIBRARY_ID).Distinct().ToList();
|
||||
var countLevel1 = allrisk.Count(t => libIds.Contains(t.ID) && t.PRODUCTION_UNIT_ID == id && t.EVALUATE_LEVEL == SKEvaluateLevelEnum.重大风险);
|
||||
var countLevel2 = allrisk.Count(t => libIds.Contains(t.ID) && t.PRODUCTION_UNIT_ID == id && t.EVALUATE_LEVEL == SKEvaluateLevelEnum.较大风险);
|
||||
var countLevel3 = allrisk.Count(t => libIds.Contains(t.ID) && t.PRODUCTION_UNIT_ID == id && t.EVALUATE_LEVEL == SKEvaluateLevelEnum.一般风险);
|
||||
var countLevel4 = allrisk.Count(t => libIds.Contains(t.ID) && t.PRODUCTION_UNIT_ID == id && t.EVALUATE_LEVEL == SKEvaluateLevelEnum.低风险);
|
||||
var totalZRDY = countLevel1 + countLevel2 + countLevel3 + countLevel4;
|
||||
if (totalZRDY == 0)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
modelSubZRDY.NAME.Add(team.NAME);
|
||||
modelSubZRDY.NAME.Add(department.NAME);
|
||||
modelSubZRDY.LEVEL1.Add(countLevel1);
|
||||
modelSubZRDY.LEVEL2.Add(countLevel2);
|
||||
modelSubZRDY.LEVEL3.Add(countLevel3);
|
||||
@ -963,15 +979,15 @@ namespace APT.SC.WebApi.Controllers.Api.BI
|
||||
#endregion
|
||||
#region 11
|
||||
List<PerformanceModel> SubQY = new List<PerformanceModel>();
|
||||
foreach (int minetype in minTypeArr)
|
||||
foreach (var id in productIds)
|
||||
{
|
||||
PerformanceModel modelSubQY = new PerformanceModel();
|
||||
foreach (var area in distinctArea)
|
||||
{
|
||||
var countLevel1 = allrisk.Count(t => t.AREA_ID == area.ID && t.MineType == minetype && t.EVALUATE_LEVEL == EvaluateLevelEnum.一级);
|
||||
var countLevel2 = allrisk.Count(t => t.AREA_ID == area.ID && t.MineType == minetype && t.EVALUATE_LEVEL == EvaluateLevelEnum.二级);
|
||||
var countLevel3 = allrisk.Count(t => t.AREA_ID == area.ID && t.MineType == minetype && t.EVALUATE_LEVEL == EvaluateLevelEnum.三级);
|
||||
var countLevel4 = allrisk.Count(t => t.AREA_ID == area.ID && t.MineType == minetype && t.EVALUATE_LEVEL == EvaluateLevelEnum.四级);
|
||||
var countLevel1 = allrisk.Count(t => t.AREA_ID == area.ID && t.PRODUCTION_UNIT_ID == id && t.EVALUATE_LEVEL == SKEvaluateLevelEnum.重大风险);
|
||||
var countLevel2 = allrisk.Count(t => t.AREA_ID == area.ID && t.PRODUCTION_UNIT_ID == id && t.EVALUATE_LEVEL == SKEvaluateLevelEnum.较大风险);
|
||||
var countLevel3 = allrisk.Count(t => t.AREA_ID == area.ID && t.PRODUCTION_UNIT_ID == id && t.EVALUATE_LEVEL == SKEvaluateLevelEnum.一般风险);
|
||||
var countLevel4 = allrisk.Count(t => t.AREA_ID == area.ID && t.PRODUCTION_UNIT_ID == id && t.EVALUATE_LEVEL == SKEvaluateLevelEnum.低风险);
|
||||
var totalZRDY = countLevel1 + countLevel2 + countLevel3 + countLevel4;
|
||||
if (totalZRDY == 0)
|
||||
{
|
||||
@ -990,15 +1006,15 @@ namespace APT.SC.WebApi.Controllers.Api.BI
|
||||
#endregion
|
||||
#region 12
|
||||
List<PerformanceModel> SubFXLB = new List<PerformanceModel>();
|
||||
foreach (int minetype in minTypeArr)
|
||||
foreach (var id in productIds)
|
||||
{
|
||||
PerformanceModel modelSubFXLB = new PerformanceModel();
|
||||
foreach (var type in distinctType)
|
||||
{
|
||||
var countLevel1 = allrisk.Count(t => t.TYPE_ID == type.ID && t.MineType == minetype && t.EVALUATE_LEVEL == EvaluateLevelEnum.一级);
|
||||
var countLevel2 = allrisk.Count(t => t.TYPE_ID == type.ID && t.MineType == minetype && t.EVALUATE_LEVEL == EvaluateLevelEnum.二级);
|
||||
var countLevel3 = allrisk.Count(t => t.TYPE_ID == type.ID && t.MineType == minetype && t.EVALUATE_LEVEL == EvaluateLevelEnum.三级);
|
||||
var countLevel4 = allrisk.Count(t => t.TYPE_ID == type.ID && t.MineType == minetype && t.EVALUATE_LEVEL == EvaluateLevelEnum.四级);
|
||||
var countLevel1 = allrisk.Count(t => t.TYPE_ID == type.ID && t.PRODUCTION_UNIT_ID == id && t.EVALUATE_LEVEL == SKEvaluateLevelEnum.重大风险);
|
||||
var countLevel2 = allrisk.Count(t => t.TYPE_ID == type.ID && t.PRODUCTION_UNIT_ID == id && t.EVALUATE_LEVEL == SKEvaluateLevelEnum.较大风险);
|
||||
var countLevel3 = allrisk.Count(t => t.TYPE_ID == type.ID && t.PRODUCTION_UNIT_ID == id && t.EVALUATE_LEVEL == SKEvaluateLevelEnum.一般风险);
|
||||
var countLevel4 = allrisk.Count(t => t.TYPE_ID == type.ID && t.PRODUCTION_UNIT_ID == id && t.EVALUATE_LEVEL == SKEvaluateLevelEnum.低风险);
|
||||
var totalZRDY = countLevel1 + countLevel2 + countLevel3 + countLevel4;
|
||||
if (totalZRDY == 0)
|
||||
{
|
||||
@ -1054,11 +1070,11 @@ namespace APT.SC.WebApi.Controllers.Api.BI
|
||||
riskDate.COUNT = allrisk.Count(t => t.CREATE_TIME <= endOfMonth);
|
||||
riskDate.TYPE = 0;
|
||||
item3s.Add(riskDate);
|
||||
dateCountModel hazardDate = new dateCountModel();
|
||||
hazardDate.DATE = endOfMonth;
|
||||
hazardDate.COUNT = allhazard.Count(t => t.CREATE_TIME <= endOfMonth); ;
|
||||
hazardDate.TYPE = 1;
|
||||
item3s.Add(hazardDate);
|
||||
//dateCountModel hazardDate = new dateCountModel();
|
||||
//hazardDate.DATE = endOfMonth;
|
||||
//hazardDate.COUNT = allhazard.Count(t => t.CREATE_TIME <= endOfMonth); ;
|
||||
//hazardDate.TYPE = 1;
|
||||
//item3s.Add(hazardDate);
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user