diff --git a/DataBase/版本日志/SUBQHSE_V2025-06-09.sql b/DataBase/版本日志/SUBQHSE_V2025-06-09.sql
new file mode 100644
index 00000000..41d8d65e
--- /dev/null
+++ b/DataBase/版本日志/SUBQHSE_V2025-06-09.sql
@@ -0,0 +1,104 @@
+
+GO
+
+ALTER VIEW [dbo].[View_SitePerson_Person]
+AS
+SELECT Person.PersonId,
+ Person.CardNo,
+ Person.PersonName,
+ Person.Sex,
+ (Case Person.Sex WHEN '1' THEN '' WHEN '2' THEN 'Ů' ELSE '' END) AS SexName,
+ Person.IdentityCard,
+ Person.Address,
+ Person.ProjectId,
+ Person.UnitId,
+ Person.Birthday,
+ Person.TeamGroupId,
+ Person.WorkAreaId,
+ Person.WorkPostId,
+ Person.InTime,
+ Person.OutTime,
+ Person.OutResult,
+ Person.Telephone,
+ Person.PositionId,
+ Person.PostTitleId,
+ Person.PhotoUrl,
+ Person.IsUsed,
+ (CASE Person.IsUsed WHEN 'TRUE' THEN '' ELSE '' END) AS IsUsedName,
+ Person.IsCardUsed,
+ (CASE Person.IsCardUsed WHEN 'TRUE' THEN '' ELSE '' END) AS IsCardUsedName,
+ Person.PersonIndex,
+ Project.ProjectCode,
+ Project.ProjectName,
+ Unit.UnitCode,
+ Unit.UnitName,
+ TeamGroup.TeamGroupName,
+ --WorkArea.UnitWorkCode AS WorkAreaCode,
+ WorkAreaCode= STUFF((SELECT ',' + UnitWorkCode FROM dbo.WBS_UnitWork where PATINDEX('%,' + RTRIM(UnitWorkId) + ',%',',' +Person.WorkAreaId + ',')>0 FOR XML PATH('')), 1, 1,''),
+ --WorkArea.UnitWorkName AS WorkAreaName
+ WorkAreaName= STUFF((SELECT ',' + UnitWorkName FROM dbo.WBS_UnitWork where PATINDEX('%,' + RTRIM(UnitWorkId) + ',%',',' +Person.WorkAreaId + ',')>0 FOR XML PATH('')), 1, 1,''),
+ Post.WorkPostName,
+ Position.PositionName,
+ Title.PostTitleName,
+ Depart.DepartName,
+ Post.PostType,
+ Post.IsHsse,
+ Post.IsCQMS,
+ (SELECT COUNT(*) FROM EduTrain_TrainRecordDetail T WHERE T.PersonId=Person.PersonId) AS TrainCount,
+ Person.AuditorId,
+ sysUser.UserName AS AuditorName,
+ Person.AuditorDate,
+ Person.IDCardUrl,
+ Person.IsForeign,
+ case when Person.IsForeign=1 then '' else '' end as IsForeignStr,
+ Person.IdcardType,
+ BasicData1.dictName as IdcardTypeName,
+ Person.IdcardStartDate,
+ Person.IdcardEndDate,
+ Person.IdcardForever,
+ case when Person.IdcardForever='Y' then '' else '' end as IdcardForeverStr,
+ Person.PoliticsStatus,
+ BasicData2.dictName as PoliticsStatusName,
+ Person.IdcardAddress,
+ Person.Nation,
+ BasicData3.dictName as NationName,
+ Person.EduLevel,
+ BasicData4.dictName as EduLevelName,
+ Person.MaritalStatus,
+ BasicData5.dictName as MaritalStatusName,
+ Person.CountryCode,
+ Country.cname as CountryName,
+ Person.ProvinceCode,
+ City.cname as ProvinceName,
+ Person.MainCNProfessionalId,
+ CNProfessional.ProfessionalName as MainCNProfessionalName,
+ Person.ViceCNProfessionalId,
+ '' as ViceCNProfessionalName,
+ Person.IsOutside,
+ case when Person.IsOutside=1 then '' else '' end as IsOutsideStr,
+ Person.HeadImage,
+ RealNameAddTime,
+ Person.IsBlacklist
+FROM SitePerson_Person AS Person
+LEFT JOIN Base_Project AS Project ON Project.ProjectId=Person.ProjectId
+LEFT JOIN Base_Unit AS Unit ON Unit.UnitId = Person.UnitId
+LEFT JOIN ProjectData_TeamGroup AS TeamGroup ON TeamGroup.TeamGroupId=Person.TeamGroupId
+--LEFT JOIN WBS_UnitWork AS WorkArea ON WorkArea.UnitWorkId = Person.WorkAreaId
+LEFT JOIN Base_WorkPost AS Post ON Post.WorkPostId = Person.WorkPostId
+LEFT JOIN Base_Position AS Position ON Position.PositionId = Person.PositionId
+Left JOIN Base_PostTitle AS Title ON Title.PostTitleId = Person.PostTitleId
+Left JOIN Base_Depart AS Depart ON Depart.DepartId = Person.DepartId
+Left JOIN Sys_User AS sysUser ON sysUser.UserId = Person.AuditorId
+Left JOIN RealName_BasicData AS BasicData1 ON BasicData1.dictCode = Person.IdcardType
+Left JOIN RealName_BasicData AS BasicData2 ON BasicData2.dictCode = Person.PoliticsStatus
+Left JOIN RealName_BasicData AS BasicData3 ON BasicData3.dictCode = Person.Nation
+Left JOIN RealName_BasicData AS BasicData4 ON BasicData4.dictCode = Person.EduLevel
+Left JOIN RealName_BasicData AS BasicData5 ON BasicData5.dictCode = Person.MaritalStatus
+Left JOIN RealName_Country AS Country ON Country.CountryId = Person.CountryCode
+Left JOIN RealName_City AS City ON City.provinceCode = Person.ProvinceCode AND Country.CountryId=City.countryId
+Left JOIN Base_CNProfessional AS CNProfessional ON CNProfessional.CNProfessionalId = Person.MainCNProfessionalId
+
+
+GO
+
+
diff --git a/SGGL/BLL/HSSE/SitePerson/PersonService.cs b/SGGL/BLL/HSSE/SitePerson/PersonService.cs
index 3c4c6b51..a8d0116f 100644
--- a/SGGL/BLL/HSSE/SitePerson/PersonService.cs
+++ b/SGGL/BLL/HSSE/SitePerson/PersonService.cs
@@ -122,7 +122,7 @@ namespace BLL
/// 每页数量
///
public static IEnumerable getListData(string projectId, string unitId, string personName, string identityCard, string treamGroupId, string workPostIds,
- bool ckTrain, string postType, bool ckJT, bool ckIdCardInfoNotOK, bool chManager, Grid Grid1,bool isBlack=false)
+ bool ckTrain, string postType, bool ckJT, bool ckIdCardInfoNotOK, bool chManager, bool isHsse, bool isCQMS, Grid Grid1,bool isBlack=false)
{
IQueryable getPersonList = getPersonLists.Where(x => x.ProjectId == projectId);
if (!string.IsNullOrEmpty(unitId))
@@ -184,6 +184,14 @@ namespace BLL
{
getPersonList = getPersonList.Where(x => x.PostType == Const.PostType_1);
}
+ if (isHsse == true)
+ {
+ getPersonList = getPersonList.Where(x => x.IsHsse == true);
+ }
+ if (isCQMS == true)
+ {
+ getPersonList = getPersonList.Where(x => x.IsCQMS == true);
+ }
if (ckIdCardInfoNotOK)
{
getPersonList = getPersonList.Where(x => x.IdentityCard == null || x.HeadImage == null || (x.IdentityCard.Length != 15 && x.IdentityCard.Length != 18));
diff --git a/SGGL/FineUIPro.Web/HSSE/SitePerson/BlackPersonList.aspx b/SGGL/FineUIPro.Web/HSSE/SitePerson/BlackPersonList.aspx
index 8b61b228..6ed7b10a 100644
--- a/SGGL/FineUIPro.Web/HSSE/SitePerson/BlackPersonList.aspx
+++ b/SGGL/FineUIPro.Web/HSSE/SitePerson/BlackPersonList.aspx
@@ -32,6 +32,12 @@
Width="200px" LabelWidth="70px"
LabelAlign="right">
+
+
+
+
@@ -51,10 +57,10 @@
-
-
diff --git a/SGGL/FineUIPro.Web/HSSE/SitePerson/BlackPersonList.aspx.cs b/SGGL/FineUIPro.Web/HSSE/SitePerson/BlackPersonList.aspx.cs
index b68e625d..2414ff93 100644
--- a/SGGL/FineUIPro.Web/HSSE/SitePerson/BlackPersonList.aspx.cs
+++ b/SGGL/FineUIPro.Web/HSSE/SitePerson/BlackPersonList.aspx.cs
@@ -77,7 +77,7 @@ namespace FineUIPro.Web.HSSE.SitePerson
var getData = PersonService.getListData(this.ProjectId, unitId, this.txtPersonName.Text.Trim(), this.txtIdentityCard.Text.Trim(),
"", Funs.GetStringByArray(this.drpPost.SelectedValueArray), this.ckTrain.Checked, this.rblPost.SelectedValue, this.ckJT.Checked,
- false, this.chManager.Checked, Grid1, true);
+ false, this.chManager.Checked, this.chIsHsse.Checked, this.chIsCQMS.Checked, Grid1, true);
Grid1.RecordCount = PersonService.count;
Grid1.DataSource = getData;
Grid1.DataBind();
diff --git a/SGGL/FineUIPro.Web/HSSE/SitePerson/BlackPersonList.aspx.designer.cs b/SGGL/FineUIPro.Web/HSSE/SitePerson/BlackPersonList.aspx.designer.cs
index 3a197e0b..f2df7fad 100644
--- a/SGGL/FineUIPro.Web/HSSE/SitePerson/BlackPersonList.aspx.designer.cs
+++ b/SGGL/FineUIPro.Web/HSSE/SitePerson/BlackPersonList.aspx.designer.cs
@@ -86,6 +86,24 @@ namespace FineUIPro.Web.HSSE.SitePerson
///
protected global::FineUIPro.TextBox txtIdentityCard;
+ ///
+ /// ckJT 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.CheckBox ckJT;
+
+ ///
+ /// ckTrain 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.CheckBox ckTrain;
+
///
/// btSearch 控件。
///
@@ -123,22 +141,22 @@ namespace FineUIPro.Web.HSSE.SitePerson
protected global::FineUIPro.CheckBox chManager;
///
- /// ckJT 控件。
+ /// chIsHsse 控件。
///
///
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
- protected global::FineUIPro.CheckBox ckJT;
+ protected global::FineUIPro.CheckBox chIsHsse;
///
- /// ckTrain 控件。
+ /// chIsCQMS 控件。
///
///
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
- protected global::FineUIPro.CheckBox ckTrain;
+ protected global::FineUIPro.CheckBox chIsCQMS;
///
/// ToolbarFill1 控件。
diff --git a/SGGL/FineUIPro.Web/HSSE/SitePerson/PersonList.aspx b/SGGL/FineUIPro.Web/HSSE/SitePerson/PersonList.aspx
index 81121b66..89d54e52 100644
--- a/SGGL/FineUIPro.Web/HSSE/SitePerson/PersonList.aspx
+++ b/SGGL/FineUIPro.Web/HSSE/SitePerson/PersonList.aspx
@@ -65,6 +65,15 @@
Width="200px" LabelWidth="70px"
LabelAlign="right">
+
+
+
+
+
+
@@ -85,13 +94,10 @@
-
-
-
-
diff --git a/SGGL/FineUIPro.Web/HSSE/SitePerson/PersonList.aspx.cs b/SGGL/FineUIPro.Web/HSSE/SitePerson/PersonList.aspx.cs
index 749c9145..f44f4874 100644
--- a/SGGL/FineUIPro.Web/HSSE/SitePerson/PersonList.aspx.cs
+++ b/SGGL/FineUIPro.Web/HSSE/SitePerson/PersonList.aspx.cs
@@ -182,7 +182,7 @@ namespace FineUIPro.Web.HSSE.SitePerson
var getData = PersonService.getListData(this.ProjectId, unitId, this.txtPersonName.Text.Trim(), this.txtIdentityCard.Text.Trim(),
this.drpTreamGroup.SelectedValue, Funs.GetStringByArray(this.drpPost.SelectedValueArray), this.ckTrain.Checked, this.rblPost.SelectedValue, this.ckJT.Checked,
- this.ckIdCardInfoNotOK.Checked, this.chManager.Checked, Grid1);
+ this.ckIdCardInfoNotOK.Checked, this.chManager.Checked, this.chIsHsse.Checked, this.chIsCQMS.Checked, Grid1);
Grid1.RecordCount = PersonService.count;
Grid1.DataSource = getData;
Grid1.DataBind();
diff --git a/SGGL/FineUIPro.Web/HSSE/SitePerson/PersonList.aspx.designer.cs b/SGGL/FineUIPro.Web/HSSE/SitePerson/PersonList.aspx.designer.cs
index f3d638ba..fdf1ca21 100644
--- a/SGGL/FineUIPro.Web/HSSE/SitePerson/PersonList.aspx.designer.cs
+++ b/SGGL/FineUIPro.Web/HSSE/SitePerson/PersonList.aspx.designer.cs
@@ -140,6 +140,33 @@ namespace FineUIPro.Web.HSSE.SitePerson
///
protected global::FineUIPro.TextBox txtIdentityCard;
+ ///
+ /// ckJT 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.CheckBox ckJT;
+
+ ///
+ /// ckTrain 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.CheckBox ckTrain;
+
+ ///
+ /// ckIdCardInfoNotOK 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.CheckBox ckIdCardInfoNotOK;
+
///
/// btSearch 控件。
///
@@ -186,31 +213,22 @@ namespace FineUIPro.Web.HSSE.SitePerson
protected global::FineUIPro.CheckBox chManager;
///
- /// ckJT 控件。
+ /// chIsHsse 控件。
///
///
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
- protected global::FineUIPro.CheckBox ckJT;
+ protected global::FineUIPro.CheckBox chIsHsse;
///
- /// ckTrain 控件。
+ /// chIsCQMS 控件。
///
///
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
- protected global::FineUIPro.CheckBox ckTrain;
-
- ///
- /// ckIdCardInfoNotOK 控件。
- ///
- ///
- /// 自动生成的字段。
- /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
- ///
- protected global::FineUIPro.CheckBox ckIdCardInfoNotOK;
+ protected global::FineUIPro.CheckBox chIsCQMS;
///
/// ToolbarFill1 控件。
diff --git a/SGGL/Model/Model.cs b/SGGL/Model/Model.cs
index 93863743..61b47f82 100644
--- a/SGGL/Model/Model.cs
+++ b/SGGL/Model/Model.cs
@@ -449643,6 +449643,8 @@ namespace Model
private System.Nullable _IsHsse;
+ private System.Nullable _IsCQMS;
+
private System.Nullable _TrainCount;
private string _AuditorId;
@@ -450325,6 +450327,22 @@ namespace Model
}
}
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsCQMS", DbType="Bit")]
+ public System.Nullable IsCQMS
+ {
+ get
+ {
+ return this._IsCQMS;
+ }
+ set
+ {
+ if ((this._IsCQMS != value))
+ {
+ this._IsCQMS = value;
+ }
+ }
+ }
+
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TrainCount", DbType="Int")]
public System.Nullable TrainCount
{