| 
									
										
										
										
											2021-04-30 10:28:37 +08:00
										 |  |  |  | using System; | 
					
						
							|  |  |  |  | using System.Collections.Generic; | 
					
						
							|  |  |  |  | using System.Data; | 
					
						
							|  |  |  |  | using System.Linq; | 
					
						
							|  |  |  |  | using BLL; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | namespace FineUIPro.Web.HSSE.HiddenInspection | 
					
						
							|  |  |  |  | { | 
					
						
							|  |  |  |  |     public partial class RiskAnalysisChart : PageBase | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         #region 加载页面 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 加载页面 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="sender"></param> | 
					
						
							|  |  |  |  |         /// <param name="e"></param> | 
					
						
							|  |  |  |  |         protected void Page_Load(object sender, EventArgs e) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             if (!IsPostBack) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |         #endregion | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         #region 统计 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 统计分析 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="sender"></param> | 
					
						
							|  |  |  |  |         /// <param name="e"></param> | 
					
						
							|  |  |  |  |         protected void BtnAnalyse_Click(object sender, EventArgs e) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             this.AnalyseData(); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 统计方法 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         private void AnalyseData() | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             var hazardRegisters = (from x in Funs.DB.HSSE_Hazard_HazardRegister | 
					
						
							|  |  |  |  |                                    where x.ProjectId == this.CurrUser.LoginProjectId | 
					
						
							|  |  |  |  |                                    && x.States != "4" && x.ProblemTypes == "1" | 
					
						
							|  |  |  |  |                                    select x); | 
					
						
							|  |  |  |  |             if (!string.IsNullOrEmpty(this.txtStartRectificationTime.Text.Trim())) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 hazardRegisters = hazardRegisters.Where(x => x.CheckTime >= Funs.GetNewDateTime(this.txtStartRectificationTime.Text.Trim())); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             if (!string.IsNullOrEmpty(this.txtEndRectificationTime.Text.Trim())) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 hazardRegisters = hazardRegisters.Where(x => x.CheckTime <= Funs.GetNewDateTime(this.txtEndRectificationTime.Text.Trim())); | 
					
						
							|  |  |  |  |             }          | 
					
						
							|  |  |  |  |             if (this.rblState.SelectedValue == "0") | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 #region 按单位统计 | 
					
						
							|  |  |  |  |                 if (this.drpChartType.SelectedValue != "Pie")  //非饼形图 | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     ///按单位统计 | 
					
						
							|  |  |  |  |                     DataTable dtTime = new DataTable(); | 
					
						
							|  |  |  |  |                     dtTime.Columns.Add("单位", typeof(string)); | 
					
						
							|  |  |  |  |                     dtTime.Columns.Add("总数量", typeof(string)); | 
					
						
							|  |  |  |  |                     dtTime.Columns.Add("待整改", typeof(string)); | 
					
						
							|  |  |  |  |                     dtTime.Columns.Add("已整改", typeof(string)); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                     var units = BLL.UnitService.GetUnitByProjectIdUnitTypeList(this.CurrUser.LoginProjectId, BLL.Const.ProjectUnitType_2); | 
					
						
							|  |  |  |  |                     foreach (var item in units) | 
					
						
							|  |  |  |  |                     { | 
					
						
							|  |  |  |  |                         DataRow rowTime = dtTime.NewRow(); | 
					
						
							|  |  |  |  |                         Model.SpTDesktopItem newspItem = new Model.SpTDesktopItem(); | 
					
						
							|  |  |  |  |                         rowTime["单位"] = item.UnitName; | 
					
						
							|  |  |  |  |                         var unitHazad = hazardRegisters.Where(x => x.ResponsibleUnit == item.UnitId); | 
					
						
							|  |  |  |  |                         rowTime["总数量"] = unitHazad.Count(); | 
					
						
							|  |  |  |  |                         rowTime["待整改"] = unitHazad.Where(x => x.States == "1" || x.States == null).Count(); | 
					
						
							|  |  |  |  |                         rowTime["已整改"] = unitHazad.Where(x => x.States == "3" || x.States == "2").Count(); | 
					
						
							|  |  |  |  |                         dtTime.Rows.Add(rowTime); | 
					
						
							|  |  |  |  |                     } | 
					
						
							| 
									
										
										
										
											2023-05-22 18:45:58 +08:00
										 |  |  |  |                     this.ChartAccidentTime.CreateChart(BLL.ChartControlService.GetDataSourceChart(dtTime, "单位巡检分析", this.drpChartType.SelectedValue, 1100, 300, this.ckbShow.Checked)); | 
					
						
							| 
									
										
										
										
											2021-04-30 10:28:37 +08:00
										 |  |  |  |                 } | 
					
						
							|  |  |  |  |                 else   //饼形图 | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     DataTable dtTime = new DataTable(); | 
					
						
							|  |  |  |  |                     dtTime.Columns.Add("单位", typeof(string)); | 
					
						
							|  |  |  |  |                     dtTime.Columns.Add("总数量", typeof(string)); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                     var units = BLL.UnitService.GetUnitByProjectIdUnitTypeList(this.CurrUser.LoginProjectId, BLL.Const.ProjectUnitType_2); | 
					
						
							|  |  |  |  |                     foreach (var item in units) | 
					
						
							|  |  |  |  |                     { | 
					
						
							|  |  |  |  |                         DataRow rowTime = dtTime.NewRow(); | 
					
						
							|  |  |  |  |                         Model.SpTDesktopItem newspItem = new Model.SpTDesktopItem(); | 
					
						
							|  |  |  |  |                         rowTime["单位"] = item.UnitName; | 
					
						
							|  |  |  |  |                         var unitHazad = hazardRegisters.Where(x => x.ResponsibleUnit == item.UnitId); | 
					
						
							|  |  |  |  |                         rowTime["总数量"] = unitHazad.Count(); | 
					
						
							|  |  |  |  |                         dtTime.Rows.Add(rowTime); | 
					
						
							|  |  |  |  |                     } | 
					
						
							|  |  |  |  |                     this.ChartAccidentTime.CreateChart(BLL.ChartControlService.GetDataSourceChart(dtTime, "单位巡检分析", this.drpChartType.SelectedValue, 1130, 450, this.ckbShow.Checked)); | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |                 #endregion | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             else | 
					
						
							|  |  |  |  |             { | 
					
						
							| 
									
										
										
										
											2025-04-24 15:42:13 +08:00
										 |  |  |  |                 #region 按隐患类型 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                 var types = from x in Funs.DB.Sys_Const where x.GroupId == "Hiddendangertype" orderby x.SortIndex select x; | 
					
						
							| 
									
										
										
										
											2021-04-30 10:28:37 +08:00
										 |  |  |  |                 if (this.drpChartType.SelectedValue != "Pie")  //非饼形图 | 
					
						
							|  |  |  |  |                 { | 
					
						
							| 
									
										
										
										
											2025-04-24 15:42:13 +08:00
										 |  |  |  |                     ///按隐患类型 | 
					
						
							| 
									
										
										
										
											2021-04-30 10:28:37 +08:00
										 |  |  |  |                     DataTable dtTime = new DataTable(); | 
					
						
							| 
									
										
										
										
											2025-04-24 15:42:13 +08:00
										 |  |  |  |                     dtTime.Columns.Add("隐患类型", typeof(string)); | 
					
						
							| 
									
										
										
										
											2021-04-30 10:28:37 +08:00
										 |  |  |  |                     dtTime.Columns.Add("总数量", typeof(string)); | 
					
						
							|  |  |  |  |                     dtTime.Columns.Add("待整改", typeof(string)); | 
					
						
							|  |  |  |  |                     dtTime.Columns.Add("已整改", typeof(string)); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                     foreach (var item in types) | 
					
						
							|  |  |  |  |                     { | 
					
						
							|  |  |  |  |                         DataRow rowTime = dtTime.NewRow(); | 
					
						
							|  |  |  |  |                         Model.SpTDesktopItem newspItem = new Model.SpTDesktopItem(); | 
					
						
							| 
									
										
										
										
											2025-04-24 15:42:13 +08:00
										 |  |  |  |                         rowTime["隐患类型"] = item.ConstValue; | 
					
						
							|  |  |  |  |                         var typeHazad = hazardRegisters.Where(x => x.HiddenType == item.ConstValue); | 
					
						
							| 
									
										
										
										
											2021-04-30 10:28:37 +08:00
										 |  |  |  |                         rowTime["总数量"] = typeHazad.Count(); | 
					
						
							|  |  |  |  |                         rowTime["待整改"] = typeHazad.Where(x => x.States == "1" || x.States == null).Count(); | 
					
						
							|  |  |  |  |                         rowTime["已整改"] = typeHazad.Where(x => x.States == "3" || x.States == "2").Count(); | 
					
						
							|  |  |  |  |                         dtTime.Rows.Add(rowTime); | 
					
						
							|  |  |  |  |                     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                     this.ChartAccidentTime.CreateChart(BLL.ChartControlService.GetDataSourceChart(dtTime, "巡检问题分析", this.drpChartType.SelectedValue, 1100, 330, this.ckbShow.Checked)); | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |                 else   //饼形图 | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     ///按问题类型 | 
					
						
							|  |  |  |  |                     DataTable dtTime = new DataTable(); | 
					
						
							| 
									
										
										
										
											2025-04-24 15:42:13 +08:00
										 |  |  |  |                     dtTime.Columns.Add("隐患类型", typeof(string)); | 
					
						
							| 
									
										
										
										
											2021-04-30 10:28:37 +08:00
										 |  |  |  |                     dtTime.Columns.Add("总数量", typeof(string)); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                     foreach (var item in types) | 
					
						
							|  |  |  |  |                     { | 
					
						
							|  |  |  |  |                         DataRow rowTime = dtTime.NewRow(); | 
					
						
							|  |  |  |  |                         Model.SpTDesktopItem newspItem = new Model.SpTDesktopItem(); | 
					
						
							| 
									
										
										
										
											2025-04-24 15:42:13 +08:00
										 |  |  |  |                         rowTime["隐患类型"] = item.ConstValue; | 
					
						
							|  |  |  |  |                         var typeHazad = hazardRegisters.Where(x => x.HiddenType == item.ConstValue); | 
					
						
							| 
									
										
										
										
											2021-04-30 10:28:37 +08:00
										 |  |  |  |                         rowTime["总数量"] = typeHazad.Count(); | 
					
						
							|  |  |  |  |                         dtTime.Rows.Add(rowTime); | 
					
						
							|  |  |  |  |                     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                     this.ChartAccidentTime.CreateChart(BLL.ChartControlService.GetDataSourceChart(dtTime, "巡检问题分析", this.drpChartType.SelectedValue, 1100, 330, this.ckbShow.Checked)); | 
					
						
							|  |  |  |  |                 } | 
					
						
							| 
									
										
										
										
											2025-04-24 15:42:13 +08:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |                 #endregion | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                 #region 按检查项 | 
					
						
							|  |  |  |  |                 //if (this.drpChartType.SelectedValue != "Pie")  //非饼形图 | 
					
						
							|  |  |  |  |                 //{ | 
					
						
							|  |  |  |  |                 //    ///按检查项 | 
					
						
							|  |  |  |  |                 //    DataTable dtTime = new DataTable(); | 
					
						
							|  |  |  |  |                 //    dtTime.Columns.Add("检查项", typeof(string)); | 
					
						
							|  |  |  |  |                 //    dtTime.Columns.Add("总数量", typeof(string)); | 
					
						
							|  |  |  |  |                 //    dtTime.Columns.Add("待整改", typeof(string)); | 
					
						
							|  |  |  |  |                 //    dtTime.Columns.Add("已整改", typeof(string)); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                 //    var types = from x in Funs.DB.HSSE_Hazard_HazardRegisterTypes where x.HazardRegisterType == "1" orderby x.TypeCode select x; | 
					
						
							|  |  |  |  |                 //    foreach (var item in types) | 
					
						
							|  |  |  |  |                 //    { | 
					
						
							|  |  |  |  |                 //        DataRow rowTime = dtTime.NewRow(); | 
					
						
							|  |  |  |  |                 //        Model.SpTDesktopItem newspItem = new Model.SpTDesktopItem(); | 
					
						
							|  |  |  |  |                 //        rowTime["检查项"] = item.RegisterTypesName; | 
					
						
							|  |  |  |  |                 //        var typeHazad = hazardRegisters.Where(x => x.RegisterTypesId == item.RegisterTypesId); | 
					
						
							|  |  |  |  |                 //        rowTime["总数量"] = typeHazad.Count(); | 
					
						
							|  |  |  |  |                 //        rowTime["待整改"] = typeHazad.Where(x => x.States == "1" || x.States == null).Count(); | 
					
						
							|  |  |  |  |                 //        rowTime["已整改"] = typeHazad.Where(x => x.States == "3" || x.States == "2").Count(); | 
					
						
							|  |  |  |  |                 //        dtTime.Rows.Add(rowTime); | 
					
						
							|  |  |  |  |                 //    } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                 //    this.ChartAccidentTime.CreateChart(BLL.ChartControlService.GetDataSourceChart(dtTime, "巡检问题分析", this.drpChartType.SelectedValue, 1100, 330, this.ckbShow.Checked)); | 
					
						
							|  |  |  |  |                 //} | 
					
						
							|  |  |  |  |                 //else   //饼形图 | 
					
						
							|  |  |  |  |                 //{ | 
					
						
							|  |  |  |  |                 //    ///按问题类型 | 
					
						
							|  |  |  |  |                 //    DataTable dtTime = new DataTable(); | 
					
						
							|  |  |  |  |                 //    dtTime.Columns.Add("检查项", typeof(string)); | 
					
						
							|  |  |  |  |                 //    dtTime.Columns.Add("总数量", typeof(string)); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                 //    var types = from x in Funs.DB.HSSE_Hazard_HazardRegisterTypes where x.HazardRegisterType == "1" orderby x.TypeCode select x; | 
					
						
							|  |  |  |  |                 //    foreach (var item in types) | 
					
						
							|  |  |  |  |                 //    { | 
					
						
							|  |  |  |  |                 //        DataRow rowTime = dtTime.NewRow(); | 
					
						
							|  |  |  |  |                 //        Model.SpTDesktopItem newspItem = new Model.SpTDesktopItem(); | 
					
						
							|  |  |  |  |                 //        rowTime["检查项"] = item.RegisterTypesName; | 
					
						
							|  |  |  |  |                 //        var typeHazad = hazardRegisters.Where(x => x.RegisterTypesId == item.RegisterTypesId); | 
					
						
							|  |  |  |  |                 //        rowTime["总数量"] = typeHazad.Count(); | 
					
						
							|  |  |  |  |                 //        dtTime.Rows.Add(rowTime); | 
					
						
							|  |  |  |  |                 //    } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                 //    this.ChartAccidentTime.CreateChart(BLL.ChartControlService.GetDataSourceChart(dtTime, "巡检问题分析", this.drpChartType.SelectedValue, 1100, 330, this.ckbShow.Checked)); | 
					
						
							|  |  |  |  |                 //} | 
					
						
							| 
									
										
										
										
											2021-04-30 10:28:37 +08:00
										 |  |  |  |                 #endregion | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |         #endregion | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         #region 图形 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 图形变换  | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="sender"></param> | 
					
						
							|  |  |  |  |         /// <param name="e"></param> | 
					
						
							|  |  |  |  |         protected void drpChartType_SelectedIndexChanged(object sender, EventArgs e) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             this.AnalyseData(); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         protected void ckbShow_CheckedChanged(object sender, CheckedEventArgs e) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             this.AnalyseData(); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |         #endregion | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | } |