Added stored procedures, functions and alter table commands to support converting invalid referenced objects and invalid transitions to text using the batch refresh dialog, import of procedures, copy/pasting of steps and deleting/restoring of steps.
This commit is contained in:
parent
e500ec710f
commit
ef9e32b9d6
@ -9760,4 +9760,606 @@ then 'matches' else 'different' end ContentMatchesRangeTrans
|
||||
from Contents cc
|
||||
join transitions tt on tt.fromid = cc.contentid) mm
|
||||
where ContentMatchesTrans = 'different') mm
|
||||
return @Count END
|
||||
return @Count
|
||||
END
|
||||
GO
|
||||
-- Display the status of Proc creation
|
||||
IF (@@Error = 0) PRINT 'ScalarFunction Creation: ve_GetTransitionErrorCount Succeeded'
|
||||
ELSE PRINT 'ScalarFunction Creation: ve_GetTransitionErrorCount Error on Creation'
|
||||
GO
|
||||
|
||||
--added by JCB for storing procedure xml for approved version
|
||||
--ALTER TABLE Versions add ApprovedXML if it does not exist
|
||||
IF COL_LENGTH('Versions','ApprovedXML') IS NULL
|
||||
ALTER TABLE Versions ADD [ApprovedXML] [NVARCHAR](MAX) NULL;
|
||||
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
|
||||
|
||||
/*****************************************************************************
|
||||
Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
|
||||
Copyright 2012 - Volian Enterprises, Inc. All rights reserved.
|
||||
*****************************************************************************/
|
||||
CREATE PROCEDURE [dbo].[addVersion]
|
||||
|
||||
(
|
||||
@RevisionID int,
|
||||
@StageID int,
|
||||
@PDF varbinary(MAX)=null,
|
||||
@SummaryPDF varbinary(MAX)=null,
|
||||
@ApprovedXML nvarchar(MAX)=null,
|
||||
@DTS datetime,
|
||||
@UserID nvarchar(200),
|
||||
@newVersionID int output,
|
||||
@newLastChanged timestamp output
|
||||
)
|
||||
WITH EXECUTE AS OWNER
|
||||
AS
|
||||
BEGIN TRY -- Try Block
|
||||
BEGIN TRANSACTION
|
||||
INSERT INTO [Versions]
|
||||
(
|
||||
[RevisionID],
|
||||
[StageID],
|
||||
[PDF],
|
||||
[SummaryPDF],
|
||||
[ApprovedXML],
|
||||
[DTS],
|
||||
[UserID]
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
@RevisionID,
|
||||
@StageID,
|
||||
@PDF,
|
||||
@SummaryPDF,
|
||||
@ApprovedXML,
|
||||
@DTS,
|
||||
@UserID
|
||||
)
|
||||
SELECT @newVersionID= SCOPE_IDENTITY()
|
||||
SELECT @newLastChanged=[LastChanged]
|
||||
FROM [Versions] WHERE [VersionID]=@newVersionID
|
||||
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 [getVersion] ******/
|
||||
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[getVersion]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
|
||||
DROP PROCEDURE [getVersion];
|
||||
GO
|
||||
|
||||
/*****************************************************************************
|
||||
Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
|
||||
Copyright 2012 - Volian Enterprises, Inc. All rights reserved.
|
||||
*****************************************************************************/
|
||||
CREATE PROCEDURE [dbo].[getVersion]
|
||||
|
||||
(
|
||||
@VersionID int
|
||||
)
|
||||
WITH EXECUTE AS OWNER
|
||||
AS
|
||||
SELECT
|
||||
[VersionID],
|
||||
[RevisionID],
|
||||
[StageID],
|
||||
[PDF],
|
||||
[SummaryPDF],
|
||||
[ApprovedXML],
|
||||
[DTS],
|
||||
[UserID],
|
||||
[LastChanged]
|
||||
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 [getVersions] ******/
|
||||
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[getVersions]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
|
||||
DROP PROCEDURE [getVersions];
|
||||
GO
|
||||
|
||||
/*****************************************************************************
|
||||
Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
|
||||
Copyright 2012 - Volian Enterprises, Inc. All rights reserved.
|
||||
*****************************************************************************/
|
||||
CREATE PROCEDURE [dbo].[getVersions]
|
||||
|
||||
WITH EXECUTE AS OWNER
|
||||
AS
|
||||
SELECT
|
||||
[VersionID],
|
||||
[RevisionID],
|
||||
[StageID],
|
||||
[PDF],
|
||||
[SummaryPDF],
|
||||
[ApprovedXML],
|
||||
[DTS],
|
||||
[UserID],
|
||||
[LastChanged]
|
||||
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 [getVersionsByRevisionID] ******/
|
||||
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[getVersionsByRevisionID]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
|
||||
DROP PROCEDURE [getVersionsByRevisionID];
|
||||
GO
|
||||
|
||||
/*****************************************************************************
|
||||
Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
|
||||
Copyright 2012 - Volian Enterprises, Inc. All rights reserved.
|
||||
*****************************************************************************/
|
||||
CREATE PROCEDURE [dbo].[getVersionsByRevisionID]
|
||||
|
||||
(
|
||||
@RevisionID int
|
||||
)
|
||||
WITH EXECUTE AS OWNER
|
||||
AS
|
||||
|
||||
SELECT
|
||||
[Versions].[VersionID],
|
||||
[Versions].[RevisionID],
|
||||
[Versions].[StageID],
|
||||
[Versions].[PDF],
|
||||
[Versions].[SummaryPDF],
|
||||
[Versions].[ApprovedXML],
|
||||
[Versions].[DTS],
|
||||
[Versions].[UserID],
|
||||
[Versions].[LastChanged],
|
||||
[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
|
||||
|
||||
/*****************************************************************************
|
||||
Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
|
||||
Copyright 2012 - Volian Enterprises, Inc. All rights reserved.
|
||||
*****************************************************************************/
|
||||
CREATE PROCEDURE [dbo].[getVersionsByStageID]
|
||||
|
||||
(
|
||||
@StageID int
|
||||
)
|
||||
WITH EXECUTE AS OWNER
|
||||
AS
|
||||
|
||||
SELECT
|
||||
[Versions].[VersionID],
|
||||
[Versions].[RevisionID],
|
||||
[Versions].[StageID],
|
||||
[Versions].[PDF],
|
||||
[Versions].[SummaryPDF],
|
||||
[Versions].[ApprovedXML],
|
||||
[Versions].[DTS],
|
||||
[Versions].[UserID],
|
||||
[Versions].[LastChanged],
|
||||
[Revisions].[ItemID] [Revision_ItemID],
|
||||
[Revisions].[TypeID] [Revision_TypeID],
|
||||
[Revisions].[RevisionNumber] [Revision_RevisionNumber],
|
||||
[Revisions].[RevisionDate] [Revision_RevisionDate],
|
||||
[Revisions].[Notes] [Revision_Notes],
|
||||
[Revisions].[Config] [Revision_Config],
|
||||
[Revisions].[DTS] [Revision_DTS],
|
||||
[Revisions].[UserID] [Revision_UserID]
|
||||
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
|
||||
|
||||
/****** 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
|
||||
|
||||
/*****************************************************************************
|
||||
Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
|
||||
Copyright 2012 - Volian Enterprises, Inc. All rights reserved.
|
||||
*****************************************************************************/
|
||||
CREATE PROCEDURE [dbo].[updateVersion]
|
||||
|
||||
(
|
||||
@VersionID int,
|
||||
@RevisionID int,
|
||||
@StageID int,
|
||||
@PDF varbinary(MAX)=null,
|
||||
@SummaryPDF varbinary(MAX)=null,
|
||||
@ApprovedXML nvarchar(MAX)=null,
|
||||
@DTS datetime,
|
||||
@UserID nvarchar(200),
|
||||
@LastChanged timestamp,
|
||||
@newLastChanged timestamp output
|
||||
)
|
||||
WITH EXECUTE AS OWNER
|
||||
AS
|
||||
BEGIN TRY -- Try Block
|
||||
BEGIN TRANSACTION
|
||||
UPDATE [Versions]
|
||||
SET
|
||||
[RevisionID]=@RevisionID,
|
||||
[StageID]=@StageID,
|
||||
[PDF]=@PDF,
|
||||
[SummaryPDF]=@SummaryPDF,
|
||||
[ApprovedXML]=@ApprovedXML,
|
||||
[DTS]=@DTS,
|
||||
[UserID]=@UserID
|
||||
WHERE [VersionID]=@VersionID AND [LastChanged]=@LastChanged
|
||||
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
|
||||
|
||||
SELECT @newLastChanged=[LastChanged]
|
||||
FROM [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: updateVersion Succeeded'
|
||||
ELSE PRINT 'Procedure Creation: updateVersion Error on Creation'
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vefn_GetDisconnectedItems]') AND OBJECTPROPERTY(id,N'IsTableFunction') = 1)
|
||||
DROP FUNCTION [vefn_GetDisconnectedItems];
|
||||
GO
|
||||
/****** Object: UserDefinedFunction [dbo].[vefn_GetDisconnectedItems] ******/
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
-- select * from vefn_GetDisconnectedItems()
|
||||
|
||||
/*****************************************************************************
|
||||
Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
|
||||
Copyright 2013 - Volian Enterprises, Inc. All rights reserved.
|
||||
*****************************************************************************/
|
||||
|
||||
CREATE FUNCTION [dbo].[vefn_GetDisconnectedItems]()
|
||||
RETURNS @DiscItems TABLE
|
||||
(
|
||||
ItemID int primary Key,
|
||||
ContentID int,
|
||||
UNIQUE (ContentID)
|
||||
)
|
||||
WITH EXECUTE AS OWNER
|
||||
AS
|
||||
BEGIN
|
||||
declare @UsedItems Table
|
||||
( itemid int primary key, contentid int)
|
||||
insert into @UsedItems
|
||||
Select ItemID, ContentID from vefn_GetVersionItems('')
|
||||
insert into @DiscItems
|
||||
select itemid,ii.contentid from (
|
||||
Select ItemID,ii.ContentID from Items II
|
||||
where ItemID not in(select ItemID from @UsedItems)) ii
|
||||
Join Contents CC ON CC.ContentID = II.ContentID
|
||||
And CC.Type is not null
|
||||
RETURN
|
||||
END
|
||||
GO
|
||||
IF (@@Error = 0) PRINT 'TableFunction [vefn_GetDisconnectedItems] Succeeded'
|
||||
ELSE PRINT 'TableFunction [vefn_GetDisconnectedItems] Error on Creation'
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vefn_TransitionsToDisconnected]') AND OBJECTPROPERTY(id,N'IsTableFunction') = 1)
|
||||
DROP FUNCTION [vefn_TransitionsToDisconnected];
|
||||
GO
|
||||
/****** Object: UserDefinedFunction [dbo].[vefn_TransitionsToDisconnected] ******/
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
-- select * from vefn_TransitionsToDisconnected('1')
|
||||
|
||||
/*****************************************************************************
|
||||
Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
|
||||
Copyright 2013 - Volian Enterprises, Inc. All rights reserved.
|
||||
*****************************************************************************/
|
||||
|
||||
CREATE FUNCTION dbo.vefn_TransitionsToDisconnected(@DocVersionList nvarchar(MAX))
|
||||
RETURNS @Transitions TABLE
|
||||
(
|
||||
[TransitionID] int primary key
|
||||
,[FromID] int
|
||||
,[ToID] int
|
||||
,[RangeID] int
|
||||
,[IsRange] int
|
||||
,[TranType] int
|
||||
,[Config] nvarchar(max)
|
||||
,[DTS] datetime
|
||||
,[UserID] nvarchar(100)
|
||||
,UNIQUE(FromID,TransitionID)
|
||||
,UNIQUE(ToID,TransitionID)
|
||||
)
|
||||
WITH EXECUTE AS OWNER
|
||||
AS
|
||||
BEGIN
|
||||
insert into @Transitions
|
||||
select [TransitionID],[FromID],[ToID],[RangeID],[IsRange],[TranType],[Config],[DTS],[UserID]
|
||||
from Transitions tt
|
||||
join vefn_GetVersionItems(@DocVersionList) vi on tt.FromID = vi.ContentID
|
||||
join vefn_GetDisconnectedItems() di on tt.ToID = di.ItemID
|
||||
RETURN
|
||||
END
|
||||
GO
|
||||
IF (@@Error = 0) PRINT 'TableFunction [vefn_TransitionsToDisconnected] Succeeded'
|
||||
ELSE PRINT 'TableFunction [vefn_TransitionsToDisconnected] Error on Creation'
|
||||
GO
|
||||
|
||||
/****** Object: StoredProcedure [getTransitionsToDisconnected] ******/
|
||||
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[getTransitionsToDisconnected]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
|
||||
DROP PROCEDURE [getTransitionsToDisconnected];
|
||||
GO
|
||||
|
||||
/*
|
||||
exec getTransitionsToDisconnected
|
||||
*/
|
||||
|
||||
/*****************************************************************************
|
||||
Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
|
||||
Copyright 2012 - Volian Enterprises, Inc. All rights reserved.
|
||||
*****************************************************************************/
|
||||
CREATE PROCEDURE [dbo].[getTransitionsToDisconnected]
|
||||
(
|
||||
@DocVersionList nvarchar(MAX)
|
||||
)
|
||||
WITH EXECUTE AS OWNER
|
||||
AS
|
||||
SELECT
|
||||
TT.[TransitionID],
|
||||
TT.[FromID],
|
||||
TT.[ToID],
|
||||
TT.[RangeID],
|
||||
TT.[IsRange],
|
||||
TT.[TranType],
|
||||
TT.[Config],
|
||||
TT.[DTS],
|
||||
TT.[UserID],
|
||||
TT.[LastChanged],
|
||||
(SELECT COUNT(*) FROM [ZTransitions] WHERE [ZTransitions].[TransitionID]=TT.[TransitionID]) [ZTransitionCount]
|
||||
from transitions tt
|
||||
join vefn_TransitionsToDisconnected(@DocVersionList) td on tt.TransitionID = td.TransitionID
|
||||
RETURN
|
||||
GO
|
||||
-- Display the status of Proc creation
|
||||
IF (@@Error = 0) PRINT 'Procedure Creation: getTransitionsToDisconnected Succeeded'
|
||||
ELSE PRINT 'Procedure Creation: getTransitionsToDisconnected Error on Creation'
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vefn_GetNonEditableItems]') AND OBJECTPROPERTY(id,N'IsTableFunction') = 1)
|
||||
DROP FUNCTION [vefn_GetNonEditableItems];
|
||||
GO
|
||||
/****** Object: UserDefinedFunction [dbo].[vefn_GetNonEditableItems] ******/
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
-- select * from vefn_GetNonEditableItems()
|
||||
|
||||
/*****************************************************************************
|
||||
Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
|
||||
Copyright 2013 - Volian Enterprises, Inc. All rights reserved.
|
||||
*****************************************************************************/
|
||||
|
||||
CREATE FUNCTION vefn_GetNonEditableItems()
|
||||
RETURNS @NonEditItems TABLE
|
||||
(
|
||||
ItemID int primary Key,
|
||||
ContentID int,
|
||||
UNIQUE (ContentID)
|
||||
)
|
||||
WITH EXECUTE AS OWNER
|
||||
AS
|
||||
BEGIN
|
||||
insert into @NonEditItems
|
||||
select ii.ItemID,ah.ContentID
|
||||
from
|
||||
(
|
||||
select cast(Config as xml) xconfig,ContentID from Contents where ContentID in
|
||||
(
|
||||
select p1.ContentID from Parts p1
|
||||
join Parts p2 on p1.ContentID = p2.ContentID
|
||||
where p1.FromType = 2 and p2.FromType = 6
|
||||
)
|
||||
and Config like '%edit%'
|
||||
) ah
|
||||
cross apply xconfig.nodes('//SubSection') tSubsection(xSubsection)
|
||||
join Items ii on ah.ContentID = ii.ContentID
|
||||
where isnull(xSubsection.value('@Edit','varchar(1)'),'N') = 'N'
|
||||
RETURN
|
||||
END
|
||||
GO
|
||||
IF (@@Error = 0) PRINT 'TableFunction [vefn_GetNonEditableItems] Succeeded'
|
||||
ELSE PRINT 'TableFunction [vefn_GetNonEditableItems] Error on Creation'
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vefn_TransitionsToNonEditable]') AND OBJECTPROPERTY(id,N'IsTableFunction') = 1)
|
||||
DROP FUNCTION [vefn_TransitionsToNonEditable];
|
||||
GO
|
||||
/****** Object: UserDefinedFunction [dbo].[vefn_TransitionsToNonEditable] ******/
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
-- select * from vefn_TransitionsToNonEditable('1')
|
||||
|
||||
/*****************************************************************************
|
||||
Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
|
||||
Copyright 2013 - Volian Enterprises, Inc. All rights reserved.
|
||||
*****************************************************************************/
|
||||
|
||||
CREATE FUNCTION dbo.vefn_TransitionsToNonEditable(@DocVersionList nvarchar(MAX))
|
||||
RETURNS @Transitions TABLE
|
||||
(
|
||||
[TransitionID] int primary key
|
||||
,[FromID] int
|
||||
,[ToID] int
|
||||
,[RangeID] int
|
||||
,[IsRange] int
|
||||
,[TranType] int
|
||||
,[Config] nvarchar(max)
|
||||
,[DTS] datetime
|
||||
,[UserID] nvarchar(100)
|
||||
,UNIQUE(FromID,TransitionID)
|
||||
,UNIQUE(ToID,TransitionID)
|
||||
)
|
||||
WITH EXECUTE AS OWNER
|
||||
AS
|
||||
BEGIN
|
||||
insert into @Transitions
|
||||
select [TransitionID],[FromID],[ToID],[RangeID],[IsRange],[TranType],[Config],[DTS],[UserID]
|
||||
from Transitions tt
|
||||
join vefn_GetVersionItems(@DocVersionList) vi on tt.FromID = vi.ContentID
|
||||
join vefn_GetNonEditableItems() di on tt.ToID in (select ItemID from vefn_StepChildItems(di.ItemID))
|
||||
RETURN
|
||||
END
|
||||
GO
|
||||
IF (@@Error = 0) PRINT 'TableFunction [vefn_TransitionsToNonEditable] Succeeded'
|
||||
ELSE PRINT 'TableFunction [vefn_TransitionsToNonEditable] Error on Creation'
|
||||
GO
|
||||
|
||||
/****** Object: StoredProcedure [getTransitionsToNonEditable] ******/
|
||||
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[getTransitionsToNonEditable]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
|
||||
DROP PROCEDURE [getTransitionsToNonEditable];
|
||||
GO
|
||||
|
||||
/*
|
||||
exec getTransitionsToNonEditable '8'
|
||||
*/
|
||||
|
||||
/*****************************************************************************
|
||||
Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
|
||||
Copyright 2012 - Volian Enterprises, Inc. All rights reserved.
|
||||
*****************************************************************************/
|
||||
CREATE PROCEDURE [dbo].[getTransitionsToNonEditable]
|
||||
(
|
||||
@DocVersionList nvarchar(MAX)
|
||||
)
|
||||
WITH EXECUTE AS OWNER
|
||||
AS
|
||||
SELECT
|
||||
TT.[TransitionID],
|
||||
TT.[FromID],
|
||||
TT.[ToID],
|
||||
TT.[RangeID],
|
||||
TT.[IsRange],
|
||||
TT.[TranType],
|
||||
TT.[Config],
|
||||
TT.[DTS],
|
||||
TT.[UserID],
|
||||
TT.[LastChanged],
|
||||
(SELECT COUNT(*) FROM [ZTransitions] WHERE [ZTransitions].[TransitionID]=TT.[TransitionID]) [ZTransitionCount]
|
||||
from transitions tt
|
||||
join vefn_TransitionsToNonEditable(@DocVersionList) td on tt.TransitionID = td.TransitionID
|
||||
RETURN
|
||||
GO
|
||||
-- Display the status of Proc creation
|
||||
IF (@@Error = 0) PRINT 'Procedure Creation: getTransitionsToNonEditable Succeeded'
|
||||
ELSE PRINT 'Procedure Creation: getTransitionsToNonEditable Error on Creation'
|
||||
GO
|
||||
|
||||
/****** Object: StoredProcedure [vefn_StepChildItems] ******/
|
||||
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vefn_StepChildItems]') AND OBJECTPROPERTY(id,N'IsTableFunction') = 1)
|
||||
DROP FUNCTION [vefn_StepChildItems];
|
||||
GO
|
||||
|
||||
/*****************************************************************************
|
||||
Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
|
||||
Copyright 2012 - Volian Enterprises, Inc. All rights reserved.
|
||||
*****************************************************************************/
|
||||
CREATE FUNCTION [dbo].[vefn_StepChildItems](@ItemID int)
|
||||
RETURNS @Children TABLE
|
||||
(
|
||||
ItemID int PRIMARY KEY,
|
||||
ContentID int
|
||||
)
|
||||
WITH EXECUTE AS OWNER
|
||||
AS
|
||||
BEGIN
|
||||
with Itemz([Level], [ItemID], [ContentID]) as (
|
||||
Select 0 [Level], [ItemID], [ContentID]
|
||||
FROM [Items]
|
||||
where [ItemID]=@ItemID
|
||||
Union All
|
||||
-- Children
|
||||
select [Level] + 1, I.[ItemID], I.[ContentID]
|
||||
from Itemz Z
|
||||
join Parts P on P.ContentID = Z.ContentID and (Z.Level > 0 or p.FromType = 6)
|
||||
join Items I on I.ItemID = P.ItemID
|
||||
-- Siblings
|
||||
Union All
|
||||
select [Level] , I.[ItemID], I.[ContentID]
|
||||
from Itemz Z
|
||||
join Items I on I.PreviousID = Z.ItemID
|
||||
where Z.[Level] > 0
|
||||
)
|
||||
insert into @Children select ItemID, ContentID from Itemz
|
||||
OPTION (MAXRECURSION 10000)
|
||||
RETURN
|
||||
END
|
||||
GO
|
||||
-- Display the status of Proc creation
|
||||
IF (@@Error = 0) PRINT 'TableFunction Creation: vefn_StepChildItems Succeeded'
|
||||
ELSE PRINT 'TableFunction Creation: vefn_StepChildItems Error on Creation'
|
||||
GO
|
||||
|
Loading…
x
Reference in New Issue
Block a user