using BLL; using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; namespace FineUIPro.Web.DataShow { public partial class ProjectPerson : 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) { Funs.DropDownPageSize(this.ddlPageSize); ddlPageSize.SelectedValue = Grid1.PageSize.ToString(); // BLL.ProjectService.InitProjectDropDownList(this.drpProject, true); // 绑定表格t BindGrid(); this.Panel1.Title = "项目现场人员(" + BLL.UnitService.GetUnitNameByUnitId(BLL.CommonService.GetThisUnitId()) + ")"; } } protected void changeTree(object sender, EventArgs e) { this.ProjectId = this.ucTree.ProjectId; this.BindGrid(); } /// /// 绑定数据 /// private void BindGrid1() { string strSql = @"SELECT Person.ProjectId,Project.ProjectCode,Project.ProjectName,Unit.UnitId,Unit.UnitId,Unit.UnitName, Person.PersonName,Person.PersonId,Person.IdentityCard,Person.Sex,Person.WorkPostId,WorkPost.WorkPostName,Person.Telephone ,(CASE WHEN Sex=2 THEN '女' WHEN Sex=1 THEN '男' ELSE '' END) AS SexStr FROM SitePerson_Person AS Person LEFT JOIN Base_Project AS Project ON Person.ProjectId =Project.ProjectId LEFT JOIN Base_Unit AS Unit ON Person.UnitId =Unit.UnitId LEFT JOIN Base_WorkPost AS WorkPost ON Person.WorkPostId =WorkPost.WorkPostId WHERE IsUsed=1 and Project.ProjectState =1 and (Project.isDelete IS NULL OR Project.isDelete =0)"; List listStr = new List(); /*if (this.drpProject.SelectedValue !=Const._Null) { strSql += " AND Person.ProjectId = @ProjectId"; listStr.Add(new SqlParameter("@ProjectId", this.drpProject.SelectedValue)); }*/ if (rbType.SelectedValue == "0") { strSql += " AND Person.WorkPostId = @WorkPostId"; listStr.Add(new SqlParameter("@WorkPostId", Const.WorkPost_ProjectHSSEDirector)); } else if (rbType.SelectedValue == "1") { strSql += " AND WorkPost.IsHsse = 1"; } else if (rbType.SelectedValue == "2") { strSql += " AND Person.IsSafetyMonitoring = 1"; } else if (rbType.SelectedValue == "3") { strSql += " AND (SELECT COUNT(*) FROM QualityAudit_PersonQuality AS Q LEFT JOIN Base_Certificate AS Cer ON Q.CertificateId =Cer.CertificateId WHERE Q.PersonId = Person.PersonId AND IsRegisterHSSE =1) > 0"; } else if (rbType.SelectedValue == "4") { strSql += " AND (SELECT COUNT(*) FROM QualityAudit_PersonQuality AS Q LEFT JOIN Base_Certificate AS Cer ON Q.CertificateId =Cer.CertificateId WHERE Q.PersonId = Person.PersonId AND CertificateType ='A') > 0"; } else if (rbType.SelectedValue == "5") { strSql += " AND (SELECT COUNT(*) FROM QualityAudit_PersonQuality AS Q LEFT JOIN Base_Certificate AS Cer ON Q.CertificateId =Cer.CertificateId WHERE Q.PersonId = Person.PersonId AND CertificateType ='B') > 0"; } else if (rbType.SelectedValue == "6") { strSql += " AND (SELECT COUNT(*) FROM QualityAudit_PersonQuality AS Q LEFT JOIN Base_Certificate AS Cer ON Q.CertificateId =Cer.CertificateId WHERE Q.PersonId = Person.PersonId AND CertificateType ='C') > 0"; } 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() { var model = new List(); if (rbType.SelectedValue == "0") { model = HSSEData_HSSEService.GetProjectInspectorGeneral(); } else if (rbType.SelectedValue == "1") { model = HSSEData_HSSEService.GetProjectFullTime(); } else if (rbType.SelectedValue == "2") { model = HSSEData_HSSEService.GetProjectSafetyMonitor(); } else if (rbType.SelectedValue == "3") { model = HSSEData_HSSEService.GetSafetyInjectionEngineer(); } else if (rbType.SelectedValue == "4") { model = HSSEData_HSSEService.GetCertificateA(); } else if (rbType.SelectedValue == "5") { model = HSSEData_HSSEService.GetCertificateB(); } else if (rbType.SelectedValue == "6") { model = HSSEData_HSSEService.GetCertificateC(); } //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 = model.OrderBy(x=>x.ProjectId).ThenBy(x=>x.UnitName); Grid1.DataBind(); } #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("../HSSE/SitePerson/PersonListEdit.aspx?PersonId={0}&type=-1", Grid1.SelectedRowID, "查看 - "))); } #endregion protected void btnView_Click(object sender, EventArgs e) { EditData(); } } }