/****** Object: StoredProcedure [dbo].[Sp_Project_GetToDoItems] Script Date: 2026-5-9 16:07:48 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO --获取当前人待办事项 ALTER PROCEDURE [dbo].[Sp_Project_GetToDoItems] @projectId NVARCHAR(50)=NULL, @userId NVARCHAR(200)=NULL AS /*获取当前人待办事项*/ BEGIN SELECT HazardRegisterId AS DataId ,'B6BE5FE0-CB84-47FF-A6C3-5AD9E1CCE079' AS MenuId ,'安全巡检待整改' AS MenuName ,(case when len(register.RegisterDef)>15 then LEFT(register.RegisterDef,15)+'...' else register.RegisterDef end)AS Content ,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 Sys_User AS users ON users.UserId =@userId WHERE register.ProjectId=@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 ,(case when len(register.RegisterDef)>15 then LEFT(register.RegisterDef,15)+'...' else register.RegisterDef end) AS Content ,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 Sys_User AS users ON users.UserId =@userId WHERE register.ProjectId=@projectId AND register.states = '2' AND register.CheckManId =@userId UNION ALL SELECT CheckControlCode AS DataId ,'B3E99BD9-FDC7-4F15-8C3C-A7821AC9E306' AS MenuId ,'质量巡检待处理' AS MenuName ,checkControl.QuestionDef AS Content ,UserId ,users.UserName ,checkControl.CheckDate AS DataTime ,CONVERT(varchar(100),checkControl.CheckDate, 23) AS DataTimeStr ,'../CQMS/Check/ChecklistEdit.aspx?ToDo=ToDo&CheckControlCode='+checkControl.CheckControlCode AS PCUrl FROM Check_CheckControl AS checkControl LEFT JOIN Sys_User AS users ON users.UserId =@userId WHERE checkControl.ProjectId=@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 ,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 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)) ) UNION ALL SELECT GJSXID AS DataId ,'0BEA2126-7A48-40EB-8E21-99148E91A22B' AS MenuId ,'关键事项待关闭' AS MenuName ,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 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 InspectionEquipmentId AS DataId -- ,'6c2c1e5e-1812-4e1c-a683-7125518e28c7' AS MenuId -- ,'设备材料报验待确认' AS MenuName -- ,Equipment.InspectionName AS Content -- ,UserId -- ,users.UserName -- ,Equipment.InspectionDate AS DataTime -- ,CONVERT(varchar(100),Equipment.InspectionDate, 23) AS DataTimeStr -- ,'../CQMS/Comprehensive/InspectionEquipmentEdit.aspx?ToDo=ToDo&InspectionEquipmentId='+Equipment.InspectionEquipmentId AS PCUrl --FROM Comprehensive_InspectionEquipment AS Equipment --LEFT JOIN Sys_User AS users ON users.UserId =@userId --WHERE Equipment.ProjectId=@projectId AND --Equipment.Status!='3' AND Equipment.InspectionEquipmentId IN (select InspectionEquipmentId from Comprehensive_InspectionEquipmentApprove approve where approve.ApproveType!='S' AND approve.ApproveMan=@userId AND approve.ApproveDate IS NULL ) --UNION ALL --SELECT InspectionPersonId AS DataId -- ,'8ed133de-5899-4687-878a-20b1f5280f18' AS MenuId -- ,'人员报验待确认' AS MenuName -- ,Person.PersonName AS Content -- ,UserId -- ,users.UserName -- ,Person.CompileDate AS DataTime -- ,CONVERT(varchar(100),Person.CompileDate, 23) AS DataTimeStr -- ,'../CQMS/Comprehensive/InspectionPersonEdit.aspx?ToDo=ToDo&InspectionPersonId='+Person.InspectionPersonId AS PCUrl --FROM Comprehensive_InspectionPerson AS Person --LEFT JOIN Sys_User AS users ON users.UserId =@userId --WHERE Person.ProjectId=@projectId AND --Person.Status!='3' AND Person.InspectionPersonId IN (select InspectionPersonId from Comprehensive_InspectionPersonApprove approve where approve.ApproveType!='S' AND approve.ApproveMan=@userId AND approve.ApproveDate IS NULL ) --UNION ALL --SELECT InspectionMachineId AS DataId -- ,'aa55fad1-6c51-43f5-8c99-3c6aaae79118' AS MenuId -- ,'机具报验待确认' AS MenuName -- ,Machine.InspectionMachineName AS Content -- ,UserId -- ,users.UserName -- ,Machine.CompileDate AS DataTime -- ,CONVERT(varchar(100),Machine.CompileDate, 23) AS DataTimeStr -- ,'../CQMS/Comprehensive/InspectionMachineEdit.aspx?ToDo=ToDo&InspectionMachineId='+Machine.InspectionMachineId AS PCUrl --FROM Comprehensive_InspectionMachine AS Machine --LEFT JOIN Sys_User AS users ON users.UserId =@userId --WHERE Machine.ProjectId=@projectId AND --Machine.Status!='3' AND Machine.InspectionMachineId IN (select InspectionMachineId from Comprehensive_InspectionMachineApprove approve where approve.ApproveType!='S' AND approve.ApproveMan=@userId AND approve.ApproveDate IS NULL ) UNION ALL SELECT ConstructSolutionId AS DataId ,'91C4BFDB-0A51-4992-99CC-EB4EC185593D' AS MenuId ,'施工方案待处理' AS MenuName ,Solution.SolutionName AS Content ,UserId ,users.UserName ,Solution.CompileDate AS DataTime ,CONVERT(varchar(100),Solution.CompileDate, 23) AS DataTimeStr ,'../CQMS/Solution/EditConstructSolution.aspx?ToDo=ToDo&ConstructSolutionId='+Solution.ConstructSolutionId AS PCUrl FROM Solution_CQMSConstructSolution AS Solution LEFT JOIN Sys_User AS users ON users.UserId =@userId WHERE Solution.ProjectId=@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 ,InspectionManagement.AcceptanceSite AS Content ,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 Sys_User AS users ON users.UserId =@userId WHERE InspectionManagement.ProjectId=@projectId AND dateadd(day,3,InspectionManagement.CompileDate)>getdate() AND InspectionManagement.AcceptanceCheckMan LIKE '%'+@userId+'%' UNION ALL SELECT DCheck.CheckRectifyId AS DataId ,'2E4A3E58-44B7-41B0-BFE3-634DF29AAE27' AS MenuId ,'集团督查检查' AS MenuName ,'('+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 WHERE DCheck.ProjectId = @projectId AND projectUser.ProjectId = @projectId AND DCheck.HandleState = '2' AND projectUser.IsPost=1 UNION ALL SELECT CheckSpecialId AS DataId ,'1B08048F-93ED-4E84-AE65-DB7917EA2DFB' AS MenuId ,'专项检查' AS MenuName ,CheckItemSet.CheckItemName AS Content ,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 Sys_User AS users ON users.UserId =@userId LEFT JOIN Technique_CheckItemSet AS CheckItemSet ON CheckItemSet.CheckItemSetId =CheckSpecial.CheckItemSetId WHERE CheckSpecial.ProjectId=@projectId AND dateadd(day,3,CheckSpecial.CheckTime)>getdate() AND CheckSpecial.PartInPersonIds LIKE '%'+@userId+'%' UNION ALL SELECT CheckColligationId AS DataId ,'C198EBA8-9E23-4654-92E1-09C61105C522' AS MenuId ,'综合检查待处理' AS MenuName ,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 Sys_User AS users ON users.UserId =@userId LEFT JOIN Sys_FlowOperate AS FlowOperate ON CheckColligation.CheckColligationId=FlowOperate.DataId LEFT JOIN Sys_User AS OperateUser ON FlowOperate.OperaterId=OperateUser.UserId WHERE CheckColligation.ProjectId=@projectId AND FlowOperate.IsClosed <> 1 AND FlowOperate.OperaterId=@userId UNION ALL SELECT PatrolPlanId AS DataId ,'D256E5C8-DC76-4F4D-BABE-A253418823F4' AS MenuId ,'风险巡检待处理' AS MenuName ,HazardListItem.HazardItems AS Content ,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 Sys_User AS users ON users.UserId =@userId LEFT JOIN Hazard_HazardSelectedItem AS HazardListItem ON HazardListItem.HazardSelectedItemId=PatrolPlan.HazardSelectedItemId WHERE HazardListItem.ProjectId=@projectId AND dateadd(day,-3,PatrolPlan.LimitCheckDate)=22 AND (select COUNT(*) from JDGL_QuantityCompletion WHERE ProjectId=@projectId AND DATENAME(year,GETDATE())=DATENAME(year,EndDate) AND DATENAME(MONTH,GETDATE())=DATENAME(MONTH,EndDate))=0) --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) UNION ALL SELECT DISTINCT --WeekPlan.WeekPlanId AS DataId '' AS DataId ,'56A54B4B-BBA3-4249-9FFC-3A60DAC79059' AS MenuId ,'进度管理,周进度计划尚未完成' AS MenuName ,'' AS Content ,users.UserId ,users.UserName ,GETDATE() AS DataTime ,CONVERT(varchar(100),GETDATE(), 23) AS DataTimeStr ,'../JDGL/Check/WeekPlanEdit.aspx?ToDo=ToDo&WeekNo='+WeekPlan.WeekNo AS PCUrl FROM JDGL_WeekPlan AS WeekPlan LEFT JOIN Sys_User AS users ON users.UserId =@userId LEFT JOIN Project_ProjectUser AS pu ON pu.UserId=@userId WHERE WeekPlan.ProjectId=@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) UNION ALL SELECT DISTINCT --MonthPlan.MonthPlanId AS DataId '' AS DataId ,'C62F4256-4AC5-44BB-A990-2D330541A968' AS MenuId ,'档案文件已下发,请查收' AS MenuName ,'' AS Content ,users.UserId ,users.UserName ,GETDATE() AS DataTime ,CONVERT(varchar(100),GETDATE(), 23) AS DataTimeStr ,'../CQMS/DesignDrawing/ArchivesLibReceive.aspx' AS PCUrl FROM IDP_DesignDrawingIssue AS DesignDrawingIssue LEFT JOIN Sys_User AS users ON users.UserId =@userId LEFT JOIN Project_ProjectUser AS pu ON pu.UserId=@userId WHERE DesignDrawingIssue.ProjectId=@projectId AND DesignDrawingIssue.ReceiveUserId=@userId AND DesignDrawingIssue.IsSee IS NULL ORDER BY DataTime DESC END GO