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
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
==========================================================================================================
|
||||
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
|
||||
Copyright 2021 - Volian Enterprises, Inc. All rights reserved.
|
||||
Copyright 2022 - Volian Enterprises, Inc. All rights reserved.
|
||||
*****************************************************************************/
|
||||
CREATE PROCEDURE [dbo].[vesp_GetSQLCodeRevision]
|
||||
WITH EXECUTE AS OWNER
|
||||
@ -20085,8 +20979,8 @@ BEGIN TRY -- Try Block
|
||||
DECLARE @RevDate varchar(255)
|
||||
DECLARE @RevDescription varchar(255)
|
||||
|
||||
set @RevDate = '07/12/2022 11:15 AM'
|
||||
set @RevDescription = 'ROFST Lookup / Memory Fixes (v2.0) - New procedures for Reduction of Memory Use'
|
||||
set @RevDate = '07/27/2022 1:20 PM'
|
||||
set @RevDescription = 'B2022-083: Support Conditional RO Values (v2.1)'
|
||||
|
||||
Select cast(@RevDate as datetime) RevDate, @RevDescription RevDescription
|
||||
PRINT 'SQL Code Revision ' + @RevDate + ' - ' + @RevDescription
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -20041,15 +20041,909 @@ GO
|
||||
GO
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
==========================================================================================================
|
||||
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
|
||||
Copyright 2021 - Volian Enterprises, Inc. All rights reserved.
|
||||
Copyright 2022 - Volian Enterprises, Inc. All rights reserved.
|
||||
*****************************************************************************/
|
||||
CREATE PROCEDURE [dbo].[vesp_GetSQLCodeRevision]
|
||||
WITH EXECUTE AS OWNER
|
||||
@ -20085,8 +20979,8 @@ BEGIN TRY -- Try Block
|
||||
DECLARE @RevDate varchar(255)
|
||||
DECLARE @RevDescription varchar(255)
|
||||
|
||||
set @RevDate = '07/12/2022 11:15 AM'
|
||||
set @RevDescription = 'ROFST Lookup / Memory Fixes (v2.0) - New procedures for Reduction of Memory Use'
|
||||
set @RevDate = '07/27/2022 1:20 PM'
|
||||
set @RevDescription = 'B2022-083: Support Conditional RO Values (v2.1)'
|
||||
|
||||
Select cast(@RevDate as datetime) RevDate, @RevDescription RevDescription
|
||||
PRINT 'SQL Code Revision ' + @RevDate + ' - ' + @RevDescription
|
||||
|
@ -47,7 +47,7 @@ namespace VEPROMS
|
||||
this.lblStatus.Location = new System.Drawing.Point(9, 17);
|
||||
this.lblStatus.Margin = new System.Windows.Forms.Padding(2);
|
||||
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.Text = "Ready";
|
||||
//
|
||||
@ -60,7 +60,7 @@ namespace VEPROMS
|
||||
this.pb.Location = new System.Drawing.Point(9, 53);
|
||||
this.pb.Margin = new System.Windows.Forms.Padding(2);
|
||||
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.TextVisible = true;
|
||||
//
|
||||
@ -72,7 +72,7 @@ namespace VEPROMS
|
||||
//
|
||||
this.btnOpenFolder.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
|
||||
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.Name = "btnOpenFolder";
|
||||
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.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.Name = "btnOpenPDF";
|
||||
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.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.Name = "btnCancel";
|
||||
this.btnCancel.Size = new System.Drawing.Size(77, 19);
|
||||
@ -114,7 +114,7 @@ namespace VEPROMS
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
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.btnOpenPDF);
|
||||
this.Controls.Add(this.btnOpenFolder);
|
||||
|
@ -112,15 +112,15 @@
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<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 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>
|
||||
<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>
|
||||
</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">
|
||||
<value>
|
||||
AAABAA4AMDAQAAEABABoBgAA5gAAACAgEAABAAQA6AIAAE4HAAAYGBAAAQAEAOgBAAA2CgAAEBAQAAEA
|
||||
|
@ -105,20 +105,21 @@ namespace VEPROMS
|
||||
ProcedureInfo pi = args.Proc as ProcedureInfo;
|
||||
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
|
||||
pi.MyDocVersion.DocVersionConfig.SelectedSlave = pi.ProcedureConfig.SelectedSlave;
|
||||
|
||||
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
|
||||
prnDlg.SelectedSlave = pi.ProcedureConfig.SelectedSlave == 0 ? -1 : pi.ProcedureConfig.SelectedSlave;
|
||||
prnDlg.SelectedSlave = (pi.ProcedureConfig.SelectedSlave == 0) ? -1 : pi.ProcedureConfig.SelectedSlave;
|
||||
prnDlg.MySessionInfo = MySessionInfo;
|
||||
prnDlg.Automatic = true;
|
||||
prnDlg.CreateContinuousActionSummary = true;
|
||||
prnDlg.OpenAfterCreate = (dr == System.Windows.Forms.DialogResult.Yes);
|
||||
prnDlg.Prefix = "CASTMP_"; // A temporary procedure PDF is created to grab page numbers
|
||||
|
||||
prnDlg.SetupForProcedure();
|
||||
prnDlg.CreatePDF();
|
||||
|
||||
@ -379,7 +380,6 @@ namespace VEPROMS
|
||||
|
||||
}
|
||||
|
||||
|
||||
void displaySearch1_SearchComplete(object sender, DisplaySearchEventArgs args)
|
||||
{
|
||||
ProgBarText = string.Format("{0} Seconds", args.HowLong.TotalSeconds);
|
||||
@ -628,7 +628,7 @@ namespace VEPROMS
|
||||
else
|
||||
{
|
||||
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
|
||||
dlg.ShowDialog(this);
|
||||
|
||||
@ -661,6 +661,7 @@ namespace VEPROMS
|
||||
}
|
||||
|
||||
int ownerid = MySessionInfo.CheckOutItem(dvi.VersionID, CheckOutType.DocVersion);
|
||||
|
||||
dlgExportImport dlg = new dlgExportImport("Import", dvi, this, (E_UCFImportOptions)Properties.Settings.Default.UCFImportOpt);//Added frmVEPROMS Parameter
|
||||
dlg.MyNewProcedure = null;
|
||||
dlg.ExternalTransitionItem = null;
|
||||
@ -894,6 +895,7 @@ namespace VEPROMS
|
||||
}
|
||||
|
||||
tc.SaveCurrentEditItem();
|
||||
|
||||
string message = string.Empty;
|
||||
|
||||
if (!MySessionInfo.CanCheckOutItem(dvi.VersionID, CheckOutType.DocVersion, ref message))
|
||||
@ -904,13 +906,15 @@ namespace VEPROMS
|
||||
|
||||
int ownerid = MySessionInfo.CheckOutItem(dvi.VersionID, CheckOutType.DocVersion);
|
||||
dvi.DocVersionConfig.SelectedSlave = args.UnitIndex;
|
||||
|
||||
dlgApproveProcedure dlg = new dlgApproveProcedure(dvi, true, this);
|
||||
dlg.MySessionInfo = MySessionInfo;
|
||||
dlg.ShowDialog(this);
|
||||
|
||||
displayHistory.RefreshList();
|
||||
dvi.DocVersionConfig.SelectedSlave = 0;
|
||||
MySessionInfo.CheckInItem(ownerid);
|
||||
|
||||
dvi.DocVersionConfig.SelectedSlave = 0;
|
||||
}
|
||||
|
||||
void tv_ApproveAllProcedures(object sender, vlnTreeEventArgs args)
|
||||
@ -924,11 +928,12 @@ namespace VEPROMS
|
||||
// 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" +
|
||||
"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;
|
||||
}
|
||||
|
||||
tc.SaveCurrentEditItem();
|
||||
|
||||
string message = string.Empty;
|
||||
|
||||
if (!MySessionInfo.CanCheckOutItem(dvi.VersionID, CheckOutType.DocVersion, ref message))
|
||||
@ -939,13 +944,15 @@ namespace VEPROMS
|
||||
|
||||
int ownerid = MySessionInfo.CheckOutItem(dvi.VersionID, CheckOutType.DocVersion);
|
||||
dvi.DocVersionConfig.SelectedSlave = args.UnitIndex;
|
||||
|
||||
dlgApproveProcedure dlg = new dlgApproveProcedure(dvi, this);//Added frmVEPROMS Parameter
|
||||
dlg.MySessionInfo = MySessionInfo;
|
||||
dlg.ShowDialog(this);
|
||||
|
||||
displayHistory.RefreshList();
|
||||
dvi.DocVersionConfig.SelectedSlave = 0;
|
||||
MySessionInfo.CheckInItem(ownerid);
|
||||
|
||||
dvi.DocVersionConfig.SelectedSlave = 0;
|
||||
}
|
||||
|
||||
void tv_RefreshCheckedOutProcedures(object sender, vlnTreeEventArgs args)
|
||||
@ -1020,7 +1027,6 @@ namespace VEPROMS
|
||||
void tv_ApproveProcedure(object sender, vlnTreeEventArgs args)
|
||||
{
|
||||
ProcedureInfo pi = (args.Node as VETreeNode).VEObject as ProcedureInfo;
|
||||
pi.MyDocVersion.DocVersionConfig.SelectedSlave = args.UnitIndex;
|
||||
if (pi == null) return;
|
||||
|
||||
// B2017-242 added check for duplicate procedure numbers in a procedure set?
|
||||
@ -1033,6 +1039,7 @@ namespace VEPROMS
|
||||
}
|
||||
|
||||
tc.SaveCurrentEditItem(pi);
|
||||
|
||||
string message = string.Empty;
|
||||
|
||||
if (!MySessionInfo.CanCheckOutItem(pi.ItemID, CheckOutType.Procedure, ref message))
|
||||
@ -1042,13 +1049,16 @@ namespace VEPROMS
|
||||
}
|
||||
|
||||
int ownerid = MySessionInfo.CheckOutItem(pi.ItemID, 0);
|
||||
pi.MyDocVersion.DocVersionConfig.SelectedSlave = args.UnitIndex;
|
||||
|
||||
dlgApproveProcedure dlg = new dlgApproveProcedure(pi, this);//Added frmVEPROMS Parameter
|
||||
dlg.MySessionInfo = MySessionInfo;
|
||||
dlg.ShowDialog(this);
|
||||
|
||||
displayHistory.RefreshList();
|
||||
pi.MyDocVersion.DocVersionConfig.SelectedSlave = 0;
|
||||
MySessionInfo.CheckInItem(ownerid);
|
||||
|
||||
pi.MyDocVersion.DocVersionConfig.SelectedSlave = 0;
|
||||
}
|
||||
|
||||
void tv_PrintAllProcedures(object sender, vlnTreeEventArgs args)
|
||||
@ -1058,23 +1068,28 @@ namespace VEPROMS
|
||||
|
||||
tc.SaveCurrentEditItem();
|
||||
|
||||
dvi.DocVersionConfig.SelectedSlave = args.UnitIndex;
|
||||
|
||||
DlgPrintProcedure prnDlg = new DlgPrintProcedure(dvi);
|
||||
prnDlg.MySessionInfo = MySessionInfo;
|
||||
prnDlg.SelectedSlave = args.UnitIndex;
|
||||
prnDlg.MySessionInfo = MySessionInfo;
|
||||
prnDlg.ShowDialog(this); // RHM 20120925 - Center dialog over PROMS window
|
||||
|
||||
dvi.DocVersionConfig.SelectedSlave = 0;
|
||||
}
|
||||
|
||||
void tv_PrintProcedure(object sender, vlnTreeEventArgs args)
|
||||
{
|
||||
ProcedureInfo pi = (args.Node as VETreeNode).VEObject as ProcedureInfo;
|
||||
pi.MyDocVersion.DocVersionConfig.SelectedSlave = args.UnitIndex;
|
||||
if (pi == null) return;
|
||||
|
||||
tc.SaveCurrentEditItem(pi);
|
||||
|
||||
pi.MyDocVersion.DocVersionConfig.SelectedSlave = args.UnitIndex;
|
||||
|
||||
DlgPrintProcedure prnDlg = new DlgPrintProcedure(pi);
|
||||
prnDlg.MySessionInfo = MySessionInfo;
|
||||
prnDlg.SelectedSlave = args.UnitIndex;
|
||||
prnDlg.MySessionInfo = MySessionInfo;
|
||||
prnDlg.ShowDialog(this); // RHM 20120925 - Center dialog over PROMS window
|
||||
|
||||
pi.MyDocVersion.DocVersionConfig.SelectedSlave = 0;
|
||||
@ -1083,12 +1098,14 @@ namespace VEPROMS
|
||||
void tv_CreateContinuousActionSummary(object sender, vlnTreeEventArgs args)
|
||||
{
|
||||
DialogResult dr = System.Windows.Forms.DialogResult.Yes;
|
||||
|
||||
ProcedureInfo pi = (args.Node as VETreeNode).VEObject as ProcedureInfo;
|
||||
pi.MyDocVersion.DocVersionConfig.SelectedSlave = args.UnitIndex;
|
||||
if (pi == null) return;
|
||||
|
||||
tc.SaveCurrentEditItem(pi);
|
||||
|
||||
pi.MyDocVersion.DocVersionConfig.SelectedSlave = args.UnitIndex;
|
||||
|
||||
DlgPrintProcedure prnDlg = new DlgPrintProcedure(pi, true);
|
||||
prnDlg.MySessionInfo = MySessionInfo;
|
||||
prnDlg.SelectedSlave = args.UnitIndex;
|
||||
@ -1096,7 +1113,6 @@ namespace VEPROMS
|
||||
prnDlg.CreateContinuousActionSummary = true;
|
||||
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.SetupForProcedure();
|
||||
prnDlg.CreatePDF();
|
||||
|
||||
@ -1264,21 +1280,17 @@ namespace VEPROMS
|
||||
ProcedureInfo pi = args.Proc as ProcedureInfo;
|
||||
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
|
||||
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
|
||||
prnDlg.SelectedSlave = pi.ProcedureConfig.SelectedSlave == 0 ? -1 : pi.ProcedureConfig.SelectedSlave;
|
||||
prnDlg.MySessionInfo = MySessionInfo;
|
||||
pi.MyDocVersion.DocVersionConfig.SelectedSlave = pi.ProcedureConfig.SelectedSlave;
|
||||
|
||||
// RHM 20120925 - Center dialog over PROMS window
|
||||
prnDlg.ShowDialog(this);
|
||||
DlgPrintProcedure prnDlg = new DlgPrintProcedure(pi);
|
||||
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
|
||||
pi.MyDocVersion.DocVersionConfig.SelectedSlave = 0;
|
||||
@ -2291,16 +2303,15 @@ namespace VEPROMS
|
||||
{
|
||||
ProcedureInfo proc = dicProcs[key];
|
||||
|
||||
//Console.WriteLine("{0}", proc.ShortPath);
|
||||
DlgPrintProcedure prnDlg = new DlgPrintProcedure(proc, true);
|
||||
prnDlg.MySessionInfo = MySessionInfo;
|
||||
|
||||
//prnDlg.ShowDialog(this); // RHM 20120925 - Center dialog over PROMS window
|
||||
prnDlg.Prefix = proc.MyDocVersion.VersionID.ToString() + "_";
|
||||
prnDlg.Automatic = true;
|
||||
prnDlg.OpenAfterCreate = (dr == System.Windows.Forms.DialogResult.Yes);
|
||||
prnDlg.SetupForProcedure();
|
||||
prnDlg.CreatePDF();
|
||||
|
||||
//prnDlg.ShowDialog(this); // RHM 20120925 - Center dialog over PROMS window
|
||||
}
|
||||
}
|
||||
|
||||
@ -2699,6 +2710,7 @@ namespace VEPROMS
|
||||
void btnUserControlOfFormatsExport_Click(object sender, EventArgs e)
|
||||
{
|
||||
DocVersionInfo dvi = null;
|
||||
|
||||
dlgExportImport dlg = new dlgExportImport("Export Formats", dvi, this, (E_UCFImportOptions)0);
|
||||
dlg.MyNewProcedure = null;
|
||||
dlg.ExternalTransitionItem = null;
|
||||
@ -2708,6 +2720,7 @@ namespace VEPROMS
|
||||
void btnUserControlOfFormatsImport_Click(object sender, EventArgs e)
|
||||
{
|
||||
DocVersionInfo dvi = null;
|
||||
|
||||
dlgExportImport dlg = new dlgExportImport("Import Formats", dvi, this, (E_UCFImportOptions)0);
|
||||
dlg.MyNewProcedure = null;
|
||||
dlg.ExternalTransitionItem = null;
|
||||
@ -2879,14 +2892,13 @@ namespace VEPROMS
|
||||
|
||||
foreach (string dvstr in dvstrs)
|
||||
{
|
||||
if (dvstr != "")
|
||||
if (dvstr != string.Empty)
|
||||
{
|
||||
DocVersionInfo dvi = DocVersionInfo.Get(int.Parse(dvstr));
|
||||
|
||||
if (dvi != null)
|
||||
{
|
||||
DlgPrintProcedure prnDlg = new DlgPrintProcedure(dvi, true);
|
||||
|
||||
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.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)
|
||||
{
|
||||
// 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 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
|
||||
@ -421,6 +421,7 @@ namespace VEPROMS.CSLA.Library
|
||||
}
|
||||
|
||||
|
||||
|
||||
public string GetRoValue(string roid)
|
||||
{
|
||||
return GetRoChild(roid).value;
|
||||
@ -603,13 +604,11 @@ namespace VEPROMS.CSLA.Library
|
||||
public void LoadChildren(ref ROFSTLookup.rochild child)
|
||||
{
|
||||
// If Children is null then it hasn't been loaded yet
|
||||
//if (child.children == null || child.children.Length <= 0)
|
||||
if (child.children == null)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(child.appid))
|
||||
child = GetRoChild12(child.roid, true);
|
||||
else
|
||||
//child.children = GetRoChildrenByRoid(child.roid, true);
|
||||
child.children = GetRoChildrenByRoid(child.roid, false);
|
||||
}
|
||||
}
|
||||
@ -617,9 +616,7 @@ namespace VEPROMS.CSLA.Library
|
||||
public void LoadChildren(ref ROFSTLookup.rodbi db)
|
||||
{
|
||||
// If Children is null then it hasn't been loaded yet
|
||||
//if (child.children == null || child.children.Length <= 0)
|
||||
if (db.children == null)
|
||||
//db.children = GetRoChildrenByID(db.ID, db.dbiID, true);
|
||||
db.children = GetRoChildrenByID(db.ID, db.dbiID, false);
|
||||
}
|
||||
|
||||
@ -1957,10 +1954,11 @@ namespace VEPROMS.CSLA.Library
|
||||
|
||||
if (!string.IsNullOrEmpty(roid))
|
||||
{
|
||||
DocVersionConfig dvc = (_myDocVersionInfo != null) ? _myDocVersionInfo.DocVersionConfig : null;
|
||||
|
||||
rc.roid = FormatRoidKey(roid).Substring(0, 12);
|
||||
|
||||
DocVersionConfig dvc = (_myDocVersionInfo != null) ? _myDocVersionInfo.DocVersionConfig : null;
|
||||
if (dvc != null) dvc.SelectedSlave = this.SelectedSlave;
|
||||
|
||||
switch (rc.roid)
|
||||
{
|
||||
case "FFFF00000001":
|
||||
|
@ -410,12 +410,14 @@ namespace VEPROMS.CSLA.Library
|
||||
public class DSOFile : IDisposable
|
||||
{
|
||||
private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
|
||||
|
||||
#region Fields
|
||||
private bool _IsDisposed;
|
||||
private DocumentInfo _MyDocument = null;
|
||||
private FileInfo _MyFile = null;
|
||||
private string _Extension = "DOC";
|
||||
#endregion
|
||||
|
||||
#region Properties
|
||||
public DocumentInfo MyDocument
|
||||
{
|
||||
@ -438,6 +440,7 @@ namespace VEPROMS.CSLA.Library
|
||||
set { _Extension = value; }
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Private Methods
|
||||
private void TryDelete()
|
||||
{
|
||||
@ -757,7 +760,7 @@ namespace VEPROMS.CSLA.Library
|
||||
private static List<int> _MissingDocs = new List<int>();
|
||||
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
|
||||
// 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; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// C2018-035 Don't use a MessageBox if in automatic (Baseline) testing mode.
|
||||
/// </summary>
|
||||
public static bool Automatic
|
||||
{
|
||||
// C2018-035 Don't use a MessageBox if in automatic (Baseline) testing mode.
|
||||
get { return MSWordToPDF._Automatic; }
|
||||
set { MSWordToPDF._Automatic = value; }
|
||||
}
|
||||
@ -940,9 +941,11 @@ namespace VEPROMS.CSLA.Library
|
||||
DocStyle myDocStyle = sect.MyDocStyle;
|
||||
ProcedureInfo proc = sect.MyProcedure;
|
||||
DocVersionInfo dvi = proc.ActiveParent as DocVersionInfo;
|
||||
|
||||
bool hasRos = false;
|
||||
ROFstInfo rofst = null;
|
||||
ROFSTLookup lookup = null;
|
||||
|
||||
string igPrefix = 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
|
||||
@ -1321,6 +1324,8 @@ namespace VEPROMS.CSLA.Library
|
||||
|
||||
}
|
||||
|
||||
lastStart = sel.Start;
|
||||
|
||||
sel = FindRO();
|
||||
|
||||
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 (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;
|
||||
|
||||
//jsj 2-15-2016 - for memory garbage collection
|
||||
//GC.Collect();
|
||||
|
||||
return fileName;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private static ROFSTLookup.rochild GetCachedRoByAccPageID(ROFSTLookup lookup, string selText, string spPrefix, string igPrefix, bool convertCaretToDeltaSymbol)
|
||||
{
|
||||
string accPageBase = string.Empty;
|
||||
@ -1415,14 +1420,18 @@ namespace VEPROMS.CSLA.Library
|
||||
return roc;
|
||||
|
||||
|
||||
// All ROs should have a specific accPageExt or the default (A/0041), except for the "Unit Information" ("FFFF")
|
||||
roc = (roc.children.Where(x => x.appid.EndsWith(accPageExt)).Any()) ? roc.children.Where(x => x.appid.EndsWith(accPageExt)).Single() : roc.children.First();
|
||||
// All ROs at this point should have a specific accPageExt or the default (A/0041)
|
||||
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
|
||||
roc.type = ((roc.type & 4) == 4 && roc.value.StartsWith("<<G")) ? 4 : roc.type;
|
||||
|
||||
// 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("\xF8", "\xB0");
|
||||
@ -1437,59 +1446,6 @@ namespace VEPROMS.CSLA.Library
|
||||
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)
|
||||
@ -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>
|
||||
/// This closes the MS Word Application, but, delays for about 1 second.
|
||||
/// It appears that closing MSWord to quickly causes a:
|
||||
@ -1781,16 +1729,6 @@ namespace VEPROMS.CSLA.Library
|
||||
|
||||
#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()
|
||||
{
|
||||
int attempts = 0;
|
||||
@ -1800,7 +1738,7 @@ namespace VEPROMS.CSLA.Library
|
||||
System.Windows.Forms.Application.DoEvents();
|
||||
|
||||
if (TryToClose(attempts)) return;
|
||||
System.Threading.Thread.Sleep(1000);
|
||||
System.Threading.Thread.Sleep(500);
|
||||
//WaitMS(1000);
|
||||
}
|
||||
}
|
||||
@ -1829,13 +1767,13 @@ namespace VEPROMS.CSLA.Library
|
||||
|
||||
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;
|
||||
sel.Text = string.Format("RO ({0}) Not Found", orgtext.Replace("<", string.Empty).Replace(">", string.Empty));
|
||||
sel.Font.Color = LBWdColor.wdColorRed;
|
||||
}
|
||||
else if (roValue != string.Empty)
|
||||
else // RO has a value
|
||||
{
|
||||
if (upRoIfPrevUpper && sel.LastWasUpper) roValue = roValue.ToUpper();
|
||||
|
||||
@ -2167,11 +2105,16 @@ namespace VEPROMS.CSLA.Library
|
||||
|
||||
private class CloseWordApp : System.Windows.Forms.Timer
|
||||
{
|
||||
#region Fields
|
||||
|
||||
// B2019-161 When tracking timing time this action
|
||||
private static VolianTimer _TimeActivity = new VolianTimer("DocumentExt.cs CloseWordApp_Tick", 1548);
|
||||
|
||||
LBApplicationClass _MyApp;
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructor
|
||||
|
||||
public LBApplicationClass MyApp
|
||||
{
|
||||
@ -2179,6 +2122,9 @@ namespace VEPROMS.CSLA.Library
|
||||
set { _MyApp = value; }
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Public Methods
|
||||
|
||||
public CloseWordApp(LBApplicationClass myApp, int interval)
|
||||
{
|
||||
@ -2188,6 +2134,10 @@ namespace VEPROMS.CSLA.Library
|
||||
Enabled = true;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Private Methods
|
||||
|
||||
private void CloseWordApp_Tick(object sender, EventArgs e)
|
||||
{
|
||||
_TimeActivity.Open();
|
||||
@ -2205,6 +2155,8 @@ namespace VEPROMS.CSLA.Library
|
||||
Dispose();
|
||||
_TimeActivity.Close();
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
@ -715,6 +715,8 @@ namespace Volian.Controls.Library
|
||||
roc.appid = roc.children.First().appid;
|
||||
roc.roid = roc.children.First().roid;
|
||||
roc.value = roc.children.First().value;
|
||||
|
||||
roc.children = new List<ROFSTLookup.rochild>().ToArray();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -494,7 +494,7 @@ namespace Volian.Print.Library
|
||||
MSWordToPDF.DocReplace = DocReplace;
|
||||
MSWordFile = MSWordToPDF.GetDocPdf(section, PrintOverride.TextColor);
|
||||
MSWordToPDF.DocReplace = null;
|
||||
GC.Collect(); // memory garbage collection
|
||||
//GC.Collect(); // memory garbage collection
|
||||
OnStatusChanged("MSWord converted to PDF " + MSWordFile, PromsPrinterStatusType.MSWordToPDF);
|
||||
}
|
||||
return MSWordFile;
|
||||
|
Loading…
x
Reference in New Issue
Block a user