增加接口
This commit is contained in:
		
							parent
							
								
									68d5ab68c6
								
							
						
					
					
						commit
						bbd2030d35
					
				@ -195,14 +195,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI
 | 
			
		||||
                var riskFilter = new BaseFilter(filter.GetOrgId());
 | 
			
		||||
                riskFilter.SelectField = new string[] { "AREA_ID", "Nav_Area.NAME", "EVALUATE_LEVEL", "Nav_SourceDepartment.NAME", "CREATE_TIME" };
 | 
			
		||||
                IEnumerable<T_HM_EVALUATE_RISK> allrisk = null;
 | 
			
		||||
                if (filter.Parameter1 != null)
 | 
			
		||||
                {
 | 
			
		||||
                    allrisk = GetEntities<T_HM_EVALUATE_RISK>(t => t.STATUS == (int)HMOperationStepEnum.有效 && t.SOURCE_DEPARTMENT_ID != null && t.MineType == int.Parse(filter.Parameter1), riskFilter);
 | 
			
		||||
                }
 | 
			
		||||
                else
 | 
			
		||||
                {
 | 
			
		||||
                    allrisk = GetEntities<T_HM_EVALUATE_RISK>(t => t.STATUS == (int)HMOperationStepEnum.有效 && t.SOURCE_DEPARTMENT_ID != null, riskFilter);
 | 
			
		||||
                }
 | 
			
		||||
                allrisk = GetEntities<T_HM_EVALUATE_RISK>(t => t.STATUS == (int)HMOperationStepEnum.有效 && t.SOURCE_DEPARTMENT_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);
 | 
			
		||||
@ -264,6 +257,397 @@ namespace APT.SC.WebApi.Controllers.Api.BI
 | 
			
		||||
                return riskData;
 | 
			
		||||
            });
 | 
			
		||||
        }
 | 
			
		||||
        public class riskPerformanceData
 | 
			
		||||
        {
 | 
			
		||||
            public List<dateCountModel> DATECOUNTS { get; set; }
 | 
			
		||||
            public PerformanceModel CHARTFXDJ1 { get; set; }
 | 
			
		||||
            public List<PerformanceModel1> CHARTFXDJ2 { get; set; }
 | 
			
		||||
            public List<PerformanceModel> CHARTLIST { get; set; }
 | 
			
		||||
            public List<PerformanceModel> TEAMLIST { get; set; }
 | 
			
		||||
            public List<PerformanceModel> AREALIST { get; set; }
 | 
			
		||||
            public List<PerformanceModel> RISKTYPELIST { get; set; }
 | 
			
		||||
            public List<PerformanceModel> SCDYLIST { get; set; }
 | 
			
		||||
            public List<PerformanceModel> CJLIST { get; set; }
 | 
			
		||||
            public PerformanceModel CHARTZYRW1 { get; set; }
 | 
			
		||||
            public List<PerformanceModel1> CHARTZYRW2 { get; set; }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
            public riskPerformanceData()
 | 
			
		||||
            {
 | 
			
		||||
                CHARTLIST = new List<PerformanceModel>();
 | 
			
		||||
                TEAMLIST = new List<PerformanceModel>();
 | 
			
		||||
                AREALIST = new List<PerformanceModel>();
 | 
			
		||||
                RISKTYPELIST = new List<PerformanceModel>();
 | 
			
		||||
                SCDYLIST = new List<PerformanceModel>();
 | 
			
		||||
                CJLIST = new List<PerformanceModel>();
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
        }
 | 
			
		||||
        public class PerformanceModel1
 | 
			
		||||
        {
 | 
			
		||||
            public string name { get; set; }
 | 
			
		||||
 | 
			
		||||
            public int value { get; set; }
 | 
			
		||||
        }
 | 
			
		||||
        public class PerformanceModel
 | 
			
		||||
        {
 | 
			
		||||
            public List<string> NAME { get; set; }
 | 
			
		||||
            public List<int> LEVEL1 { get; set; }
 | 
			
		||||
            public List<int> LEVEL2 { get; set; }
 | 
			
		||||
            public List<int> LEVEL3 { get; set; }
 | 
			
		||||
            public List<int> LEVEL4 { get; set; }
 | 
			
		||||
            public List<int> TOTAL { get; set; }
 | 
			
		||||
 | 
			
		||||
            public PerformanceModel()
 | 
			
		||||
            {
 | 
			
		||||
                NAME = new List<string>();
 | 
			
		||||
                LEVEL1 = new List<int>();
 | 
			
		||||
                LEVEL2 = new List<int>();
 | 
			
		||||
                LEVEL3 = new List<int>();
 | 
			
		||||
                LEVEL4 = new List<int>();
 | 
			
		||||
                TOTAL = new List<int>();
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
        }
 | 
			
		||||
        public PerformanceModel SortByTotal(PerformanceModel item)
 | 
			
		||||
        {
 | 
			
		||||
            // 创建临时列表用于保存排序后的索引
 | 
			
		||||
            List<int> sortedIndexes = Enumerable.Range(0, item.TOTAL.Count)
 | 
			
		||||
                .OrderByDescending(index => item.TOTAL[index])
 | 
			
		||||
                .ToList();
 | 
			
		||||
 | 
			
		||||
            // 新建排序后的数组
 | 
			
		||||
            List<string> sortedName = new List<string>();
 | 
			
		||||
            List<int> sortedLevel1 = new List<int>();
 | 
			
		||||
            List<int> sortedLevel2 = new List<int>();
 | 
			
		||||
            List<int> sortedLevel3 = new List<int>();
 | 
			
		||||
            List<int> sortedLevel4 = new List<int>();
 | 
			
		||||
 | 
			
		||||
            // 按照排序后的索引填充新的数组
 | 
			
		||||
            for (int i = 0; i < sortedIndexes.Count; i++)
 | 
			
		||||
            {
 | 
			
		||||
                sortedName.Add(item.NAME[sortedIndexes[i]]);
 | 
			
		||||
                sortedLevel1.Add(item.LEVEL1[sortedIndexes[i]]);
 | 
			
		||||
                sortedLevel2.Add(item.LEVEL2[sortedIndexes[i]]);
 | 
			
		||||
                sortedLevel3.Add(item.LEVEL3[sortedIndexes[i]]);
 | 
			
		||||
                sortedLevel4.Add(item.LEVEL4[sortedIndexes[i]]);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            // 将排序后的数组赋值回原对象
 | 
			
		||||
            item.NAME = sortedName.GetRange(0, Math.Min(8, item.NAME.Count));
 | 
			
		||||
            item.LEVEL1 = sortedLevel1.GetRange(0, Math.Min(8, item.NAME.Count));
 | 
			
		||||
            item.LEVEL2 = sortedLevel2.GetRange(0, Math.Min(8, item.NAME.Count));
 | 
			
		||||
            item.LEVEL3 = sortedLevel3.GetRange(0, Math.Min(8, item.NAME.Count));
 | 
			
		||||
            item.LEVEL4 = sortedLevel4.GetRange(0, Math.Min(8, item.NAME.Count));
 | 
			
		||||
 | 
			
		||||
            return item;
 | 
			
		||||
        }
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 风险库统计
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <param name="pageFilter">返回系统用户数</param>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
        [HttpPost, Route("getRiskPerformanceData")]
 | 
			
		||||
        public JsonActionResult<riskPerformanceData> getRiskPerformanceData([FromBody] KeywordFilter filter)
 | 
			
		||||
        {
 | 
			
		||||
            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);
 | 
			
		||||
                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 == 0, new BaseFilter(filter.GetOrgId()));
 | 
			
		||||
                var distinctArea = GetEntities<T_HM_RISK_AREA>(t => t.IS_DELETED == false, new BaseFilter(filter.GetOrgId()));
 | 
			
		||||
                var distinctTeamDepartment = GetEntities<T_FM_DEPARTMENT>(t => t.DEPARTMENT_TYPE == 2, 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.LEVEL1 = new List<int> { type1, type2, type3, type4 };
 | 
			
		||||
                riskPerformanceData.CHARTFXDJ1 = CHARTFXDJ1;
 | 
			
		||||
                #endregion
 | 
			
		||||
                #region 2
 | 
			
		||||
                List<PerformanceModel1> model2s = new List<PerformanceModel1> { };
 | 
			
		||||
                PerformanceModel1 model1 = new PerformanceModel1();
 | 
			
		||||
                PerformanceModel1 model2 = new PerformanceModel1();
 | 
			
		||||
                PerformanceModel1 model3 = new PerformanceModel1();
 | 
			
		||||
                PerformanceModel1 model4 = new PerformanceModel1();
 | 
			
		||||
 | 
			
		||||
                model1.name = "一级";
 | 
			
		||||
                model1.value = allrisk.Count(t => t.EVALUATE_LEVEL == EvaluateLevelEnum.一级);
 | 
			
		||||
                model2s.Add(model1);
 | 
			
		||||
                model2.name = "二级";
 | 
			
		||||
                model2.value = allrisk.Count(t => t.EVALUATE_LEVEL == EvaluateLevelEnum.二级);
 | 
			
		||||
                model2s.Add(model2);
 | 
			
		||||
                model3.name = "三级";
 | 
			
		||||
                model3.value = allrisk.Count(t => t.EVALUATE_LEVEL == EvaluateLevelEnum.三级);
 | 
			
		||||
                model2s.Add(model3);
 | 
			
		||||
                model4.name = "四级";
 | 
			
		||||
                model4.value = allrisk.Count(t => t.EVALUATE_LEVEL == EvaluateLevelEnum.四级);
 | 
			
		||||
                model2s.Add(model4);
 | 
			
		||||
                riskPerformanceData.CHARTFXDJ2 = model2s;
 | 
			
		||||
                #endregion
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
                #region 3
 | 
			
		||||
                PerformanceModel modelMineType = new PerformanceModel();
 | 
			
		||||
                foreach (FMProductionUnit mineType in Enum.GetValues(typeof(FMProductionUnit)))
 | 
			
		||||
                {
 | 
			
		||||
                    var mineTypeName = mineType.GetDescription();
 | 
			
		||||
                    var mineTypeInt = mineType.GetInt();
 | 
			
		||||
                    modelMineType.NAME.Add(mineTypeName);
 | 
			
		||||
                    modelMineType.LEVEL1.Add(allrisk.Count(t =>  t.EVALUATE_LEVEL == EvaluateLevelEnum.一级));
 | 
			
		||||
                    modelMineType.LEVEL2.Add(allrisk.Count(t =>  t.EVALUATE_LEVEL == EvaluateLevelEnum.二级));
 | 
			
		||||
                    modelMineType.LEVEL3.Add(allrisk.Count(t =>  t.EVALUATE_LEVEL == EvaluateLevelEnum.三级));
 | 
			
		||||
                    modelMineType.LEVEL4.Add(allrisk.Count(t =>  t.EVALUATE_LEVEL == EvaluateLevelEnum.四级));
 | 
			
		||||
                }
 | 
			
		||||
                riskPerformanceData.CHARTLIST.Add(modelMineType);
 | 
			
		||||
                #endregion
 | 
			
		||||
 | 
			
		||||
                #region 4
 | 
			
		||||
                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 totalCount = countLevel1 + countLevel2 + countLevel3 + countLevel4;
 | 
			
		||||
                    if (totalCount == 0)
 | 
			
		||||
                    {
 | 
			
		||||
                        continue;
 | 
			
		||||
                    }
 | 
			
		||||
                    modelFXLB.NAME.Add(type.NAME);
 | 
			
		||||
                    modelFXLB.LEVEL1.Add(countLevel1);
 | 
			
		||||
                    modelFXLB.LEVEL2.Add(countLevel2);
 | 
			
		||||
                    modelFXLB.LEVEL3.Add(countLevel3);
 | 
			
		||||
                    modelFXLB.LEVEL4.Add(countLevel4);
 | 
			
		||||
                    modelFXLB.TOTAL.Add(totalCount);
 | 
			
		||||
                }
 | 
			
		||||
                var newModelFXLB = SortByTotal(modelFXLB);
 | 
			
		||||
                riskPerformanceData.CHARTLIST.Add(modelFXLB);
 | 
			
		||||
                #endregion
 | 
			
		||||
 | 
			
		||||
                #region 5
 | 
			
		||||
                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.四级);
 | 
			
		||||
                    if (countLevel1 + countLevel2 + countLevel3 + countLevel4 == 0)
 | 
			
		||||
                    {
 | 
			
		||||
                        continue;
 | 
			
		||||
                    }
 | 
			
		||||
                    modelZRDY.NAME.Add(department.NAME);
 | 
			
		||||
                    modelZRDY.LEVEL1.Add(countLevel1);
 | 
			
		||||
                    modelZRDY.LEVEL2.Add(countLevel2);
 | 
			
		||||
                    modelZRDY.LEVEL3.Add(countLevel3);
 | 
			
		||||
                    modelZRDY.LEVEL4.Add(countLevel4);
 | 
			
		||||
                }
 | 
			
		||||
                riskPerformanceData.CHARTLIST.Add(modelZRDY);
 | 
			
		||||
                #endregion
 | 
			
		||||
 | 
			
		||||
                #region 6
 | 
			
		||||
                PerformanceModel modelDepartmentType = new PerformanceModel();
 | 
			
		||||
                foreach (FMDepartmentType level in Enum.GetValues(typeof(FMDepartmentType)))
 | 
			
		||||
                {
 | 
			
		||||
                    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.四级));
 | 
			
		||||
                }
 | 
			
		||||
                riskPerformanceData.CHARTLIST.Add(modelDepartmentType);
 | 
			
		||||
                #endregion
 | 
			
		||||
 | 
			
		||||
                #region 7
 | 
			
		||||
                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 totalArea = countLevel1 + countLevel2 + countLevel3 + countLevel4;
 | 
			
		||||
                    if (totalArea == 0)
 | 
			
		||||
                    {
 | 
			
		||||
                        continue;
 | 
			
		||||
                    }
 | 
			
		||||
                    modelArea.NAME.Add(area.NAME);
 | 
			
		||||
                    modelArea.LEVEL1.Add(countLevel1);
 | 
			
		||||
                    modelArea.LEVEL2.Add(countLevel2);
 | 
			
		||||
                    modelArea.LEVEL3.Add(countLevel3);
 | 
			
		||||
                    modelArea.LEVEL4.Add(countLevel4);
 | 
			
		||||
                    modelArea.TOTAL.Add(totalArea);
 | 
			
		||||
                }
 | 
			
		||||
                var newModelArea = SortByTotal(modelArea);
 | 
			
		||||
                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 templevel1 = allrisk.Where(t => t.EVALUATE_LEVEL == EvaluateLevelEnum.一级);
 | 
			
		||||
                    var templevel2 = allrisk.Where(t => t.EVALUATE_LEVEL == EvaluateLevelEnum.二级);
 | 
			
		||||
                    var templevel3 = allrisk.Where(t => t.EVALUATE_LEVEL == EvaluateLevelEnum.三级);
 | 
			
		||||
                    var templevel4 = allrisk.Where(t => t.EVALUATE_LEVEL == EvaluateLevelEnum.四级);
 | 
			
		||||
 | 
			
		||||
                    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]) };
 | 
			
		||||
                    riskPerformanceData.SCDYLIST.Add(modelSCDY);
 | 
			
		||||
                }
 | 
			
		||||
                #endregion
 | 
			
		||||
                #region 10
 | 
			
		||||
                List<PerformanceModel> SubZRDY = new List<PerformanceModel>();
 | 
			
		||||
                foreach (int minetype in minTypeArr)
 | 
			
		||||
                {
 | 
			
		||||
                    PerformanceModel modelSubZRDY = new PerformanceModel();
 | 
			
		||||
                    foreach (var team in distinctTeamDepartment)
 | 
			
		||||
                    {
 | 
			
		||||
                        var countLevel1 = allrisk.Count(t => t.DEPARTMENT_LIABLE_ID == team.ID && t.EVALUATE_LEVEL == EvaluateLevelEnum.一级);
 | 
			
		||||
                        var countLevel2 = allrisk.Count(t => t.DEPARTMENT_LIABLE_ID == team.ID && t.EVALUATE_LEVEL == EvaluateLevelEnum.二级);
 | 
			
		||||
                        var countLevel3 = allrisk.Count(t => t.DEPARTMENT_LIABLE_ID == team.ID && t.EVALUATE_LEVEL == EvaluateLevelEnum.三级);
 | 
			
		||||
                        var countLevel4 = allrisk.Count(t => t.DEPARTMENT_LIABLE_ID == team.ID && t.EVALUATE_LEVEL == EvaluateLevelEnum.四级);
 | 
			
		||||
                        var totalZRDY = countLevel1 + countLevel2 + countLevel3 + countLevel4;
 | 
			
		||||
                        if (totalZRDY == 0)
 | 
			
		||||
                        {
 | 
			
		||||
                            continue;
 | 
			
		||||
                        }
 | 
			
		||||
                        modelSubZRDY.NAME.Add(team.NAME);
 | 
			
		||||
                        modelSubZRDY.LEVEL1.Add(countLevel1);
 | 
			
		||||
                        modelSubZRDY.LEVEL2.Add(countLevel2);
 | 
			
		||||
                        modelSubZRDY.LEVEL3.Add(countLevel3);
 | 
			
		||||
                        modelSubZRDY.LEVEL4.Add(countLevel4);
 | 
			
		||||
                        modelSubZRDY.TOTAL.Add(totalZRDY);
 | 
			
		||||
                    }
 | 
			
		||||
                    SubZRDY.Add(SortByTotal(modelSubZRDY));
 | 
			
		||||
                }
 | 
			
		||||
                riskPerformanceData.TEAMLIST = SubZRDY;
 | 
			
		||||
                #endregion
 | 
			
		||||
                #region 11
 | 
			
		||||
                List<PerformanceModel> SubQY = new List<PerformanceModel>();
 | 
			
		||||
                foreach (int minetype in minTypeArr)
 | 
			
		||||
                {
 | 
			
		||||
                    PerformanceModel modelSubQY = 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 totalZRDY = countLevel1 + countLevel2 + countLevel3 + countLevel4;
 | 
			
		||||
                        if (totalZRDY == 0)
 | 
			
		||||
                        {
 | 
			
		||||
                            continue;
 | 
			
		||||
                        }
 | 
			
		||||
                        modelSubQY.NAME.Add(area.NAME);
 | 
			
		||||
                        modelSubQY.LEVEL1.Add(countLevel1);
 | 
			
		||||
                        modelSubQY.LEVEL2.Add(countLevel2);
 | 
			
		||||
                        modelSubQY.LEVEL3.Add(countLevel3);
 | 
			
		||||
                        modelSubQY.LEVEL4.Add(countLevel4);
 | 
			
		||||
                        modelSubQY.TOTAL.Add(totalZRDY);
 | 
			
		||||
                    }
 | 
			
		||||
                    SubQY.Add(SortByTotal(modelSubQY));
 | 
			
		||||
                }
 | 
			
		||||
                riskPerformanceData.AREALIST = SubQY;
 | 
			
		||||
                #endregion
 | 
			
		||||
                #region 12
 | 
			
		||||
                List<PerformanceModel> SubFXLB = new List<PerformanceModel>();
 | 
			
		||||
                foreach (int minetype in minTypeArr)
 | 
			
		||||
                {
 | 
			
		||||
                    PerformanceModel modelSubFXLB = 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 totalZRDY = countLevel1 + countLevel2 + countLevel3 + countLevel4;
 | 
			
		||||
                        if (totalZRDY == 0)
 | 
			
		||||
                        {
 | 
			
		||||
                            continue;
 | 
			
		||||
                        }
 | 
			
		||||
                        modelSubFXLB.NAME.Add(type.NAME);
 | 
			
		||||
                        modelSubFXLB.LEVEL1.Add(countLevel1);
 | 
			
		||||
                        modelSubFXLB.LEVEL2.Add(countLevel2);
 | 
			
		||||
                        modelSubFXLB.LEVEL3.Add(countLevel3);
 | 
			
		||||
                        modelSubFXLB.LEVEL4.Add(countLevel4);
 | 
			
		||||
                        modelSubFXLB.TOTAL.Add(totalZRDY);
 | 
			
		||||
                    }
 | 
			
		||||
                    SubFXLB.Add(SortByTotal(modelSubFXLB));
 | 
			
		||||
                }
 | 
			
		||||
                riskPerformanceData.RISKTYPELIST = SubFXLB;
 | 
			
		||||
                #endregion
 | 
			
		||||
                #region 13
 | 
			
		||||
 | 
			
		||||
                PerformanceModel CHARTZYRW1 = new PerformanceModel();
 | 
			
		||||
                var allzyrw = GetEntities<T_HM_OPERATION_LINK>(t=>t.IS_DELETED==false, new BaseFilter(filter.GetOrgId()));
 | 
			
		||||
                CHARTZYRW1.NAME = new List<string> { "许可作业", "关键任务", "一般任务" };
 | 
			
		||||
                var zy1 = allzyrw.Count(t => t.TASK_LEVEL == 1);
 | 
			
		||||
                var zy2 = allzyrw.Count(t => t.TASK_LEVEL == 2);
 | 
			
		||||
                var zy3 = allzyrw.Count(t => t.TASK_LEVEL == 3);
 | 
			
		||||
                CHARTZYRW1.LEVEL1 = new List<int> { zy1, zy2, zy3 };
 | 
			
		||||
                riskPerformanceData.CHARTZYRW1 = CHARTZYRW1;
 | 
			
		||||
                #endregion
 | 
			
		||||
                #region 2
 | 
			
		||||
                List<PerformanceModel1> modelZyrws = new List<PerformanceModel1> { };
 | 
			
		||||
                PerformanceModel1 modelZyrw1 = new PerformanceModel1();
 | 
			
		||||
                PerformanceModel1 modelZyrw2 = new PerformanceModel1();
 | 
			
		||||
                PerformanceModel1 modelZyrw3 = new PerformanceModel1();
 | 
			
		||||
 | 
			
		||||
                modelZyrw1.name = "许可作业";
 | 
			
		||||
                modelZyrw1.value = allzyrw.Count(t => t.TASK_LEVEL == 1);
 | 
			
		||||
                modelZyrws.Add(modelZyrw1);
 | 
			
		||||
                modelZyrw2.name = "关键任务";
 | 
			
		||||
                modelZyrw2.value = allzyrw.Count(t => t.TASK_LEVEL == 2);
 | 
			
		||||
                modelZyrws.Add(modelZyrw2);
 | 
			
		||||
                modelZyrw3.name = "一般任务";
 | 
			
		||||
                modelZyrw3.value = allzyrw.Count(t => t.TASK_LEVEL == 3);
 | 
			
		||||
                modelZyrws.Add(modelZyrw3);
 | 
			
		||||
                riskPerformanceData.CHARTZYRW2 = modelZyrws;
 | 
			
		||||
                #endregion
 | 
			
		||||
                #region
 | 
			
		||||
                var currMonth = DateTime.Now.Month;
 | 
			
		||||
                DateTime today = DateTime.Today;
 | 
			
		||||
                for (var i = 1; i < currMonth + 1; i++)
 | 
			
		||||
                {
 | 
			
		||||
                    DateTime endOfMonth = new DateTime(today.Year, i, 1).AddMonths(1).AddSeconds(-1);
 | 
			
		||||
                    dateCountModel riskDate = new dateCountModel();
 | 
			
		||||
                    riskDate.DATE = endOfMonth;
 | 
			
		||||
                    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);
 | 
			
		||||
                }
 | 
			
		||||
                #endregion
 | 
			
		||||
 | 
			
		||||
                riskPerformanceData.DATECOUNTS = item3s.OrderBy(t => t.DATE).ToList();
 | 
			
		||||
                return riskPerformanceData;
 | 
			
		||||
            });
 | 
			
		||||
        }
 | 
			
		||||
        public class safeTrainData
 | 
			
		||||
        {
 | 
			
		||||
            /// 年度培训计划完成率
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user