CREATE TABLE [dbo].[Emergency_EmergencyProcessItem]( [EmergencyProcessItemId] [nvarchar](50) NOT NULL, [EmergencyProcessId] [nvarchar](50), [SortId] [nvarchar](50) NULL, [Content] [nvarchar](800) NULL, CONSTRAINT [PK_Emergency_EmergencyProcessItem] PRIMARY KEY CLUSTERED ( [EmergencyProcessItemId] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO ALTER TABLE [dbo].[Emergency_EmergencyProcessItem] WITH CHECK ADD CONSTRAINT [FK_Emergency_EmergencyProcessItem_Emergency_EmergencyProcess] FOREIGN KEY([EmergencyProcessId]) REFERENCES [dbo].[Emergency_EmergencyProcess] ([EmergencyProcessId]) GO ALTER TABLE [dbo].[Emergency_EmergencyProcessItem] CHECK CONSTRAINT [FK_Emergency_EmergencyProcessItem_Emergency_EmergencyProcess] GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'序号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Emergency_EmergencyProcessItem', @level2type=N'COLUMN',@level2name=N'SortId' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'内容' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Emergency_EmergencyProcessItem', @level2type=N'COLUMN',@level2name=N'Content' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'应急流程明细表' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Emergency_EmergencyProcessItem' GO --应急流程表-- Alter Table [dbo].[Emergency_EmergencyProcess] Add ProcessTeam nvarchar(500) NULL EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'队列' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Emergency_EmergencyProcess', @level2type=N'COLUMN',@level2name=N'ProcessTeam' GO --处罚单明细表-- Alter Table [dbo].[Check_PunishNoticeItem] Add PunishBasicItem nvarchar(100) NULL go EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'处罚依据' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Check_PunishNoticeItem', @level2type=N'COLUMN',@level2name=N'PunishBasicItem' GO UPDATE Sys_Menu SET SortIndex=50,SuperMenu='5FF7BBD8-3E0A-4C90-8976-AFF5CE7E17A5' WHERE MenuId='49485F7E-8E71-4EED-87B4-BF6CC180C69C' GO UPDATE Sys_Menu SET Url='Personal/PersonCheckInfo.aspx' WHERE MenuId='CB373458-30B0-4850-ABFF-B38D40A04D43' GO INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed) VALUES('7B272C3F-39D2-496D-A87C-E2C89A20E4EF','工程暂停令','HSSE/Check/SafetyAnalysis.aspx',60,'467A0CB9-737D-4451-965E-869EBC3A4BD6','Menu_HSSE',0,1,1) GO CREATE PROC [dbo].[sp_HJGL_WeldingWeekReport] @projectId NVARCHAR(50) = NULL, @unitcode NVARCHAR(50) = NULL, @date1 DATETIME = NULL, @date2 DATETIME = NULL AS /*无损检测周统计报表*/ SELECT welder.WelderCode,-- 焊工代码 -------------本期start ISNULL(nowtotal.nowtotal_jot,0) AS nowtotal_jot, --本期总焊口 ISNULL(oneCheck.OneCheckJotNum,0) AS OneCheckJotNum, -- 一次检测焊口数 (ISNULL(oneCheck.OneCheckJotNum,0)-ISNULL(oneCheckRepair.OneCheckRepairJotNum,0)) AS OneCheckPassJotNum,--一次检测合格焊口数 CONVERT(NVARCHAR(10),(CAST((CASE ISNULL(oneCheck.OneCheckJotNum,0) WHEN 0 THEN 0 ELSE 100.0 * (ISNULL(oneCheck.OneCheckJotNum,0)-ISNULL(oneCheckRepair.oneCheckRepairJotNum,0))/(1.0 * oneCheck.OneCheckJotNum) END) AS DECIMAL(8,1))))+'%' AS passRate, -- 合格率(焊口) ISNULL(oneCheck.OneCheckTotalFilm,0) AS OneCheckTotalFilm, --一次检测总片子数 ISNULL(oneCheck.OneCheckPassFilm,0) AS OneCheckPassFilm, --一次检测合格片子数 CONVERT(NVARCHAR(10),(CAST((CASE ISNULL(oneCheck.OneCheckTotalFilm,0) WHEN 0 THEN 0 ELSE 100.0 * ISNULL(oneCheck.OneCheckPassFilm,0)/(1.0 * oneCheck.OneCheckTotalFilm) END) AS DECIMAL(8,1))))+'%' AS passfilmrate, ---RT合格率(片数) CONVERT(NVARCHAR(10),(CAST((CASE ISNULL(totalCheck.TotalCheckJotNum,0) WHEN 0 THEN 0 ELSE 100.0 * (ISNULL(totalCheck.TotalCheckJotNum,0)-ISNULL(totalCheckRepair.TotalCheckRepairJotNum,0))/(1.0 * totalCheck.TotalCheckJotNum) END) AS DECIMAL(8,1))))+'%' AS ToataPassRate, -- 累计合格率(焊口) CONVERT(NVARCHAR(10),(CAST((CASE ISNULL(totalCheck.TotalCheckTotalFilm,0) WHEN 0 THEN 0 ELSE 100.0 * ISNULL(totalCheck.TotalCheckPassFilm,0)/(1.0 * totalCheck.TotalCheckTotalFilm) END) AS DECIMAL(8,1))))+'%' AS passfilmrate ---累计合格率(片数) FROM SitePerson_Person AS welder LEFT JOIN dbo.Base_Unit unit ON unit.UnitId = welder.UnitId --本期总达因值 --本期总焊口 LEFT JOIN (SELECT COUNT(*) AS nowtotal_jot ,jot.CoverWelderId FROM dbo.HJGL_WeldJoint jot LEFT JOIN dbo.HJGL_Pipeline pipe ON pipe.PipelineId = jot.PipelineId LEFT JOIN dbo.HJGL_WeldingDaily daily ON daily.WeldingDailyId = jot.WeldingDailyId WHERE jot.WeldingDailyId IS NOT NULL AND (daily.WeldingDate >= @date1 OR @date1 IS NULL) AND (daily.WeldingDate <= @date2 OR @date2 IS NULL) GROUP BY jot.CoverWelderId) AS nowtotal ON nowtotal.CoverWelderId = welder.PersonId --本期检测焊口数 LEFT JOIN (SELECT jot.CoverWelderId,COUNT(ndeItem.NDEItemID) AS OneCheckJotNum, --一次检测焊口数 SUM(ISNULL(ndeItem.TotalFilm,0)) AS OneCheckTotalFilm, --一次检测总片子数 SUM(ISNULL(ndeItem.PassFilm,0)) AS OneCheckPassFilm --一次检测合格片子数 FROM dbo.HJGL_Batch_NDEItem ndeItem LEFT JOIN dbo.HJGL_Batch_BatchTrustItem trustItem ON trustItem.TrustBatchItemId = ndeItem.TrustBatchItemId LEFT JOIN dbo.HJGL_WeldJoint jot ON jot.WeldJointId = trustItem.WeldJointId LEFT JOIN dbo.HJGL_WeldingDaily daily ON daily.WeldingDailyId = jot.WeldingDailyId LEFT JOIN dbo.HJGL_Batch_PointBatchItem pointItem ON pointItem.PointBatchItemId = trustItem.PointBatchItemId LEFT JOIN dbo.HJGL_Batch_PointBatch point ON point.PointBatchId = pointItem.PointBatchId WHERE pointItem.PointDate IS NOT NULL AND pointItem.PointState=1 AND trustItem.RepairRecordId IS NULL AND (daily.WeldingDate >= @date1 OR @date1 IS NULL) AND (daily.WeldingDate <= @date2 OR @date2 IS NULL) GROUP BY jot.CoverWelderId) AS oneCheck ON oneCheck.CoverWelderId = welder.PersonId LEFT JOIN (SELECT jot.CoverWelderId,COUNT(ndeItem.NDEItemID) AS OneCheckRepairJotNum --一次检测返修焊口数 FROM dbo.HJGL_Batch_NDEItem ndeItem LEFT JOIN dbo.HJGL_Batch_BatchTrustItem trustItem ON trustItem.TrustBatchItemId = ndeItem.TrustBatchItemId LEFT JOIN dbo.HJGL_WeldJoint jot ON jot.WeldJointId = trustItem.WeldJointId LEFT JOIN dbo.HJGL_WeldingDaily daily ON daily.WeldingDailyId = jot.WeldingDailyId LEFT JOIN dbo.HJGL_Batch_PointBatchItem pointItem ON pointItem.PointBatchItemId = trustItem.PointBatchItemId LEFT JOIN dbo.HJGL_Batch_PointBatch point ON point.PointBatchId = pointItem.PointBatchId WHERE pointItem.PointDate IS NOT NULL AND pointItem.PointState=1 AND trustItem.RepairRecordId IS NULL AND ndeItem.CheckResult='2' AND (daily.WeldingDate >= @date1 OR @date1 IS NULL) AND (daily.WeldingDate <= @date2 OR @date2 IS NULL) GROUP BY jot.CoverWelderId) AS oneCheckRepair ON oneCheckRepair.CoverWelderId = welder.PersonId --总的检测 LEFT JOIN (SELECT jot.CoverWelderId,COUNT(ndeItem.NDEItemID) AS TotalCheckJotNum, --一次检测焊口数 SUM(ISNULL(ndeItem.TotalFilm,0)) AS TotalCheckTotalFilm, --一次检测总片子数 SUM(ISNULL(ndeItem.PassFilm,0)) AS TotalCheckPassFilm --一次检测合格片子数 FROM dbo.HJGL_Batch_NDEItem ndeItem LEFT JOIN dbo.HJGL_Batch_BatchTrustItem trustItem ON trustItem.TrustBatchItemId = ndeItem.TrustBatchItemId LEFT JOIN dbo.HJGL_WeldJoint jot ON jot.WeldJointId = trustItem.WeldJointId LEFT JOIN dbo.HJGL_WeldingDaily daily ON daily.WeldingDailyId = jot.WeldingDailyId LEFT JOIN dbo.HJGL_Batch_PointBatchItem pointItem ON pointItem.PointBatchItemId = trustItem.PointBatchItemId LEFT JOIN dbo.HJGL_Batch_PointBatch point ON point.PointBatchId = pointItem.PointBatchId WHERE pointItem.PointDate IS NOT NULL AND pointItem.PointState=1 AND trustItem.RepairRecordId IS NULL GROUP BY jot.CoverWelderId) AS totalCheck ON totalCheck.CoverWelderId = welder.PersonId LEFT JOIN (SELECT jot.CoverWelderId,COUNT(ndeItem.NDEItemID) AS TotalCheckRepairJotNum --一次检测返修焊口数 FROM dbo.HJGL_Batch_NDEItem ndeItem LEFT JOIN dbo.HJGL_Batch_BatchTrustItem trustItem ON trustItem.TrustBatchItemId = ndeItem.TrustBatchItemId LEFT JOIN dbo.HJGL_WeldJoint jot ON jot.WeldJointId = trustItem.WeldJointId LEFT JOIN dbo.HJGL_WeldingDaily daily ON daily.WeldingDailyId = jot.WeldingDailyId LEFT JOIN dbo.HJGL_Batch_PointBatchItem pointItem ON pointItem.PointBatchItemId = trustItem.PointBatchItemId LEFT JOIN dbo.HJGL_Batch_PointBatch point ON point.PointBatchId = pointItem.PointBatchId WHERE pointItem.PointDate IS NOT NULL AND pointItem.PointState=1 AND trustItem.RepairRecordId IS NULL AND ndeItem.CheckResult='2' GROUP BY jot.CoverWelderId) AS totalCheckRepair ON totalCheckRepair.CoverWelderId = welder.PersonId WHERE (welder.WelderCode IS NOT NULL AND welder.WelderCode!='') AND (welder.ProjectId = @projectId OR @projectId IS NULL) AND (welder.UnitId=@unitcode OR @unitcode IS NULL) AND (welder.WorkPostId='19B8F2A9-28D3-4F20-867A-1B2237C2E228') ORDER BY welder.WelderCode GO CREATE PROC [dbo].[sp_HJGL_NDTMonthReport] @projectId NVARCHAR(50) = NULL, @unitcode NVARCHAR(50) = NULL, @date1 DATETIME = NULL, @date2 DATETIME = NULL AS /*无损检测月报*/ SELECT unit.UnitCode,-- 单位代码 (unitWork.UnitWorkName + (CASE WHEN unitWork.ProjectType='1' THEN '(建筑)' WHEN unitWork.ProjectType='2' THEN '(安装)' ELSE '' END)) AS UnitWorkName, ISNULL(oneCheck.OneCheckTotalFilm,0) AS OneCheckTotalFilm, --一次检测总片子数 (ISNULL(oneCheck.OneCheckTotalFilm,0)-ISNULL(oneCheck.OneCheckPassFilm,0)) AS OneCheckNoPassFilm, --一次检测不合格片子数 CONVERT(NVARCHAR(10),(CAST((CASE ISNULL(oneCheck.OneCheckTotalFilm,0) WHEN 0 THEN 0 ELSE 100.0 * ISNULL(oneCheck.OneCheckPassFilm,0)/(1.0 * oneCheck.OneCheckTotalFilm) END) AS DECIMAL(8,1))))+'%' AS FilmRate, ---片子合格率(片数) ISNULL(totalCheck.TotalCheckTotalFilm,0) AS TotalCheckTotalFilm, --累计一次检测总片子数 (ISNULL(totalCheck.TotalCheckTotalFilm,0)-ISNULL(totalCheck.TotalCheckPassFilm,0)) AS TotalCheckNoPassFilm, --累计检测不合格片子数 CONVERT(NVARCHAR(10),(CAST((CASE ISNULL(totalCheck.TotalCheckTotalFilm,0) WHEN 0 THEN 0 ELSE 100.0 * ISNULL(totalCheck.TotalCheckPassFilm,0)/(1.0 * totalCheck.TotalCheckTotalFilm) END) AS DECIMAL(8,1))))+'%' AS TotalFilmRate, ---累计片子合格率(片数) ISNULL(reCheck.ReCheckTotalFilm,0) AS ReCheckTotalFilm, --一本期复检拍片数 (ISNULL(reCheck.ReCheckTotalFilm,0)-ISNULL(reCheck.ReCheckPassFilm,0)) AS ReCheckNoPassFilm, --一本期复检不合格片子数 CONVERT(NVARCHAR(10),(CAST((CASE ISNULL(reCheck.ReCheckTotalFilm,0) WHEN 0 THEN 0 ELSE 100.0 * ISNULL(reCheck.ReCheckPassFilm,0)/(1.0 * reCheck.ReCheckTotalFilm) END) AS DECIMAL(8,1))))+'%' AS ReFilmRate, ---本期复检合格率 ISNULL(totalReCheck.TotalReCheckTotalFilm,0) AS TotalReCheckTotalFilm, --累计复检总片子数 (ISNULL(totalReCheck.TotalReCheckTotalFilm,0)-ISNULL(totalReCheck.TotalReCheckPassFilm,0)) AS TotalReCheckNoPassFilm, --累计复检不合格片子数 CONVERT(NVARCHAR(10),(CAST((CASE ISNULL(totalReCheck.TotalReCheckTotalFilm,0) WHEN 0 THEN 0 ELSE 100.0 * ISNULL(totalReCheck.TotalReCheckPassFilm,0)/(1.0 * totalReCheck.TotalReCheckTotalFilm) END) AS DECIMAL(8,1))))+'%' AS TotalReFilmRate ---总的复检合格率 FROM dbo.WBS_UnitWork AS unitWork LEFT JOIN dbo.Base_Unit unit ON unit.UnitId = unitWork.UnitId --本期检测焊口数 LEFT JOIN (SELECT point.UnitWorkId, SUM(ISNULL(ndeItem.TotalFilm,0)) AS OneCheckTotalFilm, --一次检测总片子数 SUM(ISNULL(ndeItem.PassFilm,0)) AS OneCheckPassFilm --一次检测合格片子数 FROM dbo.HJGL_Batch_NDEItem ndeItem LEFT JOIN dbo.HJGL_Batch_BatchTrustItem trustItem ON trustItem.TrustBatchItemId = ndeItem.TrustBatchItemId LEFT JOIN dbo.HJGL_WeldJoint jot ON jot.WeldJointId = trustItem.WeldJointId LEFT JOIN dbo.HJGL_WeldingDaily daily ON daily.WeldingDailyId = jot.WeldingDailyId LEFT JOIN dbo.HJGL_Batch_PointBatchItem pointItem ON pointItem.PointBatchItemId = trustItem.PointBatchItemId LEFT JOIN dbo.HJGL_Batch_PointBatch point ON point.PointBatchId = pointItem.PointBatchId WHERE pointItem.PointDate IS NOT NULL AND pointItem.PointState=1 AND trustItem.RepairRecordId IS NULL AND (daily.WeldingDate >= @date1 OR @date1 IS NULL) AND (daily.WeldingDate <= @date2 OR @date2 IS NULL) GROUP BY point.UnitWorkId) AS oneCheck ON oneCheck.UnitWorkId=unitWork.UnitWorkId --总的检测 LEFT JOIN (SELECT point.UnitWorkId, SUM(ISNULL(ndeItem.TotalFilm,0)) AS TotalCheckTotalFilm, --一次检测总片子数 SUM(ISNULL(ndeItem.PassFilm,0)) AS TotalCheckPassFilm --一次检测合格片子数 FROM dbo.HJGL_Batch_NDEItem ndeItem LEFT JOIN dbo.HJGL_Batch_BatchTrustItem trustItem ON trustItem.TrustBatchItemId = ndeItem.TrustBatchItemId LEFT JOIN dbo.HJGL_WeldJoint jot ON jot.WeldJointId = trustItem.WeldJointId LEFT JOIN dbo.HJGL_WeldingDaily daily ON daily.WeldingDailyId = jot.WeldingDailyId LEFT JOIN dbo.HJGL_Batch_PointBatchItem pointItem ON pointItem.PointBatchItemId = trustItem.PointBatchItemId LEFT JOIN dbo.HJGL_Batch_PointBatch point ON point.PointBatchId = pointItem.PointBatchId WHERE pointItem.PointDate IS NOT NULL AND pointItem.PointState=1 AND trustItem.RepairRecordId IS NULL GROUP BY point.UnitWorkId) AS totalCheck ON totalCheck.UnitWorkId =unitWork.UnitWorkId --------------------------------------------------- --本期复检焊口数 LEFT JOIN (SELECT point.UnitWorkId, SUM(ISNULL(ndeItem.TotalFilm,0)) AS ReCheckTotalFilm, --本期复检总片子数 SUM(ISNULL(ndeItem.PassFilm,0)) AS ReCheckPassFilm --本期复检合格片子数 FROM dbo.HJGL_Batch_NDEItem ndeItem LEFT JOIN dbo.HJGL_Batch_BatchTrustItem trustItem ON trustItem.TrustBatchItemId = ndeItem.TrustBatchItemId LEFT JOIN dbo.HJGL_WeldJoint jot ON jot.WeldJointId = trustItem.WeldJointId LEFT JOIN dbo.HJGL_WeldingDaily daily ON daily.WeldingDailyId = jot.WeldingDailyId LEFT JOIN dbo.HJGL_Batch_PointBatchItem pointItem ON pointItem.PointBatchItemId = trustItem.PointBatchItemId LEFT JOIN dbo.HJGL_Batch_PointBatch point ON point.PointBatchId = pointItem.PointBatchId WHERE trustItem.RepairRecordId IS NOT NULL AND (daily.WeldingDate >= @date1 OR @date1 IS NULL) AND (daily.WeldingDate <= @date2 OR @date2 IS NULL) GROUP BY point.UnitWorkId) AS reCheck ON reCheck.UnitWorkId=unitWork.UnitWorkId --总的复检 LEFT JOIN (SELECT point.UnitWorkId, SUM(ISNULL(ndeItem.TotalFilm,0)) AS TotalReCheckTotalFilm, --一次检测总片子数 SUM(ISNULL(ndeItem.PassFilm,0)) AS TotalReCheckPassFilm --一次检测合格片子数 FROM dbo.HJGL_Batch_NDEItem ndeItem LEFT JOIN dbo.HJGL_Batch_BatchTrustItem trustItem ON trustItem.TrustBatchItemId = ndeItem.TrustBatchItemId LEFT JOIN dbo.HJGL_WeldJoint jot ON jot.WeldJointId = trustItem.WeldJointId LEFT JOIN dbo.HJGL_WeldingDaily daily ON daily.WeldingDailyId = jot.WeldingDailyId LEFT JOIN dbo.HJGL_Batch_PointBatchItem pointItem ON pointItem.PointBatchItemId = trustItem.PointBatchItemId LEFT JOIN dbo.HJGL_Batch_PointBatch point ON point.PointBatchId = pointItem.PointBatchId WHERE trustItem.RepairRecordId IS NOT NULL GROUP BY point.UnitWorkId) AS totalReCheck ON totalReCheck.UnitWorkId =unitWork.UnitWorkId WHERE (unitWork.ProjectId = @projectId OR @projectId IS NULL) ORDER BY unitWork.UnitWorkCode GO ALTER TABLE SitePerson_PersonInOut ADD WorkPostId NVARCHAR(50) NULL GO ALTER TABLE SitePerson_PersonInOut ADD PostType NCHAR(1) NULL GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'岗位ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SitePerson_PersonInOut', @level2type=N'COLUMN',@level2name=N'WorkPostId' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'岗位类型' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SitePerson_PersonInOut', @level2type=N'COLUMN',@level2name=N'PostType' GO CREATE NONCLUSTERED INDEX [SitePerson_PersonInOut_PostType] ON [dbo].[SitePerson_PersonInOut] ( [PostType] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] GO UPDATE SitePerson_PersonInOut SET WorkPostId=(SELECT WorkPostId FROM SitePerson_Person WHERE SitePerson_PersonInOut.PersonId=PersonId) GO UPDATE SitePerson_PersonInOut SET PostType=(SELECT PostType FROM Base_WorkPost WHERE SitePerson_PersonInOut.WorkPostId=WorkPostId) GO