From 8b13fc67aba15d432d02ebeb8b524db1f7253dfd Mon Sep 17 00:00:00 2001 From: Zones <765289303@qq.com> Date: Thu, 27 Aug 2026 15:54:05 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A3=8E=E9=99=A9=E5=88=86=E7=BA=A7=E7=AE=A1?= =?UTF-8?q?=E6=8E=A7=E6=B8=85=E5=8D=95=E6=94=B9=E4=B8=BA=E6=96=87=E6=A1=A3?= =?UTF-8?q?=E5=BC=8F=EF=BC=9B=E5=AE=89=E5=85=A8=E9=98=B2=E6=8A=A4=E9=AA=8C?= =?UTF-8?q?=E6=94=B6=E6=96=B0=E5=A2=9E=E6=A3=80=E6=9F=A5=E4=BA=BA/?= =?UTF-8?q?=E6=A3=80=E6=9F=A5=E6=97=B6=E9=97=B4=E5=B9=B6=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E9=BB=98=E8=AE=A4=E5=BD=93=E5=89=8D=E8=B4=A6=E5=8F=B7=EF=BC=9B?= =?UTF-8?q?=E5=AE=9E=E4=BD=93=E9=87=8D=E7=94=9F=E6=88=90=E5=B9=B6=E7=A7=BB?= =?UTF-8?q?=E9=99=A4=E6=97=81=E8=B7=AFCode=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 风险分级管控清单(RiskControlList)由『一风险点一记录』明细结构改为文档式:工程名称(手输)/项目(绑定当前项目)/编制人/编制日期/附件/备注;新增 ProjectName/CompileMan/CompileDate 列(CREATE TABLE 脚本 2026-08-27-001);BLL 映射、编辑页/列表页、菜单(CQMS)同步 - 安全防护验收(SafetyAcceptanceEdit)加入 检查人/检查时间,检查人默认当前登录账号并兜底不显示问题 - 重新生成 Model.cs(含 HSSE_RiskControlList 新列与 HSSE_SafetyPatrol.Code),删除已由实体内置的旁路 HSSE_SafetyPatrol.Code.cs 及其 csproj 引用 --- .../版本日志/SGGLDB_V2026-08-27-001-zones.sql | 176 ++++++++++++++++++ .../BLL/HSSE/Hazard/RiskControlListService.cs | 6 + .../HSSE/HazardousMG/RiskControlList.aspx | 42 ++--- .../HSSE/HazardousMG/RiskControlList.aspx.cs | 10 +- .../RiskControlList.aspx.designer.cs | 9 +- .../HSSE/HazardousMG/RiskControlListEdit.aspx | 38 ++-- .../HazardousMG/RiskControlListEdit.aspx.cs | 61 ++++-- .../RiskControlListEdit.aspx.designer.cs | 26 +-- .../HSSE/HazardousMG/SafetyAcceptance.aspx | 4 +- .../HazardousMG/SafetyAcceptanceEdit.aspx | 10 + .../HazardousMG/SafetyAcceptanceEdit.aspx.cs | 64 ++++++- .../SafetyAcceptanceEdit.aspx.designer.cs | 10 + SGGL/FineUIPro.Web/common/Menu_CQMS.xml | 1 + SGGL/FineUIPro.Web/common/Menu_HSSE.xml | 4 +- SGGL/Model/HSSE_SafetyPatrol.Code.cs | 18 -- SGGL/Model/Model.cs | 96 ++++++++++ SGGL/Model/Model.csproj | 1 - 17 files changed, 452 insertions(+), 124 deletions(-) create mode 100644 DataBase/版本日志/SGGLDB_V2026-08-27-001-zones.sql delete mode 100644 SGGL/Model/HSSE_SafetyPatrol.Code.cs diff --git a/DataBase/版本日志/SGGLDB_V2026-08-27-001-zones.sql b/DataBase/版本日志/SGGLDB_V2026-08-27-001-zones.sql new file mode 100644 index 0000000..fa03df6 --- /dev/null +++ b/DataBase/版本日志/SGGLDB_V2026-08-27-001-zones.sql @@ -0,0 +1,176 @@ +-- ===================================================================== +-- 风险分级管控清单表:建表脚本(CREATE TABLE) +-- 说明:原表为「一风险点一记录」的明细结构;本次改为「一份清单文档一记录」, +-- 新增 工程名称(手输 ProjectName)、编制人(存人名 CompileMan)、编制日期(CompileDate)。 +-- 旧明细列(RiskName/RiskLevel/RiskType/ControlMeasure/ManagerUnit/ManagerMan)保留,仅停止使用。 +-- 幂等:若表已存在则跳过建表;列注释仅不存在时添加,可重复执行。 +-- 若目标库已存在旧结构表,请先删除该表(或改用 ALTER ADD 增量脚本)再执行本脚本。 +-- ===================================================================== + +-- 建表(表不存在才创建,含全部 13 列) +IF OBJECT_ID(N'[dbo].[HSSE_RiskControlList]', N'U') IS NULL +BEGIN + CREATE TABLE [dbo].[HSSE_RiskControlList] ( + [RiskId] nvarchar(50) COLLATE Chinese_PRC_CI_AS NOT NULL, + [ProjectId] nvarchar(50) COLLATE Chinese_PRC_CI_AS NOT NULL, + [ProjectName] nvarchar(200) COLLATE Chinese_PRC_CI_AS NULL, + [CompileMan] nvarchar(50) COLLATE Chinese_PRC_CI_AS NULL, + [CompileDate] datetime NULL, + [RiskName] nvarchar(200) COLLATE Chinese_PRC_CI_AS NULL, + [RiskLevel] nvarchar(50) COLLATE Chinese_PRC_CI_AS NULL, + [RiskType] nvarchar(50) COLLATE Chinese_PRC_CI_AS NULL, + [ControlMeasure] nvarchar(1000) COLLATE Chinese_PRC_CI_AS NULL, + [ManagerUnit] nvarchar(200) COLLATE Chinese_PRC_CI_AS NULL, + [ManagerMan] nvarchar(50) COLLATE Chinese_PRC_CI_AS NULL, + [Remark] nvarchar(500) COLLATE Chinese_PRC_CI_AS NULL, + [UploadFile] nvarchar(500) COLLATE Chinese_PRC_CI_AS NULL, + CONSTRAINT [PK_HSSE_RiskControlList] PRIMARY KEY CLUSTERED ([RiskId]) + ) ON [PRIMARY]; +END +GO + +-- 表注释 +IF NOT EXISTS ( + SELECT 1 FROM sys.extended_properties + WHERE major_id = OBJECT_ID(N'[dbo].[HSSE_RiskControlList]') + AND minor_id = 0 + AND name = N'MS_Description' +) + EXEC sp_addextendedproperty + 'MS_Description', N'风险分级管控清单', + 'SCHEMA', N'dbo', + 'TABLE', N'HSSE_RiskControlList'; +GO + +-- 工程名称 中文注释 +IF NOT EXISTS ( + SELECT 1 FROM sys.extended_properties + WHERE major_id = OBJECT_ID(N'[dbo].[HSSE_RiskControlList]') + AND minor_id = COLUMNPROPERTY(OBJECT_ID(N'[dbo].[HSSE_RiskControlList]'), N'ProjectName', 'ColumnId') + AND name = N'MS_Description' +) + EXEC sp_addextendedproperty + 'MS_Description', N'工程名称(手动输入)', + 'SCHEMA', N'dbo', + 'TABLE', N'HSSE_RiskControlList', + 'COLUMN', N'ProjectName'; +GO + +-- 编制人 中文注释 +IF NOT EXISTS ( + SELECT 1 FROM sys.extended_properties + WHERE major_id = OBJECT_ID(N'[dbo].[HSSE_RiskControlList]') + AND minor_id = COLUMNPROPERTY(OBJECT_ID(N'[dbo].[HSSE_RiskControlList]'), N'CompileMan', 'ColumnId') + AND name = N'MS_Description' +) + EXEC sp_addextendedproperty + 'MS_Description', N'编制人(存人名)', + 'SCHEMA', N'dbo', + 'TABLE', N'HSSE_RiskControlList', + 'COLUMN', N'CompileMan'; +GO + +-- 编制日期 中文注释 +IF NOT EXISTS ( + SELECT 1 FROM sys.extended_properties + WHERE major_id = OBJECT_ID(N'[dbo].[HSSE_RiskControlList]') + AND minor_id = COLUMNPROPERTY(OBJECT_ID(N'[dbo].[HSSE_RiskControlList]'), N'CompileDate', 'ColumnId') + AND name = N'MS_Description' +) + EXEC sp_addextendedproperty + 'MS_Description', N'编制日期', + 'SCHEMA', N'dbo', + 'TABLE', N'HSSE_RiskControlList', + 'COLUMN', N'CompileDate'; +GO + +-- 各旧列中文注释(与建表一致,供整表文档化) +IF NOT EXISTS ( + SELECT 1 FROM sys.extended_properties + WHERE major_id = OBJECT_ID(N'[dbo].[HSSE_RiskControlList]') + AND minor_id = COLUMNPROPERTY(OBJECT_ID(N'[dbo].[HSSE_RiskControlList]'), N'RiskId', 'ColumnId') + AND name = N'MS_Description' +) + EXEC sp_addextendedproperty 'MS_Description', N'主键', 'SCHEMA', N'dbo', 'TABLE', N'HSSE_RiskControlList', 'COLUMN', N'RiskId'; +GO + +IF NOT EXISTS ( + SELECT 1 FROM sys.extended_properties + WHERE major_id = OBJECT_ID(N'[dbo].[HSSE_RiskControlList]') + AND minor_id = COLUMNPROPERTY(OBJECT_ID(N'[dbo].[HSSE_RiskControlList]'), N'ProjectId', 'ColumnId') + AND name = N'MS_Description' +) + EXEC sp_addextendedproperty 'MS_Description', N'项目', 'SCHEMA', N'dbo', 'TABLE', N'HSSE_RiskControlList', 'COLUMN', N'ProjectId'; +GO + +IF NOT EXISTS ( + SELECT 1 FROM sys.extended_properties + WHERE major_id = OBJECT_ID(N'[dbo].[HSSE_RiskControlList]') + AND minor_id = COLUMNPROPERTY(OBJECT_ID(N'[dbo].[HSSE_RiskControlList]'), N'RiskName', 'ColumnId') + AND name = N'MS_Description' +) + EXEC sp_addextendedproperty 'MS_Description', N'风险点', 'SCHEMA', N'dbo', 'TABLE', N'HSSE_RiskControlList', 'COLUMN', N'RiskName'; +GO + +IF NOT EXISTS ( + SELECT 1 FROM sys.extended_properties + WHERE major_id = OBJECT_ID(N'[dbo].[HSSE_RiskControlList]') + AND minor_id = COLUMNPROPERTY(OBJECT_ID(N'[dbo].[HSSE_RiskControlList]'), N'RiskLevel', 'ColumnId') + AND name = N'MS_Description' +) + EXEC sp_addextendedproperty 'MS_Description', N'风险等级', 'SCHEMA', N'dbo', 'TABLE', N'HSSE_RiskControlList', 'COLUMN', N'RiskLevel'; +GO + +IF NOT EXISTS ( + SELECT 1 FROM sys.extended_properties + WHERE major_id = OBJECT_ID(N'[dbo].[HSSE_RiskControlList]') + AND minor_id = COLUMNPROPERTY(OBJECT_ID(N'[dbo].[HSSE_RiskControlList]'), N'RiskType', 'ColumnId') + AND name = N'MS_Description' +) + EXEC sp_addextendedproperty 'MS_Description', N'风险类别', 'SCHEMA', N'dbo', 'TABLE', N'HSSE_RiskControlList', 'COLUMN', N'RiskType'; +GO + +IF NOT EXISTS ( + SELECT 1 FROM sys.extended_properties + WHERE major_id = OBJECT_ID(N'[dbo].[HSSE_RiskControlList]') + AND minor_id = COLUMNPROPERTY(OBJECT_ID(N'[dbo].[HSSE_RiskControlList]'), N'ControlMeasure', 'ColumnId') + AND name = N'MS_Description' +) + EXEC sp_addextendedproperty 'MS_Description', N'管控措施', 'SCHEMA', N'dbo', 'TABLE', N'HSSE_RiskControlList', 'COLUMN', N'ControlMeasure'; +GO + +IF NOT EXISTS ( + SELECT 1 FROM sys.extended_properties + WHERE major_id = OBJECT_ID(N'[dbo].[HSSE_RiskControlList]') + AND minor_id = COLUMNPROPERTY(OBJECT_ID(N'[dbo].[HSSE_RiskControlList]'), N'ManagerUnit', 'ColumnId') + AND name = N'MS_Description' +) + EXEC sp_addextendedproperty 'MS_Description', N'责任单位', 'SCHEMA', N'dbo', 'TABLE', N'HSSE_RiskControlList', 'COLUMN', N'ManagerUnit'; +GO + +IF NOT EXISTS ( + SELECT 1 FROM sys.extended_properties + WHERE major_id = OBJECT_ID(N'[dbo].[HSSE_RiskControlList]') + AND minor_id = COLUMNPROPERTY(OBJECT_ID(N'[dbo].[HSSE_RiskControlList]'), N'ManagerMan', 'ColumnId') + AND name = N'MS_Description' +) + EXEC sp_addextendedproperty 'MS_Description', N'责任人', 'SCHEMA', N'dbo', 'TABLE', N'HSSE_RiskControlList', 'COLUMN', N'ManagerMan'; +GO + +IF NOT EXISTS ( + SELECT 1 FROM sys.extended_properties + WHERE major_id = OBJECT_ID(N'[dbo].[HSSE_RiskControlList]') + AND minor_id = COLUMNPROPERTY(OBJECT_ID(N'[dbo].[HSSE_RiskControlList]'), N'Remark', 'ColumnId') + AND name = N'MS_Description' +) + EXEC sp_addextendedproperty 'MS_Description', N'备注', 'SCHEMA', N'dbo', 'TABLE', N'HSSE_RiskControlList', 'COLUMN', N'Remark'; +GO + +IF NOT EXISTS ( + SELECT 1 FROM sys.extended_properties + WHERE major_id = OBJECT_ID(N'[dbo].[HSSE_RiskControlList]') + AND minor_id = COLUMNPROPERTY(OBJECT_ID(N'[dbo].[HSSE_RiskControlList]'), N'UploadFile', 'ColumnId') + AND name = N'MS_Description' +) + EXEC sp_addextendedproperty 'MS_Description', N'附件', 'SCHEMA', N'dbo', 'TABLE', N'HSSE_RiskControlList', 'COLUMN', N'UploadFile'; +GO diff --git a/SGGL/BLL/HSSE/Hazard/RiskControlListService.cs b/SGGL/BLL/HSSE/Hazard/RiskControlListService.cs index c935ef4..1fdcd69 100644 --- a/SGGL/BLL/HSSE/Hazard/RiskControlListService.cs +++ b/SGGL/BLL/HSSE/Hazard/RiskControlListService.cs @@ -40,6 +40,9 @@ namespace BLL { RiskId = item.RiskId, ProjectId = item.ProjectId, + ProjectName = item.ProjectName, + CompileMan = item.CompileMan, + CompileDate = item.CompileDate, RiskName = item.RiskName, RiskLevel = item.RiskLevel, RiskType = item.RiskType, @@ -63,6 +66,9 @@ namespace BLL Model.HSSE_RiskControlList newItem = db.HSSE_RiskControlList.FirstOrDefault(x => x.RiskId == item.RiskId); if (newItem != null) { + newItem.ProjectName = item.ProjectName; + newItem.CompileMan = item.CompileMan; + newItem.CompileDate = item.CompileDate; newItem.RiskName = item.RiskName; newItem.RiskLevel = item.RiskLevel; newItem.RiskType = item.RiskType; diff --git a/SGGL/FineUIPro.Web/HSSE/HazardousMG/RiskControlList.aspx b/SGGL/FineUIPro.Web/HSSE/HazardousMG/RiskControlList.aspx index a1e67d3..eb3774b 100644 --- a/SGGL/FineUIPro.Web/HSSE/HazardousMG/RiskControlList.aspx +++ b/SGGL/FineUIPro.Web/HSSE/HazardousMG/RiskControlList.aspx @@ -17,25 +17,17 @@ - - - - - - - - @@ -50,33 +42,25 @@ - - - - - - - - + - + + diff --git a/SGGL/FineUIPro.Web/HSSE/HazardousMG/RiskControlList.aspx.cs b/SGGL/FineUIPro.Web/HSSE/HazardousMG/RiskControlList.aspx.cs index dd3171d..6b78984 100644 --- a/SGGL/FineUIPro.Web/HSSE/HazardousMG/RiskControlList.aspx.cs +++ b/SGGL/FineUIPro.Web/HSSE/HazardousMG/RiskControlList.aspx.cs @@ -48,15 +48,11 @@ namespace FineUIPro.Web.HSSE.HazardousMG return; } List list = BLL.RiskControlListService.GetList(this.CurrUser.LoginProjectId); - ////查询条件过滤 - string name = this.txtRiskName.Text.Trim(); + ////查询条件过滤:按工程名称 + string name = this.txtProjectName.Text.Trim(); if (!string.IsNullOrEmpty(name)) { - list = list.Where(x => x.RiskName.Contains(name)).ToList(); - } - if (!string.IsNullOrEmpty(this.ddlRiskLevel.SelectedValue)) - { - list = list.Where(x => x.RiskLevel == this.ddlRiskLevel.SelectedValue).ToList(); + list = list.Where(x => x.ProjectName != null && x.ProjectName.Contains(name)).ToList(); } Grid1.RecordCount = list.Count; var table = this.GetPagedDataTable(Grid1, list); diff --git a/SGGL/FineUIPro.Web/HSSE/HazardousMG/RiskControlList.aspx.designer.cs b/SGGL/FineUIPro.Web/HSSE/HazardousMG/RiskControlList.aspx.designer.cs index e1e6d7a..adce699 100644 --- a/SGGL/FineUIPro.Web/HSSE/HazardousMG/RiskControlList.aspx.designer.cs +++ b/SGGL/FineUIPro.Web/HSSE/HazardousMG/RiskControlList.aspx.designer.cs @@ -40,14 +40,9 @@ namespace FineUIPro.Web.HSSE.HazardousMG protected global::FineUIPro.Toolbar Toolbar1; /// - /// txtRiskName 控件。 + /// txtProjectName 控件。 /// - protected global::FineUIPro.TextBox txtRiskName; - - /// - /// ddlRiskLevel 控件。 - /// - protected global::FineUIPro.DropDownList ddlRiskLevel; + protected global::FineUIPro.TextBox txtProjectName; /// /// ToolbarFill1 控件。 diff --git a/SGGL/FineUIPro.Web/HSSE/HazardousMG/RiskControlListEdit.aspx b/SGGL/FineUIPro.Web/HSSE/HazardousMG/RiskControlListEdit.aspx index 0e48a45..14dabef 100644 --- a/SGGL/FineUIPro.Web/HSSE/HazardousMG/RiskControlListEdit.aspx +++ b/SGGL/FineUIPro.Web/HSSE/HazardousMG/RiskControlListEdit.aspx @@ -16,40 +16,26 @@ - + - - - - - + + + - - - - - - - - - - - - + + @@ -57,7 +43,7 @@ + LabelWidth="110px" LabelAlign="Right"> @@ -68,7 +54,7 @@ + MaxLength="500" LabelWidth="110px"> diff --git a/SGGL/FineUIPro.Web/HSSE/HazardousMG/RiskControlListEdit.aspx.cs b/SGGL/FineUIPro.Web/HSSE/HazardousMG/RiskControlListEdit.aspx.cs index 262ac76..dd7299e 100644 --- a/SGGL/FineUIPro.Web/HSSE/HazardousMG/RiskControlListEdit.aspx.cs +++ b/SGGL/FineUIPro.Web/HSSE/HazardousMG/RiskControlListEdit.aspx.cs @@ -35,6 +35,7 @@ namespace FineUIPro.Web.HSSE.HazardousMG if (!IsPostBack) { this.btnClose.OnClientClick = ActiveWindow.GetHideReference(); + this.InitCompileMan(); this.RiskId = Request.Params["RiskId"]; if (!string.IsNullOrEmpty(this.RiskId)) { @@ -42,17 +43,54 @@ namespace FineUIPro.Web.HSSE.HazardousMG Model.HSSE_RiskControlList info = BLL.RiskControlListService.GetById(this.RiskId); if (info != null) { - this.txtRiskName.Text = info.RiskName; - this.ddlRiskLevel.SelectedValue = info.RiskLevel; - this.txtRiskType.Text = info.RiskType; - this.txtControlMeasure.Text = info.ControlMeasure; - this.txtManagerUnit.Text = info.ManagerUnit; - this.txtManagerMan.Text = info.ManagerMan; + this.txtProjectName.Text = info.ProjectName; + this.txtBindProject.Text = BLL.ProjectService.GetProjectByProjectId(info.ProjectId).ProjectName; + ////编制人按人名回显;名称不在名单则追加原名称(保留旧数据) + FineUIPro.ListItem item = this.ddlCompileMan.Items.FirstOrDefault(x => x.Text == info.CompileMan); + if (item != null) + { + this.ddlCompileMan.SelectedValue = item.Value; + } + else if (!string.IsNullOrEmpty(info.CompileMan)) + { + this.ddlCompileMan.Items.Insert(0, new FineUIPro.ListItem(info.CompileMan, "")); + if (this.ddlCompileMan.Items.Count > 0) + { + this.ddlCompileMan.SelectedIndex = 0; + } + } + this.dpkCompileDate.SelectedDate = info.CompileDate; this.txtRemark.Text = info.Remark; } } + else + { + ////新增:项目绑定当前登录项目,编制日期默认当天(编制人默认当前账号已在 InitCompileMan 中选中) + this.txtBindProject.Text = BLL.ProjectService.GetProjectByProjectId(this.CurrUser.LoginProjectId).ProjectName; + this.dpkCompileDate.SelectedDate = DateTime.Now; + } } } + + /// + /// 初始化编制人下拉并默认当前登录账号。 + /// 若当前账号不在项目用户名单(如管理账号未挂成员记录),追加到首位保证默认可选中。 + /// + private void InitCompileMan() + { + if (this.CurrUser == null) + { + return; + } + BLL.UserService.InitUserDropDownList(this.ddlCompileMan, this.CurrUser.LoginProjectId, false); + ////当前账号不在下拉项中则追加到首位 + bool found = this.ddlCompileMan.Items.Any(x => x.Value == this.CurrUser.UserId); + if (!found) + { + this.ddlCompileMan.Items.Insert(0, new FineUIPro.ListItem(this.CurrUser.UserName, this.CurrUser.UserId)); + } + this.ddlCompileMan.SelectedValue = this.CurrUser.UserId; + } #endregion #region 保存 @@ -78,16 +116,15 @@ namespace FineUIPro.Web.HSSE.HazardousMG Alert.ShowInTop("请上传附件!", MessageBoxIcon.Warning); return; } + ////编制人取下拉选中项文本(存人名),无选中则为空 + string compileManName = this.ddlCompileMan.SelectedItem == null ? string.Empty : this.ddlCompileMan.SelectedItem.Text.Trim(); Model.HSSE_RiskControlList info = new Model.HSSE_RiskControlList { RiskId = this.RiskId, ProjectId = this.CurrUser.LoginProjectId, - RiskName = this.txtRiskName.Text.Trim(), - RiskLevel = this.ddlRiskLevel.SelectedValue, - RiskType = this.txtRiskType.Text.Trim(), - ControlMeasure = this.txtControlMeasure.Text.Trim(), - ManagerUnit = this.txtManagerUnit.Text.Trim(), - ManagerMan = this.txtManagerMan.Text.Trim(), + ProjectName = this.txtProjectName.Text.Trim(), + CompileMan = compileManName, + CompileDate = this.dpkCompileDate.SelectedDate, Remark = this.txtRemark.Text.Trim() }; ////存在则更新,不存在则新增(服务层已处理) diff --git a/SGGL/FineUIPro.Web/HSSE/HazardousMG/RiskControlListEdit.aspx.designer.cs b/SGGL/FineUIPro.Web/HSSE/HazardousMG/RiskControlListEdit.aspx.designer.cs index 65a1636..00cc40a 100644 --- a/SGGL/FineUIPro.Web/HSSE/HazardousMG/RiskControlListEdit.aspx.designer.cs +++ b/SGGL/FineUIPro.Web/HSSE/HazardousMG/RiskControlListEdit.aspx.designer.cs @@ -45,34 +45,24 @@ namespace FineUIPro.Web.HSSE.HazardousMG protected global::FineUIPro.Button btnAttach; /// - /// txtRiskName 控件。 + /// txtProjectName 控件。 /// - protected global::FineUIPro.TextBox txtRiskName; + protected global::FineUIPro.TextBox txtProjectName; /// - /// ddlRiskLevel 控件。 + /// txtBindProject 控件。 /// - protected global::FineUIPro.DropDownList ddlRiskLevel; + protected global::FineUIPro.TextBox txtBindProject; /// - /// txtRiskType 控件。 + /// ddlCompileMan 控件。 /// - protected global::FineUIPro.TextBox txtRiskType; + protected global::FineUIPro.DropDownList ddlCompileMan; /// - /// txtControlMeasure 控件。 + /// dpkCompileDate 控件。 /// - protected global::FineUIPro.TextArea txtControlMeasure; - - /// - /// txtManagerUnit 控件。 - /// - protected global::FineUIPro.TextBox txtManagerUnit; - - /// - /// txtManagerMan 控件。 - /// - protected global::FineUIPro.TextBox txtManagerMan; + protected global::FineUIPro.DatePicker dpkCompileDate; /// /// txtRemark 控件。 diff --git a/SGGL/FineUIPro.Web/HSSE/HazardousMG/SafetyAcceptance.aspx b/SGGL/FineUIPro.Web/HSSE/HazardousMG/SafetyAcceptance.aspx index 1ff60d5..0f2846c 100644 --- a/SGGL/FineUIPro.Web/HSSE/HazardousMG/SafetyAcceptance.aspx +++ b/SGGL/FineUIPro.Web/HSSE/HazardousMG/SafetyAcceptance.aspx @@ -51,11 +51,11 @@ TextAlign="Center"> + + + + + + + + diff --git a/SGGL/FineUIPro.Web/HSSE/HazardousMG/SafetyAcceptanceEdit.aspx.cs b/SGGL/FineUIPro.Web/HSSE/HazardousMG/SafetyAcceptanceEdit.aspx.cs index e4400a8..9869074 100644 --- a/SGGL/FineUIPro.Web/HSSE/HazardousMG/SafetyAcceptanceEdit.aspx.cs +++ b/SGGL/FineUIPro.Web/HSSE/HazardousMG/SafetyAcceptanceEdit.aspx.cs @@ -45,9 +45,15 @@ namespace FineUIPro.Web.HSSE.HazardousMG { this.ddlHazardProject.SelectedValue = info.HazardProjectId; this.ddlAcceptanceResult.SelectedValue = info.AcceptanceResult; + this.InitCheckMan(info.AcceptanceMan, info.AcceptanceDate); this.txtRemark.Text = info.Remark; } } + else + { + ////新增:检查人默认当前登录账号,检查时间默认当天 + this.InitCheckMan(null, null); + } } } @@ -66,6 +72,57 @@ namespace FineUIPro.Web.HSSE.HazardousMG this.ddlHazardProject.Items.Add(new FineUIPro.ListItem(p.ProjectName + "(" + p.ProjectCode + ")", p.HazardProjectId)); } } + + /// + /// 初始化检查人下拉并回显检查时间。新增默认当前登录账号、当天;编辑按名称回显。 + /// + /// 检查人名称(回显用,可为空) + /// 检查时间(回显用,可为空) + private void InitCheckMan(string acceptanceMan, DateTime? acceptanceDate) + { + if (this.CurrUser == null || string.IsNullOrEmpty(this.CurrUser.LoginProjectId)) + { + return; + } + List users = BLL.UserService.GetProjectUserListByProjectId(this.CurrUser.LoginProjectId); + this.ddlPatrolMan.Items.Clear(); + + bool isNew = string.IsNullOrEmpty(acceptanceMan); + ////若当前登录账号不在项目用户名单(如管理账号未挂成员记录),追加到首位, + ////保证新增时“检查人”始终能显示并默认选中当前登录账号 + bool currUserInList = users.Any(u => u.UserId == this.CurrUser.UserId || u.UserName == this.CurrUser.UserName); + if (!currUserInList) + { + this.ddlPatrolMan.Items.Add(new FineUIPro.ListItem(this.CurrUser.UserName, this.CurrUser.UserId)); + } + + ////新增且无回显名称:默认当前登录账号;编辑:按名称回显 + string selectValue = isNew ? this.CurrUser.UserId : string.Empty; + foreach (Model.Sys_User u in users) + { + ////编辑:按名称回显 + if (!isNew && string.IsNullOrEmpty(selectValue) && !string.IsNullOrEmpty(acceptanceMan) && u.UserName == acceptanceMan) + { + selectValue = u.UserId; + } + this.ddlPatrolMan.Items.Add(new FineUIPro.ListItem(u.UserName, u.UserId)); + } + ////名称在项目用户中找不到(如外部人员):追加原名称选项,保留旧数据 + if (!isNew && string.IsNullOrEmpty(selectValue) && !string.IsNullOrEmpty(acceptanceMan)) + { + this.ddlPatrolMan.Items.Insert(0, new FineUIPro.ListItem(acceptanceMan, "")); + } + if (!string.IsNullOrEmpty(selectValue)) + { + this.ddlPatrolMan.SelectedValue = selectValue; + } + else if (this.ddlPatrolMan.Items.Count > 0) + { + this.ddlPatrolMan.SelectedIndex = 0; + } + ////检查时间:有值回显,无值默认当天 + this.dpPatrolDate.SelectedDate = acceptanceDate.HasValue ? acceptanceDate.Value : DateTime.Now; + } #endregion #region 保存 @@ -98,6 +155,9 @@ namespace FineUIPro.Web.HSSE.HazardousMG { hazardProjectName = project.ProjectName; } + ////检查人名称:优先取下拉选中项文本;无选中则为空 + string patrolManName = this.ddlPatrolMan.SelectedItem == null ? string.Empty : this.ddlPatrolMan.SelectedItem.Text.Trim(); + DateTime? patrolDate = this.dpPatrolDate.SelectedDate; Model.HSSE_SafetyAcceptance info = new Model.HSSE_SafetyAcceptance { AcceptanceId = this.AcceptanceId, @@ -105,8 +165,8 @@ namespace FineUIPro.Web.HSSE.HazardousMG HazardProjectId = this.ddlHazardProject.SelectedValue, HazardProjectName = hazardProjectName, AcceptanceResult = this.ddlAcceptanceResult.SelectedValue, - AcceptanceMan = this.CurrUser.UserName, - AcceptanceDate = DateTime.Now, + AcceptanceMan = patrolManName, + AcceptanceDate = patrolDate, Remark = this.txtRemark.Text.Trim() }; ////存在则更新,不存在则新增(服务层已处理) diff --git a/SGGL/FineUIPro.Web/HSSE/HazardousMG/SafetyAcceptanceEdit.aspx.designer.cs b/SGGL/FineUIPro.Web/HSSE/HazardousMG/SafetyAcceptanceEdit.aspx.designer.cs index 8adec8a..906d706 100644 --- a/SGGL/FineUIPro.Web/HSSE/HazardousMG/SafetyAcceptanceEdit.aspx.designer.cs +++ b/SGGL/FineUIPro.Web/HSSE/HazardousMG/SafetyAcceptanceEdit.aspx.designer.cs @@ -39,6 +39,16 @@ namespace FineUIPro.Web.HSSE.HazardousMG /// protected global::FineUIPro.DropDownList ddlAcceptanceResult; + /// + /// ddlPatrolMan 控件。 + /// + protected global::FineUIPro.DropDownList ddlPatrolMan; + + /// + /// dpPatrolDate 控件。 + /// + protected global::FineUIPro.DatePicker dpPatrolDate; + /// /// Panel2 控件。 /// diff --git a/SGGL/FineUIPro.Web/common/Menu_CQMS.xml b/SGGL/FineUIPro.Web/common/Menu_CQMS.xml index 9f392fc..157a908 100644 --- a/SGGL/FineUIPro.Web/common/Menu_CQMS.xml +++ b/SGGL/FineUIPro.Web/common/Menu_CQMS.xml @@ -13,6 +13,7 @@ + diff --git a/SGGL/FineUIPro.Web/common/Menu_HSSE.xml b/SGGL/FineUIPro.Web/common/Menu_HSSE.xml index bb83163..2f59b8d 100644 --- a/SGGL/FineUIPro.Web/common/Menu_HSSE.xml +++ b/SGGL/FineUIPro.Web/common/Menu_HSSE.xml @@ -11,8 +11,8 @@ - - + + diff --git a/SGGL/Model/HSSE_SafetyPatrol.Code.cs b/SGGL/Model/HSSE_SafetyPatrol.Code.cs deleted file mode 100644 index 0ff640c..0000000 --- a/SGGL/Model/HSSE_SafetyPatrol.Code.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System; -using System.Data.Linq.Mapping; - -namespace Model -{ - /// - /// 【补充部分类】为 HSSE_SafetyPatrol 提供编码(Code) 列映射。 - /// 说明:该列已由数据库脚本新增(见 DataBase/版本日志/SGGLDB_V2026-08-26-001-zones.sql), - /// 但本地无 SqlMetal,未通过 CreateModel.bat 重新生成 Model.cs,故以 partial 类补齐。 - /// 注意:若以后用 CreateModel.bat 重新生成 Model.cs,SqlMetal 会把 Code 一并生成, - /// 届时请删除本文件,避免出现重复的 Code 成员导致编译错误。 - /// - public partial class HSSE_SafetyPatrol - { - [Column(Name = "Code", DbType = "NVarChar(50)")] - public string Code { get; set; } - } -} diff --git a/SGGL/Model/Model.cs b/SGGL/Model/Model.cs index 9e33287..f8d6e54 100644 --- a/SGGL/Model/Model.cs +++ b/SGGL/Model/Model.cs @@ -219760,6 +219760,12 @@ namespace Model private string _ProjectId; + private string _ProjectName; + + private string _CompileMan; + + private System.Nullable _CompileDate; + private string _RiskName; private string _RiskLevel; @@ -219784,6 +219790,12 @@ namespace Model partial void OnRiskIdChanged(); partial void OnProjectIdChanging(string value); partial void OnProjectIdChanged(); + partial void OnProjectNameChanging(string value); + partial void OnProjectNameChanged(); + partial void OnCompileManChanging(string value); + partial void OnCompileManChanged(); + partial void OnCompileDateChanging(System.Nullable value); + partial void OnCompileDateChanged(); partial void OnRiskNameChanging(string value); partial void OnRiskNameChanged(); partial void OnRiskLevelChanging(string value); @@ -219847,6 +219859,66 @@ namespace Model } } + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectName", DbType="NVarChar(200)")] + public string ProjectName + { + get + { + return this._ProjectName; + } + set + { + if ((this._ProjectName != value)) + { + this.OnProjectNameChanging(value); + this.SendPropertyChanging(); + this._ProjectName = value; + this.SendPropertyChanged("ProjectName"); + this.OnProjectNameChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CompileMan", DbType="NVarChar(50)")] + public string CompileMan + { + get + { + return this._CompileMan; + } + set + { + if ((this._CompileMan != value)) + { + this.OnCompileManChanging(value); + this.SendPropertyChanging(); + this._CompileMan = value; + this.SendPropertyChanged("CompileMan"); + this.OnCompileManChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CompileDate", DbType="DateTime")] + public System.Nullable CompileDate + { + get + { + return this._CompileDate; + } + set + { + if ((this._CompileDate != value)) + { + this.OnCompileDateChanging(value); + this.SendPropertyChanging(); + this._CompileDate = value; + this.SendPropertyChanged("CompileDate"); + this.OnCompileDateChanged(); + } + } + } + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RiskName", DbType="NVarChar(200)")] public string RiskName { @@ -220524,6 +220596,8 @@ namespace Model private string _Remarks; + private string _Code; + #region 可扩展性方法定义 partial void OnLoaded(); partial void OnValidate(System.Data.Linq.ChangeAction action); @@ -220558,6 +220632,8 @@ namespace Model partial void OnRectifyReviewChanged(); partial void OnRemarksChanging(string value); partial void OnRemarksChanged(); + partial void OnCodeChanging(string value); + partial void OnCodeChanged(); #endregion public HSSE_SafetyPatrol() @@ -220865,6 +220941,26 @@ namespace Model } } + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Code", DbType="NVarChar(50)")] + public string Code + { + get + { + return this._Code; + } + set + { + if ((this._Code != value)) + { + this.OnCodeChanging(value); + this.SendPropertyChanging(); + this._Code = value; + this.SendPropertyChanged("Code"); + this.OnCodeChanged(); + } + } + } + public event PropertyChangingEventHandler PropertyChanging; public event PropertyChangedEventHandler PropertyChanged; diff --git a/SGGL/Model/Model.csproj b/SGGL/Model/Model.csproj index f805492..249cd9f 100644 --- a/SGGL/Model/Model.csproj +++ b/SGGL/Model/Model.csproj @@ -247,7 +247,6 @@ -