From cc5d064c70730d95d5b6c5b8cc491855a732e837 Mon Sep 17 00:00:00 2001 From: xiaju <1784803958@qq.com> Date: Fri, 9 Oct 2026 15:10:28 +0800 Subject: [PATCH] =?UTF-8?q?1=E5=A4=A7=E5=B1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AGENTS.md | 8 + ...xiaj(Sp_CheckProblem_Safety_Statistics]).sql | 34 ++ SGGL/BLL/SysManage/UnitService.cs | 2 +- .../DataShow/CheckProblemSafety.aspx | 174 ++++++++++ .../DataShow/CheckProblemSafety.aspx.cs | 297 ++++++++++++++++++ .../CheckProblemSafety.aspx.designer.cs | 224 +++++++++++++ SGGL/FineUIPro.Web/DataShow/HazardFactor.aspx | 4 +- .../DataShow/HazardFactor.aspx.cs | 46 ++- .../DataShow/HazardFactorOccHealth.aspx | 4 +- .../DataShow/HazardFactorOccHealth.aspx.cs | 46 ++- SGGL/FineUIPro.Web/FineUIPro.Web.csproj | 8 + SGGL/FineUIPro.Web/common/main.aspx | 49 ++- SGGL/FineUIPro.Web/common/main.aspx.cs | 13 + SGGL/FineUIPro.Web/common/mainProject.aspx | 129 ++++---- SGGL/FineUIPro.Web/common/mainProject.aspx.cs | 15 +- SGGL/Model/ModelProc.cs | 13 + 16 files changed, 971 insertions(+), 95 deletions(-) create mode 100644 AGENTS.md create mode 100644 DataBase/版本日志/SGGLDB_V2026-10-10-xiaj(Sp_CheckProblem_Safety_Statistics]).sql create mode 100644 SGGL/FineUIPro.Web/DataShow/CheckProblemSafety.aspx create mode 100644 SGGL/FineUIPro.Web/DataShow/CheckProblemSafety.aspx.cs create mode 100644 SGGL/FineUIPro.Web/DataShow/CheckProblemSafety.aspx.designer.cs diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 00000000..186d6716 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,8 @@ +## 知识体系 + +* 启用:是 +* 项目名称:新疆油建 +* Vault根目录:D:\\ObsidianNoteHub\\项目代码 +* 自动加载:否 +* 自动收集:是 + diff --git a/DataBase/版本日志/SGGLDB_V2026-10-10-xiaj(Sp_CheckProblem_Safety_Statistics]).sql b/DataBase/版本日志/SGGLDB_V2026-10-10-xiaj(Sp_CheckProblem_Safety_Statistics]).sql new file mode 100644 index 00000000..580a4db4 --- /dev/null +++ b/DataBase/版本日志/SGGLDB_V2026-10-10-xiaj(Sp_CheckProblem_Safety_Statistics]).sql @@ -0,0 +1,34 @@ + +CREATE OR ALTER PROCEDURE [dbo].[Sp_CheckProblem_Safety_Statistics] + @unitId NVARCHAR(200)=NULL, + @projectId NVARCHAR(200)=NULL +AS +BEGIN + SET NOCOUNT ON; + WITH CTE AS ( + SELECT + --ROW_NUMBER() OVER ( + -- PARTITION BY tba.Description + -- ORDER BY CheckDate desc + --) as rn, + --tbb.ProjectName, + bspn.NatureId , + bspn.NatureName + FROM CheckProblem_Safety AS tba WITH(NOLOCK) + --LEFT JOIN Base_Project AS tbb WITH(NOLOCK) ON tbb.ProjectId = tba.ProjectId + LEFT JOIN Base_SafetyProblemNature AS bspn WITH(NOLOCK) ON bspn.NatureId = tba.NatureId + WHERE 1=1 + --AND tba.State = 1 + --µ¥λÌõ¼þ£º@unitIdΪ¿ղéËùÓУ¬ÓÐֵÔò¹ýÂ˵¥λ + AND (@unitId IS NULL OR @unitId = '' OR tba.UnitId = @unitId) + --ÏîĿÌõ¼þ£ºΪ¿ղ»¹ýÂË + AND (@projectId IS NULL OR @projectId = '' OR tba.ProjectId = @projectId) + ) + SELECT NatureName AS Title,COUNT(1) AS Num + FROM CTE + --WHERE rn = 1 + GROUP BY NatureName +END +GO + + diff --git a/SGGL/BLL/SysManage/UnitService.cs b/SGGL/BLL/SysManage/UnitService.cs index 50db5fdd..ca65e2d5 100644 --- a/SGGL/BLL/SysManage/UnitService.cs +++ b/SGGL/BLL/SysManage/UnitService.cs @@ -421,7 +421,7 @@ namespace BLL public static List GetMainAndSubUnitList() { //return (from x in Funs.DB.Base_Unit where x.IsThisUnit == true || x.IsBranch == true orderby x.IsThisUnit descending select x).ToList(); - return (from x in Funs.DB.Base_Unit where x.IsBranch == true select x).ToList(); + return (from x in Funs.DB.Base_Unit where x.IsThisUnit == true || x.IsBranch == true select x).ToList(); } #region 单位表下拉框 diff --git a/SGGL/FineUIPro.Web/DataShow/CheckProblemSafety.aspx b/SGGL/FineUIPro.Web/DataShow/CheckProblemSafety.aspx new file mode 100644 index 00000000..01263ebf --- /dev/null +++ b/SGGL/FineUIPro.Web/DataShow/CheckProblemSafety.aspx @@ -0,0 +1,174 @@ +<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="CheckProblemSafety.aspx.cs" + Inherits="FineUIPro.Web.DataShow.CheckProblemSafety" %> + + + + + + + + 安全不符合项清单 + + +
+ + + + + + + + + + + <%-- + + + --%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%-- + --%> + + + + + + + <%-- + --%> + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SGGL/FineUIPro.Web/DataShow/CheckProblemSafety.aspx.cs b/SGGL/FineUIPro.Web/DataShow/CheckProblemSafety.aspx.cs new file mode 100644 index 00000000..18eef373 --- /dev/null +++ b/SGGL/FineUIPro.Web/DataShow/CheckProblemSafety.aspx.cs @@ -0,0 +1,297 @@ +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 + { + /// + /// 单位id + /// + public string UnitId + { + get + { + return (string)ViewState["UnitId"]; + } + set + { + ViewState["UnitId"] = value; + } + } + + /// + /// 项目id + /// + public string ProjectId + { + get + { + return (string)ViewState["ProjectId"]; + } + set + { + ViewState["ProjectId"] = value; + } + } + + #region 加载页面 + /// + /// 加载页面 + /// + /// + /// + 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 = "安全危害因素"; + } + } + + /// + /// 初始化下拉框 + /// + 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); + } + + /// + /// 绑定数据 + /// + private void BindGrid() + { + StringBuilder sb = new StringBuilder(); + List listStr = new List(); + + 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(); + } + + /// + /// 检查问题状态 + /// + /// + /// + public string ConvertStates(Object obj) + { + string result = "整改中"; + string state = obj.ToString(); + if (state == "0") + { + result = "已闭环"; + } + else + { //闭环 + result = "整改中"; + } + return result; + } + + /// + /// 查询按钮 + /// + /// + /// + protected void btnQuery_Click(object sender, EventArgs e) + { + BindGrid(); + } + + /// + /// 条件重置 + /// + /// + /// + 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 查询 + /// + /// 查询 + /// + /// + /// + 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 + } +} \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/DataShow/CheckProblemSafety.aspx.designer.cs b/SGGL/FineUIPro.Web/DataShow/CheckProblemSafety.aspx.designer.cs new file mode 100644 index 00000000..79c23818 --- /dev/null +++ b/SGGL/FineUIPro.Web/DataShow/CheckProblemSafety.aspx.designer.cs @@ -0,0 +1,224 @@ +//------------------------------------------------------------------------------ +// <自动生成> +// 此代码由工具生成。 +// +// 对此文件的更改可能导致不正确的行为,如果 +// 重新生成代码,则所做更改将丢失。 +// +//------------------------------------------------------------------------------ + +namespace FineUIPro.Web.DataShow +{ + + + public partial class CheckProblemSafety + { + + /// + /// form1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.HtmlControls.HtmlForm form1; + + /// + /// PageManager1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.PageManager PageManager1; + + /// + /// Panel1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Panel Panel1; + + /// + /// Grid1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Grid Grid1; + + /// + /// Toolbar2 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Toolbar Toolbar2; + + /// + /// txtSearch 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox txtSearch; + + /// + /// drpUnit 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DropDownList drpUnit; + + /// + /// rblUnitType 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.RadioButtonList rblUnitType; + + /// + /// drpClassify 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DropDownList drpClassify; + + /// + /// drpNature 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DropDownList drpNature; + + /// + /// btnRset 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnRset; + + /// + /// btnQuery 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnQuery; + + /// + /// btnClose 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnClose; + + /// + /// Toolbar1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Toolbar Toolbar1; + + /// + /// txtStartTime 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DatePicker txtStartTime; + + /// + /// Label5 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Label Label5; + + /// + /// txtEndTime 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DatePicker txtEndTime; + + /// + /// rblState 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.RadioButtonList rblState; + + /// + /// lblNumber 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.WebControls.Label lblNumber; + + /// + /// lbState 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.WebControls.Label lbState; + + /// + /// ToolbarSeparator1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1; + + /// + /// ToolbarText1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.ToolbarText ToolbarText1; + + /// + /// ddlPageSize 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DropDownList ddlPageSize; + } +} diff --git a/SGGL/FineUIPro.Web/DataShow/HazardFactor.aspx b/SGGL/FineUIPro.Web/DataShow/HazardFactor.aspx index e03b9d2e..06279eab 100644 --- a/SGGL/FineUIPro.Web/DataShow/HazardFactor.aspx +++ b/SGGL/FineUIPro.Web/DataShow/HazardFactor.aspx @@ -23,10 +23,10 @@ + Width="180px" LabelWidth="50px" Label="年度" OnSelectedIndexChanged="TextBox_TextChanged"> + Width="180px" LabelWidth="50px" Label="月份" OnSelectedIndexChanged="TextBox_TextChanged">