SourceCode/PROMS/SQL/2_Approval_CSLAProcs.sql.bak

1190 lines
31 KiB
MySQL

/****** Object: StoredProcedure [purgeData] ******/
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[purgeData]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE [purgeData];
GO
CREATE PROCEDURE [dbo].[purgeData]
WITH EXECUTE AS OWNER
AS
BEGIN TRY -- Try Block
BEGIN TRANSACTION
delete from [Checks]
dbcc checkident([Checks],reseed,0)
delete from [Versions]
dbcc checkident([Versions],reseed,0)
delete from [Revisions]
dbcc checkident([Revisions],reseed,0)
delete from [Stages]
dbcc checkident([Stages],reseed,0)
IF( @@TRANCOUNT > 0 ) COMMIT
END TRY
BEGIN CATCH -- Catch Block
IF( @@TRANCOUNT = 1 ) ROLLBACK -- Only rollback if top level
ELSE IF( @@TRANCOUNT > 1 ) COMMIT -- Otherwise commit. Top level will rollback
EXEC vlnErrorHandler
END CATCH
GO
-- Display the status of Proc creation
IF (@@Error = 0) PRINT 'Procedure Creation: purgeData Succeeded'
ELSE PRINT 'Procedure Creation: purgeData Error on Creation'
GO
/****** Object: StoredProcedure [getChecks] ******/
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[getChecks]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE [getChecks];
GO
CREATE PROCEDURE [dbo].[getChecks]
WITH EXECUTE AS OWNER
AS
SELECT
[CheckID],
[RevisionID],
[StageID],
[ConsistencyChecks]
FROM [Checks]
RETURN
GO
-- Display the status of Proc creation
IF (@@Error = 0) PRINT 'Procedure Creation: getChecks Succeeded'
ELSE PRINT 'Procedure Creation: getChecks Error on Creation'
GO
/****** Object: StoredProcedure [updateCheck] ******/
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[updateCheck]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE [updateCheck];
GO
CREATE PROCEDURE [dbo].[updateCheck]
(
@CheckID int,
@RevisionID int,
@StageID int,
@ConsistencyChecks xml=null
)
WITH EXECUTE AS OWNER
AS
BEGIN TRY -- Try Block
BEGIN TRANSACTION
UPDATE [Checks]
SET
[RevisionID]=@RevisionID,
[StageID]=@StageID,
[ConsistencyChecks]=@ConsistencyChecks
WHERE [CheckID]=@CheckID
IF @@ROWCOUNT = 0
BEGIN
IF NOT exists(select * from [Checks] WHERE [CheckID]=@CheckID)
RAISERROR('Check record has been deleted by another user', 16, 1)
ELSE
RAISERROR('Check has been edited by another user', 16, 1)
END
IF( @@TRANCOUNT > 0 ) COMMIT
END TRY
BEGIN CATCH -- Catch Block
IF( @@TRANCOUNT = 1 ) ROLLBACK -- Only rollback if top level
ELSE IF( @@TRANCOUNT > 1 ) COMMIT -- Otherwise commit. Top level will rollback
EXEC vlnErrorHandler
END CATCH
GO
-- Display the status of Proc creation
IF (@@Error = 0) PRINT 'Procedure Creation: updateCheck Succeeded'
ELSE PRINT 'Procedure Creation: updateCheck Error on Creation'
GO
/****** Object: StoredProcedure [addCheck] ******/
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[addCheck]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE [addCheck];
GO
CREATE PROCEDURE [dbo].[addCheck]
(
@RevisionID int,
@StageID int,
@ConsistencyChecks xml=null,
@newCheckID int output
)
WITH EXECUTE AS OWNER
AS
BEGIN TRY -- Try Block
BEGIN TRANSACTION
INSERT INTO [Checks]
(
[RevisionID],
[StageID],
[ConsistencyChecks]
)
VALUES
(
@RevisionID,
@StageID,
@ConsistencyChecks
)
SELECT @newCheckID= SCOPE_IDENTITY()
IF( @@TRANCOUNT > 0 ) COMMIT
END TRY
BEGIN CATCH -- Catch Block
IF( @@TRANCOUNT = 1 ) ROLLBACK -- Only rollback if top level
ELSE IF( @@TRANCOUNT > 1 ) COMMIT -- Otherwise commit. Top level will rollback
EXEC vlnErrorHandler
END CATCH
GO
-- Display the status of Proc creation
IF (@@Error = 0) PRINT 'Procedure Creation: addCheck Succeeded'
ELSE PRINT 'Procedure Creation: addCheck Error on Creation'
GO
/****** Object: StoredProcedure [deleteCheck] ******/
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[deleteCheck]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE [deleteCheck];
GO
CREATE PROCEDURE [dbo].[deleteCheck]
(
@CheckID int
)
WITH EXECUTE AS OWNER
AS
BEGIN TRY -- Try Block
BEGIN TRANSACTION
DELETE [Checks]
WHERE [CheckID] = @CheckID
IF( @@TRANCOUNT > 0 ) COMMIT
END TRY
BEGIN CATCH -- Catch Block
IF( @@TRANCOUNT = 1 ) ROLLBACK -- Only rollback if top level
ELSE IF( @@TRANCOUNT > 1 ) COMMIT -- Otherwise commit. Top level will rollback
EXEC vlnErrorHandler
END CATCH
GO
-- Display the status of Proc creation
IF (@@Error = 0) PRINT 'Procedure Creation: deleteCheck Succeeded'
ELSE PRINT 'Procedure Creation: deleteCheck Error on Creation'
GO
/****** Object: StoredProcedure [getCheck] ******/
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[getCheck]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE [getCheck];
GO
CREATE PROCEDURE [dbo].[getCheck]
(
@CheckID int
)
WITH EXECUTE AS OWNER
AS
SELECT
[CheckID],
[RevisionID],
[StageID],
[ConsistencyChecks]
FROM [Checks]
WHERE [CheckID]=@CheckID
RETURN
GO
-- Display the status of Proc creation
IF (@@Error = 0) PRINT 'Procedure Creation: getCheck Succeeded'
ELSE PRINT 'Procedure Creation: getCheck Error on Creation'
GO
/****** Object: StoredProcedure [existsCheck] ******/
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[existsCheck]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE [existsCheck];
GO
CREATE PROCEDURE [dbo].[existsCheck]
(
@CheckID int
)
WITH EXECUTE AS OWNER
AS
SELECT COUNT(*)
FROM [Checks] WHERE [CheckID]=@CheckID
RETURN
GO
-- Display the status of Proc creation
IF (@@Error = 0) PRINT 'Procedure Creation: existsCheck Succeeded'
ELSE PRINT 'Procedure Creation: existsCheck Error on Creation'
GO
/****** Object: StoredProcedure [getChecksByRevisionID] ******/
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[getChecksByRevisionID]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE [getChecksByRevisionID];
GO
CREATE PROCEDURE [dbo].[getChecksByRevisionID]
(
@RevisionID int
)
WITH EXECUTE AS OWNER
AS
SELECT
[Checks].[CheckID],
[Checks].[RevisionID],
[Checks].[StageID],
[Checks].[ConsistencyChecks],
[Stages].[Name] [Stage_Name],
[Stages].[Description] [Stage_Description],
[Stages].[IsApproved] [Stage_IsApproved],
[Stages].[DTS] [Stage_DTS],
[Stages].[UserID] [Stage_UserID]
FROM [Checks]
JOIN [Stages] ON
[Stages].[StageID]=[Checks].[StageID]
WHERE
[Checks].[RevisionID]=@RevisionID
RETURN
GO
-- Display the status of Proc creation
IF (@@Error = 0) PRINT 'Procedure Creation: getChecksByRevisionID Succeeded'
ELSE PRINT 'Procedure Creation: getChecksByRevisionID Error on Creation'
GO
/****** Object: StoredProcedure [getChecksByStageID] ******/
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[getChecksByStageID]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE [getChecksByStageID];
GO
CREATE PROCEDURE [dbo].[getChecksByStageID]
(
@StageID int
)
WITH EXECUTE AS OWNER
AS
SELECT
[Checks].[CheckID],
[Checks].[RevisionID],
[Checks].[StageID],
[Checks].[ConsistencyChecks],
[Revisions].[ItemID] [Revision_ItemID],
[Revisions].[TypeID] [Revision_TypeID],
[Revisions].[RevisionNumber] [Revision_RevisionNumber],
[Revisions].[RevisionDate] [Revision_RevisionDate],
[Revisions].[Notes] [Revision_Notes],
[Revisions].[Config] [Revision_Config]
FROM [Checks]
JOIN [Revisions] ON
[Revisions].[RevisionID]=[Checks].[RevisionID]
WHERE
[Checks].[StageID]=@StageID
RETURN
GO
-- Display the status of Proc creation
IF (@@Error = 0) PRINT 'Procedure Creation: getChecksByStageID Succeeded'
ELSE PRINT 'Procedure Creation: getChecksByStageID Error on Creation'
GO
/****** Object: StoredProcedure [getRevisions] ******/
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[getRevisions]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE [getRevisions];
GO
CREATE PROCEDURE [dbo].[getRevisions]
WITH EXECUTE AS OWNER
AS
SELECT
[RevisionID],
[ItemID],
[TypeID],
[RevisionNumber],
[RevisionDate],
[Notes],
[Config],
(SELECT COUNT(*) FROM [Checks] WHERE [Checks].[RevisionID]=[Revisions].[RevisionID]) [CheckCount],
(SELECT COUNT(*) FROM [Versions] WHERE [Versions].[RevisionID]=[Revisions].[RevisionID]) [VersionCount]
FROM [Revisions]
RETURN
GO
-- Display the status of Proc creation
IF (@@Error = 0) PRINT 'Procedure Creation: getRevisions Succeeded'
ELSE PRINT 'Procedure Creation: getRevisions Error on Creation'
GO
/****** Object: StoredProcedure [getRevisionsByItemID] ******/
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[getRevisionsByItemID]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE [getRevisionsByItemID];
GO
CREATE PROCEDURE [dbo].[getRevisionsByItemID]
(
@ItemID int
)
WITH EXECUTE AS OWNER
AS
SELECT
[RevisionID],
[ItemID],
[TypeID],
[RevisionNumber],
[RevisionDate],
[Notes],
[Config],
(SELECT COUNT(*) FROM [Checks] WHERE [Checks].[RevisionID]=[Revisions].[RevisionID]) [CheckCount],
(SELECT COUNT(*) FROM [Versions] WHERE [Versions].[RevisionID]=[Revisions].[RevisionID]) [VersionCount]
FROM [Revisions]
WHERE [ItemID] = @ItemID
ORDER BY [RevisionID] DESC
RETURN
GO
-- Display the status of Proc creation
IF (@@Error = 0) PRINT 'Procedure Creation: getRevisionsByItemID Succeeded'
ELSE PRINT 'Procedure Creation: getRevisionsByItemID Error on Creation'
GO
/****** Object: StoredProcedure [updateRevision] ******/
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[updateRevision]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE [updateRevision];
GO
CREATE PROCEDURE [dbo].[updateRevision]
(
@RevisionID int,
@ItemID int,
@TypeID int,
@RevisionNumber nvarchar(50)=null,
@RevisionDate datetime=null,
@Notes nvarchar(MAX)=null,
@Config xml=null
)
WITH EXECUTE AS OWNER
AS
BEGIN TRY -- Try Block
BEGIN TRANSACTION
UPDATE [Revisions]
SET
[ItemID]=@ItemID,
[TypeID]=@TypeID,
[RevisionNumber]=@RevisionNumber,
[RevisionDate]=@RevisionDate,
[Notes]=@Notes,
[Config]=@Config
WHERE [RevisionID]=@RevisionID
IF @@ROWCOUNT = 0
BEGIN
IF NOT exists(select * from [Revisions] WHERE [RevisionID]=@RevisionID)
RAISERROR('Revision record has been deleted by another user', 16, 1)
ELSE
RAISERROR('Revision has been edited by another user', 16, 1)
END
IF( @@TRANCOUNT > 0 ) COMMIT
END TRY
BEGIN CATCH -- Catch Block
IF( @@TRANCOUNT = 1 ) ROLLBACK -- Only rollback if top level
ELSE IF( @@TRANCOUNT > 1 ) COMMIT -- Otherwise commit. Top level will rollback
EXEC vlnErrorHandler
END CATCH
GO
-- Display the status of Proc creation
IF (@@Error = 0) PRINT 'Procedure Creation: updateRevision Succeeded'
ELSE PRINT 'Procedure Creation: updateRevision Error on Creation'
GO
/****** Object: StoredProcedure [addRevision] ******/
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[addRevision]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE [addRevision];
GO
CREATE PROCEDURE [dbo].[addRevision]
(
@ItemID int,
@TypeID int,
@RevisionNumber nvarchar(50)=null,
@RevisionDate datetime=null,
@Notes nvarchar(MAX)=null,
@Config xml=null,
@newRevisionID int output
)
WITH EXECUTE AS OWNER
AS
BEGIN TRY -- Try Block
BEGIN TRANSACTION
INSERT INTO [Revisions]
(
[ItemID],
[TypeID],
[RevisionNumber],
[RevisionDate],
[Notes],
[Config]
)
VALUES
(
@ItemID,
@TypeID,
@RevisionNumber,
@RevisionDate,
@Notes,
@Config
)
SELECT @newRevisionID= SCOPE_IDENTITY()
IF( @@TRANCOUNT > 0 ) COMMIT
END TRY
BEGIN CATCH -- Catch Block
IF( @@TRANCOUNT = 1 ) ROLLBACK -- Only rollback if top level
ELSE IF( @@TRANCOUNT > 1 ) COMMIT -- Otherwise commit. Top level will rollback
EXEC vlnErrorHandler
END CATCH
GO
-- Display the status of Proc creation
IF (@@Error = 0) PRINT 'Procedure Creation: addRevision Succeeded'
ELSE PRINT 'Procedure Creation: addRevision Error on Creation'
GO
/****** Object: StoredProcedure [deleteRevision] ******/
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[deleteRevision]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE [deleteRevision];
GO
CREATE PROCEDURE [dbo].[deleteRevision]
(
@RevisionID int
)
WITH EXECUTE AS OWNER
AS
BEGIN TRY -- Try Block
BEGIN TRANSACTION
DELETE [Checks]
WHERE [RevisionID]=@RevisionID
DELETE [Versions]
WHERE [RevisionID]=@RevisionID
DELETE [Revisions]
WHERE [RevisionID] = @RevisionID
IF( @@TRANCOUNT > 0 ) COMMIT
END TRY
BEGIN CATCH -- Catch Block
IF( @@TRANCOUNT = 1 ) ROLLBACK -- Only rollback if top level
ELSE IF( @@TRANCOUNT > 1 ) COMMIT -- Otherwise commit. Top level will rollback
EXEC vlnErrorHandler
END CATCH
GO
-- Display the status of Proc creation
IF (@@Error = 0) PRINT 'Procedure Creation: deleteRevision Succeeded'
ELSE PRINT 'Procedure Creation: deleteRevision Error on Creation'
GO
/****** Object: StoredProcedure [getRevisionByItemIDandRevisionNumber] ******/
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[getRevisionByItemIDandRevisionNumber]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE [getRevisionByItemIDandRevisionNumber];
GO
CREATE PROCEDURE [dbo].[getRevisionByItemIDandRevisionNumber]
(
@ItemID int,
@RevisionNumber nvarchar(50)
)
WITH EXECUTE AS OWNER
AS
declare @RevisionID int
set @RevisionID = (select revisionid from revisions where itemid = @itemid and revisionnumber = @RevisionNumber)
SELECT
[RevisionID],
[ItemID],
[TypeID],
[RevisionNumber],
[RevisionDate],
[Notes],
[Config],
(SELECT COUNT(*) FROM [Checks] WHERE [Checks].[RevisionID]=[Revisions].[RevisionID]) [CheckCount],
(SELECT COUNT(*) FROM [Versions] WHERE [Versions].[RevisionID]=[Revisions].[RevisionID]) [VersionCount]
FROM [Revisions]
WHERE [RevisionID]=@RevisionID
SELECT
[Checks].[CheckID],
[Checks].[RevisionID],
[Checks].[StageID],
[Checks].[ConsistencyChecks],
[Stages].[Name] [Stage_Name],
[Stages].[Description] [Stage_Description],
[Stages].[IsApproved] [Stage_IsApproved],
[Stages].[DTS] [Stage_DTS],
[Stages].[UserID] [Stage_UserID]
FROM [Checks]
JOIN [Stages] ON
[Stages].[StageID]=[Checks].[StageID]
WHERE
[Checks].[RevisionID]=@RevisionID
SELECT
[Versions].[VersionID],
[Versions].[RevisionID],
[Versions].[StageID],
[Versions].[DTS],
[Versions].[UserID],
[Versions].[PDF],
[Versions].[SummaryPDF],
[Stages].[Name] [Stage_Name],
[Stages].[Description] [Stage_Description],
[Stages].[IsApproved] [Stage_IsApproved],
[Stages].[DTS] [Stage_DTS],
[Stages].[UserID] [Stage_UserID]
FROM [Versions]
JOIN [Stages] ON
[Stages].[StageID]=[Versions].[StageID]
WHERE
[Versions].[RevisionID]=@RevisionID
RETURN
GO
-- Display the status of Proc creation
IF (@@Error = 0) PRINT 'Procedure Creation: getRevisionByItemIDandRevisionNumber Succeeded'
ELSE PRINT 'Procedure Creation: getRevisionByItemIDandRevisionNumber Error on Creation'
GO
/****** Object: StoredProcedure [getRevision] ******/
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[getRevision]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE [getRevision];
GO
CREATE PROCEDURE [dbo].[getRevision]
(
@RevisionID int
)
WITH EXECUTE AS OWNER
AS
SELECT
[RevisionID],
[ItemID],
[TypeID],
[RevisionNumber],
[RevisionDate],
[Notes],
[Config],
(SELECT COUNT(*) FROM [Checks] WHERE [Checks].[RevisionID]=[Revisions].[RevisionID]) [CheckCount],
(SELECT COUNT(*) FROM [Versions] WHERE [Versions].[RevisionID]=[Revisions].[RevisionID]) [VersionCount]
FROM [Revisions]
WHERE [RevisionID]=@RevisionID
SELECT
[Checks].[CheckID],
[Checks].[RevisionID],
[Checks].[StageID],
[Checks].[ConsistencyChecks],
[Stages].[Name] [Stage_Name],
[Stages].[Description] [Stage_Description],
[Stages].[IsApproved] [Stage_IsApproved],
[Stages].[DTS] [Stage_DTS],
[Stages].[UserID] [Stage_UserID]
FROM [Checks]
JOIN [Stages] ON
[Stages].[StageID]=[Checks].[StageID]
WHERE
[Checks].[RevisionID]=@RevisionID
SELECT
[Versions].[VersionID],
[Versions].[RevisionID],
[Versions].[StageID],
[Versions].[DTS],
[Versions].[UserID],
[Versions].[PDF],
[Versions].[SummaryPDF],
[Stages].[Name] [Stage_Name],
[Stages].[Description] [Stage_Description],
[Stages].[IsApproved] [Stage_IsApproved],
[Stages].[DTS] [Stage_DTS],
[Stages].[UserID] [Stage_UserID]
FROM [Versions]
JOIN [Stages] ON
[Stages].[StageID]=[Versions].[StageID]
WHERE
[Versions].[RevisionID]=@RevisionID
RETURN
GO
-- Display the status of Proc creation
IF (@@Error = 0) PRINT 'Procedure Creation: getRevision Succeeded'
ELSE PRINT 'Procedure Creation: getRevision Error on Creation'
GO
/****** Object: StoredProcedure [existsRevision] ******/
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[existsRevision]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE [existsRevision];
GO
CREATE PROCEDURE [dbo].[existsRevision]
(
@RevisionID int
)
WITH EXECUTE AS OWNER
AS
SELECT COUNT(*)
FROM [Revisions] WHERE [RevisionID]=@RevisionID
RETURN
GO
-- Display the status of Proc creation
IF (@@Error = 0) PRINT 'Procedure Creation: existsRevision Succeeded'
ELSE PRINT 'Procedure Creation: existsRevision Error on Creation'
GO
/****** Object: StoredProcedure [getStages] ******/
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[getStages]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE [getStages];
GO
/****** Object: StoredProcedure [getStages] ******/
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[getStages]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE [getStages];
GO
CREATE PROCEDURE [dbo].[getStages]
WITH EXECUTE AS OWNER
AS
SELECT
[StageID],
[Name],
[Description],
[IsApproved],
[DTS],
[UserID],
[LastChanged],
(SELECT COUNT(*) FROM [Checks] WHERE [Checks].[StageID]=[Stages].[StageID]) [CheckCount],
(SELECT COUNT(*) FROM [Versions] WHERE [Versions].[StageID]=[Stages].[StageID]) [VersionCount]
FROM [Stages]
RETURN
GO
-- Display the status of Proc creation
IF (@@Error = 0) PRINT 'Procedure Creation: getStages Succeeded'
ELSE PRINT 'Procedure Creation: getStages Error on Creation'
GO
/****** Object: StoredProcedure [updateStage] ******/
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[updateStage]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE [updateStage];
GO
CREATE PROCEDURE [dbo].[updateStage]
(
@StageID int,
@Name nvarchar(50),
@Description nvarchar(200)=null,
@IsApproved int,
@DTS datetime,
@UserID nvarchar(100),
@LastChanged timestamp,
@newLastChanged timestamp output
)
WITH EXECUTE AS OWNER
AS
BEGIN TRY -- Try Block
BEGIN TRANSACTION
UPDATE [Stages]
SET
[Name]=@Name,
[Description]=@Description,
[IsApproved]=@IsApproved,
[DTS]=@DTS,
[UserID]=@UserID
WHERE [StageID]=@StageID AND [LastChanged]=@LastChanged
IF @@ROWCOUNT = 0
BEGIN
IF NOT exists(select * from [Stages] WHERE [StageID]=@StageID)
RAISERROR('Stage record has been deleted by another user', 16, 1)
ELSE
RAISERROR('Stage has been edited by another user', 16, 1)
END
SELECT @newLastChanged=[LastChanged]
FROM [Stages] WHERE [StageID]=@StageID
IF( @@TRANCOUNT > 0 ) COMMIT
END TRY
BEGIN CATCH -- Catch Block
IF( @@TRANCOUNT = 1 ) ROLLBACK -- Only rollback if top level
ELSE IF( @@TRANCOUNT > 1 ) COMMIT -- Otherwise commit. Top level will rollback
EXEC vlnErrorHandler
END CATCH
GO
-- Display the status of Proc creation
IF (@@Error = 0) PRINT 'Procedure Creation: updateStage Succeeded'
ELSE PRINT 'Procedure Creation: updateStage Error on Creation'
GO
/****** Object: StoredProcedure [addStage] ******/
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[addStage]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE [addStage];
GO
CREATE PROCEDURE [dbo].[addStage]
(
@Name nvarchar(50),
@Description nvarchar(200)=null,
@IsApproved int,
@DTS datetime,
@UserID nvarchar(100),
@newStageID int output,
@newLastChanged timestamp output
)
WITH EXECUTE AS OWNER
AS
BEGIN TRY -- Try Block
BEGIN TRANSACTION
INSERT INTO [Stages]
(
[Name],
[Description],
[IsApproved],
[DTS],
[UserID]
)
VALUES
(
@Name,
@Description,
@IsApproved,
@DTS,
@UserID
)
SELECT @newStageID= SCOPE_IDENTITY()
SELECT @newLastChanged=[LastChanged]
FROM [Stages] WHERE [StageID]=@newStageID
IF( @@TRANCOUNT > 0 ) COMMIT
END TRY
BEGIN CATCH -- Catch Block
IF( @@TRANCOUNT = 1 ) ROLLBACK -- Only rollback if top level
ELSE IF( @@TRANCOUNT > 1 ) COMMIT -- Otherwise commit. Top level will rollback
EXEC vlnErrorHandler
END CATCH
GO
-- Display the status of Proc creation
IF (@@Error = 0) PRINT 'Procedure Creation: addStage Succeeded'
ELSE PRINT 'Procedure Creation: addStage Error on Creation'
GO
/****** Object: StoredProcedure [deleteStage] ******/
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[deleteStage]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE [deleteStage];
GO
CREATE PROCEDURE [dbo].[deleteStage]
(
@StageID int
)
WITH EXECUTE AS OWNER
AS
BEGIN TRY -- Try Block
BEGIN TRANSACTION
DELETE [Checks]
WHERE [StageID]=@StageID
DELETE [Versions]
WHERE [StageID]=@StageID
DELETE [Stages]
WHERE [StageID] = @StageID
IF( @@TRANCOUNT > 0 ) COMMIT
END TRY
BEGIN CATCH -- Catch Block
IF( @@TRANCOUNT = 1 ) ROLLBACK -- Only rollback if top level
ELSE IF( @@TRANCOUNT > 1 ) COMMIT -- Otherwise commit. Top level will rollback
EXEC vlnErrorHandler
END CATCH
GO
-- Display the status of Proc creation
IF (@@Error = 0) PRINT 'Procedure Creation: deleteStage Succeeded'
ELSE PRINT 'Procedure Creation: deleteStage Error on Creation'
GO
/****** Object: StoredProcedure [getStage] ******/
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[getStage]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE [getStage];
GO
CREATE PROCEDURE [dbo].[getStage]
(
@StageID int
)
WITH EXECUTE AS OWNER
AS
SELECT
[StageID],
[Name],
[Description],
[IsApproved],
[DTS],
[UserID],
[LastChanged],
(SELECT COUNT(*) FROM [Checks] WHERE [Checks].[StageID]=[Stages].[StageID]) [CheckCount],
(SELECT COUNT(*) FROM [Versions] WHERE [Versions].[StageID]=[Stages].[StageID]) [VersionCount]
FROM [Stages]
WHERE [StageID]=@StageID
SELECT
[Checks].[CheckID],
[Checks].[RevisionID],
[Checks].[StageID],
[Checks].[ConsistencyChecks],
[Revisions].[ItemID] [Revision_ItemID],
[Revisions].[TypeID] [Revision_TypeID],
[Revisions].[RevisionNumber] [Revision_RevisionNumber],
[Revisions].[RevisionDate] [Revision_RevisionDate],
[Revisions].[Notes] [Revision_Notes],
[Revisions].[Config] [Revision_Config]
FROM [Checks]
JOIN [Revisions] ON
[Revisions].[RevisionID]=[Checks].[RevisionID]
WHERE
[Checks].[StageID]=@StageID
SELECT
[Versions].[VersionID],
[Versions].[RevisionID],
[Versions].[StageID],
[Versions].[DTS],
[Versions].[UserID],
[Versions].[PDF],
[Versions].[SummaryPDF],
[Revisions].[ItemID] [Revision_ItemID],
[Revisions].[TypeID] [Revision_TypeID],
[Revisions].[RevisionNumber] [Revision_RevisionNumber],
[Revisions].[RevisionDate] [Revision_RevisionDate],
[Revisions].[Notes] [Revision_Notes],
[Revisions].[Config] [Revision_Config]
FROM [Versions]
JOIN [Revisions] ON
[Revisions].[RevisionID]=[Versions].[RevisionID]
WHERE
[Versions].[StageID]=@StageID
RETURN
GO
-- Display the status of Proc creation
IF (@@Error = 0) PRINT 'Procedure Creation: getStage Succeeded'
ELSE PRINT 'Procedure Creation: getStage Error on Creation'
GO
/****** Object: StoredProcedure [existsStage] ******/
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[existsStage]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE [existsStage];
GO
CREATE PROCEDURE [dbo].[existsStage]
(
@StageID int
)
WITH EXECUTE AS OWNER
AS
SELECT COUNT(*)
FROM [Stages] WHERE [StageID]=@StageID
RETURN
GO
-- Display the status of Proc creation
IF (@@Error = 0) PRINT 'Procedure Creation: existsStage Succeeded'
ELSE PRINT 'Procedure Creation: existsStage Error on Creation'
GO
/****** Object: StoredProcedure [getVersions] ******/
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[getVersions]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE [getVersions];
GO
CREATE PROCEDURE [dbo].[getVersions]
WITH EXECUTE AS OWNER
AS
SELECT
[VersionID],
[RevisionID],
[StageID],
[DTS],
[UserID],
[PDF],
[SummaryPDF]
FROM [Versions]
RETURN
GO
-- Display the status of Proc creation
IF (@@Error = 0) PRINT 'Procedure Creation: getVersions Succeeded'
ELSE PRINT 'Procedure Creation: getVersions Error on Creation'
GO
/****** Object: StoredProcedure [updateVersion] ******/
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[updateVersion]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE [updateVersion];
GO
CREATE PROCEDURE [dbo].[updateVersion]
(
@VersionID int,
@RevisionID int,
@StageID int,
@DTS datetime,
@UserID nvarchar(200),
@PDF varbinary(MAX)=null,
@SummaryPDF varbinary(MAX)=null
)
WITH EXECUTE AS OWNER
AS
BEGIN TRY -- Try Block
BEGIN TRANSACTION
UPDATE [Versions]
SET
[RevisionID]=@RevisionID,
[StageID]=@StageID,
[DTS]=@DTS,
[UserID]=@UserID,
[PDF]=@PDF,
[SummaryPDF]=@SummaryPDF
WHERE [VersionID]=@VersionID
IF @@ROWCOUNT = 0
BEGIN
IF NOT exists(select * from [Versions] WHERE [VersionID]=@VersionID)
RAISERROR('Version record has been deleted by another user', 16, 1)
ELSE
RAISERROR('Version has been edited by another user', 16, 1)
END
IF( @@TRANCOUNT > 0 ) COMMIT
END TRY
BEGIN CATCH -- Catch Block
IF( @@TRANCOUNT = 1 ) ROLLBACK -- Only rollback if top level
ELSE IF( @@TRANCOUNT > 1 ) COMMIT -- Otherwise commit. Top level will rollback
EXEC vlnErrorHandler
END CATCH
GO
-- Display the status of Proc creation
IF (@@Error = 0) PRINT 'Procedure Creation: updateVersion Succeeded'
ELSE PRINT 'Procedure Creation: updateVersion Error on Creation'
GO
/****** Object: StoredProcedure [addVersion] ******/
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[addVersion]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE [addVersion];
GO
CREATE PROCEDURE [dbo].[addVersion]
(
@RevisionID int,
@StageID int,
@DTS datetime,
@UserID nvarchar(200),
@PDF varbinary(MAX)=null,
@SummaryPDF varbinary(MAX)=null,
@newVersionID int output
)
WITH EXECUTE AS OWNER
AS
BEGIN TRY -- Try Block
BEGIN TRANSACTION
INSERT INTO [Versions]
(
[RevisionID],
[StageID],
[DTS],
[UserID],
[PDF],
[SummaryPDF]
)
VALUES
(
@RevisionID,
@StageID,
@DTS,
@UserID,
@PDF,
@SummaryPDF
)
SELECT @newVersionID= SCOPE_IDENTITY()
IF( @@TRANCOUNT > 0 ) COMMIT
END TRY
BEGIN CATCH -- Catch Block
IF( @@TRANCOUNT = 1 ) ROLLBACK -- Only rollback if top level
ELSE IF( @@TRANCOUNT > 1 ) COMMIT -- Otherwise commit. Top level will rollback
EXEC vlnErrorHandler
END CATCH
GO
-- Display the status of Proc creation
IF (@@Error = 0) PRINT 'Procedure Creation: addVersion Succeeded'
ELSE PRINT 'Procedure Creation: addVersion Error on Creation'
GO
/****** Object: StoredProcedure [deleteVersion] ******/
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[deleteVersion]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE [deleteVersion];
GO
CREATE PROCEDURE [dbo].[deleteVersion]
(
@VersionID int
)
WITH EXECUTE AS OWNER
AS
BEGIN TRY -- Try Block
BEGIN TRANSACTION
DELETE [Versions]
WHERE [VersionID] = @VersionID
IF( @@TRANCOUNT > 0 ) COMMIT
END TRY
BEGIN CATCH -- Catch Block
IF( @@TRANCOUNT = 1 ) ROLLBACK -- Only rollback if top level
ELSE IF( @@TRANCOUNT > 1 ) COMMIT -- Otherwise commit. Top level will rollback
EXEC vlnErrorHandler
END CATCH
GO
-- Display the status of Proc creation
IF (@@Error = 0) PRINT 'Procedure Creation: deleteVersion Succeeded'
ELSE PRINT 'Procedure Creation: deleteVersion Error on Creation'
GO
/****** Object: StoredProcedure [getVersion] ******/
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[getVersion]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE [getVersion];
GO
CREATE PROCEDURE [dbo].[getVersion]
(
@VersionID int
)
WITH EXECUTE AS OWNER
AS
SELECT
[VersionID],
[RevisionID],
[StageID],
[DTS],
[UserID],
[PDF],
[SummaryPDF]
FROM [Versions]
WHERE [VersionID]=@VersionID
RETURN
GO
-- Display the status of Proc creation
IF (@@Error = 0) PRINT 'Procedure Creation: getVersion Succeeded'
ELSE PRINT 'Procedure Creation: getVersion Error on Creation'
GO
/****** Object: StoredProcedure [existsVersion] ******/
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[existsVersion]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE [existsVersion];
GO
CREATE PROCEDURE [dbo].[existsVersion]
(
@VersionID int
)
WITH EXECUTE AS OWNER
AS
SELECT COUNT(*)
FROM [Versions] WHERE [VersionID]=@VersionID
RETURN
GO
-- Display the status of Proc creation
IF (@@Error = 0) PRINT 'Procedure Creation: existsVersion Succeeded'
ELSE PRINT 'Procedure Creation: existsVersion Error on Creation'
GO
/****** Object: StoredProcedure [getVersionsByRevisionID] ******/
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[getVersionsByRevisionID]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE [getVersionsByRevisionID];
GO
CREATE PROCEDURE [dbo].[getVersionsByRevisionID]
(
@RevisionID int
)
WITH EXECUTE AS OWNER
AS
SELECT
[Versions].[VersionID],
[Versions].[RevisionID],
[Versions].[StageID],
[Versions].[DTS],
[Versions].[UserID],
[Versions].[PDF],
[Versions].[SummaryPDF],
[Stages].[Name] [Stage_Name],
[Stages].[Description] [Stage_Description],
[Stages].[IsApproved] [Stage_IsApproved],
[Stages].[DTS] [Stage_DTS],
[Stages].[UserID] [Stage_UserID]
FROM [Versions]
JOIN [Stages] ON
[Stages].[StageID]=[Versions].[StageID]
WHERE
[Versions].[RevisionID]=@RevisionID
RETURN
GO
-- Display the status of Proc creation
IF (@@Error = 0) PRINT 'Procedure Creation: getVersionsByRevisionID Succeeded'
ELSE PRINT 'Procedure Creation: getVersionsByRevisionID Error on Creation'
GO
/****** Object: StoredProcedure [getVersionsByStageID] ******/
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[getVersionsByStageID]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE [getVersionsByStageID];
GO
CREATE PROCEDURE [dbo].[getVersionsByStageID]
(
@StageID int
)
WITH EXECUTE AS OWNER
AS
SELECT
[Versions].[VersionID],
[Versions].[RevisionID],
[Versions].[StageID],
[Versions].[DTS],
[Versions].[UserID],
[Versions].[PDF],
[Versions].[SummaryPDF],
[Revisions].[ItemID] [Revision_ItemID],
[Revisions].[TypeID] [Revision_TypeID],
[Revisions].[RevisionNumber] [Revision_RevisionNumber],
[Revisions].[RevisionDate] [Revision_RevisionDate],
[Revisions].[Notes] [Revision_Notes],
[Revisions].[Config] [Revision_Config]
FROM [Versions]
JOIN [Revisions] ON
[Revisions].[RevisionID]=[Versions].[RevisionID]
WHERE
[Versions].[StageID]=@StageID
RETURN
GO
-- Display the status of Proc creation
IF (@@Error = 0) PRINT 'Procedure Creation: getVersionsByStageID Succeeded'
ELSE PRINT 'Procedure Creation: getVersionsByStageID Error on Creation'
GO