Fix bug in vesp_ListUnlinkedItems (getting item when only 1 proc in working draft) & added vesp_PurgeEnhancedDocVersionsAndChildren
Allow insert of HLS before/after Enhanced: User interface for removing links of an enhanced document Enhanced: CSLA interface to unlinking docversion & contents (returns contentlist of affected items) Enhanced: Unlink DocVersion
This commit is contained in:
@@ -12385,6 +12385,13 @@ BEGIN
|
||||
JOIN ITEMS EII ON VIS.EItemID = EII.ItemID -- Get Enhanced Parent Content ID
|
||||
JOIN PARTS EPP ON EPP.ContentID = EII.ContentID and SPP.FromType = epp.FromType -- Get first Child
|
||||
END
|
||||
if @EItemID is null
|
||||
BEGIN
|
||||
select @EItemID = DV2.ItemID from (select *,cast(config as xml) xconfig from DocVersions
|
||||
where ItemID in(select itemID from vefn_AllSiblingItems(@ItemID))) SDV -- Source DocVersion
|
||||
cross apply (select * from vefn_GetEnhancedDocVersions(SDV.VersionID) where @EnhType = Type) EDV -- Enhanced DocVersion
|
||||
Join DocVersions DV2 ON DV2.VersionID = EDV.VersionID -- First Procedure
|
||||
END
|
||||
Select ItemID,PreviousID,ContentID,[DTS],[UserID],[LastChanged],
|
||||
(SELECT COUNT(*) FROM [Annotations] WHERE [Annotations].[ItemID]=[II].[ItemID]) [AnnotationCount],
|
||||
(SELECT COUNT(*) FROM [DocVersions] WHERE [DocVersions].[ItemID]=[II].[ItemID]) [DocVersionCount],
|
||||
@@ -12555,6 +12562,97 @@ IF (@@Error = 0) PRINT 'StoredProcedure [vesp_GetNonEnhancedDocVersions] Succeed
|
||||
ELSE PRINT 'StoredProcedure [vesp_GetNonEnhancedDocVersions] Error on Creation'
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vesp_PurgeEnhancedDocVersionsAndChildren]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
|
||||
DROP PROCEDURE [vesp_PurgeEnhancedDocVersionsAndChildren];
|
||||
GO
|
||||
/*
|
||||
vesp_PurgeEnhancedDocVersionsAndChildren 8 -- Background
|
||||
vesp_PurgeEnhancedDocVersionsAndChildren 9 -- Deviation
|
||||
*/
|
||||
|
||||
/*****************************************************************************
|
||||
Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
|
||||
Copyright 2016 - Volian Enterprises, Inc. All rights reserved.
|
||||
*****************************************************************************/
|
||||
CREATE PROCEDURE [dbo].[vesp_PurgeEnhancedDocVersionsAndChildren](@EnhanceID int) -- @EnhanceID -- Enhanced VersionID
|
||||
WITH EXECUTE AS OWNER
|
||||
AS
|
||||
BEGIN TRY -- Try Block
|
||||
BEGIN TRANSACTION
|
||||
declare @SourceID int -- Source VersionID
|
||||
select @SourceID = xEnhanced.value('@VersionID','int') from (select *, cast(config as xml) xconfig from DocVersions) DV
|
||||
cross apply xconfig.nodes('//Enhanced') tEnhanced(xEnhanced)
|
||||
where VersionID = @EnhanceID
|
||||
DECLARE @EnhType int
|
||||
select @EnhType = xEnhanced.value('@Type','int')
|
||||
from (select *, cast(config as xml) xConfig from DocVersions where VersionID = @SourceID) DV
|
||||
cross apply xconfig.nodes('//Enhanced[@VersionID=sql:variable("@EnhanceID")]') tEnhanced(xEnhanced)
|
||||
-- Fix DocVersion Records
|
||||
declare @Enh TABLE
|
||||
(
|
||||
ID int,
|
||||
xConfig xml
|
||||
)
|
||||
insert into @Enh
|
||||
select DV.VersionID,DV.xConfig
|
||||
from (select *, cast(config as xml) xConfig from DocVersions where VersionID in(@SourceID,@EnhanceID)) DV
|
||||
Update @Enh Set xConfig.modify('delete //Enhanced[@Type=sql:variable("@EnhType")]') From @Enh
|
||||
Update @Enh Set xConfig.modify('delete //Enhanced[@Type="0"]') From @Enh
|
||||
declare @Enh1 TABLE
|
||||
(
|
||||
ID int,
|
||||
xConfig xml
|
||||
)
|
||||
insert into @Enh1 -- Links to Enhanced from Source
|
||||
select CC.ContentID, xConfig from (select *, cast(config as xml) xConfig from Contents) CC
|
||||
JOIN VEFN_GetVersionItems(cast(@SourceID as varchar(25))) VI ON VI.ContentID = CC.ContentID
|
||||
cross apply VEFN_GetNewEnhancedData(VI.itemid,@EnhType) VEN
|
||||
Update @Enh1 Set xConfig.modify('delete //Enhanced[@Type=sql:variable("@EnhType")]') From @Enh1
|
||||
|
||||
declare @Enh2 TABLE
|
||||
(
|
||||
ID int,
|
||||
xConfig xml
|
||||
)
|
||||
insert into @Enh2 -- Links to Enhanced from Source
|
||||
select CC.ContentID, xConfig from (select *, cast(config as xml) xConfig from Contents) CC
|
||||
JOIN VEFN_GetVersionItems(cast(@EnhanceID as varchar(25))) VI ON VI.ContentID = CC.ContentID
|
||||
cross apply VEFN_GetNewEnhancedData(VI.itemid,0) VEN
|
||||
set @EnhType=0
|
||||
Update @Enh2 Set xConfig.modify('delete //Enhanced[@Type=sql:variable("@EnhType")]') From @Enh2
|
||||
|
||||
Update DV Set Config = cast(xConfig as varchar(max)) From DocVersions DV -- Remove Links from DocVersions
|
||||
Join @Enh EE ON EE.ID = DV.VersionID
|
||||
Update CC Set Config = cast(xconfig as varchar(max)) From Contents CC -- Remove Links from Source
|
||||
Join @Enh1 EE ON EE.ID = CC.ContentID
|
||||
Update CC Set Config = cast(xconfig as varchar(max)) From Contents CC -- Remove Links from Enhanced
|
||||
Join @Enh2 EE ON EE.ID = CC.ContentID
|
||||
|
||||
SELECT [ContentID],[Number],[Text],[Type],[FormatID],[Config],[DTS],[UserID],[LastChanged],
|
||||
(SELECT COUNT(*) FROM [Details] WHERE [Details].[ContentID]=[Contents].[ContentID]) [DetailCount],
|
||||
(SELECT COUNT(*) FROM [Entries] WHERE [Entries].[ContentID]=[Contents].[ContentID]) [EntryCount],
|
||||
(SELECT COUNT(*) FROM [Grids] WHERE [Grids].[ContentID]=[Contents].[ContentID]) [GridCount],
|
||||
(SELECT COUNT(*) FROM [Images] WHERE [Images].[ContentID]=[Contents].[ContentID]) [ImageCount],
|
||||
(SELECT COUNT(*) FROM [Items] WHERE [Items].[ContentID]=[Contents].[ContentID]) [ItemCount],
|
||||
(SELECT COUNT(*) FROM [Parts] WHERE [Parts].[ContentID]=[Contents].[ContentID]) [PartCount],
|
||||
(SELECT COUNT(*) FROM [RoUsages] WHERE [RoUsages].[ContentID]=[Contents].[ContentID]) [RoUsageCount],
|
||||
(SELECT COUNT(*) FROM [Transitions] WHERE [Transitions].[FromID]=[Contents].[ContentID]) [TransitionCount],
|
||||
(SELECT COUNT(*) FROM [ZContents] WHERE [ZContents].[ContentID]=[Contents].[ContentID]) [ZContentCount]
|
||||
FROM [Contents] where ContentID in (Select ID From @Enh1 UNION Select ID From @Enh2)
|
||||
|
||||
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 'StoredProcedure [vesp_PurgeEnhancedDocVersionsAndChildren] Succeeded'
|
||||
ELSE PRINT 'StoredProcedure [vesp_PurgeEnhancedDocVersionsAndChildren] Error on Creation'
|
||||
go
|
||||
|
||||
PRINT 'Enhanced Document Synchronization code.'
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
@@ -12582,7 +12680,7 @@ BEGIN TRY -- Try Block
|
||||
set nocount on
|
||||
DECLARE @RevDate varchar(255)
|
||||
DECLARE @RevDescription varchar(255)
|
||||
set @RevDate = '5/9/2016 8:00 AM'
|
||||
set @RevDate = '5/11/2016 9:00 AM'
|
||||
set @RevDescription = 'Added Enhanced Documents'
|
||||
Select cast(@RevDate as datetime) RevDate, @RevDescription RevDescription
|
||||
PRINT 'SQL Code Revision ' + @RevDate + ' - ' + @RevDescription
|
||||
|
Reference in New Issue
Block a user