风险分级管控清单改为文档式;安全防护验收新增检查人/检查时间并修复默认当前账号;实体重生成并移除旁路Code文件

- 风险分级管控清单(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 引用
This commit is contained in:
2026-08-27 15:54:05 +08:00
parent 192824ea90
commit 8b13fc67ab
17 changed files with 452 additions and 124 deletions
@@ -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));
}
}
/// <summary>
/// 初始化检查人下拉并回显检查时间。新增默认当前登录账号、当天;编辑按名称回显。
/// </summary>
/// <param name="acceptanceMan">检查人名称(回显用,可为空)</param>
/// <param name="acceptanceDate">检查时间(回显用,可为空)</param>
private void InitCheckMan(string acceptanceMan, DateTime? acceptanceDate)
{
if (this.CurrUser == null || string.IsNullOrEmpty(this.CurrUser.LoginProjectId))
{
return;
}
List<Model.Sys_User> 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()
};
////存在则更新,不存在则新增(服务层已处理)