198 lines
7.5 KiB
C#
198 lines
7.5 KiB
C#
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 绑定数据
|
|
/// <summary>
|
|
/// 绑定数据
|
|
/// </summary>
|
|
private void BindGridNew()
|
|
{
|
|
string strSql = @"select ProjectId,ProjectCode, ProjectName from Base_Project where ProjectState =1 and (isDelete IS NULL OR isDelete =0)";
|
|
List<SqlParameter> listStr = new List<SqlParameter>();
|
|
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();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 绑定数据
|
|
/// </summary>
|
|
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<Model.Project_HSSEData_HSSE> list = new List<Model.Project_HSSEData_HSSE>();
|
|
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<Model.Project_HSSEData_HSSE> list = new List<Model.Project_HSSEData_HSSE>();
|
|
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 加载风险数量
|
|
/// <summary>
|
|
/// 定义变量
|
|
/// </summary>
|
|
private static IQueryable<Model.Hazard_HazardSelectedItem> getDataItemLists = from x in Funs.DB.Hazard_HazardSelectedItem
|
|
where (x.IsStart == true || x.State == "1")
|
|
select x;
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <param name="projectId"></param>
|
|
/// <param name="level"></param>
|
|
/// <returns></returns>
|
|
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;
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
/// 总工时数
|
|
/// </summary>
|
|
/// <param name="state"></param>
|
|
/// <returns></returns>
|
|
protected int Count1(object projectId)
|
|
{
|
|
int cout1 = 0;
|
|
if (projectId != null)
|
|
{
|
|
cout1 = getcount(projectId.ToString(), 1);
|
|
}
|
|
return cout1;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 损失工时数
|
|
/// </summary>
|
|
/// <param name="state"></param>
|
|
/// <returns></returns>
|
|
protected int Count2(object projectId)
|
|
{
|
|
int cout1 = 0;
|
|
if (projectId != null)
|
|
{
|
|
cout1 = getcount(projectId.ToString(), 2);
|
|
}
|
|
return cout1;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 安全工时数
|
|
/// </summary>
|
|
/// <param name="state"></param>
|
|
/// <returns></returns>
|
|
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
|
|
}
|
|
} |