GO /****** Object: StoredProcedure [dbo].[Sp_WorkBench_GetToDoItems] Script Date: 2026-5-9 15:28:58 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO --获取当前人工作台待办预警 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 DCheck.CheckRectifyId AS DataId ,'2E4A3E58-44B7-41B0-BFE3-634DF29AAE27' AS MenuId ,'集团督查检查' AS MenuName ,project.ProjectCode ,'('+DCheck.CheckRectifyCode+')'+DCheck.ProjectName AS Content ,'' ,'' ,DCheck.CheckDate AS DataTime ,CONVERT(varchar(100),DCheck.CheckDate, 23) AS DataTimeStr ,'DCGL/ServerCheck/CheckRectify.aspx?proType=1' AS PCUrl FROM DCGL_Check_CheckRectify AS DCheck LEFT JOIN Project_ProjectUser as projectUser on projectUser.UserId=@userId LEFT JOIN Base_Project as project on project.ProjectId =projectUser.ProjectId WHERE (@sType='1' OR @sType='2') AND DCheck.ProjectId = projectUser.ProjectId AND DCheck.HandleState = '2' AND projectUser.IsPost=1 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