B2022-083: Support Conditional RO Values (v2.1) [Part-2]
This commit is contained in:
parent
bcbc52c774
commit
6dff9463ad
@ -20041,15 +20041,909 @@ GO
|
|||||||
GO
|
GO
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
==========================================================================================================
|
==========================================================================================================
|
||||||
End: B2022-026 RO Memory reduction coding (Jakes Merge) [Version 2.0]
|
End: B2022-026 RO Memory reduction coding (Jakes Merge) [Version 2.0]
|
||||||
==========================================================================================================
|
==========================================================================================================
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
==========================================================================================================
|
||||||
|
Start: B2022-083: Support Conditional RO Values (v2.1)
|
||||||
|
==========================================================================================================
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
----------------------------------------------------------------------------------
|
||||||
|
Tables:
|
||||||
|
----------------------------------------------------------------------------------
|
||||||
|
[RofstExtension] [Created]
|
||||||
|
*/
|
||||||
|
|
||||||
|
-- If RofstExtension table already exists then don't drop and recreate it
|
||||||
|
IF Not Exists(SELECT * FROM sys.objects Where name = 'RofstExtension' AND type in (N'U'))
|
||||||
|
Begin
|
||||||
|
|
||||||
|
SET ANSI_NULLS ON
|
||||||
|
SET QUOTED_IDENTIFIER ON
|
||||||
|
|
||||||
|
CREATE TABLE [dbo].[RofstExtension](
|
||||||
|
[Offset] [int] NOT NULL,
|
||||||
|
[RoidExt] [varchar](4) NOT NULL,
|
||||||
|
[AccPageExt] [varchar](5) NOT NULL,
|
||||||
|
CONSTRAINT [PK_RofstExtension] PRIMARY KEY CLUSTERED
|
||||||
|
(
|
||||||
|
[Offset] ASC
|
||||||
|
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
|
||||||
|
) ON [PRIMARY]
|
||||||
|
|
||||||
|
IF (@@Error = 0) PRINT 'Table Creation: [RofstExtension] Succeeded'
|
||||||
|
ELSE PRINT 'Table Creation: [RofstExtension] Error on Creation'
|
||||||
|
|
||||||
|
IF (@@Error = 0)
|
||||||
|
Begin
|
||||||
|
|
||||||
|
Insert Into RofstExtension (Offset, RoidExt, AccPageExt) Values (1,'0041','A');
|
||||||
|
Insert Into RofstExtension (Offset, RoidExt, AccPageExt) Values (2,'0042','B');
|
||||||
|
Insert Into RofstExtension (Offset, RoidExt, AccPageExt) Values (3,'0043','C');
|
||||||
|
Insert Into RofstExtension (Offset, RoidExt, AccPageExt) Values (4,'0044','D');
|
||||||
|
Insert Into RofstExtension (Offset, RoidExt, AccPageExt) Values (5,'0045','E');
|
||||||
|
Insert Into RofstExtension (Offset, RoidExt, AccPageExt) Values (6,'0046','F');
|
||||||
|
Insert Into RofstExtension (Offset, RoidExt, AccPageExt) Values (7,'0047','G');
|
||||||
|
Insert Into RofstExtension (Offset, RoidExt, AccPageExt) Values (8,'0048','H');
|
||||||
|
Insert Into RofstExtension (Offset, RoidExt, AccPageExt) Values (9,'0049','I');
|
||||||
|
Insert Into RofstExtension (Offset, RoidExt, AccPageExt) Values (10,'004A','J');
|
||||||
|
Insert Into RofstExtension (Offset, RoidExt, AccPageExt) Values (11,'004B','K');
|
||||||
|
Insert Into RofstExtension (Offset, RoidExt, AccPageExt) Values (12,'004C','L');
|
||||||
|
Insert Into RofstExtension (Offset, RoidExt, AccPageExt) Values (13,'004D','M');
|
||||||
|
Insert Into RofstExtension (Offset, RoidExt, AccPageExt) Values (14,'004E','N');
|
||||||
|
Insert Into RofstExtension (Offset, RoidExt, AccPageExt) Values (15,'004F','O');
|
||||||
|
Insert Into RofstExtension (Offset, RoidExt, AccPageExt) Values (16,'0050','P');
|
||||||
|
Insert Into RofstExtension (Offset, RoidExt, AccPageExt) Values (17,'0051','Q');
|
||||||
|
Insert Into RofstExtension (Offset, RoidExt, AccPageExt) Values (18,'0052','R');
|
||||||
|
Insert Into RofstExtension (Offset, RoidExt, AccPageExt) Values (19,'0053','S');
|
||||||
|
Insert Into RofstExtension (Offset, RoidExt, AccPageExt) Values (20,'0054','T');
|
||||||
|
Insert Into RofstExtension (Offset, RoidExt, AccPageExt) Values (21,'0055','U');
|
||||||
|
Insert Into RofstExtension (Offset, RoidExt, AccPageExt) Values (22,'0056','V');
|
||||||
|
Insert Into RofstExtension (Offset, RoidExt, AccPageExt) Values (23,'0057','W');
|
||||||
|
Insert Into RofstExtension (Offset, RoidExt, AccPageExt) Values (24,'0058','X');
|
||||||
|
Insert Into RofstExtension (Offset, RoidExt, AccPageExt) Values (25,'0059','Y');
|
||||||
|
Insert Into RofstExtension (Offset, RoidExt, AccPageExt) Values (26,'005A','Z');
|
||||||
|
|
||||||
|
End
|
||||||
|
|
||||||
|
End
|
||||||
|
Go
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
----------------------------------------------------------------------------------
|
||||||
|
Functions:
|
||||||
|
----------------------------------------------------------------------------------
|
||||||
|
[dbo].[vefn_RofstDataCleanUnitInfoTags] [Created]
|
||||||
|
[dbo].[vefn_RofstDataReplaceLegacyTagsWithDefaults] [Created]
|
||||||
|
[dbo].[vefn_RofstDataReplaceVars] [Modified]
|
||||||
|
*/
|
||||||
|
|
||||||
|
/****** Object: UserDefinedFunction [dbo].[vefn_RofstDataCleanUnitInfoTags] ***********************/
|
||||||
|
If Exists(SELECT * FROM sys.objects Where name = 'vefn_RofstDataCleanUnitInfoTags' AND type in (N'FN'))
|
||||||
|
DROP FUNCTION [dbo].[vefn_RofstDataCleanUnitInfoTags]
|
||||||
|
GO
|
||||||
|
|
||||||
|
SET ANSI_NULLS ON
|
||||||
|
GO
|
||||||
|
SET QUOTED_IDENTIFIER ON
|
||||||
|
GO
|
||||||
|
|
||||||
|
-- ==========================================================================================
|
||||||
|
-- Author: Jake Ropar
|
||||||
|
-- Create Date: 06/21/2022
|
||||||
|
-- Description: Removes any legacy legacy unit info variables and fixes older applicability tags
|
||||||
|
-- ==========================================================================================
|
||||||
|
|
||||||
|
CREATE FUNCTION [dbo].[vefn_RofstDataCleanUnitInfoTags](@Values VarChar(Max), @RemoveUnitInfoVars bit = 0) Returns VarChar(Max)
|
||||||
|
WITH EXECUTE AS OWNER
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
|
||||||
|
Declare @RetVal VarChar(Max) = '';
|
||||||
|
|
||||||
|
Set @RetVal = dbo.vefn_Clean(@Values, 1, null);
|
||||||
|
|
||||||
|
If (Len(@RetVal) > 0)
|
||||||
|
Begin
|
||||||
|
|
||||||
|
-- Make Sure all tag/var instances are upper case & Remove any internal spaces
|
||||||
|
Set @RetVal = Replace(@RetVal, 'U-OTHER TEXT', 'U-OTHERTEXT');
|
||||||
|
Set @RetVal = Replace(@RetVal, 'U-OTHER NUMBER', 'U-OTHERNUMBER');
|
||||||
|
Set @RetVal = Replace(@RetVal, 'U-OTHER NAME', 'U-OTHERNAME');
|
||||||
|
Set @RetVal = Replace(@RetVal, 'U-OTHER ID', 'U-OTHERID');
|
||||||
|
Set @RetVal = Replace(@RetVal, '<u>', '<U-ID>');
|
||||||
|
|
||||||
|
If (@RemoveUnitInfoVars > 0)
|
||||||
|
Begin
|
||||||
|
|
||||||
|
-- Remove any Unit Info Variables
|
||||||
|
Set @RetVal = Replace(@RetVal, '<u>', '');
|
||||||
|
Set @RetVal = Replace(@RetVal, '<U-ID>', '');
|
||||||
|
Set @RetVal = Replace(@RetVal, '<U-NUMBER>', '');
|
||||||
|
Set @RetVal = Replace(@RetVal, '<U-NAME>', '');
|
||||||
|
Set @RetVal = Replace(@RetVal, '<U-TEXT>', '');
|
||||||
|
|
||||||
|
Set @RetVal = Replace(@RetVal, '<U-OTHERID>', '');
|
||||||
|
Set @RetVal = Replace(@RetVal, '<U-OTHERNUMBER>', '');
|
||||||
|
Set @RetVal = Replace(@RetVal, '<U-OTHERNAME>', '');
|
||||||
|
Set @RetVal = Replace(@RetVal, '<U-OTHERTEXT>', '');
|
||||||
|
|
||||||
|
End
|
||||||
|
|
||||||
|
End
|
||||||
|
|
||||||
|
Return @RetVal;
|
||||||
|
|
||||||
|
END
|
||||||
|
Go
|
||||||
|
|
||||||
|
IF (@@Error = 0) PRINT 'Function Creation: [vefn_RofstDataCleanUnitInfoTags] Succeeded'
|
||||||
|
ELSE PRINT 'Function Creation: [vefn_RofstDataCleanUnitInfoTags] Error on Creation'
|
||||||
|
GO
|
||||||
|
|
||||||
|
|
||||||
|
/****** Object: UserDefinedFunction [dbo].[vefn_RofstDataReplaceLegacyTagsWithDefaults] ***********************/
|
||||||
|
If Exists(SELECT * FROM sys.objects Where name = 'vefn_RofstDataReplaceLegacyTagsWithDefaults' AND type in (N'FN'))
|
||||||
|
DROP FUNCTION [dbo].[vefn_RofstDataReplaceLegacyTagsWithDefaults]
|
||||||
|
GO
|
||||||
|
|
||||||
|
SET ANSI_NULLS ON
|
||||||
|
GO
|
||||||
|
SET QUOTED_IDENTIFIER ON
|
||||||
|
GO
|
||||||
|
|
||||||
|
-- ==========================================================================================
|
||||||
|
-- Author: Jake Ropar
|
||||||
|
-- Create Date: 06/21/2022
|
||||||
|
-- Description: Replaces any legacy applicability tags with the default value
|
||||||
|
-- ==========================================================================================
|
||||||
|
|
||||||
|
CREATE FUNCTION [dbo].[vefn_RofstDataReplaceLegacyTagsWithDefaults](@Values VarChar(Max)) Returns VarChar(Max)
|
||||||
|
WITH EXECUTE AS OWNER
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
|
||||||
|
Declare @RetVal VarChar(Max) = '';
|
||||||
|
Declare @DefaultValue VarChar(Max) = '';
|
||||||
|
|
||||||
|
Declare @StartTagIndex Int;
|
||||||
|
Declare @EndTagIndex Int;
|
||||||
|
Declare @StartTagValue VarChar(Max);
|
||||||
|
Declare @StartValIndex Int;
|
||||||
|
Declare @EndValIndex Int;
|
||||||
|
|
||||||
|
Declare @TagName VarChar(Max);
|
||||||
|
Declare @LegacyTagNames VarChar(Max) = 'U-ID,U-NUMBER,U-NAME,U-TEXT,U-OTHERID,U-OTHERNUMBER,U-OTHERNAME,U-OTHERTEXT';
|
||||||
|
|
||||||
|
-- Make Sure all tag instances are upper case & Remove any internal spaces
|
||||||
|
Set @RetVal = dbo.vefn_RofstDataCleanUnitInfoTags(@Values, 0);
|
||||||
|
|
||||||
|
|
||||||
|
Declare LegacyTags_Cursor Cursor Fast_Forward For
|
||||||
|
Select '{' + x.ListValue + '{' as 'TagName'
|
||||||
|
From [dbo].[vefn_ParseStringListToTable](@LegacyTagNames, ',') x
|
||||||
|
|
||||||
|
Open LegacyTags_Cursor
|
||||||
|
|
||||||
|
Fetch Next From LegacyTags_Cursor Into @TagName
|
||||||
|
|
||||||
|
While (@@FETCH_STATUS = 0)
|
||||||
|
Begin
|
||||||
|
|
||||||
|
-- Get Start/End Index of Tag
|
||||||
|
Set @StartTagIndex = PatIndex('%' + @TagName + '%', @RetVal);
|
||||||
|
Set @EndTagIndex = PatIndex('%}}%', @RetVal);
|
||||||
|
|
||||||
|
While (@StartTagIndex > 0)
|
||||||
|
Begin
|
||||||
|
|
||||||
|
Set @StartTagValue = SubString(@RetVal, @StartTagIndex, (@EndTagIndex - @StartTagIndex) + 2);
|
||||||
|
|
||||||
|
Set @StartValIndex = PatIndex('%=%', @StartTagValue);
|
||||||
|
Set @EndValIndex = PatIndex('%}%', @StartTagValue);
|
||||||
|
|
||||||
|
Set @DefaultValue = SubString(@StartTagValue, @StartValIndex + 1, (@EndValIndex - @StartValIndex) - 1);
|
||||||
|
Set @RetVal = Replace(@RetVal, @StartTagValue, @DefaultValue);
|
||||||
|
|
||||||
|
Set @StartTagIndex = PatIndex('%' + @TagName + '%', @RetVal);
|
||||||
|
Set @EndTagIndex = PatIndex('%}}%', @RetVal);
|
||||||
|
|
||||||
|
End -- While (@StartTagIndex > 0)
|
||||||
|
|
||||||
|
|
||||||
|
Fetch Next From LegacyTags_Cursor Into @TagName
|
||||||
|
End
|
||||||
|
|
||||||
|
Close LegacyTags_Cursor;
|
||||||
|
Deallocate LegacyTags_Cursor;
|
||||||
|
|
||||||
|
|
||||||
|
Return @RetVal;
|
||||||
|
|
||||||
|
END
|
||||||
|
Go
|
||||||
|
|
||||||
|
IF (@@Error = 0) PRINT 'Function Creation: [vefn_RofstDataReplaceLegacyTagsWithDefaults] Succeeded'
|
||||||
|
ELSE PRINT 'Function Creation: [vefn_RofstDataReplaceLegacyTagsWithDefaults] Error on Creation'
|
||||||
|
GO
|
||||||
|
|
||||||
|
|
||||||
|
/****** Object: UserDefinedFunction [dbo].[vefn_RofstDataReplaceVars] ***********************/
|
||||||
|
If Exists(SELECT * FROM sys.objects Where name = 'vefn_RofstDataReplaceVars' AND type in (N'FN'))
|
||||||
|
DROP FUNCTION [dbo].[vefn_RofstDataReplaceVars]
|
||||||
|
GO
|
||||||
|
|
||||||
|
SET ANSI_NULLS ON
|
||||||
|
GO
|
||||||
|
SET QUOTED_IDENTIFIER ON
|
||||||
|
GO
|
||||||
|
|
||||||
|
-- ==========================================================================================
|
||||||
|
-- Author: Jake Ropar
|
||||||
|
-- Create Date: 3/25/2022
|
||||||
|
-- Description: Replaces Any Variables and returns the rest of the value string
|
||||||
|
-- ==========================================================================================
|
||||||
|
|
||||||
|
CREATE FUNCTION [dbo].[vefn_RofstDataReplaceVars](@Values VarChar(Max)) Returns VarChar(Max)
|
||||||
|
WITH EXECUTE AS OWNER
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
|
||||||
|
Declare @RetVal VarChar(Max) = '';
|
||||||
|
Declare @EqualsIndex Int;
|
||||||
|
Declare @EndIndex Int;
|
||||||
|
Declare @NameValPairStartIndex Int;
|
||||||
|
Declare @NameValPairEndIndex Int;
|
||||||
|
|
||||||
|
Declare @VarPair VarChar(Max);
|
||||||
|
Declare @VarName VarChar(Max);
|
||||||
|
Declare @VarValue VarChar(Max);
|
||||||
|
|
||||||
|
-- Replace Any "<APL /APL>" Tags with the Default Value first
|
||||||
|
Select @RetVal = dbo.vefn_RofstDataReplaceApplTagsWithDefaults(@Values);
|
||||||
|
|
||||||
|
-- Replace Any Legacy Applicability Tags with the Default Value second
|
||||||
|
Select @RetVal = dbo.vefn_RofstDataReplaceLegacyTagsWithDefaults(@RetVal);
|
||||||
|
|
||||||
|
|
||||||
|
If (PatIndex('%{{A%', @RetVal) > 0)
|
||||||
|
Set @EndIndex = PatIndex('%{{A%', @RetVal);
|
||||||
|
Else
|
||||||
|
Set @EndIndex = Len(@RetVal) -1;
|
||||||
|
|
||||||
|
Set @NameValPairStartIndex = PatIndex('%{%', @RetVal);
|
||||||
|
Set @NameValPairEndIndex = PatIndex('%}%', @RetVal);
|
||||||
|
|
||||||
|
While(@NameValPairStartIndex > 0 And @NameValPairStartIndex < @EndIndex)
|
||||||
|
Begin
|
||||||
|
|
||||||
|
-- Get Name Value Pair [ex. {EGS=1214}]
|
||||||
|
Set @VarPair = SubString(@RetVal, @NameValPairStartIndex, (@NameValPairEndIndex - @NameValPairStartIndex) + 1);
|
||||||
|
|
||||||
|
-- Remove Name Value Pair From Return Val
|
||||||
|
Set @RetVal = Replace(@RetVal, @VarPair, '');
|
||||||
|
|
||||||
|
-- Get Variable Name and Value
|
||||||
|
Set @EqualsIndex = PatIndex('%=%', @VarPair);
|
||||||
|
|
||||||
|
If (@EqualsIndex > 0)
|
||||||
|
Begin
|
||||||
|
Set @VarName = SubString(@VarPair, 2, @EqualsIndex - 2);
|
||||||
|
Set @VarValue = SubString(@VarPair, @EqualsIndex + 1, Len(@VarPair) - @EqualsIndex - 1);
|
||||||
|
Set @VarName = Concat('{', @VarName, '}');
|
||||||
|
|
||||||
|
-- Replace All Occurences
|
||||||
|
Set @RetVal = Replace(@RetVal, @VarName, @VarValue);
|
||||||
|
End
|
||||||
|
|
||||||
|
-- Get Updated Index Values
|
||||||
|
If (PatIndex('%{{A%', @RetVal) > 0)
|
||||||
|
Set @EndIndex = PatIndex('%{{A%', @RetVal);
|
||||||
|
Else
|
||||||
|
Set @EndIndex = Len(@RetVal) -1;
|
||||||
|
|
||||||
|
Set @NameValPairStartIndex = PatIndex('%{%', @RetVal);
|
||||||
|
Set @NameValPairEndIndex = PatIndex('%}%', @RetVal);
|
||||||
|
|
||||||
|
End -- End While(@ReplaceVarEndTagIndex > 0)
|
||||||
|
|
||||||
|
Return @RetVal;
|
||||||
|
|
||||||
|
END
|
||||||
|
Go
|
||||||
|
|
||||||
|
IF (@@Error = 0) PRINT 'Function Creation: [vefn_RofstDataReplaceVars] Succeeded'
|
||||||
|
ELSE PRINT 'Function Creation: [vefn_RofstDataReplaceVars] Error on Creation'
|
||||||
|
GO
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
----------------------------------------------------------------------------------
|
||||||
|
Views:
|
||||||
|
----------------------------------------------------------------------------------
|
||||||
|
[dbo].[vwRofstData_RofstExtensions] [Created]
|
||||||
|
[dbo].[vwRofstData_RofstValueTypes] [Created]
|
||||||
|
[dbo].[vwRofstData_RofstBaseRoids] [Created]
|
||||||
|
[dbo].[vwRofstData_RofstChildren] [Modified]
|
||||||
|
*/
|
||||||
|
|
||||||
|
/****** Object: View [dbo].[vwRofstData_RofstExtensions] ***********************/
|
||||||
|
If Exists(SELECT * FROM sys.objects Where name = 'vwRofstData_RofstExtensions' AND type in (N'V'))
|
||||||
|
DROP VIEW [dbo].[vwRofstData_RofstExtensions]
|
||||||
|
GO
|
||||||
|
|
||||||
|
SET ANSI_NULLS ON
|
||||||
|
GO
|
||||||
|
SET QUOTED_IDENTIFIER ON
|
||||||
|
GO
|
||||||
|
|
||||||
|
/*****************************************************************************
|
||||||
|
Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
|
||||||
|
Copyright 2012 - Volian Enterprises, Inc. All rights reserved.
|
||||||
|
*****************************************************************************/
|
||||||
|
/*
|
||||||
|
==========================================================================================================
|
||||||
|
Author: Jake Ropar
|
||||||
|
Create Date: 06/21/2024
|
||||||
|
Description: (RofstData) Master View for RofstExtensions
|
||||||
|
==========================================================================================================
|
||||||
|
*/
|
||||||
|
Create View [dbo].[vwRofstData_RofstExtensions]
|
||||||
|
As
|
||||||
|
|
||||||
|
Select re.Offset as 'Offset',
|
||||||
|
re.RoidExt as 'RoidExt',
|
||||||
|
re.AccPageExt as 'AccPageExt'
|
||||||
|
From RofstExtension re With (NoLock)
|
||||||
|
|
||||||
|
GO
|
||||||
|
|
||||||
|
IF (@@Error = 0) PRINT 'View Creation: [vwRofstData_RofstExtensions] Succeeded'
|
||||||
|
ELSE PRINT 'View Creation: [vwRofstData_RofstExtensions] Error on Creation'
|
||||||
|
GO
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/****** Object: View [dbo].[vwRofstData_RofstValueTypes] ***********************/
|
||||||
|
If Exists(SELECT * FROM sys.objects Where name = 'vwRofstData_RofstValueTypes' AND type in (N'V'))
|
||||||
|
DROP VIEW [dbo].[vwRofstData_RofstValueTypes]
|
||||||
|
GO
|
||||||
|
|
||||||
|
SET ANSI_NULLS ON
|
||||||
|
GO
|
||||||
|
SET QUOTED_IDENTIFIER ON
|
||||||
|
GO
|
||||||
|
|
||||||
|
/*****************************************************************************
|
||||||
|
Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
|
||||||
|
Copyright 2012 - Volian Enterprises, Inc. All rights reserved.
|
||||||
|
*****************************************************************************/
|
||||||
|
/*
|
||||||
|
==========================================================================================================
|
||||||
|
Author: Jake Ropar
|
||||||
|
Create Date: 06/21/2022
|
||||||
|
Description: (RofstData) Master View for Rofst Value Types
|
||||||
|
(0) Unknown (1) Single Line Text (2) Table (3) Multiple Line Text (4) X/Y Plot (8) Image
|
||||||
|
==========================================================================================================
|
||||||
|
*/
|
||||||
|
Create View [dbo].[vwRofstData_RofstValueTypes]
|
||||||
|
As
|
||||||
|
|
||||||
|
Select '0' as 'TypeID', 'Unknown' as 'TypeDescription'
|
||||||
|
|
||||||
|
Union All
|
||||||
|
|
||||||
|
Select '1' as 'TypeID', 'Single Line Text' as 'TypeDescription' -- Fixed Length Text
|
||||||
|
|
||||||
|
Union All
|
||||||
|
|
||||||
|
Select '2' as 'TypeID', 'Table' as 'TypeDescription'
|
||||||
|
|
||||||
|
Union All
|
||||||
|
|
||||||
|
Select '3' as 'TypeID', 'Multiple Line Text' as 'TypeDescription'
|
||||||
|
|
||||||
|
Union All
|
||||||
|
|
||||||
|
Select '4' as 'TypeID', 'X/Y Plot' as 'TypeDescription'
|
||||||
|
|
||||||
|
Union All
|
||||||
|
|
||||||
|
Select '8' as 'TypeID', 'Image' as 'TypeDescription'
|
||||||
|
|
||||||
|
GO
|
||||||
|
|
||||||
|
IF (@@Error = 0) PRINT 'View Creation: [vwRofstData_RofstValueTypes] Succeeded'
|
||||||
|
ELSE PRINT 'View Creation: [vwRofstData_RofstValueTypes] Error on Creation'
|
||||||
|
GO
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/****** Object: View [dbo].[vwRofstData_RofstBaseRoids] ***********************/
|
||||||
|
If Exists(SELECT * FROM sys.objects Where name = 'vwRofstData_RofstBaseRoids' AND type in (N'V'))
|
||||||
|
DROP VIEW [dbo].[vwRofstData_RofstBaseRoids]
|
||||||
|
GO
|
||||||
|
|
||||||
|
SET ANSI_NULLS ON
|
||||||
|
GO
|
||||||
|
SET QUOTED_IDENTIFIER ON
|
||||||
|
GO
|
||||||
|
|
||||||
|
/*****************************************************************************
|
||||||
|
Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
|
||||||
|
Copyright 2012 - Volian Enterprises, Inc. All rights reserved.
|
||||||
|
*****************************************************************************/
|
||||||
|
/*
|
||||||
|
==========================================================================================================
|
||||||
|
Author: Jake Ropar
|
||||||
|
Create Date: 03/24/2024
|
||||||
|
Description: (RofstData) Master View for Rofst Base Roid / AccPageID Values
|
||||||
|
==========================================================================================================
|
||||||
|
*/
|
||||||
|
Create View [dbo].[vwRofstData_RofstBaseRoids]
|
||||||
|
As
|
||||||
|
|
||||||
|
Select RofstID as 'RofstID',
|
||||||
|
Left(roid, 12) as 'BaseRoid',
|
||||||
|
Left(AccPageID, (Len(AccPageID)-2)) as 'BaseAccPageID'
|
||||||
|
From vwRofstData_RofstDefaultValues
|
||||||
|
Where AccPageID like '%.A';
|
||||||
|
|
||||||
|
GO
|
||||||
|
|
||||||
|
IF (@@Error = 0) PRINT 'View Creation: [vwRofstData_RofstBaseRoids] Succeeded'
|
||||||
|
ELSE PRINT 'View Creation: [vwRofstData_RofstBaseRoids] Error on Creation'
|
||||||
|
GO
|
||||||
|
|
||||||
|
|
||||||
|
/****** Object: View [dbo].[vwRofstData_RofstChildren] ***********************/
|
||||||
|
If Exists(SELECT * FROM sys.objects Where name = 'vwRofstData_RofstChildren' AND type in (N'V'))
|
||||||
|
DROP VIEW [dbo].[vwRofstData_RofstChildren]
|
||||||
|
GO
|
||||||
|
|
||||||
|
SET ANSI_NULLS ON
|
||||||
|
GO
|
||||||
|
SET QUOTED_IDENTIFIER ON
|
||||||
|
GO
|
||||||
|
|
||||||
|
/*****************************************************************************
|
||||||
|
Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
|
||||||
|
Copyright 2012 - Volian Enterprises, Inc. All rights reserved.
|
||||||
|
*****************************************************************************/
|
||||||
|
/*
|
||||||
|
==========================================================================================================
|
||||||
|
Author: Jake Ropar
|
||||||
|
Create Date: 03/24/2024
|
||||||
|
Description: (RofstData) Master View for RofstChildren (RoChild & Groups)
|
||||||
|
==========================================================================================================
|
||||||
|
*/
|
||||||
|
Create View [dbo].[vwRofstData_RofstChildren]
|
||||||
|
As
|
||||||
|
|
||||||
|
Select rc.RofstChildID as 'RofstChildID',
|
||||||
|
rd.RofstID as 'RofstID',
|
||||||
|
-- RoDatabase Info
|
||||||
|
rd.dbiID as 'dbiID',
|
||||||
|
rd.dbiType as 'dbiType',
|
||||||
|
rd.dbiAW as 'dbiAW',
|
||||||
|
rd.dbiTitle as 'dbiTitle',
|
||||||
|
rd.dbiAP as 'dbiAP',
|
||||||
|
-- RoChild Info
|
||||||
|
rc.ID as 'ID',
|
||||||
|
rc.ParentID as 'ParentID',
|
||||||
|
rc.[type] as 'type',
|
||||||
|
IsNull(vt.TypeDescription, 'Unknown') as 'TypeDescription',
|
||||||
|
rc.title as 'title',
|
||||||
|
rc.roid as 'roid',
|
||||||
|
rc.appid as 'appid',
|
||||||
|
rc.[value] as 'value',
|
||||||
|
Case When (Not rc.[value] is null) Then rd.dbiAP + '-' + rc.appid Else null End as 'AccPageID'
|
||||||
|
From RofstChild rc With (NoLock)
|
||||||
|
inner join RofstDatabase rd With (NoLock) on rc.RofstID = rd.RofstID and rc.dbiID = rd.dbiID
|
||||||
|
left outer join vwRofstData_RofstValueTypes vt on vt.TypeID = rc.[type];
|
||||||
|
|
||||||
|
GO
|
||||||
|
|
||||||
|
IF (@@Error = 0) PRINT 'View Creation: [vwRofstData_RofstChildren] Succeeded'
|
||||||
|
ELSE PRINT 'View Creation: [vwRofstData_RofstChildren] Error on Creation'
|
||||||
|
GO
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
----------------------------------------------------------------------------------
|
||||||
|
Stored Procs:
|
||||||
|
----------------------------------------------------------------------------------
|
||||||
|
[dbo].[vesp_RofstDataGetChildByID] [Deleted]
|
||||||
|
[dbo].[vesp_RofstDataGetExtensions] [Created]
|
||||||
|
[dbo].[vesp_RofstChildInsert] [Modified]
|
||||||
|
[dbo].[vesp_RofstDataSearch] [Modified]
|
||||||
|
[dbo].[vesp_RofstDataGetChildByAccPageID] [Modified]
|
||||||
|
[dbo].[vesp_RofstDataGetChildByRoid] [Modified]
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/****** Object: StoredProcedure [dbo].[vesp_RofstHeaderInsert] ***********************/
|
||||||
|
If Exists(SELECT * FROM sys.objects Where name = 'vesp_RofstDataGetChildByID' AND type in (N'P'))
|
||||||
|
DROP PROCEDURE [dbo].[vesp_RofstDataGetChildByID]
|
||||||
|
GO
|
||||||
|
|
||||||
|
IF (@@Error = 0) PRINT 'Procedure Deletion: [vesp_RofstDataGetChildByID] Succeeded'
|
||||||
|
ELSE PRINT 'Procedure Deletion: [vesp_RofstDataGetChildByID] Error on Creation'
|
||||||
|
GO
|
||||||
|
|
||||||
|
|
||||||
|
/****** Object: StoredProcedure [dbo].[vesp_RofstDataGetExtensions] ***********************/
|
||||||
|
If Exists(SELECT * FROM sys.objects Where name = 'vesp_RofstDataGetExtensions' AND type in (N'P'))
|
||||||
|
DROP PROCEDURE [dbo].[vesp_RofstDataGetExtensions]
|
||||||
|
GO
|
||||||
|
|
||||||
|
SET ANSI_NULLS ON
|
||||||
|
GO
|
||||||
|
SET QUOTED_IDENTIFIER ON
|
||||||
|
GO
|
||||||
|
|
||||||
|
/*****************************************************************************
|
||||||
|
Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
|
||||||
|
Copyright 2020 - Volian Enterprises, Inc. All rights reserved.
|
||||||
|
*****************************************************************************/
|
||||||
|
/*
|
||||||
|
==========================================================================================================
|
||||||
|
Author: Jake Ropar
|
||||||
|
Create Date: 06/21/2022
|
||||||
|
Description: Gets the Ro Lookup Extensions
|
||||||
|
==========================================================================================================
|
||||||
|
*/
|
||||||
|
Create Procedure [dbo].[vesp_RofstDataGetExtensions]
|
||||||
|
With Execute as Owner
|
||||||
|
As
|
||||||
|
Begin
|
||||||
|
|
||||||
|
Select re.Offset,
|
||||||
|
re.RoidExt,
|
||||||
|
re.AccPageExt
|
||||||
|
From vwRofstData_RofstExtensions re
|
||||||
|
Order By re.Offset Asc;
|
||||||
|
|
||||||
|
|
||||||
|
Return;
|
||||||
|
End
|
||||||
|
|
||||||
|
GO
|
||||||
|
|
||||||
|
IF (@@Error = 0) PRINT 'Procedure Creation: [vesp_RofstDataGetExtensions] Succeeded'
|
||||||
|
ELSE PRINT 'Procedure Creation: [vesp_RofstDataGetExtensions] Error on Creation'
|
||||||
|
GO
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/****** Object: StoredProcedure [dbo].[vesp_RofstChildInsert] ***********************/
|
||||||
|
If Exists(SELECT * FROM sys.objects Where name = 'vesp_RofstChildInsert' AND type in (N'P'))
|
||||||
|
DROP PROCEDURE [dbo].[vesp_RofstChildInsert]
|
||||||
|
GO
|
||||||
|
|
||||||
|
SET ANSI_NULLS ON
|
||||||
|
GO
|
||||||
|
SET QUOTED_IDENTIFIER ON
|
||||||
|
GO
|
||||||
|
|
||||||
|
/*****************************************************************************
|
||||||
|
Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
|
||||||
|
Copyright 2020 - Volian Enterprises, Inc. All rights reserved.
|
||||||
|
*****************************************************************************/
|
||||||
|
/*
|
||||||
|
==========================================================================================================
|
||||||
|
Author: Jake Ropar
|
||||||
|
Create Date: 03/24/2022
|
||||||
|
Description:
|
||||||
|
==========================================================================================================
|
||||||
|
*/
|
||||||
|
Create Procedure [dbo].[vesp_RofstChildInsert]
|
||||||
|
(
|
||||||
|
@RofstID Int,
|
||||||
|
@ID Int,
|
||||||
|
@ParentID Int,
|
||||||
|
@dbiID Int,
|
||||||
|
@type Int,
|
||||||
|
@title VarChar(Max),
|
||||||
|
@roid VarChar(50),
|
||||||
|
@appid VarChar(Max) = null,
|
||||||
|
@value VarChar(Max) = null
|
||||||
|
)
|
||||||
|
With Execute as Owner
|
||||||
|
As
|
||||||
|
Begin
|
||||||
|
|
||||||
|
Declare @BaseAccPageID VarChar(Max) = null;
|
||||||
|
Declare @DefaultValues VarChar(Max);
|
||||||
|
|
||||||
|
|
||||||
|
-- Create Rofst Child/Group Record --> [Roid = (12) Digits]
|
||||||
|
Insert Into RofstChild (RofstID, ID, ParentID, dbiID, [type], title, roid, appid, [value])
|
||||||
|
Values (@RofstID, @ID, @ParentID, @dbiID, @type, @title, @roid, @appid, @value);
|
||||||
|
|
||||||
|
|
||||||
|
-- Check for appid, if exists, then insert the default value for each return type if multi-value
|
||||||
|
If (Len(@appid) > 0)
|
||||||
|
Begin
|
||||||
|
|
||||||
|
-- Get Accessory Page ID
|
||||||
|
Select @BaseAccPageID = dbo.vefn_RofstDataCleanUnitInfoTags(Concat(d.dbiAP, '-', @appid), 1)
|
||||||
|
From RofstDatabase d with (NoLock)
|
||||||
|
Where d.RofstID = @RofstID And d.dbiID = @dbiID;
|
||||||
|
|
||||||
|
-- Insert Rofst Default Value(s) (Children RoChild) --> [Roid = (16) Digits]
|
||||||
|
Select @DefaultValues = Replace(dbo.vefn_RofstDataReplaceVars(@value), '{', '');
|
||||||
|
|
||||||
|
With ChildrenValues as
|
||||||
|
(
|
||||||
|
Select x.ListPosition as 'OffsetIndex',
|
||||||
|
Case When (PatIndex('%=%', x.ListValue) > 0) Then Right(x.ListValue, Len(x.ListValue)-PatIndex('%=%', x.ListValue)) Else x.ListValue End as 'DefaultValue'
|
||||||
|
From [dbo].[vefn_ParseStringListToTable](@DefaultValues, '}') x
|
||||||
|
Where Len(x.ListValue) > 0
|
||||||
|
)
|
||||||
|
Insert Into RofstDefaultValue (RofstID, roid, [value], AccPageID)
|
||||||
|
Select @RofstID as 'RofstID',
|
||||||
|
Concat(@roid, re.RoidExt) as 'roid',
|
||||||
|
Case When (Len(RTrim(LTrim(cv.DefaultValue))) > 0 ) Then dbo.vefn_RofstDataCleanUnitInfoTags(cv.DefaultValue, 0) Else '[TBD]' End as 'value',
|
||||||
|
Concat(@BaseAccPageID, '.', re.AccPageExt) as 'AccPageID'
|
||||||
|
From ChildrenValues cv
|
||||||
|
inner join vwRofstData_RofstExtensions re on re.Offset = cv.OffsetIndex
|
||||||
|
Order By cv.OffsetIndex Asc
|
||||||
|
|
||||||
|
|
||||||
|
End -- (Len(@appid) > 0)
|
||||||
|
|
||||||
|
|
||||||
|
Return;
|
||||||
|
|
||||||
|
End
|
||||||
|
Go
|
||||||
|
|
||||||
|
IF (@@Error = 0) PRINT 'Procedure Creation: [vesp_RofstChildInsert] Succeeded'
|
||||||
|
ELSE PRINT 'Procedure Creation: [vesp_RofstChildInsert] Error on Creation'
|
||||||
|
GO
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/****** Object: StoredProcedure [dbo].[vesp_RofstDataSearch] ***********************/
|
||||||
|
If Exists(SELECT * FROM sys.objects Where name = 'vesp_RofstDataSearch' AND type in (N'P'))
|
||||||
|
DROP PROCEDURE [dbo].[vesp_RofstDataSearch]
|
||||||
|
GO
|
||||||
|
|
||||||
|
SET ANSI_NULLS ON
|
||||||
|
GO
|
||||||
|
SET QUOTED_IDENTIFIER ON
|
||||||
|
GO
|
||||||
|
|
||||||
|
/*****************************************************************************
|
||||||
|
Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
|
||||||
|
Copyright 2020 - Volian Enterprises, Inc. All rights reserved.
|
||||||
|
*****************************************************************************/
|
||||||
|
/*
|
||||||
|
==========================================================================================================
|
||||||
|
Author: Jake Ropar
|
||||||
|
Create Date: 03/24/2022
|
||||||
|
Description: RO Default Value Search
|
||||||
|
|
||||||
|
@SearchTypeID => (1) Starts With (2) Ends With (3) Contains (4) Exact Match
|
||||||
|
==========================================================================================================
|
||||||
|
*/
|
||||||
|
Create Procedure [dbo].[vesp_RofstDataSearch]
|
||||||
|
(
|
||||||
|
@RofstID int,
|
||||||
|
@Value VarChar(Max) = null,
|
||||||
|
@SearchTypeID Int = 1, -- Starts With
|
||||||
|
@OnlyRoid16 Bit = 1, -- Return Only Roid16 Records
|
||||||
|
@MaxNumOfRecords Int = null
|
||||||
|
)
|
||||||
|
With Execute as Owner
|
||||||
|
As
|
||||||
|
Begin
|
||||||
|
|
||||||
|
-- Remove any leading/trailing white spaces
|
||||||
|
Set @Value = dbo.vefn_Clean( @Value, 0, null );
|
||||||
|
|
||||||
|
-- Escape any % signs in the search value
|
||||||
|
Set @Value = Replace( @Value, '%', '[%]' );
|
||||||
|
|
||||||
|
-- Format search value
|
||||||
|
If (Len(@Value) = 0) Set @Value = null;
|
||||||
|
|
||||||
|
-- Create Temp Results Table
|
||||||
|
Create Table #SearchResults (roid VarChar(50) Not Null, [value] VarChar(Max), RowNum Int Not Null Primary Key);
|
||||||
|
|
||||||
|
-- Select roids/values based on search criteria
|
||||||
|
Insert Into #SearchResults (roid, [value], RowNum)
|
||||||
|
Select rdv.roid,
|
||||||
|
rdv.[value],
|
||||||
|
Row_Number() Over (Order By rdv.[value] Asc, rdv.roid Asc) as 'RowNum'
|
||||||
|
From vwRofstData_RofstDefaultValues rdv
|
||||||
|
Where rdv.RofstID = @RofstID
|
||||||
|
And (@OnlyRoid16 = 0 Or Len(rdv.roid) = 16)
|
||||||
|
And ((@Value is null)
|
||||||
|
Or (@SearchTypeID = 1 And rdv.[value] like @Value + '%') -- Starts With
|
||||||
|
Or (@SearchTypeID = 2 And rdv.[value] like '%' + @Value) -- Ends With
|
||||||
|
Or (@SearchTypeID = 3 And rdv.[value] like '%' + @Value + '%') -- Contains
|
||||||
|
Or (@SearchTypeID = 4 And rdv.[value] = @Value)) -- Exact Match
|
||||||
|
Order By rdv.[value] Asc, rdv.roid Asc
|
||||||
|
Option (Recompile);
|
||||||
|
|
||||||
|
-- Return the specified number of results
|
||||||
|
Select sr.roid, sr.[value]
|
||||||
|
From #SearchResults sr
|
||||||
|
Where (@MaxNumOfRecords is null Or sr.RowNum <= @MaxNumOfRecords)
|
||||||
|
Order By sr.RowNum Asc;
|
||||||
|
|
||||||
|
Return;
|
||||||
|
End
|
||||||
|
GO
|
||||||
|
|
||||||
|
IF (@@Error = 0) PRINT 'Procedure Creation: [vesp_RofstDataSearch] Succeeded'
|
||||||
|
ELSE PRINT 'Procedure Creation: [vesp_RofstDataSearch] Error on Creation'
|
||||||
|
GO
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/****** Object: StoredProcedure [dbo].[vesp_RofstDataGetChildByAccPageID] ***********************/
|
||||||
|
If Exists(SELECT * FROM sys.objects Where name = 'vesp_RofstDataGetChildByAccPageID' AND type in (N'P'))
|
||||||
|
DROP PROCEDURE [dbo].[vesp_RofstDataGetChildByAccPageID]
|
||||||
|
GO
|
||||||
|
|
||||||
|
SET ANSI_NULLS ON
|
||||||
|
GO
|
||||||
|
SET QUOTED_IDENTIFIER ON
|
||||||
|
GO
|
||||||
|
|
||||||
|
/*****************************************************************************
|
||||||
|
Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
|
||||||
|
Copyright 2020 - Volian Enterprises, Inc. All rights reserved.
|
||||||
|
*****************************************************************************/
|
||||||
|
/*
|
||||||
|
==========================================================================================================
|
||||||
|
Author: Jake Ropar
|
||||||
|
Create Date: 03/24/2022
|
||||||
|
Description: Check if the AccPageID passed in has a specific Return Value Type Extension (.A, .B, .C, etc.)
|
||||||
|
If so, then strip off the return value specific extension to get the BaseAccPageID for the lookup.
|
||||||
|
Use the BaseAccPageID to lookup the BaseRoid, then use the Roid to lookup the Ro Child Object
|
||||||
|
|
||||||
|
Note** Using the AccPageID to first lookup the roid, then using the roid to lookup the data is
|
||||||
|
significantly faster than directly looking up the data using the AccPageID because of the indexes
|
||||||
|
==========================================================================================================
|
||||||
|
*/
|
||||||
|
Create Procedure [dbo].[vesp_RofstDataGetChildByAccPageID]
|
||||||
|
(
|
||||||
|
@RofstID int,
|
||||||
|
@AccPageID VarChar(50)
|
||||||
|
)
|
||||||
|
With Execute as Owner
|
||||||
|
As
|
||||||
|
Begin
|
||||||
|
|
||||||
|
Declare @BaseAccPageID VarChar(Max);
|
||||||
|
Declare @Roid VarChar(Max);
|
||||||
|
|
||||||
|
If (PatIndex('%.[A-Z]', @AccPageID) > 0)
|
||||||
|
Set @BaseAccPageID = Left(@AccPageID, Len(@AccPageID)-2);
|
||||||
|
Else
|
||||||
|
Set @BaseAccPageID = @AccPageID;
|
||||||
|
|
||||||
|
-- First use the AccPageID to get the BaseRoid
|
||||||
|
Select @Roid = rb.BaseRoid
|
||||||
|
From vwRofstData_RofstBaseRoids rb
|
||||||
|
Where rb.RofstID = @RofstID
|
||||||
|
And rb.BaseAccPageID = @BaseAccPageID;
|
||||||
|
|
||||||
|
-- Then use the Roid to lookup the Ro Child Object
|
||||||
|
Select rc.ROFstID,
|
||||||
|
rc.dbiID,
|
||||||
|
rc.ID,
|
||||||
|
rc.ParentID,
|
||||||
|
rc.[type],
|
||||||
|
rc.title,
|
||||||
|
rc.roid,
|
||||||
|
rc.appid,
|
||||||
|
rc.[value],
|
||||||
|
rc.AccPageID
|
||||||
|
From vwRofstData_RofstChildren rc
|
||||||
|
Where rc.RofstID = @RofstID
|
||||||
|
And rc.roid = @Roid;
|
||||||
|
|
||||||
|
Return;
|
||||||
|
End
|
||||||
|
GO
|
||||||
|
|
||||||
|
IF (@@Error = 0) PRINT 'Procedure Creation: [vesp_RofstDataGetChildByAccPageID] Succeeded'
|
||||||
|
ELSE PRINT 'Procedure Creation: [vesp_RofstDataGetChildByAccPageID] Error on Creation'
|
||||||
|
GO
|
||||||
|
|
||||||
|
|
||||||
|
/****** Object: StoredProcedure [dbo].[vesp_RofstDataGetChildByRoid] ***********************/
|
||||||
|
If Exists(SELECT * FROM sys.objects Where name = 'vesp_RofstDataGetChildByRoid' AND type in (N'P'))
|
||||||
|
DROP PROCEDURE [dbo].[vesp_RofstDataGetChildByRoid]
|
||||||
|
GO
|
||||||
|
|
||||||
|
SET ANSI_NULLS ON
|
||||||
|
GO
|
||||||
|
SET QUOTED_IDENTIFIER ON
|
||||||
|
GO
|
||||||
|
|
||||||
|
/*****************************************************************************
|
||||||
|
Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
|
||||||
|
Copyright 2020 - Volian Enterprises, Inc. All rights reserved.
|
||||||
|
*****************************************************************************/
|
||||||
|
/*
|
||||||
|
==========================================================================================================
|
||||||
|
Author: Jake Ropar
|
||||||
|
Create Date: 03/24/2022
|
||||||
|
Description: The data in the Rofst Children table currently only goes down to the (12) digit roid level.
|
||||||
|
To look up a specific return type value (16) digit roid for a RO object, you first have to
|
||||||
|
load the base RO object by its (12) digit roid in code, and then look for the specific
|
||||||
|
return value in the RO objects children collection because the values for any
|
||||||
|
multiple/variable return type formats can vary at runtime, based on your current selected
|
||||||
|
DocVersion and the Selected Slave (Unit) / OtherChild Override.
|
||||||
|
==========================================================================================================
|
||||||
|
*/
|
||||||
|
Create Procedure [dbo].[vesp_RofstDataGetChildByRoid]
|
||||||
|
(
|
||||||
|
@RofstID int,
|
||||||
|
@Roid VarChar(50)
|
||||||
|
)
|
||||||
|
With Execute as Owner
|
||||||
|
As
|
||||||
|
Begin
|
||||||
|
|
||||||
|
-- Only use the first (12) characters to lookup an RoChild by its roid
|
||||||
|
-- If its a (16) digit roid, then use its last (4) characters [roidExt ==> specific to a return type value]
|
||||||
|
-- to select the specified return value format type in the code once all of the children Ro Return types have
|
||||||
|
-- been loaded into memory in the code
|
||||||
|
|
||||||
|
Set @Roid = Left(@Roid + '00000000', 12);
|
||||||
|
|
||||||
|
Select rc.ROFstID,
|
||||||
|
rc.dbiID,
|
||||||
|
rc.ID,
|
||||||
|
rc.ParentID,
|
||||||
|
rc.[type],
|
||||||
|
rc.title,
|
||||||
|
rc.roid,
|
||||||
|
rc.appid,
|
||||||
|
rc.[value],
|
||||||
|
rc.AccPageID
|
||||||
|
From vwRofstData_RofstChildren rc
|
||||||
|
Where rc.RofstID = @RofstID
|
||||||
|
And rc.roid = @Roid;
|
||||||
|
|
||||||
|
Return;
|
||||||
|
End
|
||||||
|
|
||||||
|
GO
|
||||||
|
|
||||||
|
IF (@@Error = 0) PRINT 'Procedure Creation: [vesp_RofstDataGetChildByRoid] Succeeded'
|
||||||
|
ELSE PRINT 'Procedure Creation: [vesp_RofstDataGetChildByRoid] Error on Creation'
|
||||||
|
GO
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- Delete All Existing Rofst Table Data
|
||||||
|
Delete From RofstHeader;
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
==========================================================================================================
|
||||||
|
End: B2022-083: Support Conditional RO Values (v2.1)
|
||||||
|
==========================================================================================================
|
||||||
|
*/
|
||||||
|
|
||||||
-----------------------------------------------------------------------------
|
-----------------------------------------------------------------------------
|
||||||
/*
|
/*
|
||||||
@ -20073,7 +20967,7 @@ GO
|
|||||||
|
|
||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
|
Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
|
||||||
Copyright 2021 - Volian Enterprises, Inc. All rights reserved.
|
Copyright 2022 - Volian Enterprises, Inc. All rights reserved.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
CREATE PROCEDURE [dbo].[vesp_GetSQLCodeRevision]
|
CREATE PROCEDURE [dbo].[vesp_GetSQLCodeRevision]
|
||||||
WITH EXECUTE AS OWNER
|
WITH EXECUTE AS OWNER
|
||||||
@ -20085,8 +20979,8 @@ BEGIN TRY -- Try Block
|
|||||||
DECLARE @RevDate varchar(255)
|
DECLARE @RevDate varchar(255)
|
||||||
DECLARE @RevDescription varchar(255)
|
DECLARE @RevDescription varchar(255)
|
||||||
|
|
||||||
set @RevDate = '07/12/2022 11:15 AM'
|
set @RevDate = '07/27/2022 1:20 PM'
|
||||||
set @RevDescription = 'ROFST Lookup / Memory Fixes (v2.0) - New procedures for Reduction of Memory Use'
|
set @RevDescription = 'B2022-083: Support Conditional RO Values (v2.1)'
|
||||||
|
|
||||||
Select cast(@RevDate as datetime) RevDate, @RevDescription RevDescription
|
Select cast(@RevDate as datetime) RevDate, @RevDescription RevDescription
|
||||||
PRINT 'SQL Code Revision ' + @RevDate + ' - ' + @RevDescription
|
PRINT 'SQL Code Revision ' + @RevDate + ' - ' + @RevDescription
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -20041,15 +20041,909 @@ GO
|
|||||||
GO
|
GO
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
==========================================================================================================
|
==========================================================================================================
|
||||||
End: B2022-026 RO Memory reduction coding (Jakes Merge) [Version 2.0]
|
End: B2022-026 RO Memory reduction coding (Jakes Merge) [Version 2.0]
|
||||||
==========================================================================================================
|
==========================================================================================================
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
==========================================================================================================
|
||||||
|
Start: B2022-083: Support Conditional RO Values (v2.1)
|
||||||
|
==========================================================================================================
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
----------------------------------------------------------------------------------
|
||||||
|
Tables:
|
||||||
|
----------------------------------------------------------------------------------
|
||||||
|
[RofstExtension] [Created]
|
||||||
|
*/
|
||||||
|
|
||||||
|
-- If RofstExtension table already exists then don't drop and recreate it
|
||||||
|
IF Not Exists(SELECT * FROM sys.objects Where name = 'RofstExtension' AND type in (N'U'))
|
||||||
|
Begin
|
||||||
|
|
||||||
|
SET ANSI_NULLS ON
|
||||||
|
SET QUOTED_IDENTIFIER ON
|
||||||
|
|
||||||
|
CREATE TABLE [dbo].[RofstExtension](
|
||||||
|
[Offset] [int] NOT NULL,
|
||||||
|
[RoidExt] [varchar](4) NOT NULL,
|
||||||
|
[AccPageExt] [varchar](5) NOT NULL,
|
||||||
|
CONSTRAINT [PK_RofstExtension] PRIMARY KEY CLUSTERED
|
||||||
|
(
|
||||||
|
[Offset] ASC
|
||||||
|
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
|
||||||
|
) ON [PRIMARY]
|
||||||
|
|
||||||
|
IF (@@Error = 0) PRINT 'Table Creation: [RofstExtension] Succeeded'
|
||||||
|
ELSE PRINT 'Table Creation: [RofstExtension] Error on Creation'
|
||||||
|
|
||||||
|
IF (@@Error = 0)
|
||||||
|
Begin
|
||||||
|
|
||||||
|
Insert Into RofstExtension (Offset, RoidExt, AccPageExt) Values (1,'0041','A');
|
||||||
|
Insert Into RofstExtension (Offset, RoidExt, AccPageExt) Values (2,'0042','B');
|
||||||
|
Insert Into RofstExtension (Offset, RoidExt, AccPageExt) Values (3,'0043','C');
|
||||||
|
Insert Into RofstExtension (Offset, RoidExt, AccPageExt) Values (4,'0044','D');
|
||||||
|
Insert Into RofstExtension (Offset, RoidExt, AccPageExt) Values (5,'0045','E');
|
||||||
|
Insert Into RofstExtension (Offset, RoidExt, AccPageExt) Values (6,'0046','F');
|
||||||
|
Insert Into RofstExtension (Offset, RoidExt, AccPageExt) Values (7,'0047','G');
|
||||||
|
Insert Into RofstExtension (Offset, RoidExt, AccPageExt) Values (8,'0048','H');
|
||||||
|
Insert Into RofstExtension (Offset, RoidExt, AccPageExt) Values (9,'0049','I');
|
||||||
|
Insert Into RofstExtension (Offset, RoidExt, AccPageExt) Values (10,'004A','J');
|
||||||
|
Insert Into RofstExtension (Offset, RoidExt, AccPageExt) Values (11,'004B','K');
|
||||||
|
Insert Into RofstExtension (Offset, RoidExt, AccPageExt) Values (12,'004C','L');
|
||||||
|
Insert Into RofstExtension (Offset, RoidExt, AccPageExt) Values (13,'004D','M');
|
||||||
|
Insert Into RofstExtension (Offset, RoidExt, AccPageExt) Values (14,'004E','N');
|
||||||
|
Insert Into RofstExtension (Offset, RoidExt, AccPageExt) Values (15,'004F','O');
|
||||||
|
Insert Into RofstExtension (Offset, RoidExt, AccPageExt) Values (16,'0050','P');
|
||||||
|
Insert Into RofstExtension (Offset, RoidExt, AccPageExt) Values (17,'0051','Q');
|
||||||
|
Insert Into RofstExtension (Offset, RoidExt, AccPageExt) Values (18,'0052','R');
|
||||||
|
Insert Into RofstExtension (Offset, RoidExt, AccPageExt) Values (19,'0053','S');
|
||||||
|
Insert Into RofstExtension (Offset, RoidExt, AccPageExt) Values (20,'0054','T');
|
||||||
|
Insert Into RofstExtension (Offset, RoidExt, AccPageExt) Values (21,'0055','U');
|
||||||
|
Insert Into RofstExtension (Offset, RoidExt, AccPageExt) Values (22,'0056','V');
|
||||||
|
Insert Into RofstExtension (Offset, RoidExt, AccPageExt) Values (23,'0057','W');
|
||||||
|
Insert Into RofstExtension (Offset, RoidExt, AccPageExt) Values (24,'0058','X');
|
||||||
|
Insert Into RofstExtension (Offset, RoidExt, AccPageExt) Values (25,'0059','Y');
|
||||||
|
Insert Into RofstExtension (Offset, RoidExt, AccPageExt) Values (26,'005A','Z');
|
||||||
|
|
||||||
|
End
|
||||||
|
|
||||||
|
End
|
||||||
|
Go
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
----------------------------------------------------------------------------------
|
||||||
|
Functions:
|
||||||
|
----------------------------------------------------------------------------------
|
||||||
|
[dbo].[vefn_RofstDataCleanUnitInfoTags] [Created]
|
||||||
|
[dbo].[vefn_RofstDataReplaceLegacyTagsWithDefaults] [Created]
|
||||||
|
[dbo].[vefn_RofstDataReplaceVars] [Modified]
|
||||||
|
*/
|
||||||
|
|
||||||
|
/****** Object: UserDefinedFunction [dbo].[vefn_RofstDataCleanUnitInfoTags] ***********************/
|
||||||
|
If Exists(SELECT * FROM sys.objects Where name = 'vefn_RofstDataCleanUnitInfoTags' AND type in (N'FN'))
|
||||||
|
DROP FUNCTION [dbo].[vefn_RofstDataCleanUnitInfoTags]
|
||||||
|
GO
|
||||||
|
|
||||||
|
SET ANSI_NULLS ON
|
||||||
|
GO
|
||||||
|
SET QUOTED_IDENTIFIER ON
|
||||||
|
GO
|
||||||
|
|
||||||
|
-- ==========================================================================================
|
||||||
|
-- Author: Jake Ropar
|
||||||
|
-- Create Date: 06/21/2022
|
||||||
|
-- Description: Removes any legacy legacy unit info variables and fixes older applicability tags
|
||||||
|
-- ==========================================================================================
|
||||||
|
|
||||||
|
CREATE FUNCTION [dbo].[vefn_RofstDataCleanUnitInfoTags](@Values VarChar(Max), @RemoveUnitInfoVars bit = 0) Returns VarChar(Max)
|
||||||
|
WITH EXECUTE AS OWNER
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
|
||||||
|
Declare @RetVal VarChar(Max) = '';
|
||||||
|
|
||||||
|
Set @RetVal = dbo.vefn_Clean(@Values, 1, null);
|
||||||
|
|
||||||
|
If (Len(@RetVal) > 0)
|
||||||
|
Begin
|
||||||
|
|
||||||
|
-- Make Sure all tag/var instances are upper case & Remove any internal spaces
|
||||||
|
Set @RetVal = Replace(@RetVal, 'U-OTHER TEXT', 'U-OTHERTEXT');
|
||||||
|
Set @RetVal = Replace(@RetVal, 'U-OTHER NUMBER', 'U-OTHERNUMBER');
|
||||||
|
Set @RetVal = Replace(@RetVal, 'U-OTHER NAME', 'U-OTHERNAME');
|
||||||
|
Set @RetVal = Replace(@RetVal, 'U-OTHER ID', 'U-OTHERID');
|
||||||
|
Set @RetVal = Replace(@RetVal, '<u>', '<U-ID>');
|
||||||
|
|
||||||
|
If (@RemoveUnitInfoVars > 0)
|
||||||
|
Begin
|
||||||
|
|
||||||
|
-- Remove any Unit Info Variables
|
||||||
|
Set @RetVal = Replace(@RetVal, '<u>', '');
|
||||||
|
Set @RetVal = Replace(@RetVal, '<U-ID>', '');
|
||||||
|
Set @RetVal = Replace(@RetVal, '<U-NUMBER>', '');
|
||||||
|
Set @RetVal = Replace(@RetVal, '<U-NAME>', '');
|
||||||
|
Set @RetVal = Replace(@RetVal, '<U-TEXT>', '');
|
||||||
|
|
||||||
|
Set @RetVal = Replace(@RetVal, '<U-OTHERID>', '');
|
||||||
|
Set @RetVal = Replace(@RetVal, '<U-OTHERNUMBER>', '');
|
||||||
|
Set @RetVal = Replace(@RetVal, '<U-OTHERNAME>', '');
|
||||||
|
Set @RetVal = Replace(@RetVal, '<U-OTHERTEXT>', '');
|
||||||
|
|
||||||
|
End
|
||||||
|
|
||||||
|
End
|
||||||
|
|
||||||
|
Return @RetVal;
|
||||||
|
|
||||||
|
END
|
||||||
|
Go
|
||||||
|
|
||||||
|
IF (@@Error = 0) PRINT 'Function Creation: [vefn_RofstDataCleanUnitInfoTags] Succeeded'
|
||||||
|
ELSE PRINT 'Function Creation: [vefn_RofstDataCleanUnitInfoTags] Error on Creation'
|
||||||
|
GO
|
||||||
|
|
||||||
|
|
||||||
|
/****** Object: UserDefinedFunction [dbo].[vefn_RofstDataReplaceLegacyTagsWithDefaults] ***********************/
|
||||||
|
If Exists(SELECT * FROM sys.objects Where name = 'vefn_RofstDataReplaceLegacyTagsWithDefaults' AND type in (N'FN'))
|
||||||
|
DROP FUNCTION [dbo].[vefn_RofstDataReplaceLegacyTagsWithDefaults]
|
||||||
|
GO
|
||||||
|
|
||||||
|
SET ANSI_NULLS ON
|
||||||
|
GO
|
||||||
|
SET QUOTED_IDENTIFIER ON
|
||||||
|
GO
|
||||||
|
|
||||||
|
-- ==========================================================================================
|
||||||
|
-- Author: Jake Ropar
|
||||||
|
-- Create Date: 06/21/2022
|
||||||
|
-- Description: Replaces any legacy applicability tags with the default value
|
||||||
|
-- ==========================================================================================
|
||||||
|
|
||||||
|
CREATE FUNCTION [dbo].[vefn_RofstDataReplaceLegacyTagsWithDefaults](@Values VarChar(Max)) Returns VarChar(Max)
|
||||||
|
WITH EXECUTE AS OWNER
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
|
||||||
|
Declare @RetVal VarChar(Max) = '';
|
||||||
|
Declare @DefaultValue VarChar(Max) = '';
|
||||||
|
|
||||||
|
Declare @StartTagIndex Int;
|
||||||
|
Declare @EndTagIndex Int;
|
||||||
|
Declare @StartTagValue VarChar(Max);
|
||||||
|
Declare @StartValIndex Int;
|
||||||
|
Declare @EndValIndex Int;
|
||||||
|
|
||||||
|
Declare @TagName VarChar(Max);
|
||||||
|
Declare @LegacyTagNames VarChar(Max) = 'U-ID,U-NUMBER,U-NAME,U-TEXT,U-OTHERID,U-OTHERNUMBER,U-OTHERNAME,U-OTHERTEXT';
|
||||||
|
|
||||||
|
-- Make Sure all tag instances are upper case & Remove any internal spaces
|
||||||
|
Set @RetVal = dbo.vefn_RofstDataCleanUnitInfoTags(@Values, 0);
|
||||||
|
|
||||||
|
|
||||||
|
Declare LegacyTags_Cursor Cursor Fast_Forward For
|
||||||
|
Select '{' + x.ListValue + '{' as 'TagName'
|
||||||
|
From [dbo].[vefn_ParseStringListToTable](@LegacyTagNames, ',') x
|
||||||
|
|
||||||
|
Open LegacyTags_Cursor
|
||||||
|
|
||||||
|
Fetch Next From LegacyTags_Cursor Into @TagName
|
||||||
|
|
||||||
|
While (@@FETCH_STATUS = 0)
|
||||||
|
Begin
|
||||||
|
|
||||||
|
-- Get Start/End Index of Tag
|
||||||
|
Set @StartTagIndex = PatIndex('%' + @TagName + '%', @RetVal);
|
||||||
|
Set @EndTagIndex = PatIndex('%}}%', @RetVal);
|
||||||
|
|
||||||
|
While (@StartTagIndex > 0)
|
||||||
|
Begin
|
||||||
|
|
||||||
|
Set @StartTagValue = SubString(@RetVal, @StartTagIndex, (@EndTagIndex - @StartTagIndex) + 2);
|
||||||
|
|
||||||
|
Set @StartValIndex = PatIndex('%=%', @StartTagValue);
|
||||||
|
Set @EndValIndex = PatIndex('%}%', @StartTagValue);
|
||||||
|
|
||||||
|
Set @DefaultValue = SubString(@StartTagValue, @StartValIndex + 1, (@EndValIndex - @StartValIndex) - 1);
|
||||||
|
Set @RetVal = Replace(@RetVal, @StartTagValue, @DefaultValue);
|
||||||
|
|
||||||
|
Set @StartTagIndex = PatIndex('%' + @TagName + '%', @RetVal);
|
||||||
|
Set @EndTagIndex = PatIndex('%}}%', @RetVal);
|
||||||
|
|
||||||
|
End -- While (@StartTagIndex > 0)
|
||||||
|
|
||||||
|
|
||||||
|
Fetch Next From LegacyTags_Cursor Into @TagName
|
||||||
|
End
|
||||||
|
|
||||||
|
Close LegacyTags_Cursor;
|
||||||
|
Deallocate LegacyTags_Cursor;
|
||||||
|
|
||||||
|
|
||||||
|
Return @RetVal;
|
||||||
|
|
||||||
|
END
|
||||||
|
Go
|
||||||
|
|
||||||
|
IF (@@Error = 0) PRINT 'Function Creation: [vefn_RofstDataReplaceLegacyTagsWithDefaults] Succeeded'
|
||||||
|
ELSE PRINT 'Function Creation: [vefn_RofstDataReplaceLegacyTagsWithDefaults] Error on Creation'
|
||||||
|
GO
|
||||||
|
|
||||||
|
|
||||||
|
/****** Object: UserDefinedFunction [dbo].[vefn_RofstDataReplaceVars] ***********************/
|
||||||
|
If Exists(SELECT * FROM sys.objects Where name = 'vefn_RofstDataReplaceVars' AND type in (N'FN'))
|
||||||
|
DROP FUNCTION [dbo].[vefn_RofstDataReplaceVars]
|
||||||
|
GO
|
||||||
|
|
||||||
|
SET ANSI_NULLS ON
|
||||||
|
GO
|
||||||
|
SET QUOTED_IDENTIFIER ON
|
||||||
|
GO
|
||||||
|
|
||||||
|
-- ==========================================================================================
|
||||||
|
-- Author: Jake Ropar
|
||||||
|
-- Create Date: 3/25/2022
|
||||||
|
-- Description: Replaces Any Variables and returns the rest of the value string
|
||||||
|
-- ==========================================================================================
|
||||||
|
|
||||||
|
CREATE FUNCTION [dbo].[vefn_RofstDataReplaceVars](@Values VarChar(Max)) Returns VarChar(Max)
|
||||||
|
WITH EXECUTE AS OWNER
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
|
||||||
|
Declare @RetVal VarChar(Max) = '';
|
||||||
|
Declare @EqualsIndex Int;
|
||||||
|
Declare @EndIndex Int;
|
||||||
|
Declare @NameValPairStartIndex Int;
|
||||||
|
Declare @NameValPairEndIndex Int;
|
||||||
|
|
||||||
|
Declare @VarPair VarChar(Max);
|
||||||
|
Declare @VarName VarChar(Max);
|
||||||
|
Declare @VarValue VarChar(Max);
|
||||||
|
|
||||||
|
-- Replace Any "<APL /APL>" Tags with the Default Value first
|
||||||
|
Select @RetVal = dbo.vefn_RofstDataReplaceApplTagsWithDefaults(@Values);
|
||||||
|
|
||||||
|
-- Replace Any Legacy Applicability Tags with the Default Value second
|
||||||
|
Select @RetVal = dbo.vefn_RofstDataReplaceLegacyTagsWithDefaults(@RetVal);
|
||||||
|
|
||||||
|
|
||||||
|
If (PatIndex('%{{A%', @RetVal) > 0)
|
||||||
|
Set @EndIndex = PatIndex('%{{A%', @RetVal);
|
||||||
|
Else
|
||||||
|
Set @EndIndex = Len(@RetVal) -1;
|
||||||
|
|
||||||
|
Set @NameValPairStartIndex = PatIndex('%{%', @RetVal);
|
||||||
|
Set @NameValPairEndIndex = PatIndex('%}%', @RetVal);
|
||||||
|
|
||||||
|
While(@NameValPairStartIndex > 0 And @NameValPairStartIndex < @EndIndex)
|
||||||
|
Begin
|
||||||
|
|
||||||
|
-- Get Name Value Pair [ex. {EGS=1214}]
|
||||||
|
Set @VarPair = SubString(@RetVal, @NameValPairStartIndex, (@NameValPairEndIndex - @NameValPairStartIndex) + 1);
|
||||||
|
|
||||||
|
-- Remove Name Value Pair From Return Val
|
||||||
|
Set @RetVal = Replace(@RetVal, @VarPair, '');
|
||||||
|
|
||||||
|
-- Get Variable Name and Value
|
||||||
|
Set @EqualsIndex = PatIndex('%=%', @VarPair);
|
||||||
|
|
||||||
|
If (@EqualsIndex > 0)
|
||||||
|
Begin
|
||||||
|
Set @VarName = SubString(@VarPair, 2, @EqualsIndex - 2);
|
||||||
|
Set @VarValue = SubString(@VarPair, @EqualsIndex + 1, Len(@VarPair) - @EqualsIndex - 1);
|
||||||
|
Set @VarName = Concat('{', @VarName, '}');
|
||||||
|
|
||||||
|
-- Replace All Occurences
|
||||||
|
Set @RetVal = Replace(@RetVal, @VarName, @VarValue);
|
||||||
|
End
|
||||||
|
|
||||||
|
-- Get Updated Index Values
|
||||||
|
If (PatIndex('%{{A%', @RetVal) > 0)
|
||||||
|
Set @EndIndex = PatIndex('%{{A%', @RetVal);
|
||||||
|
Else
|
||||||
|
Set @EndIndex = Len(@RetVal) -1;
|
||||||
|
|
||||||
|
Set @NameValPairStartIndex = PatIndex('%{%', @RetVal);
|
||||||
|
Set @NameValPairEndIndex = PatIndex('%}%', @RetVal);
|
||||||
|
|
||||||
|
End -- End While(@ReplaceVarEndTagIndex > 0)
|
||||||
|
|
||||||
|
Return @RetVal;
|
||||||
|
|
||||||
|
END
|
||||||
|
Go
|
||||||
|
|
||||||
|
IF (@@Error = 0) PRINT 'Function Creation: [vefn_RofstDataReplaceVars] Succeeded'
|
||||||
|
ELSE PRINT 'Function Creation: [vefn_RofstDataReplaceVars] Error on Creation'
|
||||||
|
GO
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
----------------------------------------------------------------------------------
|
||||||
|
Views:
|
||||||
|
----------------------------------------------------------------------------------
|
||||||
|
[dbo].[vwRofstData_RofstExtensions] [Created]
|
||||||
|
[dbo].[vwRofstData_RofstValueTypes] [Created]
|
||||||
|
[dbo].[vwRofstData_RofstBaseRoids] [Created]
|
||||||
|
[dbo].[vwRofstData_RofstChildren] [Modified]
|
||||||
|
*/
|
||||||
|
|
||||||
|
/****** Object: View [dbo].[vwRofstData_RofstExtensions] ***********************/
|
||||||
|
If Exists(SELECT * FROM sys.objects Where name = 'vwRofstData_RofstExtensions' AND type in (N'V'))
|
||||||
|
DROP VIEW [dbo].[vwRofstData_RofstExtensions]
|
||||||
|
GO
|
||||||
|
|
||||||
|
SET ANSI_NULLS ON
|
||||||
|
GO
|
||||||
|
SET QUOTED_IDENTIFIER ON
|
||||||
|
GO
|
||||||
|
|
||||||
|
/*****************************************************************************
|
||||||
|
Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
|
||||||
|
Copyright 2012 - Volian Enterprises, Inc. All rights reserved.
|
||||||
|
*****************************************************************************/
|
||||||
|
/*
|
||||||
|
==========================================================================================================
|
||||||
|
Author: Jake Ropar
|
||||||
|
Create Date: 06/21/2024
|
||||||
|
Description: (RofstData) Master View for RofstExtensions
|
||||||
|
==========================================================================================================
|
||||||
|
*/
|
||||||
|
Create View [dbo].[vwRofstData_RofstExtensions]
|
||||||
|
As
|
||||||
|
|
||||||
|
Select re.Offset as 'Offset',
|
||||||
|
re.RoidExt as 'RoidExt',
|
||||||
|
re.AccPageExt as 'AccPageExt'
|
||||||
|
From RofstExtension re With (NoLock)
|
||||||
|
|
||||||
|
GO
|
||||||
|
|
||||||
|
IF (@@Error = 0) PRINT 'View Creation: [vwRofstData_RofstExtensions] Succeeded'
|
||||||
|
ELSE PRINT 'View Creation: [vwRofstData_RofstExtensions] Error on Creation'
|
||||||
|
GO
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/****** Object: View [dbo].[vwRofstData_RofstValueTypes] ***********************/
|
||||||
|
If Exists(SELECT * FROM sys.objects Where name = 'vwRofstData_RofstValueTypes' AND type in (N'V'))
|
||||||
|
DROP VIEW [dbo].[vwRofstData_RofstValueTypes]
|
||||||
|
GO
|
||||||
|
|
||||||
|
SET ANSI_NULLS ON
|
||||||
|
GO
|
||||||
|
SET QUOTED_IDENTIFIER ON
|
||||||
|
GO
|
||||||
|
|
||||||
|
/*****************************************************************************
|
||||||
|
Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
|
||||||
|
Copyright 2012 - Volian Enterprises, Inc. All rights reserved.
|
||||||
|
*****************************************************************************/
|
||||||
|
/*
|
||||||
|
==========================================================================================================
|
||||||
|
Author: Jake Ropar
|
||||||
|
Create Date: 06/21/2022
|
||||||
|
Description: (RofstData) Master View for Rofst Value Types
|
||||||
|
(0) Unknown (1) Single Line Text (2) Table (3) Multiple Line Text (4) X/Y Plot (8) Image
|
||||||
|
==========================================================================================================
|
||||||
|
*/
|
||||||
|
Create View [dbo].[vwRofstData_RofstValueTypes]
|
||||||
|
As
|
||||||
|
|
||||||
|
Select '0' as 'TypeID', 'Unknown' as 'TypeDescription'
|
||||||
|
|
||||||
|
Union All
|
||||||
|
|
||||||
|
Select '1' as 'TypeID', 'Single Line Text' as 'TypeDescription' -- Fixed Length Text
|
||||||
|
|
||||||
|
Union All
|
||||||
|
|
||||||
|
Select '2' as 'TypeID', 'Table' as 'TypeDescription'
|
||||||
|
|
||||||
|
Union All
|
||||||
|
|
||||||
|
Select '3' as 'TypeID', 'Multiple Line Text' as 'TypeDescription'
|
||||||
|
|
||||||
|
Union All
|
||||||
|
|
||||||
|
Select '4' as 'TypeID', 'X/Y Plot' as 'TypeDescription'
|
||||||
|
|
||||||
|
Union All
|
||||||
|
|
||||||
|
Select '8' as 'TypeID', 'Image' as 'TypeDescription'
|
||||||
|
|
||||||
|
GO
|
||||||
|
|
||||||
|
IF (@@Error = 0) PRINT 'View Creation: [vwRofstData_RofstValueTypes] Succeeded'
|
||||||
|
ELSE PRINT 'View Creation: [vwRofstData_RofstValueTypes] Error on Creation'
|
||||||
|
GO
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/****** Object: View [dbo].[vwRofstData_RofstBaseRoids] ***********************/
|
||||||
|
If Exists(SELECT * FROM sys.objects Where name = 'vwRofstData_RofstBaseRoids' AND type in (N'V'))
|
||||||
|
DROP VIEW [dbo].[vwRofstData_RofstBaseRoids]
|
||||||
|
GO
|
||||||
|
|
||||||
|
SET ANSI_NULLS ON
|
||||||
|
GO
|
||||||
|
SET QUOTED_IDENTIFIER ON
|
||||||
|
GO
|
||||||
|
|
||||||
|
/*****************************************************************************
|
||||||
|
Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
|
||||||
|
Copyright 2012 - Volian Enterprises, Inc. All rights reserved.
|
||||||
|
*****************************************************************************/
|
||||||
|
/*
|
||||||
|
==========================================================================================================
|
||||||
|
Author: Jake Ropar
|
||||||
|
Create Date: 03/24/2024
|
||||||
|
Description: (RofstData) Master View for Rofst Base Roid / AccPageID Values
|
||||||
|
==========================================================================================================
|
||||||
|
*/
|
||||||
|
Create View [dbo].[vwRofstData_RofstBaseRoids]
|
||||||
|
As
|
||||||
|
|
||||||
|
Select RofstID as 'RofstID',
|
||||||
|
Left(roid, 12) as 'BaseRoid',
|
||||||
|
Left(AccPageID, (Len(AccPageID)-2)) as 'BaseAccPageID'
|
||||||
|
From vwRofstData_RofstDefaultValues
|
||||||
|
Where AccPageID like '%.A';
|
||||||
|
|
||||||
|
GO
|
||||||
|
|
||||||
|
IF (@@Error = 0) PRINT 'View Creation: [vwRofstData_RofstBaseRoids] Succeeded'
|
||||||
|
ELSE PRINT 'View Creation: [vwRofstData_RofstBaseRoids] Error on Creation'
|
||||||
|
GO
|
||||||
|
|
||||||
|
|
||||||
|
/****** Object: View [dbo].[vwRofstData_RofstChildren] ***********************/
|
||||||
|
If Exists(SELECT * FROM sys.objects Where name = 'vwRofstData_RofstChildren' AND type in (N'V'))
|
||||||
|
DROP VIEW [dbo].[vwRofstData_RofstChildren]
|
||||||
|
GO
|
||||||
|
|
||||||
|
SET ANSI_NULLS ON
|
||||||
|
GO
|
||||||
|
SET QUOTED_IDENTIFIER ON
|
||||||
|
GO
|
||||||
|
|
||||||
|
/*****************************************************************************
|
||||||
|
Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
|
||||||
|
Copyright 2012 - Volian Enterprises, Inc. All rights reserved.
|
||||||
|
*****************************************************************************/
|
||||||
|
/*
|
||||||
|
==========================================================================================================
|
||||||
|
Author: Jake Ropar
|
||||||
|
Create Date: 03/24/2024
|
||||||
|
Description: (RofstData) Master View for RofstChildren (RoChild & Groups)
|
||||||
|
==========================================================================================================
|
||||||
|
*/
|
||||||
|
Create View [dbo].[vwRofstData_RofstChildren]
|
||||||
|
As
|
||||||
|
|
||||||
|
Select rc.RofstChildID as 'RofstChildID',
|
||||||
|
rd.RofstID as 'RofstID',
|
||||||
|
-- RoDatabase Info
|
||||||
|
rd.dbiID as 'dbiID',
|
||||||
|
rd.dbiType as 'dbiType',
|
||||||
|
rd.dbiAW as 'dbiAW',
|
||||||
|
rd.dbiTitle as 'dbiTitle',
|
||||||
|
rd.dbiAP as 'dbiAP',
|
||||||
|
-- RoChild Info
|
||||||
|
rc.ID as 'ID',
|
||||||
|
rc.ParentID as 'ParentID',
|
||||||
|
rc.[type] as 'type',
|
||||||
|
IsNull(vt.TypeDescription, 'Unknown') as 'TypeDescription',
|
||||||
|
rc.title as 'title',
|
||||||
|
rc.roid as 'roid',
|
||||||
|
rc.appid as 'appid',
|
||||||
|
rc.[value] as 'value',
|
||||||
|
Case When (Not rc.[value] is null) Then rd.dbiAP + '-' + rc.appid Else null End as 'AccPageID'
|
||||||
|
From RofstChild rc With (NoLock)
|
||||||
|
inner join RofstDatabase rd With (NoLock) on rc.RofstID = rd.RofstID and rc.dbiID = rd.dbiID
|
||||||
|
left outer join vwRofstData_RofstValueTypes vt on vt.TypeID = rc.[type];
|
||||||
|
|
||||||
|
GO
|
||||||
|
|
||||||
|
IF (@@Error = 0) PRINT 'View Creation: [vwRofstData_RofstChildren] Succeeded'
|
||||||
|
ELSE PRINT 'View Creation: [vwRofstData_RofstChildren] Error on Creation'
|
||||||
|
GO
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
----------------------------------------------------------------------------------
|
||||||
|
Stored Procs:
|
||||||
|
----------------------------------------------------------------------------------
|
||||||
|
[dbo].[vesp_RofstDataGetChildByID] [Deleted]
|
||||||
|
[dbo].[vesp_RofstDataGetExtensions] [Created]
|
||||||
|
[dbo].[vesp_RofstChildInsert] [Modified]
|
||||||
|
[dbo].[vesp_RofstDataSearch] [Modified]
|
||||||
|
[dbo].[vesp_RofstDataGetChildByAccPageID] [Modified]
|
||||||
|
[dbo].[vesp_RofstDataGetChildByRoid] [Modified]
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/****** Object: StoredProcedure [dbo].[vesp_RofstHeaderInsert] ***********************/
|
||||||
|
If Exists(SELECT * FROM sys.objects Where name = 'vesp_RofstDataGetChildByID' AND type in (N'P'))
|
||||||
|
DROP PROCEDURE [dbo].[vesp_RofstDataGetChildByID]
|
||||||
|
GO
|
||||||
|
|
||||||
|
IF (@@Error = 0) PRINT 'Procedure Deletion: [vesp_RofstDataGetChildByID] Succeeded'
|
||||||
|
ELSE PRINT 'Procedure Deletion: [vesp_RofstDataGetChildByID] Error on Creation'
|
||||||
|
GO
|
||||||
|
|
||||||
|
|
||||||
|
/****** Object: StoredProcedure [dbo].[vesp_RofstDataGetExtensions] ***********************/
|
||||||
|
If Exists(SELECT * FROM sys.objects Where name = 'vesp_RofstDataGetExtensions' AND type in (N'P'))
|
||||||
|
DROP PROCEDURE [dbo].[vesp_RofstDataGetExtensions]
|
||||||
|
GO
|
||||||
|
|
||||||
|
SET ANSI_NULLS ON
|
||||||
|
GO
|
||||||
|
SET QUOTED_IDENTIFIER ON
|
||||||
|
GO
|
||||||
|
|
||||||
|
/*****************************************************************************
|
||||||
|
Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
|
||||||
|
Copyright 2020 - Volian Enterprises, Inc. All rights reserved.
|
||||||
|
*****************************************************************************/
|
||||||
|
/*
|
||||||
|
==========================================================================================================
|
||||||
|
Author: Jake Ropar
|
||||||
|
Create Date: 06/21/2022
|
||||||
|
Description: Gets the Ro Lookup Extensions
|
||||||
|
==========================================================================================================
|
||||||
|
*/
|
||||||
|
Create Procedure [dbo].[vesp_RofstDataGetExtensions]
|
||||||
|
With Execute as Owner
|
||||||
|
As
|
||||||
|
Begin
|
||||||
|
|
||||||
|
Select re.Offset,
|
||||||
|
re.RoidExt,
|
||||||
|
re.AccPageExt
|
||||||
|
From vwRofstData_RofstExtensions re
|
||||||
|
Order By re.Offset Asc;
|
||||||
|
|
||||||
|
|
||||||
|
Return;
|
||||||
|
End
|
||||||
|
|
||||||
|
GO
|
||||||
|
|
||||||
|
IF (@@Error = 0) PRINT 'Procedure Creation: [vesp_RofstDataGetExtensions] Succeeded'
|
||||||
|
ELSE PRINT 'Procedure Creation: [vesp_RofstDataGetExtensions] Error on Creation'
|
||||||
|
GO
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/****** Object: StoredProcedure [dbo].[vesp_RofstChildInsert] ***********************/
|
||||||
|
If Exists(SELECT * FROM sys.objects Where name = 'vesp_RofstChildInsert' AND type in (N'P'))
|
||||||
|
DROP PROCEDURE [dbo].[vesp_RofstChildInsert]
|
||||||
|
GO
|
||||||
|
|
||||||
|
SET ANSI_NULLS ON
|
||||||
|
GO
|
||||||
|
SET QUOTED_IDENTIFIER ON
|
||||||
|
GO
|
||||||
|
|
||||||
|
/*****************************************************************************
|
||||||
|
Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
|
||||||
|
Copyright 2020 - Volian Enterprises, Inc. All rights reserved.
|
||||||
|
*****************************************************************************/
|
||||||
|
/*
|
||||||
|
==========================================================================================================
|
||||||
|
Author: Jake Ropar
|
||||||
|
Create Date: 03/24/2022
|
||||||
|
Description:
|
||||||
|
==========================================================================================================
|
||||||
|
*/
|
||||||
|
Create Procedure [dbo].[vesp_RofstChildInsert]
|
||||||
|
(
|
||||||
|
@RofstID Int,
|
||||||
|
@ID Int,
|
||||||
|
@ParentID Int,
|
||||||
|
@dbiID Int,
|
||||||
|
@type Int,
|
||||||
|
@title VarChar(Max),
|
||||||
|
@roid VarChar(50),
|
||||||
|
@appid VarChar(Max) = null,
|
||||||
|
@value VarChar(Max) = null
|
||||||
|
)
|
||||||
|
With Execute as Owner
|
||||||
|
As
|
||||||
|
Begin
|
||||||
|
|
||||||
|
Declare @BaseAccPageID VarChar(Max) = null;
|
||||||
|
Declare @DefaultValues VarChar(Max);
|
||||||
|
|
||||||
|
|
||||||
|
-- Create Rofst Child/Group Record --> [Roid = (12) Digits]
|
||||||
|
Insert Into RofstChild (RofstID, ID, ParentID, dbiID, [type], title, roid, appid, [value])
|
||||||
|
Values (@RofstID, @ID, @ParentID, @dbiID, @type, @title, @roid, @appid, @value);
|
||||||
|
|
||||||
|
|
||||||
|
-- Check for appid, if exists, then insert the default value for each return type if multi-value
|
||||||
|
If (Len(@appid) > 0)
|
||||||
|
Begin
|
||||||
|
|
||||||
|
-- Get Accessory Page ID
|
||||||
|
Select @BaseAccPageID = dbo.vefn_RofstDataCleanUnitInfoTags(Concat(d.dbiAP, '-', @appid), 1)
|
||||||
|
From RofstDatabase d with (NoLock)
|
||||||
|
Where d.RofstID = @RofstID And d.dbiID = @dbiID;
|
||||||
|
|
||||||
|
-- Insert Rofst Default Value(s) (Children RoChild) --> [Roid = (16) Digits]
|
||||||
|
Select @DefaultValues = Replace(dbo.vefn_RofstDataReplaceVars(@value), '{', '');
|
||||||
|
|
||||||
|
With ChildrenValues as
|
||||||
|
(
|
||||||
|
Select x.ListPosition as 'OffsetIndex',
|
||||||
|
Case When (PatIndex('%=%', x.ListValue) > 0) Then Right(x.ListValue, Len(x.ListValue)-PatIndex('%=%', x.ListValue)) Else x.ListValue End as 'DefaultValue'
|
||||||
|
From [dbo].[vefn_ParseStringListToTable](@DefaultValues, '}') x
|
||||||
|
Where Len(x.ListValue) > 0
|
||||||
|
)
|
||||||
|
Insert Into RofstDefaultValue (RofstID, roid, [value], AccPageID)
|
||||||
|
Select @RofstID as 'RofstID',
|
||||||
|
Concat(@roid, re.RoidExt) as 'roid',
|
||||||
|
Case When (Len(RTrim(LTrim(cv.DefaultValue))) > 0 ) Then dbo.vefn_RofstDataCleanUnitInfoTags(cv.DefaultValue, 0) Else '[TBD]' End as 'value',
|
||||||
|
Concat(@BaseAccPageID, '.', re.AccPageExt) as 'AccPageID'
|
||||||
|
From ChildrenValues cv
|
||||||
|
inner join vwRofstData_RofstExtensions re on re.Offset = cv.OffsetIndex
|
||||||
|
Order By cv.OffsetIndex Asc
|
||||||
|
|
||||||
|
|
||||||
|
End -- (Len(@appid) > 0)
|
||||||
|
|
||||||
|
|
||||||
|
Return;
|
||||||
|
|
||||||
|
End
|
||||||
|
Go
|
||||||
|
|
||||||
|
IF (@@Error = 0) PRINT 'Procedure Creation: [vesp_RofstChildInsert] Succeeded'
|
||||||
|
ELSE PRINT 'Procedure Creation: [vesp_RofstChildInsert] Error on Creation'
|
||||||
|
GO
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/****** Object: StoredProcedure [dbo].[vesp_RofstDataSearch] ***********************/
|
||||||
|
If Exists(SELECT * FROM sys.objects Where name = 'vesp_RofstDataSearch' AND type in (N'P'))
|
||||||
|
DROP PROCEDURE [dbo].[vesp_RofstDataSearch]
|
||||||
|
GO
|
||||||
|
|
||||||
|
SET ANSI_NULLS ON
|
||||||
|
GO
|
||||||
|
SET QUOTED_IDENTIFIER ON
|
||||||
|
GO
|
||||||
|
|
||||||
|
/*****************************************************************************
|
||||||
|
Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
|
||||||
|
Copyright 2020 - Volian Enterprises, Inc. All rights reserved.
|
||||||
|
*****************************************************************************/
|
||||||
|
/*
|
||||||
|
==========================================================================================================
|
||||||
|
Author: Jake Ropar
|
||||||
|
Create Date: 03/24/2022
|
||||||
|
Description: RO Default Value Search
|
||||||
|
|
||||||
|
@SearchTypeID => (1) Starts With (2) Ends With (3) Contains (4) Exact Match
|
||||||
|
==========================================================================================================
|
||||||
|
*/
|
||||||
|
Create Procedure [dbo].[vesp_RofstDataSearch]
|
||||||
|
(
|
||||||
|
@RofstID int,
|
||||||
|
@Value VarChar(Max) = null,
|
||||||
|
@SearchTypeID Int = 1, -- Starts With
|
||||||
|
@OnlyRoid16 Bit = 1, -- Return Only Roid16 Records
|
||||||
|
@MaxNumOfRecords Int = null
|
||||||
|
)
|
||||||
|
With Execute as Owner
|
||||||
|
As
|
||||||
|
Begin
|
||||||
|
|
||||||
|
-- Remove any leading/trailing white spaces
|
||||||
|
Set @Value = dbo.vefn_Clean( @Value, 0, null );
|
||||||
|
|
||||||
|
-- Escape any % signs in the search value
|
||||||
|
Set @Value = Replace( @Value, '%', '[%]' );
|
||||||
|
|
||||||
|
-- Format search value
|
||||||
|
If (Len(@Value) = 0) Set @Value = null;
|
||||||
|
|
||||||
|
-- Create Temp Results Table
|
||||||
|
Create Table #SearchResults (roid VarChar(50) Not Null, [value] VarChar(Max), RowNum Int Not Null Primary Key);
|
||||||
|
|
||||||
|
-- Select roids/values based on search criteria
|
||||||
|
Insert Into #SearchResults (roid, [value], RowNum)
|
||||||
|
Select rdv.roid,
|
||||||
|
rdv.[value],
|
||||||
|
Row_Number() Over (Order By rdv.[value] Asc, rdv.roid Asc) as 'RowNum'
|
||||||
|
From vwRofstData_RofstDefaultValues rdv
|
||||||
|
Where rdv.RofstID = @RofstID
|
||||||
|
And (@OnlyRoid16 = 0 Or Len(rdv.roid) = 16)
|
||||||
|
And ((@Value is null)
|
||||||
|
Or (@SearchTypeID = 1 And rdv.[value] like @Value + '%') -- Starts With
|
||||||
|
Or (@SearchTypeID = 2 And rdv.[value] like '%' + @Value) -- Ends With
|
||||||
|
Or (@SearchTypeID = 3 And rdv.[value] like '%' + @Value + '%') -- Contains
|
||||||
|
Or (@SearchTypeID = 4 And rdv.[value] = @Value)) -- Exact Match
|
||||||
|
Order By rdv.[value] Asc, rdv.roid Asc
|
||||||
|
Option (Recompile);
|
||||||
|
|
||||||
|
-- Return the specified number of results
|
||||||
|
Select sr.roid, sr.[value]
|
||||||
|
From #SearchResults sr
|
||||||
|
Where (@MaxNumOfRecords is null Or sr.RowNum <= @MaxNumOfRecords)
|
||||||
|
Order By sr.RowNum Asc;
|
||||||
|
|
||||||
|
Return;
|
||||||
|
End
|
||||||
|
GO
|
||||||
|
|
||||||
|
IF (@@Error = 0) PRINT 'Procedure Creation: [vesp_RofstDataSearch] Succeeded'
|
||||||
|
ELSE PRINT 'Procedure Creation: [vesp_RofstDataSearch] Error on Creation'
|
||||||
|
GO
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/****** Object: StoredProcedure [dbo].[vesp_RofstDataGetChildByAccPageID] ***********************/
|
||||||
|
If Exists(SELECT * FROM sys.objects Where name = 'vesp_RofstDataGetChildByAccPageID' AND type in (N'P'))
|
||||||
|
DROP PROCEDURE [dbo].[vesp_RofstDataGetChildByAccPageID]
|
||||||
|
GO
|
||||||
|
|
||||||
|
SET ANSI_NULLS ON
|
||||||
|
GO
|
||||||
|
SET QUOTED_IDENTIFIER ON
|
||||||
|
GO
|
||||||
|
|
||||||
|
/*****************************************************************************
|
||||||
|
Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
|
||||||
|
Copyright 2020 - Volian Enterprises, Inc. All rights reserved.
|
||||||
|
*****************************************************************************/
|
||||||
|
/*
|
||||||
|
==========================================================================================================
|
||||||
|
Author: Jake Ropar
|
||||||
|
Create Date: 03/24/2022
|
||||||
|
Description: Check if the AccPageID passed in has a specific Return Value Type Extension (.A, .B, .C, etc.)
|
||||||
|
If so, then strip off the return value specific extension to get the BaseAccPageID for the lookup.
|
||||||
|
Use the BaseAccPageID to lookup the BaseRoid, then use the Roid to lookup the Ro Child Object
|
||||||
|
|
||||||
|
Note** Using the AccPageID to first lookup the roid, then using the roid to lookup the data is
|
||||||
|
significantly faster than directly looking up the data using the AccPageID because of the indexes
|
||||||
|
==========================================================================================================
|
||||||
|
*/
|
||||||
|
Create Procedure [dbo].[vesp_RofstDataGetChildByAccPageID]
|
||||||
|
(
|
||||||
|
@RofstID int,
|
||||||
|
@AccPageID VarChar(50)
|
||||||
|
)
|
||||||
|
With Execute as Owner
|
||||||
|
As
|
||||||
|
Begin
|
||||||
|
|
||||||
|
Declare @BaseAccPageID VarChar(Max);
|
||||||
|
Declare @Roid VarChar(Max);
|
||||||
|
|
||||||
|
If (PatIndex('%.[A-Z]', @AccPageID) > 0)
|
||||||
|
Set @BaseAccPageID = Left(@AccPageID, Len(@AccPageID)-2);
|
||||||
|
Else
|
||||||
|
Set @BaseAccPageID = @AccPageID;
|
||||||
|
|
||||||
|
-- First use the AccPageID to get the BaseRoid
|
||||||
|
Select @Roid = rb.BaseRoid
|
||||||
|
From vwRofstData_RofstBaseRoids rb
|
||||||
|
Where rb.RofstID = @RofstID
|
||||||
|
And rb.BaseAccPageID = @BaseAccPageID;
|
||||||
|
|
||||||
|
-- Then use the Roid to lookup the Ro Child Object
|
||||||
|
Select rc.ROFstID,
|
||||||
|
rc.dbiID,
|
||||||
|
rc.ID,
|
||||||
|
rc.ParentID,
|
||||||
|
rc.[type],
|
||||||
|
rc.title,
|
||||||
|
rc.roid,
|
||||||
|
rc.appid,
|
||||||
|
rc.[value],
|
||||||
|
rc.AccPageID
|
||||||
|
From vwRofstData_RofstChildren rc
|
||||||
|
Where rc.RofstID = @RofstID
|
||||||
|
And rc.roid = @Roid;
|
||||||
|
|
||||||
|
Return;
|
||||||
|
End
|
||||||
|
GO
|
||||||
|
|
||||||
|
IF (@@Error = 0) PRINT 'Procedure Creation: [vesp_RofstDataGetChildByAccPageID] Succeeded'
|
||||||
|
ELSE PRINT 'Procedure Creation: [vesp_RofstDataGetChildByAccPageID] Error on Creation'
|
||||||
|
GO
|
||||||
|
|
||||||
|
|
||||||
|
/****** Object: StoredProcedure [dbo].[vesp_RofstDataGetChildByRoid] ***********************/
|
||||||
|
If Exists(SELECT * FROM sys.objects Where name = 'vesp_RofstDataGetChildByRoid' AND type in (N'P'))
|
||||||
|
DROP PROCEDURE [dbo].[vesp_RofstDataGetChildByRoid]
|
||||||
|
GO
|
||||||
|
|
||||||
|
SET ANSI_NULLS ON
|
||||||
|
GO
|
||||||
|
SET QUOTED_IDENTIFIER ON
|
||||||
|
GO
|
||||||
|
|
||||||
|
/*****************************************************************************
|
||||||
|
Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
|
||||||
|
Copyright 2020 - Volian Enterprises, Inc. All rights reserved.
|
||||||
|
*****************************************************************************/
|
||||||
|
/*
|
||||||
|
==========================================================================================================
|
||||||
|
Author: Jake Ropar
|
||||||
|
Create Date: 03/24/2022
|
||||||
|
Description: The data in the Rofst Children table currently only goes down to the (12) digit roid level.
|
||||||
|
To look up a specific return type value (16) digit roid for a RO object, you first have to
|
||||||
|
load the base RO object by its (12) digit roid in code, and then look for the specific
|
||||||
|
return value in the RO objects children collection because the values for any
|
||||||
|
multiple/variable return type formats can vary at runtime, based on your current selected
|
||||||
|
DocVersion and the Selected Slave (Unit) / OtherChild Override.
|
||||||
|
==========================================================================================================
|
||||||
|
*/
|
||||||
|
Create Procedure [dbo].[vesp_RofstDataGetChildByRoid]
|
||||||
|
(
|
||||||
|
@RofstID int,
|
||||||
|
@Roid VarChar(50)
|
||||||
|
)
|
||||||
|
With Execute as Owner
|
||||||
|
As
|
||||||
|
Begin
|
||||||
|
|
||||||
|
-- Only use the first (12) characters to lookup an RoChild by its roid
|
||||||
|
-- If its a (16) digit roid, then use its last (4) characters [roidExt ==> specific to a return type value]
|
||||||
|
-- to select the specified return value format type in the code once all of the children Ro Return types have
|
||||||
|
-- been loaded into memory in the code
|
||||||
|
|
||||||
|
Set @Roid = Left(@Roid + '00000000', 12);
|
||||||
|
|
||||||
|
Select rc.ROFstID,
|
||||||
|
rc.dbiID,
|
||||||
|
rc.ID,
|
||||||
|
rc.ParentID,
|
||||||
|
rc.[type],
|
||||||
|
rc.title,
|
||||||
|
rc.roid,
|
||||||
|
rc.appid,
|
||||||
|
rc.[value],
|
||||||
|
rc.AccPageID
|
||||||
|
From vwRofstData_RofstChildren rc
|
||||||
|
Where rc.RofstID = @RofstID
|
||||||
|
And rc.roid = @Roid;
|
||||||
|
|
||||||
|
Return;
|
||||||
|
End
|
||||||
|
|
||||||
|
GO
|
||||||
|
|
||||||
|
IF (@@Error = 0) PRINT 'Procedure Creation: [vesp_RofstDataGetChildByRoid] Succeeded'
|
||||||
|
ELSE PRINT 'Procedure Creation: [vesp_RofstDataGetChildByRoid] Error on Creation'
|
||||||
|
GO
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- Delete All Existing Rofst Table Data
|
||||||
|
Delete From RofstHeader;
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
==========================================================================================================
|
||||||
|
End: B2022-083: Support Conditional RO Values (v2.1)
|
||||||
|
==========================================================================================================
|
||||||
|
*/
|
||||||
|
|
||||||
-----------------------------------------------------------------------------
|
-----------------------------------------------------------------------------
|
||||||
/*
|
/*
|
||||||
@ -20073,7 +20967,7 @@ GO
|
|||||||
|
|
||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
|
Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
|
||||||
Copyright 2021 - Volian Enterprises, Inc. All rights reserved.
|
Copyright 2022 - Volian Enterprises, Inc. All rights reserved.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
CREATE PROCEDURE [dbo].[vesp_GetSQLCodeRevision]
|
CREATE PROCEDURE [dbo].[vesp_GetSQLCodeRevision]
|
||||||
WITH EXECUTE AS OWNER
|
WITH EXECUTE AS OWNER
|
||||||
@ -20085,8 +20979,8 @@ BEGIN TRY -- Try Block
|
|||||||
DECLARE @RevDate varchar(255)
|
DECLARE @RevDate varchar(255)
|
||||||
DECLARE @RevDescription varchar(255)
|
DECLARE @RevDescription varchar(255)
|
||||||
|
|
||||||
set @RevDate = '07/12/2022 11:15 AM'
|
set @RevDate = '07/27/2022 1:20 PM'
|
||||||
set @RevDescription = 'ROFST Lookup / Memory Fixes (v2.0) - New procedures for Reduction of Memory Use'
|
set @RevDescription = 'B2022-083: Support Conditional RO Values (v2.1)'
|
||||||
|
|
||||||
Select cast(@RevDate as datetime) RevDate, @RevDescription RevDescription
|
Select cast(@RevDate as datetime) RevDate, @RevDescription RevDescription
|
||||||
PRINT 'SQL Code Revision ' + @RevDate + ' - ' + @RevDescription
|
PRINT 'SQL Code Revision ' + @RevDate + ' - ' + @RevDescription
|
||||||
|
@ -47,7 +47,7 @@ namespace VEPROMS
|
|||||||
this.lblStatus.Location = new System.Drawing.Point(9, 17);
|
this.lblStatus.Location = new System.Drawing.Point(9, 17);
|
||||||
this.lblStatus.Margin = new System.Windows.Forms.Padding(2);
|
this.lblStatus.Margin = new System.Windows.Forms.Padding(2);
|
||||||
this.lblStatus.Name = "lblStatus";
|
this.lblStatus.Name = "lblStatus";
|
||||||
this.lblStatus.Size = new System.Drawing.Size(228, 19);
|
this.lblStatus.Size = new System.Drawing.Size(542, 19);
|
||||||
this.lblStatus.TabIndex = 0;
|
this.lblStatus.TabIndex = 0;
|
||||||
this.lblStatus.Text = "Ready";
|
this.lblStatus.Text = "Ready";
|
||||||
//
|
//
|
||||||
@ -60,7 +60,7 @@ namespace VEPROMS
|
|||||||
this.pb.Location = new System.Drawing.Point(9, 53);
|
this.pb.Location = new System.Drawing.Point(9, 53);
|
||||||
this.pb.Margin = new System.Windows.Forms.Padding(2);
|
this.pb.Margin = new System.Windows.Forms.Padding(2);
|
||||||
this.pb.Name = "pb";
|
this.pb.Name = "pb";
|
||||||
this.pb.Size = new System.Drawing.Size(541, 19);
|
this.pb.Size = new System.Drawing.Size(716, 19);
|
||||||
this.pb.TabIndex = 1;
|
this.pb.TabIndex = 1;
|
||||||
this.pb.TextVisible = true;
|
this.pb.TextVisible = true;
|
||||||
//
|
//
|
||||||
@ -72,7 +72,7 @@ namespace VEPROMS
|
|||||||
//
|
//
|
||||||
this.btnOpenFolder.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
|
this.btnOpenFolder.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
|
||||||
this.btnOpenFolder.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
|
this.btnOpenFolder.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
|
||||||
this.btnOpenFolder.Location = new System.Drawing.Point(473, 23);
|
this.btnOpenFolder.Location = new System.Drawing.Point(643, 17);
|
||||||
this.btnOpenFolder.Margin = new System.Windows.Forms.Padding(2);
|
this.btnOpenFolder.Margin = new System.Windows.Forms.Padding(2);
|
||||||
this.btnOpenFolder.Name = "btnOpenFolder";
|
this.btnOpenFolder.Name = "btnOpenFolder";
|
||||||
this.btnOpenFolder.Size = new System.Drawing.Size(77, 19);
|
this.btnOpenFolder.Size = new System.Drawing.Size(77, 19);
|
||||||
@ -86,7 +86,7 @@ namespace VEPROMS
|
|||||||
//
|
//
|
||||||
this.btnOpenPDF.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
|
this.btnOpenPDF.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
|
||||||
this.btnOpenPDF.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
|
this.btnOpenPDF.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
|
||||||
this.btnOpenPDF.Location = new System.Drawing.Point(394, 23);
|
this.btnOpenPDF.Location = new System.Drawing.Point(564, 17);
|
||||||
this.btnOpenPDF.Margin = new System.Windows.Forms.Padding(2);
|
this.btnOpenPDF.Margin = new System.Windows.Forms.Padding(2);
|
||||||
this.btnOpenPDF.Name = "btnOpenPDF";
|
this.btnOpenPDF.Name = "btnOpenPDF";
|
||||||
this.btnOpenPDF.Size = new System.Drawing.Size(75, 19);
|
this.btnOpenPDF.Size = new System.Drawing.Size(75, 19);
|
||||||
@ -100,7 +100,7 @@ namespace VEPROMS
|
|||||||
//
|
//
|
||||||
this.btnCancel.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
|
this.btnCancel.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
|
||||||
this.btnCancel.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
|
this.btnCancel.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
|
||||||
this.btnCancel.Location = new System.Drawing.Point(453, 21);
|
this.btnCancel.Location = new System.Drawing.Point(623, 17);
|
||||||
this.btnCancel.Margin = new System.Windows.Forms.Padding(2);
|
this.btnCancel.Margin = new System.Windows.Forms.Padding(2);
|
||||||
this.btnCancel.Name = "btnCancel";
|
this.btnCancel.Name = "btnCancel";
|
||||||
this.btnCancel.Size = new System.Drawing.Size(77, 19);
|
this.btnCancel.Size = new System.Drawing.Size(77, 19);
|
||||||
@ -114,7 +114,7 @@ namespace VEPROMS
|
|||||||
//
|
//
|
||||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
this.ClientSize = new System.Drawing.Size(559, 84);
|
this.ClientSize = new System.Drawing.Size(736, 84);
|
||||||
this.Controls.Add(this.btnCancel);
|
this.Controls.Add(this.btnCancel);
|
||||||
this.Controls.Add(this.btnOpenPDF);
|
this.Controls.Add(this.btnOpenPDF);
|
||||||
this.Controls.Add(this.btnOpenFolder);
|
this.Controls.Add(this.btnOpenFolder);
|
||||||
|
@ -112,15 +112,15 @@
|
|||||||
<value>2.0</value>
|
<value>2.0</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
<resheader name="reader">
|
<resheader name="reader">
|
||||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
<resheader name="writer">
|
<resheader name="writer">
|
||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
<metadata name="tmrRun.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
<metadata name="tmrRun.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
<value>17, 17</value>
|
<value>17, 17</value>
|
||||||
</metadata>
|
</metadata>
|
||||||
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
<value>
|
<value>
|
||||||
AAABAA4AMDAQAAEABABoBgAA5gAAACAgEAABAAQA6AIAAE4HAAAYGBAAAQAEAOgBAAA2CgAAEBAQAAEA
|
AAABAA4AMDAQAAEABABoBgAA5gAAACAgEAABAAQA6AIAAE4HAAAYGBAAAQAEAOgBAAA2CgAAEBAQAAEA
|
||||||
|
@ -105,20 +105,21 @@ namespace VEPROMS
|
|||||||
ProcedureInfo pi = args.Proc as ProcedureInfo;
|
ProcedureInfo pi = args.Proc as ProcedureInfo;
|
||||||
if (piThis != null && pi.ItemID != piThis.ItemID) pi = piThis;
|
if (piThis != null && pi.ItemID != piThis.ItemID) pi = piThis;
|
||||||
|
|
||||||
|
if (pi == null) return;
|
||||||
|
|
||||||
//added by jcb 20130718 to support create pdf button when multi-unit and user selects a unit
|
//added by jcb 20130718 to support create pdf button when multi-unit and user selects a unit
|
||||||
pi.MyDocVersion.DocVersionConfig.SelectedSlave = pi.ProcedureConfig.SelectedSlave;
|
pi.MyDocVersion.DocVersionConfig.SelectedSlave = pi.ProcedureConfig.SelectedSlave;
|
||||||
|
|
||||||
if (pi == null) return;
|
|
||||||
|
|
||||||
DlgPrintProcedure prnDlg = new DlgPrintProcedure(pi);
|
DlgPrintProcedure prnDlg = new DlgPrintProcedure(pi);
|
||||||
|
|
||||||
//added by jcb 20130718 to support create pdf button when multi-unit and user selects a unit
|
//added by jcb 20130718 to support create pdf button when multi-unit and user selects a unit
|
||||||
prnDlg.SelectedSlave = pi.ProcedureConfig.SelectedSlave == 0 ? -1 : pi.ProcedureConfig.SelectedSlave;
|
prnDlg.SelectedSlave = (pi.ProcedureConfig.SelectedSlave == 0) ? -1 : pi.ProcedureConfig.SelectedSlave;
|
||||||
prnDlg.MySessionInfo = MySessionInfo;
|
prnDlg.MySessionInfo = MySessionInfo;
|
||||||
prnDlg.Automatic = true;
|
prnDlg.Automatic = true;
|
||||||
prnDlg.CreateContinuousActionSummary = true;
|
prnDlg.CreateContinuousActionSummary = true;
|
||||||
prnDlg.OpenAfterCreate = (dr == System.Windows.Forms.DialogResult.Yes);
|
prnDlg.OpenAfterCreate = (dr == System.Windows.Forms.DialogResult.Yes);
|
||||||
prnDlg.Prefix = "CASTMP_"; // A temporary procedure PDF is created to grab page numbers
|
prnDlg.Prefix = "CASTMP_"; // A temporary procedure PDF is created to grab page numbers
|
||||||
|
|
||||||
prnDlg.SetupForProcedure();
|
prnDlg.SetupForProcedure();
|
||||||
prnDlg.CreatePDF();
|
prnDlg.CreatePDF();
|
||||||
|
|
||||||
@ -379,7 +380,6 @@ namespace VEPROMS
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void displaySearch1_SearchComplete(object sender, DisplaySearchEventArgs args)
|
void displaySearch1_SearchComplete(object sender, DisplaySearchEventArgs args)
|
||||||
{
|
{
|
||||||
ProgBarText = string.Format("{0} Seconds", args.HowLong.TotalSeconds);
|
ProgBarText = string.Format("{0} Seconds", args.HowLong.TotalSeconds);
|
||||||
@ -628,7 +628,7 @@ namespace VEPROMS
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
int ownerid = MySessionInfo.CheckOutItem(fi.FolderID, CheckOutType.Session);
|
int ownerid = MySessionInfo.CheckOutItem(fi.FolderID, CheckOutType.Session);
|
||||||
//int ownerid = MySessionInfo.CheckOutItem(fi.FolderID, (args.Index == 0) ? CheckOutType.Folder : CheckOutType.Session);
|
|
||||||
dlgExportImport dlg = new dlgExportImport(args.Index == 0 ? "Export" : "Import", fi, this, (E_UCFImportOptions)Properties.Settings.Default.UCFImportOpt);//Added frmVEPROMS Parameter
|
dlgExportImport dlg = new dlgExportImport(args.Index == 0 ? "Export" : "Import", fi, this, (E_UCFImportOptions)Properties.Settings.Default.UCFImportOpt);//Added frmVEPROMS Parameter
|
||||||
dlg.ShowDialog(this);
|
dlg.ShowDialog(this);
|
||||||
|
|
||||||
@ -661,6 +661,7 @@ namespace VEPROMS
|
|||||||
}
|
}
|
||||||
|
|
||||||
int ownerid = MySessionInfo.CheckOutItem(dvi.VersionID, CheckOutType.DocVersion);
|
int ownerid = MySessionInfo.CheckOutItem(dvi.VersionID, CheckOutType.DocVersion);
|
||||||
|
|
||||||
dlgExportImport dlg = new dlgExportImport("Import", dvi, this, (E_UCFImportOptions)Properties.Settings.Default.UCFImportOpt);//Added frmVEPROMS Parameter
|
dlgExportImport dlg = new dlgExportImport("Import", dvi, this, (E_UCFImportOptions)Properties.Settings.Default.UCFImportOpt);//Added frmVEPROMS Parameter
|
||||||
dlg.MyNewProcedure = null;
|
dlg.MyNewProcedure = null;
|
||||||
dlg.ExternalTransitionItem = null;
|
dlg.ExternalTransitionItem = null;
|
||||||
@ -894,6 +895,7 @@ namespace VEPROMS
|
|||||||
}
|
}
|
||||||
|
|
||||||
tc.SaveCurrentEditItem();
|
tc.SaveCurrentEditItem();
|
||||||
|
|
||||||
string message = string.Empty;
|
string message = string.Empty;
|
||||||
|
|
||||||
if (!MySessionInfo.CanCheckOutItem(dvi.VersionID, CheckOutType.DocVersion, ref message))
|
if (!MySessionInfo.CanCheckOutItem(dvi.VersionID, CheckOutType.DocVersion, ref message))
|
||||||
@ -904,13 +906,15 @@ namespace VEPROMS
|
|||||||
|
|
||||||
int ownerid = MySessionInfo.CheckOutItem(dvi.VersionID, CheckOutType.DocVersion);
|
int ownerid = MySessionInfo.CheckOutItem(dvi.VersionID, CheckOutType.DocVersion);
|
||||||
dvi.DocVersionConfig.SelectedSlave = args.UnitIndex;
|
dvi.DocVersionConfig.SelectedSlave = args.UnitIndex;
|
||||||
|
|
||||||
dlgApproveProcedure dlg = new dlgApproveProcedure(dvi, true, this);
|
dlgApproveProcedure dlg = new dlgApproveProcedure(dvi, true, this);
|
||||||
dlg.MySessionInfo = MySessionInfo;
|
dlg.MySessionInfo = MySessionInfo;
|
||||||
dlg.ShowDialog(this);
|
dlg.ShowDialog(this);
|
||||||
|
|
||||||
displayHistory.RefreshList();
|
displayHistory.RefreshList();
|
||||||
dvi.DocVersionConfig.SelectedSlave = 0;
|
|
||||||
MySessionInfo.CheckInItem(ownerid);
|
MySessionInfo.CheckInItem(ownerid);
|
||||||
|
|
||||||
|
dvi.DocVersionConfig.SelectedSlave = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void tv_ApproveAllProcedures(object sender, vlnTreeEventArgs args)
|
void tv_ApproveAllProcedures(object sender, vlnTreeEventArgs args)
|
||||||
@ -924,11 +928,12 @@ namespace VEPROMS
|
|||||||
// C2020-036 display list of duplicate procedure numbers
|
// C2020-036 display list of duplicate procedure numbers
|
||||||
FlexibleMessageBox.Show("This procedure set has two or more procedures with the same procedure number.\n\n" +
|
FlexibleMessageBox.Show("This procedure set has two or more procedures with the same procedure number.\n\n" +
|
||||||
"Please make each procedure number unique before approving.\n\n" +
|
"Please make each procedure number unique before approving.\n\n" +
|
||||||
"Below is a list of the dupicate procedure numbers:\n\n" + dupProcList, "Approve All Procedures", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
"Below is a list of the duplicate procedure numbers:\n\n" + dupProcList, "Approve All Procedures", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
tc.SaveCurrentEditItem();
|
tc.SaveCurrentEditItem();
|
||||||
|
|
||||||
string message = string.Empty;
|
string message = string.Empty;
|
||||||
|
|
||||||
if (!MySessionInfo.CanCheckOutItem(dvi.VersionID, CheckOutType.DocVersion, ref message))
|
if (!MySessionInfo.CanCheckOutItem(dvi.VersionID, CheckOutType.DocVersion, ref message))
|
||||||
@ -939,13 +944,15 @@ namespace VEPROMS
|
|||||||
|
|
||||||
int ownerid = MySessionInfo.CheckOutItem(dvi.VersionID, CheckOutType.DocVersion);
|
int ownerid = MySessionInfo.CheckOutItem(dvi.VersionID, CheckOutType.DocVersion);
|
||||||
dvi.DocVersionConfig.SelectedSlave = args.UnitIndex;
|
dvi.DocVersionConfig.SelectedSlave = args.UnitIndex;
|
||||||
|
|
||||||
dlgApproveProcedure dlg = new dlgApproveProcedure(dvi, this);//Added frmVEPROMS Parameter
|
dlgApproveProcedure dlg = new dlgApproveProcedure(dvi, this);//Added frmVEPROMS Parameter
|
||||||
dlg.MySessionInfo = MySessionInfo;
|
dlg.MySessionInfo = MySessionInfo;
|
||||||
dlg.ShowDialog(this);
|
dlg.ShowDialog(this);
|
||||||
|
|
||||||
displayHistory.RefreshList();
|
displayHistory.RefreshList();
|
||||||
dvi.DocVersionConfig.SelectedSlave = 0;
|
|
||||||
MySessionInfo.CheckInItem(ownerid);
|
MySessionInfo.CheckInItem(ownerid);
|
||||||
|
|
||||||
|
dvi.DocVersionConfig.SelectedSlave = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void tv_RefreshCheckedOutProcedures(object sender, vlnTreeEventArgs args)
|
void tv_RefreshCheckedOutProcedures(object sender, vlnTreeEventArgs args)
|
||||||
@ -1020,7 +1027,6 @@ namespace VEPROMS
|
|||||||
void tv_ApproveProcedure(object sender, vlnTreeEventArgs args)
|
void tv_ApproveProcedure(object sender, vlnTreeEventArgs args)
|
||||||
{
|
{
|
||||||
ProcedureInfo pi = (args.Node as VETreeNode).VEObject as ProcedureInfo;
|
ProcedureInfo pi = (args.Node as VETreeNode).VEObject as ProcedureInfo;
|
||||||
pi.MyDocVersion.DocVersionConfig.SelectedSlave = args.UnitIndex;
|
|
||||||
if (pi == null) return;
|
if (pi == null) return;
|
||||||
|
|
||||||
// B2017-242 added check for duplicate procedure numbers in a procedure set?
|
// B2017-242 added check for duplicate procedure numbers in a procedure set?
|
||||||
@ -1033,6 +1039,7 @@ namespace VEPROMS
|
|||||||
}
|
}
|
||||||
|
|
||||||
tc.SaveCurrentEditItem(pi);
|
tc.SaveCurrentEditItem(pi);
|
||||||
|
|
||||||
string message = string.Empty;
|
string message = string.Empty;
|
||||||
|
|
||||||
if (!MySessionInfo.CanCheckOutItem(pi.ItemID, CheckOutType.Procedure, ref message))
|
if (!MySessionInfo.CanCheckOutItem(pi.ItemID, CheckOutType.Procedure, ref message))
|
||||||
@ -1042,13 +1049,16 @@ namespace VEPROMS
|
|||||||
}
|
}
|
||||||
|
|
||||||
int ownerid = MySessionInfo.CheckOutItem(pi.ItemID, 0);
|
int ownerid = MySessionInfo.CheckOutItem(pi.ItemID, 0);
|
||||||
|
pi.MyDocVersion.DocVersionConfig.SelectedSlave = args.UnitIndex;
|
||||||
|
|
||||||
dlgApproveProcedure dlg = new dlgApproveProcedure(pi, this);//Added frmVEPROMS Parameter
|
dlgApproveProcedure dlg = new dlgApproveProcedure(pi, this);//Added frmVEPROMS Parameter
|
||||||
dlg.MySessionInfo = MySessionInfo;
|
dlg.MySessionInfo = MySessionInfo;
|
||||||
dlg.ShowDialog(this);
|
dlg.ShowDialog(this);
|
||||||
|
|
||||||
displayHistory.RefreshList();
|
displayHistory.RefreshList();
|
||||||
pi.MyDocVersion.DocVersionConfig.SelectedSlave = 0;
|
|
||||||
MySessionInfo.CheckInItem(ownerid);
|
MySessionInfo.CheckInItem(ownerid);
|
||||||
|
|
||||||
|
pi.MyDocVersion.DocVersionConfig.SelectedSlave = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void tv_PrintAllProcedures(object sender, vlnTreeEventArgs args)
|
void tv_PrintAllProcedures(object sender, vlnTreeEventArgs args)
|
||||||
@ -1058,23 +1068,28 @@ namespace VEPROMS
|
|||||||
|
|
||||||
tc.SaveCurrentEditItem();
|
tc.SaveCurrentEditItem();
|
||||||
|
|
||||||
|
dvi.DocVersionConfig.SelectedSlave = args.UnitIndex;
|
||||||
|
|
||||||
DlgPrintProcedure prnDlg = new DlgPrintProcedure(dvi);
|
DlgPrintProcedure prnDlg = new DlgPrintProcedure(dvi);
|
||||||
prnDlg.MySessionInfo = MySessionInfo;
|
|
||||||
prnDlg.SelectedSlave = args.UnitIndex;
|
prnDlg.SelectedSlave = args.UnitIndex;
|
||||||
|
prnDlg.MySessionInfo = MySessionInfo;
|
||||||
prnDlg.ShowDialog(this); // RHM 20120925 - Center dialog over PROMS window
|
prnDlg.ShowDialog(this); // RHM 20120925 - Center dialog over PROMS window
|
||||||
|
|
||||||
|
dvi.DocVersionConfig.SelectedSlave = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void tv_PrintProcedure(object sender, vlnTreeEventArgs args)
|
void tv_PrintProcedure(object sender, vlnTreeEventArgs args)
|
||||||
{
|
{
|
||||||
ProcedureInfo pi = (args.Node as VETreeNode).VEObject as ProcedureInfo;
|
ProcedureInfo pi = (args.Node as VETreeNode).VEObject as ProcedureInfo;
|
||||||
pi.MyDocVersion.DocVersionConfig.SelectedSlave = args.UnitIndex;
|
|
||||||
if (pi == null) return;
|
if (pi == null) return;
|
||||||
|
|
||||||
tc.SaveCurrentEditItem(pi);
|
tc.SaveCurrentEditItem(pi);
|
||||||
|
|
||||||
|
pi.MyDocVersion.DocVersionConfig.SelectedSlave = args.UnitIndex;
|
||||||
|
|
||||||
DlgPrintProcedure prnDlg = new DlgPrintProcedure(pi);
|
DlgPrintProcedure prnDlg = new DlgPrintProcedure(pi);
|
||||||
prnDlg.MySessionInfo = MySessionInfo;
|
|
||||||
prnDlg.SelectedSlave = args.UnitIndex;
|
prnDlg.SelectedSlave = args.UnitIndex;
|
||||||
|
prnDlg.MySessionInfo = MySessionInfo;
|
||||||
prnDlg.ShowDialog(this); // RHM 20120925 - Center dialog over PROMS window
|
prnDlg.ShowDialog(this); // RHM 20120925 - Center dialog over PROMS window
|
||||||
|
|
||||||
pi.MyDocVersion.DocVersionConfig.SelectedSlave = 0;
|
pi.MyDocVersion.DocVersionConfig.SelectedSlave = 0;
|
||||||
@ -1083,12 +1098,14 @@ namespace VEPROMS
|
|||||||
void tv_CreateContinuousActionSummary(object sender, vlnTreeEventArgs args)
|
void tv_CreateContinuousActionSummary(object sender, vlnTreeEventArgs args)
|
||||||
{
|
{
|
||||||
DialogResult dr = System.Windows.Forms.DialogResult.Yes;
|
DialogResult dr = System.Windows.Forms.DialogResult.Yes;
|
||||||
|
|
||||||
ProcedureInfo pi = (args.Node as VETreeNode).VEObject as ProcedureInfo;
|
ProcedureInfo pi = (args.Node as VETreeNode).VEObject as ProcedureInfo;
|
||||||
pi.MyDocVersion.DocVersionConfig.SelectedSlave = args.UnitIndex;
|
|
||||||
if (pi == null) return;
|
if (pi == null) return;
|
||||||
|
|
||||||
tc.SaveCurrentEditItem(pi);
|
tc.SaveCurrentEditItem(pi);
|
||||||
|
|
||||||
|
pi.MyDocVersion.DocVersionConfig.SelectedSlave = args.UnitIndex;
|
||||||
|
|
||||||
DlgPrintProcedure prnDlg = new DlgPrintProcedure(pi, true);
|
DlgPrintProcedure prnDlg = new DlgPrintProcedure(pi, true);
|
||||||
prnDlg.MySessionInfo = MySessionInfo;
|
prnDlg.MySessionInfo = MySessionInfo;
|
||||||
prnDlg.SelectedSlave = args.UnitIndex;
|
prnDlg.SelectedSlave = args.UnitIndex;
|
||||||
@ -1096,7 +1113,6 @@ namespace VEPROMS
|
|||||||
prnDlg.CreateContinuousActionSummary = true;
|
prnDlg.CreateContinuousActionSummary = true;
|
||||||
prnDlg.OpenAfterCreate = (dr == System.Windows.Forms.DialogResult.Yes);
|
prnDlg.OpenAfterCreate = (dr == System.Windows.Forms.DialogResult.Yes);
|
||||||
prnDlg.Prefix = "CASTMP_"; // prefix the temporary procedure PDF file that is generated (to grab page numbers)
|
prnDlg.Prefix = "CASTMP_"; // prefix the temporary procedure PDF file that is generated (to grab page numbers)
|
||||||
|
|
||||||
prnDlg.SetupForProcedure();
|
prnDlg.SetupForProcedure();
|
||||||
prnDlg.CreatePDF();
|
prnDlg.CreatePDF();
|
||||||
|
|
||||||
@ -1264,21 +1280,17 @@ namespace VEPROMS
|
|||||||
ProcedureInfo pi = args.Proc as ProcedureInfo;
|
ProcedureInfo pi = args.Proc as ProcedureInfo;
|
||||||
if (piThis != null && pi.ItemID != piThis.ItemID) pi = piThis;
|
if (piThis != null && pi.ItemID != piThis.ItemID) pi = piThis;
|
||||||
|
|
||||||
//added by jcb 20130718 to support create pdf button when multi-unit and user selects a unit
|
|
||||||
pi.MyDocVersion.DocVersionConfig.SelectedSlave = pi.ProcedureConfig.SelectedSlave;
|
|
||||||
|
|
||||||
// Check if Procedure Info is null
|
// Check if Procedure Info is null
|
||||||
if (pi == null) return;
|
if (pi == null) return;
|
||||||
|
|
||||||
|
|
||||||
DlgPrintProcedure prnDlg = new DlgPrintProcedure(pi);
|
|
||||||
|
|
||||||
//added by jcb 20130718 to support create pdf button when multi-unit and user selects a unit
|
//added by jcb 20130718 to support create pdf button when multi-unit and user selects a unit
|
||||||
prnDlg.SelectedSlave = pi.ProcedureConfig.SelectedSlave == 0 ? -1 : pi.ProcedureConfig.SelectedSlave;
|
pi.MyDocVersion.DocVersionConfig.SelectedSlave = pi.ProcedureConfig.SelectedSlave;
|
||||||
prnDlg.MySessionInfo = MySessionInfo;
|
|
||||||
|
|
||||||
// RHM 20120925 - Center dialog over PROMS window
|
DlgPrintProcedure prnDlg = new DlgPrintProcedure(pi);
|
||||||
prnDlg.ShowDialog(this);
|
prnDlg.SelectedSlave = pi.ProcedureConfig.SelectedSlave == 0 ? -1 : pi.ProcedureConfig.SelectedSlave; //added by jcb 20130718 to support create pdf button when multi-unit and user selects a unit
|
||||||
|
prnDlg.MySessionInfo = MySessionInfo;
|
||||||
|
prnDlg.ShowDialog(this); // RHM 20120925 - Center dialog over PROMS window
|
||||||
|
|
||||||
//added by jcb 20130718 to support create pdf button when multi-unit and user selects a unit
|
//added by jcb 20130718 to support create pdf button when multi-unit and user selects a unit
|
||||||
pi.MyDocVersion.DocVersionConfig.SelectedSlave = 0;
|
pi.MyDocVersion.DocVersionConfig.SelectedSlave = 0;
|
||||||
@ -2291,16 +2303,15 @@ namespace VEPROMS
|
|||||||
{
|
{
|
||||||
ProcedureInfo proc = dicProcs[key];
|
ProcedureInfo proc = dicProcs[key];
|
||||||
|
|
||||||
//Console.WriteLine("{0}", proc.ShortPath);
|
|
||||||
DlgPrintProcedure prnDlg = new DlgPrintProcedure(proc, true);
|
DlgPrintProcedure prnDlg = new DlgPrintProcedure(proc, true);
|
||||||
prnDlg.MySessionInfo = MySessionInfo;
|
prnDlg.MySessionInfo = MySessionInfo;
|
||||||
|
|
||||||
//prnDlg.ShowDialog(this); // RHM 20120925 - Center dialog over PROMS window
|
|
||||||
prnDlg.Prefix = proc.MyDocVersion.VersionID.ToString() + "_";
|
prnDlg.Prefix = proc.MyDocVersion.VersionID.ToString() + "_";
|
||||||
prnDlg.Automatic = true;
|
prnDlg.Automatic = true;
|
||||||
prnDlg.OpenAfterCreate = (dr == System.Windows.Forms.DialogResult.Yes);
|
prnDlg.OpenAfterCreate = (dr == System.Windows.Forms.DialogResult.Yes);
|
||||||
prnDlg.SetupForProcedure();
|
prnDlg.SetupForProcedure();
|
||||||
prnDlg.CreatePDF();
|
prnDlg.CreatePDF();
|
||||||
|
|
||||||
|
//prnDlg.ShowDialog(this); // RHM 20120925 - Center dialog over PROMS window
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2625,7 +2636,7 @@ namespace VEPROMS
|
|||||||
- Jess- Volian0
|
- Jess- Volian0
|
||||||
- John- Volian0
|
- John- Volian0
|
||||||
- Kathy- Volian0
|
- Kathy- Volian0
|
||||||
- Jake- Volian0
|
- Jake- Volian0
|
||||||
- Jim- JCB2-HP
|
- Jim- JCB2-HP
|
||||||
- Rich- WINDOWS7-RHM
|
- Rich- WINDOWS7-RHM
|
||||||
- Rich - RICH-WINDOWS10
|
- Rich - RICH-WINDOWS10
|
||||||
@ -2699,6 +2710,7 @@ namespace VEPROMS
|
|||||||
void btnUserControlOfFormatsExport_Click(object sender, EventArgs e)
|
void btnUserControlOfFormatsExport_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
DocVersionInfo dvi = null;
|
DocVersionInfo dvi = null;
|
||||||
|
|
||||||
dlgExportImport dlg = new dlgExportImport("Export Formats", dvi, this, (E_UCFImportOptions)0);
|
dlgExportImport dlg = new dlgExportImport("Export Formats", dvi, this, (E_UCFImportOptions)0);
|
||||||
dlg.MyNewProcedure = null;
|
dlg.MyNewProcedure = null;
|
||||||
dlg.ExternalTransitionItem = null;
|
dlg.ExternalTransitionItem = null;
|
||||||
@ -2708,6 +2720,7 @@ namespace VEPROMS
|
|||||||
void btnUserControlOfFormatsImport_Click(object sender, EventArgs e)
|
void btnUserControlOfFormatsImport_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
DocVersionInfo dvi = null;
|
DocVersionInfo dvi = null;
|
||||||
|
|
||||||
dlgExportImport dlg = new dlgExportImport("Import Formats", dvi, this, (E_UCFImportOptions)0);
|
dlgExportImport dlg = new dlgExportImport("Import Formats", dvi, this, (E_UCFImportOptions)0);
|
||||||
dlg.MyNewProcedure = null;
|
dlg.MyNewProcedure = null;
|
||||||
dlg.ExternalTransitionItem = null;
|
dlg.ExternalTransitionItem = null;
|
||||||
@ -2879,14 +2892,13 @@ namespace VEPROMS
|
|||||||
|
|
||||||
foreach (string dvstr in dvstrs)
|
foreach (string dvstr in dvstrs)
|
||||||
{
|
{
|
||||||
if (dvstr != "")
|
if (dvstr != string.Empty)
|
||||||
{
|
{
|
||||||
DocVersionInfo dvi = DocVersionInfo.Get(int.Parse(dvstr));
|
DocVersionInfo dvi = DocVersionInfo.Get(int.Parse(dvstr));
|
||||||
|
|
||||||
if (dvi != null)
|
if (dvi != null)
|
||||||
{
|
{
|
||||||
DlgPrintProcedure prnDlg = new DlgPrintProcedure(dvi, true);
|
DlgPrintProcedure prnDlg = new DlgPrintProcedure(dvi, true);
|
||||||
|
|
||||||
if (dvi.MultiUnitCount == 0) prnDlg.SelectedSlave = -1;
|
if (dvi.MultiUnitCount == 0) prnDlg.SelectedSlave = -1;
|
||||||
prnDlg.AllowDateTimePrefixSuffix = false; //C2018-033 don't append any selected date/time pdf file prefix or suffix (defined in working draft properties)
|
prnDlg.AllowDateTimePrefixSuffix = false; //C2018-033 don't append any selected date/time pdf file prefix or suffix (defined in working draft properties)
|
||||||
prnDlg.ShowDialog(this); // RHM 20120925 - Center dialog over PROMS window
|
prnDlg.ShowDialog(this); // RHM 20120925 - Center dialog over PROMS window
|
||||||
|
@ -353,11 +353,11 @@ namespace VEPROMS.CSLA.Library
|
|||||||
if (!string.IsNullOrEmpty(rc.roid) && Regex.IsMatch(accPageKey, @".*\.[A-Z]") && rc.children != null && rc.children.Count() > 0)
|
if (!string.IsNullOrEmpty(rc.roid) && Regex.IsMatch(accPageKey, @".*\.[A-Z]") && rc.children != null && rc.children.Count() > 0)
|
||||||
{
|
{
|
||||||
// Check if AccPageID/Key has a return value specific extension. Try to find the RoChild record with the specific return value type,
|
// Check if AccPageID/Key has a return value specific extension. Try to find the RoChild record with the specific return value type,
|
||||||
// If not found then return the first/default return value type in the list of children
|
// If not found Or the specific extension value is (Null or Empty), then just return the first/default return value type in the list of children
|
||||||
var accPageExt = Convert.ToString(accPageKey.ToCharArray().LastOrDefault());
|
var accPageExt = Convert.ToString(accPageKey.ToCharArray().LastOrDefault());
|
||||||
var roExt = Extensions.Where(x => x.AccPageExt.Equals(accPageExt)).SingleOrDefault();
|
var roExt = Extensions.Where(x => x.AccPageExt.Equals(accPageExt)).SingleOrDefault();
|
||||||
|
|
||||||
return (rc.children.Where(x => x.roid.Substring(12, 4) == roExt.RoidExt).Any()) ? rc.children.Where(x => x.roid.Substring(12, 4) == roExt.RoidExt).Single() : rc.children.First();
|
return (rc.children.Where(x => x.roid.Substring(12, 4) == roExt.RoidExt && !string.IsNullOrEmpty(x.value)).Any()) ? rc.children.Where(x => x.roid.Substring(12, 4) == roExt.RoidExt).Single() : rc.children.First();
|
||||||
}
|
}
|
||||||
|
|
||||||
return rc; // If RoChild is not found, then a default (ROFSTLookup.rochild) object will be returned, but its ID will be -1
|
return rc; // If RoChild is not found, then a default (ROFSTLookup.rochild) object will be returned, but its ID will be -1
|
||||||
@ -421,6 +421,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public string GetRoValue(string roid)
|
public string GetRoValue(string roid)
|
||||||
{
|
{
|
||||||
return GetRoChild(roid).value;
|
return GetRoChild(roid).value;
|
||||||
@ -603,13 +604,11 @@ namespace VEPROMS.CSLA.Library
|
|||||||
public void LoadChildren(ref ROFSTLookup.rochild child)
|
public void LoadChildren(ref ROFSTLookup.rochild child)
|
||||||
{
|
{
|
||||||
// If Children is null then it hasn't been loaded yet
|
// If Children is null then it hasn't been loaded yet
|
||||||
//if (child.children == null || child.children.Length <= 0)
|
|
||||||
if (child.children == null)
|
if (child.children == null)
|
||||||
{
|
{
|
||||||
if (!string.IsNullOrEmpty(child.appid))
|
if (!string.IsNullOrEmpty(child.appid))
|
||||||
child = GetRoChild12(child.roid, true);
|
child = GetRoChild12(child.roid, true);
|
||||||
else
|
else
|
||||||
//child.children = GetRoChildrenByRoid(child.roid, true);
|
|
||||||
child.children = GetRoChildrenByRoid(child.roid, false);
|
child.children = GetRoChildrenByRoid(child.roid, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -617,9 +616,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
public void LoadChildren(ref ROFSTLookup.rodbi db)
|
public void LoadChildren(ref ROFSTLookup.rodbi db)
|
||||||
{
|
{
|
||||||
// If Children is null then it hasn't been loaded yet
|
// If Children is null then it hasn't been loaded yet
|
||||||
//if (child.children == null || child.children.Length <= 0)
|
|
||||||
if (db.children == null)
|
if (db.children == null)
|
||||||
//db.children = GetRoChildrenByID(db.ID, db.dbiID, true);
|
|
||||||
db.children = GetRoChildrenByID(db.ID, db.dbiID, false);
|
db.children = GetRoChildrenByID(db.ID, db.dbiID, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1957,10 +1954,11 @@ namespace VEPROMS.CSLA.Library
|
|||||||
|
|
||||||
if (!string.IsNullOrEmpty(roid))
|
if (!string.IsNullOrEmpty(roid))
|
||||||
{
|
{
|
||||||
|
rc.roid = FormatRoidKey(roid).Substring(0, 12);
|
||||||
|
|
||||||
DocVersionConfig dvc = (_myDocVersionInfo != null) ? _myDocVersionInfo.DocVersionConfig : null;
|
DocVersionConfig dvc = (_myDocVersionInfo != null) ? _myDocVersionInfo.DocVersionConfig : null;
|
||||||
|
if (dvc != null) dvc.SelectedSlave = this.SelectedSlave;
|
||||||
rc.roid = FormatRoidKey(roid).Substring(0, 12);
|
|
||||||
|
|
||||||
switch (rc.roid)
|
switch (rc.roid)
|
||||||
{
|
{
|
||||||
case "FFFF00000001":
|
case "FFFF00000001":
|
||||||
|
@ -410,12 +410,14 @@ namespace VEPROMS.CSLA.Library
|
|||||||
public class DSOFile : IDisposable
|
public class DSOFile : IDisposable
|
||||||
{
|
{
|
||||||
private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
|
private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
|
|
||||||
#region Fields
|
#region Fields
|
||||||
private bool _IsDisposed;
|
private bool _IsDisposed;
|
||||||
private DocumentInfo _MyDocument = null;
|
private DocumentInfo _MyDocument = null;
|
||||||
private FileInfo _MyFile = null;
|
private FileInfo _MyFile = null;
|
||||||
private string _Extension = "DOC";
|
private string _Extension = "DOC";
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Properties
|
#region Properties
|
||||||
public DocumentInfo MyDocument
|
public DocumentInfo MyDocument
|
||||||
{
|
{
|
||||||
@ -438,6 +440,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
set { _Extension = value; }
|
set { _Extension = value; }
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Private Methods
|
#region Private Methods
|
||||||
private void TryDelete()
|
private void TryDelete()
|
||||||
{
|
{
|
||||||
@ -757,7 +760,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
private static List<int> _MissingDocs = new List<int>();
|
private static List<int> _MissingDocs = new List<int>();
|
||||||
private static bool _Automatic = false;
|
private static bool _Automatic = false;
|
||||||
|
|
||||||
// [JAKE CODE]: Added an internal rochild dictionary cache specifically for printing
|
// B2022-083: Support Conditional RO Values --> Added an internal rochild dictionary cache specifically for printing
|
||||||
//
|
//
|
||||||
// As you loop through all of the specific RO AccPageKeys for the current MsWord Document Section, the code will first
|
// As you loop through all of the specific RO AccPageKeys for the current MsWord Document Section, the code will first
|
||||||
// check the internal rochild cache for the base (12) digit roid Key/Value, if it doesn't already exist, then load the
|
// check the internal rochild cache for the base (12) digit roid Key/Value, if it doesn't already exist, then load the
|
||||||
@ -825,11 +828,9 @@ namespace VEPROMS.CSLA.Library
|
|||||||
set { MSWordToPDF._FormForPlotGraphics = value; }
|
set { MSWordToPDF._FormForPlotGraphics = value; }
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// C2018-035 Don't use a MessageBox if in automatic (Baseline) testing mode.
|
|
||||||
/// </summary>
|
|
||||||
public static bool Automatic
|
public static bool Automatic
|
||||||
{
|
{
|
||||||
|
// C2018-035 Don't use a MessageBox if in automatic (Baseline) testing mode.
|
||||||
get { return MSWordToPDF._Automatic; }
|
get { return MSWordToPDF._Automatic; }
|
||||||
set { MSWordToPDF._Automatic = value; }
|
set { MSWordToPDF._Automatic = value; }
|
||||||
}
|
}
|
||||||
@ -940,9 +941,11 @@ namespace VEPROMS.CSLA.Library
|
|||||||
DocStyle myDocStyle = sect.MyDocStyle;
|
DocStyle myDocStyle = sect.MyDocStyle;
|
||||||
ProcedureInfo proc = sect.MyProcedure;
|
ProcedureInfo proc = sect.MyProcedure;
|
||||||
DocVersionInfo dvi = proc.ActiveParent as DocVersionInfo;
|
DocVersionInfo dvi = proc.ActiveParent as DocVersionInfo;
|
||||||
|
|
||||||
bool hasRos = false;
|
bool hasRos = false;
|
||||||
ROFstInfo rofst = null;
|
ROFstInfo rofst = null;
|
||||||
ROFSTLookup lookup = null;
|
ROFSTLookup lookup = null;
|
||||||
|
|
||||||
string igPrefix = null;
|
string igPrefix = null;
|
||||||
string spPrefix = null;
|
string spPrefix = null;
|
||||||
bool convertCaretToDeltaSymbol = (sect.ActiveSection != null) ? sect.ActiveSection.ActiveFormat.PlantFormat.FormatData.SectData.ConvertCaretToDelta : false; // C2018-003 fixed use of getting the active section
|
bool convertCaretToDeltaSymbol = (sect.ActiveSection != null) ? sect.ActiveSection.ActiveFormat.PlantFormat.FormatData.SectData.ConvertCaretToDelta : false; // C2018-003 fixed use of getting the active section
|
||||||
@ -1321,6 +1324,8 @@ namespace VEPROMS.CSLA.Library
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
lastStart = sel.Start;
|
||||||
|
|
||||||
sel = FindRO();
|
sel = FindRO();
|
||||||
|
|
||||||
if (sel != null && !string.IsNullOrEmpty(sel.Text) && sel.Start == lastStart)
|
if (sel != null && !string.IsNullOrEmpty(sel.Text) && sel.Start == lastStart)
|
||||||
@ -1371,16 +1376,16 @@ namespace VEPROMS.CSLA.Library
|
|||||||
if (statusChange != null) statusChange(VolianStatusType.Complete, 0, string.Empty);
|
if (statusChange != null) statusChange(VolianStatusType.Complete, 0, string.Empty);
|
||||||
if (Volian.Base.Library.BaselineMetaFile.IsOpen && Volian.Base.Library.BaselineMetaFile.IncludeWordSecText) Volian.Base.Library.BaselineMetaFile.WriteLine("++EndTxt++");
|
if (Volian.Base.Library.BaselineMetaFile.IsOpen && Volian.Base.Library.BaselineMetaFile.IncludeWordSecText) Volian.Base.Library.BaselineMetaFile.WriteLine("++EndTxt++");
|
||||||
|
|
||||||
//GC.Collect(); //jsj 2-15-2016 - for memory garbage collection
|
// [jpr 2022.07.26] - For memory optimization
|
||||||
|
|
||||||
//GCSettings.LargeObjectHeapCompactionMode = GCLargeObjectHeapCompactionMode.CompactOnce;
|
//GCSettings.LargeObjectHeapCompactionMode = GCLargeObjectHeapCompactionMode.CompactOnce;
|
||||||
//GC.Collect();
|
|
||||||
|
//jsj 2-15-2016 - for memory garbage collection
|
||||||
|
//GC.Collect();
|
||||||
|
|
||||||
return fileName;
|
return fileName;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private static ROFSTLookup.rochild GetCachedRoByAccPageID(ROFSTLookup lookup, string selText, string spPrefix, string igPrefix, bool convertCaretToDeltaSymbol)
|
private static ROFSTLookup.rochild GetCachedRoByAccPageID(ROFSTLookup lookup, string selText, string spPrefix, string igPrefix, bool convertCaretToDeltaSymbol)
|
||||||
{
|
{
|
||||||
string accPageBase = string.Empty;
|
string accPageBase = string.Empty;
|
||||||
@ -1415,14 +1420,18 @@ namespace VEPROMS.CSLA.Library
|
|||||||
return roc;
|
return roc;
|
||||||
|
|
||||||
|
|
||||||
// All ROs should have a specific accPageExt or the default (A/0041), except for the "Unit Information" ("FFFF")
|
// All ROs at this point should have a specific accPageExt or the default (A/0041)
|
||||||
roc = (roc.children.Where(x => x.appid.EndsWith(accPageExt)).Any()) ? roc.children.Where(x => x.appid.EndsWith(accPageExt)).Single() : roc.children.First();
|
roc = (roc.children.Where(x => x.appid.EndsWith(accPageExt) && !string.IsNullOrEmpty(x.value)).Any()) ? roc.children.Where(x => x.appid.EndsWith(accPageExt)).Single() : roc.children.First();
|
||||||
|
|
||||||
// Check the RoType
|
// Check the RoType
|
||||||
roc.type = ((roc.type & 4) == 4 && roc.value.StartsWith("<<G")) ? 4 : roc.type;
|
roc.type = ((roc.type & 4) == 4 && roc.value.StartsWith("<<G")) ? 4 : roc.type;
|
||||||
|
|
||||||
// Check the RoValue
|
// Check the RoValue
|
||||||
if (roc.type != 8 && !string.IsNullOrEmpty(roc.value)) // Exclude Images
|
if (string.IsNullOrEmpty(roc.value))
|
||||||
|
{
|
||||||
|
roc.value = null;
|
||||||
|
}
|
||||||
|
else if (roc.type != 8) // Exclude Images
|
||||||
{
|
{
|
||||||
roc.value = roc.value.Replace("`", "\xB0");
|
roc.value = roc.value.Replace("`", "\xB0");
|
||||||
roc.value = roc.value.Replace("\xF8", "\xB0");
|
roc.value = roc.value.Replace("\xF8", "\xB0");
|
||||||
@ -1437,59 +1446,6 @@ namespace VEPROMS.CSLA.Library
|
|||||||
return ROFSTLookup.GetEmptyRoChild();
|
return ROFSTLookup.GetEmptyRoChild();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//if (roc.children != null && roc.children.Count() > 0)
|
|
||||||
//{
|
|
||||||
// roc = (roc.children.Where(x => x.appid.EndsWith(accPageExt)).Any()) ? roc.children.Where(x => x.appid.EndsWith(accPageExt)).Single() : roc.children.First();
|
|
||||||
|
|
||||||
// //roc = (roc.children.Where(x => x.roid.Substring(12, 4) == roExt.RoidExt).Any()) ? rc.children.Where(x => x.roid.Substring(12, 4) == roExt.RoidExt).Single() : rc.children.First();
|
|
||||||
// // Convert.ToString(accPageKey.ToCharArray().LastOrDefault())
|
|
||||||
//}
|
|
||||||
|
|
||||||
//// All ROs should have a specific accPageExt, except for the "Unit Information" ("FFFF")
|
|
||||||
//// if (!string.IsNullOrEmpty(rc.roid) && Regex.IsMatch(accPageKey, @".*\.[A-Z]") && rc.children != null && rc.children.Count() > 0)
|
|
||||||
//if (!string.IsNullOrEmpty(accPageExt))
|
|
||||||
//{
|
|
||||||
// if (roc.children != null && roc.children.Count() > 0)
|
|
||||||
// {
|
|
||||||
// roc = (roc.children.Where(x => x.appid.EndsWith(accPageExt)).Any()) ? roc.children.Where(x => x.appid.EndsWith(accPageExt)).Single() : roc.children.First();
|
|
||||||
// //roc = (roc.children.Where(x => x.roid.Substring(12, 4) == roExt.RoidExt).Any()) ? rc.children.Where(x => x.roid.Substring(12, 4) == roExt.RoidExt).Single() : rc.children.First();
|
|
||||||
// // Convert.ToString(accPageKey.ToCharArray().LastOrDefault())
|
|
||||||
// }
|
|
||||||
|
|
||||||
// // Get specific RO return value by Extension, if not exists then return default ("0041")
|
|
||||||
// // var roExt = lookup.Extensions.Where(x => x.AccPageExt.Equals(accPageExt)).SingleOrDefault();
|
|
||||||
//}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// var accPageExt = Convert.ToString(accPageKey.ToCharArray().LastOrDefault());
|
|
||||||
|
|
||||||
// Regex.IsMatch(accPageKey, @".*\.[A-Z]")
|
|
||||||
|
|
||||||
// Get the RoChild object once and cache it for any future calls to the same Ro while printing
|
|
||||||
//ROFSTLookup.rochild roc = lookup.GetROChildByAccPageID(sel.Text, spPrefix, igPrefix);
|
|
||||||
|
|
||||||
//if (!_roPrintCache.ContainsKey(accPageKey))
|
|
||||||
// _roPrintCache.Add(accPageKey, roc);
|
|
||||||
|
|
||||||
//// Check the RoType
|
|
||||||
//int roType = roType = ((roc.type & 4) == 4 && roc.value.StartsWith("<<G")) ? 4 : roc.type;
|
|
||||||
|
|
||||||
//// If multiple return values includes X-Y Plot, check to see if it is an X-Y Plot
|
|
||||||
////string roValue = (roc.value == null) ? lookup.GetUnitInfoTagValue(sel.Text.ToUpper()) : roc.value;
|
|
||||||
//string roValue = roc.value;
|
|
||||||
|
|
||||||
//if (roType != 8 && !string.IsNullOrEmpty(roValue)) // Exclude Images
|
|
||||||
//{
|
|
||||||
// roValue = roValue.Replace("`", "\xB0");
|
|
||||||
// roValue = roValue.Replace("\xF8", "\xB0");
|
|
||||||
// roValue = roValue.Replace("\x7F", "\x394"); //delta
|
|
||||||
// if (convertCaretToDeltaSymbol) roValue = roValue.Replace("^", "\x394"); // delta
|
|
||||||
//}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static RectangleF CreatePlot(string pngFile, string xyPlot, float resolution, System.Windows.Forms.Form myForm)
|
public static RectangleF CreatePlot(string pngFile, string xyPlot, float resolution, System.Windows.Forms.Form myForm)
|
||||||
@ -1757,14 +1713,6 @@ namespace VEPROMS.CSLA.Library
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//public static void CloseApp()
|
|
||||||
//{
|
|
||||||
// // WaitMS(900);// This was added because MSWord will sometimes get the following error: [Microsoft Office Word has stopped working]
|
|
||||||
// // It appears that this is caused by quitting the MS Word application to soon after closing the document or doing an export.
|
|
||||||
// MyApp.Quit(false);
|
|
||||||
// _MyApp = null;
|
|
||||||
//}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// This closes the MS Word Application, but, delays for about 1 second.
|
/// This closes the MS Word Application, but, delays for about 1 second.
|
||||||
/// It appears that closing MSWord to quickly causes a:
|
/// It appears that closing MSWord to quickly causes a:
|
||||||
@ -1781,16 +1729,6 @@ namespace VEPROMS.CSLA.Library
|
|||||||
|
|
||||||
#region Private Methods
|
#region Private Methods
|
||||||
|
|
||||||
//private static void WaitMS(int n)
|
|
||||||
//{
|
|
||||||
// DateTime dtw = DateTime.Now.AddMilliseconds(n);
|
|
||||||
|
|
||||||
// while (DateTime.Now < dtw)
|
|
||||||
// {
|
|
||||||
// System.Windows.Forms.Application.DoEvents();
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
|
|
||||||
private static void CloseDocument()
|
private static void CloseDocument()
|
||||||
{
|
{
|
||||||
int attempts = 0;
|
int attempts = 0;
|
||||||
@ -1800,7 +1738,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
System.Windows.Forms.Application.DoEvents();
|
System.Windows.Forms.Application.DoEvents();
|
||||||
|
|
||||||
if (TryToClose(attempts)) return;
|
if (TryToClose(attempts)) return;
|
||||||
System.Threading.Thread.Sleep(1000);
|
System.Threading.Thread.Sleep(500);
|
||||||
//WaitMS(1000);
|
//WaitMS(1000);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1829,13 +1767,13 @@ namespace VEPROMS.CSLA.Library
|
|||||||
|
|
||||||
private static void InsertROValue(LBSelection sel, string roValue, bool upRoIfPrevUpper, float indent, bool convertUnderline)
|
private static void InsertROValue(LBSelection sel, string roValue, bool upRoIfPrevUpper, float indent, bool convertUnderline)
|
||||||
{
|
{
|
||||||
if (roValue == null)
|
if (string.IsNullOrEmpty(roValue))
|
||||||
{
|
{
|
||||||
string orgtext = sel.Text;
|
string orgtext = sel.Text;
|
||||||
sel.Text = string.Format("RO ({0}) Not Found", orgtext.Replace("<", string.Empty).Replace(">", string.Empty));
|
sel.Text = string.Format("RO ({0}) Not Found", orgtext.Replace("<", string.Empty).Replace(">", string.Empty));
|
||||||
sel.Font.Color = LBWdColor.wdColorRed;
|
sel.Font.Color = LBWdColor.wdColorRed;
|
||||||
}
|
}
|
||||||
else if (roValue != string.Empty)
|
else // RO has a value
|
||||||
{
|
{
|
||||||
if (upRoIfPrevUpper && sel.LastWasUpper) roValue = roValue.ToUpper();
|
if (upRoIfPrevUpper && sel.LastWasUpper) roValue = roValue.ToUpper();
|
||||||
|
|
||||||
@ -2167,11 +2105,16 @@ namespace VEPROMS.CSLA.Library
|
|||||||
|
|
||||||
private class CloseWordApp : System.Windows.Forms.Timer
|
private class CloseWordApp : System.Windows.Forms.Timer
|
||||||
{
|
{
|
||||||
|
#region Fields
|
||||||
|
|
||||||
// B2019-161 When tracking timing time this action
|
// B2019-161 When tracking timing time this action
|
||||||
private static VolianTimer _TimeActivity = new VolianTimer("DocumentExt.cs CloseWordApp_Tick", 1548);
|
private static VolianTimer _TimeActivity = new VolianTimer("DocumentExt.cs CloseWordApp_Tick", 1548);
|
||||||
|
|
||||||
LBApplicationClass _MyApp;
|
LBApplicationClass _MyApp;
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Constructor
|
||||||
|
|
||||||
public LBApplicationClass MyApp
|
public LBApplicationClass MyApp
|
||||||
{
|
{
|
||||||
@ -2179,6 +2122,9 @@ namespace VEPROMS.CSLA.Library
|
|||||||
set { _MyApp = value; }
|
set { _MyApp = value; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Public Methods
|
||||||
|
|
||||||
public CloseWordApp(LBApplicationClass myApp, int interval)
|
public CloseWordApp(LBApplicationClass myApp, int interval)
|
||||||
{
|
{
|
||||||
@ -2188,6 +2134,10 @@ namespace VEPROMS.CSLA.Library
|
|||||||
Enabled = true;
|
Enabled = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Private Methods
|
||||||
|
|
||||||
private void CloseWordApp_Tick(object sender, EventArgs e)
|
private void CloseWordApp_Tick(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
_TimeActivity.Open();
|
_TimeActivity.Open();
|
||||||
@ -2205,6 +2155,8 @@ namespace VEPROMS.CSLA.Library
|
|||||||
Dispose();
|
Dispose();
|
||||||
_TimeActivity.Close();
|
_TimeActivity.Close();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
@ -715,6 +715,8 @@ namespace Volian.Controls.Library
|
|||||||
roc.appid = roc.children.First().appid;
|
roc.appid = roc.children.First().appid;
|
||||||
roc.roid = roc.children.First().roid;
|
roc.roid = roc.children.First().roid;
|
||||||
roc.value = roc.children.First().value;
|
roc.value = roc.children.First().value;
|
||||||
|
|
||||||
|
roc.children = new List<ROFSTLookup.rochild>().ToArray();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -494,7 +494,7 @@ namespace Volian.Print.Library
|
|||||||
MSWordToPDF.DocReplace = DocReplace;
|
MSWordToPDF.DocReplace = DocReplace;
|
||||||
MSWordFile = MSWordToPDF.GetDocPdf(section, PrintOverride.TextColor);
|
MSWordFile = MSWordToPDF.GetDocPdf(section, PrintOverride.TextColor);
|
||||||
MSWordToPDF.DocReplace = null;
|
MSWordToPDF.DocReplace = null;
|
||||||
GC.Collect(); // memory garbage collection
|
//GC.Collect(); // memory garbage collection
|
||||||
OnStatusChanged("MSWord converted to PDF " + MSWordFile, PromsPrinterStatusType.MSWordToPDF);
|
OnStatusChanged("MSWord converted to PDF " + MSWordFile, PromsPrinterStatusType.MSWordToPDF);
|
||||||
}
|
}
|
||||||
return MSWordFile;
|
return MSWordFile;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user