29f2d79fed
added VEREV3PI “WOG - Emergency Response Guidelines Rev. 2 for NSP”
289 lines
20 KiB
Transact-SQL
289 lines
20 KiB
Transact-SQL
delete from versions
|
|
delete from checks
|
|
delete from revisions
|
|
print 'old approval data purged'
|
|
|
|
/****** Object: UserDefinedFunction [dbo].[vefn_GetVersionIDByItemID] Script Date: 02/03/2012 16:48:32 ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vefn_GetVersionIDByItemID]') AND OBJECTPROPERTY(id,N'IsScalarFunction') = 1)
|
|
DROP FUNCTION [vefn_GetVersionIDByItemID];
|
|
GO
|
|
|
|
/*
|
|
select dbo.vefn_GetVersionIDByItemID(41)
|
|
*/
|
|
/*****************************************************************************
|
|
Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
|
|
Copyright 2012 - Volian Enterprises, Inc. All rights reserved.
|
|
*****************************************************************************/
|
|
create function [dbo].[vefn_GetVersionIDByItemID]
|
|
(@ItemID int)
|
|
returns int
|
|
as begin
|
|
declare @VersionID int;
|
|
with itemz
|
|
(
|
|
itemid,previousid,versionid
|
|
) as
|
|
(
|
|
select itemid,previousid,null
|
|
from items ii
|
|
join contents cc on ii.contentid = cc.contentid
|
|
where itemid = @ItemID
|
|
--siblins
|
|
union all
|
|
select ii.itemid,ii.previousid,null
|
|
from items ii
|
|
join contents cc on ii.contentid = cc.contentid
|
|
join itemz zz on zz.previousid = ii.itemid
|
|
where zz.versionid is null
|
|
--chillins
|
|
union all
|
|
select ii.itemid,ii.previousid,null
|
|
from parts pp
|
|
join items ii on ii.contentid = pp.contentid
|
|
join contents cc on ii.contentid = cc.contentid
|
|
join itemz zz on zz.itemid = pp.itemid
|
|
where zz.versionid is null
|
|
--docversions
|
|
union all
|
|
select 0,0,dv.versionid
|
|
from docversions dv
|
|
join itemz zz on dv.itemid = zz.itemid
|
|
where zz.versionid is null
|
|
)
|
|
select @VersionID = versionid from itemz zz
|
|
where versionid is not null
|
|
OPTION (MAXRECURSION 10000)
|
|
return @VersionID
|
|
end
|
|
GO
|
|
-- Display the status of Func creation
|
|
IF (@@Error = 0) PRINT 'Function Creation: vefn_GetVersionIDByItemID Succeeded'
|
|
ELSE PRINT 'Function Creation: vefn_GetVersionIDByItemID Error on Creation'
|
|
GO
|
|
|
|
/****** Object: StoredProcedure [dbo].[getDocumentByLibDoc] Script Date: 01/30/2012 14:08:10 ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[getDocumentByLibDoc]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
|
|
DROP PROCEDURE [getDocumentByLibDoc];
|
|
GO
|
|
|
|
-- [dbo].[getDocumentByLibDoc] 'DOC_0000',4
|
|
-- [dbo].[getDocumentByLibDoc] 'DOC_0000',3
|
|
-- [dbo].[getDocumentByLibDoc] 'DOC_0000',2
|
|
-- [dbo].[getDocumentByLibDoc] 'DOC_0000',1
|
|
/*****************************************************************************
|
|
Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
|
|
Copyright 2012 - Volian Enterprises, Inc. All rights reserved.
|
|
*****************************************************************************/
|
|
CREATE PROCEDURE [dbo].[getDocumentByLibDoc]
|
|
|
|
(
|
|
@LibDoc varchar(12),
|
|
@VersionID int
|
|
)
|
|
WITH EXECUTE AS OWNER
|
|
AS
|
|
DECLARE @DocID int
|
|
select @DocID = docid
|
|
from
|
|
(
|
|
select
|
|
distinct ah.docid,.dbo.vefn_GetVersionIDByItemID(ii.itemid) versionid
|
|
from
|
|
(
|
|
select dd.docid,ofn.value('@OriginalFileName','varchar(20)') origfilename,dts
|
|
from (select docid,cast(config as xml) xconfig,dts from documents) dd
|
|
cross apply xconfig.nodes('//History') t1(ofn)
|
|
) ah
|
|
inner join entries ee on ah.docid = ee.docid
|
|
inner join items ii on ee.contentid = ii.itemid
|
|
where origfilename = @LibDoc + '.LIB'
|
|
) ah
|
|
where versionid = @VersionID
|
|
|
|
-- from (select docid,cast(config as xml) xconfig from documents) ah
|
|
-- cross apply xconfig.nodes('//Config/History') t1(roc)
|
|
-- where roc.value('@OriginalFileName','varchar(12)') = @LibDoc + '.LIB'
|
|
|
|
SELECT
|
|
[DocID],
|
|
[LibTitle],
|
|
[DocContent],
|
|
[DocAscii],
|
|
[Config],
|
|
[DTS],
|
|
[UserID],
|
|
[LastChanged],
|
|
[FileExtension],
|
|
(SELECT COUNT(*) FROM [DROUsages] WHERE [DROUsages].[DocID]=[Documents].[DocID]) [DROUsageCount],
|
|
(SELECT COUNT(*) FROM [Entries] WHERE [Entries].[DocID]=[Documents].[DocID]) [EntryCount],
|
|
(SELECT COUNT(*) FROM [Pdfs] WHERE [Pdfs].[DocID]=[Documents].[DocID]) [PdfCount]
|
|
FROM [Documents]
|
|
WHERE [DocID]=@DocID
|
|
|
|
SELECT
|
|
[DROUsages].[DROUsageID],
|
|
[DROUsages].[DocID],
|
|
[DROUsages].[ROID],
|
|
[DROUsages].[Config],
|
|
[DROUsages].[DTS],
|
|
[DROUsages].[UserID],
|
|
[DROUsages].[LastChanged],
|
|
[DROUsages].[RODbID],
|
|
[RODbs].[ROName] [RODb_ROName],
|
|
[RODbs].[FolderPath] [RODb_FolderPath],
|
|
[RODbs].[DBConnectionString] [RODb_DBConnectionString],
|
|
[RODbs].[Config] [RODb_Config],
|
|
[RODbs].[DTS] [RODb_DTS],
|
|
[RODbs].[UserID] [RODb_UserID]
|
|
FROM [DROUsages]
|
|
JOIN [RODbs] ON
|
|
[RODbs].[RODbID]=[DROUsages].[RODbID]
|
|
WHERE
|
|
[DROUsages].[DocID]=@DocID
|
|
|
|
|
|
SELECT
|
|
[Entries].[ContentID],
|
|
[Entries].[DocID],
|
|
[Entries].[DTS],
|
|
[Entries].[UserID],
|
|
[Entries].[LastChanged],
|
|
[Contents].[Number] [Content_Number],
|
|
[Contents].[Text] [Content_Text],
|
|
[Contents].[Type] [Content_Type],
|
|
[Contents].[FormatID] [Content_FormatID],
|
|
[Contents].[Config] [Content_Config],
|
|
[Contents].[DTS] [Content_DTS],
|
|
[Contents].[UserID] [Content_UserID]
|
|
FROM [Entries]
|
|
JOIN [Contents] ON
|
|
[Contents].[ContentID]=[Entries].[ContentID]
|
|
WHERE
|
|
[Entries].[DocID]=@DocID
|
|
|
|
|
|
SELECT
|
|
[Pdfs].[DocID],
|
|
[Pdfs].[DebugStatus],
|
|
[Pdfs].[TopRow],
|
|
[Pdfs].[PageLength],
|
|
[Pdfs].[LeftMargin],
|
|
[Pdfs].[PageWidth],
|
|
[Pdfs].[PageCount],
|
|
[Pdfs].[DocPdf],
|
|
[Pdfs].[DTS],
|
|
[Pdfs].[UserID],
|
|
[Pdfs].[LastChanged]
|
|
FROM [Pdfs]
|
|
WHERE
|
|
[Pdfs].[DocID]=@DocID
|
|
|
|
RETURN
|
|
GO
|
|
-- Display the status of Proc creation
|
|
IF (@@Error = 0) PRINT 'Procedure Creation: getDocumentByLibDoc Succeeded'
|
|
ELSE PRINT 'Procedure Creation: getDocumentByLibDoc Error on Creation'
|
|
GO
|
|
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
/*
|
|
select [dbo].[vefn_CheckAllXML](1)
|
|
*/
|
|
ALTER function [dbo].[vefn_CheckAllXML](@DocVersionID int)
|
|
returns xml
|
|
begin
|
|
--temp table for max checkid
|
|
declare @tChecks table (CheckID int)
|
|
insert into @tChecks
|
|
select max(cc.checkid) checkid from checks cc inner join stages ss on cc.stageid = ss.stageid
|
|
inner join revisions rr on cc.revisionid = rr.revisionid where ss.isapproved = 1 group by rr.itemid
|
|
--temp table for sibling itemid
|
|
declare @tItems table (ItemID int)
|
|
insert into @tItems
|
|
select itemid from vefn_siblingitems((select itemid from docversions where versionid = @docversionid),0)
|
|
--temp table for multi valued roids
|
|
declare @mvROIDS table (ROID varchar(max))
|
|
insert into @mvROIDS
|
|
select roid from (select distinct r1.value('@ROID','varchar(max)') roid,r1.value('@ROValue','varchar(max)') rovalue
|
|
from checks cc cross apply cc.consistencychecks.nodes('//ROCheck') t1(r1)) t1 group by roid having count(*) > 1
|
|
--temp table for multi valued transitionids
|
|
declare @mvTransitions table (TransitionID int)
|
|
insert into @mvTransitions
|
|
select transitionid from (select distinct r1.value('@TransitionID','int') transitionid,r1.value('@TransitionValue','varchar(max)') transitionvalue
|
|
from checks cc cross apply cc.consistencychecks.nodes('//TransitionCheck') t1(r1)) t1 group by transitionid having count(*) > 1
|
|
--temp table for multi valued docids
|
|
declare @mvLibDocs table (DocID int)
|
|
insert into @mvLibDocs
|
|
select docid from (select distinct r1.value('@DocID','int') docid,r1.value('@DocDate','datetime') docdate
|
|
from checks cc cross apply cc.consistencychecks.nodes('//LibDocCheck') t1(r1)) t1 group by docid having count(*) > 1
|
|
--temp table for roids
|
|
declare @tROIDS table (ItemID int,ROID varchar(max),ROValue varchar(max),CheckID int)
|
|
insert into @tROIDS
|
|
select rr.itemid,r1.value('@ROID','varchar(max)') roid,r1.value('@ROValue','varchar(max)') rovalue, cc.checkid
|
|
from checks cc inner join revisions rr on cc.revisionid = rr.revisionid
|
|
cross apply cc.consistencychecks.nodes('//ROCheck') t1(r1)
|
|
--temp table for transitions
|
|
declare @tTransitions table (ItemID int,TransitionID int,TransitionValue varchar(max),CheckID int)
|
|
insert into @tTransitions
|
|
select rr.itemid,r1.value('@TransitionID','int') transitionid,r1.value('@TransitionValue','varchar(max)') transitionvalue,cc.checkid
|
|
from checks cc inner join revisions rr on cc.revisionid = rr.revisionid
|
|
cross apply cc.consistencychecks.nodes('//TransitionCheck') t1(r1)
|
|
--temp table for libdocs
|
|
declare @tLibDocs table (ItemID int, DocID int, DocDate datetime,CheckID int)
|
|
insert into @tLibDocs
|
|
select rr.itemid,r1.value('@DocID','int') docid,r1.value('@DocDate','datetime') docdate,cc.checkid
|
|
from checks cc inner join revisions rr on cc.revisionid = rr.revisionid
|
|
cross apply cc.consistencychecks.nodes('//LibDocCheck') t1(r1)
|
|
|
|
--get all inconsitencies accross set
|
|
declare @ChkXML xml
|
|
set @ChkXML =
|
|
(
|
|
select
|
|
(--ro inconsistencies accross set
|
|
select ROCheck.ItemID,ROCheck.ROID,ROCheck.ROValue from @tROIDS ROCheck
|
|
inner join @tChecks tc on ROCheck.checkid = tc.checkid
|
|
inner join @tItems ti on ROCheck.itemid = ti.itemid
|
|
inner join @mvROIDS mv on ROCheck.roid = mv.roid
|
|
order by ROCheck.itemid
|
|
for xml auto,root('ROChecks'),type
|
|
),
|
|
(--transition inconsistencies accross set
|
|
select TransitionCheck.ItemID,TransitionCheck.TransitionID,TransitionCheck.TransitionValue from @tTransitions TransitionCheck
|
|
inner join @tChecks tc on TransitionCheck.checkid = tc.checkid
|
|
inner join @tItems ti on TransitionCheck.itemid = ti.itemid
|
|
inner join @mvTransitions mv on TransitionCheck.TransitionID = mv.TransitionID
|
|
order by TransitionCheck.itemid
|
|
for xml auto,root('TransitionChecks'),type
|
|
),
|
|
(--libdoc inconsistencies accross set
|
|
select LibDocCheck.ItemID,LibDocCheck.DocID,LibDocCheck.DocDate from @tLibDocs LibDocCheck
|
|
inner join @tChecks tc on LibDocCheck.checkid = tc.checkid
|
|
inner join @tItems ti on LibDocCheck.itemid = ti.itemid
|
|
inner join @mvLibDocs mv on LibDocCheck.docid = mv.docid
|
|
order by LibDocCheck.itemid
|
|
for xml auto,root('LibDocChecks'),type
|
|
)
|
|
for xml path(''),ROOT ('ConsistencyChecks'),type
|
|
)
|
|
return @ChkXML
|
|
end
|
|
GO
|
|
-- Display the status of Func creation
|
|
IF (@@Error = 0) PRINT 'Function Alteration: vefn_CheckAllXML Succeeded'
|
|
ELSE PRINT 'Function Alteration: vefn_CheckAllXML Error on Alteration'
|
|
GO
|