using BLL; using Newtonsoft.Json.Linq; using System; using System.Collections; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; using System.Web.UI.WebControls; namespace FineUIPro.Web.ProjectData.DataAnalysis { public partial class HSSERisk : PageBase { protected void Page_Load(object sender, EventArgs e) { // 绑定表格 this.BindGridNew(); } #region 绑定数据 /// /// 绑定数据 /// private void BindGridNew() { string strSql = @"select ProjectId,ProjectCode, ProjectName from Base_Project where ProjectState =1 and (isDelete IS NULL OR isDelete =0)"; List listStr = new List(); string cpara = string.Empty; SqlParameter[] parameter = listStr.ToArray(); DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); Grid1.RecordCount = tb.Rows.Count; var table = this.GetPagedDataTable(Grid1, tb); Grid1.DataSource = table; Grid1.DataBind(); } /// /// 绑定数据 /// private void BindGrid() { Model.SUBQHSEDB db = Funs.DB; var thisUnit = BLL.CommonService.GetIsThisUnit(); if (!string.IsNullOrEmpty(this.CurrUser.UnitId) && thisUnit.UnitId != this.CurrUser.UnitId) { var projects = from x in db.Base_Project where (x.ProjectState == "1" || x.ProjectState == null) && x.UnitId == this.CurrUser.UnitId && (x.IsDelete == null || x.IsDelete == false) select x; List list = new List(); foreach (var project in projects) { Model.Project_HSSEData_HSSE project_HSSEData_HSSE = new Model.Project_HSSEData_HSSE(); var item = BLL.Project_HSSEData_HSSEService.GetProject_HSSEData_HSSEByProjectid(project.ProjectId); var risk = item.OrderByDescending(x => x.ReportDate).FirstOrDefault(x => x.ProjectId == project.ProjectId); project_HSSEData_HSSE.Id = SQLHelper.GetNewID(); project_HSSEData_HSSE.ProjectId = project.ProjectName; if (risk != null) { if (risk.ReportDate != null) { project_HSSEData_HSSE.ReportDate = risk.ReportDate; } project_HSSEData_HSSE.GeneralRiskNum = risk.GeneralRiskNum ?? 0; project_HSSEData_HSSE.LowRiskNum = risk.LowRiskNum ?? 0; project_HSSEData_HSSE.MediumRiskNum = risk.MediumRiskNum ?? 0; project_HSSEData_HSSE.HighRiskNum = risk.HighRiskNum ?? 0; } list.Add(project_HSSEData_HSSE); } var tb = Funs.LINQToDataTable(list); Grid1.RecordCount = tb.Rows.Count; Grid1.DataSource = tb; Grid1.DataBind(); } else { var projects = from x in db.Base_Project where (x.ProjectState == "1" || x.ProjectState == null) && (x.IsDelete == null || x.IsDelete == false) select x; List list = new List(); foreach (var project in projects) { Model.Project_HSSEData_HSSE project_HSSEData_HSSE = new Model.Project_HSSEData_HSSE(); var item = BLL.Project_HSSEData_HSSEService.GetProject_HSSEData_HSSEByProjectid(project.ProjectId); var risk = item.OrderByDescending(x => x.ReportDate).FirstOrDefault(x => x.ProjectId == project.ProjectId); project_HSSEData_HSSE.Id = SQLHelper.GetNewID(); project_HSSEData_HSSE.ProjectId = project.ProjectName; if (risk != null) { if (risk.ReportDate != null) { project_HSSEData_HSSE.ReportDate = risk.ReportDate; } project_HSSEData_HSSE.GeneralRiskNum = risk.GeneralRiskNum ?? 0; project_HSSEData_HSSE.LowRiskNum = risk.LowRiskNum ?? 0; project_HSSEData_HSSE.MediumRiskNum = risk.MediumRiskNum ?? 0; project_HSSEData_HSSE.HighRiskNum = risk.HighRiskNum ?? 0; } list.Add(project_HSSEData_HSSE); } var tb = Funs.LINQToDataTable(list); Grid1.RecordCount = tb.Rows.Count; Grid1.DataSource = tb; Grid1.DataBind(); } } #endregion #region 加载风险数量 /// /// 定义变量 /// private static IQueryable getDataItemLists = from x in Funs.DB.Hazard_HazardSelectedItem where (x.IsStart == true || x.State == "1") select x; /// /// /// /// /// /// private int getcount(string projectId, int level) { int count = 0; var getlevel = Funs.DB.Base_RiskLevel.FirstOrDefault(x => x.RiskLevel == level); if (getlevel != null) { count = getDataItemLists.Where(x => x.ProjectId == projectId && x.HazardLevel == getlevel.RiskLevelId).Count(); } return count; } /// /// 总工时数 /// /// /// protected int Count1(object projectId) { int cout1 = 0; if (projectId != null) { cout1 = getcount(projectId.ToString(), 1); } return cout1; } /// /// 损失工时数 /// /// /// protected int Count2(object projectId) { int cout1 = 0; if (projectId != null) { cout1 = getcount(projectId.ToString(), 2); } return cout1; } /// /// 安全工时数 /// /// /// protected int Count3(object projectId) { int cout1 = 0; if (projectId != null) { cout1 = getcount(projectId.ToString(), 3); } return cout1; } protected int Count4(object projectId) { int cout1 = 0; if (projectId != null) { cout1 = getcount(projectId.ToString(), 4); } return cout1; } #endregion } }