--获取当前人工作台待办预警 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 ((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 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 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 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 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 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 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 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 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 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 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 (@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 (@sType='1' or @sType='2') ORDER BY DataTime DESC END GO