diff --git a/DataBase/版本日志/SUBQHSE_V2025-10-29-gh(施工人力).sql b/DataBase/版本日志/SUBQHSE_V2025-10-29-gh(施工人力).sql new file mode 100644 index 00000000..029c1db9 --- /dev/null +++ b/DataBase/版本日志/SUBQHSE_V2025-10-29-gh(施工人力).sql @@ -0,0 +1,32 @@ + + +INSERT INTO [dbo].[Sys_Menu] ( [MenuId], [MenuName], [Icon], [Url], [SortIndex], [SuperMenu], [MenuType], [IsOffice], [IsEnd], [IsUsed] ) +VALUES + ( N'AF67CC3D-A130-4074-AF31-803A9F3C7202', N'人力预警', NULL, N'JDGL/SGManPower/SGWarningDetailsEdit.aspx', 40, N'1BCD283A-F33C-488C-8FCA-F7B7B9C1A003', N'Menu_JDGL', '0', '0', '1' ); + go + + +--创建人员考勤表的视图(统计项目,单位,装置,岗位具体考勤人数) +CREATE VIEW [View_EmployInOutRecord] AS + +SELECT + e.ProjectId, + e.UnitId, + e.PostId, + e.RecordDate, + p.WorkAreaId AS UnitWorkId, + COUNT ( 1 ) AS ActualQuantity +FROM + T_d_EmployInOutRecord e + INNER JOIN SitePerson_Person p ON e.IDCardNo = p.IdentityCard + AND e.ProjectId = p.ProjectId +WHERE + e.PostId IS NOT NULL + AND e.PostId != '' + AND e.ManHours = '8' +GROUP BY + e.ProjectId, + e.UnitId, + e.PostId, + e.RecordDate, + p.WorkAreaId \ No newline at end of file diff --git a/DataBase/版本日志/SUBQHSE_V2025-11-07-xiaj.sql b/DataBase/版本日志/SUBQHSE_V2025-11-07-xiaj.sql new file mode 100644 index 00000000..b8518379 --- /dev/null +++ b/DataBase/版本日志/SUBQHSE_V2025-11-07-xiaj.sql @@ -0,0 +1,3 @@ + +ALTER TABLE BS_Welder +ALTER COLUMN WED_Class NVARCHAR(500); \ No newline at end of file diff --git a/DataBase/版本日志/SUBQHSE_V2025-11-11-geh(全部事项).sql b/DataBase/版本日志/SUBQHSE_V2025-11-11-geh(全部事项).sql new file mode 100644 index 00000000..88a374b8 --- /dev/null +++ b/DataBase/版本日志/SUBQHSE_V2025-11-11-geh(全部事项).sql @@ -0,0 +1,75 @@ +--关键事项 + +Alter PROCEDURE [dbo].[Sp_GJSX_getlist] + -- Add the parameters for the stored procedure here + @ProjectId nvarchar(max), + @sql_where varchar(max) +AS +BEGIN + IF EXISTS(select * from tempdb..sysobjects where id=object_id('tempdb..#GJSX_List')) + BEGIN + DROP TABLE #GJSX_List + END + DECLARE @Sql NVARCHAR(max) + select * into #GJSX_List + from( + select + a.GJSXID + ,a.ProjectId + ,a.detail + ,b.username + ,a.createDate + ,User_ReceiveID=STUFF(( SELECT ',' + p2.UserName FROM dbo.Sys_User as p2 where PATINDEX('%,' + RTRIM(p2.UserId) + ',%',',' +a.User_ReceiveID + ',') >0 FOR XML PATH('')), 1, 1,'') + , CNProfessionalId=STUFF(( SELECT ',' + Base_CNProfessional.ProfessionalName FROM dbo.Base_CNProfessional where PATINDEX('%,' + RTRIM(Base_CNProfessional.CNProfessionalId) + ',%',',' +a.CNProfessional_ID + ',') >0 FOR XML PATH('')), 1, 1,'') + ,Base_Project.ProjectName + ,Base_Unit.unitname + ,a.CloseDate + --,a.state + --,case a.state when 2 then '正在进行' when 3 then '正在进行' when 0 then '已关闭' when 1 then '编辑中' end as stateStr + ,case a.state when 2 then (case when GETDATE()>a.CompleteDate then 4 else a.state end) when 3 then (case when GETDATE()>a.CompleteDate then 4 else a.state end) when 0 then a.state when 1 then a.state end as state + ,case a.state when 2 then (case when GETDATE()>a.CompleteDate then '已超期' else '正在进行' end) when 3 then (case when GETDATE()>a.CompleteDate then '已超期' else '正在进行' end) when 0 then '已关闭' when 1 then '编辑中' end as stateStr + ,QuestionTypeName=STUFF(( SELECT ',' + Base_QuestionType.QuestionTypeName FROM dbo.Base_QuestionType where PATINDEX('%,' + RTRIM(Base_QuestionType.QuestionTypeID) + ',%',',' +a.QuestionTypeID + ',') >0 FOR XML PATH('')), 1, 1,'') + ,GJSXTypeName = STUFF((SELECT ',' + Base_GJSXType.GJSXTypeName FROM dbo.Base_GJSXType where PATINDEX('%,' + RTRIM(Base_GJSXType.GJSXTypeID) + ',%', ',' + a.GJSXTypeID + ',') > 0 FOR XML PATH('')), 1, 1,'') + ,a.IsManypeople + ,a.CompleteDate + ,a.AttachUrl + ,user_Acceptance =STUFF(( SELECT ',' + p2.UserName FROM dbo.Sys_User as p2 where PATINDEX('%,' + RTRIM(p2.UserId) + ',%',',' +a.user_Acceptance + ',') >0 FOR XML PATH('')), 1, 1,'') + ,(select top 1 ProgressStatus+':'+Progress_detail from GJSX_detail where GJSXID=a.GJSXID order by Date desc) as LastProgress + from GJSX as a left join Sys_User as b on a.UserId=b.UserId + left join [dbo].[Base_Project] on a.ProjectId =Base_Project.ProjectId + left join [dbo].[Base_Unit] on a.UnitId=Base_Unit.UnitId + --left join [dbo].[Base_QuestionType] on a.QuestionTypeID=Base_QuestionType.QuestionTypeID + --left join[dbo].[Base_GJSXType] on a.GJSXTypeID = Base_GJSXType.GJSXTypeID + where a.ProjectId=@ProjectId + ) as a + + set @Sql ='select * from #GJSX_List where 1=1 ' +@sql_where +' order by state desc,GJSXID asc' + + exec(@Sql) + + + --select + --a.GJSXID + --,a.ProjectId + --,a.detail + --,b.username + --,a.createDate + --,User_ReceiveID=STUFF(( SELECT ',' + p2.UserName FROM dbo.Sys_User as p2 where PATINDEX('%,' + RTRIM(p2.UserId) + ',%',',' +a.User_ReceiveID + ',') >0 FOR XML PATH('')), 1, 1,'') + --, CNProfessionalId=STUFF(( SELECT ',' + Base_CNProfessional.ProfessionalName FROM dbo.Base_CNProfessional where PATINDEX('%,' + RTRIM(Base_CNProfessional.CNProfessionalId) + ',%',',' +a.CNProfessional_ID + ',') >0 FOR XML PATH('')), 1, 1,'') + --,Base_Project.ProjectName + --,Base_Unit.unitname + --,a.CloseDate + --,case a.state when 2 then '正在进行' when 3 then '待办' when 0 then '已关闭' when 1 then '开放' end as state + --,QuestionTypeName=STUFF(( SELECT ',' + Base_QuestionType.QuestionTypeName FROM dbo.Base_QuestionType where PATINDEX('%,' + RTRIM(Base_QuestionType.QuestionTypeID) + ',%',',' +a.QuestionTypeID + ',') >0 FOR XML PATH('')), 1, 1,'') + --,GJSXTypeName = STUFF((SELECT ',' + Base_GJSXType.GJSXTypeName FROM dbo.Base_GJSXType where PATINDEX('%,' + RTRIM(Base_GJSXType.GJSXTypeID) + ',%', ',' + a.GJSXTypeID + ',') > 0 FOR XML PATH('')), 1, 1,'') + --,a.IsManypeople + --,a.CompleteDate + --,a.AttachUrl + --,user_Acceptance =STUFF(( SELECT ',' + p2.UserName FROM dbo.Sys_User as p2 where PATINDEX('%,' + RTRIM(p2.UserId) + ',%',',' +a.user_Acceptance + ',') >0 FOR XML PATH('')), 1, 1,'') + --from GJSX as a left join Sys_User as b on a.UserId=b.UserId + --left join [dbo].[Base_Project] on a.ProjectId =Base_Project.ProjectId + --left join [dbo].[Base_Unit] on a.UnitId=Base_Unit.UnitId + ----left join [dbo].[Base_QuestionType] on a.QuestionTypeID=Base_QuestionType.QuestionTypeID + ----left join[dbo].[Base_GJSXType] on a.GJSXTypeID = Base_GJSXType.GJSXTypeID + --where a.ProjectId=@ProjectId +END \ No newline at end of file diff --git a/DataBase/版本日志/SUBQHSE_V2025-11-13-geh.sql b/DataBase/版本日志/SUBQHSE_V2025-11-13-geh.sql new file mode 100644 index 00000000..901f6814 --- /dev/null +++ b/DataBase/版本日志/SUBQHSE_V2025-11-13-geh.sql @@ -0,0 +1,7 @@ + +--拆分前 +INSERT INTO [dbo].[Sys_Menu] ([MenuId], [MenuName], [Icon], [Url], [SortIndex], [SuperMenu], [MenuType], [IsOffice], [IsEnd], [IsUsed]) VALUES (N'F32D79E1-7116-45F2-9964-3F6CB243C403', N'安全数据统计', NULL, N'ZHGL/DataSync/ProjectDataSync/Project_HSSEData_HSSE.aspx', 80, N'C2297533-B7C0-441E-B29F-ADE87C6F8978', N'Menu_SysSet', '1', '1', '1'); +INSERT INTO [dbo].[Sys_Menu] ([MenuId], [MenuName], [Icon], [Url], [SortIndex], [SuperMenu], [MenuType], [IsOffice], [IsEnd], [IsUsed]) VALUES (N'7AF59776-21CD-4B6A-A765-2F888E4AF8BD', N'质量数据统计', NULL, N'ZHGL/DataSync/ProjectDataSync/Project_CQMSData_CQMS.aspx', 90, N'C2297533-B7C0-441E-B29F-ADE87C6F8978', N'Menu_SysSet', '1', '1', '1'); +INSERT INTO [dbo].[Sys_Menu] ([MenuId], [MenuName], [Icon], [Url], [SortIndex], [SuperMenu], [MenuType], [IsOffice], [IsEnd], [IsUsed]) VALUES (N'8358C2EE-2B65-4001-AC09-32B6936AA3CA', N'焊接数据统计', NULL, N'ZHGL/DataSync/ProjectDataSync/Project_HJGLData_HJGL.aspx', 100, N'C2297533-B7C0-441E-B29F-ADE87C6F8978', N'Menu_SysSet', '1', '1', '1'); +go + diff --git a/DataBase/版本日志/SUBQHSE_V2025-11-13-geh(View_Project_CQMSData_CQMS).sql b/DataBase/版本日志/SUBQHSE_V2025-11-13-geh(View_Project_CQMSData_CQMS).sql new file mode 100644 index 00000000..e51dcbc3 --- /dev/null +++ b/DataBase/版本日志/SUBQHSE_V2025-11-13-geh(View_Project_CQMSData_CQMS).sql @@ -0,0 +1,36 @@ + + + + + +CREATE View [dbo].[View_Project_CQMSData_CQMS] +as + WITH LatestData AS ( + SELECT + person.CollCropCode, + MAX(ReportDate) AS LatestReportDate + FROM + dbo.Project_CQMSData_CQMS person + GROUP BY + person.CollCropCode +),RankedData AS ( + SELECT + cqms.* + FROM + dbo.Project_CQMSData_CQMS cqms + INNER JOIN + LatestData l ON cqms.CollCropCode = l.CollCropCode AND cqms.ReportDate = l.LatestReportDate +) +SELECT + pro.ProjectName, + pro.ShortName, + rd.* +FROM RankedData rd +LEFT JOIN Base_Project pro ON pro.ProjectId = rd.ProjectId +where pro.ProjectName !='' and pro.ProjectState='1' + + +GO + + + diff --git a/DataBase/版本日志/SUBQHSE_V2025-11-13-geh(View_Project_HJGLData_HJGL).sql b/DataBase/版本日志/SUBQHSE_V2025-11-13-geh(View_Project_HJGLData_HJGL).sql new file mode 100644 index 00000000..4cb3735a --- /dev/null +++ b/DataBase/版本日志/SUBQHSE_V2025-11-13-geh(View_Project_HJGLData_HJGL).sql @@ -0,0 +1,33 @@ + + + +CREATE View [dbo].[View_Project_HJGLData_HJGL] +as +WITH LatestData AS ( + SELECT + person.CollCropCode, + MAX(ReportDate) AS LatestReportDate + FROM + dbo.Project_HJGLData_HJGL person + GROUP BY + person.CollCropCode +),RankedData AS ( + SELECT + hjgl.* + FROM + dbo.Project_HJGLData_HJGL hjgl + INNER JOIN + LatestData l ON hjgl.CollCropCode = l.CollCropCode AND hjgl.ReportDate = l.LatestReportDate +) +SELECT + pro.ProjectName, + pro.ShortName, + rd.* +FROM RankedData rd +LEFT JOIN Base_Project pro ON pro.ProjectId = rd.ProjectId +where pro.ProjectName !='' and pro.ProjectState='1' + + +GO + + diff --git a/DataBase/版本日志/SUBQHSE_V2025-11-13-geh(View_Project_HSSEData_HSSE).sql b/DataBase/版本日志/SUBQHSE_V2025-11-13-geh(View_Project_HSSEData_HSSE).sql new file mode 100644 index 00000000..c6406651 --- /dev/null +++ b/DataBase/版本日志/SUBQHSE_V2025-11-13-geh(View_Project_HSSEData_HSSE).sql @@ -0,0 +1,41 @@ + +CREATE view [dbo].[View_Project_HSSEData_HSSE] as +WITH LatestData AS ( + SELECT + project.CollCropCode, + MAX(ReportDate) AS LatestReportDate + FROM + dbo.Project_HSSEData_HSSE project + GROUP BY + project.CollCropCode +),RankedData AS ( + SELECT + hsse.* + FROM + dbo.Project_HSSEData_HSSE hsse + INNER JOIN + LatestData l ON hsse.CollCropCode = l.CollCropCode AND hsse.ReportDate = l.LatestReportDate +),TotalWorkNumData as +( + select t3.ProjectId,t3.ProjectName,sum(TotalWorkNum) as TotalWorkNum + from Base_Project t3 + join Information_MillionsMonthlyReportItem t1 on ((t1.Name = ('['+t3.ProjectCode+']'+t3.ProjectName)) OR + (t1.Name = t3.ProjectName) ) + join Information_MillionsMonthlyReport t2 on t1.MillionsMonthlyReportId = t2.MillionsMonthlyReportId + where t2.Year=Year(getdate()) and t2.Month 0) +or (GJSX.User_Acceptance like '%'+@userId+'%' and (select count(*) from GJSX_detail detail where detail.GJSXID=GJSX.GJSXID)=(select count(*) from GJSX_Process process where process.GJSXID=GJSX.GJSXID)) +) +UNION ALL +SELECT GJSXID AS DataId + ,'0BEA2126-7A48-40EB-8E21-99148E91A22B' AS MenuId + ,'ؼر' AS MenuName + ,project.ProjectCode + ,GJSX.Detail AS Content + ,users.UserId + ,users.UserName + ,GJSX.CreateDate AS DataTime + ,CONVERT(varchar(100),GJSX.CreateDate, 23) AS DataTimeStr + ,'PZHGL/GJSX/GJSXListEdit.aspx?ToDo=ToDo&EditType=Edit&ID='+GJSXID+'&ProjectId='+project.ProjectId AS PCUrl +FROM GJSX +left join Project_ProjectUser as projectUser on projectUser.UserId=@userId +LEFT JOIN Sys_User AS users ON users.UserId = projectUser.UserId +left join Base_Project as project on project.ProjectId =projectUser.ProjectId +WHERE (@sType='1' or @sType='2') and GJSX.ProjectId = projectUser.ProjectId and (project.ProjectState = '1' OR project.ProjectState IS NULL) and +GJSX.State = 3 and GJSX.ProgressStatus=1 and (GJSX.UserID = @userId OR GJSX.User_ReceiveID = @userId ) + + +UNION ALL +SELECT ConstructSolutionId AS DataId + ,'91C4BFDB-0A51-4992-99CC-EB4EC185593D' AS MenuId + ,'ʩ' AS MenuName + ,project.ProjectCode + ,Solution.SolutionName AS Content + ,users.UserId + ,users.UserName + ,Solution.CompileDate AS DataTime + ,CONVERT(varchar(100),Solution.CompileDate, 23) AS DataTimeStr + ,'CQMS/Solution/EditConstructSolution.aspx?ConstructSolutionId='+Solution.ConstructSolutionId AS PCUrl +FROM Solution_CQMSConstructSolution AS Solution +left join Project_ProjectUser as projectUser on projectUser.UserId=@userId +LEFT JOIN Sys_User AS users ON users.UserId = projectUser.UserId +left join Base_Project as project on project.ProjectId =projectUser.ProjectId +WHERE (@sType='1' or @sType='2') and Solution.ProjectId = projectUser.ProjectId and (project.ProjectState = '1' OR project.ProjectState IS NULL) and +Solution.State!='3' +AND Solution.ConstructSolutionId in +(select top 1 ConstructSolutionId from ( +SELECT Solution_CQMSConstructSolutionApprove.* +FROM Solution_CQMSConstructSolutionApprove, +(SELECT MIN([order]) AS [order],ConstructSolutionId FROM Solution_CQMSConstructSolutionApprove where ApproveType!='S' and ApproveDate is null GROUP BY ConstructSolutionId )b +WHERE Solution_CQMSConstructSolutionApprove.[order] = b.[order] and Solution_CQMSConstructSolutionApprove.ConstructSolutionId = b.ConstructSolutionId + ) approve +where approve.ApproveMan=@userId ) + +UNION ALL +SELECT InspectionId AS DataId + ,'4781f467-35bf-4cf2-aaa4-7960a175eb61' AS MenuId + ,'֪ͨ' AS MenuName + ,project.ProjectCode + ,InspectionManagement.AcceptanceSite AS Content + ,users.UserId + ,users.UserName + ,InspectionManagement.CompileDate AS DataTime + ,CONVERT(varchar(100),InspectionManagement.CompileDate, 23) AS DataTimeStr + ,'CQMS/ProcessControl/InspectionNoticeEdit.aspx?View=View&InspectionId='+InspectionManagement.InspectionId AS PCUrl +FROM ProcessControl_InspectionManagement AS InspectionManagement +left join Project_ProjectUser as projectUser on projectUser.UserId=@userId +LEFT JOIN Sys_User AS users ON users.UserId = projectUser.UserId +left join Base_Project as project on project.ProjectId =projectUser.ProjectId +WHERE (@sType='1' or @sType='2') and InspectionManagement.ProjectId=projectUser.ProjectId and (project.ProjectState = '1' OR project.ProjectState IS NULL) and +dateadd(day,3,InspectionManagement.CompileDate)>getdate() and InspectionManagement.AcceptanceCheckMan like '%'+@userId+'%' +UNION ALL +SELECT CheckSpecialId AS DataId + ,'1B08048F-93ED-4E84-AE65-DB7917EA2DFB' AS MenuId + ,'ר' AS MenuName + ,project.ProjectCode + ,CheckItemSet.CheckItemName AS Content + ,users.UserId + ,users.UserName + ,CheckSpecial.CheckTime AS DataTime + ,CONVERT(varchar(100),CheckSpecial.CheckTime, 23) AS DataTimeStr + ,'HSSE/Check/CheckSpecialView.aspx?CheckSpecialId='+CheckSpecial.CheckSpecialId AS PCUrl +FROM Check_CheckSpecial AS CheckSpecial +left join Project_ProjectUser as projectUser on projectUser.UserId=@userId +LEFT JOIN Sys_User AS users ON users.UserId = projectUser.UserId +left join Base_Project as project on project.ProjectId =projectUser.ProjectId +LEFT JOIN Technique_CheckItemSet AS CheckItemSet ON CheckItemSet.CheckItemSetId =CheckSpecial.CheckItemSetId +WHERE (@sType='1' or @sType='2') and (project.ProjectState = '1' OR project.ProjectState IS NULL) and +dateadd(day,3,CheckSpecial.CheckTime)>getdate() and CheckSpecial.PartInPersonIds like '%'+@userId+'%' +and CheckSpecial.ProjectId = projectUser.ProjectId +UNION ALL +SELECT CheckColligationId AS DataId + ,'C198EBA8-9E23-4654-92E1-09C61105C522' AS MenuId + ,'ۺϼ' AS MenuName + ,project.ProjectCode + ,case CheckType when '0' then 'ܼ' when '1' then '¼' else '' end AS Content + ,users.UserId + ,users.UserName + ,CheckColligation.CheckTime AS DataTime + ,CONVERT(varchar(100),CheckColligation.CheckTime, 23) AS DataTimeStr + ,'HSSE/Check/CheckColligationEdit.aspx?CheckColligationId='+CheckColligation.CheckColligationId AS PCUrl +FROM Check_CheckColligation AS CheckColligation +left join Project_ProjectUser as projectUser on projectUser.UserId=@userId +LEFT JOIN Sys_User AS users ON users.UserId = projectUser.UserId +left join Base_Project as project on project.ProjectId =projectUser.ProjectId +LEFT JOIN Sys_FlowOperate AS FlowOperate ON CheckColligation.CheckColligationId=FlowOperate.DataId +LEFT JOIN Sys_User AS OperateUser ON FlowOperate.OperaterId=OperateUser.UserId +WHERE (@sType='1' or @sType='2') and (project.ProjectState = '1' OR project.ProjectState IS NULL) and +FlowOperate.IsClosed <> 1 and FlowOperate.OperaterId=@userId +and CheckColligation.ProjectId = projectUser.ProjectId +UNION ALL +SELECT PatrolPlanId AS DataId + ,'D256E5C8-DC76-4F4D-BABE-A253418823F4' AS MenuId + ,'Ѳ' AS MenuName + ,project.ProjectCode + ,HazardListItem.HazardItems AS Content + ,users.UserId + ,users.UserName + ,PatrolPlan.LimitCheckDate AS DataTime + ,CONVERT(varchar(100),PatrolPlan.LimitCheckDate, 23) AS DataTimeStr + ,'HSSE/Hazard/RoutingInspectionEdit.aspx?PatrolPlanId='+PatrolPlan.PatrolPlanId AS PCUrl +FROM Hazard_PatrolPlan AS PatrolPlan +left join Project_ProjectUser as projectUser on projectUser.UserId=@userId +LEFT JOIN Sys_User AS users ON users.UserId = projectUser.UserId +left join Base_Project as project on project.ProjectId =projectUser.ProjectId +LEFT JOIN Hazard_HazardSelectedItem AS HazardListItem on HazardListItem.HazardSelectedItemId=PatrolPlan.HazardSelectedItemId +WHERE (@sType='1' or @sType='2') and (project.ProjectState = '1' OR project.ProjectState IS NULL) and +dateadd(day,-3,PatrolPlan.LimitCheckDate)=22 and (select COUNT(*) from JDGL_QuantityCompletion WHERE DATENAME(year,GETDATE())=DATENAME(year,EndDate) and DATENAME(MONTH,GETDATE())=DATENAME(MONTH,EndDate))=0) +and (@sType='1' or @sType='2') and Project.ProjectId = pu.ProjectId --or (DATEADD(day,60,(select top 1 EndDate from JDGL_QuantityCompletion WHERE ProjectId=@projectId order by EndDate desc))=22 and +DATENAME(year,GETDATE())=DATENAME(year,MonthPlan.PlanDate) and DATENAME(MONTH,GETDATE())=DATENAME(MONTH,MonthPlan.PlanDate) +and (project.ProjectState = '1' OR project.ProjectState IS NULL) and (@sType='1' or @sType='2') +UNION ALL +SELECT DISTINCT --WeekPlan.WeekPlanId AS DataId + '' AS DataId + ,'56A54B4B-BBA3-4249-9FFC-3A60DAC79059' AS MenuId + ,'ȹܽȼƻδ' AS MenuName + ,project.ProjectCode + ,'' AS Content + ,users.UserId + ,users.UserName + ,GETDATE() AS DataTime + ,CONVERT(varchar(100),GETDATE(), 23) AS DataTimeStr + ,'JDGL/Check/WeekPlanEdit.aspx?WeekNo='+WeekPlan.WeekNo AS PCUrl +FROM JDGL_WeekPlan AS WeekPlan +LEFT JOIN Project_ProjectUser as pu on pu.UserId=@userId +LEFT JOIN Sys_User AS users ON users.UserId =pu.UserId +LEFT JOIN Base_Project as project on project.ProjectId =pu.ProjectId +WHERE WeekPlan.ProjectId = pu.ProjectId +and WeekPlan.DutyPerson like '%'+@userId+'%' and WeekPlan.IsOK =0 and DATENAME(DAY,GETDATE())<=DATENAME(DAY,WeekPlan.EndDate) +and DATENAME(year,GETDATE())=DATENAME(year,WeekPlan.EndDate) and DATENAME(MONTH,GETDATE())=DATENAME(MONTH,WeekPlan.EndDate) +and (project.ProjectState = '1' OR project.ProjectState IS NULL) and (@sType='1' or @sType='2') + +ORDER BY DataTime DESC +END + + + + + +GO + + diff --git a/DataBase/版本日志/SUBQHSE_V2025-11-30-gh(施工人力).sql b/DataBase/版本日志/SUBQHSE_V2025-11-30-gh(施工人力).sql new file mode 100644 index 00000000..7c972a50 --- /dev/null +++ b/DataBase/版本日志/SUBQHSE_V2025-11-30-gh(施工人力).sql @@ -0,0 +1,99 @@ +CREATE TABLE [dbo].[SitePerson_Checking_Statistics] ( + [ProjectId] nvarchar(50) COLLATE Chinese_PRC_CI_AS NULL, + [UnitId] nvarchar(50) COLLATE Chinese_PRC_CI_AS NULL, + [UnitName] nvarchar(200) COLLATE Chinese_PRC_CI_AS NULL, + [WorkAreaId] nvarchar(max) COLLATE Chinese_PRC_CI_AS NULL, + [WorkAreaName] nvarchar(max) COLLATE Chinese_PRC_CI_AS NULL, + [WorkPostId] nvarchar(50) COLLATE Chinese_PRC_CI_AS NULL, + [WorkPostName] nvarchar(100) COLLATE Chinese_PRC_CI_AS NULL, + [IntoOutTime] datetime NULL, + [num] int NULL +) +ON [PRIMARY] +GO + +ALTER TABLE [dbo].[SitePerson_Checking_Statistics] SET (LOCK_ESCALATION = TABLE) +GO + +CREATE NONCLUSTERED INDEX [ProjectId_Index] +ON [dbo].[SitePerson_Checking_Statistics] ( + [ProjectId] ASC +) +GO + +CREATE NONCLUSTERED INDEX [UnitId_Index] +ON [dbo].[SitePerson_Checking_Statistics] ( + [UnitId] ASC +) +GO + +CREATE NONCLUSTERED INDEX [NonClusteredIndex-20220601-105641] +ON [dbo].[SitePerson_Checking_Statistics] ( + [ProjectId] ASC, + [IntoOutTime] ASC +) +GO + +CREATE NONCLUSTERED INDEX [WorkPostId_Index] +ON [dbo].[SitePerson_Checking_Statistics] ( + [WorkPostId] ASC +) +GO + +CREATE NONCLUSTERED INDEX [IntoOutTime_Index] +ON [dbo].[SitePerson_Checking_Statistics] ( + [IntoOutTime] ASC +) +go + + + + + + + + +INSERT INTO dbo.SitePerson_Checking_Statistics ( + ProjectId, + UnitId, + UnitName, + WorkAreaId, + WorkAreaName, + WorkPostId, + WorkPostName, + IntoOutTime, + num + ) + SELECT + a.ProjectId, + b.UnitId, + b.UnitName, + b.WorkAreaId, + b.WorkAreaName, + p.WorkPostId, + w.WorkPostName, + CAST(b.IntoOutTime AS DATE) AS IntoOutTime, + COUNT(1) AS num + FROM ( + SELECT + PersonId, + CAST(IntoOutTime AS DATE) AS IntoOutTime, + MAX(CheckingId) AS MaxCheckingId, + ProjectId + FROM SitePerson_Checking + GROUP BY PersonId, CAST(IntoOutTime AS DATE), ProjectId + ) a + JOIN SitePerson_Checking b ON a.MaxCheckingId = b.CheckingId + LEFT JOIN SitePerson_Person p ON a.PersonId = p.PersonId + LEFT JOIN Base_WorkPost w ON p.WorkPostId = w.WorkPostId + LEFT JOIN Base_Project bp ON a.ProjectId = bp.ProjectId + where bp.ProjectState='1' + GROUP BY + a.ProjectId, + b.UnitId, + b.UnitName, + b.WorkAreaId, + b.WorkAreaName, + p.WorkPostId, + w.WorkPostName, + CAST(b.IntoOutTime AS DATE);"; \ No newline at end of file diff --git a/DataBase/版本日志/SUBQHSE_V2025-12-03-xiaj(资料收发文类别).sql b/DataBase/版本日志/SUBQHSE_V2025-12-03-xiaj(资料收发文类别).sql new file mode 100644 index 00000000..ebc48616 --- /dev/null +++ b/DataBase/版本日志/SUBQHSE_V2025-12-03-xiaj(资料收发文类别).sql @@ -0,0 +1,50 @@ + +--շ +IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'Base_ReceivingDocType') AND type = N'U') +BEGIN + +CREATE TABLE [dbo].[Base_ReceivingDocType]( + [TypeId] [nvarchar](50) NOT NULL, + [TypeName] [nvarchar](50) NULL, + [SortIndex] [int] NULL, + CONSTRAINT [PK_Base_ReceivingDocType] PRIMARY KEY CLUSTERED +( + [TypeId] ASC +)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY] +) ON [PRIMARY] + + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'շ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Base_ReceivingDocType' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Base_ReceivingDocType', @level2type=N'COLUMN',@level2name=N'TypeId' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Base_ReceivingDocType', @level2type=N'COLUMN',@level2name=N'TypeName' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Base_ReceivingDocType', @level2type=N'COLUMN',@level2name=N'SortIndex' + +END + +GO + + +--շ +IF NOT EXISTS (SELECT * FROM Sys_Menu WHERE MenuId = 'DFE17AE1-F23D-4EE2-8F82-116F16E433DF') +BEGIN + insert into Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed) + values('DFE17AE1-F23D-4EE2-8F82-116F16E433DF','շ','BaseInfo/ReceivingDocType.aspx',40,'A93BA810-3511-4BB2-9C10-9663351DF79F','Menu_SysSet',1,1,1) +END +GO + +--˵ť +IF NOT EXISTS (SELECT * FROM Sys_ButtonToMenu WHERE MenuId = 'DFE17AE1-F23D-4EE2-8F82-116F16E433DF') +BEGIN +INSERT INTO [dbo].[Sys_ButtonToMenu] ([ButtonToMenuId], [MenuId], [ButtonName], [SortIndex]) +VALUES (N'7E7863BD-8C46-413E-B6CF-DAE1468ED589', N'DFE17AE1-F23D-4EE2-8F82-116F16E433DF', N'', 1); +INSERT INTO [dbo].[Sys_ButtonToMenu] ([ButtonToMenuId], [MenuId], [ButtonName], [SortIndex]) +VALUES (N'6BA582C9-3864-4898-9CA4-018284F0E261', N'DFE17AE1-F23D-4EE2-8F82-116F16E433DF', N'޸', 2); +INSERT INTO [dbo].[Sys_ButtonToMenu] ([ButtonToMenuId], [MenuId], [ButtonName], [SortIndex]) +VALUES (N'5B576A63-31F7-4440-99CF-AF2B4BD71BCC', N'DFE17AE1-F23D-4EE2-8F82-116F16E433DF', N'ɾ', 3); +INSERT INTO [dbo].[Sys_ButtonToMenu] ([ButtonToMenuId], [MenuId], [ButtonName], [SortIndex]) +VALUES (N'4DA1BA90-7CE5-4CE9-A636-70A3C0F03C60', N'DFE17AE1-F23D-4EE2-8F82-116F16E433DF', N'', 4); +END +GO + + + diff --git a/DataBase/版本日志/SUBQHSE_V2025-12-05-xiaj(Sp_WorkBench_GetToDoItems).sql b/DataBase/版本日志/SUBQHSE_V2025-12-05-xiaj(Sp_WorkBench_GetToDoItems).sql new file mode 100644 index 00000000..e2384fb0 --- /dev/null +++ b/DataBase/版本日志/SUBQHSE_V2025-12-05-xiaj(Sp_WorkBench_GetToDoItems).sql @@ -0,0 +1,395 @@ + + + + + + + +--ȡǰ˹̨Ԥ +ALTER PROCEDURE [dbo].[Sp_WorkBench_GetToDoItems] + @userId NVARCHAR(200)=NULL, + @sType char(10)=null +AS +/*ȡǰ˴*/ +BEGIN +SELECT HazardRegisterId AS DataId + ,'B6BE5FE0-CB84-47FF-A6C3-5AD9E1CCE079' AS MenuId + ,'ȫѲ' AS MenuName + ,project.ProjectCode + ,register.RegisterDef AS Content + ,users.UserId + ,users.UserName + ,register.RegisterDate AS DataTime + ,CONVERT(varchar(100),register.RegisterDate, 23) AS DataTimeStr + ,'HSSE/HiddenInspection/HiddenRectificationRectify.aspx?HazardRegisterId='+register.HazardRegisterId AS PCUrl +FROM HSSE_Hazard_HazardRegister AS register +left join Project_ProjectUser as projectUser on projectUser.UserId=@userId +LEFT JOIN Sys_User AS users ON users.UserId = projectUser.UserId +left join Base_Project as project on project.ProjectId =projectUser.ProjectId +WHERE (@sType='1' or @sType='2') and register.ProjectId = projectUser.ProjectId and (project.ProjectState = '1' OR project.ProjectState IS NULL) and +((register.states = '1' AND (register.ResponsibleMan =@userId OR register.CCManIds LIKE ('%'+@userId+'%') )) +) +UNION ALL + +SELECT HazardRegisterId AS DataId + ,'B6BE5FE0-CB84-47FF-A6C3-5AD9E1CCE079' AS MenuId + ,'ȫѲȷ' AS MenuName + ,project.ProjectCode + ,register.RegisterDef AS Content + ,users.UserId + ,users.UserName + ,register.RegisterDate AS DataTime + ,CONVERT(varchar(100),register.RegisterDate, 23) AS DataTimeStr + ,'HSSE/HiddenInspection/HiddenRectificationConfirm.aspx?HazardRegisterId='+register.HazardRegisterId AS PCUrl +FROM HSSE_Hazard_HazardRegister AS register +left join Project_ProjectUser as projectUser on projectUser.UserId=@userId +LEFT JOIN Sys_User AS users ON users.UserId = projectUser.UserId +left join Base_Project as project on project.ProjectId =projectUser.ProjectId +WHERE (@sType='1' or @sType='2') and register.ProjectId = projectUser.ProjectId and (project.ProjectState = '1' OR project.ProjectState IS NULL) and +register.states = '2' AND register.CheckManId =@userId + +UNION ALL +SELECT CheckControlCode AS DataId + ,'B3E99BD9-FDC7-4F15-8C3C-A7821AC9E306' AS MenuId + ,'Ѳ' AS MenuName + ,project.ProjectCode + ,checkControl.QuestionDef AS Content + ,users.UserId + ,users.UserName + ,checkControl.CheckDate AS DataTime + ,CONVERT(varchar(100),checkControl.CheckDate, 23) AS DataTimeStr + ,'CQMS/Check/ChecklistEdit.aspx?CheckControlCode='+checkControl.CheckControlCode AS PCUrl +FROM Check_CheckControl AS checkControl +left join Project_ProjectUser as projectUser on projectUser.UserId=@userId +LEFT JOIN Sys_User AS users ON users.UserId = projectUser.UserId +left join Base_Project as project on project.ProjectId =projectUser.ProjectId +WHERE (@sType='1' or @sType='2') and checkControl.ProjectId = projectUser.ProjectId and (project.ProjectState = '1' OR project.ProjectState IS NULL) and +checkControl.State != '7' AND checkControl.CheckControlCode in (select CheckControlCode from Check_CheckControlApprove approve where approve.ApproveType!='S' and approve.ApproveMan=@userId and approve.ApproveDate is null ) + +UNION ALL +SELECT GJSXID AS DataId + ,'0BEA2126-7A48-40EB-8E21-99148E91A22B' AS MenuId + ,'ؼ' AS MenuName + ,project.ProjectCode + ,GJSX.Detail AS Content + ,users.UserId + ,users.UserName + ,GJSX.CreateDate AS DataTime + ,CONVERT(varchar(100),GJSX.CreateDate, 23) AS DataTimeStr + ,'PZHGL/GJSX/GJSXListEdit.aspx?ToDo=ToDo&EditType=Edit&ID='+GJSXID+'&ProjectId='+project.ProjectId AS PCUrl +FROM GJSX +left join Project_ProjectUser as projectUser on projectUser.UserId=@userId +LEFT JOIN Sys_User AS users ON users.UserId = projectUser.UserId +left join Base_Project as project on project.ProjectId =projectUser.ProjectId +WHERE (@sType='1' or @sType='2') and GJSX.ProjectId = projectUser.ProjectId and (project.ProjectState = '1' OR project.ProjectState IS NULL) and +GJSX.State != 0 AND (((select count(*) from GJSX_detail detail where detail.Progress_user=@userId and detail.GJSXID=GJSX.GJSXID)=0 +and (select count(*) from GJSX_Process process where process.UserId=@userId and process.GJSXID=GJSX.GJSXID)>0) +or (GJSX.User_Acceptance like '%'+@userId+'%' and (select count(*) from GJSX_detail detail where detail.GJSXID=GJSX.GJSXID)=(select count(*) from GJSX_Process process where process.GJSXID=GJSX.GJSXID)) +) +UNION ALL +SELECT GJSXID AS DataId + ,'0BEA2126-7A48-40EB-8E21-99148E91A22B' AS MenuId + ,'ؼر' AS MenuName + ,project.ProjectCode + ,GJSX.Detail AS Content + ,users.UserId + ,users.UserName + ,GJSX.CreateDate AS DataTime + ,CONVERT(varchar(100),GJSX.CreateDate, 23) AS DataTimeStr + ,'PZHGL/GJSX/GJSXListEdit.aspx?ToDo=ToDo&EditType=Edit&ID='+GJSXID+'&ProjectId='+project.ProjectId AS PCUrl +FROM GJSX +left join Project_ProjectUser as projectUser on projectUser.UserId=@userId +LEFT JOIN Sys_User AS users ON users.UserId = projectUser.UserId +left join Base_Project as project on project.ProjectId =projectUser.ProjectId +WHERE (@sType='1' or @sType='2') and GJSX.ProjectId = projectUser.ProjectId and (project.ProjectState = '1' OR project.ProjectState IS NULL) and +GJSX.State = 3 and GJSX.ProgressStatus=1 and (GJSX.UserID = @userId OR GJSX.User_ReceiveID = @userId ) + + +UNION ALL +SELECT ConstructSolutionId AS DataId + ,'91C4BFDB-0A51-4992-99CC-EB4EC185593D' AS MenuId + ,'ʩ' AS MenuName + ,project.ProjectCode + ,Solution.SolutionName AS Content + ,users.UserId + ,users.UserName + ,Solution.CompileDate AS DataTime + ,CONVERT(varchar(100),Solution.CompileDate, 23) AS DataTimeStr + ,'CQMS/Solution/EditConstructSolution.aspx?ConstructSolutionId='+Solution.ConstructSolutionId AS PCUrl +FROM Solution_CQMSConstructSolution AS Solution +left join Project_ProjectUser as projectUser on projectUser.UserId=@userId +LEFT JOIN Sys_User AS users ON users.UserId = projectUser.UserId +left join Base_Project as project on project.ProjectId =projectUser.ProjectId +WHERE (@sType='1' or @sType='2') and Solution.ProjectId = projectUser.ProjectId and (project.ProjectState = '1' OR project.ProjectState IS NULL) and +Solution.State!='3' +AND Solution.ConstructSolutionId in +(select top 1 ConstructSolutionId from ( +SELECT Solution_CQMSConstructSolutionApprove.* +FROM Solution_CQMSConstructSolutionApprove, +(SELECT MIN([order]) AS [order],ConstructSolutionId FROM Solution_CQMSConstructSolutionApprove where ApproveType!='S' and ApproveDate is null GROUP BY ConstructSolutionId )b +WHERE Solution_CQMSConstructSolutionApprove.[order] = b.[order] and Solution_CQMSConstructSolutionApprove.ConstructSolutionId = b.ConstructSolutionId + ) approve +where approve.ApproveMan=@userId ) + +UNION ALL +SELECT InspectionId AS DataId + ,'4781f467-35bf-4cf2-aaa4-7960a175eb61' AS MenuId + ,'֪ͨ' AS MenuName + ,project.ProjectCode + ,InspectionManagement.AcceptanceSite AS Content + ,users.UserId + ,users.UserName + ,InspectionManagement.CompileDate AS DataTime + ,CONVERT(varchar(100),InspectionManagement.CompileDate, 23) AS DataTimeStr + ,'CQMS/ProcessControl/InspectionNoticeEdit.aspx?View=View&InspectionId='+InspectionManagement.InspectionId AS PCUrl +FROM ProcessControl_InspectionManagement AS InspectionManagement +left join Project_ProjectUser as projectUser on projectUser.UserId=@userId +LEFT JOIN Sys_User AS users ON users.UserId = projectUser.UserId +left join Base_Project as project on project.ProjectId =projectUser.ProjectId +WHERE (@sType='1' or @sType='2') and InspectionManagement.ProjectId=projectUser.ProjectId and (project.ProjectState = '1' OR project.ProjectState IS NULL) +and InspectionManagement.InspectionDate is null and InspectionManagement.AcceptanceCheckMan like '%'+@userId+'%' +UNION ALL +SELECT CheckSpecialId AS DataId + ,'1B08048F-93ED-4E84-AE65-DB7917EA2DFB' AS MenuId + ,'ר' AS MenuName + ,project.ProjectCode + ,CheckItemSet.CheckItemName AS Content + ,users.UserId + ,users.UserName + ,CheckSpecial.CheckTime AS DataTime + ,CONVERT(varchar(100),CheckSpecial.CheckTime, 23) AS DataTimeStr + ,'HSSE/Check/CheckSpecialView.aspx?CheckSpecialId='+CheckSpecial.CheckSpecialId AS PCUrl +FROM Check_CheckSpecial AS CheckSpecial +left join Project_ProjectUser as projectUser on projectUser.UserId=@userId +LEFT JOIN Sys_User AS users ON users.UserId = projectUser.UserId +left join Base_Project as project on project.ProjectId =projectUser.ProjectId +LEFT JOIN Technique_CheckItemSet AS CheckItemSet ON CheckItemSet.CheckItemSetId =CheckSpecial.CheckItemSetId +WHERE (@sType='1' or @sType='2') and (project.ProjectState = '1' OR project.ProjectState IS NULL) and +dateadd(day,3,CheckSpecial.CheckTime)>getdate() and CheckSpecial.PartInPersonIds like '%'+@userId+'%' +and CheckSpecial.ProjectId = projectUser.ProjectId +UNION ALL +SELECT CheckColligationId AS DataId + ,'C198EBA8-9E23-4654-92E1-09C61105C522' AS MenuId + ,'ۺϼ' AS MenuName + ,project.ProjectCode + ,case CheckType when '0' then 'ܼ' when '1' then '¼' else '' end AS Content + ,users.UserId + ,users.UserName + ,CheckColligation.CheckTime AS DataTime + ,CONVERT(varchar(100),CheckColligation.CheckTime, 23) AS DataTimeStr + ,'HSSE/Check/CheckColligationEdit.aspx?CheckColligationId='+CheckColligation.CheckColligationId AS PCUrl +FROM Check_CheckColligation AS CheckColligation +left join Project_ProjectUser as projectUser on projectUser.UserId=@userId +LEFT JOIN Sys_User AS users ON users.UserId = projectUser.UserId +left join Base_Project as project on project.ProjectId =projectUser.ProjectId +LEFT JOIN Sys_FlowOperate AS FlowOperate ON CheckColligation.CheckColligationId=FlowOperate.DataId +LEFT JOIN Sys_User AS OperateUser ON FlowOperate.OperaterId=OperateUser.UserId +WHERE (@sType='1' or @sType='2') and (project.ProjectState = '1' OR project.ProjectState IS NULL) and +FlowOperate.IsClosed <> 1 and FlowOperate.OperaterId=@userId +and CheckColligation.ProjectId = projectUser.ProjectId +UNION ALL +SELECT PatrolPlanId AS DataId + ,'D256E5C8-DC76-4F4D-BABE-A253418823F4' AS MenuId + ,'Ѳ' AS MenuName + ,project.ProjectCode + ,HazardListItem.HazardItems AS Content + ,users.UserId + ,users.UserName + ,PatrolPlan.LimitCheckDate AS DataTime + ,CONVERT(varchar(100),PatrolPlan.LimitCheckDate, 23) AS DataTimeStr + ,'HSSE/Hazard/RoutingInspectionEdit.aspx?PatrolPlanId='+PatrolPlan.PatrolPlanId AS PCUrl +FROM Hazard_PatrolPlan AS PatrolPlan +left join Project_ProjectUser as projectUser on projectUser.UserId=@userId +LEFT JOIN Sys_User AS users ON users.UserId = projectUser.UserId +left join Base_Project as project on project.ProjectId =projectUser.ProjectId +LEFT JOIN Hazard_HazardSelectedItem AS HazardListItem on HazardListItem.HazardSelectedItemId=PatrolPlan.HazardSelectedItemId +WHERE (@sType='1' or @sType='2') and (project.ProjectState = '1' OR project.ProjectState IS NULL) and +dateadd(day,-3,PatrolPlan.LimitCheckDate)=22 and (select COUNT(*) from JDGL_QuantityCompletion WHERE DATENAME(year,GETDATE())=DATENAME(year,EndDate) and DATENAME(MONTH,GETDATE())=DATENAME(MONTH,EndDate))=0) +and (@sType='1' or @sType='2') and Project.ProjectId = pu.ProjectId --or (DATEADD(day,60,(select top 1 EndDate from JDGL_QuantityCompletion WHERE ProjectId=@projectId order by EndDate desc))=22 and +DATENAME(year,GETDATE())=DATENAME(year,MonthPlan.PlanDate) and DATENAME(MONTH,GETDATE())=DATENAME(MONTH,MonthPlan.PlanDate) +and (project.ProjectState = '1' OR project.ProjectState IS NULL) and (@sType='1' or @sType='2') +UNION ALL +SELECT DISTINCT --WeekPlan.WeekPlanId AS DataId + '' AS DataId + ,'56A54B4B-BBA3-4249-9FFC-3A60DAC79059' AS MenuId + ,'ȹܽȼƻδ' AS MenuName + ,project.ProjectCode + ,'' AS Content + ,users.UserId + ,users.UserName + ,GETDATE() AS DataTime + ,CONVERT(varchar(100),GETDATE(), 23) AS DataTimeStr + ,'JDGL/Check/WeekPlanEdit.aspx?WeekNo='+WeekPlan.WeekNo AS PCUrl +FROM JDGL_WeekPlan AS WeekPlan +LEFT JOIN Project_ProjectUser as pu on pu.UserId=@userId +LEFT JOIN Sys_User AS users ON users.UserId =pu.UserId +LEFT JOIN Base_Project as project on project.ProjectId =pu.ProjectId +WHERE WeekPlan.ProjectId = pu.ProjectId +and WeekPlan.DutyPerson like '%'+@userId+'%' and WeekPlan.IsOK =0 and DATENAME(DAY,GETDATE())<=DATENAME(DAY,WeekPlan.EndDate) +and DATENAME(year,GETDATE())=DATENAME(year,WeekPlan.EndDate) and DATENAME(MONTH,GETDATE())=DATENAME(MONTH,WeekPlan.EndDate) +and (project.ProjectState = '1' OR project.ProjectState IS NULL) and (@sType='1' or @sType='2') + +ORDER BY DataTime DESC +END + + + + + +GO + + diff --git a/SGGL/BLL/BLL.csproj b/SGGL/BLL/BLL.csproj index 0c4bfeb6..8799ebce 100644 --- a/SGGL/BLL/BLL.csproj +++ b/SGGL/BLL/BLL.csproj @@ -133,6 +133,7 @@ + diff --git a/SGGL/BLL/BaseInfo/ReceivingDocTypeService.cs b/SGGL/BLL/BaseInfo/ReceivingDocTypeService.cs new file mode 100644 index 00000000..09eb6b0a --- /dev/null +++ b/SGGL/BLL/BaseInfo/ReceivingDocTypeService.cs @@ -0,0 +1,125 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web.UI.WebControls; + +namespace BLL +{ + public class ReceivingDocTypeService + { + /// + /// 获取实体集合 + /// + /// + public static List GetList() + { + var q = (from x in Funs.DB.Base_ReceivingDocType orderby x.SortIndex select x).ToList(); + return q; + } + /// + /// 添加 + /// + /// + public static void AddReceivingDocType(Model.Base_ReceivingDocType model) + { + Model.SGGLDB db = Funs.DB; + Model.Base_ReceivingDocType newModel = new Model.Base_ReceivingDocType + { + TypeId = model.TypeId, + TypeName = model.TypeName, + SortIndex = model.SortIndex + }; + + db.Base_ReceivingDocType.InsertOnSubmit(newModel); + db.SubmitChanges(); + } + + /// + /// 修改 + /// + /// + public static void UpdateReceivingDocType(Model.Base_ReceivingDocType model) + { + Model.SGGLDB db = Funs.DB; + Model.Base_ReceivingDocType newModel = db.Base_ReceivingDocType.FirstOrDefault(e => e.TypeId == model.TypeId); + if (newModel != null) + { + newModel.TypeName = model.TypeName; + newModel.SortIndex = model.SortIndex; + db.SubmitChanges(); + } + } + + /// + /// 根据主键删除信息 + /// + /// + public static void DeleteReceivingDocTypeById(string TypeId) + { + Model.SGGLDB db = Funs.DB; + Model.Base_ReceivingDocType model = db.Base_ReceivingDocType.FirstOrDefault(e => e.TypeId == TypeId); + { + db.Base_ReceivingDocType.DeleteOnSubmit(model); + db.SubmitChanges(); + } + } + /// + /// 资料收发文类别下拉框 + /// + /// + /// + public static void InitReceivingDocTypeDownList(FineUIPro.DropDownList dropName, bool isShowPlease) + { + dropName.DataValueField = "Value"; + dropName.DataTextField = "Text"; + dropName.DataSource = GetReceivingDocTypeItem(); + dropName.DataBind(); + if (isShowPlease) + { + Funs.FineUIPleaseSelect(dropName); + } + } + + /// + /// 资料收发文类别下拉框 + /// + /// + /// + public static void InitReceivingDocType(FineUIPro.DropDownList dropName, bool isShowPlease) + { + dropName.DataValueField = "Text"; + dropName.DataTextField = "Text"; + dropName.DataSource = GetReceivingDocTypeItem(); + dropName.DataBind(); + if (isShowPlease) + { + Funs.FineUIPleaseSelect(dropName); + } + } + + /// + /// 获取资料收发文类别集合 + /// + /// + public static ListItem[] GetReceivingDocTypeItem() + { + var q = (from x in Funs.DB.Base_ReceivingDocType orderby x.SortIndex select x).ToList(); + ListItem[] list = new ListItem[q.Count()]; + for (int i = 0; i < q.Count(); i++) + { + list[i] = new ListItem(q[i].TypeName ?? "", q[i].TypeId); + } + return list; + } + + /// + /// 获取一个资料收发文类别信息 + /// + /// + /// + public static Model.Base_ReceivingDocType GetReceivingDocType(string TypeId) + { + return Funs.DB.Base_ReceivingDocType.FirstOrDefault(e => e.TypeId == TypeId); + } + } +} diff --git a/SGGL/BLL/CQMS/ProcessControl/InspectionManagementService.cs b/SGGL/BLL/CQMS/ProcessControl/InspectionManagementService.cs index 116effa0..5f4898ca 100644 --- a/SGGL/BLL/CQMS/ProcessControl/InspectionManagementService.cs +++ b/SGGL/BLL/CQMS/ProcessControl/InspectionManagementService.cs @@ -162,7 +162,7 @@ namespace BLL public static DataSet GetListData(string projectId, string name, string startDate, string endDate, int startRowIndex, int maximumRows) { - string sql = @"SELECT AcceptanceCheckMan,COUNT(*) SunNumber,COUNT(IsOnceQualified) OneStatisticsSunNumber,COUNT(IsOnceQualified)*100/COUNT(*) as OneStatistics + string sql = @"SELECT AcceptanceCheckMan,COUNT(1) SunNumber,COUNT(IsOnceQualified) OneStatisticsSunNumber,COUNT(IsOnceQualified)*100/COUNT(*) as OneStatistics FROM[dbo].[ProcessControl_InspectionManagement] where InspectionDate is not null "; diff --git a/SGGL/BLL/Common/Const.cs b/SGGL/BLL/Common/Const.cs index 55dd6399..b8b50bf3 100644 --- a/SGGL/BLL/Common/Const.cs +++ b/SGGL/BLL/Common/Const.cs @@ -1132,6 +1132,11 @@ namespace BLL /// 质量问题类别定义 /// public const string QualityQuestionTypeMenuId = "24F9A1ED-0F4C-407C-8EB3-2A8711BB6ECC"; + + /// + /// 资料收发文类别 + /// + public const string ReceivingDocTypeMenuId = "24F9A1ED-0F4C-407C-8EB3-2A8711BB6ECC"; #endregion #region 项目设置 diff --git a/SGGL/BLL/IDP/IDPDataService.cs b/SGGL/BLL/IDP/IDPDataService.cs index 3b0e300c..bd211914 100644 --- a/SGGL/BLL/IDP/IDPDataService.cs +++ b/SGGL/BLL/IDP/IDPDataService.cs @@ -823,7 +823,7 @@ namespace BLL private static readonly string GetApiUrl = "https://getapi.cwcec.com/api/WebApi"; /// - /// 接收保存数据 + /// 接收保存数据【数字档案馆推送】 /// /// public static string SaveDesignDrawingData(List items) @@ -880,6 +880,88 @@ namespace BLL } } + /// + /// 质量管理设计图纸——获取OA图纸数据 + /// + /// + /// + public static string GetIDPOADesignDrawingData(string startDate = "", string endDate = "") + { + try + { + string message = string.Empty; + ////五环主数据项目Code + //string projectCode = string.Empty; + //if (!string.IsNullOrWhiteSpace(projectId)) + //{//根据施工平台项目Id获取主数据项目Code + // var getPro = ProjectService.GetProjectByProjectId(projectId); + // projectCode = getPro.ProjectCode; + //} + + if (string.IsNullOrWhiteSpace(startDate)) + { + startDate = DateTime.Now.AddDays(-2).ToString("yyyy-MM-dd"); + } + if (string.IsNullOrWhiteSpace(endDate)) + { + endDate = DateTime.Now.AddDays(+1).ToString("yyyy-MM-dd"); + } + string url = $"{GetApiUrl}/GetSendInfo?BeginTime={startDate}&EndTime={endDate}"; + //if (!string.IsNullOrWhiteSpace(projectCode)) { url = $"{url}&item_id={projectCode}"; } + //ErrLogInfo.WriteLog($"接口地址{url}"); + //var returndata = "[{\"item_id\":\"22150\",\"modifiedTime\":\"2022/3/9 15:21:32\",\"folderNo\":\"22150-21000-WT2501-001\",\"isUpgrade\":\"D00\",\"fileType\":\"非设备蓝图\",\"senderName\":\"吴荟\",\"receiverAddress\":\"新疆哈密市伊吾县淖毛湖镇广汇生活区12号楼\",\"receiverName\":\"李娟\",\"receiverType\":\"业主\",\"receiverUnit\":\"哈密广汇环保科技有限公司\"},{\"item_id\":\"22150\",\"modifiedTime\":\"2022/3/9 15:21:33\",\"folderNo\":\"22150-21000-WT4401-001\",\"isUpgrade\":\"D00\",\"fileType\":\"非设备蓝图\",\"senderName\":\"吴荟\",\"receiverAddress\":\"新疆哈密市伊吾县淖毛湖镇广汇生活区12号楼\",\"receiverName\":\"李娟\",\"receiverType\":\"业主\",\"receiverUnit\":\"哈密广汇环保科技有限公司\"},{\"item_id\":\"22150\",\"modifiedTime\":\"2022/3/19 15:23:33\",\"folderNo\":\"22150-21000-WT4401-001\",\"isUpgrade\":\"D00\",\"fileType\":\"非设备蓝图\",\"senderName\":\"吴荟\",\"receiverAddress\":\"新疆哈密市伊吾县淖毛湖镇广汇生活区12号楼\",\"receiverName\":\"李娟\",\"receiverType\":\"业主\",\"receiverUnit\":\"哈密广汇环保科技有限公司\"}]"; + var returndata = BLL.APIGetHttpService.OutsideHttp(url, "GET", null, null, null); + if (!string.IsNullOrEmpty(returndata)) + { + ErrLogInfo.WriteLog($"【{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}获取OA图纸数据({startDate}至{endDate}):】{returndata}"); + int succ = 0; + int err = 0; + using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) + { + List responseData = OADesignDrawingDataItems.FromJson(returndata); + responseData = responseData.Where(x => !string.IsNullOrWhiteSpace(x.uuid) == true).ToList(); + foreach (var item in responseData) + { + IDP_DesignDrawing newItem = db.IDP_DesignDrawing.FirstOrDefault(x => x.IdpfileId == item.uuid); + //IDP_DesignDrawing newItem = db.IDP_DesignDrawing.FirstOrDefault(x => x.StockId == item.RdpId && x.ThirdId == item.fileid); + //IDP_DesignDrawing newItem = db.IDP_DesignDrawing.FirstOrDefault(x => x.StockId == item.RdpId && x.FormatFileCode == item.doc_no && x.FormatFileName == item.maintitle); + if (newItem != null) + { + newItem.RdpId = item.RdpId; + newItem.Fileid = item.fileid; + //newItem.StockId = item.RdpId; + //newItem.ThirdId = item.fileid; + newItem.Upfileid = item.upfileid; + newItem.Maintitle = item.maintitle; + newItem.Doc_no = item.doc_no; + newItem.Bc = item.bc; + newItem.Archnumber = item.archnumber; + newItem.Sendtime = item.sendtime; + newItem.Printtime = item.printtime; + newItem.Ifmail = item.ifmail; + db.SubmitChanges(); + succ++; + } + else + { + err++; + } + } + message = $"总数{(succ + err)}条;失败{err}条,成功{succ}条!"; + } + } + else + { + message = "无数据"; + } + return message; + } + catch (WebException ex) + { + return ex.Message; + } + } + /// /// 质量管理设计图纸——更新蓝图寄出信息 /// @@ -922,7 +1004,7 @@ namespace BLL //ErrLogInfo.WriteLog($"返回结果:{returndata}"); if (!string.IsNullOrEmpty(returndata)) { - ErrLogInfo.WriteLog($"【{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}更新蓝图寄出信息】{returndata}"); + ErrLogInfo.WriteLog($"【{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}更新蓝图寄出信息({startDate}至{endDate})】{returndata}"); int succ = 0; int err = 0; using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) @@ -1002,7 +1084,7 @@ namespace BLL var returndata = BLL.APIGetHttpService.OutsideHttp(url, "GET", null, null, null); if (!string.IsNullOrEmpty(returndata)) { - ErrLogInfo.WriteLog($"【{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}更新蓝图打印信息】{returndata}"); + ErrLogInfo.WriteLog($"【{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}更新蓝图打印信息({startDate}至{endDate})】{returndata}"); int succ = 0; int err = 0; using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) diff --git a/SGGL/BLL/JDGL/SGManPower/SGManPowerService.cs b/SGGL/BLL/JDGL/SGManPower/SGManPowerService.cs index 3693673d..d5242221 100644 --- a/SGGL/BLL/JDGL/SGManPower/SGManPowerService.cs +++ b/SGGL/BLL/JDGL/SGManPower/SGManPowerService.cs @@ -21,7 +21,7 @@ namespace BLL foreach (var project in projects) { // 检查管理人员到期未到岗情况 - var items1 = CheckManagerNotArrived(project.ProjectId); + var items1 = CheckHistoricalContinuousShortage(project.ProjectId); // 检查作业人员人力偏差情况 var items2 = CheckWorkerDeviation(project.ProjectId); @@ -48,122 +48,109 @@ namespace BLL } + #region 检查所有历史数据中连续一周以上人力不足的情况 + /// - /// 检查管理人员到期未到岗情况(超过一周发出预警) + /// 检查所有历史数据中连续一周以上人力不足的情况 /// - /// 项目ID - private static IEnumerable CheckManagerNotArrived(string projectId) + private static IEnumerable CheckHistoricalContinuousShortage(string projectId) { - //获取计划的最新版本 - var version = "1"; - var sgMan = Funs.DB.JDGL_SGManPower.Where(x => x.ProjectId == projectId).OrderByDescending(x => x.Version) - .FirstOrDefault(); - if (sgMan != null) - { - version = sgMan.Version; - } - - // 先获取计划表超过一周的管理岗位有哪些 - var dataList = (from x in Funs.DB.JDGL_SGManPower - join p in Funs.DB.Base_WorkPost on x.WorkPostId equals p.WorkPostId into pp - from y in pp.DefaultIfEmpty() - where x.ProjectId == projectId && (y.PostType == "4" || y.PostType == "1") && - x.PlanDate <= DateTime.Now.AddDays(-7) && x.Version == version - select x).ToList(); - - var lItems = new List(); - //循环检查实际考勤中的人数 - foreach (var data in dataList) - { - //根据人员计划表获取计划中的管理人员数 - int num = getInOutRecordNum(data); - if (data.Quantity > num) - { - lItems = SendManagerWarning(data.UnitId, projectId, data.WorkPostId, data.UnitWorkId, data.PlanDate, - data.Quantity, num); - } - } - - return lItems; - } - - //获取实际考勤人员数 - private static int getInOutRecordNum(JDGL_SGManPower sgManPower) - { - string strSql = @" - SELECT e.UnitId, e.PostId, e.RecordDate, p.WorkAreaId as UnitWorkId - FROM T_d_EmployInOutRecord e INNER JOIN SitePerson_Person p ON e.IDCardNo = p.IdentityCard AND e.ProjectId = p.ProjectId - WHERE e.PostId IS NOT NULL AND e.PostId != '' - AND e.ProjectId = @ProjectId - AND e.RecordDate = @RecordDate - AND e.UnitId = @UnitId - AND e.PostId = @PostId"; + string strSql = @"WITH LatestVersions AS ( + SELECT ProjectId, MAX(Version) AS MaxVersion + FROM JDGL_SGManPower + WHERE ProjectId = @ProjectId + GROUP BY ProjectId + ), + PlanVsActual AS ( + SELECT + p.ProjectId, + p.UnitId, + p.UnitWorkId, + p.WorkPostId, + p.PlanDate, + p.Quantity AS PlanQuantity, + ISNULL(a.num, 0) AS num, + CASE WHEN ISNULL(a.num, 0) < p.Quantity THEN 1 ELSE 0 END AS IsShortage, + lv.MaxVersion + FROM JDGL_SGManPower p + INNER JOIN LatestVersions lv ON p.ProjectId = lv.ProjectId AND p.Version = lv.MaxVersion + LEFT JOIN ( SELECT ProjectId,UnitId,WorkPostId,IntoOutTime,WorkAreaId,num FROM SitePerson_Checking_Statistics ) a ON p.ProjectId = a.ProjectId + AND p.UnitId = a.UnitId + AND p.WorkPostId = a.WorkPostId + AND p.PlanDate = a.IntoOutTime + AND (CHARINDEX(',' + p.UnitWorkId + ',', ',' + ISNULL(a.WorkAreaId, '') + ',') > 0 + OR (ISNULL(a.WorkAreaId, '') = '' AND ISNULL(p.UnitWorkId, '') = '')) + WHERE p.ProjectId = @ProjectId AND p.PlanDate <= GETDATE() + ), + ShortageWithRowNum AS ( + SELECT *, + ROW_NUMBER() OVER ( + PARTITION BY ProjectId, UnitId, UnitWorkId, WorkPostId + ORDER BY PlanDate + ) AS RowNum + FROM PlanVsActual + WHERE IsShortage = 1 + ), + ContinuousGroups AS ( + SELECT *, + DATEADD(DAY, -RowNum, PlanDate) AS GroupId + FROM ShortageWithRowNum + ), + ContinuousCounts AS ( + SELECT + ProjectId, + UnitId, + UnitWorkId, + WorkPostId, + GroupId, + COUNT(*) AS ContinuousDays, + MIN(PlanDate) AS StartDate, + MAX(PlanDate) AS EndDate, + SUM(PlanQuantity) as PlanQuantity, + SUM(num) as num, + MaxVersion + FROM ContinuousGroups + GROUP BY ProjectId, UnitId, UnitWorkId, WorkPostId, GroupId,MaxVersion + ) + SELECT + ProjectId, + UnitId, + UnitWorkId, + WorkPostId, + ContinuousDays, + MaxVersion, + StartDate, + EndDate,PlanQuantity,num + FROM ContinuousCounts + WHERE ContinuousDays >= 7"; var parameters = new List { - new System.Data.SqlClient.SqlParameter("@ProjectId", sgManPower.ProjectId), - new System.Data.SqlClient.SqlParameter("@RecordDate", sgManPower.PlanDate), - new System.Data.SqlClient.SqlParameter("@UnitId", sgManPower.UnitId), - new System.Data.SqlClient.SqlParameter("@PostId", sgManPower.WorkPostId), + new System.Data.SqlClient.SqlParameter("@ProjectId", projectId) }; - - // 执行查询获取分组数据 + var warningItems = new List(); var dt = SQLHelper.GetDataTableRunText(strSql, parameters.ToArray()); - // 创建一个新的DataTable来存储处理后的数据 - DataTable processedDt = dt.Clone(); - foreach (System.Data.DataRow row in dt.Rows) + foreach (DataRow row in dt.Rows) { - string ids = row["UnitWorkId"] != DBNull.Value ? row["UnitWorkId"].ToString() : string.Empty; - if (!string.IsNullOrEmpty(ids)) - { - string[] unitWorkIdArray = ids.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); - foreach (string unitWorkId in unitWorkIdArray) - { - // 往processedDt里面添加数据,每个UnitWorkId一行 - DataRow newRow = processedDt.NewRow(); - newRow["UnitId"] = row["UnitId"]; - newRow["PostId"] = row["PostId"]; - newRow["RecordDate"] = row["RecordDate"]; - newRow["UnitWorkId"] = unitWorkId.Trim(); - processedDt.Rows.Add(newRow); - } - } - else - { - DataRow newRow = processedDt.NewRow(); - newRow["UnitId"] = row["UnitId"]; - newRow["PostId"] = row["PostId"]; - newRow["RecordDate"] = row["RecordDate"]; - newRow["UnitWorkId"] = string.Empty; - processedDt.Rows.Add(newRow); - } + warningItems.AddRange(SendManagerWarning(row["UnitId"].ToString(), row["ProjectId"].ToString(), + row["WorkPostId"].ToString(), row["UnitWorkId"].ToString(), + Convert.ToDateTime(row["StartDate"]), Convert.ToDateTime(row["EndDate"]), + Convert.ToInt32(row["PlanQuantity"]), Convert.ToInt32(row["num"]))); } - // 确定要用于后续处理的数据源 - IEnumerable dataSource = processedDt.AsEnumerable(); - - if (string.IsNullOrEmpty(sgManPower.UnitWorkId)) - { - dataSource = dataSource.Where(x => x["UnitWorkId"] == null); - } - else - { - dataSource = dataSource.Where(x => - x["UnitWorkId"] != DBNull.Value && x["UnitWorkId"].ToString() == sgManPower.UnitWorkId); - } - - return dataSource.Count(); + return warningItems; } + /// /// 发送管理人员预警 /// /// 项目ID /// 单位id private static List SendManagerWarning(string unitId, string projectId, string workPostId, - string unitWorkId, DateTime? planDate, int? quantity, int num) + string unitWorkId, DateTime? startDate, DateTime? endDate, int? quantity, int num) { // 发送预警信息 var toDoItems = new List(); @@ -250,15 +237,15 @@ namespace BLL if (unitWorks != null) { warningContent = - $"{projectUnits.UnitName}单位{unitWorks.UnitWorkName}装置计划{string.Format("{0:yyyy-MM-dd}", planDate)}投入人力{quantity}人,实际考勤为{num}人。"; + $"{projectUnits.UnitName}单位{unitWorks.UnitWorkName}装置计划{string.Format("{0:yyyy-MM-dd}", startDate)}~{string.Format("{0:yyyy-MM-dd}", endDate)}投入人力{quantity}人,实际考勤为{num}人。"; } else { warningContent = - $"{projectUnits.UnitName}单位计划{string.Format("{0:yyyy-MM-dd}", planDate)}投入人力{quantity}人,实际考勤为{num}人。"; + $"{projectUnits.UnitName}单位计划{string.Format("{0:yyyy-MM-dd}", startDate)}~{string.Format("{0:yyyy-MM-dd}", endDate)}投入人力{quantity}人,实际考勤为{num}人。"; } - string urlParams = "JDGL/SGManPower/SGWarningDetails.aspx?projectId=" + projectId; + string urlParams = "JDGL/SGManPower/SGWarningDetailsEdit.aspx?projectId=" + projectId; // 添加单位参数(如果已选择) if (!string.IsNullOrEmpty(unitId)) { @@ -278,28 +265,17 @@ namespace BLL } // 添加时间参数 - if (planDate.HasValue) + if (startDate.HasValue) { - urlParams += "&planDate=" + string.Format("{0:yyyy-MM-dd}", planDate); + urlParams += "&startTime=" + string.Format("{0:yyyy-MM-dd}", startDate); } - // 添加岗位参数(如果已选择) - if (quantity.HasValue) + // 添加时间参数 + if (endDate.HasValue) { - urlParams += "&quantity=" + quantity.Value; + urlParams += "&endTime=" + string.Format("{0:yyyy-MM-dd}", endDate); } - // 添加岗位参数(如果已选择) - if (num >= 0) - { - urlParams += "&num=" + num; - } - else - { - urlParams += "&num=0"; - } - - foreach (var userId in toUserIds) { Model.ToDoItem toDoItem = new Model.ToDoItem(); @@ -320,143 +296,120 @@ namespace BLL return toDoItems; } + #endregion + + + #region 检查作业人员人力偏差情况 + // /// - // /// 检查作业人员人力偏差情况(一周内累计偏差值超过计划的10%) + // /// 检查作业人员人力偏差情况(一周内(连续7天不是最近七天)累计偏差值超过计划的10%) // /// // /// 项目ID private static IEnumerable CheckWorkerDeviation(string projectId) { - //获取计划的最新版本 - var version = "1"; - var sgMan = Funs.DB.JDGL_SGManPower.Where(x => x.ProjectId == projectId).OrderByDescending(x => x.Version) - .FirstOrDefault(); - if (sgMan != null) - { - version = sgMan.Version; - } - - //当前时间 - var endDate = DateTime.Now; - //当前时间前7天 - var startDate = DateTime.Now.AddDays(-7); - // 先获取计划表一周的作业岗位有哪些 - var dataList = (from x in Funs.DB.JDGL_SGManPower - join p in Funs.DB.Base_WorkPost on x.WorkPostId equals p.WorkPostId into pp - from y in pp.DefaultIfEmpty() - where x.ProjectId == projectId && (y.PostType == "2" || y.PostType == "3") && - x.PlanDate >= startDate && x.PlanDate <= endDate && x.Version == version - group x by new - { - x.UnitId, - x.UnitWorkId, - x.WorkPostId - } - into g - select new - { - UnitId = g.Key.UnitId, - UnitWorkId = g.Key.UnitWorkId, - WorkPostId = g.Key.WorkPostId, - QuantitySum = g.Sum(x => x.Quantity) - }).ToList(); - - var lItems = new List(); - //循环检查实际考勤中的人数 - foreach (var data in dataList) - { - //根据人员计划表获取计划中的作业人员数 - int num = getInOutRecordNum1(data.UnitId, data.UnitWorkId, data.WorkPostId, projectId); - - // 计算偏差百分比 - if (data.QuantitySum != 0) - { - double deviationPercentage = Math.Abs((double)((data.QuantitySum - num) / data.QuantitySum)); - // 如果偏差超过10%,发出预警 - if (deviationPercentage > 0.1) - { - lItems = SendWorkerDeviationWarning(data.UnitId, projectId, data.WorkPostId, data.UnitWorkId, - startDate, endDate, data.QuantitySum, num); - } - } - } - - return lItems; - } - - - //获取实际考勤人员数 - private static int getInOutRecordNum1(string unitId, string unitWorkId, string workPostId, string projectId) - { - string strSql = @" - SELECT e.UnitId, e.PostId, e.RecordDate, p.WorkAreaId as UnitWorkId - FROM T_d_EmployInOutRecord e INNER JOIN SitePerson_Person p ON e.IDCardNo = p.IdentityCard AND e.ProjectId = p.ProjectId - WHERE e.PostId IS NOT NULL AND e.PostId != '' - AND e.ProjectId = @ProjectId - AND e.UnitId = @UnitId - AND e.PostId = @PostId - AND e.RecordDate >= @StartDate - AND e.RecordDate <= @EndDate"; + string strSql = @"WITH LatestVersions AS ( + SELECT ProjectId, MAX(Version) AS MaxVersion + FROM JDGL_SGManPower + WHERE ProjectId = @ProjectId + GROUP BY ProjectId + ), + PlanVsActual AS ( + SELECT + p.ProjectId, + p.UnitId, + p.UnitWorkId, + p.WorkPostId, + p.PlanDate, + p.Quantity AS PlanQuantity, + ISNULL(a.num, 0) AS num, + CASE + WHEN p.Quantity > 0 AND ABS(CAST((p.Quantity - ISNULL(a.num, 0)) AS FLOAT) / p.Quantity) > 0.1 + THEN 1 + ELSE 0 + END AS HasDeviation, + lv.MaxVersion + FROM JDGL_SGManPower p + INNER JOIN LatestVersions lv ON p.ProjectId = lv.ProjectId AND p.Version = lv.MaxVersion + LEFT JOIN ( + SELECT ProjectId,UnitId,WorkPostId,IntoOutTime,WorkAreaId,num + FROM SitePerson_Checking_Statistics + ) a ON p.ProjectId = a.ProjectId + AND p.UnitId = a.UnitId + AND p.WorkPostId = a.WorkPostId + AND p.PlanDate = a.IntoOutTime + AND (CHARINDEX(',' + p.UnitWorkId + ',', ',' + ISNULL(a.WorkAreaId, '') + ',') > 0 + OR (ISNULL(a.WorkAreaId, '') = '' AND ISNULL(p.UnitWorkId, '') = '')) + WHERE p.ProjectId = @ProjectId AND p.PlanDate <= GETDATE() + ), + DeviationWithRowNum AS ( + SELECT *, + ROW_NUMBER() OVER ( + PARTITION BY ProjectId, UnitId, UnitWorkId, WorkPostId + ORDER BY PlanDate + ) AS RowNum + FROM PlanVsActual + WHERE HasDeviation = 1 + ), + ContinuousGroups AS ( + SELECT *, + DATEADD(DAY, -RowNum, PlanDate) AS GroupId + FROM DeviationWithRowNum + ), + ContinuousCounts AS ( + SELECT + ProjectId, + UnitId, + UnitWorkId, + WorkPostId, + GroupId, + COUNT(*) AS ContinuousDays, + MIN(PlanDate) AS StartDate, + MAX(PlanDate) AS EndDate, + SUM(PlanQuantity) as TotalPlanQuantity, + SUM(num) as num, + MaxVersion + FROM ContinuousGroups + GROUP BY ProjectId, UnitId, UnitWorkId, WorkPostId, GroupId, MaxVersion + ) + SELECT + ProjectId, + UnitId, + UnitWorkId, + WorkPostId, + ContinuousDays, + MaxVersion, + StartDate, + EndDate, + TotalPlanQuantity, + num + FROM ContinuousCounts + WHERE ContinuousDays >= 7"; var parameters = new List { - new System.Data.SqlClient.SqlParameter("@ProjectId", projectId), - new System.Data.SqlClient.SqlParameter("@UnitId", unitId), - new System.Data.SqlClient.SqlParameter("@PostId", workPostId), - new System.Data.SqlClient.SqlParameter("@StartDate", DateTime.Now.AddDays(-7)), - new System.Data.SqlClient.SqlParameter("@EndDate", DateTime.Now), + new System.Data.SqlClient.SqlParameter("@ProjectId", projectId) }; - // 执行查询获取分组数据 + var warningItems = new List(); var dt = SQLHelper.GetDataTableRunText(strSql, parameters.ToArray()); - // 创建一个新的DataTable来存储处理后的数据 - DataTable processedDt = dt.Clone(); - - foreach (System.Data.DataRow row in dt.Rows) + foreach (DataRow row in dt.Rows) { - string ids = row["UnitWorkId"] != DBNull.Value ? row["UnitWorkId"].ToString() : string.Empty; - if (!string.IsNullOrEmpty(ids)) - { - string[] unitWorkIdArray = ids.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); - foreach (string id in unitWorkIdArray) - { - // 往processedDt里面添加数据,每个UnitWorkId一行 - DataRow newRow = processedDt.NewRow(); - newRow["UnitId"] = row["UnitId"]; - newRow["PostId"] = row["PostId"]; - newRow["RecordDate"] = row["RecordDate"]; - newRow["UnitWorkId"] = id.Trim(); - processedDt.Rows.Add(newRow); - } - } - else - { - DataRow newRow = processedDt.NewRow(); - newRow["UnitId"] = row["UnitId"]; - newRow["PostId"] = row["PostId"]; - newRow["RecordDate"] = row["RecordDate"]; - newRow["UnitWorkId"] = string.Empty; - processedDt.Rows.Add(newRow); - } + warningItems.AddRange(SendWorkerDeviationWarning( + row["UnitId"].ToString(), + row["ProjectId"].ToString(), + row["WorkPostId"].ToString(), + row["UnitWorkId"].ToString(), + Convert.ToDateTime(row["StartDate"]), + Convert.ToDateTime(row["EndDate"]), + Convert.ToInt32(row["TotalPlanQuantity"]), + Convert.ToInt32(row["num"]) + )); } - // 确定要用于后续处理的数据源 - IEnumerable dataSource = processedDt.AsEnumerable(); - - if (string.IsNullOrEmpty(unitWorkId)) - { - dataSource = dataSource.Where(x => x["UnitWorkId"] == null); - } - else - { - dataSource = dataSource.Where(x => - x["UnitWorkId"] != DBNull.Value && x["UnitWorkId"].ToString() == unitWorkId); - } - - return dataSource.Count(); + return warningItems; } - - + /// /// 发送作业人员偏差预警 /// @@ -466,8 +419,7 @@ namespace BLL /// 实际总人数 /// 偏差百分比 private static List SendWorkerDeviationWarning(string unitId, string projectId, string workPostId, - string unitWorkId, - DateTime? startDate, DateTime? endDate, int? quantity, int num) + string unitWorkId, DateTime? startDate, DateTime? endDate, int? quantity, int num) { // 发送预警信息 var toDoItems = new List(); @@ -553,23 +505,6 @@ namespace BLL string.Format("{0:yyyy-MM-dd}", endDate); } - - // 添加岗位参数(如果已选择) - if (quantity.HasValue) - { - urlParams += "&quantity=" + quantity.Value; - } - - // 添加岗位参数(如果已选择) - if (num >= 0) - { - urlParams += "&num=" + num; - } - else - { - urlParams += "&num=0"; - } - // 发送预警信息 foreach (var userId in toUserIds) { @@ -589,5 +524,7 @@ namespace BLL return toDoItems; } + + #endregion } } \ No newline at end of file diff --git a/SGGL/BLL/PZHGL/GJSX/GJSXMonitorService.cs b/SGGL/BLL/PZHGL/GJSX/GJSXMonitorService.cs index e411c3a7..1fb11917 100644 --- a/SGGL/BLL/PZHGL/GJSX/GJSXMonitorService.cs +++ b/SGGL/BLL/PZHGL/GJSX/GJSXMonitorService.cs @@ -109,8 +109,16 @@ namespace BLL { mail.Subject = $"有新的关键事项抄送你了——{gItem.ProjectName}"; } - mail.To.Add(user.Email); - //mail.To.Add("test@test.com"); + try + { + mail.To.Add(user.Email); + //mail.To.Add("test@test.com"); + } + catch (Exception ex) + { + ErrLogInfo.WriteLog($"【邮箱提醒异常】{user.UserName}邮箱:{user.Email};时间:{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")};异常信息:{ex.Message}"); + continue; + } mail.IsBodyHtml = true;//确保邮件正文被当作HTML解析 //邮件正文 string bodyStr = $@" @@ -235,8 +243,16 @@ namespace BLL MailMessage mail = new MailMessage(); //邮件主题 mail.Subject = $"有新的事项申请关闭——{gItem.ProjectName}"; - mail.To.Add(user.Email); - //mail.To.Add("test@test.com"); + try + { + mail.To.Add(user.Email); + //mail.To.Add("test@test.com"); + } + catch (Exception ex) + { + ErrLogInfo.WriteLog($"【邮箱提醒异常】{user.UserName}邮箱:{user.Email};时间:{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")};异常信息:{ex.Message}"); + continue; + } mail.IsBodyHtml = true;//确保邮件正文被当作HTML解析 //邮件正文 string bodyStr = $@" @@ -361,8 +377,16 @@ namespace BLL MailMessage mail = new MailMessage(); //邮件主题 mail.Subject = $"有事项申请关闭被驳回了——{gItem.ProjectName}"; - mail.To.Add(user.Email); - //mail.To.Add("test@test.com"); + try + { + mail.To.Add(user.Email); + //mail.To.Add("test@test.com"); + } + catch (Exception ex) + { + ErrLogInfo.WriteLog($"【邮箱提醒异常】{user.UserName}邮箱:{user.Email};时间:{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")};异常信息:{ex.Message}"); + continue; + } mail.IsBodyHtml = true;//确保邮件正文被当作HTML解析 //邮件正文 string bodyStr = $@" @@ -418,12 +442,12 @@ namespace BLL /// public static void OverdueWarningSendEmail() { - try - { - Model.SGGLDB db = Funs.DB; - //取未关闭且已经超期的数据 + //try + //{ + Model.SGGLDB db = Funs.DB; + //取未关闭且已经超期的数据 - string strSql = @"select + string strSql = @"select DATEDIFF(DAY, CompleteDate, isnull(CloseDate,getdate())) AS DateDiffDays ,a.GJSXID,a.ProjectId,a.Detail,a.createDate,Base_Project.ProjectName,Base_Unit.UnitName,a.CloseDate,a.IsManypeople,a.CompleteDate,a.AttachUrl ,case a.state when 2 then '正在进行' when 3 then '待办' when 0 then '已关闭' when 1 then '开放' end as state @@ -447,113 +471,121 @@ namespace BLL left join[dbo].[Base_Unit] on a.UnitId = Base_Unit.UnitId where 1=1 and Base_Project.ProjectState=1 and a.state<>'0' and a.state<>'1' and (GETDATE()>a.CompleteDate or DATEDIFF(DAY, CompleteDate, isnull(CloseDate,getdate()))=-7 or DATEDIFF(DAY, CompleteDate, isnull(CloseDate,getdate()))=-6 or DATEDIFF(DAY, CompleteDate, isnull(CloseDate,getdate()))=-1 ) "; - List listStr = new List(); - SqlParameter[] parameter = listStr.ToArray(); + List listStr = new List(); + SqlParameter[] parameter = listStr.ToArray(); - DataTable table = SQLHelper.GetDataTableRunText(strSql, parameter); + DataTable table = SQLHelper.GetDataTableRunText(strSql, parameter); - // 使用LINQ将DataTable转换为List - var lstOverdue = table.AsEnumerable().Select(row => new GJSXItem + // 使用LINQ将DataTable转换为List + var lstOverdue = table.AsEnumerable().Select(row => new GJSXItem + { + DateDiffDays = Convert.ToInt32(row["DateDiffDays"]), + GJSXID = row["GJSXID"].ToString(), + ProjectId = row["ProjectId"].ToString(), + ProjectName = row["ProjectName"].ToString(), + UnitName = row["UnitName"].ToString(), + Detail = row["Detail"].ToString(), + CNProfessionalName = row["CNProfessionalName"].ToString(), + QuestionTypeName = row["QuestionTypeName"].ToString(), + GJSXTypeName = row["GJSXTypeName"].ToString(), + UserID = row["UserID"].ToString(), + UserName = row["UserName"].ToString(), + //UserEmail = row["UserEmail"].ToString(), + User_ReceiveUserId = row["User_ReceiveUserId"].ToString(), + User_ReceiveUserName = row["User_ReceiveUserName"].ToString(), + //User_ReceiveUserEmail = row["User_ReceiveUserEmail"].ToString(), + User_AcceptanceUserId = row["User_AcceptanceUserId"].ToString(), + User_AcceptanceUserName = row["User_AcceptanceUserName"].ToString(), + //User_AcceptanceUserEmail = row["User_AcceptanceUserEmail"].ToString(), + User_CsUserIds = row["User_CsUserIds"].ToString(), + User_CsUsers = row["User_CsUsers"].ToString(), + //User_CsUsersUserEmail = row["User_CsUsersUserEmail"].ToString(), + CompleteDate = Convert.ToDateTime(row["CompleteDate"].ToString()) + }).ToList(); + + #region 根据用户聚合推送,多个事项合并推送 + + //获取有邮箱的用户 + var userIds = BLL.UserService.GetUserHaveEmailList(); + + //userIds = userIds.Where(x => x.UserName == "张小松" || x.UserName == "詹佩佩").ToList(); + //userIds = userIds.Where(x => x.UserName == "申银行").ToList(); + if (userIds.Any() && lstOverdue.Any()) + { + //int allnum = 0; + var lstProject = lstOverdue.Select(x => new { x.ProjectId, x.ProjectName }).Distinct().ToList(); + foreach (var pro in lstProject) { - DateDiffDays = Convert.ToInt32(row["DateDiffDays"]), - GJSXID = row["GJSXID"].ToString(), - ProjectId = row["ProjectId"].ToString(), - ProjectName = row["ProjectName"].ToString(), - UnitName = row["UnitName"].ToString(), - Detail = row["Detail"].ToString(), - CNProfessionalName = row["CNProfessionalName"].ToString(), - QuestionTypeName = row["QuestionTypeName"].ToString(), - GJSXTypeName = row["GJSXTypeName"].ToString(), - UserID = row["UserID"].ToString(), - UserName = row["UserName"].ToString(), - //UserEmail = row["UserEmail"].ToString(), - User_ReceiveUserId = row["User_ReceiveUserId"].ToString(), - User_ReceiveUserName = row["User_ReceiveUserName"].ToString(), - //User_ReceiveUserEmail = row["User_ReceiveUserEmail"].ToString(), - User_AcceptanceUserId = row["User_AcceptanceUserId"].ToString(), - User_AcceptanceUserName = row["User_AcceptanceUserName"].ToString(), - //User_AcceptanceUserEmail = row["User_AcceptanceUserEmail"].ToString(), - User_CsUserIds = row["User_CsUserIds"].ToString(), - User_CsUsers = row["User_CsUsers"].ToString(), - //User_CsUsersUserEmail = row["User_CsUsersUserEmail"].ToString(), - CompleteDate = Convert.ToDateTime(row["CompleteDate"].ToString()) - }).ToList(); - - #region 根据用户聚合推送,多个事项合并推送 - - //获取有邮箱的用户 - var userIds = BLL.UserService.GetUserHaveEmailList(); - - //userIds = userIds.Where(x => x.UserName == "张邦兴" || x.UserName == "申银行").ToList(); - //userIds = userIds.Where(x => x.UserName == "白金潮" || x.UserName == "申银行").ToList(); - if (userIds.Any() && lstOverdue.Any()) - { - //int allnum = 0; - var lstProject = lstOverdue.Select(x => new { x.ProjectId, x.ProjectName }).Distinct().ToList(); - foreach (var pro in lstProject) + //if (allnum > 50) { break; } + var lstProjectOverdue = lstOverdue.Where(x => x.ProjectId == pro.ProjectId).ToList(); + if (lstProjectOverdue.Any()) { - //if (allnum > 50) { break; } - var lstProjectOverdue = lstOverdue.Where(x => x.ProjectId == pro.ProjectId).ToList(); - if (lstProjectOverdue.Any()) + string projectName = pro.ProjectName; + + #region 事项预警提醒相关人员 + + foreach (var user in userIds) { - string projectName = pro.ProjectName; - - #region 事项预警提醒相关人员 - - foreach (var user in userIds) + //if (allnum > 100) { break; } + MailMessage mail = new MailMessage(); + //邮件主题 + mail.Subject = $"关键事项预警提醒——{projectName}"; + try { - //if (allnum > 100) { break; } - MailMessage mail = new MailMessage(); - //邮件主题 - mail.Subject = $"关键事项预警提醒——{projectName}"; mail.To.Add(user.Email); //mail.To.Add("test@test.com"); - mail.IsBodyHtml = true;//确保邮件正文被当作HTML解析 + } + catch (Exception ex) + { + ErrLogInfo.WriteLog($"【邮箱提醒异常】{user.UserName}邮箱:{user.Email};时间:{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")};异常信息:{ex.Message}"); + continue; + } + mail.IsBodyHtml = true;//确保邮件正文被当作HTML解析 - StringBuilder tbodyStr = new StringBuilder(); - int index = 1; - //责任人为本人 - var acceptanceItems = lstProjectOverdue.Where(x => x.User_AcceptanceUserId.Contains(user.UserId)).OrderByDescending(x => x.DateDiffDays).ToList(); - if (acceptanceItems.Any()) + StringBuilder tbodyStr = new StringBuilder(); + int index = 1; + //责任人为本人 + var acceptanceItems = lstProjectOverdue.Where(x => !string.IsNullOrWhiteSpace(x.User_AcceptanceUserId) && x.User_AcceptanceUserId.Contains(user.UserId)).OrderByDescending(x => x.DateDiffDays).ToList(); + if (acceptanceItems.Any()) + { + foreach (var item in acceptanceItems) { - foreach (var item in acceptanceItems) - { - tbodyStr.Append($"{index}本人负责{item.UnitName}{item.GJSXID}{item.Detail}{item.GJSXTypeName}{item.QuestionTypeName}{item.UserName}{item.User_AcceptanceUserName}{item.CompleteDate.ToShortDateString()}{(item.DateDiffDays > 0 ? item.DateDiffDays.ToString() : item.DateDiffDays < -1 ? "还有一周就逾期了" : "半")}"); - index++; - } + tbodyStr.Append($"{index}本人负责{item.UnitName}{item.GJSXID}{item.Detail}{item.GJSXTypeName}{item.QuestionTypeName}{item.UserName}{item.User_AcceptanceUserName}{item.CompleteDate.ToShortDateString()}{(item.DateDiffDays > 0 ? item.DateDiffDays.ToString() : item.DateDiffDays < -1 ? "还有一周就逾期了" : "半")}"); + index++; } - //发起人为本人 - var userItems = lstProjectOverdue.Where(x => x.UserID == user.UserId && x.DateDiffDays > -1).OrderByDescending(x => x.DateDiffDays).ToList(); - if (userItems.Any()) + } + //发起人为本人 + var userItems = lstProjectOverdue.Where(x => x.UserID == user.UserId && x.DateDiffDays > -1).OrderByDescending(x => x.DateDiffDays).ToList(); + if (userItems.Any()) + { + foreach (var item in userItems) { - foreach (var item in userItems) - { - tbodyStr.Append($"{index}本人发起{item.UnitName}{item.GJSXID}{item.Detail}{item.GJSXTypeName}{item.QuestionTypeName}{item.UserName}{item.User_AcceptanceUserName}{item.CompleteDate.ToShortDateString()}{(item.DateDiffDays > 0 ? item.DateDiffDays.ToString() : "半")}"); - index++; - } + tbodyStr.Append($"{index}本人发起{item.UnitName}{item.GJSXID}{item.Detail}{item.GJSXTypeName}{item.QuestionTypeName}{item.UserName}{item.User_AcceptanceUserName}{item.CompleteDate.ToShortDateString()}{(item.DateDiffDays > 0 ? item.DateDiffDays.ToString() : "半")}"); + index++; } - //跟踪人为本人--x.User_ReceiveUserId != null && x.User_ReceiveUserId != "" && - var receiveItems = lstProjectOverdue.Where(x => x.User_ReceiveUserId.Contains(user.UserId) && x.DateDiffDays > -1).OrderByDescending(x => x.DateDiffDays).ToList(); - if (receiveItems.Any()) + } + //跟踪人为本人--x.User_ReceiveUserId != null && x.User_ReceiveUserId != "" && + var receiveItems = lstProjectOverdue.Where(x => !string.IsNullOrWhiteSpace(x.User_ReceiveUserId) && x.User_ReceiveUserId.Contains(user.UserId) && x.DateDiffDays > -1).OrderByDescending(x => x.DateDiffDays).ToList(); + if (receiveItems.Any()) + { + foreach (var item in receiveItems) { - foreach (var item in receiveItems) - { - tbodyStr.Append($"{index}本人跟踪{item.UnitName}{item.GJSXID}{item.Detail}{item.GJSXTypeName}{item.QuestionTypeName}{item.UserName}{item.User_AcceptanceUserName}{item.CompleteDate.ToShortDateString()}{(item.DateDiffDays > 0 ? item.DateDiffDays.ToString() : "半")}"); - index++; - } + tbodyStr.Append($"{index}本人跟踪{item.UnitName}{item.GJSXID}{item.Detail}{item.GJSXTypeName}{item.QuestionTypeName}{item.UserName}{item.User_AcceptanceUserName}{item.CompleteDate.ToShortDateString()}{(item.DateDiffDays > 0 ? item.DateDiffDays.ToString() : "半")}"); + index++; } - //抄送人为本人 - var csUserItems = lstProjectOverdue.Where(x => x.User_CsUserIds.Contains(user.UserId)).OrderByDescending(x => x.DateDiffDays).ToList(); - if (csUserItems.Any()) + } + //抄送人为本人 + var csUserItems = lstProjectOverdue.Where(x => !string.IsNullOrWhiteSpace(x.User_CsUserIds) && x.User_CsUserIds.Contains(user.UserId)).OrderByDescending(x => x.DateDiffDays).ToList(); + if (csUserItems.Any()) + { + foreach (var item in csUserItems) { - foreach (var item in csUserItems) - { - tbodyStr.Append($"{index}抄送本人{item.UnitName}{item.GJSXID}{item.Detail}{item.GJSXTypeName}{item.QuestionTypeName}{item.UserName}{item.User_AcceptanceUserName}{item.CompleteDate.ToShortDateString()}{(item.DateDiffDays > 0 ? item.DateDiffDays.ToString() : item.DateDiffDays < -1 ? "还有一周就逾期了" : "半")}"); - index++; - } + tbodyStr.Append($"{index}抄送本人{item.UnitName}{item.GJSXID}{item.Detail}{item.GJSXTypeName}{item.QuestionTypeName}{item.UserName}{item.User_AcceptanceUserName}{item.CompleteDate.ToShortDateString()}{(item.DateDiffDays > 0 ? item.DateDiffDays.ToString() : item.DateDiffDays < -1 ? "还有一周就逾期了" : "半")}"); + index++; } - //邮件正文 - string bodyStr = @" + } + //邮件正文 + string bodyStr = @" @@ -248,15 +259,15 @@
-
+
-
当前现场总人数
-
-
0
-
0
-
0
-
0
-
+
当前现场总人数
+
+
0
+
0
+
0
+
0
+
@@ -270,7 +281,7 @@
- +
@@ -290,12 +301,32 @@
- + + @@ -537,7 +568,7 @@ right: '0%', bottom: 40, containLabel: true, - backgroundColor: 'rgba(0,162,233, 0.01)', + backgroundColor: 'rgba(0,162,233, 0.01)', // borderColor: 'rgba(0,162,233, 1)' }, //itemStyle: { @@ -557,8 +588,8 @@ var series = [{ name: '签到', type: 'bar', - barWidth: 20, - barGap:0.05, + barWidth: 20, + barGap: 0.05, data: four1.series[0].data, label: { //柱体上显示数值 show: true,//开启显示 @@ -572,18 +603,18 @@ itemStyle: { normal: { color: '#88cc00' } } }, { name: '系统', - type: 'bar', - barWidth: 20, - data: four1.series[1].data, - label: { //柱体上显示数值 - show: true,//开启显示 - position: 'top',//在上方显示 - textStyle: {//数值样式 - fontSize: '20px', - color: '#fff' - }, - formatter: '{c}', + type: 'bar', + barWidth: 20, + data: four1.series[1].data, + label: { //柱体上显示数值 + show: true,//开启显示 + position: 'top',//在上方显示 + textStyle: {//数值样式 + fontSize: '20px', + color: '#fff' }, + formatter: '{c}', + }, itemStyle: { normal: { color: '#AE4B23' } } }]; category_Four('four', xArr, series) @@ -611,7 +642,7 @@ data: four1.series[0].data }, { name: '系统', - type: 'bar', + type: 'bar', data: four1.series[1].data, itemStyle: { normal: { color: 'rgba(174,75,37, 1)' } } }]; diff --git a/SGGL/FineUIPro.Web/common/mainMenu_PDigData.aspx.cs b/SGGL/FineUIPro.Web/common/mainMenu_PDigData.aspx.cs index 0a2e3415..6ebcfaf8 100644 --- a/SGGL/FineUIPro.Web/common/mainMenu_PDigData.aspx.cs +++ b/SGGL/FineUIPro.Web/common/mainMenu_PDigData.aspx.cs @@ -1,4 +1,5 @@ using BLL; +using FineUIPro.Web.DataShow; using Newtonsoft.Json; using System; using System.Collections.Generic; @@ -8,15 +9,37 @@ namespace FineUIPro.Web.common { public partial class mainMenu_PDigData : PageBase { + #region 定义项 + /// + /// 项目主键 + /// + public string ProjectId + { + get + { + return (string)ViewState["ProjectId"]; + } + set + { + ViewState["ProjectId"] = value; + } + } + #endregion + protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { + this.ProjectId = string.Empty; + if (this.CurrUser != null && !string.IsNullOrEmpty(this.CurrUser.LoginProjectId)) + { + this.ProjectId = this.CurrUser.LoginProjectId; + } getEmployInOutRecords = Funs.DB.T_d_EmployInOutRecord.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.RecordDate.Value == DateTime.Now.Date).ToList(); getAllPersons = Funs.DB.SitePerson_Person.Where(x => x.ProjectId == this.CurrUser.LoginProjectId).ToList(); - getPersons = getAllPersons.Where(x =>x.IsUsed == true && x.InTime <= DateTime.Now && (!x.OutTime.HasValue || x.OutTime > DateTime.Now)).ToList(); + getPersons = getAllPersons.Where(x => x.IsUsed == true && x.InTime <= DateTime.Now && (!x.OutTime.HasValue || x.OutTime > DateTime.Now)).ToList(); ///当前现场总人数 - getSitePerson(); + getSitePerson(); } } @@ -26,7 +49,13 @@ namespace FineUIPro.Web.common /// private void getSitePerson() { - var AllCount = getEmployInOutRecords.Count(); + //var AllCount = getEmployInOutRecords.Count(); + + //var getEmployInOutRecords = Funs.DB.T_d_EmployInOutRecord.Where(x => x.ProjectId == this.ProjectId && x.RecordDate.Value == DateTime.Now.Date).ToList(); + // int AllCount = getEmployInOutRecords.Count(); + + var getallin = APIPageDataService.getPersonNum(this.ProjectId, DateTime.Now); + int AllCount = getallin.Count(); if (AllCount > 0) { ////总人数 @@ -72,7 +101,7 @@ namespace FineUIPro.Web.common } } #endregion - + #region 现场人员 /// /// @@ -105,12 +134,12 @@ namespace FineUIPro.Web.common int manCount = 0; var units = getAllPersons.Select(x => x.UnitId).Distinct(); if (units.Count() > 0) - { + { foreach (var unitId in units) - { + { var unitRords = from x in getEmployInOutRecords join y in getAllPersons on x.IDCardNo equals y.IdentityCard - where y.UnitId == unitId && y.PersonId != null && x.UnitId== unitId + where y.UnitId == unitId && y.PersonId != null && x.UnitId == unitId select x; var unitPersons = getPersons.Where(x => x.UnitId == unitId); int rcount = unitRords.Distinct().Count(); @@ -160,8 +189,8 @@ namespace FineUIPro.Web.common businessColumn.title = "现场人员"; var getTypes = (from x in getEmployInOutRecords join y in getAllPersons on x.IDCardNo equals y.IdentityCard - join z in Funs.DB.Base_WorkPost on y.WorkPostId equals z.WorkPostId - select new { y.WorkPostId,z.WorkPostName }).Distinct(); + join z in Funs.DB.Base_WorkPost on y.WorkPostId equals z.WorkPostId + select new { y.WorkPostId, z.WorkPostName }).Distinct(); if (getTypes.Count() > 0) { foreach (var item in getTypes) @@ -196,6 +225,6 @@ namespace FineUIPro.Web.common } } #endregion - + } } \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/common/mainProject2.aspx.cs b/SGGL/FineUIPro.Web/common/mainProject2.aspx.cs index 6403fa53..476237ed 100644 --- a/SGGL/FineUIPro.Web/common/mainProject2.aspx.cs +++ b/SGGL/FineUIPro.Web/common/mainProject2.aspx.cs @@ -1639,9 +1639,9 @@ left join (select PlanNum,RealNum,QuantityListId from JDGL_QuantityCompletion wh FROM GJSX LEFT JOIN Sys_User AS users ON users.UserId =@userId WHERE GJSX.ProjectId=@projectId AND - GJSX.State != 0 AND (((select count(*) from GJSX_detail detail where detail.Progress_user=@userId and detail.GJSXID=GJSX.GJSXID)=0 - and (select count(*) from GJSX_Process process where process.UserId=@userId and process.GJSXID=GJSX.GJSXID)>0) - or (GJSX.User_Acceptance like '%'+@userId+'%' and (select count(*) from GJSX_detail detail where detail.GJSXID=GJSX.GJSXID)=(select count(*) from GJSX_Process process where process.GJSXID=GJSX.GJSXID)) + GJSX.State != 0 AND (((select count(1) from GJSX_detail detail where detail.Progress_user=@userId and detail.GJSXID=GJSX.GJSXID)=0 + and (select count(1) from GJSX_Process process where process.UserId=@userId and process.GJSXID=GJSX.GJSXID)>0) + or (GJSX.User_Acceptance like '%'+@userId+'%' and (select count(1) from GJSX_detail detail where detail.GJSXID=GJSX.GJSXID)=(select count(1) from GJSX_Process process where process.GJSXID=GJSX.GJSXID)) ) UNION ALL SELECT GJSXID AS DataId @@ -1721,9 +1721,9 @@ left join (select PlanNum,RealNum,QuantityListId from JDGL_QuantityCompletion wh FROM GJSX LEFT JOIN Sys_User AS users ON users.UserId =@userId WHERE GJSX.ProjectId=@projectId AND - GJSX.State != 0 AND (((select count(*) from GJSX_detail detail where detail.Progress_user=@userId and detail.GJSXID=GJSX.GJSXID)=0 - and (select count(*) from GJSX_Process process where process.UserId=@userId and process.GJSXID=GJSX.GJSXID)>0) - or (GJSX.User_Acceptance like '%'+@userId+'%' and (select count(*) from GJSX_detail detail where detail.GJSXID=GJSX.GJSXID)=(select count(*) from GJSX_Process process where process.GJSXID=GJSX.GJSXID)) + GJSX.State != 0 AND (((select count(1) from GJSX_detail detail where detail.Progress_user=@userId and detail.GJSXID=GJSX.GJSXID)=0 + and (select count(1) from GJSX_Process process where process.UserId=@userId and process.GJSXID=GJSX.GJSXID)>0) + or (GJSX.User_Acceptance like '%'+@userId+'%' and (select count(1) from GJSX_detail detail where detail.GJSXID=GJSX.GJSXID)=(select count(1) from GJSX_Process process where process.GJSXID=GJSX.GJSXID)) ) UNION ALL SELECT GJSXID AS DataId diff --git a/SGGL/FineUIPro.Web/common/main_new0.aspx.cs b/SGGL/FineUIPro.Web/common/main_new0.aspx.cs index 22841c2f..0b79fed6 100644 --- a/SGGL/FineUIPro.Web/common/main_new0.aspx.cs +++ b/SGGL/FineUIPro.Web/common/main_new0.aspx.cs @@ -118,7 +118,7 @@ namespace FineUIPro.Web.common LEFT JOIN Base_Unit AS Unit ON Person.UnitId =Unit.UnitId LEFT JOIN Base_WorkPost AS WorkPost ON Person.WorkPostId =WorkPost.WorkPostId WHERE IsUsed=1 AND InTime <=GETDATE() AND (OutTime IS NULL OR OutTime > GETDATE()) - AND (SELECT COUNT(*) FROM QualityAudit_PersonQuality AS Q LEFT JOIN Base_Certificate AS Cer ON Q.CertificateId + AND (SELECT COUNT(1) FROM QualityAudit_PersonQuality AS Q LEFT JOIN Base_Certificate AS Cer ON Q.CertificateId =Cer.CertificateId WHERE Q.PersonId = Person.PersonId AND IsRegisterHSSE =1) > 0"; List listStr = new List(); SqlParameter[] parameter = listStr.ToArray(); @@ -161,7 +161,7 @@ namespace FineUIPro.Web.common LEFT JOIN Base_Unit AS Unit ON Person.UnitId =Unit.UnitId LEFT JOIN Base_WorkPost AS WorkPost ON Person.WorkPostId =WorkPost.WorkPostId WHERE IsUsed=1 AND InTime <=GETDATE() AND (OutTime IS NULL OR OutTime > GETDATE()) - AND (SELECT COUNT(*) FROM QualityAudit_PersonQuality AS Q LEFT JOIN Base_Certificate AS Cer ON Q.CertificateId + AND (SELECT COUNT(1) FROM QualityAudit_PersonQuality AS Q LEFT JOIN Base_Certificate AS Cer ON Q.CertificateId =Cer.CertificateId WHERE Q.PersonId = Person.PersonId AND IsRegisterHSSE =1) > 0 and Person.ProjectId in (" + s1 + ")"; List listStr = new List(); SqlParameter[] parameter = listStr.ToArray(); @@ -338,31 +338,31 @@ namespace FineUIPro.Web.common //一般 allYhYb += "'" + ((from x in hazardRegisters - where x.ProjectId == item.ProjectId && x.Risk_Level == "一般" && x.States == "3" && + where x.ProjectId == item.ProjectId && x.Risk_Level == "一般事故隐患" && x.States == "3" && x.CheckTime > Const.DtmarkTime select x).Count() + (from x in hazardRegisters - where x.ProjectId == item.ProjectId && x.Risk_Level == "一般" && x.States != "3" && + where x.ProjectId == item.ProjectId && x.Risk_Level == "一般事故隐患" && x.States != "3" && x.CheckTime > Const.DtmarkTime select x).Count()) + "',"; dzgYhYb += "'" + (from x in hazardRegisters - where x.ProjectId == item.ProjectId && x.Risk_Level == "一般" && x.States != "3" && + where x.ProjectId == item.ProjectId && x.Risk_Level == "一般事故隐患" && x.States != "3" && x.CheckTime > Const.DtmarkTime select x).Count() + "',"; //重大 allYhZd += "'" + ((from x in hazardRegisters - where x.ProjectId == item.ProjectId && x.Risk_Level == "重大" && x.States == "3" && + where x.ProjectId == item.ProjectId && x.Risk_Level == "重大事故隐患" && x.States == "3" && x.CheckTime > Const.DtmarkTime select x).Count() + (from x in hazardRegisters - where x.ProjectId == item.ProjectId && x.Risk_Level == "重大" && x.States != "3" && + where x.ProjectId == item.ProjectId && x.Risk_Level == "重大事故隐患" && x.States != "3" && x.CheckTime > Const.DtmarkTime select x).Count()) + "',"; dzgYhZd += "'" + (from x in hazardRegisters - where x.ProjectId == item.ProjectId && x.Risk_Level == "重大" && x.States != "3" && + where x.ProjectId == item.ProjectId && x.Risk_Level == "重大事故隐患" && x.States != "3" && x.CheckTime > Const.DtmarkTime select x).Count() + "',"; @@ -559,7 +559,7 @@ namespace FineUIPro.Web.common if (pids == null) { var result = (from x in Funs.DB.HSSE_Hazard_HazardRegister - where x.Risk_Level == "一般" && x.States == "3" && + where x.Risk_Level == "一般事故隐患" && x.States == "3" && x.CheckTime > Const.DtmarkTime select x).Count(); return result; @@ -567,7 +567,7 @@ namespace FineUIPro.Web.common else { var result = (from x in Funs.DB.HSSE_Hazard_HazardRegister - where x.Risk_Level == "一般" && x.States == "3" && + where x.Risk_Level == "一般事故隐患" && x.States == "3" && x.CheckTime > Const.DtmarkTime && pids.Contains(x.ProjectId) select x).Count(); return result; @@ -584,7 +584,7 @@ namespace FineUIPro.Web.common if (pids == null) { var result = (from x in Funs.DB.HSSE_Hazard_HazardRegister - where x.Risk_Level == "一般" && x.States != "3" && + where x.Risk_Level == "一般事故隐患" && x.States != "3" && x.CheckTime > Const.DtmarkTime select x).Count(); return result; @@ -592,7 +592,7 @@ namespace FineUIPro.Web.common else { var result = (from x in Funs.DB.HSSE_Hazard_HazardRegister - where x.Risk_Level == "一般" && x.States != "3" && + where x.Risk_Level == "一般事故隐患" && x.States != "3" && x.CheckTime > Const.DtmarkTime && pids.Contains(x.ProjectId) select x).Count(); return result; @@ -606,6 +606,7 @@ namespace FineUIPro.Web.common public string GetGeneralZgl() { var num1 = Math.Round(100.0 * GetGeneralClosedNum() / (GetGeneralClosedNum() + GetGeneralNotClosedNum()), 0).ToString(); + if (num1 == "NaN") num1 = "0"; return num1; } @@ -618,7 +619,7 @@ namespace FineUIPro.Web.common if (pids == null) { var result = (from x in Funs.DB.HSSE_Hazard_HazardRegister - where x.Risk_Level == "重大" && x.States == "3" && + where x.Risk_Level == "重大事故隐患" && x.States == "3" && x.CheckTime > Const.DtmarkTime select x).Count(); return result; @@ -626,7 +627,7 @@ namespace FineUIPro.Web.common else { var result = (from x in Funs.DB.HSSE_Hazard_HazardRegister - where x.Risk_Level == "重大" && x.States == "3" && + where x.Risk_Level == "重大事故隐患" && x.States == "3" && x.CheckTime > Const.DtmarkTime && pids.Contains(x.ProjectId) select x).Count(); return result; @@ -642,7 +643,7 @@ namespace FineUIPro.Web.common if (pids == null) { var result = (from x in Funs.DB.HSSE_Hazard_HazardRegister - where x.Risk_Level == "重大" && x.States != "3" && + where x.Risk_Level == "重大事故隐患" && x.States != "3" && x.CheckTime > Const.DtmarkTime select x).Count(); return result; @@ -650,7 +651,7 @@ namespace FineUIPro.Web.common else { var result = (from x in Funs.DB.HSSE_Hazard_HazardRegister - where x.Risk_Level == "重大" && x.States != "3" && + where x.Risk_Level == "重大事故隐患" && x.States != "3" && x.CheckTime > Const.DtmarkTime && pids.Contains(x.ProjectId) select x).Count(); return result; diff --git a/SGGL/FineUIPro.Web/res/images/OrganizationalNew.jpg b/SGGL/FineUIPro.Web/res/images/OrganizationalNew.jpg new file mode 100644 index 00000000..db0c74f3 Binary files /dev/null and b/SGGL/FineUIPro.Web/res/images/OrganizationalNew.jpg differ diff --git a/SGGL/Model/IDP/OADesignDrawingData.cs b/SGGL/Model/IDP/OADesignDrawingData.cs index 857d199b..e552b498 100644 --- a/SGGL/Model/IDP/OADesignDrawingData.cs +++ b/SGGL/Model/IDP/OADesignDrawingData.cs @@ -176,6 +176,11 @@ namespace Model [JsonProperty("fileid")] public string fileid { get; set; } /// + /// 文件名称 + /// + [JsonProperty("filename")] + public string filename { get; set; } + /// /// 盖章后文件id /// [JsonProperty("upfileid")] @@ -196,6 +201,11 @@ namespace Model [JsonProperty("bc")] public string bc { get; set; } /// + /// 保密类型 + /// + [JsonProperty("classificationLevel")] + public string classificationLevel { get; set; } + /// /// 入库档案号 /// [JsonProperty("archnumber")] @@ -216,5 +226,13 @@ namespace Model [JsonProperty("ifmail")] public string ifmail { get; set; } } + + public partial class OADesignDrawingDataItems + { + public static List FromJson(string json) + { + return JsonConvert.DeserializeObject>(json, Model.Converter.Settings); + } + } } diff --git a/SGGL/Model/Model.cs b/SGGL/Model/Model.cs index 089cbf7a..4e3165d7 100644 --- a/SGGL/Model/Model.cs +++ b/SGGL/Model/Model.cs @@ -203,6 +203,9 @@ namespace Model partial void InsertBase_QuestionType(Base_QuestionType instance); partial void UpdateBase_QuestionType(Base_QuestionType instance); partial void DeleteBase_QuestionType(Base_QuestionType instance); + partial void InsertBase_ReceivingDocType(Base_ReceivingDocType instance); + partial void UpdateBase_ReceivingDocType(Base_ReceivingDocType instance); + partial void DeleteBase_ReceivingDocType(Base_ReceivingDocType instance); partial void InsertBase_RiskLevel(Base_RiskLevel instance); partial void UpdateBase_RiskLevel(Base_RiskLevel instance); partial void DeleteBase_RiskLevel(Base_RiskLevel instance); @@ -3324,6 +3327,14 @@ namespace Model } } + public System.Data.Linq.Table Base_ReceivingDocType + { + get + { + return this.GetTable(); + } + } + public System.Data.Linq.Table Base_RiskLevel { get @@ -8892,6 +8903,14 @@ namespace Model } } + public System.Data.Linq.Table SitePerson_Checking_Statistics + { + get + { + return this.GetTable(); + } + } + public System.Data.Linq.Table SitePerson_DayReport { get @@ -10204,6 +10223,14 @@ namespace Model } } + public System.Data.Linq.Table View_EmployInOutRecord + { + get + { + return this.GetTable(); + } + } + public System.Data.Linq.Table View_Environmental_ArchitectureReport { get @@ -10684,6 +10711,30 @@ namespace Model } } + public System.Data.Linq.Table View_Project_CQMSData_CQMS + { + get + { + return this.GetTable(); + } + } + + public System.Data.Linq.Table View_Project_HJGLData_HJGL + { + get + { + return this.GetTable(); + } + } + + public System.Data.Linq.Table View_Project_HSSEData_HSSE + { + get + { + return this.GetTable(); + } + } + public System.Data.Linq.Table View_ProjectAccident_AccidentAnalysis { get @@ -37774,6 +37825,116 @@ namespace Model } } + [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.Base_ReceivingDocType")] + public partial class Base_ReceivingDocType : INotifyPropertyChanging, INotifyPropertyChanged + { + + private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty); + + private string _TypeId; + + private string _TypeName; + + private System.Nullable _SortIndex; + + #region 可扩展性方法定义 + partial void OnLoaded(); + partial void OnValidate(System.Data.Linq.ChangeAction action); + partial void OnCreated(); + partial void OnTypeIdChanging(string value); + partial void OnTypeIdChanged(); + partial void OnTypeNameChanging(string value); + partial void OnTypeNameChanged(); + partial void OnSortIndexChanging(System.Nullable value); + partial void OnSortIndexChanged(); + #endregion + + public Base_ReceivingDocType() + { + OnCreated(); + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TypeId", DbType="NVarChar(50) NOT NULL", CanBeNull=false, IsPrimaryKey=true)] + public string TypeId + { + get + { + return this._TypeId; + } + set + { + if ((this._TypeId != value)) + { + this.OnTypeIdChanging(value); + this.SendPropertyChanging(); + this._TypeId = value; + this.SendPropertyChanged("TypeId"); + this.OnTypeIdChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TypeName", DbType="NVarChar(50)")] + public string TypeName + { + get + { + return this._TypeName; + } + set + { + if ((this._TypeName != value)) + { + this.OnTypeNameChanging(value); + this.SendPropertyChanging(); + this._TypeName = value; + this.SendPropertyChanged("TypeName"); + this.OnTypeNameChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SortIndex", DbType="Int")] + public System.Nullable SortIndex + { + get + { + return this._SortIndex; + } + set + { + if ((this._SortIndex != value)) + { + this.OnSortIndexChanging(value); + this.SendPropertyChanging(); + this._SortIndex = value; + this.SendPropertyChanged("SortIndex"); + this.OnSortIndexChanged(); + } + } + } + + public event PropertyChangingEventHandler PropertyChanging; + + public event PropertyChangedEventHandler PropertyChanged; + + protected virtual void SendPropertyChanging() + { + if ((this.PropertyChanging != null)) + { + this.PropertyChanging(this, emptyChangingEventArgs); + } + } + + protected virtual void SendPropertyChanged(String propertyName) + { + if ((this.PropertyChanged != null)) + { + this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); + } + } + } + [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.Base_RiskLevel")] public partial class Base_RiskLevel : INotifyPropertyChanging, INotifyPropertyChanged { @@ -53546,7 +53707,7 @@ namespace Model } } - [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WED_Class", DbType="NVarChar(50)")] + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WED_Class", DbType="NVarChar(500)")] public string WED_Class { get @@ -350631,6 +350792,177 @@ namespace Model } } + [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.SitePerson_Checking_Statistics")] + public partial class SitePerson_Checking_Statistics + { + + private string _ProjectId; + + private string _UnitId; + + private string _UnitName; + + private string _WorkAreaId; + + private string _WorkAreaName; + + private string _WorkPostId; + + private string _WorkPostName; + + private System.Nullable _IntoOutTime; + + private System.Nullable _Num; + + public SitePerson_Checking_Statistics() + { + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectId", DbType="NVarChar(50)")] + public string ProjectId + { + get + { + return this._ProjectId; + } + set + { + if ((this._ProjectId != value)) + { + this._ProjectId = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UnitId", DbType="NVarChar(50)")] + public string UnitId + { + get + { + return this._UnitId; + } + set + { + if ((this._UnitId != value)) + { + this._UnitId = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UnitName", DbType="NVarChar(200)")] + public string UnitName + { + get + { + return this._UnitName; + } + set + { + if ((this._UnitName != value)) + { + this._UnitName = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WorkAreaId", DbType="NVarChar(MAX)", UpdateCheck=UpdateCheck.Never)] + public string WorkAreaId + { + get + { + return this._WorkAreaId; + } + set + { + if ((this._WorkAreaId != value)) + { + this._WorkAreaId = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WorkAreaName", DbType="NVarChar(MAX)", UpdateCheck=UpdateCheck.Never)] + public string WorkAreaName + { + get + { + return this._WorkAreaName; + } + set + { + if ((this._WorkAreaName != value)) + { + this._WorkAreaName = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WorkPostId", DbType="NVarChar(50)")] + public string WorkPostId + { + get + { + return this._WorkPostId; + } + set + { + if ((this._WorkPostId != value)) + { + this._WorkPostId = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WorkPostName", DbType="NVarChar(100)")] + public string WorkPostName + { + get + { + return this._WorkPostName; + } + set + { + if ((this._WorkPostName != value)) + { + this._WorkPostName = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IntoOutTime", DbType="DateTime")] + public System.Nullable IntoOutTime + { + get + { + return this._IntoOutTime; + } + set + { + if ((this._IntoOutTime != value)) + { + this._IntoOutTime = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Name="num", Storage="_Num", DbType="Int")] + public System.Nullable Num + { + get + { + return this._Num; + } + set + { + if ((this._Num != value)) + { + this._Num = value; + } + } + } + } + [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.SitePerson_DayReport")] public partial class SitePerson_DayReport : INotifyPropertyChanging, INotifyPropertyChanged { @@ -431020,6 +431352,123 @@ namespace Model } } + [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.View_EmployInOutRecord")] + public partial class View_EmployInOutRecord + { + + private string _ProjectId; + + private string _UnitId; + + private string _PostId; + + private System.Nullable _RecordDate; + + private string _UnitWorkId; + + private System.Nullable _ActualQuantity; + + public View_EmployInOutRecord() + { + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectId", DbType="NVarChar(50)")] + public string ProjectId + { + get + { + return this._ProjectId; + } + set + { + if ((this._ProjectId != value)) + { + this._ProjectId = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UnitId", DbType="VarChar(100)")] + public string UnitId + { + get + { + return this._UnitId; + } + set + { + if ((this._UnitId != value)) + { + this._UnitId = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PostId", DbType="NVarChar(50)")] + public string PostId + { + get + { + return this._PostId; + } + set + { + if ((this._PostId != value)) + { + this._PostId = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RecordDate", DbType="DateTime")] + public System.Nullable RecordDate + { + get + { + return this._RecordDate; + } + set + { + if ((this._RecordDate != value)) + { + this._RecordDate = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UnitWorkId", DbType="NVarChar(MAX)", UpdateCheck=UpdateCheck.Never)] + public string UnitWorkId + { + get + { + return this._UnitWorkId; + } + set + { + if ((this._UnitWorkId != value)) + { + this._UnitWorkId = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ActualQuantity", DbType="Int")] + public System.Nullable ActualQuantity + { + get + { + return this._ActualQuantity; + } + set + { + if ((this._ActualQuantity != value)) + { + this._ActualQuantity = value; + } + } + } + } + [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.View_Environmental_ArchitectureReport")] public partial class View_Environmental_ArchitectureReport { @@ -452962,6 +453411,3129 @@ namespace Model } } + [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.View_Project_CQMSData_CQMS")] + public partial class View_Project_CQMSData_CQMS + { + + private string _ProjectName; + + private string _ShortName; + + private string _Id; + + private string _UnitId; + + private string _ProjectId; + + private string _CollCropCode; + + private string _UnitName; + + private System.Nullable _ReportDate; + + private System.Nullable _TrainPersonNum; + + private System.Nullable _TechnicalDisclosePersonNum; + + private System.Nullable _UseNum; + + private System.Nullable _OKNum; + + private System.Nullable _CompanyPersonNum; + + private System.Nullable _BranchPersonNum; + + private System.Nullable _ProjectPersonNum; + + private System.Nullable _ProblemNum; + + private System.Nullable _ProblemCompletedNum; + + private System.Nullable _ProblemNotCompletedNum; + + private System.Nullable _SNum; + + private System.Nullable _ANum; + + private System.Nullable _BNum; + + private System.Nullable _CNum; + + private System.Nullable _KeyProcessNum; + + private System.Nullable _KeyProcessOKNum; + + private System.Nullable _SpecialProcessNum; + + private System.Nullable _SpecialProcessOKNum; + + private System.Nullable _ConcealedWorksNum; + + private System.Nullable _ConcealedWorksOKNum; + + private System.Nullable _UnitProjectOnesNum; + + private System.Nullable _UnitProjectOnesOKNum; + + private System.Nullable _MaterialInRecheckNum; + + private System.Nullable _MaterialInRecheckOKNum; + + private System.Nullable _SingleProjectNum; + + private System.Nullable _UnitProjectNum; + + private System.Nullable _SubProjectNum; + + private System.Nullable _SubdivisionalWorksNum; + + private System.Nullable _InspectionLotNum; + + private System.Nullable _EquipmentInspectionNum; + + private System.Nullable _EquipmentInspectionQualifiedNum; + + private System.Nullable _MachineInspectionNum; + + private System.Nullable _MachineInspectionQualifiedNum; + + private System.Nullable _PersonInspectionNum; + + private System.Nullable _PersonInspectionQualifiedNum; + + private System.Nullable _MaterialInspectionNum; + + private System.Nullable _MaterialInspectionQualifiedNum; + + private System.Nullable _ConstructSolutionNum; + + private System.Nullable _ConstructSolutionProjectApproveNum; + + private System.Nullable _ConstructSolutionUnitApproveNum; + + private System.Nullable _SpecialEquipmentQualityAssuranceSystemNum; + + private System.Nullable _DesignDetailsNum; + + private System.Nullable _UnitProjectAcceptNum; + + private System.Nullable _UnitProjectAcceptOKNum; + + private System.Nullable _SubProjectAcceptNum; + + private System.Nullable _SubProjectAcceptOKNum; + + private System.Nullable _SubdivisionalWorksAcceptNum; + + private System.Nullable _SubdivisionalWorksAcceptOKNum; + + private System.Nullable _ComprehensiveReviewDrawingsNum; + + private System.Nullable _ComprehensiveConTechnologyDisclosureNum; + + private System.Nullable _ComprehensiveConTechnologyDisclosurePersonNum; + + private System.Nullable _ProjectSubPersonNum; + + private System.Nullable _InspectionMachineNum; + + private System.Nullable _InspectionMachineQualifiedNum; + + public View_Project_CQMSData_CQMS() + { + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectName", DbType="NVarChar(100)")] + public string ProjectName + { + get + { + return this._ProjectName; + } + set + { + if ((this._ProjectName != value)) + { + this._ProjectName = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ShortName", DbType="NVarChar(200)")] + public string ShortName + { + get + { + return this._ShortName; + } + set + { + if ((this._ShortName != value)) + { + this._ShortName = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Id", DbType="NVarChar(50) NOT NULL", CanBeNull=false)] + public string Id + { + get + { + return this._Id; + } + set + { + if ((this._Id != value)) + { + this._Id = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UnitId", DbType="NVarChar(50)")] + public string UnitId + { + get + { + return this._UnitId; + } + set + { + if ((this._UnitId != value)) + { + this._UnitId = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectId", DbType="NVarChar(50)")] + public string ProjectId + { + get + { + return this._ProjectId; + } + set + { + if ((this._ProjectId != value)) + { + this._ProjectId = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CollCropCode", DbType="NVarChar(50)")] + public string CollCropCode + { + get + { + return this._CollCropCode; + } + set + { + if ((this._CollCropCode != value)) + { + this._CollCropCode = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UnitName", DbType="NVarChar(50)")] + public string UnitName + { + get + { + return this._UnitName; + } + set + { + if ((this._UnitName != value)) + { + this._UnitName = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ReportDate", DbType="DateTime")] + public System.Nullable ReportDate + { + get + { + return this._ReportDate; + } + set + { + if ((this._ReportDate != value)) + { + this._ReportDate = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TrainPersonNum", DbType="Int")] + public System.Nullable TrainPersonNum + { + get + { + return this._TrainPersonNum; + } + set + { + if ((this._TrainPersonNum != value)) + { + this._TrainPersonNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TechnicalDisclosePersonNum", DbType="Int")] + public System.Nullable TechnicalDisclosePersonNum + { + get + { + return this._TechnicalDisclosePersonNum; + } + set + { + if ((this._TechnicalDisclosePersonNum != value)) + { + this._TechnicalDisclosePersonNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UseNum", DbType="Int")] + public System.Nullable UseNum + { + get + { + return this._UseNum; + } + set + { + if ((this._UseNum != value)) + { + this._UseNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_OKNum", DbType="Int")] + public System.Nullable OKNum + { + get + { + return this._OKNum; + } + set + { + if ((this._OKNum != value)) + { + this._OKNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CompanyPersonNum", DbType="Int")] + public System.Nullable CompanyPersonNum + { + get + { + return this._CompanyPersonNum; + } + set + { + if ((this._CompanyPersonNum != value)) + { + this._CompanyPersonNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_BranchPersonNum", DbType="Int")] + public System.Nullable BranchPersonNum + { + get + { + return this._BranchPersonNum; + } + set + { + if ((this._BranchPersonNum != value)) + { + this._BranchPersonNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectPersonNum", DbType="Int")] + public System.Nullable ProjectPersonNum + { + get + { + return this._ProjectPersonNum; + } + set + { + if ((this._ProjectPersonNum != value)) + { + this._ProjectPersonNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProblemNum", DbType="Int")] + public System.Nullable ProblemNum + { + get + { + return this._ProblemNum; + } + set + { + if ((this._ProblemNum != value)) + { + this._ProblemNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProblemCompletedNum", DbType="Int")] + public System.Nullable ProblemCompletedNum + { + get + { + return this._ProblemCompletedNum; + } + set + { + if ((this._ProblemCompletedNum != value)) + { + this._ProblemCompletedNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProblemNotCompletedNum", DbType="Int")] + public System.Nullable ProblemNotCompletedNum + { + get + { + return this._ProblemNotCompletedNum; + } + set + { + if ((this._ProblemNotCompletedNum != value)) + { + this._ProblemNotCompletedNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SNum", DbType="Int")] + public System.Nullable SNum + { + get + { + return this._SNum; + } + set + { + if ((this._SNum != value)) + { + this._SNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ANum", DbType="Int")] + public System.Nullable ANum + { + get + { + return this._ANum; + } + set + { + if ((this._ANum != value)) + { + this._ANum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_BNum", DbType="Int")] + public System.Nullable BNum + { + get + { + return this._BNum; + } + set + { + if ((this._BNum != value)) + { + this._BNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CNum", DbType="Int")] + public System.Nullable CNum + { + get + { + return this._CNum; + } + set + { + if ((this._CNum != value)) + { + this._CNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_KeyProcessNum", DbType="Int")] + public System.Nullable KeyProcessNum + { + get + { + return this._KeyProcessNum; + } + set + { + if ((this._KeyProcessNum != value)) + { + this._KeyProcessNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_KeyProcessOKNum", DbType="Int")] + public System.Nullable KeyProcessOKNum + { + get + { + return this._KeyProcessOKNum; + } + set + { + if ((this._KeyProcessOKNum != value)) + { + this._KeyProcessOKNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SpecialProcessNum", DbType="Int")] + public System.Nullable SpecialProcessNum + { + get + { + return this._SpecialProcessNum; + } + set + { + if ((this._SpecialProcessNum != value)) + { + this._SpecialProcessNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SpecialProcessOKNum", DbType="Int")] + public System.Nullable SpecialProcessOKNum + { + get + { + return this._SpecialProcessOKNum; + } + set + { + if ((this._SpecialProcessOKNum != value)) + { + this._SpecialProcessOKNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ConcealedWorksNum", DbType="Int")] + public System.Nullable ConcealedWorksNum + { + get + { + return this._ConcealedWorksNum; + } + set + { + if ((this._ConcealedWorksNum != value)) + { + this._ConcealedWorksNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ConcealedWorksOKNum", DbType="Int")] + public System.Nullable ConcealedWorksOKNum + { + get + { + return this._ConcealedWorksOKNum; + } + set + { + if ((this._ConcealedWorksOKNum != value)) + { + this._ConcealedWorksOKNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UnitProjectOnesNum", DbType="Int")] + public System.Nullable UnitProjectOnesNum + { + get + { + return this._UnitProjectOnesNum; + } + set + { + if ((this._UnitProjectOnesNum != value)) + { + this._UnitProjectOnesNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UnitProjectOnesOKNum", DbType="Int")] + public System.Nullable UnitProjectOnesOKNum + { + get + { + return this._UnitProjectOnesOKNum; + } + set + { + if ((this._UnitProjectOnesOKNum != value)) + { + this._UnitProjectOnesOKNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MaterialInRecheckNum", DbType="Int")] + public System.Nullable MaterialInRecheckNum + { + get + { + return this._MaterialInRecheckNum; + } + set + { + if ((this._MaterialInRecheckNum != value)) + { + this._MaterialInRecheckNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MaterialInRecheckOKNum", DbType="Int")] + public System.Nullable MaterialInRecheckOKNum + { + get + { + return this._MaterialInRecheckOKNum; + } + set + { + if ((this._MaterialInRecheckOKNum != value)) + { + this._MaterialInRecheckOKNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SingleProjectNum", DbType="Int")] + public System.Nullable SingleProjectNum + { + get + { + return this._SingleProjectNum; + } + set + { + if ((this._SingleProjectNum != value)) + { + this._SingleProjectNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UnitProjectNum", DbType="Int")] + public System.Nullable UnitProjectNum + { + get + { + return this._UnitProjectNum; + } + set + { + if ((this._UnitProjectNum != value)) + { + this._UnitProjectNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SubProjectNum", DbType="Int")] + public System.Nullable SubProjectNum + { + get + { + return this._SubProjectNum; + } + set + { + if ((this._SubProjectNum != value)) + { + this._SubProjectNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SubdivisionalWorksNum", DbType="Int")] + public System.Nullable SubdivisionalWorksNum + { + get + { + return this._SubdivisionalWorksNum; + } + set + { + if ((this._SubdivisionalWorksNum != value)) + { + this._SubdivisionalWorksNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_InspectionLotNum", DbType="Int")] + public System.Nullable InspectionLotNum + { + get + { + return this._InspectionLotNum; + } + set + { + if ((this._InspectionLotNum != value)) + { + this._InspectionLotNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EquipmentInspectionNum", DbType="Int")] + public System.Nullable EquipmentInspectionNum + { + get + { + return this._EquipmentInspectionNum; + } + set + { + if ((this._EquipmentInspectionNum != value)) + { + this._EquipmentInspectionNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EquipmentInspectionQualifiedNum", DbType="Int")] + public System.Nullable EquipmentInspectionQualifiedNum + { + get + { + return this._EquipmentInspectionQualifiedNum; + } + set + { + if ((this._EquipmentInspectionQualifiedNum != value)) + { + this._EquipmentInspectionQualifiedNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MachineInspectionNum", DbType="Int")] + public System.Nullable MachineInspectionNum + { + get + { + return this._MachineInspectionNum; + } + set + { + if ((this._MachineInspectionNum != value)) + { + this._MachineInspectionNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MachineInspectionQualifiedNum", DbType="Int")] + public System.Nullable MachineInspectionQualifiedNum + { + get + { + return this._MachineInspectionQualifiedNum; + } + set + { + if ((this._MachineInspectionQualifiedNum != value)) + { + this._MachineInspectionQualifiedNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PersonInspectionNum", DbType="Int")] + public System.Nullable PersonInspectionNum + { + get + { + return this._PersonInspectionNum; + } + set + { + if ((this._PersonInspectionNum != value)) + { + this._PersonInspectionNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PersonInspectionQualifiedNum", DbType="Int")] + public System.Nullable PersonInspectionQualifiedNum + { + get + { + return this._PersonInspectionQualifiedNum; + } + set + { + if ((this._PersonInspectionQualifiedNum != value)) + { + this._PersonInspectionQualifiedNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MaterialInspectionNum", DbType="Int")] + public System.Nullable MaterialInspectionNum + { + get + { + return this._MaterialInspectionNum; + } + set + { + if ((this._MaterialInspectionNum != value)) + { + this._MaterialInspectionNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MaterialInspectionQualifiedNum", DbType="Int")] + public System.Nullable MaterialInspectionQualifiedNum + { + get + { + return this._MaterialInspectionQualifiedNum; + } + set + { + if ((this._MaterialInspectionQualifiedNum != value)) + { + this._MaterialInspectionQualifiedNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ConstructSolutionNum", DbType="Int")] + public System.Nullable ConstructSolutionNum + { + get + { + return this._ConstructSolutionNum; + } + set + { + if ((this._ConstructSolutionNum != value)) + { + this._ConstructSolutionNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ConstructSolutionProjectApproveNum", DbType="Int")] + public System.Nullable ConstructSolutionProjectApproveNum + { + get + { + return this._ConstructSolutionProjectApproveNum; + } + set + { + if ((this._ConstructSolutionProjectApproveNum != value)) + { + this._ConstructSolutionProjectApproveNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ConstructSolutionUnitApproveNum", DbType="Int")] + public System.Nullable ConstructSolutionUnitApproveNum + { + get + { + return this._ConstructSolutionUnitApproveNum; + } + set + { + if ((this._ConstructSolutionUnitApproveNum != value)) + { + this._ConstructSolutionUnitApproveNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SpecialEquipmentQualityAssuranceSystemNum", DbType="Int")] + public System.Nullable SpecialEquipmentQualityAssuranceSystemNum + { + get + { + return this._SpecialEquipmentQualityAssuranceSystemNum; + } + set + { + if ((this._SpecialEquipmentQualityAssuranceSystemNum != value)) + { + this._SpecialEquipmentQualityAssuranceSystemNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_DesignDetailsNum", DbType="Int")] + public System.Nullable DesignDetailsNum + { + get + { + return this._DesignDetailsNum; + } + set + { + if ((this._DesignDetailsNum != value)) + { + this._DesignDetailsNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UnitProjectAcceptNum", DbType="Int")] + public System.Nullable UnitProjectAcceptNum + { + get + { + return this._UnitProjectAcceptNum; + } + set + { + if ((this._UnitProjectAcceptNum != value)) + { + this._UnitProjectAcceptNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UnitProjectAcceptOKNum", DbType="Int")] + public System.Nullable UnitProjectAcceptOKNum + { + get + { + return this._UnitProjectAcceptOKNum; + } + set + { + if ((this._UnitProjectAcceptOKNum != value)) + { + this._UnitProjectAcceptOKNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SubProjectAcceptNum", DbType="Int")] + public System.Nullable SubProjectAcceptNum + { + get + { + return this._SubProjectAcceptNum; + } + set + { + if ((this._SubProjectAcceptNum != value)) + { + this._SubProjectAcceptNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SubProjectAcceptOKNum", DbType="Int")] + public System.Nullable SubProjectAcceptOKNum + { + get + { + return this._SubProjectAcceptOKNum; + } + set + { + if ((this._SubProjectAcceptOKNum != value)) + { + this._SubProjectAcceptOKNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SubdivisionalWorksAcceptNum", DbType="Int")] + public System.Nullable SubdivisionalWorksAcceptNum + { + get + { + return this._SubdivisionalWorksAcceptNum; + } + set + { + if ((this._SubdivisionalWorksAcceptNum != value)) + { + this._SubdivisionalWorksAcceptNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SubdivisionalWorksAcceptOKNum", DbType="Int")] + public System.Nullable SubdivisionalWorksAcceptOKNum + { + get + { + return this._SubdivisionalWorksAcceptOKNum; + } + set + { + if ((this._SubdivisionalWorksAcceptOKNum != value)) + { + this._SubdivisionalWorksAcceptOKNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ComprehensiveReviewDrawingsNum", DbType="Int")] + public System.Nullable ComprehensiveReviewDrawingsNum + { + get + { + return this._ComprehensiveReviewDrawingsNum; + } + set + { + if ((this._ComprehensiveReviewDrawingsNum != value)) + { + this._ComprehensiveReviewDrawingsNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ComprehensiveConTechnologyDisclosureNum", DbType="Int")] + public System.Nullable ComprehensiveConTechnologyDisclosureNum + { + get + { + return this._ComprehensiveConTechnologyDisclosureNum; + } + set + { + if ((this._ComprehensiveConTechnologyDisclosureNum != value)) + { + this._ComprehensiveConTechnologyDisclosureNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ComprehensiveConTechnologyDisclosurePersonNum", DbType="Int")] + public System.Nullable ComprehensiveConTechnologyDisclosurePersonNum + { + get + { + return this._ComprehensiveConTechnologyDisclosurePersonNum; + } + set + { + if ((this._ComprehensiveConTechnologyDisclosurePersonNum != value)) + { + this._ComprehensiveConTechnologyDisclosurePersonNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectSubPersonNum", DbType="Int")] + public System.Nullable ProjectSubPersonNum + { + get + { + return this._ProjectSubPersonNum; + } + set + { + if ((this._ProjectSubPersonNum != value)) + { + this._ProjectSubPersonNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_InspectionMachineNum", DbType="Int")] + public System.Nullable InspectionMachineNum + { + get + { + return this._InspectionMachineNum; + } + set + { + if ((this._InspectionMachineNum != value)) + { + this._InspectionMachineNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_InspectionMachineQualifiedNum", DbType="Int")] + public System.Nullable InspectionMachineQualifiedNum + { + get + { + return this._InspectionMachineQualifiedNum; + } + set + { + if ((this._InspectionMachineQualifiedNum != value)) + { + this._InspectionMachineQualifiedNum = value; + } + } + } + } + + [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.View_Project_HJGLData_HJGL")] + public partial class View_Project_HJGLData_HJGL + { + + private string _ProjectName; + + private string _ShortName; + + private string _Id; + + private string _UnitId; + + private string _ProjectId; + + private string _CollCropCode; + + private string _UnitName; + + private System.Nullable _ReportDate; + + private System.Nullable _WelderNum; + + private System.Nullable _TotalDineNum; + + private System.Nullable _CompleteDineNum; + + private System.Nullable _TotalFilmNum; + + private System.Nullable _OKFilmNum; + + public View_Project_HJGLData_HJGL() + { + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectName", DbType="NVarChar(100)")] + public string ProjectName + { + get + { + return this._ProjectName; + } + set + { + if ((this._ProjectName != value)) + { + this._ProjectName = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ShortName", DbType="NVarChar(200)")] + public string ShortName + { + get + { + return this._ShortName; + } + set + { + if ((this._ShortName != value)) + { + this._ShortName = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Id", DbType="NVarChar(50) NOT NULL", CanBeNull=false)] + public string Id + { + get + { + return this._Id; + } + set + { + if ((this._Id != value)) + { + this._Id = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UnitId", DbType="NVarChar(50)")] + public string UnitId + { + get + { + return this._UnitId; + } + set + { + if ((this._UnitId != value)) + { + this._UnitId = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectId", DbType="NVarChar(50)")] + public string ProjectId + { + get + { + return this._ProjectId; + } + set + { + if ((this._ProjectId != value)) + { + this._ProjectId = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CollCropCode", DbType="NVarChar(50)")] + public string CollCropCode + { + get + { + return this._CollCropCode; + } + set + { + if ((this._CollCropCode != value)) + { + this._CollCropCode = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UnitName", DbType="NVarChar(50)")] + public string UnitName + { + get + { + return this._UnitName; + } + set + { + if ((this._UnitName != value)) + { + this._UnitName = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ReportDate", DbType="DateTime")] + public System.Nullable ReportDate + { + get + { + return this._ReportDate; + } + set + { + if ((this._ReportDate != value)) + { + this._ReportDate = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WelderNum", DbType="Int")] + public System.Nullable WelderNum + { + get + { + return this._WelderNum; + } + set + { + if ((this._WelderNum != value)) + { + this._WelderNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TotalDineNum", DbType="Int")] + public System.Nullable TotalDineNum + { + get + { + return this._TotalDineNum; + } + set + { + if ((this._TotalDineNum != value)) + { + this._TotalDineNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CompleteDineNum", DbType="Int")] + public System.Nullable CompleteDineNum + { + get + { + return this._CompleteDineNum; + } + set + { + if ((this._CompleteDineNum != value)) + { + this._CompleteDineNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TotalFilmNum", DbType="Int")] + public System.Nullable TotalFilmNum + { + get + { + return this._TotalFilmNum; + } + set + { + if ((this._TotalFilmNum != value)) + { + this._TotalFilmNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_OKFilmNum", DbType="Int")] + public System.Nullable OKFilmNum + { + get + { + return this._OKFilmNum; + } + set + { + if ((this._OKFilmNum != value)) + { + this._OKFilmNum = value; + } + } + } + } + + [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.View_Project_HSSEData_HSSE")] + public partial class View_Project_HSSEData_HSSE + { + + private string _ProjectName; + + private string _ShortName; + + private string _Id; + + private string _UnitId; + + private string _ProjectId; + + private string _CollCropCode; + + private string _UnitName; + + private System.Nullable _ReportDate; + + private System.Nullable _BeUnderConstructionNum; + + private System.Nullable _ShutdownNum; + + private System.Nullable _JoinConstructionPersonNum; + + private System.Nullable _MajorProjectsUnderConstructionNum; + + private System.Nullable _TotalWorkingHour; + + private System.Nullable _LostWorkingHour; + + private System.Nullable _SafeWorkingHour; + + private System.Nullable _SafeTrainNum; + + private System.Nullable _SpecialTrainNum; + + private System.Nullable _SpecialOperationTrainNum; + + private System.Nullable _TotalEnergyConsumption; + + private System.Nullable _IncomeComprehensiveEnergyConsumption; + + private System.Nullable _NewWaterConsumption; + + private System.Nullable _HeadOfficeInspectorGeneralNum; + + private System.Nullable _HeadOfficeFullTimeNum; + + private System.Nullable _BranchInspectorGeneralNum; + + private System.Nullable _BranchFullTimeNum; + + private System.Nullable _ProjectInspectorGeneralNum; + + private System.Nullable _ProjectFullTimeNum; + + private System.Nullable _ProjectSafetyMonitorNum; + + private System.Nullable _SafetyInjectionEngineer; + + private System.Nullable _CertificateANum; + + private System.Nullable _CertificateBNum; + + private System.Nullable _CertificateCNum; + + private System.Nullable _SafetyCommitteeMeetingNum; + + private System.Nullable _EnterpriseTopicsMeetingNum; + + private System.Nullable _ProjectSafetyLeadingGroupMeetingNum; + + private System.Nullable _ProjectSafetyMeetingNum; + + private System.Nullable _CompanyLeadShiftCheckNum; + + private System.Nullable _CompanyComprehensiveCheckNum; + + private System.Nullable _CompanySpecialCheckNum; + + private System.Nullable _ProjectLeadShiftCheckNum; + + private System.Nullable _ProjectSpecialCheckNum; + + private System.Nullable _ProjectMajorCheckNum; + + private System.Nullable _NearMissNum; + + private System.Nullable _RecordableEventNum; + + private System.Nullable _GeneralAccidentNum; + + private System.Nullable _MajorAccidentNum; + + private System.Nullable _SeriousAccidentNum; + + private System.Nullable _SpecialSeriousAccidentNum; + + private System.Nullable _CompanyComprehensivePlanNum; + + private System.Nullable _CompanySpecialPlanNum; + + private System.Nullable _CompanyOnSiteDisposalPlan; + + private System.Nullable _CompanyDrillNum; + + private System.Nullable _ProjectComprehensivePlanNum; + + private System.Nullable _ProjectSpecialPlanNum; + + private System.Nullable _ProjectOnSiteDisposalPlan; + + private System.Nullable _ProjectDrillNum; + + private System.Nullable _CostExtract; + + private System.Nullable _CostUse; + + private System.Nullable _UseEquipmentNum; + + private System.Nullable _SpecialEquipmentNum; + + private System.Nullable _LicensesNum; + + private System.Nullable _LicensesCloseNum; + + private System.Nullable _GeneralClosedNum; + + private System.Nullable _GeneralNotClosedNum; + + private System.Nullable _MajorClosedNum; + + private System.Nullable _MajorNotClosedNum; + + private System.Nullable _GeneralRiskNum; + + private System.Nullable _LowRiskNum; + + private System.Nullable _MediumRiskNum; + + private System.Nullable _HighRiskNum; + + private System.Nullable _CompletedNum; + + private System.Nullable _TrainPersonNum; + + private System.Nullable _ConstructionNum; + + private System.Nullable _FinishedNum; + + private System.Nullable _SuperCompletedNum; + + private System.Nullable _SuperTrainPersonNum; + + private System.Nullable _SuperConstructionNum; + + private System.Nullable _SuperFinishedNum; + + private System.Nullable _EnvironmentalTrainNum; + + private System.Nullable _HseTechnicalNum; + + private System.Nullable _ArgumentNum; + + private System.Nullable _SuperArgumentNum; + + private System.Nullable _ProjectDrillPersonNum; + + private System.Nullable _CompanyDrillPersonNum; + + private System.Nullable _BranchLeadShiftCheckNum; + + private System.Nullable _BranchComprehensiveCheckNum; + + private System.Nullable _BranchSpecialCheckNum; + + private System.Nullable _QualityPersonNum; + + private System.Nullable _OperativesNum; + + private System.Nullable _SuperOperativesNum; + + private System.Nullable _BranchComprehensivePlanNum; + + private System.Nullable _BranchSpecialPlanNum; + + private System.Nullable _BranchOnSiteDisposalPlan; + + private System.Nullable _BranchDrillNum; + + private System.Nullable _BranchDrillPersonNum; + + private System.Nullable _ProjectSubFullTimeNum; + + private System.Nullable _TotalWorkNum; + + public View_Project_HSSEData_HSSE() + { + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectName", DbType="NVarChar(100)")] + public string ProjectName + { + get + { + return this._ProjectName; + } + set + { + if ((this._ProjectName != value)) + { + this._ProjectName = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ShortName", DbType="NVarChar(200)")] + public string ShortName + { + get + { + return this._ShortName; + } + set + { + if ((this._ShortName != value)) + { + this._ShortName = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Id", DbType="NVarChar(50) NOT NULL", CanBeNull=false)] + public string Id + { + get + { + return this._Id; + } + set + { + if ((this._Id != value)) + { + this._Id = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UnitId", DbType="NVarChar(50)")] + public string UnitId + { + get + { + return this._UnitId; + } + set + { + if ((this._UnitId != value)) + { + this._UnitId = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectId", DbType="NVarChar(50)")] + public string ProjectId + { + get + { + return this._ProjectId; + } + set + { + if ((this._ProjectId != value)) + { + this._ProjectId = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CollCropCode", DbType="NVarChar(50)")] + public string CollCropCode + { + get + { + return this._CollCropCode; + } + set + { + if ((this._CollCropCode != value)) + { + this._CollCropCode = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UnitName", DbType="NVarChar(50)")] + public string UnitName + { + get + { + return this._UnitName; + } + set + { + if ((this._UnitName != value)) + { + this._UnitName = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ReportDate", DbType="DateTime")] + public System.Nullable ReportDate + { + get + { + return this._ReportDate; + } + set + { + if ((this._ReportDate != value)) + { + this._ReportDate = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_BeUnderConstructionNum", DbType="Int")] + public System.Nullable BeUnderConstructionNum + { + get + { + return this._BeUnderConstructionNum; + } + set + { + if ((this._BeUnderConstructionNum != value)) + { + this._BeUnderConstructionNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ShutdownNum", DbType="Int")] + public System.Nullable ShutdownNum + { + get + { + return this._ShutdownNum; + } + set + { + if ((this._ShutdownNum != value)) + { + this._ShutdownNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_JoinConstructionPersonNum", DbType="Int")] + public System.Nullable JoinConstructionPersonNum + { + get + { + return this._JoinConstructionPersonNum; + } + set + { + if ((this._JoinConstructionPersonNum != value)) + { + this._JoinConstructionPersonNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MajorProjectsUnderConstructionNum", DbType="Int")] + public System.Nullable MajorProjectsUnderConstructionNum + { + get + { + return this._MajorProjectsUnderConstructionNum; + } + set + { + if ((this._MajorProjectsUnderConstructionNum != value)) + { + this._MajorProjectsUnderConstructionNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TotalWorkingHour", DbType="Int")] + public System.Nullable TotalWorkingHour + { + get + { + return this._TotalWorkingHour; + } + set + { + if ((this._TotalWorkingHour != value)) + { + this._TotalWorkingHour = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_LostWorkingHour", DbType="Int")] + public System.Nullable LostWorkingHour + { + get + { + return this._LostWorkingHour; + } + set + { + if ((this._LostWorkingHour != value)) + { + this._LostWorkingHour = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SafeWorkingHour", DbType="Int")] + public System.Nullable SafeWorkingHour + { + get + { + return this._SafeWorkingHour; + } + set + { + if ((this._SafeWorkingHour != value)) + { + this._SafeWorkingHour = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SafeTrainNum", DbType="Int")] + public System.Nullable SafeTrainNum + { + get + { + return this._SafeTrainNum; + } + set + { + if ((this._SafeTrainNum != value)) + { + this._SafeTrainNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SpecialTrainNum", DbType="Int")] + public System.Nullable SpecialTrainNum + { + get + { + return this._SpecialTrainNum; + } + set + { + if ((this._SpecialTrainNum != value)) + { + this._SpecialTrainNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SpecialOperationTrainNum", DbType="Int")] + public System.Nullable SpecialOperationTrainNum + { + get + { + return this._SpecialOperationTrainNum; + } + set + { + if ((this._SpecialOperationTrainNum != value)) + { + this._SpecialOperationTrainNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TotalEnergyConsumption", DbType="Int")] + public System.Nullable TotalEnergyConsumption + { + get + { + return this._TotalEnergyConsumption; + } + set + { + if ((this._TotalEnergyConsumption != value)) + { + this._TotalEnergyConsumption = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IncomeComprehensiveEnergyConsumption", DbType="Int")] + public System.Nullable IncomeComprehensiveEnergyConsumption + { + get + { + return this._IncomeComprehensiveEnergyConsumption; + } + set + { + if ((this._IncomeComprehensiveEnergyConsumption != value)) + { + this._IncomeComprehensiveEnergyConsumption = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_NewWaterConsumption", DbType="Int")] + public System.Nullable NewWaterConsumption + { + get + { + return this._NewWaterConsumption; + } + set + { + if ((this._NewWaterConsumption != value)) + { + this._NewWaterConsumption = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_HeadOfficeInspectorGeneralNum", DbType="Int")] + public System.Nullable HeadOfficeInspectorGeneralNum + { + get + { + return this._HeadOfficeInspectorGeneralNum; + } + set + { + if ((this._HeadOfficeInspectorGeneralNum != value)) + { + this._HeadOfficeInspectorGeneralNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_HeadOfficeFullTimeNum", DbType="Int")] + public System.Nullable HeadOfficeFullTimeNum + { + get + { + return this._HeadOfficeFullTimeNum; + } + set + { + if ((this._HeadOfficeFullTimeNum != value)) + { + this._HeadOfficeFullTimeNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_BranchInspectorGeneralNum", DbType="Int")] + public System.Nullable BranchInspectorGeneralNum + { + get + { + return this._BranchInspectorGeneralNum; + } + set + { + if ((this._BranchInspectorGeneralNum != value)) + { + this._BranchInspectorGeneralNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_BranchFullTimeNum", DbType="Int")] + public System.Nullable BranchFullTimeNum + { + get + { + return this._BranchFullTimeNum; + } + set + { + if ((this._BranchFullTimeNum != value)) + { + this._BranchFullTimeNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectInspectorGeneralNum", DbType="Int")] + public System.Nullable ProjectInspectorGeneralNum + { + get + { + return this._ProjectInspectorGeneralNum; + } + set + { + if ((this._ProjectInspectorGeneralNum != value)) + { + this._ProjectInspectorGeneralNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectFullTimeNum", DbType="Int")] + public System.Nullable ProjectFullTimeNum + { + get + { + return this._ProjectFullTimeNum; + } + set + { + if ((this._ProjectFullTimeNum != value)) + { + this._ProjectFullTimeNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectSafetyMonitorNum", DbType="Int")] + public System.Nullable ProjectSafetyMonitorNum + { + get + { + return this._ProjectSafetyMonitorNum; + } + set + { + if ((this._ProjectSafetyMonitorNum != value)) + { + this._ProjectSafetyMonitorNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SafetyInjectionEngineer", DbType="Int")] + public System.Nullable SafetyInjectionEngineer + { + get + { + return this._SafetyInjectionEngineer; + } + set + { + if ((this._SafetyInjectionEngineer != value)) + { + this._SafetyInjectionEngineer = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CertificateANum", DbType="Int")] + public System.Nullable CertificateANum + { + get + { + return this._CertificateANum; + } + set + { + if ((this._CertificateANum != value)) + { + this._CertificateANum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CertificateBNum", DbType="Int")] + public System.Nullable CertificateBNum + { + get + { + return this._CertificateBNum; + } + set + { + if ((this._CertificateBNum != value)) + { + this._CertificateBNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CertificateCNum", DbType="Int")] + public System.Nullable CertificateCNum + { + get + { + return this._CertificateCNum; + } + set + { + if ((this._CertificateCNum != value)) + { + this._CertificateCNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SafetyCommitteeMeetingNum", DbType="Int")] + public System.Nullable SafetyCommitteeMeetingNum + { + get + { + return this._SafetyCommitteeMeetingNum; + } + set + { + if ((this._SafetyCommitteeMeetingNum != value)) + { + this._SafetyCommitteeMeetingNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EnterpriseTopicsMeetingNum", DbType="Int")] + public System.Nullable EnterpriseTopicsMeetingNum + { + get + { + return this._EnterpriseTopicsMeetingNum; + } + set + { + if ((this._EnterpriseTopicsMeetingNum != value)) + { + this._EnterpriseTopicsMeetingNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectSafetyLeadingGroupMeetingNum", DbType="Int")] + public System.Nullable ProjectSafetyLeadingGroupMeetingNum + { + get + { + return this._ProjectSafetyLeadingGroupMeetingNum; + } + set + { + if ((this._ProjectSafetyLeadingGroupMeetingNum != value)) + { + this._ProjectSafetyLeadingGroupMeetingNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectSafetyMeetingNum", DbType="Int")] + public System.Nullable ProjectSafetyMeetingNum + { + get + { + return this._ProjectSafetyMeetingNum; + } + set + { + if ((this._ProjectSafetyMeetingNum != value)) + { + this._ProjectSafetyMeetingNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CompanyLeadShiftCheckNum", DbType="Int")] + public System.Nullable CompanyLeadShiftCheckNum + { + get + { + return this._CompanyLeadShiftCheckNum; + } + set + { + if ((this._CompanyLeadShiftCheckNum != value)) + { + this._CompanyLeadShiftCheckNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CompanyComprehensiveCheckNum", DbType="Int")] + public System.Nullable CompanyComprehensiveCheckNum + { + get + { + return this._CompanyComprehensiveCheckNum; + } + set + { + if ((this._CompanyComprehensiveCheckNum != value)) + { + this._CompanyComprehensiveCheckNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CompanySpecialCheckNum", DbType="Int")] + public System.Nullable CompanySpecialCheckNum + { + get + { + return this._CompanySpecialCheckNum; + } + set + { + if ((this._CompanySpecialCheckNum != value)) + { + this._CompanySpecialCheckNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectLeadShiftCheckNum", DbType="Int")] + public System.Nullable ProjectLeadShiftCheckNum + { + get + { + return this._ProjectLeadShiftCheckNum; + } + set + { + if ((this._ProjectLeadShiftCheckNum != value)) + { + this._ProjectLeadShiftCheckNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectSpecialCheckNum", DbType="Int")] + public System.Nullable ProjectSpecialCheckNum + { + get + { + return this._ProjectSpecialCheckNum; + } + set + { + if ((this._ProjectSpecialCheckNum != value)) + { + this._ProjectSpecialCheckNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectMajorCheckNum", DbType="Int")] + public System.Nullable ProjectMajorCheckNum + { + get + { + return this._ProjectMajorCheckNum; + } + set + { + if ((this._ProjectMajorCheckNum != value)) + { + this._ProjectMajorCheckNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_NearMissNum", DbType="Int")] + public System.Nullable NearMissNum + { + get + { + return this._NearMissNum; + } + set + { + if ((this._NearMissNum != value)) + { + this._NearMissNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RecordableEventNum", DbType="Int")] + public System.Nullable RecordableEventNum + { + get + { + return this._RecordableEventNum; + } + set + { + if ((this._RecordableEventNum != value)) + { + this._RecordableEventNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_GeneralAccidentNum", DbType="Int")] + public System.Nullable GeneralAccidentNum + { + get + { + return this._GeneralAccidentNum; + } + set + { + if ((this._GeneralAccidentNum != value)) + { + this._GeneralAccidentNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MajorAccidentNum", DbType="Int")] + public System.Nullable MajorAccidentNum + { + get + { + return this._MajorAccidentNum; + } + set + { + if ((this._MajorAccidentNum != value)) + { + this._MajorAccidentNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SeriousAccidentNum", DbType="Int")] + public System.Nullable SeriousAccidentNum + { + get + { + return this._SeriousAccidentNum; + } + set + { + if ((this._SeriousAccidentNum != value)) + { + this._SeriousAccidentNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SpecialSeriousAccidentNum", DbType="Int")] + public System.Nullable SpecialSeriousAccidentNum + { + get + { + return this._SpecialSeriousAccidentNum; + } + set + { + if ((this._SpecialSeriousAccidentNum != value)) + { + this._SpecialSeriousAccidentNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CompanyComprehensivePlanNum", DbType="Int")] + public System.Nullable CompanyComprehensivePlanNum + { + get + { + return this._CompanyComprehensivePlanNum; + } + set + { + if ((this._CompanyComprehensivePlanNum != value)) + { + this._CompanyComprehensivePlanNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CompanySpecialPlanNum", DbType="Int")] + public System.Nullable CompanySpecialPlanNum + { + get + { + return this._CompanySpecialPlanNum; + } + set + { + if ((this._CompanySpecialPlanNum != value)) + { + this._CompanySpecialPlanNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CompanyOnSiteDisposalPlan", DbType="Int")] + public System.Nullable CompanyOnSiteDisposalPlan + { + get + { + return this._CompanyOnSiteDisposalPlan; + } + set + { + if ((this._CompanyOnSiteDisposalPlan != value)) + { + this._CompanyOnSiteDisposalPlan = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CompanyDrillNum", DbType="Int")] + public System.Nullable CompanyDrillNum + { + get + { + return this._CompanyDrillNum; + } + set + { + if ((this._CompanyDrillNum != value)) + { + this._CompanyDrillNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectComprehensivePlanNum", DbType="Int")] + public System.Nullable ProjectComprehensivePlanNum + { + get + { + return this._ProjectComprehensivePlanNum; + } + set + { + if ((this._ProjectComprehensivePlanNum != value)) + { + this._ProjectComprehensivePlanNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectSpecialPlanNum", DbType="Int")] + public System.Nullable ProjectSpecialPlanNum + { + get + { + return this._ProjectSpecialPlanNum; + } + set + { + if ((this._ProjectSpecialPlanNum != value)) + { + this._ProjectSpecialPlanNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectOnSiteDisposalPlan", DbType="Int")] + public System.Nullable ProjectOnSiteDisposalPlan + { + get + { + return this._ProjectOnSiteDisposalPlan; + } + set + { + if ((this._ProjectOnSiteDisposalPlan != value)) + { + this._ProjectOnSiteDisposalPlan = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectDrillNum", DbType="Int")] + public System.Nullable ProjectDrillNum + { + get + { + return this._ProjectDrillNum; + } + set + { + if ((this._ProjectDrillNum != value)) + { + this._ProjectDrillNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CostExtract", DbType="Int")] + public System.Nullable CostExtract + { + get + { + return this._CostExtract; + } + set + { + if ((this._CostExtract != value)) + { + this._CostExtract = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CostUse", DbType="Int")] + public System.Nullable CostUse + { + get + { + return this._CostUse; + } + set + { + if ((this._CostUse != value)) + { + this._CostUse = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UseEquipmentNum", DbType="Int")] + public System.Nullable UseEquipmentNum + { + get + { + return this._UseEquipmentNum; + } + set + { + if ((this._UseEquipmentNum != value)) + { + this._UseEquipmentNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SpecialEquipmentNum", DbType="Int")] + public System.Nullable SpecialEquipmentNum + { + get + { + return this._SpecialEquipmentNum; + } + set + { + if ((this._SpecialEquipmentNum != value)) + { + this._SpecialEquipmentNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_LicensesNum", DbType="Int")] + public System.Nullable LicensesNum + { + get + { + return this._LicensesNum; + } + set + { + if ((this._LicensesNum != value)) + { + this._LicensesNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_LicensesCloseNum", DbType="Int")] + public System.Nullable LicensesCloseNum + { + get + { + return this._LicensesCloseNum; + } + set + { + if ((this._LicensesCloseNum != value)) + { + this._LicensesCloseNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_GeneralClosedNum", DbType="Int")] + public System.Nullable GeneralClosedNum + { + get + { + return this._GeneralClosedNum; + } + set + { + if ((this._GeneralClosedNum != value)) + { + this._GeneralClosedNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_GeneralNotClosedNum", DbType="Int")] + public System.Nullable GeneralNotClosedNum + { + get + { + return this._GeneralNotClosedNum; + } + set + { + if ((this._GeneralNotClosedNum != value)) + { + this._GeneralNotClosedNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MajorClosedNum", DbType="Int")] + public System.Nullable MajorClosedNum + { + get + { + return this._MajorClosedNum; + } + set + { + if ((this._MajorClosedNum != value)) + { + this._MajorClosedNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MajorNotClosedNum", DbType="Int")] + public System.Nullable MajorNotClosedNum + { + get + { + return this._MajorNotClosedNum; + } + set + { + if ((this._MajorNotClosedNum != value)) + { + this._MajorNotClosedNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_GeneralRiskNum", DbType="Int")] + public System.Nullable GeneralRiskNum + { + get + { + return this._GeneralRiskNum; + } + set + { + if ((this._GeneralRiskNum != value)) + { + this._GeneralRiskNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_LowRiskNum", DbType="Int")] + public System.Nullable LowRiskNum + { + get + { + return this._LowRiskNum; + } + set + { + if ((this._LowRiskNum != value)) + { + this._LowRiskNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MediumRiskNum", DbType="Int")] + public System.Nullable MediumRiskNum + { + get + { + return this._MediumRiskNum; + } + set + { + if ((this._MediumRiskNum != value)) + { + this._MediumRiskNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_HighRiskNum", DbType="Int")] + public System.Nullable HighRiskNum + { + get + { + return this._HighRiskNum; + } + set + { + if ((this._HighRiskNum != value)) + { + this._HighRiskNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CompletedNum", DbType="Int")] + public System.Nullable CompletedNum + { + get + { + return this._CompletedNum; + } + set + { + if ((this._CompletedNum != value)) + { + this._CompletedNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TrainPersonNum", DbType="Int")] + public System.Nullable TrainPersonNum + { + get + { + return this._TrainPersonNum; + } + set + { + if ((this._TrainPersonNum != value)) + { + this._TrainPersonNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ConstructionNum", DbType="Int")] + public System.Nullable ConstructionNum + { + get + { + return this._ConstructionNum; + } + set + { + if ((this._ConstructionNum != value)) + { + this._ConstructionNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_FinishedNum", DbType="Int")] + public System.Nullable FinishedNum + { + get + { + return this._FinishedNum; + } + set + { + if ((this._FinishedNum != value)) + { + this._FinishedNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SuperCompletedNum", DbType="Int")] + public System.Nullable SuperCompletedNum + { + get + { + return this._SuperCompletedNum; + } + set + { + if ((this._SuperCompletedNum != value)) + { + this._SuperCompletedNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SuperTrainPersonNum", DbType="Int")] + public System.Nullable SuperTrainPersonNum + { + get + { + return this._SuperTrainPersonNum; + } + set + { + if ((this._SuperTrainPersonNum != value)) + { + this._SuperTrainPersonNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SuperConstructionNum", DbType="Int")] + public System.Nullable SuperConstructionNum + { + get + { + return this._SuperConstructionNum; + } + set + { + if ((this._SuperConstructionNum != value)) + { + this._SuperConstructionNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SuperFinishedNum", DbType="Int")] + public System.Nullable SuperFinishedNum + { + get + { + return this._SuperFinishedNum; + } + set + { + if ((this._SuperFinishedNum != value)) + { + this._SuperFinishedNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EnvironmentalTrainNum", DbType="Int")] + public System.Nullable EnvironmentalTrainNum + { + get + { + return this._EnvironmentalTrainNum; + } + set + { + if ((this._EnvironmentalTrainNum != value)) + { + this._EnvironmentalTrainNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_HseTechnicalNum", DbType="Int")] + public System.Nullable HseTechnicalNum + { + get + { + return this._HseTechnicalNum; + } + set + { + if ((this._HseTechnicalNum != value)) + { + this._HseTechnicalNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ArgumentNum", DbType="Int")] + public System.Nullable ArgumentNum + { + get + { + return this._ArgumentNum; + } + set + { + if ((this._ArgumentNum != value)) + { + this._ArgumentNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SuperArgumentNum", DbType="Int")] + public System.Nullable SuperArgumentNum + { + get + { + return this._SuperArgumentNum; + } + set + { + if ((this._SuperArgumentNum != value)) + { + this._SuperArgumentNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectDrillPersonNum", DbType="Int")] + public System.Nullable ProjectDrillPersonNum + { + get + { + return this._ProjectDrillPersonNum; + } + set + { + if ((this._ProjectDrillPersonNum != value)) + { + this._ProjectDrillPersonNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CompanyDrillPersonNum", DbType="Int")] + public System.Nullable CompanyDrillPersonNum + { + get + { + return this._CompanyDrillPersonNum; + } + set + { + if ((this._CompanyDrillPersonNum != value)) + { + this._CompanyDrillPersonNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_BranchLeadShiftCheckNum", DbType="Int")] + public System.Nullable BranchLeadShiftCheckNum + { + get + { + return this._BranchLeadShiftCheckNum; + } + set + { + if ((this._BranchLeadShiftCheckNum != value)) + { + this._BranchLeadShiftCheckNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_BranchComprehensiveCheckNum", DbType="Int")] + public System.Nullable BranchComprehensiveCheckNum + { + get + { + return this._BranchComprehensiveCheckNum; + } + set + { + if ((this._BranchComprehensiveCheckNum != value)) + { + this._BranchComprehensiveCheckNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_BranchSpecialCheckNum", DbType="Int")] + public System.Nullable BranchSpecialCheckNum + { + get + { + return this._BranchSpecialCheckNum; + } + set + { + if ((this._BranchSpecialCheckNum != value)) + { + this._BranchSpecialCheckNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_QualityPersonNum", DbType="Int")] + public System.Nullable QualityPersonNum + { + get + { + return this._QualityPersonNum; + } + set + { + if ((this._QualityPersonNum != value)) + { + this._QualityPersonNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_OperativesNum", DbType="Int")] + public System.Nullable OperativesNum + { + get + { + return this._OperativesNum; + } + set + { + if ((this._OperativesNum != value)) + { + this._OperativesNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SuperOperativesNum", DbType="Int")] + public System.Nullable SuperOperativesNum + { + get + { + return this._SuperOperativesNum; + } + set + { + if ((this._SuperOperativesNum != value)) + { + this._SuperOperativesNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_BranchComprehensivePlanNum", DbType="Int")] + public System.Nullable BranchComprehensivePlanNum + { + get + { + return this._BranchComprehensivePlanNum; + } + set + { + if ((this._BranchComprehensivePlanNum != value)) + { + this._BranchComprehensivePlanNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_BranchSpecialPlanNum", DbType="Int")] + public System.Nullable BranchSpecialPlanNum + { + get + { + return this._BranchSpecialPlanNum; + } + set + { + if ((this._BranchSpecialPlanNum != value)) + { + this._BranchSpecialPlanNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_BranchOnSiteDisposalPlan", DbType="Int")] + public System.Nullable BranchOnSiteDisposalPlan + { + get + { + return this._BranchOnSiteDisposalPlan; + } + set + { + if ((this._BranchOnSiteDisposalPlan != value)) + { + this._BranchOnSiteDisposalPlan = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_BranchDrillNum", DbType="Int")] + public System.Nullable BranchDrillNum + { + get + { + return this._BranchDrillNum; + } + set + { + if ((this._BranchDrillNum != value)) + { + this._BranchDrillNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_BranchDrillPersonNum", DbType="Int")] + public System.Nullable BranchDrillPersonNum + { + get + { + return this._BranchDrillPersonNum; + } + set + { + if ((this._BranchDrillPersonNum != value)) + { + this._BranchDrillPersonNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectSubFullTimeNum", DbType="Int")] + public System.Nullable ProjectSubFullTimeNum + { + get + { + return this._ProjectSubFullTimeNum; + } + set + { + if ((this._ProjectSubFullTimeNum != value)) + { + this._ProjectSubFullTimeNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TotalWorkNum", DbType="Decimal(38,4)")] + public System.Nullable TotalWorkNum + { + get + { + return this._TotalWorkNum; + } + set + { + if ((this._TotalWorkNum != value)) + { + this._TotalWorkNum = value; + } + } + } + } + [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.View_ProjectAccident_AccidentAnalysis")] public partial class View_ProjectAccident_AccidentAnalysis { diff --git a/SGGL/WebAPI/Controllers/IDP/IDPController.cs b/SGGL/WebAPI/Controllers/IDP/IDPController.cs index 6ebb9b3c..c790a2da 100644 --- a/SGGL/WebAPI/Controllers/IDP/IDPController.cs +++ b/SGGL/WebAPI/Controllers/IDP/IDPController.cs @@ -2,6 +2,8 @@ using Model; using System; using System.Collections.Generic; +using System.Data; +using System.Data.SqlClient; using System.Linq; using System.Threading.Tasks; using System.Web.Http; @@ -86,7 +88,27 @@ namespace WebAPI.Controllers /// - /// 每天夜间接收OA系统项目设计图纸数据 + /// 每天夜间获取OA系统项目设计图纸数据 + /// + /// + [HttpPost] + public Model.ResponeData SynIDPOADesignDrawingData() + { + var responeData = new Model.ResponeData(); + try + { + responeData.message = IDPDataService.GetIDPOADesignDrawingData(); + } + catch (Exception ex) + { + responeData.code = 0; + responeData.message = ex.ToString(); + } + return responeData; + } + + /// + /// 每天夜间接收OA系统项目设计图纸数据【2025.11.24弃用】 /// /// [HttpPost] @@ -180,5 +202,102 @@ namespace WebAPI.Controllers } #endregion + + + + #region 统计考勤人员考勤数据 + + /// + /// 统计考勤人员考勤数据 + /// + /// + [HttpPost] + public Model.ReturnData SynSitePersonCheckingStatistics() + { + var responeData = new Model.ReturnData(); + responeData.time = DateTime.Now.ToString(); + using (SqlConnection Connection = new SqlConnection(Funs.ConnString)) + { + try + { + string sql = @" + TRUNCATE TABLE dbo.SitePerson_Checking_Statistics; + + INSERT INTO dbo.SitePerson_Checking_Statistics ( + ProjectId, + UnitId, + UnitName, + WorkAreaId, + WorkAreaName, + WorkPostId, + WorkPostName, + IntoOutTime, + num + ) + SELECT + a.ProjectId, + b.UnitId, + b.UnitName, + b.WorkAreaId, + b.WorkAreaName, + p.WorkPostId, + w.WorkPostName, + CAST(b.IntoOutTime AS DATE) AS IntoOutTime, + COUNT(1) AS num + FROM ( + SELECT + PersonId, + CAST(IntoOutTime AS DATE) AS IntoOutTime, + MAX(CheckingId) AS MaxCheckingId, + ProjectId + FROM SitePerson_Checking + GROUP BY PersonId, CAST(IntoOutTime AS DATE), ProjectId + ) a + JOIN SitePerson_Checking b ON a.MaxCheckingId = b.CheckingId + LEFT JOIN SitePerson_Person p ON a.PersonId = p.PersonId + LEFT JOIN Base_WorkPost w ON p.WorkPostId = w.WorkPostId + LEFT JOIN Base_Project bp ON a.ProjectId = bp.ProjectId + where bp.ProjectState='1' + GROUP BY + a.ProjectId, + b.UnitId, + b.UnitName, + b.WorkAreaId, + b.WorkAreaName, + p.WorkPostId, + w.WorkPostName, + CAST(b.IntoOutTime AS DATE);"; + + Connection.Open(); + SqlCommand command = new SqlCommand(sql, Connection) + { + CommandTimeout = 0, + CommandType = CommandType.Text + }; + int result = command.ExecuteNonQuery(); + responeData.message = $"执行成功,共插入 {result} 条记录"; + } + catch (SqlException sqlEx) + { + responeData.code = 0; + responeData.message = $"数据库操作失败: {sqlEx.Message}"; + } + catch (Exception ex) + { + responeData.code = 0; + responeData.message = $"执行失败: {ex.Message}"; + } + finally + { + Connection.Close(); + } + } + + return responeData; + } + + #endregion + + } } \ No newline at end of file diff --git a/SGGL/WebAPI/ErrLog.txt b/SGGL/WebAPI/ErrLog.txt index ad711cf3..4ce0cd5b 100644 --- a/SGGL/WebAPI/ErrLog.txt +++ b/SGGL/WebAPI/ErrLog.txt @@ -1,2 +1,15 @@ -【请求结果】{"page":{"pageNum":1,"pageSize":1000,"size":36,"total":36,"pages":1,"results":[{"fileId":"c8ebac2e-b845-4d2b-ada8-2983e6b55813","projectCode":"23509","displayProjectName":"23509-安哥拉索约AMUFERT化肥项目-工程总承包-EPCC-EXECUTION","projectDeviceProcedureSubjectCode":"060201","formatFileCode":"23509-U-EA102-EQ1001-001","formatFileName":"No.1 Ammonia Preheater","fileVersion":"2A","majorNo":"EQ","majorName":"设备","designUserName":"陈峻琦","jiaoheUserName":"董红微","shenheUserName":"王向举","shendingUserName":null,"majorResponsibleUserName":"董红微","classificationLevelInProject":null,"remark":null,"wbsFullPath":"Urea Melt Unit-Urea melt unit-Urea melt structure","updateTime":null,"stockId":null,"thirdId":null,"status":"待入库"},{"fileId":"a2fa842a-7113-4228-be1d-8eece8b2071d","projectCode":"23509","displayProjectName":"23509-安哥拉索约AMUFERT化肥项目-工程总承包-EPCC-EXECUTION","projectDeviceProcedureSubjectCode":"060201","formatFileCode":"23509-U-EA103-EQ1001-001","formatFileName":"No.3 Ammonia Preheater","fileVersion":"2A","majorNo":"EQ","majorName":"设备","designUserName":"陈峻琦","jiaoheUserName":"董红微","shenheUserName":"王向举","shendingUserName":null,"majorResponsibleUserName":"董红微","classificationLevelInProject":null,"remark":null,"wbsFullPath":"Urea Melt Unit-Urea melt unit-Urea melt structure","updateTime":null,"stockId":null,"thirdId":null,"status":"待入库"},{"fileId":"50af6d85-a044-4784-a707-494af84c70b7","projectCode":"22150","displayProjectName":"22150-印尼泗水PON新戊二醇项目-工程总承包-EPCC-EXECUTION","projectDeviceProcedureSubjectCode":"21000","formatFileCode":"22150-21000-EL1200-001","formatFileName":"电气设备材料表","fileVersion":"D00","majorNo":"EL","majorName":"电气","designUserName":"刘宇凯","jiaoheUserName":"沈莹","shenheUserName":"张雅","shendingUserName":null,"majorResponsibleUserName":"刘宇凯","classificationLevelInProject":null,"remark":null,"wbsFullPath":"Circulation Cooling Water Station --","updateTime":null,"stockId":null,"thirdId":null,"status":"待入库"},{"fileId":"542a74b5-6615-418f-b71d-5ba5501a2548","projectCode":"22150","displayProjectName":"22150-印尼泗水PON新戊二醇项目-工程总承包-EPCC-EXECUTION","projectDeviceProcedureSubjectCode":"21000","formatFileCode":"22150-21000-EL4500-001","formatFileName":"照明系统图","fileVersion":"D00","majorNo":"EL","majorName":"电气","designUserName":"刘宇凯","jiaoheUserName":"沈莹","shenheUserName":"张雅","shendingUserName":null,"majorResponsibleUserName":"刘宇凯","classificationLevelInProject":null,"remark":null,"wbsFullPath":"Circulation Cooling Water Station --","updateTime":null,"stockId":null,"thirdId":null,"status":"待入库"},{"fileId":"4df946a8-c403-460a-b4e4-5d63a918bd83","projectCode":"24150","displayProjectName":"24150-印尼BBP硝酸硝铵项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"56000","formatFileCode":"24150-56000-AR1500-003","formatFileName":"建构筑物平面、立面、剖面图","fileVersion":"D00","majorNo":"AR","majorName":"建筑","designUserName":"曾昊","jiaoheUserName":"肖姣","shenheUserName":"廖志绘","shendingUserName":null,"majorResponsibleUserName":"李晶","classificationLevelInProject":null,"remark":null,"wbsFullPath":"Maintenance center building & Warehouse---建筑","updateTime":null,"stockId":null,"thirdId":null,"status":"待入库"},{"fileId":"0547f259-f244-40fe-8d82-b8f0c8745a08","projectCode":"24150","displayProjectName":"24150-印尼BBP硝酸硝铵项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"56000","formatFileCode":"24150-56000-AR1500-002","formatFileName":"建构筑物平面、立面、剖面图","fileVersion":"D00","majorNo":"AR","majorName":"建筑","designUserName":"曾昊","jiaoheUserName":"肖姣","shenheUserName":"廖志绘","shendingUserName":null,"majorResponsibleUserName":"李晶","classificationLevelInProject":null,"remark":null,"wbsFullPath":"Maintenance center building & Warehouse---建筑","updateTime":null,"stockId":null,"thirdId":null,"status":"待入库"},{"fileId":"1a7fdab8-0add-4f15-a8eb-daca3a5d7b70","projectCode":"24150","displayProjectName":"24150-印尼BBP硝酸硝铵项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"56000","formatFileCode":"24150-56000-AR1500-001","formatFileName":"建构筑物平面、立面、剖面图","fileVersion":"D00","majorNo":"AR","majorName":"建筑","designUserName":"曾昊","jiaoheUserName":"肖姣","shenheUserName":"廖志绘","shendingUserName":null,"majorResponsibleUserName":"李晶","classificationLevelInProject":null,"remark":null,"wbsFullPath":"Maintenance center building & Warehouse---建筑","updateTime":null,"stockId":null,"thirdId":null,"status":"待入库"},{"fileId":"25a27643-7437-4e56-82d9-a10dc6f07a59","projectCode":"24150","displayProjectName":"24150-印尼BBP硝酸硝铵项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"56000","formatFileCode":"24150-56000-AR1500-002","formatFileName":"建构筑物平面、立面、剖面图","fileVersion":"D00","majorNo":"AR","majorName":"建筑","designUserName":"曾昊","jiaoheUserName":"肖姣","shenheUserName":"廖志绘","shendingUserName":null,"majorResponsibleUserName":"李晶","classificationLevelInProject":null,"remark":null,"wbsFullPath":"Maintenance center building & Warehouse---建筑","updateTime":null,"stockId":null,"thirdId":null,"status":"待入库"},{"fileId":"3e6115ff-6f64-4ea4-bd56-fdd8ae489250","projectCode":"24150","displayProjectName":"24150-印尼BBP硝酸硝铵项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"56000","formatFileCode":"24150-56000-AR1500-004","formatFileName":"建构筑物平面、立面、剖面图","fileVersion":"D00","majorNo":"AR","majorName":"建筑","designUserName":"曾昊","jiaoheUserName":"肖姣","shenheUserName":"廖志绘","shendingUserName":null,"majorResponsibleUserName":"李晶","classificationLevelInProject":null,"remark":null,"wbsFullPath":"Maintenance center building & Warehouse---建筑","updateTime":null,"stockId":null,"thirdId":null,"status":"待入库"},{"fileId":"701b9cb6-ea09-464e-8bb0-8210b7d78a3f","projectCode":"24150","displayProjectName":"24150-印尼BBP硝酸硝铵项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"56000","formatFileCode":"24150-56000-AR1500-003","formatFileName":"建构筑物平面、立面、剖面图","fileVersion":"D00","majorNo":"AR","majorName":"建筑","designUserName":"曾昊","jiaoheUserName":"肖姣","shenheUserName":"廖志绘","shendingUserName":null,"majorResponsibleUserName":"李晶","classificationLevelInProject":null,"remark":null,"wbsFullPath":"Maintenance center building & Warehouse---建筑","updateTime":null,"stockId":null,"thirdId":null,"status":"待入库"},{"fileId":"ad688d3c-4330-47f9-a264-8aaf492b12a9","projectCode":"24150","displayProjectName":"24150-印尼BBP硝酸硝铵项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"56000","formatFileCode":"24150-56000-AR1500-001","formatFileName":"建构筑物平面、立面、剖面图","fileVersion":"D00","majorNo":"AR","majorName":"建筑","designUserName":"曾昊","jiaoheUserName":"肖姣","shenheUserName":"廖志绘","shendingUserName":null,"majorResponsibleUserName":"李晶","classificationLevelInProject":null,"remark":null,"wbsFullPath":"Maintenance center building & Warehouse---建筑","updateTime":null,"stockId":null,"thirdId":null,"status":"待入库"},{"fileId":"99940edf-d89b-4f1e-af87-b56f008bb122","projectCode":"24150","displayProjectName":"24150-印尼BBP硝酸硝铵项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"56000","formatFileCode":"24150-56000-AR1500-004","formatFileName":"建构筑物平面、立面、剖面图","fileVersion":"D00","majorNo":"AR","majorName":"建筑","designUserName":"曾昊","jiaoheUserName":"肖姣","shenheUserName":"廖志绘","shendingUserName":null,"majorResponsibleUserName":"李晶","classificationLevelInProject":null,"remark":null,"wbsFullPath":"Maintenance center building & Warehouse---建筑","updateTime":null,"stockId":null,"thirdId":null,"status":"待入库"},{"fileId":"ae5868db-810e-4f7c-ae06-ca9c12934c6a","projectCode":"24150","displayProjectName":"24150-印尼BBP硝酸硝铵项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"60000","formatFileCode":"24150-60000-AR1500-004","formatFileName":"建构筑物平面、立面、剖面图-ELEVATIONS","fileVersion":"D00","majorNo":"AR","majorName":"建筑","designUserName":"肖姣","jiaoheUserName":"李晶","shenheUserName":"廖志绘","shendingUserName":null,"majorResponsibleUserName":"李晶","classificationLevelInProject":null,"remark":null,"wbsFullPath":"Administrative building---建筑","updateTime":null,"stockId":null,"thirdId":null,"status":"待入库"},{"fileId":"f8b1ac18-2dfb-462c-9369-8e33ee0b7396","projectCode":"24150","displayProjectName":"24150-印尼BBP硝酸硝铵项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"60000","formatFileCode":"24150-60000-AR1500-002","formatFileName":"建构筑物平面、立面、剖面图-0.450PLAN","fileVersion":"D00","majorNo":"AR","majorName":"建筑","designUserName":"肖姣","jiaoheUserName":"李晶","shenheUserName":"廖志绘","shendingUserName":null,"majorResponsibleUserName":"李晶","classificationLevelInProject":null,"remark":null,"wbsFullPath":"Administrative building---建筑","updateTime":null,"stockId":null,"thirdId":null,"status":"待入库"},{"fileId":"c2ac1066-4b3d-4d4c-a32e-35de935716be","projectCode":"24150","displayProjectName":"24150-印尼BBP硝酸硝铵项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"65001","formatFileCode":"24150-65001-AR1500-001","formatFileName":"建构筑物平面、立面、剖面图","fileVersion":"D00","majorNo":"AR","majorName":"建筑","designUserName":"张奕惟","jiaoheUserName":"肖姣","shenheUserName":"廖志绘","shendingUserName":null,"majorResponsibleUserName":"李晶","classificationLevelInProject":null,"remark":null,"wbsFullPath":"Plant gate--1# guard house-建筑","updateTime":null,"stockId":null,"thirdId":null,"status":"待入库"},{"fileId":"0f03c7c0-046b-41eb-a235-d4ffa582b0f0","projectCode":"23138","displayProjectName":"23138-甘肃巨化高性能硅氟新材料一体化项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"71010002","formatFileCode":"23138-71010002-AR1500-001","formatFileName":"建构筑物平面、立面、剖面图","fileVersion":"2","majorNo":"AR","majorName":"建筑","designUserName":"易秋凡","jiaoheUserName":"宋苗","shenheUserName":"廖志绘","shendingUserName":null,"majorResponsibleUserName":"黄丹","classificationLevelInProject":null,"remark":null,"wbsFullPath":"1#空分装置--冷却水泵房-建筑","updateTime":null,"stockId":null,"thirdId":null,"status":"会签中"},{"fileId":"0e326599-9e01-4496-a47c-03374a2afa05","projectCode":"23138","displayProjectName":"23138-甘肃巨化高性能硅氟新材料一体化项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"71010002","formatFileCode":"23138-71010002-AR0200-001","formatFileName":"文件目录","fileVersion":"2","majorNo":"AR","majorName":"建筑","designUserName":"易秋凡","jiaoheUserName":"宋苗","shenheUserName":"廖志绘","shendingUserName":null,"majorResponsibleUserName":"黄丹","classificationLevelInProject":null,"remark":null,"wbsFullPath":"1#空分装置--冷却水泵房-建筑","updateTime":null,"stockId":null,"thirdId":"5346022","status":"待入库"},{"fileId":"15420682-3a6d-4b96-9c6f-b26f694f7553","projectCode":"23138","displayProjectName":"23138-甘肃巨化高性能硅氟新材料一体化项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"71010002","formatFileCode":"23138-71010002-AR2500-001","formatFileName":"室内外装修做法表和门窗表","fileVersion":"2","majorNo":"AR","majorName":"建筑","designUserName":"易秋凡","jiaoheUserName":"宋苗","shenheUserName":"廖志绘","shendingUserName":null,"majorResponsibleUserName":"黄丹","classificationLevelInProject":null,"remark":null,"wbsFullPath":"1#空分装置--冷却水泵房-建筑","updateTime":null,"stockId":null,"thirdId":"5346028","status":"签名错误"},{"fileId":"dc7f35af-bf5a-43a5-9047-c73f5e7e6a16","projectCode":"23138","displayProjectName":"23138-甘肃巨化高性能硅氟新材料一体化项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"71010002","formatFileCode":"23138-71010002-AR0200-001","formatFileName":"文件目录","fileVersion":"2","majorNo":"AR","majorName":"建筑","designUserName":"易秋凡","jiaoheUserName":"宋苗","shenheUserName":"廖志绘","shendingUserName":null,"majorResponsibleUserName":"黄丹","classificationLevelInProject":null,"remark":null,"wbsFullPath":"1#空分装置--冷却水泵房-建筑","updateTime":null,"stockId":null,"thirdId":"5346023","status":"待入库"},{"fileId":"96a56c26-02a6-4867-854a-7f0222a295cd","projectCode":"23138","displayProjectName":"23138-甘肃巨化高性能硅氟新材料一体化项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"71010002","formatFileCode":"23138-71010002-AR0400-001","formatFileName":"建筑设计说明","fileVersion":"2","majorNo":"AR","majorName":"建筑","designUserName":"易秋凡","jiaoheUserName":"宋苗","shenheUserName":"廖志绘","shendingUserName":null,"majorResponsibleUserName":"黄丹","classificationLevelInProject":null,"remark":null,"wbsFullPath":"1#空分装置--冷却水泵房-建筑","updateTime":null,"stockId":null,"thirdId":"5346024","status":"签名错误"},{"fileId":"08b2858b-ba40-450d-bb41-bd6e8daec186","projectCode":"23138","displayProjectName":"23138-甘肃巨化高性能硅氟新材料一体化项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"71010003","formatFileCode":"23138-71010003-AR0400-001","formatFileName":"建筑设计说明","fileVersion":"2","majorNo":"AR","majorName":"建筑","designUserName":"易秋凡","jiaoheUserName":"宋苗","shenheUserName":"廖志绘","shendingUserName":null,"majorResponsibleUserName":"黄丹","classificationLevelInProject":null,"remark":null,"wbsFullPath":"1#空分装置--膨胀机室-建筑","updateTime":null,"stockId":null,"thirdId":"5346030","status":"签名错误"},{"fileId":"9a3e0979-9985-4650-8f25-238d5f05367d","projectCode":"23138","displayProjectName":"23138-甘肃巨化高性能硅氟新材料一体化项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"71010003","formatFileCode":"23138-71010003-AR0200-001","formatFileName":"文件目录","fileVersion":"2","majorNo":"AR","majorName":"建筑","designUserName":"易秋凡","jiaoheUserName":"宋苗","shenheUserName":"廖志绘","shendingUserName":null,"majorResponsibleUserName":"黄丹","classificationLevelInProject":null,"remark":null,"wbsFullPath":"1#空分装置--膨胀机室-建筑","updateTime":null,"stockId":null,"thirdId":"5346029","status":"待入库"},{"fileId":"e6364dbf-2ec8-4625-a710-18e2032a2cc3","projectCode":"23138","displayProjectName":"23138-甘肃巨化高性能硅氟新材料一体化项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"71010003","formatFileCode":"23138-71010003-AR1500-001","formatFileName":"建构筑物平面、立面、剖面图","fileVersion":"2","majorNo":"AR","majorName":"建筑","designUserName":"易秋凡","jiaoheUserName":"宋苗","shenheUserName":"廖志绘","shendingUserName":null,"majorResponsibleUserName":"黄丹","classificationLevelInProject":null,"remark":null,"wbsFullPath":"1#空分装置--膨胀机室-建筑","updateTime":null,"stockId":null,"thirdId":null,"status":"会签中"},{"fileId":"a9513993-e269-427a-94af-0660ad160107","projectCode":"23138","displayProjectName":"23138-甘肃巨化高性能硅氟新材料一体化项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"71010003","formatFileCode":"23138-71010003-AR2500-001","formatFileName":"室内外装修做法表和门窗表","fileVersion":"2","majorNo":"AR","majorName":"建筑","designUserName":"易秋凡","jiaoheUserName":"宋苗","shenheUserName":"廖志绘","shendingUserName":null,"majorResponsibleUserName":"黄丹","classificationLevelInProject":null,"remark":null,"wbsFullPath":"1#空分装置--膨胀机室-建筑","updateTime":null,"stockId":null,"thirdId":"5346034","status":"签名错误"},{"fileId":"17a21683-4111-4b25-8769-491852c97891","projectCode":"23138","displayProjectName":"23138-甘肃巨化高性能硅氟新材料一体化项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"71010902","formatFileCode":"23138-71010902-AR0400-001","formatFileName":"建筑设计说明","fileVersion":"2","majorNo":"AR","majorName":"建筑","designUserName":"易秋凡","jiaoheUserName":"宋苗","shenheUserName":"廖志绘","shendingUserName":null,"majorResponsibleUserName":"黄丹","classificationLevelInProject":null,"remark":null,"wbsFullPath":"1#空分装置-公用系统-公辅110kV变电站","updateTime":null,"stockId":null,"thirdId":null,"status":"待入库"},{"fileId":"e492f237-ae6c-4858-89a2-183d7d58e665","projectCode":"23138","displayProjectName":"23138-甘肃巨化高性能硅氟新材料一体化项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"71210301","formatFileCode":"23138-71210301-ST2500-022","formatFileName":"结构平面布置图-002","fileVersion":"2","majorNo":"ST","majorName":"结构","designUserName":"龚瑾","jiaoheUserName":"罗战平","shenheUserName":"徐志刚","shendingUserName":null,"majorResponsibleUserName":"陈新义","classificationLevelInProject":null,"remark":null,"wbsFullPath":null,"updateTime":null,"stockId":null,"thirdId":"5347436","status":"待入库"},{"fileId":"8c2b2f7a-3c40-4efa-ad52-bbad8cbf114e","projectCode":"23138","displayProjectName":"23138-甘肃巨化高性能硅氟新材料一体化项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"71210301","formatFileCode":"23138-71210301-ST2500-021","formatFileName":"结构平面布置图-001","fileVersion":"2","majorNo":"ST","majorName":"结构","designUserName":"龚瑾","jiaoheUserName":"罗战平","shenheUserName":"徐志刚","shendingUserName":null,"majorResponsibleUserName":"陈新义","classificationLevelInProject":null,"remark":null,"wbsFullPath":null,"updateTime":null,"stockId":null,"thirdId":"5347435","status":"待入库"},{"fileId":"5dc940af-742b-450d-93fb-a361720c0313","projectCode":"23138","displayProjectName":"23138-甘肃巨化高性能硅氟新材料一体化项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"71210401","formatFileCode":"23138-71210401-ST2500-022","formatFileName":"结构平面布置图-002","fileVersion":"2","majorNo":"ST","majorName":"结构","designUserName":"龚瑾","jiaoheUserName":"罗战平","shenheUserName":"徐志刚","shendingUserName":null,"majorResponsibleUserName":"陈新义","classificationLevelInProject":null,"remark":null,"wbsFullPath":null,"updateTime":null,"stockId":null,"thirdId":"5347438","status":"待入库"},{"fileId":"928f7b4a-d442-4235-99a9-217d64bdd8b4","projectCode":"23138","displayProjectName":"23138-甘肃巨化高性能硅氟新材料一体化项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"71210401","formatFileCode":"23138-71210401-ST2500-021","formatFileName":"结构平面布置图-001","fileVersion":"2","majorNo":"ST","majorName":"结构","designUserName":"龚瑾","jiaoheUserName":"罗战平","shenheUserName":"徐志刚","shendingUserName":null,"majorResponsibleUserName":"陈新义","classificationLevelInProject":null,"remark":null,"wbsFullPath":null,"updateTime":null,"stockId":null,"thirdId":"5347437","status":"待入库"},{"fileId":"02f6a9e7-ce51-40a9-affd-fb370058c198","projectCode":"23138","displayProjectName":"23138-甘肃巨化高性能硅氟新材料一体化项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"71490900","formatFileCode":"23138-71490900-AR1500-004","formatFileName":"建构筑物平面、立面、剖面图","fileVersion":"2","majorNo":"AR","majorName":"建筑","designUserName":"李沈飞","jiaoheUserName":"刘翔","shenheUserName":"廖志绘","shendingUserName":null,"majorResponsibleUserName":"黄丹","classificationLevelInProject":null,"remark":null,"wbsFullPath":"仓库-6#丙类仓库--建筑","updateTime":null,"stockId":null,"thirdId":null,"status":"待入库"},{"fileId":"8e9a0a80-0161-4819-957e-b5ffc29093c6","projectCode":"23138","displayProjectName":"23138-甘肃巨化高性能硅氟新材料一体化项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"71490900","formatFileCode":"23138-71490900-AR1500-003","formatFileName":"建构筑物平面、立面、剖面图","fileVersion":"2","majorNo":"AR","majorName":"建筑","designUserName":"李沈飞","jiaoheUserName":"刘翔","shenheUserName":"廖志绘","shendingUserName":null,"majorResponsibleUserName":"黄丹","classificationLevelInProject":null,"remark":null,"wbsFullPath":"仓库-6#丙类仓库--建筑","updateTime":null,"stockId":null,"thirdId":null,"status":"待入库"},{"fileId":"4f7db110-95fd-4dc4-8d4f-96bcd692dbd6","projectCode":"23138","displayProjectName":"23138-甘肃巨化高性能硅氟新材料一体化项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"71490900","formatFileCode":"23138-71490900-AR1500-002","formatFileName":"建构筑物平面、立面、剖面图","fileVersion":"2","majorNo":"AR","majorName":"建筑","designUserName":"李沈飞","jiaoheUserName":"刘翔","shenheUserName":"廖志绘","shendingUserName":null,"majorResponsibleUserName":"黄丹","classificationLevelInProject":null,"remark":null,"wbsFullPath":"仓库-6#丙类仓库--建筑","updateTime":null,"stockId":null,"thirdId":null,"status":"待入库"},{"fileId":"7ae12963-7621-4ac8-9277-f8e59b9edb48","projectCode":"23138","displayProjectName":"23138-甘肃巨化高性能硅氟新材料一体化项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"71490900","formatFileCode":"23138-71490900-AR1500-001","formatFileName":"建构筑物平面、立面、剖面图","fileVersion":"2","majorNo":"AR","majorName":"建筑","designUserName":"李沈飞","jiaoheUserName":"刘翔","shenheUserName":"廖志绘","shendingUserName":null,"majorResponsibleUserName":"黄丹","classificationLevelInProject":null,"remark":null,"wbsFullPath":"仓库-6#丙类仓库--建筑","updateTime":null,"stockId":null,"thirdId":null,"status":"待入库"},{"fileId":"29c274f8-b288-4eeb-b57d-d3d715796436","projectCode":"23138","displayProjectName":"23138-甘肃巨化高性能硅氟新材料一体化项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"71491300","formatFileCode":"23138-71491300-AR1500-002","formatFileName":"建构筑物平面、立面、剖面图","fileVersion":"2","majorNo":"AR","majorName":"建筑","designUserName":"李沈飞","jiaoheUserName":"刘翔","shenheUserName":"廖志绘","shendingUserName":null,"majorResponsibleUserName":"黄丹","classificationLevelInProject":null,"remark":null,"wbsFullPath":"仓库-4#甲类仓库--建筑","updateTime":null,"stockId":null,"thirdId":null,"status":"待入库"},{"fileId":"791b7811-1aeb-45b5-abcf-9aeb1ffb3151","projectCode":"23138","displayProjectName":"23138-甘肃巨化高性能硅氟新材料一体化项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"71491300","formatFileCode":"23138-71491300-AR1500-003","formatFileName":"建构筑物平面、立面、剖面图","fileVersion":"2","majorNo":"AR","majorName":"建筑","designUserName":"李沈飞","jiaoheUserName":"刘翔","shenheUserName":"廖志绘","shendingUserName":null,"majorResponsibleUserName":"黄丹","classificationLevelInProject":null,"remark":null,"wbsFullPath":"仓库-4#甲类仓库--建筑","updateTime":null,"stockId":null,"thirdId":null,"status":"待入库"},{"fileId":"b3c2b72b-33bc-44e7-81bc-ddbf91cce446","projectCode":"23138","displayProjectName":"23138-甘肃巨化高性能硅氟新材料一体化项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"71491300","formatFileCode":"23138-71491300-AR1500-001","formatFileName":"建构筑物平面、立面、剖面图","fileVersion":"2","majorNo":"AR","majorName":"建筑","designUserName":"李沈飞","jiaoheUserName":"刘翔","shenheUserName":"廖志绘","shendingUserName":null,"majorResponsibleUserName":"黄丹","classificationLevelInProject":null,"remark":null,"wbsFullPath":"仓库-4#甲类仓库--建筑","updateTime":null,"stockId":null,"thirdId":null,"status":"待入库"}]}} -【请求结果】{"page":{"pageNum":1,"pageSize":1000,"size":36,"total":36,"pages":1,"results":[{"fileId":"c8ebac2e-b845-4d2b-ada8-2983e6b55813","projectCode":"23509","displayProjectName":"23509-安哥拉索约AMUFERT化肥项目-工程总承包-EPCC-EXECUTION","projectDeviceProcedureSubjectCode":"060201","formatFileCode":"23509-U-EA102-EQ1001-001","formatFileName":"No.1 Ammonia Preheater","fileVersion":"2A","majorNo":"EQ","majorName":"设备","designUserName":"陈峻琦","jiaoheUserName":"董红微","shenheUserName":"王向举","shendingUserName":null,"majorResponsibleUserName":"董红微","classificationLevelInProject":null,"remark":null,"wbsFullPath":"Urea Melt Unit-Urea melt unit-Urea melt structure","updateTime":null,"stockId":null,"thirdId":null,"status":"待入库"},{"fileId":"a2fa842a-7113-4228-be1d-8eece8b2071d","projectCode":"23509","displayProjectName":"23509-安哥拉索约AMUFERT化肥项目-工程总承包-EPCC-EXECUTION","projectDeviceProcedureSubjectCode":"060201","formatFileCode":"23509-U-EA103-EQ1001-001","formatFileName":"No.3 Ammonia Preheater","fileVersion":"2A","majorNo":"EQ","majorName":"设备","designUserName":"陈峻琦","jiaoheUserName":"董红微","shenheUserName":"王向举","shendingUserName":null,"majorResponsibleUserName":"董红微","classificationLevelInProject":null,"remark":null,"wbsFullPath":"Urea Melt Unit-Urea melt unit-Urea melt structure","updateTime":null,"stockId":null,"thirdId":null,"status":"待入库"},{"fileId":"50af6d85-a044-4784-a707-494af84c70b7","projectCode":"22150","displayProjectName":"22150-印尼泗水PON新戊二醇项目-工程总承包-EPCC-EXECUTION","projectDeviceProcedureSubjectCode":"21000","formatFileCode":"22150-21000-EL1200-001","formatFileName":"电气设备材料表","fileVersion":"D00","majorNo":"EL","majorName":"电气","designUserName":"刘宇凯","jiaoheUserName":"沈莹","shenheUserName":"张雅","shendingUserName":null,"majorResponsibleUserName":"刘宇凯","classificationLevelInProject":null,"remark":null,"wbsFullPath":"Circulation Cooling Water Station --","updateTime":null,"stockId":null,"thirdId":null,"status":"待入库"},{"fileId":"542a74b5-6615-418f-b71d-5ba5501a2548","projectCode":"22150","displayProjectName":"22150-印尼泗水PON新戊二醇项目-工程总承包-EPCC-EXECUTION","projectDeviceProcedureSubjectCode":"21000","formatFileCode":"22150-21000-EL4500-001","formatFileName":"照明系统图","fileVersion":"D00","majorNo":"EL","majorName":"电气","designUserName":"刘宇凯","jiaoheUserName":"沈莹","shenheUserName":"张雅","shendingUserName":null,"majorResponsibleUserName":"刘宇凯","classificationLevelInProject":null,"remark":null,"wbsFullPath":"Circulation Cooling Water Station --","updateTime":null,"stockId":null,"thirdId":null,"status":"待入库"},{"fileId":"4df946a8-c403-460a-b4e4-5d63a918bd83","projectCode":"24150","displayProjectName":"24150-印尼BBP硝酸硝铵项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"56000","formatFileCode":"24150-56000-AR1500-003","formatFileName":"建构筑物平面、立面、剖面图","fileVersion":"D00","majorNo":"AR","majorName":"建筑","designUserName":"曾昊","jiaoheUserName":"肖姣","shenheUserName":"廖志绘","shendingUserName":null,"majorResponsibleUserName":"李晶","classificationLevelInProject":null,"remark":null,"wbsFullPath":"Maintenance center building & Warehouse---建筑","updateTime":null,"stockId":null,"thirdId":null,"status":"待入库"},{"fileId":"0547f259-f244-40fe-8d82-b8f0c8745a08","projectCode":"24150","displayProjectName":"24150-印尼BBP硝酸硝铵项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"56000","formatFileCode":"24150-56000-AR1500-002","formatFileName":"建构筑物平面、立面、剖面图","fileVersion":"D00","majorNo":"AR","majorName":"建筑","designUserName":"曾昊","jiaoheUserName":"肖姣","shenheUserName":"廖志绘","shendingUserName":null,"majorResponsibleUserName":"李晶","classificationLevelInProject":null,"remark":null,"wbsFullPath":"Maintenance center building & Warehouse---建筑","updateTime":null,"stockId":null,"thirdId":null,"status":"待入库"},{"fileId":"1a7fdab8-0add-4f15-a8eb-daca3a5d7b70","projectCode":"24150","displayProjectName":"24150-印尼BBP硝酸硝铵项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"56000","formatFileCode":"24150-56000-AR1500-001","formatFileName":"建构筑物平面、立面、剖面图","fileVersion":"D00","majorNo":"AR","majorName":"建筑","designUserName":"曾昊","jiaoheUserName":"肖姣","shenheUserName":"廖志绘","shendingUserName":null,"majorResponsibleUserName":"李晶","classificationLevelInProject":null,"remark":null,"wbsFullPath":"Maintenance center building & Warehouse---建筑","updateTime":null,"stockId":null,"thirdId":null,"status":"待入库"},{"fileId":"25a27643-7437-4e56-82d9-a10dc6f07a59","projectCode":"24150","displayProjectName":"24150-印尼BBP硝酸硝铵项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"56000","formatFileCode":"24150-56000-AR1500-002","formatFileName":"建构筑物平面、立面、剖面图","fileVersion":"D00","majorNo":"AR","majorName":"建筑","designUserName":"曾昊","jiaoheUserName":"肖姣","shenheUserName":"廖志绘","shendingUserName":null,"majorResponsibleUserName":"李晶","classificationLevelInProject":null,"remark":null,"wbsFullPath":"Maintenance center building & Warehouse---建筑","updateTime":null,"stockId":null,"thirdId":null,"status":"待入库"},{"fileId":"3e6115ff-6f64-4ea4-bd56-fdd8ae489250","projectCode":"24150","displayProjectName":"24150-印尼BBP硝酸硝铵项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"56000","formatFileCode":"24150-56000-AR1500-004","formatFileName":"建构筑物平面、立面、剖面图","fileVersion":"D00","majorNo":"AR","majorName":"建筑","designUserName":"曾昊","jiaoheUserName":"肖姣","shenheUserName":"廖志绘","shendingUserName":null,"majorResponsibleUserName":"李晶","classificationLevelInProject":null,"remark":null,"wbsFullPath":"Maintenance center building & Warehouse---建筑","updateTime":null,"stockId":null,"thirdId":null,"status":"待入库"},{"fileId":"701b9cb6-ea09-464e-8bb0-8210b7d78a3f","projectCode":"24150","displayProjectName":"24150-印尼BBP硝酸硝铵项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"56000","formatFileCode":"24150-56000-AR1500-003","formatFileName":"建构筑物平面、立面、剖面图","fileVersion":"D00","majorNo":"AR","majorName":"建筑","designUserName":"曾昊","jiaoheUserName":"肖姣","shenheUserName":"廖志绘","shendingUserName":null,"majorResponsibleUserName":"李晶","classificationLevelInProject":null,"remark":null,"wbsFullPath":"Maintenance center building & Warehouse---建筑","updateTime":null,"stockId":null,"thirdId":null,"status":"待入库"},{"fileId":"ad688d3c-4330-47f9-a264-8aaf492b12a9","projectCode":"24150","displayProjectName":"24150-印尼BBP硝酸硝铵项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"56000","formatFileCode":"24150-56000-AR1500-001","formatFileName":"建构筑物平面、立面、剖面图","fileVersion":"D00","majorNo":"AR","majorName":"建筑","designUserName":"曾昊","jiaoheUserName":"肖姣","shenheUserName":"廖志绘","shendingUserName":null,"majorResponsibleUserName":"李晶","classificationLevelInProject":null,"remark":null,"wbsFullPath":"Maintenance center building & Warehouse---建筑","updateTime":null,"stockId":null,"thirdId":null,"status":"待入库"},{"fileId":"99940edf-d89b-4f1e-af87-b56f008bb122","projectCode":"24150","displayProjectName":"24150-印尼BBP硝酸硝铵项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"56000","formatFileCode":"24150-56000-AR1500-004","formatFileName":"建构筑物平面、立面、剖面图","fileVersion":"D00","majorNo":"AR","majorName":"建筑","designUserName":"曾昊","jiaoheUserName":"肖姣","shenheUserName":"廖志绘","shendingUserName":null,"majorResponsibleUserName":"李晶","classificationLevelInProject":null,"remark":null,"wbsFullPath":"Maintenance center building & Warehouse---建筑","updateTime":null,"stockId":null,"thirdId":null,"status":"待入库"},{"fileId":"ae5868db-810e-4f7c-ae06-ca9c12934c6a","projectCode":"24150","displayProjectName":"24150-印尼BBP硝酸硝铵项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"60000","formatFileCode":"24150-60000-AR1500-004","formatFileName":"建构筑物平面、立面、剖面图-ELEVATIONS","fileVersion":"D00","majorNo":"AR","majorName":"建筑","designUserName":"肖姣","jiaoheUserName":"李晶","shenheUserName":"廖志绘","shendingUserName":null,"majorResponsibleUserName":"李晶","classificationLevelInProject":null,"remark":null,"wbsFullPath":"Administrative building---建筑","updateTime":null,"stockId":null,"thirdId":null,"status":"待入库"},{"fileId":"f8b1ac18-2dfb-462c-9369-8e33ee0b7396","projectCode":"24150","displayProjectName":"24150-印尼BBP硝酸硝铵项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"60000","formatFileCode":"24150-60000-AR1500-002","formatFileName":"建构筑物平面、立面、剖面图-0.450PLAN","fileVersion":"D00","majorNo":"AR","majorName":"建筑","designUserName":"肖姣","jiaoheUserName":"李晶","shenheUserName":"廖志绘","shendingUserName":null,"majorResponsibleUserName":"李晶","classificationLevelInProject":null,"remark":null,"wbsFullPath":"Administrative building---建筑","updateTime":null,"stockId":null,"thirdId":null,"status":"待入库"},{"fileId":"c2ac1066-4b3d-4d4c-a32e-35de935716be","projectCode":"24150","displayProjectName":"24150-印尼BBP硝酸硝铵项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"65001","formatFileCode":"24150-65001-AR1500-001","formatFileName":"建构筑物平面、立面、剖面图","fileVersion":"D00","majorNo":"AR","majorName":"建筑","designUserName":"张奕惟","jiaoheUserName":"肖姣","shenheUserName":"廖志绘","shendingUserName":null,"majorResponsibleUserName":"李晶","classificationLevelInProject":null,"remark":null,"wbsFullPath":"Plant gate--1# guard house-建筑","updateTime":null,"stockId":null,"thirdId":null,"status":"待入库"},{"fileId":"0f03c7c0-046b-41eb-a235-d4ffa582b0f0","projectCode":"23138","displayProjectName":"23138-甘肃巨化高性能硅氟新材料一体化项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"71010002","formatFileCode":"23138-71010002-AR1500-001","formatFileName":"建构筑物平面、立面、剖面图","fileVersion":"2","majorNo":"AR","majorName":"建筑","designUserName":"易秋凡","jiaoheUserName":"宋苗","shenheUserName":"廖志绘","shendingUserName":null,"majorResponsibleUserName":"黄丹","classificationLevelInProject":null,"remark":null,"wbsFullPath":"1#空分装置--冷却水泵房-建筑","updateTime":null,"stockId":null,"thirdId":null,"status":"会签中"},{"fileId":"0e326599-9e01-4496-a47c-03374a2afa05","projectCode":"23138","displayProjectName":"23138-甘肃巨化高性能硅氟新材料一体化项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"71010002","formatFileCode":"23138-71010002-AR0200-001","formatFileName":"文件目录","fileVersion":"2","majorNo":"AR","majorName":"建筑","designUserName":"易秋凡","jiaoheUserName":"宋苗","shenheUserName":"廖志绘","shendingUserName":null,"majorResponsibleUserName":"黄丹","classificationLevelInProject":null,"remark":null,"wbsFullPath":"1#空分装置--冷却水泵房-建筑","updateTime":null,"stockId":null,"thirdId":"5346022","status":"待入库"},{"fileId":"15420682-3a6d-4b96-9c6f-b26f694f7553","projectCode":"23138","displayProjectName":"23138-甘肃巨化高性能硅氟新材料一体化项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"71010002","formatFileCode":"23138-71010002-AR2500-001","formatFileName":"室内外装修做法表和门窗表","fileVersion":"2","majorNo":"AR","majorName":"建筑","designUserName":"易秋凡","jiaoheUserName":"宋苗","shenheUserName":"廖志绘","shendingUserName":null,"majorResponsibleUserName":"黄丹","classificationLevelInProject":null,"remark":null,"wbsFullPath":"1#空分装置--冷却水泵房-建筑","updateTime":null,"stockId":null,"thirdId":"5346028","status":"签名错误"},{"fileId":"dc7f35af-bf5a-43a5-9047-c73f5e7e6a16","projectCode":"23138","displayProjectName":"23138-甘肃巨化高性能硅氟新材料一体化项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"71010002","formatFileCode":"23138-71010002-AR0200-001","formatFileName":"文件目录","fileVersion":"2","majorNo":"AR","majorName":"建筑","designUserName":"易秋凡","jiaoheUserName":"宋苗","shenheUserName":"廖志绘","shendingUserName":null,"majorResponsibleUserName":"黄丹","classificationLevelInProject":null,"remark":null,"wbsFullPath":"1#空分装置--冷却水泵房-建筑","updateTime":null,"stockId":null,"thirdId":"5346023","status":"待入库"},{"fileId":"96a56c26-02a6-4867-854a-7f0222a295cd","projectCode":"23138","displayProjectName":"23138-甘肃巨化高性能硅氟新材料一体化项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"71010002","formatFileCode":"23138-71010002-AR0400-001","formatFileName":"建筑设计说明","fileVersion":"2","majorNo":"AR","majorName":"建筑","designUserName":"易秋凡","jiaoheUserName":"宋苗","shenheUserName":"廖志绘","shendingUserName":null,"majorResponsibleUserName":"黄丹","classificationLevelInProject":null,"remark":null,"wbsFullPath":"1#空分装置--冷却水泵房-建筑","updateTime":null,"stockId":null,"thirdId":"5346024","status":"签名错误"},{"fileId":"08b2858b-ba40-450d-bb41-bd6e8daec186","projectCode":"23138","displayProjectName":"23138-甘肃巨化高性能硅氟新材料一体化项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"71010003","formatFileCode":"23138-71010003-AR0400-001","formatFileName":"建筑设计说明","fileVersion":"2","majorNo":"AR","majorName":"建筑","designUserName":"易秋凡","jiaoheUserName":"宋苗","shenheUserName":"廖志绘","shendingUserName":null,"majorResponsibleUserName":"黄丹","classificationLevelInProject":null,"remark":null,"wbsFullPath":"1#空分装置--膨胀机室-建筑","updateTime":null,"stockId":null,"thirdId":"5346030","status":"签名错误"},{"fileId":"9a3e0979-9985-4650-8f25-238d5f05367d","projectCode":"23138","displayProjectName":"23138-甘肃巨化高性能硅氟新材料一体化项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"71010003","formatFileCode":"23138-71010003-AR0200-001","formatFileName":"文件目录","fileVersion":"2","majorNo":"AR","majorName":"建筑","designUserName":"易秋凡","jiaoheUserName":"宋苗","shenheUserName":"廖志绘","shendingUserName":null,"majorResponsibleUserName":"黄丹","classificationLevelInProject":null,"remark":null,"wbsFullPath":"1#空分装置--膨胀机室-建筑","updateTime":null,"stockId":null,"thirdId":"5346029","status":"待入库"},{"fileId":"e6364dbf-2ec8-4625-a710-18e2032a2cc3","projectCode":"23138","displayProjectName":"23138-甘肃巨化高性能硅氟新材料一体化项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"71010003","formatFileCode":"23138-71010003-AR1500-001","formatFileName":"建构筑物平面、立面、剖面图","fileVersion":"2","majorNo":"AR","majorName":"建筑","designUserName":"易秋凡","jiaoheUserName":"宋苗","shenheUserName":"廖志绘","shendingUserName":null,"majorResponsibleUserName":"黄丹","classificationLevelInProject":null,"remark":null,"wbsFullPath":"1#空分装置--膨胀机室-建筑","updateTime":null,"stockId":null,"thirdId":null,"status":"会签中"},{"fileId":"a9513993-e269-427a-94af-0660ad160107","projectCode":"23138","displayProjectName":"23138-甘肃巨化高性能硅氟新材料一体化项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"71010003","formatFileCode":"23138-71010003-AR2500-001","formatFileName":"室内外装修做法表和门窗表","fileVersion":"2","majorNo":"AR","majorName":"建筑","designUserName":"易秋凡","jiaoheUserName":"宋苗","shenheUserName":"廖志绘","shendingUserName":null,"majorResponsibleUserName":"黄丹","classificationLevelInProject":null,"remark":null,"wbsFullPath":"1#空分装置--膨胀机室-建筑","updateTime":null,"stockId":null,"thirdId":"5346034","status":"签名错误"},{"fileId":"17a21683-4111-4b25-8769-491852c97891","projectCode":"23138","displayProjectName":"23138-甘肃巨化高性能硅氟新材料一体化项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"71010902","formatFileCode":"23138-71010902-AR0400-001","formatFileName":"建筑设计说明","fileVersion":"2","majorNo":"AR","majorName":"建筑","designUserName":"易秋凡","jiaoheUserName":"宋苗","shenheUserName":"廖志绘","shendingUserName":null,"majorResponsibleUserName":"黄丹","classificationLevelInProject":null,"remark":null,"wbsFullPath":"1#空分装置-公用系统-公辅110kV变电站","updateTime":null,"stockId":null,"thirdId":null,"status":"待入库"},{"fileId":"e492f237-ae6c-4858-89a2-183d7d58e665","projectCode":"23138","displayProjectName":"23138-甘肃巨化高性能硅氟新材料一体化项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"71210301","formatFileCode":"23138-71210301-ST2500-022","formatFileName":"结构平面布置图-002","fileVersion":"2","majorNo":"ST","majorName":"结构","designUserName":"龚瑾","jiaoheUserName":"罗战平","shenheUserName":"徐志刚","shendingUserName":null,"majorResponsibleUserName":"陈新义","classificationLevelInProject":null,"remark":null,"wbsFullPath":null,"updateTime":null,"stockId":null,"thirdId":"5347436","status":"待入库"},{"fileId":"8c2b2f7a-3c40-4efa-ad52-bbad8cbf114e","projectCode":"23138","displayProjectName":"23138-甘肃巨化高性能硅氟新材料一体化项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"71210301","formatFileCode":"23138-71210301-ST2500-021","formatFileName":"结构平面布置图-001","fileVersion":"2","majorNo":"ST","majorName":"结构","designUserName":"龚瑾","jiaoheUserName":"罗战平","shenheUserName":"徐志刚","shendingUserName":null,"majorResponsibleUserName":"陈新义","classificationLevelInProject":null,"remark":null,"wbsFullPath":null,"updateTime":null,"stockId":null,"thirdId":"5347435","status":"待入库"},{"fileId":"5dc940af-742b-450d-93fb-a361720c0313","projectCode":"23138","displayProjectName":"23138-甘肃巨化高性能硅氟新材料一体化项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"71210401","formatFileCode":"23138-71210401-ST2500-022","formatFileName":"结构平面布置图-002","fileVersion":"2","majorNo":"ST","majorName":"结构","designUserName":"龚瑾","jiaoheUserName":"罗战平","shenheUserName":"徐志刚","shendingUserName":null,"majorResponsibleUserName":"陈新义","classificationLevelInProject":null,"remark":null,"wbsFullPath":null,"updateTime":null,"stockId":null,"thirdId":"5347438","status":"待入库"},{"fileId":"928f7b4a-d442-4235-99a9-217d64bdd8b4","projectCode":"23138","displayProjectName":"23138-甘肃巨化高性能硅氟新材料一体化项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"71210401","formatFileCode":"23138-71210401-ST2500-021","formatFileName":"结构平面布置图-001","fileVersion":"2","majorNo":"ST","majorName":"结构","designUserName":"龚瑾","jiaoheUserName":"罗战平","shenheUserName":"徐志刚","shendingUserName":null,"majorResponsibleUserName":"陈新义","classificationLevelInProject":null,"remark":null,"wbsFullPath":null,"updateTime":null,"stockId":null,"thirdId":"5347437","status":"待入库"},{"fileId":"02f6a9e7-ce51-40a9-affd-fb370058c198","projectCode":"23138","displayProjectName":"23138-甘肃巨化高性能硅氟新材料一体化项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"71490900","formatFileCode":"23138-71490900-AR1500-004","formatFileName":"建构筑物平面、立面、剖面图","fileVersion":"2","majorNo":"AR","majorName":"建筑","designUserName":"李沈飞","jiaoheUserName":"刘翔","shenheUserName":"廖志绘","shendingUserName":null,"majorResponsibleUserName":"黄丹","classificationLevelInProject":null,"remark":null,"wbsFullPath":"仓库-6#丙类仓库--建筑","updateTime":null,"stockId":null,"thirdId":null,"status":"待入库"},{"fileId":"8e9a0a80-0161-4819-957e-b5ffc29093c6","projectCode":"23138","displayProjectName":"23138-甘肃巨化高性能硅氟新材料一体化项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"71490900","formatFileCode":"23138-71490900-AR1500-003","formatFileName":"建构筑物平面、立面、剖面图","fileVersion":"2","majorNo":"AR","majorName":"建筑","designUserName":"李沈飞","jiaoheUserName":"刘翔","shenheUserName":"廖志绘","shendingUserName":null,"majorResponsibleUserName":"黄丹","classificationLevelInProject":null,"remark":null,"wbsFullPath":"仓库-6#丙类仓库--建筑","updateTime":null,"stockId":null,"thirdId":null,"status":"待入库"},{"fileId":"4f7db110-95fd-4dc4-8d4f-96bcd692dbd6","projectCode":"23138","displayProjectName":"23138-甘肃巨化高性能硅氟新材料一体化项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"71490900","formatFileCode":"23138-71490900-AR1500-002","formatFileName":"建构筑物平面、立面、剖面图","fileVersion":"2","majorNo":"AR","majorName":"建筑","designUserName":"李沈飞","jiaoheUserName":"刘翔","shenheUserName":"廖志绘","shendingUserName":null,"majorResponsibleUserName":"黄丹","classificationLevelInProject":null,"remark":null,"wbsFullPath":"仓库-6#丙类仓库--建筑","updateTime":null,"stockId":null,"thirdId":null,"status":"待入库"},{"fileId":"7ae12963-7621-4ac8-9277-f8e59b9edb48","projectCode":"23138","displayProjectName":"23138-甘肃巨化高性能硅氟新材料一体化项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"71490900","formatFileCode":"23138-71490900-AR1500-001","formatFileName":"建构筑物平面、立面、剖面图","fileVersion":"2","majorNo":"AR","majorName":"建筑","designUserName":"李沈飞","jiaoheUserName":"刘翔","shenheUserName":"廖志绘","shendingUserName":null,"majorResponsibleUserName":"黄丹","classificationLevelInProject":null,"remark":null,"wbsFullPath":"仓库-6#丙类仓库--建筑","updateTime":null,"stockId":null,"thirdId":null,"status":"待入库"},{"fileId":"29c274f8-b288-4eeb-b57d-d3d715796436","projectCode":"23138","displayProjectName":"23138-甘肃巨化高性能硅氟新材料一体化项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"71491300","formatFileCode":"23138-71491300-AR1500-002","formatFileName":"建构筑物平面、立面、剖面图","fileVersion":"2","majorNo":"AR","majorName":"建筑","designUserName":"李沈飞","jiaoheUserName":"刘翔","shenheUserName":"廖志绘","shendingUserName":null,"majorResponsibleUserName":"黄丹","classificationLevelInProject":null,"remark":null,"wbsFullPath":"仓库-4#甲类仓库--建筑","updateTime":null,"stockId":null,"thirdId":null,"status":"待入库"},{"fileId":"791b7811-1aeb-45b5-abcf-9aeb1ffb3151","projectCode":"23138","displayProjectName":"23138-甘肃巨化高性能硅氟新材料一体化项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"71491300","formatFileCode":"23138-71491300-AR1500-003","formatFileName":"建构筑物平面、立面、剖面图","fileVersion":"2","majorNo":"AR","majorName":"建筑","designUserName":"李沈飞","jiaoheUserName":"刘翔","shenheUserName":"廖志绘","shendingUserName":null,"majorResponsibleUserName":"黄丹","classificationLevelInProject":null,"remark":null,"wbsFullPath":"仓库-4#甲类仓库--建筑","updateTime":null,"stockId":null,"thirdId":null,"status":"待入库"},{"fileId":"b3c2b72b-33bc-44e7-81bc-ddbf91cce446","projectCode":"23138","displayProjectName":"23138-甘肃巨化高性能硅氟新材料一体化项目-工程总承包-EPC-EXECUTION","projectDeviceProcedureSubjectCode":"71491300","formatFileCode":"23138-71491300-AR1500-001","formatFileName":"建构筑物平面、立面、剖面图","fileVersion":"2","majorNo":"AR","majorName":"建筑","designUserName":"李沈飞","jiaoheUserName":"刘翔","shenheUserName":"廖志绘","shendingUserName":null,"majorResponsibleUserName":"黄丹","classificationLevelInProject":null,"remark":null,"wbsFullPath":"仓库-4#甲类仓库--建筑","updateTime":null,"stockId":null,"thirdId":null,"status":"待入库"}]}} + +错误信息开始=====> +错误类型:FormatException +错误信息:指定字符串与电子邮件地址所要求的形式不符。 +错误堆栈: + 在 System.Net.Mail.MailAddressParser.ReadCfwsAndThrowIfIncomplete(String data, Int32 index) + 在 System.Net.Mail.MailAddressParser.ParseDomain(String data, Int32& index) + 在 System.Net.Mail.MailAddressParser.ParseAddress(String data, Boolean expectMultipleAddresses, Int32& index) + 在 System.Net.Mail.MailAddressParser.ParseMultipleAddresses(String data) + 在 System.Net.Mail.MailAddressCollection.ParseValue(String addresses) + 在 BLL.GJSXMonitorService.OverdueWarningSendEmail() 位置 G:\公司项目\五环\SGGL\BLL\PZHGL\GJSX\GJSXMonitorService.cs:行号 508 +出错时间:11/19/2025 19:20:26 +出错时间:11/19/2025 19:20:26 + +【邮箱提醒异常】张小松邮箱:1784m;时间:2025-11-19 19:46:42;异常信息:指定字符串与电子邮件地址所要求的形式不符。 diff --git a/SGGL/WebAPI/Filter/TestPermissionAttribute.cs b/SGGL/WebAPI/Filter/TestPermissionAttribute.cs index 5f615e6a..df4e59ad 100644 --- a/SGGL/WebAPI/Filter/TestPermissionAttribute.cs +++ b/SGGL/WebAPI/Filter/TestPermissionAttribute.cs @@ -94,6 +94,7 @@ namespace WebAPI.Filter "IDP*SynIDPPreRunData", "IDP*SynOADesignDrawingDataBlueprintInfo", "IDP*SynOADesignDrawingDataPrintInfo", + "IDP*SynSitePersonCheckingStatistics", "JGZL*getUserList", "JGZL*getProjedtList", "JGZL*getUnitWorkListByProjectId", diff --git a/SGGL/WebAPI/Properties/PublishProfiles/FolderProfile.pubxml.user b/SGGL/WebAPI/Properties/PublishProfiles/FolderProfile.pubxml.user index 06cf97c7..4908354c 100644 --- a/SGGL/WebAPI/Properties/PublishProfiles/FolderProfile.pubxml.user +++ b/SGGL/WebAPI/Properties/PublishProfiles/FolderProfile.pubxml.user @@ -6,7 +6,7 @@ <_PublishTargetUrl>G:\发布\五环WebApi - True|2025-11-05T01:32:06.4998794Z||;True|2025-11-04T16:39:28.2175670+08:00||;True|2025-11-04T16:39:02.3610432+08:00||;True|2025-11-04T15:44:06.1295264+08:00||;True|2025-10-31T16:41:11.6570385+08:00||;True|2025-10-30T15:58:05.2014433+08:00||;True|2025-10-29T16:22:27.7866967+08:00||;True|2025-10-29T11:19:32.1187038+08:00||;True|2025-10-24T15:59:19.4176668+08:00||;True|2025-10-23T10:17:32.2384443+08:00||;True|2025-10-23T10:09:35.0601937+08:00||;True|2025-10-23T09:59:27.2018799+08:00||;True|2025-09-29T15:39:36.8617347+08:00||;True|2025-09-29T11:28:10.9193152+08:00||;True|2025-09-29T10:59:58.2893583+08:00||;True|2025-09-23T16:56:39.6344263+08:00||;True|2025-09-23T16:44:57.4175593+08:00||;True|2025-09-23T16:44:35.0478492+08:00||;True|2025-09-23T16:06:50.5843534+08:00||;True|2025-09-22T20:54:35.9805610+08:00||;True|2025-09-22T20:45:58.7044128+08:00||;True|2025-09-22T20:40:46.7449595+08:00||;True|2025-09-22T15:14:22.9602725+08:00||;True|2025-09-22T15:08:27.5989706+08:00||;True|2025-09-22T14:54:19.5237685+08:00||;True|2025-09-18T09:53:17.9300539+08:00||;True|2025-09-16T19:11:12.4383069+08:00||;True|2025-09-02T11:14:00.9580707+08:00||;True|2025-09-02T10:52:20.0445598+08:00||;True|2025-08-29T17:56:01.6245615+08:00||;True|2025-08-29T17:55:41.2802685+08:00||;True|2025-08-09T21:27:40.2103961+08:00||;True|2025-08-06T15:31:52.1166645+08:00||;True|2025-08-04T18:56:13.9675910+08:00||;True|2025-07-23T11:12:18.0134770+08:00||;True|2025-07-23T10:36:09.9990536+08:00||;True|2025-07-23T10:35:51.8814789+08:00||;True|2025-07-21T17:46:45.4620710+08:00||;True|2025-07-21T17:40:43.9871097+08:00||;True|2025-07-21T17:29:11.9275869+08:00||;True|2025-07-21T17:05:21.7763763+08:00||;True|2025-07-18T17:55:59.4892329+08:00||;True|2025-07-18T11:08:56.2628896+08:00||;True|2025-07-18T10:53:44.2534260+08:00||;True|2025-07-18T10:27:52.6751668+08:00||;True|2025-07-18T10:03:09.1785776+08:00||;True|2025-07-18T10:02:38.1252107+08:00||;True|2025-07-17T18:19:07.5837609+08:00||;True|2025-07-17T15:40:11.9126705+08:00||;True|2025-07-11T17:54:03.0298703+08:00||;True|2025-07-11T16:19:50.3283029+08:00||;True|2025-07-11T15:49:22.5920473+08:00||;True|2025-07-02T14:39:27.0436873+08:00||;True|2025-07-02T11:18:29.1208369+08:00||;True|2025-07-01T15:52:16.6767496+08:00||;True|2025-07-01T10:14:59.0471052+08:00||;True|2025-06-28T11:40:36.0544739+08:00||;True|2025-06-27T15:10:24.4628086+08:00||;True|2025-06-27T10:31:14.8332810+08:00||;True|2025-06-27T10:13:13.3022394+08:00||;True|2025-06-26T23:51:04.1304509+08:00||;True|2025-06-26T23:34:06.4223762+08:00||;True|2025-06-26T22:42:08.9018138+08:00||;True|2025-06-26T22:16:01.8954571+08:00||;True|2025-06-26T21:19:42.2638204+08:00||;True|2025-06-25T23:22:39.7267591+08:00||;True|2025-06-25T23:19:33.2378458+08:00||;True|2025-06-25T22:18:16.2863303+08:00||;True|2025-06-25T22:10:29.2540175+08:00||;True|2025-06-25T22:00:58.5212166+08:00||;True|2025-06-25T22:00:31.2531214+08:00||;True|2025-06-25T18:33:01.5770030+08:00||;True|2025-06-25T17:47:33.7779622+08:00||;True|2025-06-25T17:40:26.9905954+08:00||;True|2025-06-20T11:24:58.4099232+08:00||;True|2025-06-19T16:42:45.2358810+08:00||;True|2025-06-16T19:28:10.6447738+08:00||;True|2025-06-12T11:00:02.3559090+08:00||;True|2025-06-12T10:40:29.0324520+08:00||;True|2025-06-04T23:24:01.0324973+08:00||;True|2025-06-04T18:39:41.7304136+08:00||;True|2025-06-04T11:23:17.3803405+08:00||;True|2025-06-04T11:04:32.4212196+08:00||;True|2025-05-26T19:19:09.7246357+08:00||;True|2025-05-26T19:16:39.1283077+08:00||;True|2025-05-26T19:09:24.1561616+08:00||;True|2025-04-07T16:11:44.5172315+08:00||;True|2025-04-02T18:10:22.8695984+08:00||;True|2025-04-02T17:59:51.2978116+08:00||;True|2025-04-02T17:50:55.8630437+08:00||;True|2025-04-02T17:49:22.5114405+08:00||;True|2025-04-02T17:47:11.0650205+08:00||;True|2025-04-02T17:39:09.8576853+08:00||;True|2025-04-02T17:38:15.3079030+08:00||;True|2025-04-02T17:22:03.6735964+08:00||;True|2025-04-02T17:19:04.4220913+08:00||;True|2025-04-02T17:17:14.0244636+08:00||;True|2025-04-02T17:11:09.6583011+08:00||;True|2025-04-02T17:07:23.6330597+08:00||;True|2025-04-02T16:58:45.4070649+08:00||; + True|2025-11-25T02:18:00.9729814Z||;True|2025-11-25T10:14:14.6947178+08:00||;True|2025-11-25T10:06:29.1167142+08:00||;True|2025-11-25T09:25:18.3566779+08:00||;True|2025-11-24T16:07:37.5433070+08:00||;True|2025-11-19T19:50:54.0090859+08:00||;True|2025-11-19T19:29:28.5861506+08:00||;True|2025-11-19T19:14:02.6887533+08:00||;True|2025-11-19T19:08:28.7856694+08:00||;True|2025-11-17T14:41:29.0529618+08:00||;True|2025-11-17T12:28:22.9224307+08:00||;True|2025-11-17T11:17:50.1481769+08:00||;True|2025-11-07T14:46:56.1446809+08:00||;True|2025-11-05T09:32:06.4998794+08:00||;True|2025-11-04T16:39:28.2175670+08:00||;True|2025-11-04T16:39:02.3610432+08:00||;True|2025-11-04T15:44:06.1295264+08:00||;True|2025-10-31T16:41:11.6570385+08:00||;True|2025-10-30T15:58:05.2014433+08:00||;True|2025-10-29T16:22:27.7866967+08:00||;True|2025-10-29T11:19:32.1187038+08:00||;True|2025-10-24T15:59:19.4176668+08:00||;True|2025-10-23T10:17:32.2384443+08:00||;True|2025-10-23T10:09:35.0601937+08:00||;True|2025-10-23T09:59:27.2018799+08:00||;True|2025-09-29T15:39:36.8617347+08:00||;True|2025-09-29T11:28:10.9193152+08:00||;True|2025-09-29T10:59:58.2893583+08:00||;True|2025-09-23T16:56:39.6344263+08:00||;True|2025-09-23T16:44:57.4175593+08:00||;True|2025-09-23T16:44:35.0478492+08:00||;True|2025-09-23T16:06:50.5843534+08:00||;True|2025-09-22T20:54:35.9805610+08:00||;True|2025-09-22T20:45:58.7044128+08:00||;True|2025-09-22T20:40:46.7449595+08:00||;True|2025-09-22T15:14:22.9602725+08:00||;True|2025-09-22T15:08:27.5989706+08:00||;True|2025-09-22T14:54:19.5237685+08:00||;True|2025-09-18T09:53:17.9300539+08:00||;True|2025-09-16T19:11:12.4383069+08:00||;True|2025-09-02T11:14:00.9580707+08:00||;True|2025-09-02T10:52:20.0445598+08:00||;True|2025-08-29T17:56:01.6245615+08:00||;True|2025-08-29T17:55:41.2802685+08:00||;True|2025-08-09T21:27:40.2103961+08:00||;True|2025-08-06T15:31:52.1166645+08:00||;True|2025-08-04T18:56:13.9675910+08:00||;True|2025-07-23T11:12:18.0134770+08:00||;True|2025-07-23T10:36:09.9990536+08:00||;True|2025-07-23T10:35:51.8814789+08:00||;True|2025-07-21T17:46:45.4620710+08:00||;True|2025-07-21T17:40:43.9871097+08:00||;True|2025-07-21T17:29:11.9275869+08:00||;True|2025-07-21T17:05:21.7763763+08:00||;True|2025-07-18T17:55:59.4892329+08:00||;True|2025-07-18T11:08:56.2628896+08:00||;True|2025-07-18T10:53:44.2534260+08:00||;True|2025-07-18T10:27:52.6751668+08:00||;True|2025-07-18T10:03:09.1785776+08:00||;True|2025-07-18T10:02:38.1252107+08:00||;True|2025-07-17T18:19:07.5837609+08:00||;True|2025-07-17T15:40:11.9126705+08:00||;True|2025-07-11T17:54:03.0298703+08:00||;True|2025-07-11T16:19:50.3283029+08:00||;True|2025-07-11T15:49:22.5920473+08:00||;True|2025-07-02T14:39:27.0436873+08:00||;True|2025-07-02T11:18:29.1208369+08:00||;True|2025-07-01T15:52:16.6767496+08:00||;True|2025-07-01T10:14:59.0471052+08:00||;True|2025-06-28T11:40:36.0544739+08:00||;True|2025-06-27T15:10:24.4628086+08:00||;True|2025-06-27T10:31:14.8332810+08:00||;True|2025-06-27T10:13:13.3022394+08:00||;True|2025-06-26T23:51:04.1304509+08:00||;True|2025-06-26T23:34:06.4223762+08:00||;True|2025-06-26T22:42:08.9018138+08:00||;True|2025-06-26T22:16:01.8954571+08:00||;True|2025-06-26T21:19:42.2638204+08:00||;True|2025-06-25T23:22:39.7267591+08:00||;True|2025-06-25T23:19:33.2378458+08:00||;True|2025-06-25T22:18:16.2863303+08:00||;True|2025-06-25T22:10:29.2540175+08:00||;True|2025-06-25T22:00:58.5212166+08:00||;True|2025-06-25T22:00:31.2531214+08:00||;True|2025-06-25T18:33:01.5770030+08:00||;True|2025-06-25T17:47:33.7779622+08:00||;True|2025-06-25T17:40:26.9905954+08:00||;True|2025-06-20T11:24:58.4099232+08:00||;True|2025-06-19T16:42:45.2358810+08:00||;True|2025-06-16T19:28:10.6447738+08:00||;True|2025-06-12T11:00:02.3559090+08:00||;True|2025-06-12T10:40:29.0324520+08:00||;True|2025-06-04T23:24:01.0324973+08:00||;True|2025-06-04T18:39:41.7304136+08:00||;True|2025-06-04T11:23:17.3803405+08:00||;True|2025-06-04T11:04:32.4212196+08:00||;True|2025-05-26T19:19:09.7246357+08:00||;True|2025-05-26T19:16:39.1283077+08:00||;True|2025-05-26T19:09:24.1561616+08:00||;True|2025-04-07T16:11:44.5172315+08:00||; @@ -86,22 +86,22 @@ 10/28/2024 14:02:50 - 11/05/2025 09:32:04 + 11/25/2025 10:18:00 - 11/05/2025 09:32:04 + 11/25/2025 10:18:00 12/06/2024 20:13:58 - 11/05/2025 09:31:44 + 11/25/2025 10:17:51 12/26/2024 09:46:52 - 11/05/2025 09:31:44 + 11/25/2025 10:17:51 12/18/2020 05:32:28 @@ -128,10 +128,10 @@ 07/25/2012 19:48:56 - 11/04/2025 15:43:33 + 11/24/2025 16:07:08 - 11/04/2025 15:43:33 + 11/24/2025 16:07:08 07/04/2024 14:13:01 @@ -389,13 +389,13 @@ 02/09/2013 00:42:28 - 11/05/2025 09:31:47 + 11/25/2025 10:17:52 - 11/05/2025 09:31:47 + 11/25/2025 10:17:52 - 11/05/2025 09:31:47 + 11/25/2025 10:17:52 01/23/2014 21:57:34 @@ -479,7 +479,7 @@ 10/28/2024 14:02:50 - 11/05/2025 09:31:48 + 11/25/2025 10:17:52 10/28/2024 14:02:50