This commit is contained in:
杨红卫 2021-07-09 16:47:06 +08:00
parent e092c6cfb0
commit ff100e0b7b
9 changed files with 310 additions and 57 deletions

View File

@ -0,0 +1,14 @@
ALTER TABLE Base_Project ADD JTProjectCode nvarchar(50) null
go
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'¼¯ÍŶԽÓÏîÄ¿ºÅ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Base_Project', @level2type=N'COLUMN',@level2name=N'JTProjectCode'
GO
update Base_Project set JTProjectCode = ProjectCode
go
update RealName_SynchroSet set proCode=(select JTProjectCode from Base_Project where RealName_SynchroSet.proCode=ProjectCode)
GO
update SitePerson_PersonInOutNow set proCode=(select JTProjectCode from Base_Project where SitePerson_PersonInOutNow.proCode=ProjectCode)
GO
update RealName_PersonInOutNow set proCode=(select JTProjectCode from Base_Project where RealName_PersonInOutNow.proCode=ProjectCode)
GO

View File

@ -0,0 +1,98 @@
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,
(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
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
Left JOIN Base_CNProfessional AS CNProfessional ON CNProfessional.CNProfessionalId = Person.MainCNProfessionalId
GO

View File

@ -0,0 +1,100 @@
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,
(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
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
Left JOIN Base_CNProfessional AS CNProfessional ON CNProfessional.CNProfessionalId = Person.MainCNProfessionalId
GO

View File

@ -24,7 +24,7 @@
EnableCollapse="true" Width="250" Title="人员信息" TitleToolTip="人员信息" ShowBorder="true"
ShowHeader="false" AutoScroll="true" BodyPadding="5px" IconFont="ArrowCircleLeft" Layout="Fit">
<Items>
<f:Tree ID="tvProjectAndUnit" EnableCollapse="true" ShowHeader="false" Title="所属项目单位" OnNodeCommand="tvProjectAndUnit_NodeCommand" AutoLeafIdentification="true" runat="server" ShowBorder="false"
<f:Tree ID="tvProjectAndUnit" EnableCollapse="true" ShowHeader="false" Title="所属单位" OnNodeCommand="tvProjectAndUnit_NodeCommand" AutoLeafIdentification="true" runat="server" ShowBorder="false"
EnableTextSelection="True">
</f:Tree>
</Items>
@ -70,13 +70,15 @@
</Toolbars>
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Top" ToolbarAlign="Right" runat="server">
<Items>
<f:CheckBox runat="server" ID="ckIdCardInfoNotOK" Label="身份信息不齐全" LabelAlign="right" LabelWidth="120px">
<Items>
<f:CheckBox runat="server" ID="ckIdCardInfoNotOK" Label="信息不全" LabelAlign="right" LabelWidth="80px">
</f:CheckBox>
<f:CheckBox runat="server" ID="ckTrain" Label="未参加培训" LabelAlign="right">
<f:CheckBox runat="server" ID="ckIspost" Label="未在岗" LabelAlign="right" LabelWidth="80px">
</f:CheckBox>
<f:CheckBox runat="server" ID="ckJT" Label="未同步" LabelAlign="right" LabelWidth="80px">
</f:CheckBox>
<f:CheckBox runat="server" ID="ckTrain" Label="未培训" LabelAlign="right" LabelWidth="80px">
</f:CheckBox>
<f:Label runat="server" Text="红色表示未进行过任何培训人员。" CssClass="LabelColor"></f:Label>
<f:ToolbarFill ID="ToolbarFill1" runat="server"></f:ToolbarFill>
<f:Button ID="btSearch" ToolTip="查询" Icon="SystemSearch" runat="server" OnClick="TextBox_TextChanged"></f:Button>
<f:Button ID="btnNew" ToolTip="增加" Icon="Add" runat="server" Hidden="true" OnClick="btnNew_Click">

View File

@ -179,7 +179,6 @@ namespace FineUIPro.Web.HSSE.SitePerson
unitId = str[0];
}
}
string strSql = "select * from View_SitePerson_Person Where ProjectId=@ProjectId ";
List<SqlParameter> listStr = new List<SqlParameter>
{
@ -190,17 +189,11 @@ namespace FineUIPro.Web.HSSE.SitePerson
strSql += " AND UnitId =@UnitId ";
listStr.Add(new SqlParameter("@UnitId", unitId));
}
//else
//{
// strSql += " AND UnitId IS NULL";
//}
if (!string.IsNullOrEmpty(this.txtPersonName.Text.Trim()))
{
strSql += " AND PersonName LIKE @PersonName";
listStr.Add(new SqlParameter("@PersonName", "%" + this.txtPersonName.Text.Trim() + "%"));
}
if (!string.IsNullOrEmpty(this.txtCardNo.Text.Trim()))
{
strSql += " AND CardNo LIKE @CardNo";
@ -238,9 +231,17 @@ namespace FineUIPro.Web.HSSE.SitePerson
{
strSql += " AND TrainCount =0";
}
if (this.ckIspost.Checked)
{
strSql += " AND IsUsedName ='否'";
}
if (this.ckJT.Checked)
{
strSql += " AND RealNameAddTime IS NULL";
}
if (this.ckIdCardInfoNotOK.Checked)
{
strSql += " AND (IdcardType is null or IdentityCard is null or PhotoUrl is null or (select count(*) from AttachFile where ToKeyId=PersonId+'#1')=0 or (select count(*) from AttachFile where ToKeyId=PersonId+'#5')=0)";
strSql += " AND (IdcardType is null or IdentityCard is null or PhotoUrl is null or HeadImage IS NULL OR (LEN(IdentityCard) != 15 AND LEN(IdentityCard) != 18))";
}
SqlParameter[] parameter = listStr.ToArray();
@ -250,20 +251,6 @@ namespace FineUIPro.Web.HSSE.SitePerson
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
for (int i = 0; i < Grid1.Rows.Count; i++)
{
string personId = Grid1.Rows[i].DataKeys[0].ToString();
var isNull = from x in db.EduTrain_TrainRecordDetail
join y in db.EduTrain_TrainRecord on x.TrainingId equals y.TrainingId
where y.ProjectId == this.ProjectId && x.PersonId == personId
select x;
if (isNull.Count() == 0) ////未参加过培训的人员
{
Grid1.Rows[i].RowCssClass = "Red";
}
}
}
}
#endregion
@ -594,7 +581,7 @@ namespace FineUIPro.Web.HSSE.SitePerson
Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("人员信息" + filename, System.Text.Encoding.UTF8) + ".xls");
Response.ContentType = "application/excel";
Response.ContentEncoding = System.Text.Encoding.UTF8;
//this.Grid1.PageSize = this.;
this.Grid1.PageSize = this.Grid1.RecordCount;
BindGrid();
Response.Write(GetGridTableHtml(Grid1));
Response.End();
@ -734,11 +721,14 @@ namespace FineUIPro.Web.HSSE.SitePerson
var getPersons = from x in Funs.DB.SitePerson_Person
where x.ProjectId == this.ProjectId && x.HeadImage == null && x.PhotoUrl != null
select x;
int num = 0;
foreach (var item in getPersons)
{
item.HeadImage = AttachFileService.SetImageToByteArray(Funs.RootPath + item.PhotoUrl);
Funs.DB.SubmitChanges();
num++;
}
ShowNotify("操作完成,新转二进制照片" + num.ToString() + "条", MessageBoxIcon.Success);
}
}
}

View File

@ -165,6 +165,24 @@ namespace FineUIPro.Web.HSSE.SitePerson {
/// </remarks>
protected global::FineUIPro.CheckBox ckIdCardInfoNotOK;
/// <summary>
/// ckIspost 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.CheckBox ckIspost;
/// <summary>
/// ckJT 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.CheckBox ckJT;
/// <summary>
/// ckTrain 控件。
/// </summary>

View File

@ -104,6 +104,8 @@
</f:DatePicker>
<f:DatePicker ID="txtInTime" runat="server" Label="入场时间" LabelAlign="Right" LabelWidth="110px" ShowRedStar="true" Required="true">
</f:DatePicker>
<f:DatePicker ID="txtOutTime" runat="server" Label="出场时间" LabelAlign="Right" LabelWidth="110px">
</f:DatePicker>
</Items>
</f:Panel>
<f:Panel ID="Panel4" runat="server" BoxFlex="3" ShowBorder="false" ShowHeader="false"
@ -143,7 +145,8 @@
<f:RadioItem Value="True" Text="是" />
<f:RadioItem Value="False" Text="否" />
</f:RadioButtonList>
<f:TextBox ID="txtOutResult" runat="server" Label="出场原因" LabelAlign="Right" MaxLength="50">
</f:TextBox>
</Items>
</f:Panel>
<f:Panel ID="Panel5" Title="面板1" BoxFlex="2" runat="server" ShowBorder="false" ShowHeader="false"
@ -220,17 +223,9 @@
<f:FormRow>
<Items>
<f:TextBox ID="txtAddress" runat="server" Label="家庭地址" MaxLength="500" LabelAlign="Right" >
</f:TextBox>
<f:DatePicker ID="txtOutTime" runat="server" Label="出场时间" LabelAlign="Right">
</f:DatePicker>
</f:TextBox>
</Items>
</f:FormRow>
<f:FormRow ColumnWidths="100%">
<Items>
<f:TextBox ID="txtOutResult" runat="server" Label="出场原因" LabelAlign="Right" MaxLength="50">
</f:TextBox>
</Items>
</f:FormRow>
</Rows>
</f:Form>
</Items>

View File

@ -273,6 +273,15 @@ namespace FineUIPro.Web.HSSE.SitePerson {
/// </remarks>
protected global::FineUIPro.DatePicker txtInTime;
/// <summary>
/// txtOutTime 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtOutTime;
/// <summary>
/// Panel4 控件。
/// </summary>
@ -390,6 +399,15 @@ namespace FineUIPro.Web.HSSE.SitePerson {
/// </remarks>
protected global::FineUIPro.RadioButtonList rblIsUsed;
/// <summary>
/// txtOutResult 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtOutResult;
/// <summary>
/// Panel5 控件。
/// </summary>
@ -552,24 +570,6 @@ namespace FineUIPro.Web.HSSE.SitePerson {
/// </remarks>
protected global::FineUIPro.TextBox txtAddress;
/// <summary>
/// txtOutTime 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtOutTime;
/// <summary>
/// txtOutResult 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtOutResult;
/// <summary>
/// Window1 控件。
/// </summary>

View File

@ -326566,6 +326566,10 @@ namespace Model
private string _IsOutsideStr;
private System.Data.Linq.Binary _HeadImage;
private System.Nullable<System.DateTime> _RealNameAddTime;
public View_SitePerson_Person()
{
}
@ -327689,6 +327693,38 @@ namespace Model
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_HeadImage", DbType="Image", CanBeNull=true, UpdateCheck=UpdateCheck.Never)]
public System.Data.Linq.Binary HeadImage
{
get
{
return this._HeadImage;
}
set
{
if ((this._HeadImage != value))
{
this._HeadImage = value;
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RealNameAddTime", DbType="DateTime")]
public System.Nullable<System.DateTime> RealNameAddTime
{
get
{
return this._RealNameAddTime;
}
set
{
if ((this._RealNameAddTime != value))
{
this._RealNameAddTime = value;
}
}
}
}
[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.View_Solution_LargerHazardListItem")]