SGGL_JT/SUBQHSE/FineUIPro.Web/ProjectData/DataAnalysis/HSSERisk.aspx.cs

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
}
}