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 定义项 /// /// 项目主键 /// public string ProjectId { get { return (string)ViewState["ProjectId"]; } set { ViewState["ProjectId"] = value; } } #endregion #region 加载页面 /// /// 加载页面 /// /// /// 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 统计 /// /// 统计方法 /// private void AnalyseData() { ///按单位统计 DataTable dtCheck = new DataTable(); dtCheck.Columns.Add("检查类型", typeof(string)); dtCheck.Columns.Add("数量", typeof(string)); //List newCheckAnalyseView = new List(); //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 list = new List(); 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 统计查询 /// /// 图形变换 /// /// /// protected void drpChartType_SelectedIndexChanged(object sender, EventArgs e) { this.AnalyseData(); } protected void ckbShow_CheckedChanged(object sender, CheckedEventArgs e) { this.AnalyseData(); } /// /// 统计分析 /// /// /// protected void BtnAnalyse_Click(object sender, EventArgs e) { this.AnalyseData(); } #endregion } }