76 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			76 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			C#
		
	
	
	
|  | using System.Collections.Generic; | |||
|  | using System.Linq; | |||
|  | 
 | |||
|  | namespace BLL | |||
|  | { | |||
|  |     public static class APIChartAnalysisService | |||
|  |     { | |||
|  |         #region 根据类型获取图型数据 | |||
|  |         /// <summary> | |||
|  |         /// 根据类型获取图型数据 | |||
|  |         /// </summary> | |||
|  |         /// <param name="type"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public static List<Model.ChartAnalysisItem> getChartAnalysisByType(string projectId, string type, string startDate, string endDate) | |||
|  |         { | |||
|  |             using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) | |||
|  |             { | |||
|  |                 List<Model.ChartAnalysisItem> getDataLists = new List<Model.ChartAnalysisItem>(); | |||
|  |                 var getHazardRegister = from x in db.HSSE_Hazard_HazardRegister | |||
|  |                                         where x.ProjectId == projectId | |||
|  |                                         select x; | |||
|  |                 if (!string.IsNullOrEmpty(startDate)) | |||
|  |                 { | |||
|  |                     var sDate = Funs.GetNewDateTime(startDate); | |||
|  |                     getHazardRegister = getHazardRegister.Where(x => x.RegisterDate >= sDate); | |||
|  |                 } | |||
|  |                 if (!string.IsNullOrEmpty(endDate)) | |||
|  |                 { | |||
|  |                     var eDate = Funs.GetNewDateTime(endDate); | |||
|  |                     getHazardRegister = getHazardRegister.Where(x => x.RegisterDate <= eDate); | |||
|  |                 } | |||
|  |                 if (type == "1") | |||
|  |                 { | |||
|  |                     var getUnitlistIds = getHazardRegister.Select(x => x.ResponsibleUnit).Distinct().ToList(); | |||
|  |                     foreach (var unitItem in getUnitlistIds) | |||
|  |                     { | |||
|  |                         var getUnitRegister = getHazardRegister.Where(x => x.ResponsibleUnit == unitItem); | |||
|  |                         Model.ChartAnalysisItem newItem = new Model.ChartAnalysisItem | |||
|  |                         { | |||
|  |                             DataId = unitItem, | |||
|  |                             Type = type, | |||
|  |                             DataName = UnitService.GetUnitCodeByUnitId(unitItem), | |||
|  |                             DataSumCount = getUnitRegister.Count(), | |||
|  |                             DataCount1 = getUnitRegister.Where(x => x.States == "2" || x.States == "3").Count(), | |||
|  |                         }; | |||
|  | 
 | |||
|  |                         getDataLists.Add(newItem); | |||
|  | 
 | |||
|  |                     } | |||
|  |                 } | |||
|  |                 else if (type == "2") | |||
|  |                 { | |||
|  |                     var getRegisterTypesIds = getHazardRegister.Select(x => x.RegisterTypesId).Distinct().ToList(); | |||
|  |                     foreach (var typeItem in getRegisterTypesIds) | |||
|  |                     { | |||
|  |                         var getUnitRegister = getHazardRegister.Where(x => x.RegisterTypesId == typeItem); | |||
|  |                         Model.ChartAnalysisItem newItem = new Model.ChartAnalysisItem | |||
|  |                         { | |||
|  |                             DataId = typeItem, | |||
|  |                             Type = type, | |||
|  |                             DataName = db.HSSE_Hazard_HazardRegisterTypes.First(y => y.RegisterTypesId == typeItem).RegisterTypesName, | |||
|  |                             DataSumCount = getUnitRegister.Count(), | |||
|  |                             DataCount1 = getUnitRegister.Where(x => x.States == "2" || x.States == "3").Count(), | |||
|  |                         }; | |||
|  | 
 | |||
|  |                         getDataLists.Add(newItem); | |||
|  | 
 | |||
|  |                     } | |||
|  |                 } | |||
|  |                 return getDataLists; | |||
|  |             } | |||
|  |         } | |||
|  |         #endregion | |||
|  |     } | |||
|  | } |