From e0f256688a2ed68ae5d42297307bb01e8d3c8f4f Mon Sep 17 00:00:00 2001 From: yhw0507 Date: Thu, 8 Sep 2022 17:43:46 +0800 Subject: [PATCH] =?UTF-8?q?20220908=20=E4=BA=BA=E5=91=98=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DataBase/版本日志/SGGLDB_V2022-09-08.sql | 95 +++++++++++++++++++ SGGL/BLL/Person/Person_PersonsService.cs | 10 ++ .../HSSE/SitePerson/PersonList.aspx | 2 + .../HSSE/SitePerson/PersonList.aspx.cs | 9 +- SGGL/FineUIPro.Web/Person/PersonEdit.aspx | 3 +- SGGL/FineUIPro.Web/Person/PersonEdit.aspx.cs | 17 +++- .../Person/PersonEdit.aspx.designer.cs | 9 ++ 7 files changed, 139 insertions(+), 6 deletions(-) create mode 100644 DataBase/版本日志/SGGLDB_V2022-09-08.sql diff --git a/DataBase/版本日志/SGGLDB_V2022-09-08.sql b/DataBase/版本日志/SGGLDB_V2022-09-08.sql new file mode 100644 index 00000000..02b5c583 --- /dev/null +++ b/DataBase/版本日志/SGGLDB_V2022-09-08.sql @@ -0,0 +1,95 @@ +ALTER VIEW [dbo].[View_SitePerson_Person] +AS +/*ֳԱͼ*/ +SELECT SitePerson.ProjectId, + Project.ProjectCode, + Project.ProjectName, + SitePerson.SitePersonId, + persons.PersonId, + SitePerson.CardNo, + Persons.PersonName, + Persons.Sex, + (Case Persons.Sex WHEN '1' THEN '' WHEN '2' THEN 'Ů' ELSE '' END) AS SexName, + Persons.IdentityCard, + Persons.Address, + SitePerson.UnitId, + Persons.Birthday, + SitePerson.TeamGroupId, + SitePerson.WorkAreaId, + SitePerson.WorkPostId, + SitePerson.InTime, + SitePerson.OutTime, + SitePerson.OutResult, + Persons.Telephone, + Persons.PositionId, + Persons.PostTitleId, + Persons.PhotoUrl, + Unit.UnitCode, + Unit.UnitName, + TeamGroup.TeamGroupName, + Post.WorkPostName, + Position.PositionName, + Title.PostTitleName, + Depart.DepartName, + Post.PostType, + Post.IsHsse, + (SELECT COUNT(*) FROM EduTrain_TrainRecordDetail T + LEFT JOIN EduTrain_TrainRecord AS E ON T.TrainingId=E.TrainingId + WHERE T.PersonId=SitePerson.PersonId AND E.ProjectId=SitePerson.ProjectId) AS TrainCount, + (SELECT COUNT(*) FROM Training_TestRecord R + WHERE R.TestManId=SitePerson.PersonId AND R.ProjectId=SitePerson.ProjectId and R.TestScores > 80) AS TrainCount1, + SitePerson.AuditorId, + Persons.PersonName AS AuditorName, + SitePerson.AuditorDate, + Persons.IDCardUrl, + Persons.IsForeign, + case when Persons.IsForeign=1 then '' else '' end as IsForeignStr, + Persons.IdcardType, + BasicData1.dictName as IdcardTypeName, + Persons.IdcardStartDate, + Persons.IdcardEndDate, + Persons.IdcardForever, + case when Persons.IdcardForever='Y' then '' else '' end as IdcardForeverStr, + Persons.PoliticsStatus, + BasicData2.dictName as PoliticsStatusName, + Persons.IdcardAddress, + Persons.Nation, + BasicData3.dictName as NationName, + Persons.EduLevel, + BasicData4.dictName as EduLevelName, + Persons.MaritalStatus, + BasicData5.dictName as MaritalStatusName, + Persons.CountryCode, + Country.cname as CountryName, + Persons.ProvinceCode, + City.cname as ProvinceName, + Persons.PersonType, + (case when Persons.PersonType='2' then 'Ƹ' when Persons.PersonType='3' then '' else 'Ա' end) as IsOutsideStr, + --WorkArea.UnitWorkCode AS WorkAreaCode, + WorkAreaCode= STUFF((SELECT ',' + UnitWorkCode FROM dbo.WBS_UnitWork where PATINDEX('%,' + RTRIM(UnitWorkId) + ',%',',' +SitePerson.WorkAreaId + ',')>0 FOR XML PATH('')), 1, 1,''), + --WorkArea.UnitWorkName AS WorkAreaName + WorkAreaName= STUFF((SELECT ',' + UnitWorkName FROM dbo.WBS_UnitWork where PATINDEX('%,' + RTRIM(UnitWorkId) + ',%',',' +SitePerson.WorkAreaId + ',')>0 FOR XML PATH('')), 1, 1,''), + SitePerson.RealNameAddTime, + SitePerson.RealNameUpdateTime, + Persons.HeadImage, + SitePerson.States +FROM SitePerson_Person AS SitePerson +LEFT JOIN Person_Persons AS Persons ON SitePerson.PersonId=Persons.PersonId +LEFT JOIN Base_Project AS Project ON Project.ProjectId=SitePerson.ProjectId +LEFT JOIN Base_Unit AS Unit ON Unit.UnitId = SitePerson.UnitId +LEFT JOIN ProjectData_TeamGroup AS TeamGroup ON TeamGroup.TeamGroupId=SitePerson.TeamGroupId +LEFT JOIN Base_WorkPost AS Post ON Post.WorkPostId = SitePerson.WorkPostId +LEFT JOIN Base_Position AS Position ON Position.PositionId = Persons.PositionId +Left JOIN Base_PostTitle AS Title ON Title.PostTitleId = Persons.PostTitleId +Left JOIN Base_Depart AS Depart ON Depart.DepartId = Persons.DepartId +Left JOIN RealName_BasicData AS BasicData1 ON BasicData1.dictCode = Persons.IdcardType +Left JOIN RealName_BasicData AS BasicData2 ON BasicData2.dictCode = Persons.PoliticsStatus +Left JOIN RealName_BasicData AS BasicData3 ON BasicData3.dictCode = Persons.Nation +Left JOIN RealName_BasicData AS BasicData4 ON BasicData4.dictCode = Persons.EduLevel +Left JOIN RealName_BasicData AS BasicData5 ON BasicData5.dictCode = Persons.MaritalStatus +Left JOIN RealName_Country AS Country ON Country.CountryId = Persons.CountryCode +Left JOIN RealName_City AS City ON City.provinceCode = Persons.ProvinceCode and City.CountryId = Persons.CountryCode + +GO + + diff --git a/SGGL/BLL/Person/Person_PersonsService.cs b/SGGL/BLL/Person/Person_PersonsService.cs index 37a12b5e..a604d7d1 100644 --- a/SGGL/BLL/Person/Person_PersonsService.cs +++ b/SGGL/BLL/Person/Person_PersonsService.cs @@ -1,5 +1,6 @@ using FineUIPro; using Model; +using System; using System.Collections; using System.Collections.Generic; using System.IO; @@ -710,6 +711,15 @@ namespace BLL { SetProjectPersonUnit(person); } + /// 人员不在职位,当前人所在项目 都出场 + if (person.IsPost == false) + { + var getSitePersons = from x in db.SitePerson_Person where x.PersonId == person.PersonId && x.States != Const.ProjectPersonStates_2 select x; + foreach (var item in getSitePersons) + { + SitePerson_PersonService.SetSitePerson_PersonStates(item.SitePersonId, Const.ProjectPersonStates_2, DateTime.Now); + } + } } } } diff --git a/SGGL/FineUIPro.Web/HSSE/SitePerson/PersonList.aspx b/SGGL/FineUIPro.Web/HSSE/SitePerson/PersonList.aspx index 3af1c646..e5a883a1 100644 --- a/SGGL/FineUIPro.Web/HSSE/SitePerson/PersonList.aspx +++ b/SGGL/FineUIPro.Web/HSSE/SitePerson/PersonList.aspx @@ -145,6 +145,8 @@ + diff --git a/SGGL/FineUIPro.Web/HSSE/SitePerson/PersonList.aspx.cs b/SGGL/FineUIPro.Web/HSSE/SitePerson/PersonList.aspx.cs index 8e6f0a6b..60b12ccb 100644 --- a/SGGL/FineUIPro.Web/HSSE/SitePerson/PersonList.aspx.cs +++ b/SGGL/FineUIPro.Web/HSSE/SitePerson/PersonList.aspx.cs @@ -188,7 +188,7 @@ namespace FineUIPro.Web.HSSE.SitePerson } string strSql = @"SELECT ProjectId,SitePersonId,PersonId,PersonName,IdentityCard,CardNo,PersonName - ,WorkPostId,WorkPostName,UnitId,UnitName,TeamGroupId,TeamGroupName,InTime,RealNameAddTime,States,TrainCount + ,WorkPostId,WorkPostName,UnitId,UnitName,TeamGroupId,TeamGroupName,InTime,RealNameAddTime,States,TrainCount,TrainCount1 FROM View_SitePerson_Person Where ProjectId=@ProjectId "; List listStr = new List @@ -263,13 +263,14 @@ namespace FineUIPro.Web.HSSE.SitePerson for (int i = 0; i < Grid1.Rows.Count; i++) { // string personId = Grid1.Rows[i].DataKeys[0].ToString(); + var tCount = Grid1.Rows[i].Values[8].ToString(); + var tCount1 = Grid1.Rows[i].Values[9].ToString(); - var tCount = Grid1.Rows[0].Values[8].ToString(); - if (tCount == "0") ////未参加过培训的人员 + if (tCount == "0" && tCount1 == "0") ////未参加过培训的人员 { Grid1.Rows[i].RowCssClass = "Red"; } - var getPerson = Grid1.Rows[0].Values[6].ToString(); + var getPerson = Grid1.Rows[i].Values[6].ToString(); if (getPerson != null) { int j = this.Grid1.Columns.Count - 1; diff --git a/SGGL/FineUIPro.Web/Person/PersonEdit.aspx b/SGGL/FineUIPro.Web/Person/PersonEdit.aspx index 8ad189a8..ee89e063 100644 --- a/SGGL/FineUIPro.Web/Person/PersonEdit.aspx +++ b/SGGL/FineUIPro.Web/Person/PersonEdit.aspx @@ -127,12 +127,13 @@ - + + diff --git a/SGGL/FineUIPro.Web/Person/PersonEdit.aspx.cs b/SGGL/FineUIPro.Web/Person/PersonEdit.aspx.cs index d2c29c52..750f2234 100644 --- a/SGGL/FineUIPro.Web/Person/PersonEdit.aspx.cs +++ b/SGGL/FineUIPro.Web/Person/PersonEdit.aspx.cs @@ -76,6 +76,7 @@ namespace FineUIPro.Web.Person this.txtPersonName.Text = person.PersonName; this.txtJobNum.Text = person.JobNum; this.drpUnit.SelectedValue = person.UnitId; + this.ckIsPost.Checked = person.IsPost.Value; if (!string.IsNullOrEmpty(person.DepartId)) { this.drpDepart.SelectedValue = person.DepartId; @@ -504,7 +505,7 @@ namespace FineUIPro.Web.Person RelativeTel = this.txtRelativeTel.Text.Trim(), Address = this.txtAddress.Text.Trim(), SignatureUrl = this.SignatureUrl, - IsPost = true, + IsPost = this.ckIsPost.Checked, }; newPerson.RoleIds = Funs.GetStringByArray(this.drpRole.SelectedValueArray); @@ -1049,6 +1050,20 @@ namespace FineUIPro.Web.Person } } #endregion + #endregion + + /// + /// + /// + /// + /// + protected void ckIsPost_CheckedChanged(object sender, CheckedEventArgs e) + { + if (!this.ckIsPost.Checked) + { + Alert.ShowInParent("人员不在职,则当前人所在的所有项目都将离场!", MessageBoxIcon.Warning); + } + } } } \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/Person/PersonEdit.aspx.designer.cs b/SGGL/FineUIPro.Web/Person/PersonEdit.aspx.designer.cs index 08cbc1df..30779c3b 100644 --- a/SGGL/FineUIPro.Web/Person/PersonEdit.aspx.designer.cs +++ b/SGGL/FineUIPro.Web/Person/PersonEdit.aspx.designer.cs @@ -239,6 +239,15 @@ namespace FineUIPro.Web.Person /// protected global::FineUIPro.RadioButtonList rblSex; + /// + /// ckIsPost 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.CheckBox ckIsPost; + /// /// txtBirthday 控件。 ///