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();
}
}
}