CNCEC_SUBQHSE_WUHUAN/SGGL/FineUIPro.Web/HSSE/InformationAnalysis/CheckAnalysis.aspx.cs

163 lines
6.2 KiB
C#

using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using BLL;
namespace FineUIPro.Web.HSSE.InformationAnalysis
{
public partial class CheckAnalysis : PageBase
{
#region
/// <summary>
/// 项目主键
/// </summary>
public string ProjectId
{
get
{
return (string)ViewState["ProjectId"];
}
set
{
ViewState["ProjectId"] = value;
}
}
#endregion
#region
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.ProjectId = this.CurrUser.LoginProjectId;
if (!string.IsNullOrEmpty(Request.Params["projectId"]))
{
this.ProjectId = Request.Params["projectId"];
}
BLL.ConstValue.InitConstValueDropDownList(this.drpChartType, ConstValue.Group_ChartType, false);
this.AnalyseData();
}
}
#endregion
#region
/// <summary>
/// 统计方法
/// </summary>
private void AnalyseData()
{
///按单位统计
DataTable dtCheck = new DataTable();
dtCheck.Columns.Add("检查类型", typeof(string));
dtCheck.Columns.Add("数量", typeof(string));
//List<Model.SpResourceCollection> newCheckAnalyseView = new List<Model.SpResourceCollection>();
//var checkAnalyseView = from x in Funs.DB.View_CheckAnalysis
// where x.ProjectId == this.ProjectId
// select x;
//if (!string.IsNullOrEmpty(this.txtStarTime.Text))
//{
// checkAnalyseView = checkAnalyseView.Where(x => x.CheckTime >= Funs.GetNewDateTime(this.txtStarTime.Text));
//}
//if (!string.IsNullOrEmpty(this.txtEndTime.Text))
//{
// checkAnalyseView = checkAnalyseView.Where(x => x.CheckTime <= Funs.GetNewDateTime(this.txtEndTime.Text));
//}
//if (checkAnalyseView.Count() > 0)
//{
// foreach (var item in checkAnalyseView)
// {
// Model.SpResourceCollection view = new Model.SpResourceCollection
// {
// UnitName = BLL.Check_ProjectCheckItemSetService.ConvertCheckItemType(item.CheckItem),
// TotalCount = 1
// };
// newCheckAnalyseView.Add(view);
// }
//}
//var checkType = newCheckAnalyseView.Select(x => x.UnitName).Distinct();
string[] TypeArray = { "HSE巡检", "专项检查", "综合检查", "开工前检查", "季节性/节假日前检查" };
#region
var count1 = Funs.DB.View_Hazard_HazardRegister.Where(x => x.ProjectId == this.ProjectId).ToList().Count();
var count2 = (from x in Funs.DB.Check_CheckSpecialDetail
join y in Funs.DB.Check_CheckSpecial on x.CheckSpecialId equals y.CheckSpecialId
select x).ToList().Count();
var count3 = (from x in Funs.DB.Check_CheckColligationDetail
join y in Funs.DB.Check_CheckColligation on x.CheckColligationId equals y.CheckColligationId
where y.ProjectId == this.ProjectId
select x).ToList().Count();
var count4 = (from x in Funs.DB.Check_CheckWorkDetail
join y in Funs.DB.Check_CheckWork on x.CheckWorkId equals y.CheckWorkId
where y.ProjectId == this.ProjectId
select x).ToList().Count;
var count5 = (from x in Funs.DB.Check_CheckHolidayDetail
join y in Funs.DB.Check_CheckHoliday on x.CheckHolidayId equals y.CheckHolidayId
select x).ToList().Count();
List<CheckAnalysisModel> list = new List<CheckAnalysisModel>();
list.Add(new CheckAnalysisModel() { itemType = TypeArray[0], count = count1 });
list.Add(new CheckAnalysisModel() { itemType = TypeArray[1], count = count2 });
list.Add(new CheckAnalysisModel() { itemType = TypeArray[2], count = count3 });
list.Add(new CheckAnalysisModel() { itemType = TypeArray[3], count = count4 });
list.Add(new CheckAnalysisModel() { itemType = TypeArray[4], count = count5 });
#endregion
foreach (var itemType in list)
{
DataRow rowUnit = dtCheck.NewRow();
rowUnit["检查类型"] = itemType.itemType;
rowUnit["数量"] = itemType.count;
dtCheck.Rows.Add(rowUnit);
}
this.gvCheck.DataSource = dtCheck;
this.gvCheck.DataBind();
this.ChartCostTime.CreateChart(BLL.ChartControlService.GetDataSourceChart(dtCheck, "危险因素分析", this.drpChartType.SelectedValue, 1150, 450, this.ckbShow.Checked));
}
public class CheckAnalysisModel {
public string itemType { get; set; }
public int count { get; set; }
}
#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();
}
/// <summary>
/// 统计分析
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void BtnAnalyse_Click(object sender, EventArgs e)
{
this.AnalyseData();
}
#endregion
}
}