Files
xinjiang/SGGL/FineUIPro.Web/DataShow/CheckProblemSafety.aspx.cs
T

297 lines
11 KiB
C#
Raw Normal View History

2026-10-09 15:10:28 +08:00
using BLL;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Text;
namespace FineUIPro.Web.DataShow
{
public partial class CheckProblemSafety : PageBase
{
/// <summary>
/// 单位id
/// </summary>
public string UnitId
{
get
{
return (string)ViewState["UnitId"];
}
set
{
ViewState["UnitId"] = value;
}
}
/// <summary>
/// 项目id
/// </summary>
public string ProjectId
{
get
{
return (string)ViewState["ProjectId"];
}
set
{
ViewState["ProjectId"] = value;
}
}
#region 加载页面
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
InitDropDownList();
this.UnitId = this.CurrUser.UnitId;
if (CommonService.IsSuperAdminManage(this.CurrUser.UserId) || (!string.IsNullOrWhiteSpace(this.UnitId) && this.UnitId == Const.UnitId_XJYJ))
{
this.drpUnit.Hidden = false;
this.UnitId = this.CurrUser.LastUnitId;
}
if (!string.IsNullOrWhiteSpace(this.UnitId))
{
this.drpUnit.SelectedValue = this.UnitId;
}
Funs.DropDownPageSize(this.ddlPageSize);
this.ProjectId = this.CurrUser.LoginProjectId;
if (!string.IsNullOrEmpty(Request.Params["projectId"]) && Request.Params["projectId"] != this.CurrUser.LoginProjectId)
{
this.ProjectId = Request.Params["projectId"];
}
if (!string.IsNullOrWhiteSpace(this.ProjectId))
{
this.drpUnit.Hidden = true;
}
//Funs.FineUIPleaseSelect(this.dpState);
ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
// 绑定表格
BindGrid();
this.Panel1.Title = "安全危害因素";
}
}
/// <summary>
/// 初始化下拉框
/// </summary>
private void InitDropDownList()
{
BLL.UnitService.InitBranchUnitDropDownList(this.drpUnit, true, true);
////受检单位
//UnitService.InitBranchUnitDropDownList(this.drpUnit, true);
////受检项目
//ProjectService.InitProjectDropDownList(this.drpProject, true);
//问题分类
SafetyProblemClassifyService.InitClassifyDropDownList(this.drpClassify, true);
//问题性质
SafetyProblemNatureService.InitNatureDropDownList(this.drpNature, true);
}
/// <summary>
/// 绑定数据
/// </summary>
private void BindGrid()
{
StringBuilder sb = new StringBuilder();
List<SqlParameter> listStr = new List<SqlParameter>();
sb.Append("SELECT spc.ClassifyName,s1.ClassifyItemName AS S1Name,s2.ClassifyItemName AS S2Name,spn.NatureName,n1.NatureItemContent AS N1Content,n2.NatureItemContent AS N2Content,n3.NatureItemContent AS N3Content,tba.* ");
sb.Append("FROM CheckProblem_Safety AS tba WITH(NOLOCK) ");
sb.Append("LEFT JOIN Base_SafetyProblemClassify AS spc ON spc.ClassifyId=tba.ClassifyId ");
sb.Append($"LEFT JOIN Base_SafetyProblemClassifyItem AS s1 ON s1.ClassifyItemId=tba.ClassifyItemId and s1.ClassifyId='{Const.SafetyClassifyIdS1}' ");
sb.Append($"LEFT JOIN Base_SafetyProblemClassifyItem AS s2 ON s2.ClassifyItemId=tba.ClassifyItemId and s2.ClassifyId='{Const.SafetyClassifyIdS2}' ");
sb.Append("LEFT JOIN Base_SafetyProblemNature AS spn ON spn.NatureId=tba.NatureId ");
sb.Append($"LEFT JOIN Base_SafetyProblemNatureItem AS n1 ON n1.NatureItemId=tba.NatureItemId and n1.NatureId='{Const.SafetyNatureIdN1}' ");
sb.Append($"LEFT JOIN Base_SafetyProblemNatureItem AS n2 ON n2.NatureItemId=tba.NatureItemId and n2.NatureId='{Const.SafetyNatureIdN2}' ");
sb.Append($"LEFT JOIN Base_SafetyProblemNatureItem AS n3 ON n3.NatureItemId=tba.NatureItemId and n3.NatureId='{Const.SafetyNatureIdN3}' ");
sb.Append("WHERE 1=1 ");
if (!string.IsNullOrWhiteSpace(this.ProjectId))
{//项目级只看本项目新增的数据
sb.Append("AND tba.ProjectId = @ProjectId ");
listStr.Add(new SqlParameter("@ProjectId", this.ProjectId));
}
else
{
if (!string.IsNullOrWhiteSpace(this.CurrUser.UnitId) && this.CurrUser.UnitId != Const.UnitId_XJYJ)
{//分公司只能查看本单位的数据
sb.Append("AND tba.UnitId = @UnitId ");
listStr.Add(new SqlParameter("@UnitId", this.CurrUser.UnitId));
}
else
{
if (!string.IsNullOrWhiteSpace(this.drpUnit.SelectedValue) && this.drpUnit.SelectedValue != Const._Null && this.drpUnit.SelectedValue != Const.UnitId_XJYJ)
{
sb.Append("AND tba.UnitId = @UnitId ");
listStr.Add(new SqlParameter("@UnitId", this.drpUnit.SelectedValue));
}
}
}
//if (!string.IsNullOrWhiteSpace(this.drpProject.SelectedValue) && this.drpProject.SelectedValue != Const._Null)
//{
// sb.Append("AND tba.ProjectId = @ProjectId ");
// listStr.Add(new SqlParameter("@ProjectId", this.drpProject.SelectedValue));
//}
if (!string.IsNullOrWhiteSpace(this.txtSearch.Text.Trim()))
{
sb.Append("AND (tba.UnitName LIKE @SearchTxt OR tba.ProjectName LIKE @SearchTxt OR tba.Description LIKE @SearchTxt OR tba.CheckTeamUser LIKE @SearchTxt) ");
listStr.Add(new SqlParameter("@SearchTxt", "%" + this.txtSearch.Text.Trim() + "%"));
}
if (!string.IsNullOrWhiteSpace(this.drpClassify.SelectedValue) && this.drpClassify.SelectedValue != Const._Null)
{
sb.Append("AND tba.ClassifyId=@ClassifyId ");
listStr.Add(new SqlParameter("@ClassifyId", this.drpClassify.SelectedValue));
}
if (!string.IsNullOrWhiteSpace(this.drpNature.SelectedValue) && this.drpNature.SelectedValue != Const._Null)
{
sb.Append("AND tba.NatureId=@NatureId ");
listStr.Add(new SqlParameter("@NatureId", this.drpNature.SelectedValue));
}
if (!string.IsNullOrWhiteSpace(this.rblState.SelectedValue))
{
sb.Append("AND tba.State=@State ");
listStr.Add(new SqlParameter("@State", this.rblState.SelectedValue));
}
if (!string.IsNullOrWhiteSpace(this.rblUnitType.SelectedValue))
{
sb.Append("AND tba.UnitType=@UnitType ");
listStr.Add(new SqlParameter("@UnitType", this.rblUnitType.SelectedValue));
}
string startDate = this.txtStartTime.Text.Trim();
string endDate = this.txtEndTime.Text.Trim();
if (!string.IsNullOrWhiteSpace(startDate))
{
sb.Append("AND tba.CheckDate >= @StartDate ");
listStr.Add(new SqlParameter("@StartDate", startDate));
}
if (!string.IsNullOrWhiteSpace(endDate))
{
sb.Append("AND tba.CheckDate <= @EndDate ");
listStr.Add(new SqlParameter("@EndDate", $"{endDate} 23:59:59"));
}
string sqlStr = sb.ToString();
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(sqlStr, parameter);
Grid1.RecordCount = tb.Rows.Count;
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
}
/// <summary>
/// 检查问题状态
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
public string ConvertStates(Object obj)
{
string result = "整改中";
string state = obj.ToString();
if (state == "0")
{
result = "已闭环";
}
else
{ //闭环
result = "整改中";
}
return result;
}
/// <summary>
/// 查询按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnQuery_Click(object sender, EventArgs e)
{
BindGrid();
}
/// <summary>
/// 条件重置
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnRset_Click(object sender, EventArgs e)
{
rblUnitType.SelectedIndex = 0;
drpClassify.SelectedIndex = 0;
drpNature.SelectedIndex = 0;
rblState.SelectedIndex = 0;
txtSearch.Text = "";
txtStartTime.Text = "";
txtEndTime.Text = "";
BindGrid();
}
#endregion
#region 查询
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void TextBox_TextChanged(object sender, EventArgs e)
{
this.BindGrid();
}
#endregion
#region 表排序、分页、关闭窗口
/// <summary>
/// 分页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
BindGrid();
}
/// <summary>
/// 排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_Sort(object sender, GridSortEventArgs e)
{
BindGrid();
}
/// <summary>
/// 分页显示条数下拉框
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
BindGrid();
}
/// <summary>
/// 关闭弹出窗
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Window1_Close(object sender, WindowCloseEventArgs e)
{
BindGrid();
}
#endregion
}
}