using BLL; using FineUIPro.Web.BaseInfo; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; namespace FineUIPro.Web.DataShow { public partial class SecurityRisk : PageBase { #region 项目主键 /// /// 项目主键 /// public string ProjectId { get { return (string)ViewState["ProjectId"]; } set { ViewState["ProjectId"] = value; } } #endregion private List model = new List(); #region 加载页面 /// /// 加载页面 /// /// /// protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { Funs.DropDownPageSize(this.ddlPageSize); ddlPageSize.SelectedValue = Grid1.PageSize.ToString(); // BLL.ProjectService.InitProjectDropDownList(this.drpProject, true); // 绑定表格t BindGrid(); // 合计 OutputSummaryData(); this.Panel1.Title = "安全风险数据(" + BLL.UnitService.GetUnitNameByUnitId(BLL.CommonService.GetThisUnitId()) + ")"; } } #endregion #region 加载页面 /// /// 绑定数据 /// //private void BindGrid2() //{ // //string strSql = @"select ProjectId,ProjectCode, ProjectName from Base_Project where ProjectState =1 and (isDelete IS NULL OR isDelete =0)"; // string strSql = @"select ProjectId,ProjectCode, ProjectName , // isnull((select count(*) from Hazard_HazardSelectedItem as a // where (a.IsStart=1 or a.State = '1') and a.ProjectId=p.ProjectId // and (a.HazardLevel='1' or a.HazardLevel=(select top 1 RiskLevelId from Base_RiskLevel where RiskLevel='1'))),0) as Count1, // isnull((select count(*) from Hazard_HazardSelectedItem as a where (a.IsStart=1 or a.State = '1') and a.ProjectId=p.ProjectId // and (a.HazardLevel='2' or a.HazardLevel=(select top 1 RiskLevelId from Base_RiskLevel where RiskLevel='2'))),0) as Count2, // isnull((select count(*) from Hazard_HazardSelectedItem as a where (a.IsStart=1 or a.State = '1') and a.ProjectId=p.ProjectId // and (a.HazardLevel='3' or a.HazardLevel=(select top 1 RiskLevelId from Base_RiskLevel where RiskLevel='3'))),0) as Count3, // isnull((select count(*) from Hazard_HazardSelectedItem as a where (a.IsStart=1 or a.State = '1') and a.ProjectId=p.ProjectId // and (a.HazardLevel='4' or a.HazardLevel=(select top 1 RiskLevelId from Base_RiskLevel where RiskLevel='4'))),0) as Count4 // from Base_Project as P where ProjectState =1 and (isDelete IS NULL OR isDelete =0)"; // List listStr = new List(); // string cpara = string.Empty; // if (this.drpProject.SelectedValue != Const._Null) // { // strSql += " AND projectId = @projectId"; ///状态为已完成 // listStr.Add(new SqlParameter("@projectId", this.drpProject.SelectedValue)); // } // //if (!string.IsNullOrEmpty(this.txtStartTime.Text)) // //{ // // strSql += " AND h.RegisterDate >=@StartTime"; // // listStr.Add(new SqlParameter("@StartTime", this.txtStartTime.Text)); // // cpara += " AND c.RegisterDate >=" + this.txtStartTime.Text; // //} // //if (!string.IsNullOrEmpty(this.txtEndTime.Text)) // //{ // // strSql += " AND h.RegisterDate <=@EndTime"; // // listStr.Add(new SqlParameter("@EndTime", this.txtEndTime.Text)); // // cpara += " AND c.RegisterDate <=" + this.txtEndTime.Text; // //} // 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 = HSSEData_HSSEService.GetSecurityRiskOutputs(); //if (this.drpProject.SelectedValue != Const._Null) //{ // model = model.Where(x => x.ProjectId == this.drpProject.SelectedValue).ToList(); //} if (!string.IsNullOrEmpty(this.ucTree.SelectedNodeID)) { if (!string.IsNullOrEmpty(this.ucTree.ProjectId)) { model = model.Where(x => x.ProjectId == this.ucTree.ProjectId).ToList(); } else { var BeUnderConstructionList = ProjectService.GetProjectWorkList().Where(x => (x.ProjectAttribute == "GONGCHENG" || x.ProjectAttribute == null) && x.UnitId == this.ucTree.UnitId).Select(x => x.ProjectId).ToList(); model = model.Where(x => BeUnderConstructionList.Contains(x.ProjectId)).ToList(); } } Grid1.RecordCount = model.Count; Grid1.DataSource = this.GetPagedDataTable(Grid1, Funs.LINQToDataTable(model.OrderBy(x => x.ProjectId).ThenBy(x => x.UnitName))); Grid1.DataBind(); } protected void changeTree(object sender, EventArgs e) { this.ProjectId = this.ucTree.ProjectId; this.BindGrid(); } #endregion #region 查询 /// /// 查询 /// /// /// protected void TextBox_TextChanged(object sender, EventArgs e) { this.BindGrid(); } #endregion #region 表排序、分页、关闭窗口 /// /// 分页 /// /// /// protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e) { BindGrid(); } /// /// 排序 /// /// /// protected void Grid1_Sort(object sender, GridSortEventArgs e) { BindGrid(); } /// /// 分页显示条数下拉框 /// /// /// protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e) { Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue); BindGrid(); } /// /// 关闭弹出窗 /// /// /// protected void Window1_Close(object sender, WindowCloseEventArgs e) { BindGrid(); } #endregion #region Grid双击事件 编辑 /// /// Grid行双击事件 /// /// /// protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e) { EditData(); } /// /// /// private void EditData() { if (Grid1.SelectedRowIndexArray.Length == 0) { Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning); return; } PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("SecurityRiskItem.aspx?projectId={0}", Grid1.SelectedRowID, "查看 - "))); } #endregion /// /// /// /// /// protected void btnView_Click(object sender, EventArgs e) { EditData(); } /// /// 总工时数 /// /// /// 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; } /// /// 定义变量 /// 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) { string levels = getlevel.RiskLevel.ToString(); count = getDataItemLists.Where(x => x.ProjectId == projectId && (x.HazardLevel == getlevel.RiskLevelId || x.HazardLevel == levels)).Count(); } return count; } #region 合计 private void OutputSummaryData() { JObject summary = new JObject(); summary.Add("ProjectName", "合计:"); summary.Add("LowRiskNum", model.Sum(x=>x.LowRiskNum)); summary.Add("GeneralRiskNum", model.Sum(x=>x.GeneralRiskNum)); summary.Add("MediumRiskNum", model.Sum(x=>x.MediumRiskNum)); summary.Add("HighRiskNum", model.Sum(x => x.HighRiskNum)); Grid1.SummaryData = summary; } #endregion } }