Compare commits
	
		
			1 Commits
		
	
	
		
			8bae94de96
			...
			origin/Pro
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| ab800974b7 | 
							
								
								
									
										16
									
								
								Programmability/Functions/EncodeHtml.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								Programmability/Functions/EncodeHtml.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,16 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
  /****** Object:  UserDefinedFunction [dbo].[EncodeHtml]    Script Date: 11/21/2024 11:31:55 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
  ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
  QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
  CREATE FUNCTION [dbo].[EncodeHtml] (@RawStr varchar(max)) RETURNS varchar(max) AS BEGIN RETURN REPLACE(
 | 
			
		||||
    REPLACE(REPLACE(@RawStr, '&', '&'), '<', '<'),
 | 
			
		||||
    '>',
 | 
			
		||||
    '>'
 | 
			
		||||
  )
 | 
			
		||||
END
 | 
			
		||||
GO
 | 
			
		||||
@ -0,0 +1,33 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  UserDefinedFunction [dbo].[fn8DConvertCANoToCADisplayFormat]    Script Date: 11/21/2024 11:31:55 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date, ,>
 | 
			
		||||
	-- Description:	<Description, ,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE FUNCTION [dbo].[fn8DConvertCANoToCADisplayFormat] (
 | 
			
		||||
		-- Add the parameters for the function here
 | 
			
		||||
		@CANo INT
 | 
			
		||||
	) RETURNS VARCHAR(10) AS BEGIN -- Declare the return variable here
 | 
			
		||||
	DECLARE @CADisplay VARCHAR(10) -- Add the T-SQL statements to compute the return value here
 | 
			
		||||
SET
 | 
			
		||||
	@CADisplay = LTRIM(
 | 
			
		||||
		RTRIM(
 | 
			
		||||
			CAST(
 | 
			
		||||
				'C' + RIGHT(
 | 
			
		||||
					'00000' + ISNULL(CAST(@CANo AS VARCHAR(10)), ''),
 | 
			
		||||
					5
 | 
			
		||||
				) AS VARCHAR(50)
 | 
			
		||||
			)
 | 
			
		||||
		)
 | 
			
		||||
	) -- Return the result of the function
 | 
			
		||||
	RETURN @CADisplay
 | 
			
		||||
END
 | 
			
		||||
GO
 | 
			
		||||
@ -0,0 +1,28 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  UserDefinedFunction [dbo].[fnAuditConvertAuditNoToDisplayFormat]    Script Date: 11/21/2024 11:31:55 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	CREATE FUNCTION [dbo].[fnAuditConvertAuditNoToDisplayFormat] (
 | 
			
		||||
		-- Add the parameters for the function here
 | 
			
		||||
		@AuditNo INT
 | 
			
		||||
	) RETURNS VARCHAR(10) AS BEGIN -- Declare the return variable here
 | 
			
		||||
	DECLARE @Display VARCHAR(10) -- Add the T-SQL statements to compute the return value here
 | 
			
		||||
SET
 | 
			
		||||
	@Display = LTRIM(
 | 
			
		||||
		RTRIM(
 | 
			
		||||
			CAST(
 | 
			
		||||
				'A' + RIGHT(
 | 
			
		||||
					'00000' + ISNULL(CAST(@AuditNo AS VARCHAR(10)), ''),
 | 
			
		||||
					5
 | 
			
		||||
				) AS VARCHAR(50)
 | 
			
		||||
			)
 | 
			
		||||
		)
 | 
			
		||||
	) -- Return the result of the function
 | 
			
		||||
	RETURN @Display
 | 
			
		||||
END
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										64
									
								
								Programmability/Functions/fnGetApprovalFullNames.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										64
									
								
								Programmability/Functions/fnGetApprovalFullNames.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,64 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  UserDefinedFunction [dbo].[fnGetApprovalFullNames]    Script Date: 11/21/2024 11:31:55 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	CREATE FUNCTION [dbo].[fnGetApprovalFullNames] (
 | 
			
		||||
		@IssueID int,
 | 
			
		||||
		@DocumentTypeID int,
 | 
			
		||||
		@Separator varchar(10),
 | 
			
		||||
		@IncludeRole bit,
 | 
			
		||||
		@IncludeSubRole bit,
 | 
			
		||||
		@IncludePending bit,
 | 
			
		||||
		@IncludeApproved bit,
 | 
			
		||||
		@IncludeOthers bit
 | 
			
		||||
	) RETURNS varchar(max) AS BEGIN DECLARE @r varchar(max) DECLARE @t TABLE(u varchar(200))
 | 
			
		||||
INSERT INTO
 | 
			
		||||
	@t
 | 
			
		||||
SELECT
 | 
			
		||||
	@Separator + ISNULL(U.FirstName, '') + ' ' + ISNULL(U.LastName, '') + CASE
 | 
			
		||||
		WHEN @IncludeRole <> 0 THEN ' (' + A.RoleName + ')'
 | 
			
		||||
		ELSE ''
 | 
			
		||||
	END + CASE
 | 
			
		||||
		WHEN @IncludeSubRole <> 0 THEN ' (' + A.SubRole + ')'
 | 
			
		||||
		ELSE ''
 | 
			
		||||
	END
 | 
			
		||||
FROM
 | 
			
		||||
	Approval A
 | 
			
		||||
	LEFT OUTER JOIN Users U ON A.UserID = U.UserID
 | 
			
		||||
WHERE
 | 
			
		||||
	A.IssueID = @IssueID
 | 
			
		||||
	AND A.DocumentTypeID = @DocumentTypeID
 | 
			
		||||
	AND (
 | 
			
		||||
		(
 | 
			
		||||
			@IncludeOthers <> 0
 | 
			
		||||
			AND A.ItemStatus NOT IN (0, 1)
 | 
			
		||||
		)
 | 
			
		||||
		OR (
 | 
			
		||||
			@IncludePending <> 0
 | 
			
		||||
			AND A.ItemStatus = 0
 | 
			
		||||
		)
 | 
			
		||||
		OR (
 | 
			
		||||
			@IncludeApproved <> 0
 | 
			
		||||
			AND A.ItemStatus = 1
 | 
			
		||||
		)
 | 
			
		||||
	)
 | 
			
		||||
ORDER BY
 | 
			
		||||
	A.Step,
 | 
			
		||||
	U.FirstName,
 | 
			
		||||
	U.LastName
 | 
			
		||||
SELECT
 | 
			
		||||
	@r = (
 | 
			
		||||
		SELECT
 | 
			
		||||
			u + ''
 | 
			
		||||
		FROM
 | 
			
		||||
			@t FOR XML PATH('')
 | 
			
		||||
	) IF @r <> ''
 | 
			
		||||
SET
 | 
			
		||||
	@r = STUFF(@r, 1, LEN(@Separator), '') RETURN @r
 | 
			
		||||
END
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										24
									
								
								Programmability/Functions/fnGetITARUsers.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								Programmability/Functions/fnGetITARUsers.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,24 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  UserDefinedFunction [dbo].[fnGetITARUsers]    Script Date: 11/21/2024 11:31:55 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE FUNCTION [dbo].[fnGetITARUsers] () RETURNS TABLE AS RETURN (
 | 
			
		||||
		SELECT
 | 
			
		||||
			UserID,
 | 
			
		||||
			HasITARAccess
 | 
			
		||||
		FROM
 | 
			
		||||
			SAMUsers
 | 
			
		||||
		WHERE
 | 
			
		||||
			HasITARAccess = 1
 | 
			
		||||
	)
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										33
									
								
								Programmability/Functions/fnGetLotCount_Fab.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								Programmability/Functions/fnGetLotCount_Fab.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,33 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  UserDefinedFunction [dbo].[fnGetLotCount_Fab]    Script Date: 11/21/2024 11:31:55 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date, ,>
 | 
			
		||||
	-- Description:	<Description, ,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE FUNCTION [dbo].[fnGetLotCount_Fab] (
 | 
			
		||||
		-- Add the parameters for the function here
 | 
			
		||||
		@IssueID INT
 | 
			
		||||
	) RETURNS FLOAT AS BEGIN DECLARE @FabCount INT -- Declare the return variable here
 | 
			
		||||
SET
 | 
			
		||||
	@FabCount = 0
 | 
			
		||||
SET
 | 
			
		||||
	@FabCount = (
 | 
			
		||||
		SELECT
 | 
			
		||||
			COUNT(*)
 | 
			
		||||
		FROM
 | 
			
		||||
			Lot L
 | 
			
		||||
		WHERE
 | 
			
		||||
			L.IssueID = @IssueID
 | 
			
		||||
			AND L.Location NOT IN ('6300', '6400 ', '6600', 'QDB')
 | 
			
		||||
	) -- Return the result of the function
 | 
			
		||||
	RETURN @FabCount
 | 
			
		||||
END
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										33
									
								
								Programmability/Functions/fnGetLotCount_Probe.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								Programmability/Functions/fnGetLotCount_Probe.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,33 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  UserDefinedFunction [dbo].[fnGetLotCount_Probe]    Script Date: 11/21/2024 11:31:55 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date, ,>
 | 
			
		||||
	-- Description:	<Description, ,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE FUNCTION [dbo].[fnGetLotCount_Probe] (
 | 
			
		||||
		-- Add the parameters for the function here
 | 
			
		||||
		@IssueID INT
 | 
			
		||||
	) RETURNS FLOAT AS BEGIN DECLARE @ProbeCount INT -- Declare the return variable here
 | 
			
		||||
SET
 | 
			
		||||
	@ProbeCount = 0
 | 
			
		||||
SET
 | 
			
		||||
	@ProbeCount = (
 | 
			
		||||
		SELECT
 | 
			
		||||
			COUNT(*)
 | 
			
		||||
		FROM
 | 
			
		||||
			Lot L
 | 
			
		||||
		WHERE
 | 
			
		||||
			L.IssueID = @IssueID
 | 
			
		||||
			AND L.Location IN ('6300', '6400 ', '6600')
 | 
			
		||||
	) -- Return the result of the function
 | 
			
		||||
	RETURN @ProbeCount
 | 
			
		||||
END
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										33
									
								
								Programmability/Functions/fnGetLotCount_QDB.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								Programmability/Functions/fnGetLotCount_QDB.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,33 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  UserDefinedFunction [dbo].[fnGetLotCount_QDB]    Script Date: 11/21/2024 11:31:55 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date, ,>
 | 
			
		||||
	-- Description:	<Description, ,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE FUNCTION [dbo].[fnGetLotCount_QDB] (
 | 
			
		||||
		-- Add the parameters for the function here
 | 
			
		||||
		@IssueID INT
 | 
			
		||||
	) RETURNS FLOAT AS BEGIN DECLARE @QDBCount INT -- Declare the return variable here
 | 
			
		||||
SET
 | 
			
		||||
	@QDBCount = 0
 | 
			
		||||
SET
 | 
			
		||||
	@QDBCount = (
 | 
			
		||||
		SELECT
 | 
			
		||||
			COUNT(*)
 | 
			
		||||
		FROM
 | 
			
		||||
			Lot L
 | 
			
		||||
		WHERE
 | 
			
		||||
			L.IssueID = @IssueID
 | 
			
		||||
			AND L.Location = 'QDB'
 | 
			
		||||
	) -- Return the result of the function
 | 
			
		||||
	RETURN @QDBCount
 | 
			
		||||
END
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										37
									
								
								Programmability/Functions/fnGetLotCount_RH_MA.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								Programmability/Functions/fnGetLotCount_RH_MA.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,37 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  UserDefinedFunction [dbo].[fnGetLotCount_RH_MA]    Script Date: 11/21/2024 11:31:55 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date, ,>
 | 
			
		||||
	-- Description:	<Description, ,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE FUNCTION [dbo].[fnGetLotCount_RH_MA] (
 | 
			
		||||
		-- Add the parameters for the function here
 | 
			
		||||
		@IssueID INT
 | 
			
		||||
	) RETURNS FLOAT AS BEGIN DECLARE @QDBCount INT -- Declare the return variable here
 | 
			
		||||
SET
 | 
			
		||||
	@QDBCount = 0
 | 
			
		||||
SET
 | 
			
		||||
	@QDBCount = (
 | 
			
		||||
		SELECT
 | 
			
		||||
			COUNT(*)
 | 
			
		||||
		FROM
 | 
			
		||||
			LotDisposition LD
 | 
			
		||||
			INNER JOIN Lot L ON LD.IssueID = L.IssueID
 | 
			
		||||
		WHERE
 | 
			
		||||
			(
 | 
			
		||||
				L.ProductFamily = 'RH'
 | 
			
		||||
				OR L.ProductFamily = 'MA'
 | 
			
		||||
			)
 | 
			
		||||
			AND LD.IssueID = @IssueID
 | 
			
		||||
	) -- Return the result of the function
 | 
			
		||||
	RETURN @QDBCount
 | 
			
		||||
END
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										27
									
								
								Programmability/Functions/fnGetLot_RH.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								Programmability/Functions/fnGetLot_RH.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,27 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  UserDefinedFunction [dbo].[fnGetLot_RH]    Script Date: 11/21/2024 11:31:55 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE FUNCTION [dbo].[fnGetLot_RH] (
 | 
			
		||||
		-- Add the parameters for the function here
 | 
			
		||||
		@IssueID INT
 | 
			
		||||
	) RETURNS TABLE AS RETURN (
 | 
			
		||||
		SELECT
 | 
			
		||||
			L.IssueID
 | 
			
		||||
		FROM
 | 
			
		||||
			LotDisposition LD
 | 
			
		||||
			INNER JOIN Lot L ON LD.IssueID = L.IssueID
 | 
			
		||||
		WHERE
 | 
			
		||||
			LD.IssueID = @IssueID
 | 
			
		||||
	)
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										63
									
								
								Programmability/Functions/fnGetMRB_SPN_HoldLots.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										63
									
								
								Programmability/Functions/fnGetMRB_SPN_HoldLots.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,63 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  UserDefinedFunction [dbo].[fnGetMRB_SPN_HoldLots]    Script Date: 11/21/2024 11:31:55 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE FUNCTION [dbo].[fnGetMRB_SPN_HoldLots] (
 | 
			
		||||
		-- Add the parameters for the function here
 | 
			
		||||
		@MRBNumber INT
 | 
			
		||||
	) RETURNS TABLE AS RETURN (
 | 
			
		||||
		-- Add the SELECT statement with parameter references here
 | 
			
		||||
		SELECT
 | 
			
		||||
			L.LotNumber,
 | 
			
		||||
			MD.MRBNumber
 | 
			
		||||
		FROM
 | 
			
		||||
			MRBDispositionByMRB MD
 | 
			
		||||
			INNER JOIN MRBLot L ON MD.DispositionType = L.DispoType
 | 
			
		||||
			INNER JOIN MRB M ON M.MRBNumber = MD.MRBNumber
 | 
			
		||||
		WHERE
 | 
			
		||||
			CloseToQDBOptionID = 1
 | 
			
		||||
			AND L.MRBNumber = @MRBNumber
 | 
			
		||||
			AND MD.MRBNumber = @MRBNumber
 | 
			
		||||
			AND L.LotNumber + CONVERt(VARCHAR(10), MD.MRBNumber) NOT IN (
 | 
			
		||||
				SELECT
 | 
			
		||||
					LotNumber + CONVERt(VARCHAR(10), MRBNumber)
 | 
			
		||||
				FROM
 | 
			
		||||
					MRB_SPN_HoldFlagLot
 | 
			
		||||
			)
 | 
			
		||||
		UNION
 | 
			
		||||
		SELECT
 | 
			
		||||
			LotNumber,
 | 
			
		||||
			MRBNumber
 | 
			
		||||
		FROM
 | 
			
		||||
			MRB_SPN_HoldFlagLot
 | 
			
		||||
		WHERE
 | 
			
		||||
			LotNumber IN (
 | 
			
		||||
				SELECT
 | 
			
		||||
					DISTINCT L.LotNumber
 | 
			
		||||
				FROM
 | 
			
		||||
					MRBDispositionByMRB MD
 | 
			
		||||
					INNER JOIN MRBLot L ON MD.DispositionType = L.DispoType
 | 
			
		||||
					INNER JOIN MRB M ON M.MRBNumber = MD.MRBNumber
 | 
			
		||||
				WHERE
 | 
			
		||||
					CloseToQDBOptionID = 1
 | 
			
		||||
					AND L.MRBNumber = @MRBNumber
 | 
			
		||||
					AND MD.MRBNumber = @MRBNumber
 | 
			
		||||
					AND L.LotNumber + CONVERt(VARCHAR(10), MD.MRBNumber) NOT IN (
 | 
			
		||||
						SELECT
 | 
			
		||||
							LotNumber + CONVERt(VARCHAR(10), MRBNumber)
 | 
			
		||||
						FROM
 | 
			
		||||
							MRB_SPN_HoldFlagLot
 | 
			
		||||
					)
 | 
			
		||||
			)
 | 
			
		||||
	)
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										70
									
								
								Programmability/Functions/fnGetScrapCost.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										70
									
								
								Programmability/Functions/fnGetScrapCost.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,70 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  UserDefinedFunction [dbo].[fnGetScrapCost]    Script Date: 11/21/2024 11:31:55 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date, ,>
 | 
			
		||||
	-- Description:	<Description, ,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE FUNCTION [dbo].[fnGetScrapCost] (
 | 
			
		||||
		-- Add the parameters for the function here
 | 
			
		||||
		@IssueID INT
 | 
			
		||||
	) RETURNS FLOAT AS BEGIN -- Declare the return variable here
 | 
			
		||||
	DECLARE @WaferCount INT DECLARE @DieCount INT DECLARE @ScrapWaferCount INT DECLARE @ScrapCost FLOAT DECLARE @ScrapDieCount INT DECLARE @TotalCost FLOAT DECLARE @PerWaferCost FLOAT DECLARE @PerDieCost FLOAT DECLARE @TotalScrapCost FLOAT DECLARE @LotStatusOptionID INT
 | 
			
		||||
SET
 | 
			
		||||
	@TotalScrapCost = 0 DECLARE ScrapCostCursor CURSOR FOR
 | 
			
		||||
SELECT
 | 
			
		||||
	L.TotalCost,
 | 
			
		||||
	L.WaferCount,
 | 
			
		||||
	L.DieCount,
 | 
			
		||||
	S.ScrapCount,
 | 
			
		||||
	L.LotStatusOptionID
 | 
			
		||||
FROM
 | 
			
		||||
	Lot L
 | 
			
		||||
	INNER JOIN ScrapLot S ON L.IssueID = S.IssueID
 | 
			
		||||
	AND L.LotNumber = S.LotNo
 | 
			
		||||
WHERE
 | 
			
		||||
	L.IssueID = @IssueID OPEN ScrapCostCursor FETCH NEXT
 | 
			
		||||
FROM
 | 
			
		||||
	ScrapCostCursor INTO @TotalCost,
 | 
			
		||||
	@WaferCount,
 | 
			
		||||
	@DieCount,
 | 
			
		||||
	@ScrapWaferCount,
 | 
			
		||||
	@LotStatusOptionID WHILE @ @FETCH_STATUS = 0 BEGIN
 | 
			
		||||
SET
 | 
			
		||||
	@PerWaferCost = 0
 | 
			
		||||
SET
 | 
			
		||||
	@PerDieCost = 0 IF @ScrapWaferCount > 0
 | 
			
		||||
	AND @WaferCount > 0
 | 
			
		||||
	AND @TotalCost > 0 BEGIN
 | 
			
		||||
SET
 | 
			
		||||
	@PerWaferCost = @TotalCost / @WaferCount;
 | 
			
		||||
 | 
			
		||||
SET
 | 
			
		||||
	@ScrapCost = @ScrapWaferCount * @PerWaferCost --PRINT @ScrapCost
 | 
			
		||||
SET
 | 
			
		||||
	@TotalScrapCost = @TotalScrapCost + @ScrapCost
 | 
			
		||||
END
 | 
			
		||||
ELSE IF @DieCount > 0
 | 
			
		||||
AND @LotStatusOptionID = 2 BEGIN
 | 
			
		||||
SET
 | 
			
		||||
	@ScrapCost = @TotalCost
 | 
			
		||||
SET
 | 
			
		||||
	@TotalScrapCost = @TotalScrapCost + @ScrapCost
 | 
			
		||||
END FETCH NEXT
 | 
			
		||||
FROM
 | 
			
		||||
	ScrapCostCursor INTO @TotalCost,
 | 
			
		||||
	@WaferCount,
 | 
			
		||||
	@ScrapDieCount,
 | 
			
		||||
	@ScrapWaferCount,
 | 
			
		||||
	@LotStatusOptionID
 | 
			
		||||
END CLOSE ScrapCostCursor DEALLOCATE ScrapCostCursor -- Return the result of the function
 | 
			
		||||
RETURN @TotalScrapCost
 | 
			
		||||
END
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										32
									
								
								Programmability/Functions/fnGetScrapCount.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								Programmability/Functions/fnGetScrapCount.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,32 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  UserDefinedFunction [dbo].[fnGetScrapCount]    Script Date: 11/21/2024 11:31:55 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date, ,>
 | 
			
		||||
	-- Description:	<Description, ,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE FUNCTION [dbo].[fnGetScrapCount] (
 | 
			
		||||
		-- Add the parameters for the function here
 | 
			
		||||
		@IssueID INT
 | 
			
		||||
	) RETURNS INT AS BEGIN -- Declare the return variable here
 | 
			
		||||
	DECLARE @ScrapCount INT -- Add the T-SQL statements to compute the return value here
 | 
			
		||||
SELECT
 | 
			
		||||
	@ScrapCount = SUM(ScrapCount)
 | 
			
		||||
FROM
 | 
			
		||||
	LotDisposition LD
 | 
			
		||||
	INNER JOIN Lot L ON LD.IssueID = L.IssueID
 | 
			
		||||
	INNER JOIN ScrapLot S ON L.IssueID = S.IssueID
 | 
			
		||||
	AND L.LotNumber = S.LotNo
 | 
			
		||||
WHERE
 | 
			
		||||
	LD.IssueID = @IssueID
 | 
			
		||||
	AND ScrapCount > 0 -- Return the result of the function
 | 
			
		||||
	RETURN @ScrapCount
 | 
			
		||||
END
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										109
									
								
								Programmability/Functions/fnGetStep1Roles.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										109
									
								
								Programmability/Functions/fnGetStep1Roles.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,109 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  UserDefinedFunction [dbo].[fnGetStep1Roles]    Script Date: 11/21/2024 11:31:55 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE FUNCTION [dbo].[fnGetStep1Roles] (
 | 
			
		||||
		-- Add the parameters for the function here
 | 
			
		||||
		@IssueID INT,
 | 
			
		||||
		@CurrentDate DATETIME
 | 
			
		||||
	) RETURNS TABLE AS RETURN (
 | 
			
		||||
		-- Get Roles based on the Responibility
 | 
			
		||||
		SELECT
 | 
			
		||||
			DISTINCT IssueID,
 | 
			
		||||
			R.RoleName,
 | 
			
		||||
			SRC.SubRoleCategoryItem AS 'SubRole',
 | 
			
		||||
			U.UserID,
 | 
			
		||||
			SR.SubRoleID,
 | 
			
		||||
			0 AS 'ItemStatus',
 | 
			
		||||
			WS.WorkflowStepNumber AS 'Step',
 | 
			
		||||
			@CurrentDate AS 'AssignedDate',
 | 
			
		||||
			@CurrentDate AS 'NotifyDate',
 | 
			
		||||
			@CurrentDate AS 'RoleAssignedDate',
 | 
			
		||||
			1 AS ApprovalType
 | 
			
		||||
		FROM
 | 
			
		||||
			DocumentType D
 | 
			
		||||
			INNER JOIN Workflows W ON D.DocumentTypeID = W.DocumentTypeID
 | 
			
		||||
			INNER JOIN WorkFlowSteps WS ON W.WorkflowID = WS.WorkflowID
 | 
			
		||||
			INNER JOIN Role R ON WS.RoleID = R.RoleID
 | 
			
		||||
			INNER JOIN SubRole SR ON R.RoleID = SR.RoleID
 | 
			
		||||
			INNER JOIN SubRoleCategory SRC ON SR.SubRoleCategoryID = SRC.SubRoleCategoryID
 | 
			
		||||
			INNER JOIN ResponsibilityIssue RI ON LTRIM(RTRIM(SRC.SubRoleCategoryItem)) = LTRIM(RTRIM(RI.Issue))
 | 
			
		||||
			INNER JOIN LotDisposition LD ON RI.ResponsibilityIssueID = LD.ResponsibilityIssueID -- Get the em
 | 
			
		||||
			INNER JOIN UserSubRole USR ON SR.SubRoleID = USR.SubRoleID
 | 
			
		||||
			INNER JOIN Users U ON U.UserID = USR.UserID
 | 
			
		||||
		WHERE
 | 
			
		||||
			LD.IssueID = @IssueID
 | 
			
		||||
			AND WorkflowStepNumber = LD.CurrentStep
 | 
			
		||||
			AND DocumentType = 'LotDisposition'
 | 
			
		||||
		UNION
 | 
			
		||||
		ALL -- Get YE Roles Based on Product and Gen
 | 
			
		||||
		SELECT
 | 
			
		||||
			DISTINCT LD.IssueID,
 | 
			
		||||
			R.RoleName,
 | 
			
		||||
			SRC.SubRoleCategoryItem AS 'SubRole',
 | 
			
		||||
			U.UserID,
 | 
			
		||||
			SR.SubRoleID,
 | 
			
		||||
			0 AS 'ItemStatus',
 | 
			
		||||
			WS.WorkflowStepNumber AS 'Step',
 | 
			
		||||
			@CurrentDate AS 'AssignedDate',
 | 
			
		||||
			@CurrentDate AS 'NotifyDate',
 | 
			
		||||
			@CurrentDate AS 'RoleAssignedDate',
 | 
			
		||||
			1 AS ApprovalType
 | 
			
		||||
		FROM
 | 
			
		||||
			LotDisposition LD
 | 
			
		||||
			INNER JOIN WorkflowSteps WS ON LD.CurrentStep = WS.WorkflowStepNumber
 | 
			
		||||
			INNER JOIN Workflows W ON WS.WorkflowID = W.WorkflowID
 | 
			
		||||
			INNER JOIN DocumentType D ON W.DocumentTypeID = D.DocumentTypeID
 | 
			
		||||
			AND DocumentType = 'LotDisposition'
 | 
			
		||||
			INNER JOIN Role R ON WS.RoleID = R.RoleID
 | 
			
		||||
			INNER JOIN SubRole SR ON R.RoleID = SR.RoleID
 | 
			
		||||
			INNER JOIN SubRoleCategory SRC ON SR.SubRoleCategoryID = SRC.SubRoleCategoryID
 | 
			
		||||
			INNER JOIN Lot L ON LD.IssueID = L.IssueID
 | 
			
		||||
			INNER JOIN UserSubRole USR ON SR.SubRoleID = USR.SubRoleID
 | 
			
		||||
			INNER JOIN Users U ON U.UserID = USR.UserID
 | 
			
		||||
		WHERE
 | 
			
		||||
			LD.IssueID = @IssueID
 | 
			
		||||
			AND LTRIM(RTRIM(L.ProductFamily)) + '-G' + LTRIM(RTRIM(CONVERT(CHAR(10), L.Gen))) = SRC.SubRoleCategoryItem
 | 
			
		||||
			AND RoleName = 'Yield Engineer'
 | 
			
		||||
		UNION
 | 
			
		||||
		ALL -- M_Suffix
 | 
			
		||||
		SELECT
 | 
			
		||||
			DISTINCT Ld.IssueID,
 | 
			
		||||
			R.RoleName,
 | 
			
		||||
			SRC.SubRoleCategoryItem AS 'SubRole',
 | 
			
		||||
			U.UserID,
 | 
			
		||||
			SR.SubRoleID,
 | 
			
		||||
			0 AS 'ItemStatus',
 | 
			
		||||
			WS.WorkflowStepNumber AS 'Step',
 | 
			
		||||
			@CurrentDate AS 'AssignedDate',
 | 
			
		||||
			@CurrentDate AS 'NotifyDate',
 | 
			
		||||
			@CurrentDate AS 'RoleAssignedDate',
 | 
			
		||||
			1 AS ApprovalType
 | 
			
		||||
		FROM
 | 
			
		||||
			LotDisposition LD
 | 
			
		||||
			INNER JOIN WorkflowSteps WS ON LD.CurrentStep = WS.WorkflowStepNumber
 | 
			
		||||
			INNER JOIN Workflows W ON WS.WorkflowID = W.WorkflowID
 | 
			
		||||
			INNER JOIN DocumentType D ON W.DocumentTypeID = D.DocumentTypeID
 | 
			
		||||
			AND DocumentType = 'LotDisposition'
 | 
			
		||||
			INNER JOIN Role R ON WS.RoleID = R.RoleID
 | 
			
		||||
			INNER JOIN SubRole SR ON R.RoleID = SR.RoleID
 | 
			
		||||
			INNER JOIN SubRoleCategory SRC ON SR.SubRoleCategoryID = SRC.SubRoleCategoryID
 | 
			
		||||
			INNER JOIN Lot L ON LD.IssueID = L.IssueID
 | 
			
		||||
			INNER JOIN UserSubRole USR ON SR.SubRoleID = USR.SubRoleID
 | 
			
		||||
			INNER JOIN Users U ON U.UserID = USR.UserID
 | 
			
		||||
			INNER JOIN LotStatusOption LSO ON L.LotStatusOptionID = LSO.LotStatusOptionID
 | 
			
		||||
		WHERE
 | 
			
		||||
			LD.IssueID = @IssueID
 | 
			
		||||
			AND LSO.LotStatusOption = SRC.SubRoleCategoryItem
 | 
			
		||||
	)
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										50
									
								
								Programmability/Functions/fnGetStep1RolesMA_YE.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								Programmability/Functions/fnGetStep1RolesMA_YE.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,50 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  UserDefinedFunction [dbo].[fnGetStep1RolesMA_YE]    Script Date: 11/21/2024 11:31:55 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE FUNCTION [dbo].[fnGetStep1RolesMA_YE] (
 | 
			
		||||
		-- Add the parameters for the function here
 | 
			
		||||
		@IssueID INT,
 | 
			
		||||
		@CurrentDate DATETIME
 | 
			
		||||
	) RETURNS TABLE AS RETURN (
 | 
			
		||||
		-- Add the SELECT statement with parameter references here
 | 
			
		||||
		SELECT
 | 
			
		||||
			DISTINCT LD.IssueID,
 | 
			
		||||
			R.RoleName,
 | 
			
		||||
			SRC.SubRoleCategoryItem AS 'SubRole',
 | 
			
		||||
			U.UserID,
 | 
			
		||||
			SR.SubRoleID,
 | 
			
		||||
			0 AS 'ItemStatus',
 | 
			
		||||
			WS.WorkflowStepNumber AS 'Step',
 | 
			
		||||
			@CurrentDate AS 'AssignedDate',
 | 
			
		||||
			@CurrentDate AS 'NotifyDate',
 | 
			
		||||
			@CurrentDate AS 'RoleAssignedDate',
 | 
			
		||||
			1 AS ApprovalType
 | 
			
		||||
		FROM
 | 
			
		||||
			LotDisposition LD
 | 
			
		||||
			INNER JOIN WorkflowSteps WS ON LD.CurrentStep = WS.WorkflowStepNumber
 | 
			
		||||
			INNER JOIN Workflows W ON WS.WorkflowID = W.WorkflowID
 | 
			
		||||
			INNER JOIN DocumentType D ON W.DocumentTypeID = D.DocumentTypeID
 | 
			
		||||
			AND DocumentType = 'LotDisposition'
 | 
			
		||||
			INNER JOIN Role R ON WS.RoleID = R.RoleID
 | 
			
		||||
			INNER JOIN SubRole SR ON R.RoleID = SR.RoleID
 | 
			
		||||
			INNER JOIN SubRoleCategory SRC ON SR.SubRoleCategoryID = SRC.SubRoleCategoryID
 | 
			
		||||
			INNER JOIN Lot L ON LD.IssueID = L.IssueID
 | 
			
		||||
			INNER JOIN UserSubRole USR ON SR.SubRoleID = USR.SubRoleID
 | 
			
		||||
			INNER JOIN Users U ON U.UserID = USR.UserID
 | 
			
		||||
		WHERE
 | 
			
		||||
			LD.IssueID = @IssueID
 | 
			
		||||
			AND (SRC.SubRoleCategoryItem = 'MA-All')
 | 
			
		||||
			AND (RoleName = 'Yield Engineer')
 | 
			
		||||
	)
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										45
									
								
								Programmability/Functions/fnGetStep1RolesMA_YE_PE.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								Programmability/Functions/fnGetStep1RolesMA_YE_PE.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,45 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  UserDefinedFunction [dbo].[fnGetStep1RolesMA_YE_PE]    Script Date: 11/21/2024 11:31:55 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE FUNCTION [dbo].[fnGetStep1RolesMA_YE_PE] (@IssueID INT, @CurrentDate DATETIME) RETURNS TABLE AS RETURN (
 | 
			
		||||
		-- Add the SELECT statement with parameter references here
 | 
			
		||||
		SELECT
 | 
			
		||||
			DISTINCT LD.IssueID,
 | 
			
		||||
			R.RoleName,
 | 
			
		||||
			SRC.SubRoleCategoryItem AS 'SubRole',
 | 
			
		||||
			U.UserID,
 | 
			
		||||
			SR.SubRoleID,
 | 
			
		||||
			0 AS 'ItemStatus',
 | 
			
		||||
			WS.WorkflowStepNumber AS 'Step',
 | 
			
		||||
			@CurrentDate AS 'AssignedDate',
 | 
			
		||||
			@CurrentDate AS 'NotifyDate',
 | 
			
		||||
			@CurrentDate AS 'RoleAssignedDate',
 | 
			
		||||
			1 AS ApprovalType
 | 
			
		||||
		FROM
 | 
			
		||||
			LotDisposition LD
 | 
			
		||||
			INNER JOIN WorkflowSteps WS ON LD.CurrentStep = WS.WorkflowStepNumber
 | 
			
		||||
			INNER JOIN Workflows W ON WS.WorkflowID = W.WorkflowID
 | 
			
		||||
			INNER JOIN DocumentType D ON W.DocumentTypeID = D.DocumentTypeID
 | 
			
		||||
			AND DocumentType = 'LotDisposition'
 | 
			
		||||
			INNER JOIN Role R ON WS.RoleID = R.RoleID
 | 
			
		||||
			INNER JOIN SubRole SR ON R.RoleID = SR.RoleID
 | 
			
		||||
			INNER JOIN SubRoleCategory SRC ON SR.SubRoleCategoryID = SRC.SubRoleCategoryID
 | 
			
		||||
			INNER JOIN Lot L ON LD.IssueID = L.IssueID
 | 
			
		||||
			INNER JOIN UserSubRole USR ON SR.SubRoleID = USR.SubRoleID
 | 
			
		||||
			INNER JOIN Users U ON U.UserID = USR.UserID
 | 
			
		||||
		WHERE
 | 
			
		||||
			LD.IssueID = @IssueID
 | 
			
		||||
			AND (SRC.SubRoleCategoryItem = 'MA-All')
 | 
			
		||||
	)
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										50
									
								
								Programmability/Functions/fnGetStep1RolesRH_YE.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								Programmability/Functions/fnGetStep1RolesRH_YE.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,50 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  UserDefinedFunction [dbo].[fnGetStep1RolesRH_YE]    Script Date: 11/21/2024 11:31:55 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE FUNCTION [dbo].[fnGetStep1RolesRH_YE] (
 | 
			
		||||
		-- Add the parameters for the function here
 | 
			
		||||
		@IssueID INT,
 | 
			
		||||
		@CurrentDate DATETIME
 | 
			
		||||
	) RETURNS TABLE AS RETURN (
 | 
			
		||||
		-- Add the SELECT statement with parameter references here
 | 
			
		||||
		SELECT
 | 
			
		||||
			DISTINCT LD.IssueID,
 | 
			
		||||
			R.RoleName,
 | 
			
		||||
			SRC.SubRoleCategoryItem AS 'SubRole',
 | 
			
		||||
			U.UserID,
 | 
			
		||||
			SR.SubRoleID,
 | 
			
		||||
			0 AS 'ItemStatus',
 | 
			
		||||
			WS.WorkflowStepNumber AS 'Step',
 | 
			
		||||
			@CurrentDate AS 'AssignedDate',
 | 
			
		||||
			@CurrentDate AS 'NotifyDate',
 | 
			
		||||
			@CurrentDate AS 'RoleAssignedDate',
 | 
			
		||||
			1 AS ApprovalType
 | 
			
		||||
		FROM
 | 
			
		||||
			LotDisposition LD
 | 
			
		||||
			INNER JOIN WorkflowSteps WS ON LD.CurrentStep = WS.WorkflowStepNumber
 | 
			
		||||
			INNER JOIN Workflows W ON WS.WorkflowID = W.WorkflowID
 | 
			
		||||
			INNER JOIN DocumentType D ON W.DocumentTypeID = D.DocumentTypeID
 | 
			
		||||
			AND DocumentType = 'LotDisposition'
 | 
			
		||||
			INNER JOIN Role R ON WS.RoleID = R.RoleID
 | 
			
		||||
			INNER JOIN SubRole SR ON R.RoleID = SR.RoleID
 | 
			
		||||
			INNER JOIN SubRoleCategory SRC ON SR.SubRoleCategoryID = SRC.SubRoleCategoryID
 | 
			
		||||
			INNER JOIN Lot L ON LD.IssueID = L.IssueID
 | 
			
		||||
			INNER JOIN UserSubRole USR ON SR.SubRoleID = USR.SubRoleID
 | 
			
		||||
			INNER JOIN Users U ON U.UserID = USR.UserID
 | 
			
		||||
		WHERE
 | 
			
		||||
			LD.IssueID = @IssueID
 | 
			
		||||
			AND (SRC.SubRoleCategoryItem = 'RH-All')
 | 
			
		||||
			AND (RoleName = 'Yield Engineer')
 | 
			
		||||
	)
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										45
									
								
								Programmability/Functions/fnGetStep1RolesRH_YE_PE.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								Programmability/Functions/fnGetStep1RolesRH_YE_PE.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,45 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  UserDefinedFunction [dbo].[fnGetStep1RolesRH_YE_PE]    Script Date: 11/21/2024 11:31:55 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE FUNCTION [dbo].[fnGetStep1RolesRH_YE_PE] (@IssueID INT, @CurrentDate DATETIME) RETURNS TABLE AS RETURN (
 | 
			
		||||
		-- Add the SELECT statement with parameter references here
 | 
			
		||||
		SELECT
 | 
			
		||||
			DISTINCT LD.IssueID,
 | 
			
		||||
			R.RoleName,
 | 
			
		||||
			SRC.SubRoleCategoryItem AS 'SubRole',
 | 
			
		||||
			U.UserID,
 | 
			
		||||
			SR.SubRoleID,
 | 
			
		||||
			0 AS 'ItemStatus',
 | 
			
		||||
			WS.WorkflowStepNumber AS 'Step',
 | 
			
		||||
			@CurrentDate AS 'AssignedDate',
 | 
			
		||||
			@CurrentDate AS 'NotifyDate',
 | 
			
		||||
			@CurrentDate AS 'RoleAssignedDate',
 | 
			
		||||
			1 AS ApprovalType
 | 
			
		||||
		FROM
 | 
			
		||||
			LotDisposition LD
 | 
			
		||||
			INNER JOIN WorkflowSteps WS ON LD.CurrentStep = WS.WorkflowStepNumber
 | 
			
		||||
			INNER JOIN Workflows W ON WS.WorkflowID = W.WorkflowID
 | 
			
		||||
			INNER JOIN DocumentType D ON W.DocumentTypeID = D.DocumentTypeID
 | 
			
		||||
			AND DocumentType = 'LotDisposition'
 | 
			
		||||
			INNER JOIN Role R ON WS.RoleID = R.RoleID
 | 
			
		||||
			INNER JOIN SubRole SR ON R.RoleID = SR.RoleID
 | 
			
		||||
			INNER JOIN SubRoleCategory SRC ON SR.SubRoleCategoryID = SRC.SubRoleCategoryID
 | 
			
		||||
			INNER JOIN Lot L ON LD.IssueID = L.IssueID
 | 
			
		||||
			INNER JOIN UserSubRole USR ON SR.SubRoleID = USR.SubRoleID
 | 
			
		||||
			INNER JOIN Users U ON U.UserID = USR.UserID
 | 
			
		||||
		WHERE
 | 
			
		||||
			LD.IssueID = @IssueID
 | 
			
		||||
			AND (SRC.SubRoleCategoryItem = 'RH-All')
 | 
			
		||||
	)
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										108
									
								
								Programmability/Functions/fnGetStep1Roles_PERequired.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										108
									
								
								Programmability/Functions/fnGetStep1Roles_PERequired.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,108 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  UserDefinedFunction [dbo].[fnGetStep1Roles_PERequired]    Script Date: 11/21/2024 11:31:55 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE FUNCTION [dbo].[fnGetStep1Roles_PERequired] (
 | 
			
		||||
		-- Add the parameters for the function here
 | 
			
		||||
		@IssueID INT,
 | 
			
		||||
		@CurrentDate DATETIME
 | 
			
		||||
	) RETURNS TABLE AS RETURN (
 | 
			
		||||
		-- Add the SELECT statement with parameter references here
 | 
			
		||||
		SELECT
 | 
			
		||||
			DISTINCT IssueID,
 | 
			
		||||
			R.RoleName,
 | 
			
		||||
			SRC.SubRoleCategoryItem AS 'SubRole',
 | 
			
		||||
			U.UserID,
 | 
			
		||||
			SR.SubRoleID,
 | 
			
		||||
			0 AS 'ItemStatus',
 | 
			
		||||
			WS.WorkflowStepNumber AS 'Step',
 | 
			
		||||
			@CurrentDate AS 'AssignedDate',
 | 
			
		||||
			@CurrentDate AS 'NotifyDate',
 | 
			
		||||
			@CurrentDate AS 'RoleAssignedDate',
 | 
			
		||||
			1 AS ApprovalType
 | 
			
		||||
		FROM
 | 
			
		||||
			DocumentType D
 | 
			
		||||
			INNER JOIN Workflows W ON D.DocumentTypeID = W.DocumentTypeID
 | 
			
		||||
			INNER JOIN WorkFlowSteps WS ON W.WorkflowID = WS.WorkflowID
 | 
			
		||||
			INNER JOIN Role R ON WS.RoleID = R.RoleID
 | 
			
		||||
			INNER JOIN SubRole SR ON R.RoleID = SR.RoleID
 | 
			
		||||
			INNER JOIN SubRoleCategory SRC ON SR.SubRoleCategoryID = SRC.SubRoleCategoryID
 | 
			
		||||
			INNER JOIN ResponsibilityIssue RI ON LTRIM(RTRIM(SRC.SubRoleCategoryItem)) = LTRIM(RTRIM(RI.Issue))
 | 
			
		||||
			INNER JOIN LotDisposition LD ON RI.ResponsibilityIssueID = LD.ResponsibilityIssueID -- Get the em
 | 
			
		||||
			INNER JOIN UserSubRole USR ON SR.SubRoleID = USR.SubRoleID
 | 
			
		||||
			INNER JOIN Users U ON U.UserID = USR.UserID
 | 
			
		||||
		WHERE
 | 
			
		||||
			LD.IssueID = @IssueID
 | 
			
		||||
			AND WorkflowStepNumber = LD.CurrentStep
 | 
			
		||||
			AND DocumentType = 'LotDisposition'
 | 
			
		||||
		UNION
 | 
			
		||||
		ALL --YE and PE Rquired
 | 
			
		||||
		SELECT
 | 
			
		||||
			DISTINCT LD.IssueID,
 | 
			
		||||
			R.RoleName,
 | 
			
		||||
			SRC.SubRoleCategoryItem AS 'SubRole',
 | 
			
		||||
			U.UserID,
 | 
			
		||||
			SR.SubRoleID,
 | 
			
		||||
			0 AS 'ItemStatus',
 | 
			
		||||
			WS.WorkflowStepNumber AS 'Step',
 | 
			
		||||
			@CurrentDate AS 'AssignedDate',
 | 
			
		||||
			@CurrentDate AS 'NotifyDate',
 | 
			
		||||
			@CurrentDate AS 'RoleAssignedDate',
 | 
			
		||||
			1 AS ApprovalType
 | 
			
		||||
		FROM
 | 
			
		||||
			LotDisposition LD
 | 
			
		||||
			INNER JOIN WorkflowSteps WS ON LD.CurrentStep = WS.WorkflowStepNumber
 | 
			
		||||
			INNER JOIN Workflows W ON WS.WorkflowID = W.WorkflowID
 | 
			
		||||
			INNER JOIN DocumentType D ON W.DocumentTypeID = D.DocumentTypeID
 | 
			
		||||
			AND DocumentType = 'LotDisposition'
 | 
			
		||||
			INNER JOIN Role R ON WS.RoleID = R.RoleID
 | 
			
		||||
			INNER JOIN SubRole SR ON R.RoleID = SR.RoleID
 | 
			
		||||
			INNER JOIN SubRoleCategory SRC ON SR.SubRoleCategoryID = SRC.SubRoleCategoryID
 | 
			
		||||
			INNER JOIN Lot L ON LD.IssueID = L.IssueID
 | 
			
		||||
			INNER JOIN UserSubRole USR ON SR.SubRoleID = USR.SubRoleID
 | 
			
		||||
			INNER JOIN Users U ON U.UserID = USR.UserID
 | 
			
		||||
		WHERE
 | 
			
		||||
			LD.IssueID = @IssueID
 | 
			
		||||
			AND LTRIM(RTRIM(L.ProductFamily)) + '-G' + LTRIM(RTRIM(CONVERT(CHAR(10), L.Gen))) = SRC.SubRoleCategoryItem
 | 
			
		||||
		UNION
 | 
			
		||||
		ALL -- M_Suffix
 | 
			
		||||
		SELECT
 | 
			
		||||
			DISTINCT LD.IssueID,
 | 
			
		||||
			R.RoleName,
 | 
			
		||||
			SRC.SubRoleCategoryItem AS 'SubRole',
 | 
			
		||||
			U.UserID,
 | 
			
		||||
			SR.SubRoleID,
 | 
			
		||||
			0 AS 'ItemStatus',
 | 
			
		||||
			WS.WorkflowStepNumber AS 'Step',
 | 
			
		||||
			@CurrentDate AS 'AssignedDate',
 | 
			
		||||
			@CurrentDate AS 'NotifyDate',
 | 
			
		||||
			@CurrentDate AS 'RoleAssignedDate',
 | 
			
		||||
			1 AS ApprovalType
 | 
			
		||||
		FROM
 | 
			
		||||
			LotDisposition LD
 | 
			
		||||
			INNER JOIN WorkflowSteps WS ON LD.CurrentStep = WS.WorkflowStepNumber
 | 
			
		||||
			INNER JOIN Workflows W ON WS.WorkflowID = W.WorkflowID
 | 
			
		||||
			INNER JOIN DocumentType D ON W.DocumentTypeID = D.DocumentTypeID
 | 
			
		||||
			AND DocumentType = 'LotDisposition'
 | 
			
		||||
			INNER JOIN Role R ON WS.RoleID = R.RoleID
 | 
			
		||||
			INNER JOIN SubRole SR ON R.RoleID = SR.RoleID
 | 
			
		||||
			INNER JOIN SubRoleCategory SRC ON SR.SubRoleCategoryID = SRC.SubRoleCategoryID
 | 
			
		||||
			INNER JOIN Lot L ON LD.IssueID = L.IssueID
 | 
			
		||||
			INNER JOIN UserSubRole USR ON SR.SubRoleID = USR.SubRoleID
 | 
			
		||||
			INNER JOIN Users U ON U.UserID = USR.UserID
 | 
			
		||||
			INNER JOIN LotStatusOption LSO ON L.LotStatusOptionID = LSO.LotStatusOptionID
 | 
			
		||||
		WHERE
 | 
			
		||||
			LD.IssueID = @IssueID
 | 
			
		||||
			AND LSO.LotStatusOption = SRC.SubRoleCategoryItem
 | 
			
		||||
	)
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										45
									
								
								Programmability/Functions/fnGetStep2Roles_GT_10Wafers.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								Programmability/Functions/fnGetStep2Roles_GT_10Wafers.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,45 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  UserDefinedFunction [dbo].[fnGetStep2Roles_GT_10Wafers]    Script Date: 11/21/2024 11:31:55 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE FUNCTION [dbo].[fnGetStep2Roles_GT_10Wafers] (@IssueID INT, @CurrentDate DATETIME) RETURNS TABLE AS RETURN (
 | 
			
		||||
		-- Add the SELECT statement with parameter references here
 | 
			
		||||
		SELECT
 | 
			
		||||
			DISTINCT LD.IssueID,
 | 
			
		||||
			R.RoleName,
 | 
			
		||||
			SRC.SubRoleCategoryItem AS 'SubRole',
 | 
			
		||||
			U.UserID,
 | 
			
		||||
			SR.SubRoleID,
 | 
			
		||||
			0 AS 'ItemStatus',
 | 
			
		||||
			WS.WorkflowStepNumber AS 'Step',
 | 
			
		||||
			@CurrentDate AS 'AssignedDate',
 | 
			
		||||
			@CurrentDate AS 'NotifyDate',
 | 
			
		||||
			@CurrentDate AS 'RoleAssignedDate',
 | 
			
		||||
			1 AS ApprovalType
 | 
			
		||||
		FROM
 | 
			
		||||
			LotDisposition LD
 | 
			
		||||
			INNER JOIN WorkflowSteps WS ON LD.CurrentStep = WS.WorkflowStepNumber
 | 
			
		||||
			INNER JOIN Workflows W ON WS.WorkflowID = W.WorkflowID
 | 
			
		||||
			INNER JOIN DocumentType D ON W.DocumentTypeID = D.DocumentTypeID
 | 
			
		||||
			AND DocumentType = 'LotDisposition'
 | 
			
		||||
			INNER JOIN Role R ON WS.RoleID = R.RoleID
 | 
			
		||||
			INNER JOIN SubRole SR ON R.RoleID = SR.RoleID
 | 
			
		||||
			INNER JOIN SubRoleCategory SRC ON SR.SubRoleCategoryID = SRC.SubRoleCategoryID
 | 
			
		||||
			INNER JOIN LotDispoDepartment LDD ON LD.IssueID = LDD.IssueID
 | 
			
		||||
			AND SRC.SubRoleCategoryID = LDD.DepartmentID
 | 
			
		||||
			INNER JOIN UserSubRole USR ON SR.SubRoleID = USR.SubRoleID
 | 
			
		||||
			INNER JOIN Users U ON U.UserID = USR.UserID
 | 
			
		||||
		WHERE
 | 
			
		||||
			LD.IssueID = @IssueID
 | 
			
		||||
	)
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										45
									
								
								Programmability/Functions/fnGetStep2Roles_PlantManager.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								Programmability/Functions/fnGetStep2Roles_PlantManager.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,45 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  UserDefinedFunction [dbo].[fnGetStep2Roles_PlantManager]    Script Date: 11/21/2024 11:31:55 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE FUNCTION [dbo].[fnGetStep2Roles_PlantManager] (@IssueID INT, @CurrentDate DATETIME) RETURNS TABLE AS RETURN (
 | 
			
		||||
		-- Add the SELECT statement with parameter references here
 | 
			
		||||
		SELECT
 | 
			
		||||
			DISTINCT LD.IssueID,
 | 
			
		||||
			R.RoleName,
 | 
			
		||||
			SRC.SubRoleCategoryItem AS 'SubRole',
 | 
			
		||||
			U.UserID,
 | 
			
		||||
			SR.SubRoleID,
 | 
			
		||||
			0 AS 'ItemStatus',
 | 
			
		||||
			WS.WorkflowStepNumber AS 'Step',
 | 
			
		||||
			@CurrentDate AS 'AssignedDate',
 | 
			
		||||
			@CurrentDate AS 'NotifyDate',
 | 
			
		||||
			@CurrentDate AS 'RoleAssignedDate',
 | 
			
		||||
			1 AS ApprovalType
 | 
			
		||||
		FROM
 | 
			
		||||
			LotDisposition LD
 | 
			
		||||
			INNER JOIN WorkflowSteps WS ON LD.CurrentStep = WS.WorkflowStepNumber
 | 
			
		||||
			INNER JOIN Workflows W ON WS.WorkflowID = W.WorkflowID
 | 
			
		||||
			INNER JOIN DocumentType D ON W.DocumentTypeID = D.DocumentTypeID
 | 
			
		||||
			AND DocumentType = 'LotDisposition'
 | 
			
		||||
			INNER JOIN Role R ON WS.RoleID = R.RoleID
 | 
			
		||||
			INNER JOIN SubRole SR ON R.RoleID = SR.RoleID
 | 
			
		||||
			INNER JOIN SubRoleCategory SRC ON SR.SubRoleCategoryID = SRC.SubRoleCategoryID
 | 
			
		||||
			AND (SRC.SubRoleCategoryItem = 'Plant Manager')
 | 
			
		||||
			INNER JOIN LotDispoDepartment LDD ON LD.IssueID = LDD.IssueID
 | 
			
		||||
			INNER JOIN UserSubRole USR ON SR.SubRoleID = USR.SubRoleID
 | 
			
		||||
			INNER JOIN Users U ON U.UserID = USR.UserID
 | 
			
		||||
		WHERE
 | 
			
		||||
			LD.IssueID = @IssueID
 | 
			
		||||
	)
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										49
									
								
								Programmability/Functions/fnGetStep2Roles_RhMaQdbPeMRB.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								Programmability/Functions/fnGetStep2Roles_RhMaQdbPeMRB.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,49 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  UserDefinedFunction [dbo].[fnGetStep2Roles_RhMaQdbPeMRB]    Script Date: 11/21/2024 11:31:55 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE FUNCTION [dbo].[fnGetStep2Roles_RhMaQdbPeMRB] (@IssueID INT, @CurrentDate DATETIME) RETURNS TABLE AS RETURN (
 | 
			
		||||
		-- Add the SELECT statement with parameter references here
 | 
			
		||||
		SELECT
 | 
			
		||||
			DISTINCT LD.IssueID,
 | 
			
		||||
			R.RoleName,
 | 
			
		||||
			SRC.SubRoleCategoryItem AS 'SubRole',
 | 
			
		||||
			U.UserID,
 | 
			
		||||
			SR.SubRoleID,
 | 
			
		||||
			0 AS 'ItemStatus',
 | 
			
		||||
			WS.WorkflowStepNumber AS 'Step',
 | 
			
		||||
			@CurrentDate AS 'AssignedDate',
 | 
			
		||||
			@CurrentDate AS 'NotifyDate',
 | 
			
		||||
			@CurrentDate AS 'RoleAssignedDate',
 | 
			
		||||
			1 AS ApprovalType
 | 
			
		||||
		FROM
 | 
			
		||||
			LotDisposition LD
 | 
			
		||||
			INNER JOIN WorkflowSteps WS ON LD.CurrentStep = WS.WorkflowStepNumber
 | 
			
		||||
			INNER JOIN Workflows W ON WS.WorkflowID = W.WorkflowID
 | 
			
		||||
			INNER JOIN DocumentType D ON W.DocumentTypeID = D.DocumentTypeID
 | 
			
		||||
			AND DocumentType = 'LotDisposition'
 | 
			
		||||
			INNER JOIN Role R ON WS.RoleID = R.RoleID
 | 
			
		||||
			INNER JOIN SubRole SR ON R.RoleID = SR.RoleID
 | 
			
		||||
			INNER JOIN SubRoleCategory SRC ON SR.SubRoleCategoryID = SRC.SubRoleCategoryID
 | 
			
		||||
			AND (
 | 
			
		||||
				SRC.SubRoleCategoryItem <> 'Facilities'
 | 
			
		||||
				AND SRC.SubRoleCategoryItem <> 'Plant Manager'
 | 
			
		||||
				AND SRC.SubRoleCategoryItem <> 'M_Suffix'
 | 
			
		||||
			)
 | 
			
		||||
			INNER JOIN LotDispoDepartment LDD ON LD.IssueID = LDD.IssueID
 | 
			
		||||
			INNER JOIN UserSubRole USR ON SR.SubRoleID = USR.SubRoleID
 | 
			
		||||
			INNER JOIN Users U ON U.UserID = USR.UserID
 | 
			
		||||
		WHERE
 | 
			
		||||
			LD.IssueID = @IssueID
 | 
			
		||||
	)
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										44
									
								
								Programmability/Functions/fnGetStep3Role_QDB.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								Programmability/Functions/fnGetStep3Role_QDB.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,44 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  UserDefinedFunction [dbo].[fnGetStep3Role_QDB]    Script Date: 11/21/2024 11:31:55 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	CREATE FUNCTION [dbo].[fnGetStep3Role_QDB] (
 | 
			
		||||
		-- Add the parameters for the function here
 | 
			
		||||
		@IssueID INT,
 | 
			
		||||
		@Current DATETIME
 | 
			
		||||
	) RETURNS TABLE AS RETURN (
 | 
			
		||||
		-- Add the SELECT statement with parameter references here
 | 
			
		||||
		SELECT
 | 
			
		||||
			DISTINCT LD.IssueID,
 | 
			
		||||
			R.RoleName,
 | 
			
		||||
			SRC.SubRoleCategoryItem AS 'SubRole',
 | 
			
		||||
			U.UserID,
 | 
			
		||||
			SR.SubRoleID,
 | 
			
		||||
			0 AS 'ItemStatus',
 | 
			
		||||
			WS.WorkflowStepNumber AS 'Step',
 | 
			
		||||
			@Current AS 'AssignedDate',
 | 
			
		||||
			@Current AS 'NotifyDate',
 | 
			
		||||
			@Current AS 'RoleAssignedDate',
 | 
			
		||||
			2 AS ApprovalType
 | 
			
		||||
		FROM
 | 
			
		||||
			LotDisposition LD
 | 
			
		||||
			INNER JOIN WorkflowSteps WS ON LD.CurrentStep = WS.WorkflowStepNumber
 | 
			
		||||
			INNER JOIN Workflows W ON WS.WorkflowID = W.WorkflowID
 | 
			
		||||
			INNER JOIN DocumentType D ON W.DocumentTypeID = D.DocumentTypeID
 | 
			
		||||
			AND DocumentType = 'LotDisposition'
 | 
			
		||||
			INNER JOIN Role R ON WS.RoleID = R.RoleID
 | 
			
		||||
			INNER JOIN SubRole SR ON R.RoleID = SR.RoleID
 | 
			
		||||
			INNER JOIN SubRoleCategory SRC ON SR.SubRoleCategoryID = SRC.SubRoleCategoryID
 | 
			
		||||
			INNER JOIN Lot L ON LD.IssueID = L.IssueID
 | 
			
		||||
			AND SRC.SubRoleCategoryItem = 'QDB'
 | 
			
		||||
			INNER JOIN UserSubRole USR ON SR.SubRoleID = USR.SubRoleID
 | 
			
		||||
			INNER JOIN Users U ON U.UserID = USR.UserID
 | 
			
		||||
		WHERE
 | 
			
		||||
			LD.IssueID = @IssueID
 | 
			
		||||
	)
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										45
									
								
								Programmability/Functions/fnGetStep3Roles_Fab.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								Programmability/Functions/fnGetStep3Roles_Fab.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,45 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  UserDefinedFunction [dbo].[fnGetStep3Roles_Fab]    Script Date: 11/21/2024 11:31:55 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE FUNCTION [dbo].[fnGetStep3Roles_Fab] (@IssueID INT, @Current DATETIME) RETURNS TABLE AS RETURN (
 | 
			
		||||
		-- Add the SELECT statement with parameter references here
 | 
			
		||||
		SELECT
 | 
			
		||||
			DISTINCT LD.IssueID,
 | 
			
		||||
			R.RoleName,
 | 
			
		||||
			SRC.SubRoleCategoryItem AS 'SubRole',
 | 
			
		||||
			U.UserID,
 | 
			
		||||
			SR.SubRoleID,
 | 
			
		||||
			0 AS 'ItemStatus',
 | 
			
		||||
			WS.WorkflowStepNumber AS 'Step',
 | 
			
		||||
			@Current AS 'AssignedDate',
 | 
			
		||||
			@Current AS 'NotifyDate',
 | 
			
		||||
			@Current AS 'RoleAssignedDate',
 | 
			
		||||
			2 AS ApprovalType
 | 
			
		||||
		FROM
 | 
			
		||||
			LotDisposition LD
 | 
			
		||||
			INNER JOIN WorkflowSteps WS ON LD.CurrentStep = WS.WorkflowStepNumber
 | 
			
		||||
			INNER JOIN Workflows W ON WS.WorkflowID = W.WorkflowID
 | 
			
		||||
			INNER JOIN DocumentType D ON W.DocumentTypeID = D.DocumentTypeID
 | 
			
		||||
			AND DocumentType = 'LotDisposition'
 | 
			
		||||
			INNER JOIN Role R ON WS.RoleID = R.RoleID
 | 
			
		||||
			INNER JOIN SubRole SR ON R.RoleID = SR.RoleID
 | 
			
		||||
			INNER JOIN SubRoleCategory SRC ON SR.SubRoleCategoryID = SRC.SubRoleCategoryID
 | 
			
		||||
			INNER JOIN Lot L ON LD.IssueID = L.IssueID
 | 
			
		||||
			AND SRC.SubRoleCategoryItem = 'Fab'
 | 
			
		||||
			INNER JOIN UserSubRole USR ON SR.SubRoleID = USR.SubRoleID
 | 
			
		||||
			INNER JOIN Users U ON U.UserID = USR.UserID
 | 
			
		||||
		WHERE
 | 
			
		||||
			LD.IssueID = @issueID
 | 
			
		||||
	)
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										45
									
								
								Programmability/Functions/fnGetStep3Roles_Probe.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								Programmability/Functions/fnGetStep3Roles_Probe.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,45 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  UserDefinedFunction [dbo].[fnGetStep3Roles_Probe]    Script Date: 11/21/2024 11:31:55 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE FUNCTION [dbo].[fnGetStep3Roles_Probe] (@IssueID INT, @Current DATETIME) RETURNS TABLE AS RETURN (
 | 
			
		||||
		-- Add the SELECT statement with parameter references here
 | 
			
		||||
		SELECT
 | 
			
		||||
			DISTINCT LD.IssueID,
 | 
			
		||||
			R.RoleName,
 | 
			
		||||
			SRC.SubRoleCategoryItem AS 'SubRole',
 | 
			
		||||
			U.UserID,
 | 
			
		||||
			SR.SubRoleID,
 | 
			
		||||
			0 AS 'ItemStatus',
 | 
			
		||||
			WS.WorkflowStepNumber AS 'Step',
 | 
			
		||||
			@Current AS 'AssignedDate',
 | 
			
		||||
			@Current AS 'NotifyDate',
 | 
			
		||||
			@Current AS 'RoleAssignedDate',
 | 
			
		||||
			2 AS ApprovalType
 | 
			
		||||
		FROM
 | 
			
		||||
			LotDisposition LD
 | 
			
		||||
			INNER JOIN WorkflowSteps WS ON LD.CurrentStep = WS.WorkflowStepNumber
 | 
			
		||||
			INNER JOIN Workflows W ON WS.WorkflowID = W.WorkflowID
 | 
			
		||||
			INNER JOIN DocumentType D ON W.DocumentTypeID = D.DocumentTypeID
 | 
			
		||||
			AND DocumentType = 'LotDisposition'
 | 
			
		||||
			INNER JOIN Role R ON WS.RoleID = R.RoleID
 | 
			
		||||
			INNER JOIN SubRole SR ON R.RoleID = SR.RoleID
 | 
			
		||||
			INNER JOIN SubRoleCategory SRC ON SR.SubRoleCategoryID = SRC.SubRoleCategoryID
 | 
			
		||||
			INNER JOIN Lot L ON LD.IssueID = L.IssueID
 | 
			
		||||
			AND SRC.SubRoleCategoryItem = 'Probe'
 | 
			
		||||
			INNER JOIN UserSubRole USR ON SR.SubRoleID = USR.SubRoleID
 | 
			
		||||
			INNER JOIN Users U ON U.UserID = USR.UserID
 | 
			
		||||
		WHERE
 | 
			
		||||
			LD.IssueID = @IssueID
 | 
			
		||||
	)
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										27
									
								
								Programmability/Functions/fnIsUserITARCompliant.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								Programmability/Functions/fnIsUserITARCompliant.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,27 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  UserDefinedFunction [dbo].[fnIsUserITARCompliant]    Script Date: 11/21/2024 11:31:55 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE FUNCTION [dbo].[fnIsUserITARCompliant] (@UserID INT) RETURNS TABLE AS RETURN (
 | 
			
		||||
		-- Add the SELECT statement with parameter references here
 | 
			
		||||
		--SELECT SAM.* FROM [TEM-CDB02].SAM.dbo.vwSamActiveUsersWithSupervisorID  SAM
 | 
			
		||||
		SELECT
 | 
			
		||||
			SAM.*
 | 
			
		||||
		FROM
 | 
			
		||||
			SAMUsers SAM
 | 
			
		||||
			INNER JOIN Users U ON SAM.UserID = U.LoginID
 | 
			
		||||
		WHERE
 | 
			
		||||
			HasITARAccess = 1
 | 
			
		||||
			AND U.UserID = @UserID -- Return the result of the function
 | 
			
		||||
	)
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										70
									
								
								Programmability/Functions/fnLotDispositionLotSummary.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										70
									
								
								Programmability/Functions/fnLotDispositionLotSummary.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,70 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  UserDefinedFunction [dbo].[fnLotDispositionLotSummary]    Script Date: 11/21/2024 11:31:55 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	CREATE FUNCTION [dbo].[fnLotDispositionLotSummary](@IssueID int) RETURNS TABLE AS RETURN (
 | 
			
		||||
		SELECT
 | 
			
		||||
			SUM(
 | 
			
		||||
				CASE
 | 
			
		||||
					WHEN L.LotStatusOptionID IN (1, 4, 6)
 | 
			
		||||
					AND L.DieCount > 0 THEN L.TotalCost -- Release, M_Suffix, CloseToQDB
 | 
			
		||||
					WHEN S.ReleaseCount > 0
 | 
			
		||||
					AND L.WaferCount > 0
 | 
			
		||||
					AND L.TotalCost > 0 THEN S.ReleaseCount * (L.TotalCost / L.WaferCount)
 | 
			
		||||
					ELSE 0
 | 
			
		||||
				END
 | 
			
		||||
			) AS [TotalReleaseCost],
 | 
			
		||||
			SUM(
 | 
			
		||||
				CASE
 | 
			
		||||
					WHEN S.ReleaseCount > 0
 | 
			
		||||
					AND L.WaferCount > 0
 | 
			
		||||
					AND L.TotalCost > 0 THEN S.ReleaseCount
 | 
			
		||||
					ELSE 0
 | 
			
		||||
				END
 | 
			
		||||
			) AS [TotalReleaseWaferCount],
 | 
			
		||||
			SUM(
 | 
			
		||||
				CASE
 | 
			
		||||
					WHEN L.LotStatusOptionID IN (1, 4, 6) -- Release, M_Suffix, CloseToQDB
 | 
			
		||||
					AND L.DieCount > 0 THEN L.DieCount
 | 
			
		||||
					ELSE 0
 | 
			
		||||
				END
 | 
			
		||||
			) AS [TotalDieReleaseCount],
 | 
			
		||||
			SUM(
 | 
			
		||||
				CASE
 | 
			
		||||
					WHEN L.LotStatusOptionID = 2
 | 
			
		||||
					AND L.DieCount > 0 THEN L.TotalCost -- Scrap
 | 
			
		||||
					WHEN S.ScrapCount > 0
 | 
			
		||||
					AND L.WaferCount > 0
 | 
			
		||||
					AND L.TotalCost > 0 THEN S.ScrapCount * (L.TotalCost / L.WaferCount)
 | 
			
		||||
					ELSE 0
 | 
			
		||||
				END
 | 
			
		||||
			) AS [TotalScrapCost],
 | 
			
		||||
			SUM(
 | 
			
		||||
				CASE
 | 
			
		||||
					WHEN S.ScrapCount > 0
 | 
			
		||||
					AND L.WaferCount > 0
 | 
			
		||||
					AND L.TotalCost > 0 THEN S.ScrapCount
 | 
			
		||||
					ELSE 0
 | 
			
		||||
				END
 | 
			
		||||
			) AS [TotalScrapWaferCount],
 | 
			
		||||
			SUM(
 | 
			
		||||
				CASE
 | 
			
		||||
					WHEN L.LotStatusOptionID = 2
 | 
			
		||||
					AND L.DieCount > 0 THEN L.DieCount -- Scrap
 | 
			
		||||
					ELSE 0
 | 
			
		||||
				END
 | 
			
		||||
			) AS [TotalScrapDieCount],
 | 
			
		||||
			COUNT(L.LotNumber) AS LotCount
 | 
			
		||||
		FROM
 | 
			
		||||
			ScrapLot S
 | 
			
		||||
			INNER JOIN Lot L ON S.IssueID = L.IssueID
 | 
			
		||||
			AND S.LotNo = L.LotNumber
 | 
			
		||||
		WHERE
 | 
			
		||||
			S.IssueID = @IssueID
 | 
			
		||||
	)
 | 
			
		||||
GO
 | 
			
		||||
@ -0,0 +1,30 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  UserDefinedFunction [dbo].[fnPartsRequestGetSubRolesForNextStep]    Script Date: 11/21/2024 11:31:55 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	CREATE FUNCTION [dbo].[fnPartsRequestGetSubRolesForNextStep] (@PRNumber int) RETURNS varchar(100) AS BEGIN DECLARE @NextStep int = 0 DECLARE @r varchar(100)
 | 
			
		||||
SELECT
 | 
			
		||||
	@NextStep = CurrentStep + 1
 | 
			
		||||
FROM
 | 
			
		||||
	PartsRequest
 | 
			
		||||
WHERE
 | 
			
		||||
	PRNumber = @PRNumber
 | 
			
		||||
SET
 | 
			
		||||
	@r = CASE
 | 
			
		||||
		WHEN @NextStep = 1 THEN 'Part Assignment'
 | 
			
		||||
		WHEN @NextStep = 2 THEN 'Pre-Approver'
 | 
			
		||||
		WHEN @NextStep = 3 THEN 'Tech Lead'
 | 
			
		||||
		WHEN @NextStep = 4 THEN 'Finance'
 | 
			
		||||
		WHEN @NextStep = 5 THEN 'SAP'
 | 
			
		||||
		WHEN @NextStep = 6 THEN 'Source List & Info Record'
 | 
			
		||||
		WHEN @NextStep = 7 THEN 'Buyer/Planner'
 | 
			
		||||
		WHEN @NextStep = 8 THEN 'Close to Folder'
 | 
			
		||||
		ELSE 'Part Assignment'
 | 
			
		||||
	END RETURN @r
 | 
			
		||||
END
 | 
			
		||||
GO
 | 
			
		||||
@ -0,0 +1,28 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  UserDefinedFunction [dbo].[fnPlanConvertPlanNoToDisplayFormat]    Script Date: 11/21/2024 11:31:55 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	CREATE FUNCTION [dbo].[fnPlanConvertPlanNoToDisplayFormat] (
 | 
			
		||||
		-- Add the parameters for the function here
 | 
			
		||||
		@PlanNo INT
 | 
			
		||||
	) RETURNS VARCHAR(10) AS BEGIN -- Declare the return variable here
 | 
			
		||||
	DECLARE @Display VARCHAR(10) -- Add the T-SQL statements to compute the return value here
 | 
			
		||||
SET
 | 
			
		||||
	@Display = LTRIM(
 | 
			
		||||
		RTRIM(
 | 
			
		||||
			CAST(
 | 
			
		||||
				'P' + RIGHT(
 | 
			
		||||
					'0000' + ISNULL(CAST(@PlanNo AS VARCHAR(10)), ''),
 | 
			
		||||
					5
 | 
			
		||||
				) AS VARCHAR(50)
 | 
			
		||||
			)
 | 
			
		||||
		)
 | 
			
		||||
	) -- Return the result of the function
 | 
			
		||||
	RETURN @Display
 | 
			
		||||
END
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										29
									
								
								Programmability/Functions/fnSplitCSV.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								Programmability/Functions/fnSplitCSV.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,29 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  UserDefinedFunction [dbo].[fnSplitCSV]    Script Date: 11/21/2024 11:31:55 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	CREATE FUNCTION [dbo].[fnSplitCSV](@csv varchar(max)) RETURNS @r TABLE (Position int, Val varchar(max)) AS BEGIN DECLARE @I INT = 1 DECLARE @VAL VARCHAR(1000) DECLARE @SEPERATOR CHAR(1) = ',' DECLARE @SP INT DECLARE @WORK VARCHAR(MAX) = @csv WHILE PATINDEX('%' + @SEPERATOR + '%', @WORK) <> 0 BEGIN
 | 
			
		||||
SELECT
 | 
			
		||||
	@SP = PATINDEX('%' + @SEPERATOR + '%', @WORK)
 | 
			
		||||
SELECT
 | 
			
		||||
	@VAL = LEFT(@WORK, @SP - 1)
 | 
			
		||||
SELECT
 | 
			
		||||
	@WORK = STUFF(@WORK, 1, @SP, '')
 | 
			
		||||
INSERT INTO
 | 
			
		||||
	@r
 | 
			
		||||
VALUES
 | 
			
		||||
	(@I, @VAL)
 | 
			
		||||
SET
 | 
			
		||||
	@I = @I + 1
 | 
			
		||||
END IF @WORK <> ''
 | 
			
		||||
INSERT INTO
 | 
			
		||||
	@r
 | 
			
		||||
VALUES
 | 
			
		||||
	(@I, @WORK) RETURN
 | 
			
		||||
END
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										48
									
								
								Programmability/Functions/fn_Get8DAuditByUser.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								Programmability/Functions/fn_Get8DAuditByUser.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,48 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  UserDefinedFunction [dbo].[fn_Get8DAuditByUser]    Script Date: 11/21/2024 11:31:55 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE FUNCTION [dbo].[fn_Get8DAuditByUser] (
 | 
			
		||||
		-- Add the parameters for the function here
 | 
			
		||||
		@UserID INT
 | 
			
		||||
	) RETURNS TABLE AS RETURN (
 | 
			
		||||
		-- Add the SELECT statement with parameter references here
 | 
			
		||||
		-- M_Suffix
 | 
			
		||||
		SELECT
 | 
			
		||||
			DISTINCT 'Audit' AS DocumentType,
 | 
			
		||||
			'Audit' AS SubDoc,
 | 
			
		||||
			*
 | 
			
		||||
		FROM
 | 
			
		||||
			(
 | 
			
		||||
				SELECT
 | 
			
		||||
					DISTINCT A.AuditNo as IssueID,
 | 
			
		||||
					A.AuditNo DocID,
 | 
			
		||||
					A.AuditDate,
 | 
			
		||||
					'' AS LotNos,
 | 
			
		||||
					'' AS 'PendingApprovers',
 | 
			
		||||
					A.AuditTitle AS Title,
 | 
			
		||||
					'' AS IssueDescription,
 | 
			
		||||
					U2.FirstName + ' ' + U2.LastName AS Originator,
 | 
			
		||||
					A.AuditDate SubmitedDate,
 | 
			
		||||
					NULL AS CloseDate,
 | 
			
		||||
					'' AS ItemStatus,
 | 
			
		||||
					NULL AS NextDueDate
 | 
			
		||||
				FROM
 | 
			
		||||
					_8DAudit A
 | 
			
		||||
					INNER JOIN Users U2 ON A.OriginatorID = U2.UserID
 | 
			
		||||
				WHERE
 | 
			
		||||
					A.OriginatorID = @UserID
 | 
			
		||||
					AND (A.AuditStatus = 0)
 | 
			
		||||
			) AS A
 | 
			
		||||
	)
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										132
									
								
								Programmability/Functions/fn_Get8DCAByUser.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										132
									
								
								Programmability/Functions/fn_Get8DCAByUser.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,132 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  UserDefinedFunction [dbo].[fn_Get8DCAByUser]    Script Date: 11/21/2024 11:31:55 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE FUNCTION [dbo].[fn_Get8DCAByUser] (
 | 
			
		||||
		-- Add the parameters for the function here
 | 
			
		||||
		@UserID INT
 | 
			
		||||
	) RETURNS TABLE AS RETURN (
 | 
			
		||||
		-- Add the SELECT statement with parameter references here
 | 
			
		||||
		-- M_Suffix
 | 
			
		||||
		SELECT
 | 
			
		||||
			DISTINCT 'CorrectiveAction' AS DocumentType,
 | 
			
		||||
			'CA' AS SubDoc,
 | 
			
		||||
			*
 | 
			
		||||
		FROM
 | 
			
		||||
			(
 | 
			
		||||
				SELECT
 | 
			
		||||
					DISTINCT CA.CANo as IssueID,
 | 
			
		||||
					CA.CANo as DocID,
 | 
			
		||||
					CA.IssueDate,
 | 
			
		||||
					'' AS LotNos,
 | 
			
		||||
					pdg.Names AS 'PendingApprovers',
 | 
			
		||||
					CA.CATitle AS Title,
 | 
			
		||||
					CA.D2ProblemDescription IssueDescription,
 | 
			
		||||
					U2.FirstName + ' ' + U2.LastName AS Originator,
 | 
			
		||||
					CA.CACompleteDate SubmitedDate,
 | 
			
		||||
					CA.ClosedDate CloseDate,
 | 
			
		||||
					A.ItemStatus,
 | 
			
		||||
					CASE
 | 
			
		||||
						WHEN Status = 1 THEN NULL
 | 
			
		||||
						WHEN Status IN (10, 9, 3) THEN CA.D3DueDate
 | 
			
		||||
						WHEN Status IN (4, 5, 6, 7) THEN CA.D5D7DueDate
 | 
			
		||||
						WHEN Status = 11 THEN CA.FollowUpDate
 | 
			
		||||
						ELSE CA.D8DueDate
 | 
			
		||||
					END AS NextDueDate
 | 
			
		||||
				FROM
 | 
			
		||||
					_8DCorrectiveAction CA
 | 
			
		||||
					INNER JOIN Approval A ON A.IssueID = CA.CANo
 | 
			
		||||
					AND DocumentTypeID = 9
 | 
			
		||||
					LEFT JOIN Users U2 ON CA.RequestorID = U2.UserID
 | 
			
		||||
					INNER JOIN Users U1 ON A.UserID = U1.UserID
 | 
			
		||||
					LEFT JOIN (
 | 
			
		||||
						SELECT
 | 
			
		||||
							DISTINCT CA.CANo,
 | 
			
		||||
							STUFF (
 | 
			
		||||
								(
 | 
			
		||||
									SELECT
 | 
			
		||||
										'/' + CAST(U.FirstName AS varchar(50)) + ' ' + CAST(U.LastName AS varchar(50))
 | 
			
		||||
									FROM
 | 
			
		||||
										Approval A
 | 
			
		||||
										INNER JOIN Users U ON A.UserID = U.UserID
 | 
			
		||||
									WHERE
 | 
			
		||||
										DocumentTypeID = 9
 | 
			
		||||
										AND A.IssueID = CA.CANo
 | 
			
		||||
										AND ItemStatus = 0 FOR XML PATH('')
 | 
			
		||||
								),
 | 
			
		||||
								1,
 | 
			
		||||
								1,
 | 
			
		||||
								''
 | 
			
		||||
							) AS Names
 | 
			
		||||
						FROM
 | 
			
		||||
							_8DCorrectiveAction CA
 | 
			
		||||
					) AS pdg ON CA.CANo = pdg.CANo
 | 
			
		||||
				WHERE
 | 
			
		||||
					A.UserID = @UserID
 | 
			
		||||
					AND Status NOT IN (1, 11)
 | 
			
		||||
					AND CA.Deleted = 0
 | 
			
		||||
				UNION
 | 
			
		||||
				SELECT
 | 
			
		||||
					DISTINCT CA.CANo as IssueID,
 | 
			
		||||
					CA.CANo as DocID,
 | 
			
		||||
					CA.IssueDate,
 | 
			
		||||
					'' AS LotNos,
 | 
			
		||||
					pdg.Names AS 'PendingApprovers',
 | 
			
		||||
					CA.CATitle AS Title,
 | 
			
		||||
					CA.D2ProblemDescription IssueDescription,
 | 
			
		||||
					U2.FirstName + ' ' + U2.LastName AS Originator,
 | 
			
		||||
					CA.CACompleteDate SubmitedDate,
 | 
			
		||||
					CA.ClosedDate CloseDate,
 | 
			
		||||
					A.ItemStatus,
 | 
			
		||||
					CASE
 | 
			
		||||
						WHEN Status = 1 THEN NULL
 | 
			
		||||
						WHEN Status IN (10, 9, 3) THEN CA.D3DueDate
 | 
			
		||||
						WHEN Status IN (4, 5, 6, 7) THEN CA.D5D7DueDate
 | 
			
		||||
						WHEN Status = 11 THEN CA.FollowUpDate
 | 
			
		||||
						ELSE CA.D8DueDate
 | 
			
		||||
					END AS NextDueDate
 | 
			
		||||
				FROM
 | 
			
		||||
					_8DCorrectiveAction CA
 | 
			
		||||
					LEFT JOIN Approval A ON A.IssueID = CA.CANo
 | 
			
		||||
					AND DocumentTypeID = 9
 | 
			
		||||
					INNER JOIN Users U2 ON CA.RequestorID = U2.UserID
 | 
			
		||||
					LEFT JOIN (
 | 
			
		||||
						SELECT
 | 
			
		||||
							DISTINCT CA.CANo,
 | 
			
		||||
							STUFF (
 | 
			
		||||
								(
 | 
			
		||||
									SELECT
 | 
			
		||||
										'/' + CAST(U.FirstName AS varchar(50)) + ' ' + CAST(U.LastName AS varchar(50))
 | 
			
		||||
									FROM
 | 
			
		||||
										Approval A
 | 
			
		||||
										INNER JOIN Users U ON A.UserID = U.UserID
 | 
			
		||||
									WHERE
 | 
			
		||||
										DocumentTypeID = 9
 | 
			
		||||
										AND A.IssueID = CA.CANo
 | 
			
		||||
										AND ItemStatus = 0 FOR XML PATH('')
 | 
			
		||||
								),
 | 
			
		||||
								1,
 | 
			
		||||
								1,
 | 
			
		||||
								''
 | 
			
		||||
							) AS Names
 | 
			
		||||
						FROM
 | 
			
		||||
							_8DCorrectiveAction CA
 | 
			
		||||
					) AS pdg ON CA.CANo = pdg.CANo
 | 
			
		||||
				WHERE
 | 
			
		||||
					CA.QAID = @UserID
 | 
			
		||||
					AND CA.ClosedDate IS NULL -- added the where clause below on 8/2/2019 RJK
 | 
			
		||||
					AND Status <> 1
 | 
			
		||||
					AND CA.Deleted = 0
 | 
			
		||||
			) AS A
 | 
			
		||||
	)
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										50
									
								
								Programmability/Functions/fn_Get8DCASectionByUser.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								Programmability/Functions/fn_Get8DCASectionByUser.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,50 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  UserDefinedFunction [dbo].[fn_Get8DCASectionByUser]    Script Date: 11/21/2024 11:31:55 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE FUNCTION [dbo].[fn_Get8DCASectionByUser] (
 | 
			
		||||
		-- Add the parameters for the function here
 | 
			
		||||
		@UserID INT
 | 
			
		||||
	) RETURNS TABLE AS RETURN (
 | 
			
		||||
		-- Add the SELECT statement with parameter references here
 | 
			
		||||
		-- M_Suffix
 | 
			
		||||
		SELECT
 | 
			
		||||
			DISTINCT 'CorrectiveAction' AS DocumentType,
 | 
			
		||||
			'CA' AS SubDoc,
 | 
			
		||||
			*
 | 
			
		||||
		FROM
 | 
			
		||||
			(
 | 
			
		||||
				SELECT
 | 
			
		||||
					DISTINCT CA.CANo as IssueID,
 | 
			
		||||
					CA.CANo as DocID,
 | 
			
		||||
					CA.IssueDate,
 | 
			
		||||
					'' AS LotNos,
 | 
			
		||||
					'' AS 'PendingApprovers',
 | 
			
		||||
					CONCAT(A.DSection, ' Approval', ' - ', CA.CATitle) AS Title,
 | 
			
		||||
					'' AS 'IssueDescription',
 | 
			
		||||
					U2.FirstName + ' ' + U2.LastName AS Originator,
 | 
			
		||||
					A.DateAssigned AS SubmitedDate,
 | 
			
		||||
					'' AS CloseDate,
 | 
			
		||||
					'' AS ItemStatus,
 | 
			
		||||
					NULL AS NextDueDate
 | 
			
		||||
				FROM
 | 
			
		||||
					_8DCorrectiveAction CA
 | 
			
		||||
					INNER JOIN _8DSectionApproval A ON A.CaNo = CA.CANo
 | 
			
		||||
					LEFT JOIN Users U2 ON CA.RequestorID = U2.UserID
 | 
			
		||||
				WHERE
 | 
			
		||||
					A.Approved IS NULL
 | 
			
		||||
					AND A.UserId = @UserID
 | 
			
		||||
					AND CA.Deleted = 0
 | 
			
		||||
			) AS A
 | 
			
		||||
	)
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										45
									
								
								Programmability/Functions/fn_GetChangeControl.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								Programmability/Functions/fn_GetChangeControl.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,45 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  UserDefinedFunction [dbo].[fn_GetChangeControl]    Script Date: 11/21/2024 11:31:55 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE FUNCTION [dbo].[fn_GetChangeControl] () RETURNS TABLE AS RETURN (
 | 
			
		||||
		-- Add the SELECT statement with parameter references here
 | 
			
		||||
		-- M_Suffix
 | 
			
		||||
		SELECT
 | 
			
		||||
			DISTINCT 'ChangeControl' AS DocumentType,
 | 
			
		||||
			'ChangeControl' AS SubDoc,
 | 
			
		||||
			CC.PlanNumber AS IssueID,
 | 
			
		||||
			CC.PlanNumber AS DocID,
 | 
			
		||||
			CC.InsertTimeStamp AS IssueDate,
 | 
			
		||||
			'' AS LotNos,
 | 
			
		||||
			'' AS 'PendingApprovers',
 | 
			
		||||
			Title,
 | 
			
		||||
			ChangeDescription AS IssueDescription,
 | 
			
		||||
			U.FirstName + ' ' + U.LastName AS Originator,
 | 
			
		||||
			Dates.StartDate AS SubmitedDate,
 | 
			
		||||
			ClosedDate AS CloseDate
 | 
			
		||||
		FROM
 | 
			
		||||
			CCChangeControl CC
 | 
			
		||||
			LEFT JOIN Users U ON CC.OwnerID = U.UserID
 | 
			
		||||
			LEFT JOIN (
 | 
			
		||||
				SELECT
 | 
			
		||||
					PlanNumber,
 | 
			
		||||
					MIN(MeetingDate) AS StartDate,
 | 
			
		||||
					MAX(MeetingDate) AS StatusDate
 | 
			
		||||
				FROM
 | 
			
		||||
					CCMeeting
 | 
			
		||||
				GROUP BY
 | 
			
		||||
					PlanNumber
 | 
			
		||||
			) AS Dates ON CC.PlanNumber = Dates.PlanNumber
 | 
			
		||||
	)
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										67
									
								
								Programmability/Functions/fn_GetECNs.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										67
									
								
								Programmability/Functions/fn_GetECNs.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,67 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  UserDefinedFunction [dbo].[fn_GetECNs]    Script Date: 11/21/2024 11:31:55 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE FUNCTION [dbo].[fn_GetECNs] () RETURNS TABLE AS RETURN (
 | 
			
		||||
		-- Add the SELECT statement with parameter references here
 | 
			
		||||
		-- M_Suffix
 | 
			
		||||
		SELECT
 | 
			
		||||
			'ECN' AS DocumentType,
 | 
			
		||||
			CASE
 | 
			
		||||
				WHEN E.IsECN = 1 THEN 'ECN'
 | 
			
		||||
				WHEN E.IsTECN = 1 THEN 'TECN'
 | 
			
		||||
				WHEN E.IsEmergencyTECN = 1 THEN 'E-TECN'
 | 
			
		||||
				ELSE 'ECN'
 | 
			
		||||
			END AS SubDoc,
 | 
			
		||||
			E.ECNNumber AS IssueID,
 | 
			
		||||
			E.ECNNumber AS DocID,
 | 
			
		||||
			IssueDate,
 | 
			
		||||
			'' AS LotNos,
 | 
			
		||||
			pdg.Names AS 'PendingApprovers',
 | 
			
		||||
			Title,
 | 
			
		||||
			DescriptionOfChange AS IssueDescription,
 | 
			
		||||
			U.FirstName + ' ' + U.LastName AS Originator,
 | 
			
		||||
			SubmitedDate,
 | 
			
		||||
			CloseDate
 | 
			
		||||
		FROM
 | 
			
		||||
			ECN E
 | 
			
		||||
			LEFT JOIN Users U ON E.OriginatorID = U.UserID
 | 
			
		||||
			LEFT JOIN (
 | 
			
		||||
				SELECT
 | 
			
		||||
					DISTINCT E.ECNNumber AS IssueID,
 | 
			
		||||
					STUFF (
 | 
			
		||||
						(
 | 
			
		||||
							SELECT
 | 
			
		||||
								'/' + CAST(U.FirstName AS varchar(50)) + ' ' + CAST(U.LastName AS varchar(50)) + '(' + A.RoleName + ')'
 | 
			
		||||
							FROM
 | 
			
		||||
								Approval A
 | 
			
		||||
								INNER JOIN Users U ON A.UserID = U.UserID
 | 
			
		||||
							WHERE
 | 
			
		||||
								(
 | 
			
		||||
									A.DocumentTypeID = 3
 | 
			
		||||
									OR A.DocumentTypeID = 4
 | 
			
		||||
								)
 | 
			
		||||
								AND A.IssueID = E.ECNNumber
 | 
			
		||||
								AND ItemStatus = 0 FOR XML PATH('')
 | 
			
		||||
						),
 | 
			
		||||
						1,
 | 
			
		||||
						1,
 | 
			
		||||
						''
 | 
			
		||||
					) AS Names
 | 
			
		||||
				FROM
 | 
			
		||||
					ECN E
 | 
			
		||||
			) AS pdg ON E.ECNNumber = pdg.IssueID
 | 
			
		||||
		WHERE
 | 
			
		||||
			E.Deleted = 0
 | 
			
		||||
	)
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										170
									
								
								Programmability/Functions/fn_GetECNsByUser.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										170
									
								
								Programmability/Functions/fn_GetECNsByUser.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,170 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  UserDefinedFunction [dbo].[fn_GetECNsByUser]    Script Date: 11/21/2024 11:31:55 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE FUNCTION [dbo].[fn_GetECNsByUser] (
 | 
			
		||||
		-- Add the parameters for the function here
 | 
			
		||||
		@UserID INT
 | 
			
		||||
	) RETURNS TABLE AS RETURN (
 | 
			
		||||
		-- Add the SELECT statement with parameter references here
 | 
			
		||||
		-- M_Suffix
 | 
			
		||||
		SELECT
 | 
			
		||||
			DISTINCT 'ECN' AS DocumentType,
 | 
			
		||||
			*
 | 
			
		||||
		FROM
 | 
			
		||||
			(
 | 
			
		||||
				SELECT
 | 
			
		||||
					CASE
 | 
			
		||||
						WHEN E.IsECN = 1 THEN 'ECN'
 | 
			
		||||
						WHEN E.IsTECN = 1 THEN 'TECN'
 | 
			
		||||
						WHEN E.IsEmergencyTECN = 1 THEN 'E-TECN'
 | 
			
		||||
						ELSE 'ECN'
 | 
			
		||||
					END AS SubDoc,
 | 
			
		||||
					E.ECNNumber AS IssueID,
 | 
			
		||||
					E.ECNNumber AS DocID,
 | 
			
		||||
					IssueDate,
 | 
			
		||||
					'' AS LotNos,
 | 
			
		||||
					pdg.Names AS 'PendingApprovers',
 | 
			
		||||
					Title,
 | 
			
		||||
					DescriptionOfChange AS IssueDescription,
 | 
			
		||||
					U2.FirstName + ' ' + U2.LastName AS Originator,
 | 
			
		||||
					SubmitedDate,
 | 
			
		||||
					CloseDate,
 | 
			
		||||
					A.ItemStatus,
 | 
			
		||||
					NULL AS NextDueDate
 | 
			
		||||
				FROM
 | 
			
		||||
					ECN E
 | 
			
		||||
					INNER JOIN Approval A ON A.IssueID = E.ECNNumber
 | 
			
		||||
					AND (
 | 
			
		||||
						A.DocumentTypeID = 3
 | 
			
		||||
						OR A.DocumentTypeID = 4
 | 
			
		||||
						OR A.DocumentTypeID = 5
 | 
			
		||||
					)
 | 
			
		||||
					INNER JOIN Users U2 ON E.OriginatorID = U2.UserID
 | 
			
		||||
					INNER JOIN Users U1 ON A.UserID = U1.UserID
 | 
			
		||||
					LEFT JOIN (
 | 
			
		||||
						SELECT
 | 
			
		||||
							DISTINCT E.ECNNumber AS IssueID,
 | 
			
		||||
							STUFF (
 | 
			
		||||
								(
 | 
			
		||||
									SELECT
 | 
			
		||||
										'/' + CAST(U.FirstName AS varchar(50)) + ' ' + CAST(U.LastName AS varchar(50)) + '(' + A.RoleName + ')'
 | 
			
		||||
									FROM
 | 
			
		||||
										Approval A
 | 
			
		||||
										INNER JOIN Users U ON A.UserID = U.UserID
 | 
			
		||||
									WHERE
 | 
			
		||||
										(
 | 
			
		||||
											A.DocumentTypeID = 3
 | 
			
		||||
											OR A.DocumentTypeID = 4
 | 
			
		||||
											OR A.DocumentTypeID = 5
 | 
			
		||||
										)
 | 
			
		||||
										AND A.IssueID = E.ECNNumber
 | 
			
		||||
										AND ItemStatus = 0 FOR XML PATH('')
 | 
			
		||||
								),
 | 
			
		||||
								1,
 | 
			
		||||
								1,
 | 
			
		||||
								''
 | 
			
		||||
							) AS Names
 | 
			
		||||
						FROM
 | 
			
		||||
							ECN E
 | 
			
		||||
					) AS pdg ON E.ECNNumber = pdg.IssueID
 | 
			
		||||
				WHERE
 | 
			
		||||
					A.UserID = @UserID
 | 
			
		||||
					AND E.Deleted = 0
 | 
			
		||||
					AND (
 | 
			
		||||
						ItemStatus = 0
 | 
			
		||||
						OR (
 | 
			
		||||
							ItemStatus = 2
 | 
			
		||||
							AND DisplayDeniedDocument = 1
 | 
			
		||||
						)
 | 
			
		||||
						OR (
 | 
			
		||||
							A.ItemStatus = 8
 | 
			
		||||
							AND (
 | 
			
		||||
								ExtensionDate > GETDATE()
 | 
			
		||||
								OR ExpirationDate > GETDATE()
 | 
			
		||||
							)
 | 
			
		||||
						)
 | 
			
		||||
					)
 | 
			
		||||
					AND E.CancellationApproved = 0 --List of documents orginated by the user
 | 
			
		||||
				UNION
 | 
			
		||||
				ALL
 | 
			
		||||
				SELECT
 | 
			
		||||
					DISTINCT CASE
 | 
			
		||||
						WHEN E.IsECN = 1 THEN 'ECN'
 | 
			
		||||
						WHEN E.IsTECN = 1 THEN 'TECN'
 | 
			
		||||
						WHEN E.IsEmergencyTECN = 1 THEN 'E-TECN'
 | 
			
		||||
						ELSE 'ECN'
 | 
			
		||||
					END AS SubDoc,
 | 
			
		||||
					E.ECNNumber AS IssueID,
 | 
			
		||||
					E.ECNNumber AS DocID,
 | 
			
		||||
					IssueDate,
 | 
			
		||||
					'' AS LotNos,
 | 
			
		||||
					ISNULL(pdg.Names, '') AS 'PendingApprovers',
 | 
			
		||||
					Title,
 | 
			
		||||
					DescriptionOfChange AS IssueDescription,
 | 
			
		||||
					U1.FirstName + ' ' + U1.LastName AS Originator,
 | 
			
		||||
					SubmitedDate,
 | 
			
		||||
					CloseDate,
 | 
			
		||||
					AP.ItemStatus,
 | 
			
		||||
					NULL AS NextDueDate
 | 
			
		||||
				FROM
 | 
			
		||||
					ECN E
 | 
			
		||||
					INNER JOIN Users U1 ON E.OriginatorID = U1.UserID
 | 
			
		||||
					LEFT JOIN Approval AP ON E.ECNNumber = AP.IssueID
 | 
			
		||||
					LEFT JOIN (
 | 
			
		||||
						SELECT
 | 
			
		||||
							DISTINCT E.ECNNumber AS IssueID,
 | 
			
		||||
							STUFF (
 | 
			
		||||
								(
 | 
			
		||||
									SELECT
 | 
			
		||||
										'/' + CAST(U.FirstName AS varchar(50)) + ' ' + CAST(U.LastName AS varchar(50)) + '(' + A.RoleName + ')'
 | 
			
		||||
									FROM
 | 
			
		||||
										Approval A
 | 
			
		||||
										INNER JOIN Users U ON A.UserID = U.UserID
 | 
			
		||||
									WHERE
 | 
			
		||||
										(
 | 
			
		||||
											A.DocumentTypeID = 3
 | 
			
		||||
											OR A.DocumentTypeID = 4
 | 
			
		||||
											OR A.DocumentTypeID = 5
 | 
			
		||||
										)
 | 
			
		||||
										AND A.IssueID = E.ECNNumber
 | 
			
		||||
										AND ItemStatus = 0 FOR XML PATH('')
 | 
			
		||||
								),
 | 
			
		||||
								1,
 | 
			
		||||
								1,
 | 
			
		||||
								''
 | 
			
		||||
							) AS Names
 | 
			
		||||
						FROM
 | 
			
		||||
							ECN E
 | 
			
		||||
					) AS pdg ON E.ECNNumber = pdg.IssueID
 | 
			
		||||
				WHERE
 | 
			
		||||
					U1.UserID = @UserID
 | 
			
		||||
					AND E.Deleted = 0
 | 
			
		||||
					AND E.CancellationApproved = 0
 | 
			
		||||
					AND E.ECNNumber NOT IN (
 | 
			
		||||
						SELECT
 | 
			
		||||
							IssueID
 | 
			
		||||
						FROM
 | 
			
		||||
							Approval
 | 
			
		||||
						WHERE
 | 
			
		||||
							IssueID = E.ECNNumber
 | 
			
		||||
							AND ItemStatus <> 2
 | 
			
		||||
							AND ItemStatus <> 8
 | 
			
		||||
							AND (
 | 
			
		||||
								DocumentTypeID = 3
 | 
			
		||||
								OR DocumentTypeID = 4
 | 
			
		||||
							)
 | 
			
		||||
					)
 | 
			
		||||
			) AS A
 | 
			
		||||
	)
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										155
									
								
								Programmability/Functions/fn_GetECNsByUserPrev.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										155
									
								
								Programmability/Functions/fn_GetECNsByUserPrev.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,155 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  UserDefinedFunction [dbo].[fn_GetECNsByUserPrev]    Script Date: 11/21/2024 11:31:55 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE FUNCTION [dbo].[fn_GetECNsByUserPrev] (
 | 
			
		||||
		-- Add the parameters for the function here
 | 
			
		||||
		@UserID INT
 | 
			
		||||
	) RETURNS TABLE AS RETURN (
 | 
			
		||||
		-- Add the SELECT statement with parameter references here
 | 
			
		||||
		-- M_Suffix
 | 
			
		||||
		SELECT
 | 
			
		||||
			DISTINCT 'ECN' AS DocumentType,
 | 
			
		||||
			*
 | 
			
		||||
		FROM
 | 
			
		||||
			(
 | 
			
		||||
				SELECT
 | 
			
		||||
					CASE
 | 
			
		||||
						WHEN E.IsECN = 1 THEN 'ECN'
 | 
			
		||||
						WHEN E.IsTECN = 1 THEN 'TECN'
 | 
			
		||||
						WHEN E.IsEmergencyTECN = 1 THEN 'E-TECN'
 | 
			
		||||
						ELSE 'ECN'
 | 
			
		||||
					END AS SubDoc,
 | 
			
		||||
					E.ECNNumber AS IssueID,
 | 
			
		||||
					IssueDate,
 | 
			
		||||
					'' AS LotNos,
 | 
			
		||||
					pdg.Names AS 'PendingApprovers',
 | 
			
		||||
					Title,
 | 
			
		||||
					DescriptionOfChange AS IssueDescription,
 | 
			
		||||
					U2.FirstName + ' ' + U2.LastName AS Originator,
 | 
			
		||||
					SubmitedDate,
 | 
			
		||||
					CloseDate,
 | 
			
		||||
					A.ItemStatus
 | 
			
		||||
				FROM
 | 
			
		||||
					ECN E
 | 
			
		||||
					INNER JOIN Approval A ON A.IssueID = E.ECNNumber
 | 
			
		||||
					AND (
 | 
			
		||||
						A.DocumentTypeID = 3
 | 
			
		||||
						OR A.DocumentTypeID = 4
 | 
			
		||||
						OR A.DocumentTypeID = 5
 | 
			
		||||
					)
 | 
			
		||||
					INNER JOIN Users U2 ON E.OriginatorID = U2.UserID
 | 
			
		||||
					INNER JOIN Users U1 ON A.UserID = U1.UserID
 | 
			
		||||
					LEFT JOIN (
 | 
			
		||||
						SELECT
 | 
			
		||||
							DISTINCT E.ECNNumber AS IssueID,
 | 
			
		||||
							STUFF (
 | 
			
		||||
								(
 | 
			
		||||
									SELECT
 | 
			
		||||
										'/' + CAST(U.FirstName AS varchar(50)) + ' ' + CAST(U.LastName AS varchar(50))
 | 
			
		||||
									FROM
 | 
			
		||||
										Approval A
 | 
			
		||||
										INNER JOIN Users U ON A.UserID = U.UserID
 | 
			
		||||
									WHERE
 | 
			
		||||
										(
 | 
			
		||||
											A.DocumentTypeID = 3
 | 
			
		||||
											OR A.DocumentTypeID = 4
 | 
			
		||||
											OR A.DocumentTypeID = 5
 | 
			
		||||
										)
 | 
			
		||||
										AND A.IssueID = E.ECNNumber
 | 
			
		||||
										AND ItemStatus = 0 FOR XML PATH('')
 | 
			
		||||
								),
 | 
			
		||||
								1,
 | 
			
		||||
								1,
 | 
			
		||||
								''
 | 
			
		||||
							) AS Names
 | 
			
		||||
						FROM
 | 
			
		||||
							ECN E
 | 
			
		||||
					) AS pdg ON E.ECNNumber = pdg.IssueID
 | 
			
		||||
				WHERE
 | 
			
		||||
					A.UserID = @UserID
 | 
			
		||||
					AND E.Deleted = 0
 | 
			
		||||
					AND (
 | 
			
		||||
						ItemStatus = 0
 | 
			
		||||
						OR (
 | 
			
		||||
							ItemStatus = 2
 | 
			
		||||
							AND DisplayDeniedDocument = 1
 | 
			
		||||
						)
 | 
			
		||||
					) --List of documents orginated by the user
 | 
			
		||||
				UNION
 | 
			
		||||
				ALL
 | 
			
		||||
				SELECT
 | 
			
		||||
					DISTINCT CASE
 | 
			
		||||
						WHEN E.IsECN = 1 THEN 'ECN'
 | 
			
		||||
						WHEN E.IsTECN = 1 THEN 'TECN'
 | 
			
		||||
						WHEN E.IsEmergencyTECN = 1 THEN 'E-TECN'
 | 
			
		||||
						ELSE 'ECN'
 | 
			
		||||
					END AS SubDoc,
 | 
			
		||||
					E.ECNNumber AS IssueID,
 | 
			
		||||
					IssueDate,
 | 
			
		||||
					'' AS LotNos,
 | 
			
		||||
					ISNULL(pdg.Names, '') AS 'PendingApprovers',
 | 
			
		||||
					Title,
 | 
			
		||||
					DescriptionOfChange AS IssueDescription,
 | 
			
		||||
					U1.FirstName + ' ' + U1.LastName AS Originator,
 | 
			
		||||
					SubmitedDate,
 | 
			
		||||
					CloseDate,
 | 
			
		||||
					AP.ItemStatus
 | 
			
		||||
				FROM
 | 
			
		||||
					ECN E
 | 
			
		||||
					INNER JOIN Users U1 ON E.OriginatorID = U1.UserID
 | 
			
		||||
					LEFT JOIN Approval AP ON E.ECNNumber = AP.IssueID
 | 
			
		||||
					LEFT JOIN (
 | 
			
		||||
						SELECT
 | 
			
		||||
							DISTINCT E.ECNNumber AS IssueID,
 | 
			
		||||
							STUFF (
 | 
			
		||||
								(
 | 
			
		||||
									SELECT
 | 
			
		||||
										'/' + CAST(U.FirstName AS varchar(50)) + ' ' + CAST(U.LastName AS varchar(50))
 | 
			
		||||
									FROM
 | 
			
		||||
										Approval A
 | 
			
		||||
										INNER JOIN Users U ON A.UserID = U.UserID
 | 
			
		||||
									WHERE
 | 
			
		||||
										(
 | 
			
		||||
											A.DocumentTypeID = 3
 | 
			
		||||
											OR A.DocumentTypeID = 4
 | 
			
		||||
											OR A.DocumentTypeID = 5
 | 
			
		||||
										)
 | 
			
		||||
										AND A.IssueID = E.ECNNumber
 | 
			
		||||
										AND ItemStatus = 0 FOR XML PATH('')
 | 
			
		||||
								),
 | 
			
		||||
								1,
 | 
			
		||||
								1,
 | 
			
		||||
								''
 | 
			
		||||
							) AS Names
 | 
			
		||||
						FROM
 | 
			
		||||
							ECN E
 | 
			
		||||
					) AS pdg ON E.ECNNumber = pdg.IssueID
 | 
			
		||||
				WHERE
 | 
			
		||||
					U1.UserID = @UserID
 | 
			
		||||
					AND E.ECNNumber NOT IN (
 | 
			
		||||
						SELECT
 | 
			
		||||
							IssueID
 | 
			
		||||
						FROM
 | 
			
		||||
							Approval
 | 
			
		||||
						WHERE
 | 
			
		||||
							IssueID = E.ECNNumber
 | 
			
		||||
							AND ItemStatus <> 2
 | 
			
		||||
							AND (
 | 
			
		||||
								DocumentTypeID = 3
 | 
			
		||||
								OR DocumentTypeID = 4
 | 
			
		||||
							)
 | 
			
		||||
					)
 | 
			
		||||
			) AS A
 | 
			
		||||
	)
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										88
									
								
								Programmability/Functions/fn_GetExpiredTECNByOriginator.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										88
									
								
								Programmability/Functions/fn_GetExpiredTECNByOriginator.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,88 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  UserDefinedFunction [dbo].[fn_GetExpiredTECNByOriginator] ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE FUNCTION [dbo].[fn_GetExpiredTECNByOriginator] (
 | 
			
		||||
		-- Add the parameters for the function here
 | 
			
		||||
		@UserID INT,
 | 
			
		||||
		@MaxDays INT
 | 
			
		||||
	) RETURNS TABLE AS RETURN (
 | 
			
		||||
		SELECT
 | 
			
		||||
			DISTINCT 'ECN' AS DocumentType,
 | 
			
		||||
			CASE
 | 
			
		||||
				WHEN E.IsECN = 1 THEN 'ECN'
 | 
			
		||||
				WHEN E.IsTECN = 1 THEN 'TECN'
 | 
			
		||||
				WHEN E.IsEmergencyTECN = 1 THEN 'E-TECN'
 | 
			
		||||
				ELSE 'ECN'
 | 
			
		||||
			END AS SubDoc,
 | 
			
		||||
			E.ECNNumber AS IssueID,
 | 
			
		||||
			E.ECNNumber AS DocID,
 | 
			
		||||
			IssueDate,
 | 
			
		||||
			'' AS LotNos,
 | 
			
		||||
			ISNULL(pdg.Names, '') AS 'PendingApprovers',
 | 
			
		||||
			Title,
 | 
			
		||||
			DescriptionOfChange AS IssueDescription,
 | 
			
		||||
			U1.FirstName + ' ' + U1.LastName AS Originator,
 | 
			
		||||
			SubmitedDate,
 | 
			
		||||
			CloseDate,
 | 
			
		||||
			ItemStatus,
 | 
			
		||||
			NULL AS NextDueDate
 | 
			
		||||
		FROM
 | 
			
		||||
			ECN E
 | 
			
		||||
			INNER JOIN Users U1 ON E.OriginatorID = U1.UserID
 | 
			
		||||
			LEFT JOIN Approval AP ON E.ECNNumber = AP.IssueID
 | 
			
		||||
			LEFT JOIN (
 | 
			
		||||
				SELECT
 | 
			
		||||
					DISTINCT E.ECNNumber AS IssueID,
 | 
			
		||||
					STUFF (
 | 
			
		||||
						(
 | 
			
		||||
							SELECT
 | 
			
		||||
								'/' + CAST(U.FirstName AS varchar(50)) + ' ' + CAST(U.LastName AS varchar(50))
 | 
			
		||||
							FROM
 | 
			
		||||
								Approval A
 | 
			
		||||
								INNER JOIN Users U ON A.UserID = U.UserID
 | 
			
		||||
							WHERE
 | 
			
		||||
								(
 | 
			
		||||
									A.DocumentTypeID = 3
 | 
			
		||||
									OR A.DocumentTypeID = 4
 | 
			
		||||
									OR A.DocumentTypeID = 5
 | 
			
		||||
								)
 | 
			
		||||
								AND A.IssueID = E.ECNNumber
 | 
			
		||||
								AND ItemStatus = 0 FOR XML PATH('')
 | 
			
		||||
						),
 | 
			
		||||
						1,
 | 
			
		||||
						1,
 | 
			
		||||
						''
 | 
			
		||||
					) AS Names
 | 
			
		||||
				FROM
 | 
			
		||||
					ECN E
 | 
			
		||||
			) AS pdg ON E.ECNNumber = pdg.IssueID
 | 
			
		||||
		WHERE
 | 
			
		||||
			E.OriginatorID = @UserID
 | 
			
		||||
			AND E.IsTECN = 1
 | 
			
		||||
			AND (
 | 
			
		||||
				(
 | 
			
		||||
					ExtensionDate IS NULL
 | 
			
		||||
					AND DATEDIFF(dd, ExpirationDate, GETDATE()) BETWEEN 0
 | 
			
		||||
					AND @MaxDays
 | 
			
		||||
				)
 | 
			
		||||
				OR (
 | 
			
		||||
					DATEDIFF(dd, ExtensionDate, GETDATE()) BETWEEN 0
 | 
			
		||||
					AND @MaxDays
 | 
			
		||||
				)
 | 
			
		||||
			)
 | 
			
		||||
			AND CloseDate IS NOT NULL
 | 
			
		||||
			AND ExpirationDate < GETDATE()
 | 
			
		||||
			AND Deleted = 0
 | 
			
		||||
	)
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										59
									
								
								Programmability/Functions/fn_GetLTWorkRequests.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								Programmability/Functions/fn_GetLTWorkRequests.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,59 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  UserDefinedFunction [dbo].[fn_GetLTWorkRequests]    Script Date: 11/21/2024 11:31:55 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE FUNCTION [dbo].[fn_GetLTWorkRequests] () RETURNS TABLE AS RETURN (
 | 
			
		||||
		-- Add the SELECT statement with parameter references here
 | 
			
		||||
		-- M_Suffix
 | 
			
		||||
		SELECT
 | 
			
		||||
			DISTINCT 'LotTraveler' AS DocumentType,
 | 
			
		||||
			'LotTraveler' AS SubDoc,
 | 
			
		||||
			W.SWRNumber AS IssueID,
 | 
			
		||||
			W.ID AS DocID,
 | 
			
		||||
			W.OriginatedDate AS IssueDate,
 | 
			
		||||
			W.LotNumber AS LotNos,
 | 
			
		||||
			pdg.Names AS 'PendingApprovers',
 | 
			
		||||
			Title,
 | 
			
		||||
			PurposeOfRequest,
 | 
			
		||||
			U.FirstName + ' ' + U.LastName AS Originator,
 | 
			
		||||
			SubmitedDate,
 | 
			
		||||
			CloseDate
 | 
			
		||||
		FROM
 | 
			
		||||
			LTWorkRequest W
 | 
			
		||||
			LEFT JOIN Users U ON W.OriginatorID = U.UserID
 | 
			
		||||
			LEFT JOIN (
 | 
			
		||||
				SELECT
 | 
			
		||||
					DISTINCT W.ID,
 | 
			
		||||
					STUFF (
 | 
			
		||||
						(
 | 
			
		||||
							SELECT
 | 
			
		||||
								'/' + CAST(U.FirstName AS varchar(50)) + ' ' + CAST(U.LastName AS varchar(50)) + '(' + A.RoleName + ')'
 | 
			
		||||
							FROM
 | 
			
		||||
								Approval A
 | 
			
		||||
								INNER JOIN Users U ON A.UserID = U.UserID
 | 
			
		||||
							WHERE
 | 
			
		||||
								DocumentTypeID = 6
 | 
			
		||||
								AND A.IssueID = W.ID
 | 
			
		||||
								AND ItemStatus = 0 FOR XML PATH('')
 | 
			
		||||
						),
 | 
			
		||||
						1,
 | 
			
		||||
						1,
 | 
			
		||||
						''
 | 
			
		||||
					) AS Names
 | 
			
		||||
				FROM
 | 
			
		||||
					LTWorkRequest W
 | 
			
		||||
			) AS pdg ON W.ID = pdg.ID
 | 
			
		||||
		WHERE
 | 
			
		||||
			IsCurrentRevision = 1
 | 
			
		||||
	)
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										140
									
								
								Programmability/Functions/fn_GetLTWorkRequestsByUser.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										140
									
								
								Programmability/Functions/fn_GetLTWorkRequestsByUser.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,140 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  UserDefinedFunction [dbo].[fn_GetLTWorkRequestsByUser]    Script Date: 11/21/2024 11:31:55 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE FUNCTION [dbo].[fn_GetLTWorkRequestsByUser] (
 | 
			
		||||
		-- Add the parameters for the function here
 | 
			
		||||
		@UserID INT
 | 
			
		||||
	) RETURNS TABLE AS RETURN (
 | 
			
		||||
		-- Add the SELECT statement with parameter references here
 | 
			
		||||
		-- M_Suffix
 | 
			
		||||
		SELECT
 | 
			
		||||
			DISTINCT 'LotTraveler' AS DocumentType,
 | 
			
		||||
			'LotTraveler' AS SubDoc,
 | 
			
		||||
			*
 | 
			
		||||
		FROM
 | 
			
		||||
			(
 | 
			
		||||
				SELECT
 | 
			
		||||
					DISTINCT W.SWRNumber AS IssueID,
 | 
			
		||||
					W.ID AS DocID,
 | 
			
		||||
					W.OriginatedDate AS IssueDate,
 | 
			
		||||
					W.LotNumber AS LotNos,
 | 
			
		||||
					pdg.Names AS 'PendingApprovers',
 | 
			
		||||
					Title,
 | 
			
		||||
					PurposeOfRequest,
 | 
			
		||||
					U2.FirstName + ' ' + U2.LastName AS Originator,
 | 
			
		||||
					SubmitedDate,
 | 
			
		||||
					CloseDate,
 | 
			
		||||
					A.ItemStatus,
 | 
			
		||||
					NULL AS NextDueDate
 | 
			
		||||
				FROM
 | 
			
		||||
					LTWorkRequest W WITH(NOLOCK)
 | 
			
		||||
					INNER JOIN Approval A WITH(NOLOCK) ON A.IssueID = W.ID
 | 
			
		||||
					AND DocumentTypeID = 6
 | 
			
		||||
					INNER JOIN Users U2 WITH(NOLOCK) ON W.OriginatorID = U2.UserID
 | 
			
		||||
					INNER JOIN Users U1 WITH(NOLOCK) ON A.UserID = U1.UserID --LEFT JOIN 
 | 
			
		||||
					--(SELECT   DISTINCT  M.MRBNumber, STUFF
 | 
			
		||||
					--							   ((SELECT '/' + CAST(L.LotNumber AS varchar(512))
 | 
			
		||||
					--								   FROM         MRBLot L
 | 
			
		||||
					--								   WHERE     L.MRBNumber = M.MRBNumber FOR XML PATH('')), 1, 1, '') AS LotNo
 | 
			
		||||
					--							FROM MRB M) AS SQ
 | 
			
		||||
					--ON M.MRBNumber = SQ.MRBNumber
 | 
			
		||||
					LEFT JOIN (
 | 
			
		||||
						SELECT
 | 
			
		||||
							DISTINCT W.ID,
 | 
			
		||||
							STUFF (
 | 
			
		||||
								(
 | 
			
		||||
									SELECT
 | 
			
		||||
										'/' + CAST(U.FirstName AS varchar(50)) + ' ' + CAST(U.LastName AS varchar(50)) + '(' + A.RoleName + ')'
 | 
			
		||||
									FROM
 | 
			
		||||
										Approval A WITH(NOLOCK)
 | 
			
		||||
										INNER JOIN Users U WITH(NOLOCK) ON A.UserID = U.UserID
 | 
			
		||||
									WHERE
 | 
			
		||||
										DocumentTypeID = 6
 | 
			
		||||
										AND A.IssueID = W.ID
 | 
			
		||||
										AND ItemStatus = 0 FOR XML PATH('')
 | 
			
		||||
								),
 | 
			
		||||
								1,
 | 
			
		||||
								1,
 | 
			
		||||
								''
 | 
			
		||||
							) AS Names
 | 
			
		||||
						FROM
 | 
			
		||||
							LTWorkRequest W WITH(NOLOCK)
 | 
			
		||||
					) AS pdg ON W.ID = pdg.ID
 | 
			
		||||
				WHERE
 | 
			
		||||
					A.UserID = @UserID
 | 
			
		||||
					AND (ItemStatus = 0)
 | 
			
		||||
					AND IsCurrentRevision = 1
 | 
			
		||||
				UNION
 | 
			
		||||
				ALL
 | 
			
		||||
				SELECT
 | 
			
		||||
					DISTINCT W.SWRNumber AS IssueID,
 | 
			
		||||
					W.ID AS DocID,
 | 
			
		||||
					W.OriginatedDate AS IssueDate,
 | 
			
		||||
					W.LotNumber AS LotNos,
 | 
			
		||||
					ISNULL(pdg.Names, '') AS 'PendingApprovers',
 | 
			
		||||
					Title,
 | 
			
		||||
					PurposeOfRequest,
 | 
			
		||||
					U1.FirstName + ' ' + U1.LastName AS Originator,
 | 
			
		||||
					SubmitedDate,
 | 
			
		||||
					CloseDate,
 | 
			
		||||
					AP.ItemStatus,
 | 
			
		||||
					NULL AS NextDueDate
 | 
			
		||||
				FROM
 | 
			
		||||
					LTWorkRequest W WITH(NOLOCK)
 | 
			
		||||
					INNER JOIN Users U1 WITH(NOLOCK) ON W.OriginatorID = U1.UserID
 | 
			
		||||
					LEFT JOIN Approval AP WITH(NOLOCK) ON W.ID = AP.IssueID --LEFT JOIN 
 | 
			
		||||
					--(SELECT   DISTINCT  LD.IssueID, STUFF
 | 
			
		||||
					--							   ((SELECT '/' + CAST(L.LotNumber AS varchar(512))
 | 
			
		||||
					--								   FROM         Lot L
 | 
			
		||||
					--								   WHERE     L.IssueID = LD.IssueID FOR XML PATH('')), 1, 1, '') AS LotNo
 | 
			
		||||
					--							FROM LotDisposition LD) AS SQ
 | 
			
		||||
					--ON LD.IssueID = SQ.IssueID 
 | 
			
		||||
					LEFT JOIN (
 | 
			
		||||
						SELECT
 | 
			
		||||
							DISTINCT W.ID,
 | 
			
		||||
							STUFF (
 | 
			
		||||
								(
 | 
			
		||||
									SELECT
 | 
			
		||||
										'/' + CAST(U.FirstName AS varchar(50)) + ' ' + CAST(U.LastName AS varchar(50)) + '(' + A.RoleName + ')'
 | 
			
		||||
									FROM
 | 
			
		||||
										Approval A WITH(NOLOCK)
 | 
			
		||||
										INNER JOIN Users U WITH(NOLOCK) ON A.UserID = U.UserID
 | 
			
		||||
									WHERE
 | 
			
		||||
										DocumentTypeID = 6
 | 
			
		||||
										AND A.IssueID = W.ID
 | 
			
		||||
										AND ItemStatus = 0 FOR XML PATH('')
 | 
			
		||||
								),
 | 
			
		||||
								1,
 | 
			
		||||
								1,
 | 
			
		||||
								''
 | 
			
		||||
							) AS Names
 | 
			
		||||
						FROM
 | 
			
		||||
							LTWorkRequest W WITH(NOLOCK)
 | 
			
		||||
					) AS pdg ON W.ID = pdg.ID
 | 
			
		||||
				WHERE
 | 
			
		||||
					U1.UserID = @UserID
 | 
			
		||||
					AND W.ID NOT IN (
 | 
			
		||||
						SELECT
 | 
			
		||||
							IssueID
 | 
			
		||||
						FROM
 | 
			
		||||
							Approval WITH(NOLOCK)
 | 
			
		||||
						WHERE
 | 
			
		||||
							IssueID = W.ID
 | 
			
		||||
							AND ItemStatus <> 2
 | 
			
		||||
							AND DocumentTypeID = 6
 | 
			
		||||
					)
 | 
			
		||||
					AND IsCurrentRevision = 1
 | 
			
		||||
			) AS A
 | 
			
		||||
	)
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										76
									
								
								Programmability/Functions/fn_GetLotDispositions.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										76
									
								
								Programmability/Functions/fn_GetLotDispositions.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,76 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
    /****** Object:  UserDefinedFunction [dbo].[fn_GetLotDispositions]    Script Date: 11/21/2024 11:31:55 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
    ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
    QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
    -- =============================================
 | 
			
		||||
    -- Author:		<Author,,Name>
 | 
			
		||||
    -- Create date: <Create Date,,>
 | 
			
		||||
    -- Description:	<Description,,>
 | 
			
		||||
    -- =============================================
 | 
			
		||||
    CREATE FUNCTION [dbo].[fn_GetLotDispositions] () RETURNS TABLE AS RETURN (
 | 
			
		||||
        -- Add the SELECT statement with parameter references here
 | 
			
		||||
        -- M_Suffix
 | 
			
		||||
        SELECT
 | 
			
		||||
            'LotDisposition' AS DocumentType,
 | 
			
		||||
            'LotDisposition' AS SubDoc,
 | 
			
		||||
            LD.IssueID,
 | 
			
		||||
            LD.IssueID AS DocID,
 | 
			
		||||
            IssueDate,
 | 
			
		||||
            SQ.LotNo AS LotNos,
 | 
			
		||||
            pdg.Names AS 'PendingApprovers',
 | 
			
		||||
            Title,
 | 
			
		||||
            IssueDescription,
 | 
			
		||||
            U.FirstName + ' ' + U.LastName AS Originator,
 | 
			
		||||
            SubmitedDate,
 | 
			
		||||
            CloseDate
 | 
			
		||||
        FROM
 | 
			
		||||
            LotDisposition LD
 | 
			
		||||
            LEFT JOIN Users U ON LD.OriginatorID = U.UserID
 | 
			
		||||
            LEFT JOIN (
 | 
			
		||||
                SELECT
 | 
			
		||||
                    DISTINCT LD.IssueID,
 | 
			
		||||
                    STUFF (
 | 
			
		||||
                        (
 | 
			
		||||
                            SELECT
 | 
			
		||||
                                '/' + CAST(L.LotNumber AS varchar(512))
 | 
			
		||||
                            FROM
 | 
			
		||||
                                Lot L
 | 
			
		||||
                            WHERE
 | 
			
		||||
                                L.IssueID = LD.IssueID FOR XML PATH('')
 | 
			
		||||
                        ),
 | 
			
		||||
                        1,
 | 
			
		||||
                        1,
 | 
			
		||||
                        ''
 | 
			
		||||
                    ) AS LotNo
 | 
			
		||||
                FROM
 | 
			
		||||
                    LotDisposition LD
 | 
			
		||||
            ) AS SQ ON LD.IssueID = SQ.IssueID
 | 
			
		||||
            LEFT JOIN (
 | 
			
		||||
                SELECT
 | 
			
		||||
                    DISTINCT LD.IssueID,
 | 
			
		||||
                    STUFF (
 | 
			
		||||
                        (
 | 
			
		||||
                            SELECT
 | 
			
		||||
                                '/' + CAST(U.FirstName AS varchar(50)) + ' ' + CAST(U.LastName AS varchar(50)) + '(' + A.RoleName + ')'
 | 
			
		||||
                            FROM
 | 
			
		||||
                                Approval A
 | 
			
		||||
                                INNER JOIN Users U ON A.UserID = U.UserID
 | 
			
		||||
                            WHERE
 | 
			
		||||
                                A.DocumentTypeID = 1
 | 
			
		||||
                                AND A.IssueID = LD.IssueID
 | 
			
		||||
                                AND ItemStatus = 0 FOR XML PATH('')
 | 
			
		||||
                        ),
 | 
			
		||||
                        1,
 | 
			
		||||
                        1,
 | 
			
		||||
                        ''
 | 
			
		||||
                    ) AS Names
 | 
			
		||||
                FROM
 | 
			
		||||
                    LotDisposition LD
 | 
			
		||||
            ) AS pdg ON LD.IssueID = pdg.IssueID
 | 
			
		||||
    )
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										170
									
								
								Programmability/Functions/fn_GetLotDispositionsByUser.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										170
									
								
								Programmability/Functions/fn_GetLotDispositionsByUser.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,170 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  UserDefinedFunction [dbo].[fn_GetLotDispositionsByUser]    Script Date: 11/21/2024 11:31:55 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE FUNCTION [dbo].[fn_GetLotDispositionsByUser] (
 | 
			
		||||
		-- Add the parameters for the function here
 | 
			
		||||
		@UserID INT
 | 
			
		||||
	) RETURNS TABLE AS RETURN (
 | 
			
		||||
		-- Add the SELECT statement with parameter references here
 | 
			
		||||
		-- M_Suffix
 | 
			
		||||
		SELECT
 | 
			
		||||
			DISTINCT 'LotDisposition' AS DocumentType,
 | 
			
		||||
			'LotDisposition' AS SubDoc,
 | 
			
		||||
			*
 | 
			
		||||
		FROM
 | 
			
		||||
			(
 | 
			
		||||
				SELECT
 | 
			
		||||
					DISTINCT LD.IssueID,
 | 
			
		||||
					LD.IssueID AS DocID,
 | 
			
		||||
					IssueDate,
 | 
			
		||||
					ISNULL(SQ.LotNo, '') AS LotNos,
 | 
			
		||||
					ISNULL(pdg.Names, '') AS 'PendingApprovers',
 | 
			
		||||
					Title,
 | 
			
		||||
					IssueDescription,
 | 
			
		||||
					U2.FirstName + ' ' + U2.LastName AS Originator,
 | 
			
		||||
					SubmitedDate,
 | 
			
		||||
					CloseDate,
 | 
			
		||||
					A.ItemStatus,
 | 
			
		||||
					NULL AS NextDueDate
 | 
			
		||||
				FROM
 | 
			
		||||
					LotDisposition LD
 | 
			
		||||
					INNER JOIN Approval A ON A.IssueID = LD.IssueID
 | 
			
		||||
					AND DocumentTypeID = 1
 | 
			
		||||
					LEFT JOIN Users U2 ON LD.OriginatorID = U2.UserID
 | 
			
		||||
					INNER JOIN Users U1 ON A.UserID = U1.UserID
 | 
			
		||||
					LEFT JOIN (
 | 
			
		||||
						SELECT
 | 
			
		||||
							DISTINCT LD.IssueID,
 | 
			
		||||
							STUFF (
 | 
			
		||||
								(
 | 
			
		||||
									SELECT
 | 
			
		||||
										'/' + CAST(L.LotNumber AS varchar(512))
 | 
			
		||||
									FROM
 | 
			
		||||
										Lot L
 | 
			
		||||
									WHERE
 | 
			
		||||
										L.IssueID = LD.IssueID FOR XML PATH('')
 | 
			
		||||
								),
 | 
			
		||||
								1,
 | 
			
		||||
								1,
 | 
			
		||||
								''
 | 
			
		||||
							) AS LotNo
 | 
			
		||||
						FROM
 | 
			
		||||
							LotDisposition LD
 | 
			
		||||
					) AS SQ ON LD.IssueID = SQ.IssueID
 | 
			
		||||
					LEFT JOIN (
 | 
			
		||||
						SELECT
 | 
			
		||||
							DISTINCT LD.IssueID,
 | 
			
		||||
							STUFF (
 | 
			
		||||
								(
 | 
			
		||||
									SELECT
 | 
			
		||||
										'/' + CAST(U.FirstName AS varchar(50)) + ' ' + CAST(U.LastName AS varchar(50)) + '(' + A.RoleName + ')'
 | 
			
		||||
									FROM
 | 
			
		||||
										Approval A
 | 
			
		||||
										INNER JOIN Users U ON A.UserID = U.UserID
 | 
			
		||||
									WHERE
 | 
			
		||||
										DocumentTypeID = 1
 | 
			
		||||
										AND A.IssueID = LD.IssueID
 | 
			
		||||
										AND ItemStatus = 0 FOR XML PATH('')
 | 
			
		||||
								),
 | 
			
		||||
								1,
 | 
			
		||||
								1,
 | 
			
		||||
								''
 | 
			
		||||
							) AS Names
 | 
			
		||||
						FROM
 | 
			
		||||
							LotDisposition LD
 | 
			
		||||
					) AS pdg ON LD.IssueID = pdg.IssueID
 | 
			
		||||
				WHERE
 | 
			
		||||
					A.UserID = @UserID
 | 
			
		||||
					AND (
 | 
			
		||||
						ItemStatus = 0
 | 
			
		||||
						OR (
 | 
			
		||||
							ItemStatus = 2
 | 
			
		||||
							AND DisplayDeniedDocument = 1
 | 
			
		||||
						)
 | 
			
		||||
					)
 | 
			
		||||
				UNION
 | 
			
		||||
				ALL
 | 
			
		||||
				SELECT
 | 
			
		||||
					DISTINCT LD.IssueID,
 | 
			
		||||
					LD.IssueID AS DocID,
 | 
			
		||||
					IssueDate,
 | 
			
		||||
					ISNULL(SQ.LotNo, '') AS LotNos,
 | 
			
		||||
					ISNULL(pdg.Names, '') AS 'PendingApprovers',
 | 
			
		||||
					Title,
 | 
			
		||||
					IssueDescription,
 | 
			
		||||
					U1.FirstName + ' ' + U1.LastName AS Originator,
 | 
			
		||||
					SubmitedDate,
 | 
			
		||||
					CloseDate,
 | 
			
		||||
					AP.ItemStatus,
 | 
			
		||||
					NULL AS NextDueDate
 | 
			
		||||
				FROM
 | 
			
		||||
					LotDisposition LD
 | 
			
		||||
					INNER JOIN Users U1 ON LD.OriginatorID = U1.UserID
 | 
			
		||||
					LEFT JOIN Approval AP ON LD.IssueID = AP.IssueID
 | 
			
		||||
					LEFT JOIN (
 | 
			
		||||
						SELECT
 | 
			
		||||
							DISTINCT LD.IssueID,
 | 
			
		||||
							STUFF (
 | 
			
		||||
								(
 | 
			
		||||
									SELECT
 | 
			
		||||
										'/' + CAST(L.LotNumber AS varchar(512))
 | 
			
		||||
									FROM
 | 
			
		||||
										Lot L
 | 
			
		||||
									WHERE
 | 
			
		||||
										L.IssueID = LD.IssueID FOR XML PATH('')
 | 
			
		||||
								),
 | 
			
		||||
								1,
 | 
			
		||||
								1,
 | 
			
		||||
								''
 | 
			
		||||
							) AS LotNo
 | 
			
		||||
						FROM
 | 
			
		||||
							LotDisposition LD
 | 
			
		||||
					) AS SQ ON LD.IssueID = SQ.IssueID
 | 
			
		||||
					LEFT JOIN (
 | 
			
		||||
						SELECT
 | 
			
		||||
							DISTINCT LD.IssueID,
 | 
			
		||||
							STUFF (
 | 
			
		||||
								(
 | 
			
		||||
									SELECT
 | 
			
		||||
										'/' + CAST(U.FirstName AS varchar(50)) + ' ' + CAST(U.LastName AS varchar(50)) + '(' + A.RoleName + ')'
 | 
			
		||||
									FROM
 | 
			
		||||
										Approval A
 | 
			
		||||
										INNER JOIN Users U ON A.UserID = U.UserID
 | 
			
		||||
									WHERE
 | 
			
		||||
										DocumentTypeID = 1
 | 
			
		||||
										AND A.IssueID = LD.IssueID
 | 
			
		||||
										AND ItemStatus = 0 FOR XML PATH('')
 | 
			
		||||
								),
 | 
			
		||||
								1,
 | 
			
		||||
								1,
 | 
			
		||||
								''
 | 
			
		||||
							) AS Names
 | 
			
		||||
						FROM
 | 
			
		||||
							LotDisposition LD
 | 
			
		||||
					) AS pdg ON LD.IssueID = pdg.IssueID
 | 
			
		||||
				WHERE
 | 
			
		||||
					U1.UserID = @UserID
 | 
			
		||||
					AND LD.IssueID NOT IN (
 | 
			
		||||
						SELECT
 | 
			
		||||
							IssueID
 | 
			
		||||
						FROM
 | 
			
		||||
							Approval
 | 
			
		||||
						WHERE
 | 
			
		||||
							IssueID = LD.IssueID
 | 
			
		||||
							AND ItemStatus <> 2
 | 
			
		||||
							AND DocumentTypeID = 1
 | 
			
		||||
					)
 | 
			
		||||
			) AS A
 | 
			
		||||
	)
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										166
									
								
								Programmability/Functions/fn_GetLotDispositionsByUserPrev.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										166
									
								
								Programmability/Functions/fn_GetLotDispositionsByUserPrev.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,166 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  UserDefinedFunction [dbo].[fn_GetLotDispositionsByUserPrev]    Script Date: 11/21/2024 11:31:55 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE FUNCTION [dbo].[fn_GetLotDispositionsByUserPrev] (
 | 
			
		||||
		-- Add the parameters for the function here
 | 
			
		||||
		@UserID INT
 | 
			
		||||
	) RETURNS TABLE AS RETURN (
 | 
			
		||||
		-- Add the SELECT statement with parameter references here
 | 
			
		||||
		-- M_Suffix
 | 
			
		||||
		SELECT
 | 
			
		||||
			DISTINCT 'LotDisposition' AS DocumentType,
 | 
			
		||||
			'LotDisposition' AS SubDoc,
 | 
			
		||||
			*
 | 
			
		||||
		FROM
 | 
			
		||||
			(
 | 
			
		||||
				SELECT
 | 
			
		||||
					DISTINCT LD.IssueID,
 | 
			
		||||
					IssueDate,
 | 
			
		||||
					ISNULL(SQ.LotNo, '') AS LotNos,
 | 
			
		||||
					ISNULL(pdg.Names, '') AS 'PendingApprovers',
 | 
			
		||||
					Title,
 | 
			
		||||
					IssueDescription,
 | 
			
		||||
					U2.FirstName + ' ' + U2.LastName AS Originator,
 | 
			
		||||
					SubmitedDate,
 | 
			
		||||
					CloseDate,
 | 
			
		||||
					A.ItemStatus
 | 
			
		||||
				FROM
 | 
			
		||||
					LotDisposition LD
 | 
			
		||||
					INNER JOIN Approval A ON A.IssueID = LD.IssueID
 | 
			
		||||
					AND DocumentTypeID = 1
 | 
			
		||||
					INNER JOIN Users U2 ON LD.OriginatorID = U2.UserID
 | 
			
		||||
					INNER JOIN Users U1 ON A.UserID = U1.UserID
 | 
			
		||||
					LEFT JOIN (
 | 
			
		||||
						SELECT
 | 
			
		||||
							DISTINCT LD.IssueID,
 | 
			
		||||
							STUFF (
 | 
			
		||||
								(
 | 
			
		||||
									SELECT
 | 
			
		||||
										'/' + CAST(L.LotNumber AS varchar(512))
 | 
			
		||||
									FROM
 | 
			
		||||
										Lot L
 | 
			
		||||
									WHERE
 | 
			
		||||
										L.IssueID = LD.IssueID FOR XML PATH('')
 | 
			
		||||
								),
 | 
			
		||||
								1,
 | 
			
		||||
								1,
 | 
			
		||||
								''
 | 
			
		||||
							) AS LotNo
 | 
			
		||||
						FROM
 | 
			
		||||
							LotDisposition LD
 | 
			
		||||
					) AS SQ ON LD.IssueID = SQ.IssueID
 | 
			
		||||
					LEFT JOIN (
 | 
			
		||||
						SELECT
 | 
			
		||||
							DISTINCT LD.IssueID,
 | 
			
		||||
							STUFF (
 | 
			
		||||
								(
 | 
			
		||||
									SELECT
 | 
			
		||||
										'/' + CAST(U.FirstName AS varchar(50)) + ' ' + CAST(U.LastName AS varchar(50))
 | 
			
		||||
									FROM
 | 
			
		||||
										Approval A
 | 
			
		||||
										INNER JOIN Users U ON A.UserID = U.UserID
 | 
			
		||||
									WHERE
 | 
			
		||||
										DocumentTypeID = 1
 | 
			
		||||
										AND A.IssueID = LD.IssueID
 | 
			
		||||
										AND ItemStatus = 0 FOR XML PATH('')
 | 
			
		||||
								),
 | 
			
		||||
								1,
 | 
			
		||||
								1,
 | 
			
		||||
								''
 | 
			
		||||
							) AS Names
 | 
			
		||||
						FROM
 | 
			
		||||
							LotDisposition LD
 | 
			
		||||
					) AS pdg ON LD.IssueID = pdg.IssueID
 | 
			
		||||
				WHERE
 | 
			
		||||
					A.UserID = @UserID
 | 
			
		||||
					AND (
 | 
			
		||||
						ItemStatus = 0
 | 
			
		||||
						OR (
 | 
			
		||||
							ItemStatus = 2
 | 
			
		||||
							AND DisplayDeniedDocument = 1
 | 
			
		||||
						)
 | 
			
		||||
					)
 | 
			
		||||
				UNION
 | 
			
		||||
				ALL
 | 
			
		||||
				SELECT
 | 
			
		||||
					DISTINCT LD.IssueID,
 | 
			
		||||
					IssueDate,
 | 
			
		||||
					ISNULL(SQ.LotNo, '') AS LotNos,
 | 
			
		||||
					ISNULL(pdg.Names, '') AS 'PendingApprovers',
 | 
			
		||||
					Title,
 | 
			
		||||
					IssueDescription,
 | 
			
		||||
					U1.FirstName + ' ' + U1.LastName AS Originator,
 | 
			
		||||
					SubmitedDate,
 | 
			
		||||
					CloseDate,
 | 
			
		||||
					AP.ItemStatus
 | 
			
		||||
				FROM
 | 
			
		||||
					LotDisposition LD
 | 
			
		||||
					INNER JOIN Users U1 ON LD.OriginatorID = U1.UserID
 | 
			
		||||
					LEFT JOIN Approval AP ON LD.IssueID = AP.IssueID
 | 
			
		||||
					LEFT JOIN (
 | 
			
		||||
						SELECT
 | 
			
		||||
							DISTINCT LD.IssueID,
 | 
			
		||||
							STUFF (
 | 
			
		||||
								(
 | 
			
		||||
									SELECT
 | 
			
		||||
										'/' + CAST(L.LotNumber AS varchar(512))
 | 
			
		||||
									FROM
 | 
			
		||||
										Lot L
 | 
			
		||||
									WHERE
 | 
			
		||||
										L.IssueID = LD.IssueID FOR XML PATH('')
 | 
			
		||||
								),
 | 
			
		||||
								1,
 | 
			
		||||
								1,
 | 
			
		||||
								''
 | 
			
		||||
							) AS LotNo
 | 
			
		||||
						FROM
 | 
			
		||||
							LotDisposition LD
 | 
			
		||||
					) AS SQ ON LD.IssueID = SQ.IssueID
 | 
			
		||||
					LEFT JOIN (
 | 
			
		||||
						SELECT
 | 
			
		||||
							DISTINCT LD.IssueID,
 | 
			
		||||
							STUFF (
 | 
			
		||||
								(
 | 
			
		||||
									SELECT
 | 
			
		||||
										'/' + CAST(U.FirstName AS varchar(50)) + ' ' + CAST(U.LastName AS varchar(50))
 | 
			
		||||
									FROM
 | 
			
		||||
										Approval A
 | 
			
		||||
										INNER JOIN Users U ON A.UserID = U.UserID
 | 
			
		||||
									WHERE
 | 
			
		||||
										DocumentTypeID = 1
 | 
			
		||||
										AND A.IssueID = LD.IssueID
 | 
			
		||||
										AND ItemStatus = 0 FOR XML PATH('')
 | 
			
		||||
								),
 | 
			
		||||
								1,
 | 
			
		||||
								1,
 | 
			
		||||
								''
 | 
			
		||||
							) AS Names
 | 
			
		||||
						FROM
 | 
			
		||||
							LotDisposition LD
 | 
			
		||||
					) AS pdg ON LD.IssueID = pdg.IssueID
 | 
			
		||||
				WHERE
 | 
			
		||||
					U1.UserID = @UserID
 | 
			
		||||
					AND LD.IssueID NOT IN (
 | 
			
		||||
						SELECT
 | 
			
		||||
							IssueID
 | 
			
		||||
						FROM
 | 
			
		||||
							Approval
 | 
			
		||||
						WHERE
 | 
			
		||||
							IssueID = LD.IssueID
 | 
			
		||||
							AND ItemStatus <> 2
 | 
			
		||||
							AND DocumentTypeID = 1
 | 
			
		||||
					)
 | 
			
		||||
			) AS A
 | 
			
		||||
	)
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										163
									
								
								Programmability/Functions/fn_GetMRBByUser.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										163
									
								
								Programmability/Functions/fn_GetMRBByUser.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,163 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  UserDefinedFunction [dbo].[fn_GetMRBByUser]    Script Date: 11/21/2024 11:31:55 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE FUNCTION [dbo].[fn_GetMRBByUser] (
 | 
			
		||||
		-- Add the parameters for the function here
 | 
			
		||||
		@UserID INT
 | 
			
		||||
	) RETURNS TABLE AS RETURN (
 | 
			
		||||
		-- Add the SELECT statement with parameter references here
 | 
			
		||||
		-- M_Suffix
 | 
			
		||||
		SELECT
 | 
			
		||||
			DISTINCT 'MRB' AS DocumentType,
 | 
			
		||||
			'MRB' AS SubDoc,
 | 
			
		||||
			*
 | 
			
		||||
		FROM
 | 
			
		||||
			(
 | 
			
		||||
				SELECT
 | 
			
		||||
					DISTINCT M.MRBNumber as IssueID,
 | 
			
		||||
					M.MRBNumber as DocID,
 | 
			
		||||
					M.SubmittedDate AS IssueDate,
 | 
			
		||||
					SQ.LotNo AS LotNos,
 | 
			
		||||
					pdg.Names AS 'PendingApprovers',
 | 
			
		||||
					Title,
 | 
			
		||||
					IssueDescription,
 | 
			
		||||
					U2.FirstName + ' ' + U2.LastName AS Originator,
 | 
			
		||||
					SubmittedDate,
 | 
			
		||||
					CloseDate,
 | 
			
		||||
					A.ItemStatus,
 | 
			
		||||
					NULL AS NextDueDate
 | 
			
		||||
				FROM
 | 
			
		||||
					MRB M
 | 
			
		||||
					INNER JOIN Approval A ON A.IssueID = M.MRBNumber
 | 
			
		||||
					INNER JOIN Users U2 ON M.OriginatorID = U2.UserID
 | 
			
		||||
					INNER JOIN Users U1 ON A.UserID = U1.UserID
 | 
			
		||||
					LEFT JOIN (
 | 
			
		||||
						SELECT
 | 
			
		||||
							DISTINCT M.MRBNumber,
 | 
			
		||||
							STUFF (
 | 
			
		||||
								(
 | 
			
		||||
									SELECT
 | 
			
		||||
										'/' + CAST(L.LotNumber AS varchar(512))
 | 
			
		||||
									FROM
 | 
			
		||||
										MRBAction L
 | 
			
		||||
									WHERE
 | 
			
		||||
										L.MRBNumber = M.MRBNumber FOR XML PATH('')
 | 
			
		||||
								),
 | 
			
		||||
								1,
 | 
			
		||||
								1,
 | 
			
		||||
								''
 | 
			
		||||
							) AS LotNo
 | 
			
		||||
						FROM
 | 
			
		||||
							MRB M
 | 
			
		||||
					) AS SQ ON M.MRBNumber = SQ.MRBNumber
 | 
			
		||||
					LEFT JOIN (
 | 
			
		||||
						SELECT
 | 
			
		||||
							DISTINCT M.MRBNumber,
 | 
			
		||||
							STUFF (
 | 
			
		||||
								(
 | 
			
		||||
									SELECT
 | 
			
		||||
										'/' + CAST(U.FirstName AS varchar(50)) + ' ' + CAST(U.LastName AS varchar(50))
 | 
			
		||||
									FROM
 | 
			
		||||
										Approval A
 | 
			
		||||
										INNER JOIN Users U ON A.UserID = U.UserID
 | 
			
		||||
									WHERE
 | 
			
		||||
										A.IssueID = M.MRBNumber
 | 
			
		||||
										AND ItemStatus = 0 FOR XML PATH('')
 | 
			
		||||
								),
 | 
			
		||||
								1,
 | 
			
		||||
								1,
 | 
			
		||||
								''
 | 
			
		||||
							) AS Names
 | 
			
		||||
						FROM
 | 
			
		||||
							MRB M
 | 
			
		||||
					) AS pdg ON M.MRBNumber = pdg.MRBNumber
 | 
			
		||||
				WHERE
 | 
			
		||||
					A.UserID = @UserID
 | 
			
		||||
					AND (ItemStatus = 0) --List of documents orginated by the user
 | 
			
		||||
				UNION
 | 
			
		||||
				ALL
 | 
			
		||||
				SELECT
 | 
			
		||||
					DISTINCT M.MRBNumber AS IssueID,
 | 
			
		||||
					M.MRBNumber as DocID,
 | 
			
		||||
					M.SubmittedDate AS IssueDate,
 | 
			
		||||
					SQ.LotNo AS LotNos,
 | 
			
		||||
					pdg.Names AS 'PendingApprovers',
 | 
			
		||||
					Title,
 | 
			
		||||
					IssueDescription,
 | 
			
		||||
					U1.FirstName + ' ' + U1.LastName AS Originator,
 | 
			
		||||
					M.SubmittedDate AS SubmitedDate,
 | 
			
		||||
					M.CloseDate AS CloseDate,
 | 
			
		||||
					AP.ItemStatus,
 | 
			
		||||
					NULL AS NextDueDate
 | 
			
		||||
				FROM
 | 
			
		||||
					MRB M
 | 
			
		||||
					INNER JOIN Users U1 ON M.OriginatorID = U1.UserID
 | 
			
		||||
					LEFT JOIN Approval AP ON M.MRBNumber = AP.IssueID
 | 
			
		||||
					LEFT JOIN (
 | 
			
		||||
						SELECT
 | 
			
		||||
							DISTINCT M.MRBNumber,
 | 
			
		||||
							STUFF (
 | 
			
		||||
								(
 | 
			
		||||
									SELECT
 | 
			
		||||
										'/' + CAST(L.LotNumber AS varchar(512))
 | 
			
		||||
									FROM
 | 
			
		||||
										MRBAction L
 | 
			
		||||
									WHERE
 | 
			
		||||
										L.MRBNumber = M.MRBNumber FOR XML PATH('')
 | 
			
		||||
								),
 | 
			
		||||
								1,
 | 
			
		||||
								1,
 | 
			
		||||
								''
 | 
			
		||||
							) AS LotNo
 | 
			
		||||
						FROM
 | 
			
		||||
							MRB M
 | 
			
		||||
					) AS SQ ON M.MRBNumber = SQ.MRBNumber
 | 
			
		||||
					LEFT JOIN (
 | 
			
		||||
						SELECT
 | 
			
		||||
							DISTINCT M.MRBNumber,
 | 
			
		||||
							STUFF (
 | 
			
		||||
								(
 | 
			
		||||
									SELECT
 | 
			
		||||
										'/' + CAST(U.FirstName AS varchar(50)) + ' ' + CAST(U.LastName AS varchar(50))
 | 
			
		||||
									FROM
 | 
			
		||||
										Approval A
 | 
			
		||||
										INNER JOIN Users U ON A.UserID = U.UserID
 | 
			
		||||
									WHERE
 | 
			
		||||
										DocumentTypeID = 2
 | 
			
		||||
										AND A.IssueID = M.MRBNumber
 | 
			
		||||
										AND ItemStatus = 0 FOR XML PATH('')
 | 
			
		||||
								),
 | 
			
		||||
								1,
 | 
			
		||||
								1,
 | 
			
		||||
								''
 | 
			
		||||
							) AS Names
 | 
			
		||||
						FROM
 | 
			
		||||
							MRB M
 | 
			
		||||
					) AS pdg ON M.MRBNumber = pdg.MRBNumber
 | 
			
		||||
				WHERE
 | 
			
		||||
					U1.UserID = @UserID
 | 
			
		||||
					AND AP.DocumentTypeID = 2
 | 
			
		||||
					AND M.MRBNumber NOT IN (
 | 
			
		||||
						SELECT
 | 
			
		||||
							IssueID
 | 
			
		||||
						FROM
 | 
			
		||||
							Approval
 | 
			
		||||
						WHERE
 | 
			
		||||
							IssueID = M.MRBNumber
 | 
			
		||||
							AND ItemStatus = 1
 | 
			
		||||
							AND DocumentTypeID = 2
 | 
			
		||||
					)
 | 
			
		||||
			) AS A
 | 
			
		||||
	)
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										161
									
								
								Programmability/Functions/fn_GetMRBByUserPrev.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										161
									
								
								Programmability/Functions/fn_GetMRBByUserPrev.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,161 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  UserDefinedFunction [dbo].[fn_GetMRBByUserPrev]    Script Date: 11/21/2024 11:31:55 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE FUNCTION [dbo].[fn_GetMRBByUserPrev] (
 | 
			
		||||
		-- Add the parameters for the function here
 | 
			
		||||
		@UserID INT
 | 
			
		||||
	) RETURNS TABLE AS RETURN (
 | 
			
		||||
		-- Add the SELECT statement with parameter references here
 | 
			
		||||
		-- M_Suffix
 | 
			
		||||
		SELECT
 | 
			
		||||
			DISTINCT 'MRB' AS DocumentType,
 | 
			
		||||
			'MRB' AS SubDoc,
 | 
			
		||||
			*
 | 
			
		||||
		FROM
 | 
			
		||||
			(
 | 
			
		||||
				SELECT
 | 
			
		||||
					DISTINCT M.MRBNumber as IssueID,
 | 
			
		||||
					M.MRBRaisedDate AS IssueDate,
 | 
			
		||||
					SQ.LotNo AS LotNos,
 | 
			
		||||
					pdg.Names AS 'PendingApprovers',
 | 
			
		||||
					Title,
 | 
			
		||||
					IssueDescription,
 | 
			
		||||
					U2.FirstName + ' ' + U2.LastName AS Originator,
 | 
			
		||||
					SubmitedDate,
 | 
			
		||||
					CloseDate,
 | 
			
		||||
					A.ItemStatus
 | 
			
		||||
				FROM
 | 
			
		||||
					MRB M
 | 
			
		||||
					INNER JOIN Approval A ON A.IssueID = M.MRBNumber
 | 
			
		||||
					AND DocumentTypeID = 2
 | 
			
		||||
					INNER JOIN Users U2 ON M.Owner = U2.UserID
 | 
			
		||||
					INNER JOIN Users U1 ON A.UserID = U1.UserID
 | 
			
		||||
					LEFT JOIN (
 | 
			
		||||
						SELECT
 | 
			
		||||
							DISTINCT M.MRBNumber,
 | 
			
		||||
							STUFF (
 | 
			
		||||
								(
 | 
			
		||||
									SELECT
 | 
			
		||||
										'/' + CAST(L.LotNumber AS varchar(512))
 | 
			
		||||
									FROM
 | 
			
		||||
										MRBLot L
 | 
			
		||||
									WHERE
 | 
			
		||||
										L.MRBNumber = M.MRBNumber FOR XML PATH('')
 | 
			
		||||
								),
 | 
			
		||||
								1,
 | 
			
		||||
								1,
 | 
			
		||||
								''
 | 
			
		||||
							) AS LotNo
 | 
			
		||||
						FROM
 | 
			
		||||
							MRB M
 | 
			
		||||
					) AS SQ ON M.MRBNumber = SQ.MRBNumber
 | 
			
		||||
					LEFT JOIN (
 | 
			
		||||
						SELECT
 | 
			
		||||
							DISTINCT M.MRBNumber,
 | 
			
		||||
							STUFF (
 | 
			
		||||
								(
 | 
			
		||||
									SELECT
 | 
			
		||||
										'/' + CAST(U.FirstName AS varchar(50)) + ' ' + CAST(U.LastName AS varchar(50))
 | 
			
		||||
									FROM
 | 
			
		||||
										Approval A
 | 
			
		||||
										INNER JOIN Users U ON A.UserID = U.UserID
 | 
			
		||||
									WHERE
 | 
			
		||||
										DocumentTypeID = 2
 | 
			
		||||
										AND A.IssueID = M.MRBNumber
 | 
			
		||||
										AND ItemStatus = 0 FOR XML PATH('')
 | 
			
		||||
								),
 | 
			
		||||
								1,
 | 
			
		||||
								1,
 | 
			
		||||
								''
 | 
			
		||||
							) AS Names
 | 
			
		||||
						FROM
 | 
			
		||||
							MRB M
 | 
			
		||||
					) AS pdg ON M.MRBNumber = pdg.MRBNumber
 | 
			
		||||
				WHERE
 | 
			
		||||
					A.UserID = @UserID
 | 
			
		||||
					AND (ItemStatus = 0) --List of documents orginated by the user
 | 
			
		||||
				UNION
 | 
			
		||||
				ALL
 | 
			
		||||
				SELECT
 | 
			
		||||
					DISTINCT M.MRBNumber AS IssueID,
 | 
			
		||||
					M.MRBRaisedDate AS IssueDate,
 | 
			
		||||
					SQ.LotNo AS LotNos,
 | 
			
		||||
					pdg.Names AS 'PendingApprovers',
 | 
			
		||||
					Title,
 | 
			
		||||
					IssueDescription,
 | 
			
		||||
					U1.FirstName + ' ' + U1.LastName AS Originator,
 | 
			
		||||
					M.SubmitedDate AS SubmitedDate,
 | 
			
		||||
					M.CloseDate AS CloseDate,
 | 
			
		||||
					AP.ItemStatus
 | 
			
		||||
				FROM
 | 
			
		||||
					MRB M
 | 
			
		||||
					INNER JOIN Users U1 ON M.Owner = U1.UserID
 | 
			
		||||
					LEFT JOIN Approval AP ON M.MRBNumber = AP.IssueID
 | 
			
		||||
					LEFT JOIN (
 | 
			
		||||
						SELECT
 | 
			
		||||
							DISTINCT M.MRBNumber,
 | 
			
		||||
							STUFF (
 | 
			
		||||
								(
 | 
			
		||||
									SELECT
 | 
			
		||||
										'/' + CAST(L.LotNumber AS varchar(512))
 | 
			
		||||
									FROM
 | 
			
		||||
										MRBLot L
 | 
			
		||||
									WHERE
 | 
			
		||||
										L.MRBNumber = M.MRBNumber FOR XML PATH('')
 | 
			
		||||
								),
 | 
			
		||||
								1,
 | 
			
		||||
								1,
 | 
			
		||||
								''
 | 
			
		||||
							) AS LotNo
 | 
			
		||||
						FROM
 | 
			
		||||
							MRB M
 | 
			
		||||
					) AS SQ ON M.MRBNumber = SQ.MRBNumber
 | 
			
		||||
					LEFT JOIN (
 | 
			
		||||
						SELECT
 | 
			
		||||
							DISTINCT M.MRBNumber,
 | 
			
		||||
							STUFF (
 | 
			
		||||
								(
 | 
			
		||||
									SELECT
 | 
			
		||||
										'/' + CAST(U.FirstName AS varchar(50)) + ' ' + CAST(U.LastName AS varchar(50))
 | 
			
		||||
									FROM
 | 
			
		||||
										Approval A
 | 
			
		||||
										INNER JOIN Users U ON A.UserID = U.UserID
 | 
			
		||||
									WHERE
 | 
			
		||||
										DocumentTypeID = 2
 | 
			
		||||
										AND A.IssueID = M.MRBNumber
 | 
			
		||||
										AND ItemStatus = 0 FOR XML PATH('')
 | 
			
		||||
								),
 | 
			
		||||
								1,
 | 
			
		||||
								1,
 | 
			
		||||
								''
 | 
			
		||||
							) AS Names
 | 
			
		||||
						FROM
 | 
			
		||||
							MRB M
 | 
			
		||||
					) AS pdg ON M.MRBNumber = pdg.MRBNumber
 | 
			
		||||
				WHERE
 | 
			
		||||
					U1.UserID = @UserID
 | 
			
		||||
					AND AP.DocumentTypeID = 2
 | 
			
		||||
					AND M.MRBNumber NOT IN (
 | 
			
		||||
						SELECT
 | 
			
		||||
							IssueID
 | 
			
		||||
						FROM
 | 
			
		||||
							Approval
 | 
			
		||||
						WHERE
 | 
			
		||||
							IssueID = M.MRBNumber
 | 
			
		||||
							AND ItemStatus = 1
 | 
			
		||||
							AND DocumentTypeID = 2
 | 
			
		||||
					)
 | 
			
		||||
			) AS A
 | 
			
		||||
	)
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										76
									
								
								Programmability/Functions/fn_GetMRBs.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										76
									
								
								Programmability/Functions/fn_GetMRBs.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,76 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
    /****** Object:  UserDefinedFunction [dbo].[fn_GetMRBs]    Script Date: 11/21/2024 11:31:55 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
    ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
    QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
    -- =============================================
 | 
			
		||||
    -- Author:		<Author,,Name>
 | 
			
		||||
    -- Create date: <Create Date,,>
 | 
			
		||||
    -- Description:	<Description,,>
 | 
			
		||||
    -- =============================================
 | 
			
		||||
    CREATE FUNCTION [dbo].[fn_GetMRBs] () RETURNS TABLE AS RETURN (
 | 
			
		||||
        -- Add the SELECT statement with parameter references here
 | 
			
		||||
        -- M_Suffix
 | 
			
		||||
        SELECT
 | 
			
		||||
            'MRB' AS DocumentType,
 | 
			
		||||
            'MRB' AS SubDoc,
 | 
			
		||||
            M.MRBNumber AS IssueID,
 | 
			
		||||
            M.MRBNumber AS DocID,
 | 
			
		||||
            M.SubmittedDate IssueDate,
 | 
			
		||||
            SQ.LotNo AS LotNos,
 | 
			
		||||
            pdg.Names AS 'PendingApprovers',
 | 
			
		||||
            Title,
 | 
			
		||||
            M.IssueDescription,
 | 
			
		||||
            U.FirstName + ' ' + U.LastName AS Originator,
 | 
			
		||||
            SubmittedDate,
 | 
			
		||||
            CloseDate
 | 
			
		||||
        FROM
 | 
			
		||||
            MRB M
 | 
			
		||||
            LEFT JOIN Users U ON M.OriginatorID = U.UserID
 | 
			
		||||
            LEFT JOIN (
 | 
			
		||||
                SELECT
 | 
			
		||||
                    DISTINCT M.MRBNumber,
 | 
			
		||||
                    STUFF (
 | 
			
		||||
                        (
 | 
			
		||||
                            SELECT
 | 
			
		||||
                                '/' + CAST(L.LotNumber AS varchar(512))
 | 
			
		||||
                            FROM
 | 
			
		||||
                                MRBLot L
 | 
			
		||||
                            WHERE
 | 
			
		||||
                                L.MRBNumber = M.MRBNumber FOR XML PATH('')
 | 
			
		||||
                        ),
 | 
			
		||||
                        1,
 | 
			
		||||
                        1,
 | 
			
		||||
                        ''
 | 
			
		||||
                    ) AS LotNo
 | 
			
		||||
                FROM
 | 
			
		||||
                    MRB M
 | 
			
		||||
            ) AS SQ ON m.MRBNumber = SQ.MRBNumber
 | 
			
		||||
            LEFT JOIN (
 | 
			
		||||
                SELECT
 | 
			
		||||
                    DISTINCT m.MRBNumber,
 | 
			
		||||
                    STUFF (
 | 
			
		||||
                        (
 | 
			
		||||
                            SELECT
 | 
			
		||||
                                '/' + CAST(U.FirstName AS varchar(50)) + ' ' + CAST(U.LastName AS varchar(50))
 | 
			
		||||
                            FROM
 | 
			
		||||
                                Approval A
 | 
			
		||||
                                INNER JOIN Users U ON A.UserID = U.UserID
 | 
			
		||||
                            WHERE
 | 
			
		||||
                                A.DocumentTypeID = 2
 | 
			
		||||
                                AND A.IssueID = m.MRBNumber
 | 
			
		||||
                                AND ItemStatus = 0 FOR XML PATH('')
 | 
			
		||||
                        ),
 | 
			
		||||
                        1,
 | 
			
		||||
                        1,
 | 
			
		||||
                        ''
 | 
			
		||||
                    ) AS Names
 | 
			
		||||
                FROM
 | 
			
		||||
                    MRB m
 | 
			
		||||
            ) AS pdg ON M.MRBNumber = pdg.MRBNumber
 | 
			
		||||
    )
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										45
									
								
								Programmability/Functions/fn_GetMeetingAI_Responsibles.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								Programmability/Functions/fn_GetMeetingAI_Responsibles.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,45 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  UserDefinedFunction [dbo].[fn_GetMeetingAI_Responsibles]    Script Date: 11/21/2024 11:31:55 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE FUNCTION [dbo].[fn_GetMeetingAI_Responsibles] (
 | 
			
		||||
		-- Add the parameters for the function here
 | 
			
		||||
	) RETURNS TABLE AS RETURN (
 | 
			
		||||
		-- Add the SELECT statement with parameter references here
 | 
			
		||||
		SELECT
 | 
			
		||||
			DISTINCT AI.ID AS MeetingActionItemID,
 | 
			
		||||
			STUFF (
 | 
			
		||||
				(
 | 
			
		||||
					SELECT
 | 
			
		||||
						', ' + LTRIM(
 | 
			
		||||
							RTRIM(
 | 
			
		||||
								CAST(U.FirstName + ' ' + U.LastName AS VARCHAR(50))
 | 
			
		||||
							)
 | 
			
		||||
						)
 | 
			
		||||
					FROM
 | 
			
		||||
						CCMeetingActionItemResponsible AIR
 | 
			
		||||
						INNER JOIN Users U ON AIR.ActionItemResponsible = U.UserID
 | 
			
		||||
					WHERE
 | 
			
		||||
						AI.ID = AIR.MeetingActionItemID
 | 
			
		||||
						AND AI.ClosedDate IS NULL FOR XML PATH('')
 | 
			
		||||
				),
 | 
			
		||||
				1,
 | 
			
		||||
				1,
 | 
			
		||||
				''
 | 
			
		||||
			) AS Responsibles
 | 
			
		||||
		FROM
 | 
			
		||||
			CCMeetingActionItem AI
 | 
			
		||||
		WHERE
 | 
			
		||||
			AI.ClosedDate IS NOT NULL
 | 
			
		||||
	)
 | 
			
		||||
GO
 | 
			
		||||
@ -0,0 +1,43 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  UserDefinedFunction [dbo].[fn_GetMeetingAI_Responsibles_ByCC]    Script Date: 11/21/2024 11:31:55 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE FUNCTION [dbo].[fn_GetMeetingAI_Responsibles_ByCC] (
 | 
			
		||||
		-- Add the parameters for the function here
 | 
			
		||||
	) RETURNS TABLE AS RETURN (
 | 
			
		||||
		-- Add the SELECT statement with parameter references here
 | 
			
		||||
		SELECT
 | 
			
		||||
			DISTINCT M.MeetingID,
 | 
			
		||||
			STUFF (
 | 
			
		||||
				(
 | 
			
		||||
					SELECT
 | 
			
		||||
						', ' + LTRIM(
 | 
			
		||||
							RTRIM(
 | 
			
		||||
								CAST(U.FirstName + ' ' + U.LastName AS VARCHAR(50))
 | 
			
		||||
							)
 | 
			
		||||
						)
 | 
			
		||||
					FROM
 | 
			
		||||
						vCCMeetingActionResponsible AIR
 | 
			
		||||
						INNER JOIN Users U ON AIR.ActionItemResponsible = U.UserID
 | 
			
		||||
						INNER JOIN CCMeeting CM ON CM.MeetingID = AIR.MeetingID
 | 
			
		||||
					WHERE
 | 
			
		||||
						M.meetingID = AIR.MeetingID FOR XML PATH('')
 | 
			
		||||
				),
 | 
			
		||||
				1,
 | 
			
		||||
				1,
 | 
			
		||||
				''
 | 
			
		||||
			) AS Responsibles
 | 
			
		||||
		FROM
 | 
			
		||||
			CCMeeting M
 | 
			
		||||
	)
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										30
									
								
								Programmability/Functions/fn_GetPRs.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								Programmability/Functions/fn_GetPRs.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,30 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  UserDefinedFunction [dbo].[fn_GetPRs]    Script Date: 11/21/2024 11:31:55 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	CREATE FUNCTION [dbo].[fn_GetPRs]() RETURNS TABLE AS RETURN (
 | 
			
		||||
		SELECT
 | 
			
		||||
			'PartsRequest' AS DocumentType,
 | 
			
		||||
			'PR' AS SubDoc,
 | 
			
		||||
			PR.PRNumber AS IssueID,
 | 
			
		||||
			PR.PRNumber AS DocID,
 | 
			
		||||
			CreateDate AS IssueDate,
 | 
			
		||||
			'' AS LotNos,
 | 
			
		||||
			dbo.fnGetApprovalFullNames(PR.PRNumber, 10, ' / ', 0, 1, 1, 0, 0) AS 'PendingApprovers',
 | 
			
		||||
			Title,
 | 
			
		||||
			Description AS IssueDescription,
 | 
			
		||||
			U1.FirstName + ' ' + U1.LastName AS Originator,
 | 
			
		||||
			SubmitDate AS SubmitedDate,
 | 
			
		||||
			CloseDate
 | 
			
		||||
		FROM
 | 
			
		||||
			PartsRequest PR
 | 
			
		||||
			INNER JOIN Users U1 ON PR.RequestorID = U1.UserID
 | 
			
		||||
		WHERE
 | 
			
		||||
			CurrentStep >= 0
 | 
			
		||||
	)
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										47
									
								
								Programmability/Functions/fn_GetPRsByUser.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								Programmability/Functions/fn_GetPRsByUser.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,47 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  UserDefinedFunction [dbo].[fn_GetPRsByUser]    Script Date: 11/21/2024 11:31:55 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	CREATE FUNCTION [dbo].[fn_GetPRsByUser] (@UserID INT) RETURNS TABLE AS RETURN (
 | 
			
		||||
		SELECT
 | 
			
		||||
			DISTINCT 'PartsRequest' AS DocumentType,
 | 
			
		||||
			*
 | 
			
		||||
		FROM
 | 
			
		||||
			(
 | 
			
		||||
				SELECT
 | 
			
		||||
					'Parts Request' AS SubDoc,
 | 
			
		||||
					PR.PRNumber AS IssueID,
 | 
			
		||||
					PR.PRNumber AS DocID,
 | 
			
		||||
					CreateDate AS IssueDate,
 | 
			
		||||
					'' AS LotNos,
 | 
			
		||||
					dbo.fnGetApprovalFullNames(PR.PRNumber, 10, ' / ', 0, 1, 1, 0, 0) AS 'PendingApprovers',
 | 
			
		||||
					Title,
 | 
			
		||||
					Description AS IssueDescription,
 | 
			
		||||
					U1.FirstName + ' ' + U1.LastName AS Originator,
 | 
			
		||||
					SubmitDate AS SubmitedDate,
 | 
			
		||||
					CloseDate,
 | 
			
		||||
					A.ItemStatus,
 | 
			
		||||
					NULL AS NextDueDate
 | 
			
		||||
				FROM
 | 
			
		||||
					PartsRequest PR
 | 
			
		||||
					INNER JOIN Approval A ON A.IssueID = PR.PRNumber
 | 
			
		||||
					AND A.DocumentTypeID = 10 --INNER JOIN Users U2 ON PR.OriginatorID = U2.UserID 
 | 
			
		||||
					INNER JOIN Users U1 ON PR.RequestorID = U1.UserID
 | 
			
		||||
				WHERE
 | 
			
		||||
					(A.UserID = @UserID)
 | 
			
		||||
					AND (
 | 
			
		||||
						ItemStatus = 0
 | 
			
		||||
						OR (
 | 
			
		||||
							ItemStatus = 2
 | 
			
		||||
							AND DisplayDeniedDocument = 1
 | 
			
		||||
						)
 | 
			
		||||
					)
 | 
			
		||||
					AND CurrentStep >= 0
 | 
			
		||||
			) AS A
 | 
			
		||||
	)
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										48
									
								
								Programmability/Functions/fn_GetRole_MSuffix.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								Programmability/Functions/fn_GetRole_MSuffix.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,48 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  UserDefinedFunction [dbo].[fn_GetRole_MSuffix]    Script Date: 11/21/2024 11:31:55 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE FUNCTION [dbo].[fn_GetRole_MSuffix] (
 | 
			
		||||
		-- Add the parameters for the function here
 | 
			
		||||
		@IssueID INT,
 | 
			
		||||
		@CurrentDate DATETIME
 | 
			
		||||
	) RETURNS TABLE AS RETURN (
 | 
			
		||||
		-- Add the SELECT statement with parameter references here
 | 
			
		||||
		-- M_Suffix
 | 
			
		||||
		SELECT
 | 
			
		||||
			DISTINCT Ld.IssueID,
 | 
			
		||||
			R.RoleName,
 | 
			
		||||
			SRC.SubRoleCategoryItem AS 'SubRole',
 | 
			
		||||
			U.UserID,
 | 
			
		||||
			SR.SubRoleID,
 | 
			
		||||
			0 AS 'ItemStatus',
 | 
			
		||||
			WS.WorkflowStepNumber AS 'Step',
 | 
			
		||||
			@CurrentDate AS 'AssignedDate',
 | 
			
		||||
			@CurrentDate AS 'NotifyDate',
 | 
			
		||||
			@CurrentDate AS 'RoleAssignedDate',
 | 
			
		||||
			1 AS ApprovalType
 | 
			
		||||
		FROM
 | 
			
		||||
			LotDisposition LD
 | 
			
		||||
			INNER JOIN WorkflowSteps WS ON LD.CurrentStep = WS.WorkflowStepNumber
 | 
			
		||||
			INNER JOIN Role R ON WS.RoleID = R.RoleID
 | 
			
		||||
			INNER JOIN SubRole SR ON R.RoleID = SR.RoleID
 | 
			
		||||
			INNER JOIN SubRoleCategory SRC ON SR.SubRoleCategoryID = SRC.SubRoleCategoryID
 | 
			
		||||
			INNER JOIN Lot L ON LD.IssueID = L.IssueID
 | 
			
		||||
			INNER JOIN UserSubRole USR ON SR.SubRoleID = USR.SubRoleID
 | 
			
		||||
			INNER JOIN Users U ON U.UserID = USR.UserID
 | 
			
		||||
			INNER JOIN LotStatusOption LSO ON L.LotStatusOptionID = LSO.LotStatusOptionID
 | 
			
		||||
		WHERE
 | 
			
		||||
			LD.IssueID = @IssueID
 | 
			
		||||
			AND LSO.LotStatusOption = SRC.SubRoleCategoryItem
 | 
			
		||||
	)
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										40
									
								
								Programmability/Functions/fn_IsECNITAR.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								Programmability/Functions/fn_IsECNITAR.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,40 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  UserDefinedFunction [dbo].[fn_IsECNITAR]    Script Date: 11/21/2024 11:31:55 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date, ,>
 | 
			
		||||
	-- Description:	<Description, ,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE FUNCTION [dbo].[fn_IsECNITAR] (
 | 
			
		||||
		-- Add the parameters for the function here
 | 
			
		||||
		@ECNNumber INT
 | 
			
		||||
	) RETURNS INT AS BEGIN -- Declare the return variable here
 | 
			
		||||
	DECLARE @Count INT -- Add the T-SQL statements to compute the return value here
 | 
			
		||||
SET
 | 
			
		||||
	@Count = (
 | 
			
		||||
		SELECT
 | 
			
		||||
			COUNT(*)
 | 
			
		||||
		FROM
 | 
			
		||||
			ECN E
 | 
			
		||||
		WHERE
 | 
			
		||||
			(
 | 
			
		||||
				(
 | 
			
		||||
					E.IsRH = 1
 | 
			
		||||
					AND E.IsAU = 0
 | 
			
		||||
					AND E.IsIndustrial = 0
 | 
			
		||||
					AND E.IsMA = 0
 | 
			
		||||
				)
 | 
			
		||||
				OR (IsDocEC = 1)
 | 
			
		||||
			)
 | 
			
		||||
			AND E.ECNNumber = @ECNNumber
 | 
			
		||||
	) -- Return the result of the function
 | 
			
		||||
	RETURN @Count
 | 
			
		||||
END
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										29
									
								
								Programmability/Stored Procedures/AddUserToTrainingGroup.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								Programmability/Stored Procedures/AddUserToTrainingGroup.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,29 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  StoredProcedure [dbo].[AddUserToTrainingGroup]    Script Date: 11/21/2024 11:29:04 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE PROCEDURE [dbo].[AddUserToTrainingGroup] -- Add the parameters for the stored procedure here
 | 
			
		||||
	@GroupID INT,
 | 
			
		||||
	@UserID INT,
 | 
			
		||||
	@UserFullName VARCHAR(150) AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from
 | 
			
		||||
	-- interfering with SELECT statements.
 | 
			
		||||
SET
 | 
			
		||||
	NOCOUNT ON;
 | 
			
		||||
 | 
			
		||||
-- Insert statements for procedure here
 | 
			
		||||
INSERT INTO
 | 
			
		||||
	TrainingGroupMembers (TrainingGroupID, UserID, FullName)
 | 
			
		||||
VALUES
 | 
			
		||||
	(@GroupID, @UserID, @UserFullName)
 | 
			
		||||
END
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										329
									
								
								Programmability/Stored Procedures/AnalyzeLotAncestry.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										329
									
								
								Programmability/Stored Procedures/AnalyzeLotAncestry.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,329 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  StoredProcedure [dbo].[AnalyzeLotAncestry]    Script Date: 11/21/2024 11:29:04 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	CREATE PROCEDURE [dbo].[AnalyzeLotAncestry] @LotNo varchar(20),
 | 
			
		||||
	@IncidentTime datetime = NULL,
 | 
			
		||||
	@LogIssueID int = NULL,
 | 
			
		||||
	@LogDocumentType int = NULL,
 | 
			
		||||
	@LogParms xml = NULL,
 | 
			
		||||
	@AnalysisType CHAR(1) = NULL AS BEGIN
 | 
			
		||||
SET
 | 
			
		||||
	NOCOUNT ON DECLARE @RootLotNo varchar(20) = @LotNo DECLARE @IncidentLotNo varchar(20) = @LotNo IF @LotNo LIKE '%.%' BEGIN
 | 
			
		||||
SET
 | 
			
		||||
	@RootLotNo = LEFT(@LotNo, CHARINDEX('.', @LotNo)) + '1'
 | 
			
		||||
SET
 | 
			
		||||
	@IncidentLotNo = @LotNo
 | 
			
		||||
END DECLARE @sql nvarchar(max) DECLARE @lots TABLE(LotNo varchar(20), Queried bit) DECLARE @results TABLE(
 | 
			
		||||
	[WT_RECORD_CODE] [varchar](2) NULL,
 | 
			
		||||
	[WT_LOT_NO] [varchar](10) NULL,
 | 
			
		||||
	[WT_ACTION_DATE] [varchar](14) NULL,
 | 
			
		||||
	[WT_LOT_1] [varchar](10) NULL,
 | 
			
		||||
	[WT_LOT_2] [varchar](10) NULL,
 | 
			
		||||
	[WT_LOT_3] [varchar](10) NULL,
 | 
			
		||||
	[WT_LOT__4] [varchar](10) NULL,
 | 
			
		||||
	[WT_LOT_5] [varchar](10) NULL
 | 
			
		||||
) DECLARE @transaction TABLE(
 | 
			
		||||
	[WT_RECORD_CODE] [varchar](2) NULL,
 | 
			
		||||
	[WT_LOT_NO] [varchar](10) NULL,
 | 
			
		||||
	[WT_ACTION_DATE] [varchar](14) NULL,
 | 
			
		||||
	[WT_LOT_TARGET] [varchar](10) NULL
 | 
			
		||||
) DECLARE @finalresults TABLE(
 | 
			
		||||
	[ID] [int] NOT NULL IDENTITY(1, 1),
 | 
			
		||||
	[ParentLotNo] [varchar](20) NOT NULL,
 | 
			
		||||
	[LotNo] [varchar](20) NOT NULL,
 | 
			
		||||
	[ActionTime] [datetime] NOT NULL,
 | 
			
		||||
	[ActionType] [varchar](2) NOT NULL,
 | 
			
		||||
	[IsAffected] bit NULL
 | 
			
		||||
) --INSERT INTO @lots(LotNo, Queried) VALUES (@RootLotNo, 0)
 | 
			
		||||
INSERT INTO
 | 
			
		||||
	@lots(LotNo, Queried)
 | 
			
		||||
VALUES
 | 
			
		||||
	(@IncidentLotNo, 0) WHILE EXISTS (
 | 
			
		||||
		SELECT
 | 
			
		||||
			1
 | 
			
		||||
		FROM
 | 
			
		||||
			@lots
 | 
			
		||||
		WHERE
 | 
			
		||||
			Queried = 0
 | 
			
		||||
	) BEGIN
 | 
			
		||||
SELECT
 | 
			
		||||
	TOP 1 @LotNo = LotNo
 | 
			
		||||
FROM
 | 
			
		||||
	@lots
 | 
			
		||||
WHERE
 | 
			
		||||
	Queried = 0
 | 
			
		||||
SET
 | 
			
		||||
	@sql = FORMATMESSAGE(
 | 
			
		||||
		'SELECT * FROM OPENQUERY(FAB2SPN, ' + '''SELECT WT_RECORD_CODE, WT_LOT_NO, WT_ACTION_DATE, WT_LOT_1, WT_LOT_2, WT_LOT_3, WT_LOT__4, WT_LOT_5 ' + 'FROM WT_RECORD ' + 'WHERE WT_WP_DIRECT_KEY = ''''3002%s '''' AND WT_RECORD_CODE IN (''''SP'''',''''CB'''')'') ',
 | 
			
		||||
		@LotNo
 | 
			
		||||
	)
 | 
			
		||||
DELETE FROM
 | 
			
		||||
	@results
 | 
			
		||||
INSERT INTO
 | 
			
		||||
	@results EXEC sp_executesql @sql
 | 
			
		||||
DELETE FROM
 | 
			
		||||
	@transaction
 | 
			
		||||
INSERT INTO
 | 
			
		||||
	@transaction(
 | 
			
		||||
		[WT_RECORD_CODE],
 | 
			
		||||
		[WT_LOT_NO],
 | 
			
		||||
		[WT_ACTION_DATE],
 | 
			
		||||
		[WT_LOT_TARGET]
 | 
			
		||||
	)
 | 
			
		||||
SELECT
 | 
			
		||||
	[WT_RECORD_CODE],
 | 
			
		||||
	[WT_LOT_NO],
 | 
			
		||||
	[WT_ACTION_DATE],
 | 
			
		||||
	[WT_LOT_TARGET]
 | 
			
		||||
FROM
 | 
			
		||||
	(
 | 
			
		||||
		SELECT
 | 
			
		||||
			[WT_RECORD_CODE],
 | 
			
		||||
			[WT_LOT_NO],
 | 
			
		||||
			[WT_ACTION_DATE],
 | 
			
		||||
			WT_LOT_1 AS [WT_LOT_TARGET]
 | 
			
		||||
		FROM
 | 
			
		||||
			@results
 | 
			
		||||
		UNION
 | 
			
		||||
		SELECT
 | 
			
		||||
			[WT_RECORD_CODE],
 | 
			
		||||
			[WT_LOT_NO],
 | 
			
		||||
			[WT_ACTION_DATE],
 | 
			
		||||
			WT_LOT_2 AS [WT_LOT_TARGET]
 | 
			
		||||
		FROM
 | 
			
		||||
			@results
 | 
			
		||||
		UNION
 | 
			
		||||
		SELECT
 | 
			
		||||
			[WT_RECORD_CODE],
 | 
			
		||||
			[WT_LOT_NO],
 | 
			
		||||
			[WT_ACTION_DATE],
 | 
			
		||||
			WT_LOT_3 AS [WT_LOT_TARGET]
 | 
			
		||||
		FROM
 | 
			
		||||
			@results
 | 
			
		||||
		UNION
 | 
			
		||||
		SELECT
 | 
			
		||||
			[WT_RECORD_CODE],
 | 
			
		||||
			[WT_LOT_NO],
 | 
			
		||||
			[WT_ACTION_DATE],
 | 
			
		||||
			WT_LOT__4 AS [WT_LOT_TARGET]
 | 
			
		||||
		FROM
 | 
			
		||||
			@results
 | 
			
		||||
		UNION
 | 
			
		||||
		SELECT
 | 
			
		||||
			[WT_RECORD_CODE],
 | 
			
		||||
			[WT_LOT_NO],
 | 
			
		||||
			[WT_ACTION_DATE],
 | 
			
		||||
			WT_LOT_5 AS [WT_LOT_TARGET]
 | 
			
		||||
		FROM
 | 
			
		||||
			@results
 | 
			
		||||
	) subtable
 | 
			
		||||
WHERE
 | 
			
		||||
	[WT_LOT_TARGET] <> ''
 | 
			
		||||
INSERT INTO
 | 
			
		||||
	@lots(LotNo, Queried)
 | 
			
		||||
SELECT
 | 
			
		||||
	DISTINCT WT_LOT_TARGET,
 | 
			
		||||
	0
 | 
			
		||||
FROM
 | 
			
		||||
	@transaction
 | 
			
		||||
WHERE
 | 
			
		||||
	NOT EXISTS (
 | 
			
		||||
		SELECT
 | 
			
		||||
			1
 | 
			
		||||
		FROM
 | 
			
		||||
			@lots l
 | 
			
		||||
		WHERE
 | 
			
		||||
			l.LotNo = WT_LOT_TARGET
 | 
			
		||||
	)
 | 
			
		||||
UPDATE
 | 
			
		||||
	@lots
 | 
			
		||||
SET
 | 
			
		||||
	Queried = 1
 | 
			
		||||
WHERE
 | 
			
		||||
	LotNo = @LotNo
 | 
			
		||||
INSERT INTO
 | 
			
		||||
	@finalresults(
 | 
			
		||||
		[ParentLotNo],
 | 
			
		||||
		[LotNo],
 | 
			
		||||
		[ActionTime],
 | 
			
		||||
		[ActionType]
 | 
			
		||||
	)
 | 
			
		||||
SELECT
 | 
			
		||||
	RTRIM(WT_LOT_NO),
 | 
			
		||||
	RTRIM(WT_LOT_TARGET),
 | 
			
		||||
	CONVERT(
 | 
			
		||||
		datetime,
 | 
			
		||||
		STUFF(
 | 
			
		||||
			STUFF(
 | 
			
		||||
				STUFF(
 | 
			
		||||
					STUFF(STUFF(WT_ACTION_DATE, 5, 0, '-'), 8, 0, '-'),
 | 
			
		||||
					11,
 | 
			
		||||
					0,
 | 
			
		||||
					' '
 | 
			
		||||
				),
 | 
			
		||||
				14,
 | 
			
		||||
				0,
 | 
			
		||||
				':'
 | 
			
		||||
			),
 | 
			
		||||
			17,
 | 
			
		||||
			0,
 | 
			
		||||
			':'
 | 
			
		||||
		),
 | 
			
		||||
		20
 | 
			
		||||
	),
 | 
			
		||||
	WT_RECORD_CODE
 | 
			
		||||
FROM
 | 
			
		||||
	@transaction
 | 
			
		||||
WHERE
 | 
			
		||||
	WT_RECORD_CODE = 'SP'
 | 
			
		||||
INSERT INTO
 | 
			
		||||
	@finalresults(
 | 
			
		||||
		[ParentLotNo],
 | 
			
		||||
		[LotNo],
 | 
			
		||||
		[ActionTime],
 | 
			
		||||
		[ActionType]
 | 
			
		||||
	)
 | 
			
		||||
SELECT
 | 
			
		||||
	RTRIM(WT_LOT_TARGET),
 | 
			
		||||
	RTRIM(WT_LOT_NO),
 | 
			
		||||
	CONVERT(
 | 
			
		||||
		datetime,
 | 
			
		||||
		STUFF(
 | 
			
		||||
			STUFF(
 | 
			
		||||
				STUFF(
 | 
			
		||||
					STUFF(STUFF(WT_ACTION_DATE, 5, 0, '-'), 8, 0, '-'),
 | 
			
		||||
					11,
 | 
			
		||||
					0,
 | 
			
		||||
					' '
 | 
			
		||||
				),
 | 
			
		||||
				14,
 | 
			
		||||
				0,
 | 
			
		||||
				':'
 | 
			
		||||
			),
 | 
			
		||||
			17,
 | 
			
		||||
			0,
 | 
			
		||||
			':'
 | 
			
		||||
		),
 | 
			
		||||
		20
 | 
			
		||||
	),
 | 
			
		||||
	WT_RECORD_CODE
 | 
			
		||||
FROM
 | 
			
		||||
	@transaction
 | 
			
		||||
WHERE
 | 
			
		||||
	WT_RECORD_CODE = 'CB'
 | 
			
		||||
END;
 | 
			
		||||
 | 
			
		||||
WITH relevantresults as (
 | 
			
		||||
	SELECT
 | 
			
		||||
		*
 | 
			
		||||
	FROM
 | 
			
		||||
		@finalresults
 | 
			
		||||
	WHERE
 | 
			
		||||
		(ActionTime >= @IncidentTime)
 | 
			
		||||
		OR (@IncidentTime IS NULL)
 | 
			
		||||
),
 | 
			
		||||
affectedlots as (
 | 
			
		||||
	SELECT
 | 
			
		||||
		ID,
 | 
			
		||||
		ParentLotNo,
 | 
			
		||||
		LotNo,
 | 
			
		||||
		ActionTime
 | 
			
		||||
	FROM
 | 
			
		||||
		relevantresults
 | 
			
		||||
	WHERE
 | 
			
		||||
		ParentLotNo = @IncidentLotNo
 | 
			
		||||
	UNION
 | 
			
		||||
	ALL
 | 
			
		||||
	SELECT
 | 
			
		||||
		rr.ID,
 | 
			
		||||
		rr.ParentLotNo,
 | 
			
		||||
		rr.LotNo,
 | 
			
		||||
		rr.ActionTime
 | 
			
		||||
	FROM
 | 
			
		||||
		affectedlots
 | 
			
		||||
		INNER JOIN relevantresults rr ON rr.ParentLotNo = affectedlots.LotNo
 | 
			
		||||
		AND rr.ActionTime > affectedlots.ActionTime
 | 
			
		||||
)
 | 
			
		||||
UPDATE
 | 
			
		||||
	@finalresults
 | 
			
		||||
SET
 | 
			
		||||
	IsAffected = 1
 | 
			
		||||
WHERE
 | 
			
		||||
	ID IN (
 | 
			
		||||
		SELECT
 | 
			
		||||
			ID
 | 
			
		||||
		FROM
 | 
			
		||||
			affectedlots
 | 
			
		||||
	)
 | 
			
		||||
UPDATE
 | 
			
		||||
	@finalresults
 | 
			
		||||
SET
 | 
			
		||||
	IsAffected = 1
 | 
			
		||||
WHERE
 | 
			
		||||
	LotNo = @IncidentLotNo
 | 
			
		||||
INSERT INTO
 | 
			
		||||
	@finalresults(
 | 
			
		||||
		ParentLotNo,
 | 
			
		||||
		LotNo,
 | 
			
		||||
		ActionTime,
 | 
			
		||||
		ActionType,
 | 
			
		||||
		IsAffected
 | 
			
		||||
	)
 | 
			
		||||
SELECT
 | 
			
		||||
	'',
 | 
			
		||||
	@IncidentLotNo,
 | 
			
		||||
	'01/01/2001',
 | 
			
		||||
	'',
 | 
			
		||||
	1
 | 
			
		||||
WHERE
 | 
			
		||||
	NOT EXISTS (
 | 
			
		||||
		SELECT
 | 
			
		||||
			1
 | 
			
		||||
		FROM
 | 
			
		||||
			@finalresults
 | 
			
		||||
		WHERE
 | 
			
		||||
			LotNo = @IncidentLotNo
 | 
			
		||||
			AND IsAffected = 1
 | 
			
		||||
	)
 | 
			
		||||
SELECT
 | 
			
		||||
	*
 | 
			
		||||
FROM
 | 
			
		||||
	@finalresults
 | 
			
		||||
ORDER BY
 | 
			
		||||
	ActionTime IF @LogIssueID IS NOT NULL
 | 
			
		||||
	AND @LogDocumentType IS NOT NULL BEGIN
 | 
			
		||||
INSERT INTO
 | 
			
		||||
	LotSplitAnalysisLog(
 | 
			
		||||
		[IssueID],
 | 
			
		||||
		[DocumentType],
 | 
			
		||||
		[LotNumber],
 | 
			
		||||
		AnalysisType,
 | 
			
		||||
		[AnalysisTime],
 | 
			
		||||
		[AnalysisData]
 | 
			
		||||
	)
 | 
			
		||||
SELECT
 | 
			
		||||
	@LogIssueID,
 | 
			
		||||
	@LogDocumentType,
 | 
			
		||||
	@LotNo,
 | 
			
		||||
	@AnalysisType,
 | 
			
		||||
	GETDATE(),
 | 
			
		||||
	(
 | 
			
		||||
		SELECT
 | 
			
		||||
			@LogParms AS 'parms',
 | 
			
		||||
			(
 | 
			
		||||
				SELECT
 | 
			
		||||
					*
 | 
			
		||||
				FROM
 | 
			
		||||
					@finalresults FOR XML PATH('results'),
 | 
			
		||||
					TYPE
 | 
			
		||||
			) FOR XML PATH('log')
 | 
			
		||||
	)
 | 
			
		||||
END
 | 
			
		||||
END
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										61
									
								
								Programmability/Stored Procedures/CCAddPCRBAttendees.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										61
									
								
								Programmability/Stored Procedures/CCAddPCRBAttendees.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,61 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  StoredProcedure [dbo].[CCAddPCRBAttendees]    Script Date: 11/21/2024 11:29:04 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE PROCEDURE [dbo].[CCAddPCRBAttendees] @PCRBID INT,
 | 
			
		||||
	@AttendeeID VARCHAR(300),
 | 
			
		||||
	@JobTitle VARCHAR(50),
 | 
			
		||||
	@Location VARCHAR(50) AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from
 | 
			
		||||
	-- interfering with SELECT statements.
 | 
			
		||||
SET
 | 
			
		||||
	NOCOUNT ON;
 | 
			
		||||
 | 
			
		||||
Declare @AttendeeName VARCHAR(200)
 | 
			
		||||
SET
 | 
			
		||||
	@AttendeeName = CONCAT(
 | 
			
		||||
		(
 | 
			
		||||
			SELECT
 | 
			
		||||
				FirstName
 | 
			
		||||
			FROM
 | 
			
		||||
				Users
 | 
			
		||||
			WHERE
 | 
			
		||||
				UserID = @AttendeeID
 | 
			
		||||
		),
 | 
			
		||||
		' ',
 | 
			
		||||
		(
 | 
			
		||||
			SELECT
 | 
			
		||||
				LastName
 | 
			
		||||
			FROM
 | 
			
		||||
				Users
 | 
			
		||||
			WHERE
 | 
			
		||||
				UserID = @AttendeeID
 | 
			
		||||
		)
 | 
			
		||||
	) -- Insert statements for procedure here
 | 
			
		||||
INSERT INTO
 | 
			
		||||
	CCPCRBAttendee (
 | 
			
		||||
		AttendeeName,
 | 
			
		||||
		PCRBID,
 | 
			
		||||
		AttendeeID,
 | 
			
		||||
		JobTitle,
 | 
			
		||||
		Location
 | 
			
		||||
	)
 | 
			
		||||
VALUES
 | 
			
		||||
	(
 | 
			
		||||
		@AttendeeName,
 | 
			
		||||
		@PCRBID,
 | 
			
		||||
		@AttendeeID,
 | 
			
		||||
		@JobTitle,
 | 
			
		||||
		@Location
 | 
			
		||||
	)
 | 
			
		||||
END
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										30
									
								
								Programmability/Stored Procedures/CCCancelCC.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								Programmability/Stored Procedures/CCCancelCC.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,30 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  StoredProcedure [dbo].[CCCancelCC]    Script Date: 11/21/2024 11:29:04 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE PROCEDURE [dbo].[CCCancelCC] -- Add the parameters for the stored procedure here
 | 
			
		||||
	@PlanNumber INT AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from
 | 
			
		||||
	-- interfering with SELECT statements.
 | 
			
		||||
SET
 | 
			
		||||
	NOCOUNT ON;
 | 
			
		||||
 | 
			
		||||
-- Insert statements for procedure here
 | 
			
		||||
UPDATE
 | 
			
		||||
	CCChangeControl
 | 
			
		||||
SET
 | 
			
		||||
	Status = 2,
 | 
			
		||||
	ClosedDate = GETDATE()
 | 
			
		||||
WHERE
 | 
			
		||||
	PlanNumber = @PlanNumber
 | 
			
		||||
END
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										30
									
								
								Programmability/Stored Procedures/CCCompleteCC.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								Programmability/Stored Procedures/CCCompleteCC.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,30 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  StoredProcedure [dbo].[CCCompleteCC]    Script Date: 11/21/2024 11:29:04 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE PROCEDURE [dbo].[CCCompleteCC] -- Add the parameters for the stored procedure here
 | 
			
		||||
	@PlanNumber INT AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from
 | 
			
		||||
	-- interfering with SELECT statements.
 | 
			
		||||
SET
 | 
			
		||||
	NOCOUNT ON;
 | 
			
		||||
 | 
			
		||||
-- Insert statements for procedure here
 | 
			
		||||
UPDATE
 | 
			
		||||
	CCChangeControl
 | 
			
		||||
SET
 | 
			
		||||
	Status = 1,
 | 
			
		||||
	ClosedDate = GETDATE()
 | 
			
		||||
WHERE
 | 
			
		||||
	PlanNumber = @PlanNumber
 | 
			
		||||
END
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										26
									
								
								Programmability/Stored Procedures/CCDeleteCCAttachment.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								Programmability/Stored Procedures/CCDeleteCCAttachment.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,26 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  StoredProcedure [dbo].[CCDeleteCCAttachment]    Script Date: 11/21/2024 11:29:04 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE PROCEDURE [dbo].[CCDeleteCCAttachment] -- Add the parameters for the stored procedure here
 | 
			
		||||
	@ID INT AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from
 | 
			
		||||
	-- interfering with SELECT statements.
 | 
			
		||||
SET
 | 
			
		||||
	NOCOUNT ON;
 | 
			
		||||
 | 
			
		||||
-- Insert statements for procedure here
 | 
			
		||||
DELETE CCAttachment
 | 
			
		||||
WHERE
 | 
			
		||||
	ID = @ID
 | 
			
		||||
END
 | 
			
		||||
GO
 | 
			
		||||
@ -0,0 +1,25 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  StoredProcedure [dbo].[CCDeleteDecisionSummary]    Script Date: 11/21/2024 11:29:04 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE PROCEDURE [dbo].[CCDeleteDecisionSummary] @ID INT AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from
 | 
			
		||||
	-- interfering with SELECT statements.
 | 
			
		||||
SET
 | 
			
		||||
	NOCOUNT ON;
 | 
			
		||||
 | 
			
		||||
-- Insert statements for procedure here
 | 
			
		||||
DELETE CCDecisionSummary
 | 
			
		||||
WHERE
 | 
			
		||||
	ID = @ID
 | 
			
		||||
END
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										24
									
								
								Programmability/Stored Procedures/CCDeleteGenerations.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								Programmability/Stored Procedures/CCDeleteGenerations.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,24 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  StoredProcedure [dbo].[CCDeleteGenerations]    Script Date: 11/21/2024 11:29:04 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE PROCEDURE [dbo].[CCDeleteGenerations] @PlanNumber INT AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from
 | 
			
		||||
	-- interfering with SELECT statements.
 | 
			
		||||
SET
 | 
			
		||||
	NOCOUNT ON;
 | 
			
		||||
 | 
			
		||||
DELETE CCGeneration
 | 
			
		||||
WHERE
 | 
			
		||||
	PlanNumber = @PlanNumber
 | 
			
		||||
END
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										24
									
								
								Programmability/Stored Procedures/CCDeleteLogistics.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								Programmability/Stored Procedures/CCDeleteLogistics.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,24 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  StoredProcedure [dbo].[CCDeleteLogistics]    Script Date: 11/21/2024 11:29:04 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE PROCEDURE [dbo].[CCDeleteLogistics] @PlanNumber INT AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from
 | 
			
		||||
	-- interfering with SELECT statements.
 | 
			
		||||
SET
 | 
			
		||||
	NOCOUNT ON;
 | 
			
		||||
 | 
			
		||||
DELETE CCLogistics
 | 
			
		||||
WHERE
 | 
			
		||||
	PlanNumber = @PlanNumber
 | 
			
		||||
END
 | 
			
		||||
GO
 | 
			
		||||
@ -0,0 +1,27 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  StoredProcedure [dbo].[CCDeleteMeetingActionItem]    Script Date: 11/21/2024 11:29:04 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE PROCEDURE [dbo].[CCDeleteMeetingActionItem] @ID INT AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from
 | 
			
		||||
	-- interfering with SELECT statements.
 | 
			
		||||
SET
 | 
			
		||||
	NOCOUNT ON;
 | 
			
		||||
 | 
			
		||||
-- Insert statements for procedure here
 | 
			
		||||
DELETE CCMeetingActionItem
 | 
			
		||||
WHERE
 | 
			
		||||
	ID = @ID DELETE CCMeetingActionItemResponsible
 | 
			
		||||
WHERE
 | 
			
		||||
	MeetingActionItemID = @ID
 | 
			
		||||
END
 | 
			
		||||
GO
 | 
			
		||||
@ -0,0 +1,25 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  StoredProcedure [dbo].[CCDeleteMeetingAttachment]    Script Date: 11/21/2024 11:29:04 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE PROCEDURE [dbo].[CCDeleteMeetingAttachment] @ID INT AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from
 | 
			
		||||
	-- interfering with SELECT statements.
 | 
			
		||||
SET
 | 
			
		||||
	NOCOUNT ON;
 | 
			
		||||
 | 
			
		||||
-- Insert statements for procedure here
 | 
			
		||||
DELETE CCMeetingAttachment
 | 
			
		||||
WHERE
 | 
			
		||||
	ID = @ID
 | 
			
		||||
END
 | 
			
		||||
GO
 | 
			
		||||
@ -0,0 +1,25 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  StoredProcedure [dbo].[CCDeleteMeetingAttendee]    Script Date: 11/21/2024 11:29:04 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE PROCEDURE [dbo].[CCDeleteMeetingAttendee] @ID INT AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from
 | 
			
		||||
	-- interfering with SELECT statements.
 | 
			
		||||
SET
 | 
			
		||||
	NOCOUNT ON;
 | 
			
		||||
 | 
			
		||||
-- Insert statements for procedure here
 | 
			
		||||
DELETE CCMeetingAttendee
 | 
			
		||||
WHERE
 | 
			
		||||
	ID = @ID
 | 
			
		||||
END
 | 
			
		||||
GO
 | 
			
		||||
@ -0,0 +1,24 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  StoredProcedure [dbo].[CCDeleteMeetingPCRValues]    Script Date: 11/21/2024 11:29:04 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE PROCEDURE [dbo].[CCDeleteMeetingPCRValues] @MeetingID INT AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from
 | 
			
		||||
	-- interfering with SELECT statements.
 | 
			
		||||
SET
 | 
			
		||||
	NOCOUNT ON;
 | 
			
		||||
 | 
			
		||||
DELETE CCMeetingPCRValue
 | 
			
		||||
WHERE
 | 
			
		||||
	MeetingID = @MeetingID
 | 
			
		||||
END
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										28
									
								
								Programmability/Stored Procedures/CCDeletePCRBActionItem.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								Programmability/Stored Procedures/CCDeletePCRBActionItem.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,28 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  StoredProcedure [dbo].[CCDeletePCRBActionItem]    Script Date: 11/21/2024 11:29:04 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE PROCEDURE [dbo].[CCDeletePCRBActionItem] -- Add the parameters for the stored procedure here
 | 
			
		||||
	@ID INT AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from
 | 
			
		||||
	-- interfering with SELECT statements.
 | 
			
		||||
SET
 | 
			
		||||
	NOCOUNT ON;
 | 
			
		||||
 | 
			
		||||
-- Insert statements for procedure here
 | 
			
		||||
DELETE CCPCRBActionItem
 | 
			
		||||
WHERE
 | 
			
		||||
	ID = @ID DELETE CCPCRBActionItemResponsible
 | 
			
		||||
WHERE
 | 
			
		||||
	PCRBActionItemID = @ID
 | 
			
		||||
END
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										24
									
								
								Programmability/Stored Procedures/CCDeletePartNumbers.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								Programmability/Stored Procedures/CCDeletePartNumbers.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,24 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  StoredProcedure [dbo].[CCDeletePartNumbers]    Script Date: 11/21/2024 11:29:04 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE PROCEDURE [dbo].[CCDeletePartNumbers] @PlanNumber INT AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from
 | 
			
		||||
	-- interfering with SELECT statements.
 | 
			
		||||
SET
 | 
			
		||||
	NOCOUNT ON;
 | 
			
		||||
 | 
			
		||||
DELETE CCPartNumber
 | 
			
		||||
WHERE
 | 
			
		||||
	PlanNumber = @PlanNumber
 | 
			
		||||
END
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										24
									
								
								Programmability/Stored Procedures/CCDeleteProcesses.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								Programmability/Stored Procedures/CCDeleteProcesses.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,24 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  StoredProcedure [dbo].[CCDeleteProcesses]    Script Date: 11/21/2024 11:29:04 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE PROCEDURE [dbo].[CCDeleteProcesses] @PlanNumber INT AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from
 | 
			
		||||
	-- interfering with SELECT statements.
 | 
			
		||||
SET
 | 
			
		||||
	NOCOUNT ON;
 | 
			
		||||
 | 
			
		||||
DELETE CCProcess
 | 
			
		||||
WHERE
 | 
			
		||||
	PlanNumber = @PlanNumber
 | 
			
		||||
END
 | 
			
		||||
GO
 | 
			
		||||
@ -0,0 +1,29 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  StoredProcedure [dbo].[CCGetActionItemFileName]    Script Date: 11/21/2024 11:29:04 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE PROCEDURE [dbo].[CCGetActionItemFileName] -- Add the parameters for the stored procedure here
 | 
			
		||||
	@FileGUID VARCHAR(50) AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from
 | 
			
		||||
	-- interfering with SELECT statements.
 | 
			
		||||
SET
 | 
			
		||||
	NOCOUNT ON;
 | 
			
		||||
 | 
			
		||||
-- Insert statements for procedure here
 | 
			
		||||
SELECT
 | 
			
		||||
	[FileName]
 | 
			
		||||
FROM
 | 
			
		||||
	CCMeetingActionItem
 | 
			
		||||
WHERE
 | 
			
		||||
	FileGUID = @FileGUID
 | 
			
		||||
END
 | 
			
		||||
GO
 | 
			
		||||
@ -0,0 +1,31 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  StoredProcedure [dbo].[CCGetActionItemResponsible]    Script Date: 11/21/2024 11:29:04 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE PROCEDURE [dbo].[CCGetActionItemResponsible] -- Add the parameters for the stored procedure here
 | 
			
		||||
	AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from
 | 
			
		||||
	-- interfering with SELECT statements.
 | 
			
		||||
SET
 | 
			
		||||
	NOCOUNT ON;
 | 
			
		||||
 | 
			
		||||
-- Insert statements for procedure here
 | 
			
		||||
SELECT
 | 
			
		||||
	LTRIM(RTRIM(CONVERT(VARCHAR(10), UserID))) AS ResponsibleID,
 | 
			
		||||
	LTRIM(RTRIM(FirstName + ' ' + LastName)) AS ResponsibleName
 | 
			
		||||
FROM
 | 
			
		||||
	Users
 | 
			
		||||
ORDER BY
 | 
			
		||||
	FirstName,
 | 
			
		||||
	LastName
 | 
			
		||||
END
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										36
									
								
								Programmability/Stored Procedures/CCGetCCAttachments.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								Programmability/Stored Procedures/CCGetCCAttachments.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,36 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  StoredProcedure [dbo].[CCGetCCAttachments]    Script Date: 11/21/2024 11:29:04 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE PROCEDURE [dbo].[CCGetCCAttachments] @PlanNumber INT AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from
 | 
			
		||||
	-- interfering with SELECT statements.
 | 
			
		||||
SET
 | 
			
		||||
	NOCOUNT ON;
 | 
			
		||||
 | 
			
		||||
-- Insert statements for procedure here
 | 
			
		||||
SELECT
 | 
			
		||||
	DISTINCT A.*,
 | 
			
		||||
	U.FirstName + ' ' + U.LastName AS UploadedByName,
 | 
			
		||||
	SUBSTRING(
 | 
			
		||||
		FileName,
 | 
			
		||||
		PATINDEX('%.%', FileName) + 1,
 | 
			
		||||
		LEN(FileName)
 | 
			
		||||
	) AS FileExtension
 | 
			
		||||
FROM
 | 
			
		||||
	CCChangeControl CC
 | 
			
		||||
	INNER JOIN CCAttachment A ON CC.PlanNumber = A.PlanNumber
 | 
			
		||||
	LEFT JOIN Users U ON A.UploadedByID = U.UserID
 | 
			
		||||
WHERE
 | 
			
		||||
	CC.PlanNumber = @PlanNumber
 | 
			
		||||
END
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										29
									
								
								Programmability/Stored Procedures/CCGetCCFileName.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								Programmability/Stored Procedures/CCGetCCFileName.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,29 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  StoredProcedure [dbo].[CCGetCCFileName]    Script Date: 11/21/2024 11:29:04 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE PROCEDURE [dbo].[CCGetCCFileName] -- Add the parameters for the stored procedure here
 | 
			
		||||
	@FileGUID VARCHAR(50) AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from
 | 
			
		||||
	-- interfering with SELECT statements.
 | 
			
		||||
SET
 | 
			
		||||
	NOCOUNT ON;
 | 
			
		||||
 | 
			
		||||
-- Insert statements for procedure here
 | 
			
		||||
SELECT
 | 
			
		||||
	[FileName]
 | 
			
		||||
FROM
 | 
			
		||||
	CCAttachment
 | 
			
		||||
WHERE
 | 
			
		||||
	FileGUID = @FileGUID
 | 
			
		||||
END
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										110
									
								
								Programmability/Stored Procedures/CCGetChangeControl.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										110
									
								
								Programmability/Stored Procedures/CCGetChangeControl.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,110 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  StoredProcedure [dbo].[CCGetChangeControl]    Script Date: 11/21/2024 11:29:04 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE PROCEDURE [dbo].[CCGetChangeControl] -- Add the parameters for the stored procedure here
 | 
			
		||||
	@PlanNumber INT,
 | 
			
		||||
	@UserID INT,
 | 
			
		||||
	@CanViewITAR INT OUTPUT AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from
 | 
			
		||||
	-- interfering with SELECT statements.
 | 
			
		||||
SET
 | 
			
		||||
	NOCOUNT ON;
 | 
			
		||||
 | 
			
		||||
DECLARE @ITARRowCount INT IF NOT EXISTS (
 | 
			
		||||
	SELECT
 | 
			
		||||
		*
 | 
			
		||||
	FROM
 | 
			
		||||
		CCChangeControl
 | 
			
		||||
	WHERE
 | 
			
		||||
		RecordLockIndicator = 1
 | 
			
		||||
		AND PlanNumber = @PlanNumber
 | 
			
		||||
) BEGIN
 | 
			
		||||
UPDATE
 | 
			
		||||
	CCChangeControl
 | 
			
		||||
SET
 | 
			
		||||
	RecordLockIndicator = 1,
 | 
			
		||||
	RecordLockedBy = @UserID,
 | 
			
		||||
	RecordLockedDate = GETDATE(),
 | 
			
		||||
	LastUpdateDate = GETDATE()
 | 
			
		||||
WHERE
 | 
			
		||||
	PlanNumber = @PlanNumber
 | 
			
		||||
END
 | 
			
		||||
SET
 | 
			
		||||
	@CanViewITAR = 1 IF EXISTS (
 | 
			
		||||
		SELECT
 | 
			
		||||
			*
 | 
			
		||||
		FROM
 | 
			
		||||
			CCChangeControl
 | 
			
		||||
		WHERE
 | 
			
		||||
			PlanNumber = @PlanNumber
 | 
			
		||||
			AND IsITAR = 1
 | 
			
		||||
	) BEGIN
 | 
			
		||||
SELECT
 | 
			
		||||
	@ITARRowCount = COUNT(*)
 | 
			
		||||
FROM
 | 
			
		||||
	dbo.fnIsUserITARCompliant(@UserID) IF (@ITARRowCount > 0)
 | 
			
		||||
SET
 | 
			
		||||
	@CanViewITAR = 1
 | 
			
		||||
	ELSE
 | 
			
		||||
SET
 | 
			
		||||
	@CanViewITAR = 0
 | 
			
		||||
END -- Insert statements for procedure here
 | 
			
		||||
SELECT
 | 
			
		||||
	DISTINCT CC.*,
 | 
			
		||||
	U.FirstName + ' ' + U.LastName AS OwnerName,
 | 
			
		||||
	U1.FirstName + ' ' + U1.LastName AS RecordLockByName,
 | 
			
		||||
	(
 | 
			
		||||
		SELECT
 | 
			
		||||
			COUNT(*)
 | 
			
		||||
		FROM
 | 
			
		||||
			CCMeeting
 | 
			
		||||
		WHERE
 | 
			
		||||
			Decision = -1
 | 
			
		||||
			AND CCMeeting.PlanNumber = @PlanNumber
 | 
			
		||||
	) AS MeetingExist,
 | 
			
		||||
	PCR1ID,
 | 
			
		||||
	PCR2ID,
 | 
			
		||||
	PCR3ID,
 | 
			
		||||
	--CAST('M-' + YEAR(InsertTimeStamp) + '-' + PlanYearlyIdentifier AS VARCHAR) AS PlanTitle,
 | 
			
		||||
	--CONCAT('M-', YEAR(CC.InsertTimeStamp), '-', CC.PlanYearlyIdentifier) AS PlanTitle,
 | 
			
		||||
	MesaPlanNo AS PlanTitle,
 | 
			
		||||
	CASE
 | 
			
		||||
		WHEN CC.ClosedDate IS NULL THEN 0
 | 
			
		||||
		ELSE 1
 | 
			
		||||
	END PCRBClosed
 | 
			
		||||
FROM
 | 
			
		||||
	CCChangeControl CC
 | 
			
		||||
	INNER JOIN Users U ON CC.OwnerID = U.UserID
 | 
			
		||||
	LEFT JOIN Users U1 ON CC.RecordLockedBy = U1.UserID
 | 
			
		||||
WHERE
 | 
			
		||||
	CC.PlanNumber = @PlanNumber
 | 
			
		||||
SELECT
 | 
			
		||||
	GenerationID
 | 
			
		||||
FROM
 | 
			
		||||
	CCGeneration
 | 
			
		||||
WHERE
 | 
			
		||||
	PlanNumber = @PlanNumber
 | 
			
		||||
SELECT
 | 
			
		||||
	LogisticsID
 | 
			
		||||
FROM
 | 
			
		||||
	CCLogistics
 | 
			
		||||
WHERE
 | 
			
		||||
	PlanNumber = @PlanNumber
 | 
			
		||||
SELECT
 | 
			
		||||
	ProcessID
 | 
			
		||||
FROM
 | 
			
		||||
	CCProcess
 | 
			
		||||
WHERE
 | 
			
		||||
	PlanNumber = @PlanNumber
 | 
			
		||||
END
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										186
									
								
								Programmability/Stored Procedures/CCGetChangeControlList.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										186
									
								
								Programmability/Stored Procedures/CCGetChangeControlList.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,186 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  StoredProcedure [dbo].[CCGetChangeControlList]    Script Date: 11/21/2024 11:29:04 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE PROCEDURE [dbo].[CCGetChangeControlList] -- Add the parameters for the stored procedure here
 | 
			
		||||
	@UserID INT AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from
 | 
			
		||||
	-- interfering with SELECT statements.
 | 
			
		||||
SET
 | 
			
		||||
	NOCOUNT ON;
 | 
			
		||||
 | 
			
		||||
-- UNLOCK all the CC records if there are any pending locks
 | 
			
		||||
UPDATE
 | 
			
		||||
	CCChangeControl
 | 
			
		||||
SEt
 | 
			
		||||
	RecordLocked = 0,
 | 
			
		||||
	RecordLockedBy = NULL,
 | 
			
		||||
	RecordLockedDate = NULL,
 | 
			
		||||
	RecordLockIndicator = 0
 | 
			
		||||
WHERE
 | 
			
		||||
	RecordLockedBy = @UserID
 | 
			
		||||
UPDATE
 | 
			
		||||
	CCMeeting
 | 
			
		||||
SEt
 | 
			
		||||
	RecordLockedBy = NULL,
 | 
			
		||||
	RecordLockedDate = NULL,
 | 
			
		||||
	RecordLockIndicator = 0
 | 
			
		||||
WHERE
 | 
			
		||||
	RecordLockedBy = @UserID -- Insert statements for procedure here
 | 
			
		||||
SELECT
 | 
			
		||||
	DISTINCT C.PlanNumber AS IssueID,
 | 
			
		||||
	C.Title,
 | 
			
		||||
	U.FirstName + ' ' + U.LastName AS Owner,
 | 
			
		||||
	C.MesaPlanNo AS MesaIdTitle,
 | 
			
		||||
	CASE
 | 
			
		||||
		WHEN ChangeLevel = -1 THEN NULL
 | 
			
		||||
		ELSE ChangeLevel
 | 
			
		||||
	END AS ChangeLevel,
 | 
			
		||||
	Dates.StartDate,
 | 
			
		||||
	CASE
 | 
			
		||||
		WHEN [STATUS] = 1
 | 
			
		||||
		OR [STATUS] = 2 THEN ClosedDate
 | 
			
		||||
		ELSE Dates.StatusDate
 | 
			
		||||
	END AS StatusDate,
 | 
			
		||||
	CPCRB.PCRBStatus,
 | 
			
		||||
	CCGens.Generations,
 | 
			
		||||
	CCLogs.Logistics,
 | 
			
		||||
	CCProcess.Processes,
 | 
			
		||||
	C.ToolTypes,
 | 
			
		||||
	CASE
 | 
			
		||||
		WHEN [STATUS] = 1
 | 
			
		||||
		OR [STATUS] = 2 THEN ''
 | 
			
		||||
		ELSE MAI1.Responsibles
 | 
			
		||||
	END AS ActionItemResponsibility
 | 
			
		||||
FROM
 | 
			
		||||
	CCChangeControl C
 | 
			
		||||
	LEFT JOIN CCMeeting M ON C.PlanNumber = M.PlanNumber
 | 
			
		||||
	LEFT JOIN Users U ON C.OwnerID = U.UserID
 | 
			
		||||
	LEFT JOIN (
 | 
			
		||||
		SELECT
 | 
			
		||||
			PlanNumber,
 | 
			
		||||
			MIN(MeetingDate) AS StartDate,
 | 
			
		||||
			MAX(MeetingDate) AS StatusDate
 | 
			
		||||
		FROM
 | 
			
		||||
			CCMeeting
 | 
			
		||||
		GROUP BY
 | 
			
		||||
			PlanNumber
 | 
			
		||||
	) AS Dates ON C.PlanNumber = Dates.PlanNumber -- Get Status		
 | 
			
		||||
	LEFT JOIN (
 | 
			
		||||
		SELECT
 | 
			
		||||
			PlanNumber,
 | 
			
		||||
			CASE
 | 
			
		||||
				WHEN [STATUS] = 1 THEN 'Closed'
 | 
			
		||||
				WHEN [STATUS] = 2 THEN 'Cancelled'
 | 
			
		||||
				WHEN [STATUS] = 0 THEN (
 | 
			
		||||
					SELECT
 | 
			
		||||
						PCRValues
 | 
			
		||||
					FROM
 | 
			
		||||
						vCCMeetingPCRs P
 | 
			
		||||
					WHERE
 | 
			
		||||
						MeetingDate = (
 | 
			
		||||
							SELECT
 | 
			
		||||
								MAX(MeetingDate)
 | 
			
		||||
							FROM
 | 
			
		||||
								CCMeeting
 | 
			
		||||
							WHERE
 | 
			
		||||
								PlanNumber = C.PlanNumber
 | 
			
		||||
						)
 | 
			
		||||
						AND P.PlanNumber = C.PlanNumber
 | 
			
		||||
				)
 | 
			
		||||
				ELSE ''
 | 
			
		||||
			END AS PCRBStatus
 | 
			
		||||
		FROM
 | 
			
		||||
			CCChangeControl C
 | 
			
		||||
	) AS CPCRB ON C.PlanNumber = CPCRB.PlanNumber -- Concatenate Gens
 | 
			
		||||
	LEFT JOIN (
 | 
			
		||||
		SELECT
 | 
			
		||||
			DISTINCT CC.PlanNumber,
 | 
			
		||||
			STUFF (
 | 
			
		||||
				(
 | 
			
		||||
					SELECT
 | 
			
		||||
						', ' + LTRIM(RTRIM(CAST(Generation AS VARCHAR(50))))
 | 
			
		||||
					FROM
 | 
			
		||||
						CCGeneration CCG
 | 
			
		||||
						LEFT JOIN CCGenerationMaster GM ON CCG.GenerationID = GM.GenerationID
 | 
			
		||||
					WHERE
 | 
			
		||||
						CCG.PlanNumber = CC.PlanNumber FOR XML PATH('')
 | 
			
		||||
				),
 | 
			
		||||
				1,
 | 
			
		||||
				1,
 | 
			
		||||
				''
 | 
			
		||||
			) AS Generations
 | 
			
		||||
		FROM
 | 
			
		||||
			CCChangeControl CC
 | 
			
		||||
	) AS CCGens ON C.PlanNumber = CCGens.PlanNumber
 | 
			
		||||
	LEFT JOIN (
 | 
			
		||||
		SELECT
 | 
			
		||||
			DISTINCT CC.PlanNumber,
 | 
			
		||||
			STUFF (
 | 
			
		||||
				(
 | 
			
		||||
					SELECT
 | 
			
		||||
						', ' + LTRIM(RTRIM(CAST(Logistics AS VARCHAR(50))))
 | 
			
		||||
					FROM
 | 
			
		||||
						CCLogistics CCL
 | 
			
		||||
						LEFT JOIN CCLogisticsMaster LM ON CCL.LogisticsID = LM.LogisticsID
 | 
			
		||||
					WHERE
 | 
			
		||||
						CCL.PlanNumber = CC.PlanNumber FOR XML PATH('')
 | 
			
		||||
				),
 | 
			
		||||
				1,
 | 
			
		||||
				1,
 | 
			
		||||
				''
 | 
			
		||||
			) AS Logistics
 | 
			
		||||
		FROM
 | 
			
		||||
			CCChangeControl CC
 | 
			
		||||
	) AS CCLogs ON C.PlanNumber = CCLogs.PlanNumber -- Concatenate process
 | 
			
		||||
	LEFT JOIN (
 | 
			
		||||
		SELECT
 | 
			
		||||
			DISTINCT CC.PlanNumber,
 | 
			
		||||
			STUFF (
 | 
			
		||||
				(
 | 
			
		||||
					SELECT
 | 
			
		||||
						', ' + LTRIM(RTRIM(CAST(Process AS VARCHAR(50))))
 | 
			
		||||
					FROM
 | 
			
		||||
						CCProcess CCP
 | 
			
		||||
						LEFT JOIN CCProcessMaster PM ON CCP.ProcessID = PM.ProcessID
 | 
			
		||||
					WHERE
 | 
			
		||||
						CCP.PlanNumber = CC.PlanNumber FOR XML PATH('')
 | 
			
		||||
				),
 | 
			
		||||
				1,
 | 
			
		||||
				1,
 | 
			
		||||
				''
 | 
			
		||||
			) AS Processes
 | 
			
		||||
		FROM
 | 
			
		||||
			CCChangeControl CC
 | 
			
		||||
	) AS CCProcess ON C.PlanNumber = CCProcess.PlanNumber --Contcatenate  Responsible person
 | 
			
		||||
	LEFT JOIN (
 | 
			
		||||
		SELECT
 | 
			
		||||
			DISTINCT CC.PlanNumber,
 | 
			
		||||
			STUFF (
 | 
			
		||||
				(
 | 
			
		||||
					SELECT
 | 
			
		||||
						DISTINCT ', ' + LTRIM(RTRIM(CAST(AIR.Responsibles AS VARCHAR(350))))
 | 
			
		||||
					FROM
 | 
			
		||||
						CCMeeting CM
 | 
			
		||||
						LEFT JOIN dbo.fn_GetMeetingAI_Responsibles_ByCC() AIR ON CM.MeetingID = AIR.MeetingID
 | 
			
		||||
					WHERE
 | 
			
		||||
						CM.PlanNumber = CC.PlanNumber FOR XML PATH('')
 | 
			
		||||
				),
 | 
			
		||||
				1,
 | 
			
		||||
				1,
 | 
			
		||||
				''
 | 
			
		||||
			) AS Responsibles
 | 
			
		||||
		FROM
 | 
			
		||||
			CCChangeControl CC
 | 
			
		||||
	) AS MAI1 ON C.PlanNumber = MAI1.PlanNumber
 | 
			
		||||
END
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										75
									
								
								Programmability/Stored Procedures/CCGetChangeControlRead.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										75
									
								
								Programmability/Stored Procedures/CCGetChangeControlRead.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,75 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  StoredProcedure [dbo].[CCGetChangeControlRead]    Script Date: 11/21/2024 11:29:04 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE PROCEDURE [dbo].[CCGetChangeControlRead] -- Add the parameters for the stored procedure here
 | 
			
		||||
	@PlanNumber INT,
 | 
			
		||||
	@UserID INT,
 | 
			
		||||
	@CanViewITAR INT OUTPUT AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from
 | 
			
		||||
	-- interfering with SELECT statements.
 | 
			
		||||
SET
 | 
			
		||||
	NOCOUNT ON;
 | 
			
		||||
 | 
			
		||||
DECLARE @ITARRowCount INT
 | 
			
		||||
SET
 | 
			
		||||
	@CanViewITAR = 1 IF EXISTS (
 | 
			
		||||
		SELECT
 | 
			
		||||
			*
 | 
			
		||||
		FROM
 | 
			
		||||
			CCChangeControl
 | 
			
		||||
		WHERE
 | 
			
		||||
			PlanNumber = @PlanNumber
 | 
			
		||||
			AND IsITAR = 1
 | 
			
		||||
	) BEGIN
 | 
			
		||||
SELECT
 | 
			
		||||
	@ITARRowCount = COUNT(*)
 | 
			
		||||
FROM
 | 
			
		||||
	dbo.fnIsUserITARCompliant(@UserID) IF (@ITARRowCount > 0)
 | 
			
		||||
SET
 | 
			
		||||
	@CanViewITAR = 1
 | 
			
		||||
	ELSE
 | 
			
		||||
SET
 | 
			
		||||
	@CanViewITAR = 0
 | 
			
		||||
END -- Insert statements for procedure here
 | 
			
		||||
SELECT
 | 
			
		||||
	DISTINCT CC.*,
 | 
			
		||||
	U.FirstName + ' ' + U.LastName AS OwnerName,
 | 
			
		||||
	U1.FirstName + ' ' + U1.LastName AS RecordLockByName,
 | 
			
		||||
	--CONCAT('M-', YEAR(CC.InsertTimeStamp), '-', CC.PlanYearlyIdentifier) AS PlanTitle
 | 
			
		||||
	MesaPlanNo AS PlanTitle --REPLICATE('0',6-LEN(RTRIM(EmployeeId))) + RTRIM(EmployeeId)
 | 
			
		||||
FROM
 | 
			
		||||
	CCChangeControl CC
 | 
			
		||||
	INNER JOIN Users U ON CC.OwnerID = U.UserID
 | 
			
		||||
	LEFT JOIN Users U1 ON CC.RecordLockedBy = U1.UserID
 | 
			
		||||
WHERE
 | 
			
		||||
	CC.PlanNumber = @PlanNumber
 | 
			
		||||
SELECT
 | 
			
		||||
	GenerationID
 | 
			
		||||
FROM
 | 
			
		||||
	CCGeneration
 | 
			
		||||
WHERE
 | 
			
		||||
	PlanNumber = @PlanNumber
 | 
			
		||||
SELECT
 | 
			
		||||
	LogisticsID
 | 
			
		||||
FROM
 | 
			
		||||
	CCLogistics
 | 
			
		||||
WHERE
 | 
			
		||||
	PlanNumber = @PlanNumber
 | 
			
		||||
SELECT
 | 
			
		||||
	ProcessID
 | 
			
		||||
FROM
 | 
			
		||||
	CCProcess
 | 
			
		||||
WHERE
 | 
			
		||||
	PlanNumber = @PlanNumber
 | 
			
		||||
END
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										28
									
								
								Programmability/Stored Procedures/CCGetChangeControls.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								Programmability/Stored Procedures/CCGetChangeControls.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,28 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  StoredProcedure [dbo].[CCGetChangeControls]    Script Date: 11/21/2024 11:29:04 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE PROCEDURE [dbo].[CCGetChangeControls] AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from
 | 
			
		||||
	-- interfering with SELECT statements.
 | 
			
		||||
SET
 | 
			
		||||
	NOCOUNT ON;
 | 
			
		||||
 | 
			
		||||
SELECT
 | 
			
		||||
	*
 | 
			
		||||
FROM
 | 
			
		||||
	dbo.fn_GetChangeControl()
 | 
			
		||||
ORDER BY
 | 
			
		||||
	DocumentType,
 | 
			
		||||
	IssueID DESC
 | 
			
		||||
END
 | 
			
		||||
GO
 | 
			
		||||
@ -0,0 +1,29 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  StoredProcedure [dbo].[CCGetDecisionsSummaryList]    Script Date: 11/21/2024 11:29:04 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE PROCEDURE [dbo].[CCGetDecisionsSummaryList] -- Add the parameters for the stored procedure here
 | 
			
		||||
	@MeetingID INT AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from
 | 
			
		||||
	-- interfering with SELECT statements.
 | 
			
		||||
SET
 | 
			
		||||
	NOCOUNT ON;
 | 
			
		||||
 | 
			
		||||
-- Insert statements for procedure here
 | 
			
		||||
SELECT
 | 
			
		||||
	*
 | 
			
		||||
FROM
 | 
			
		||||
	CCDecisionSummary
 | 
			
		||||
WHERE
 | 
			
		||||
	MeetingID = @MeetingID
 | 
			
		||||
END
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										29
									
								
								Programmability/Stored Procedures/CCGetGenerations.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								Programmability/Stored Procedures/CCGetGenerations.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,29 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  StoredProcedure [dbo].[CCGetGenerations]    Script Date: 11/21/2024 11:29:04 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE PROCEDURE [dbo].[CCGetGenerations] AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from
 | 
			
		||||
	-- interfering with SELECT statements.
 | 
			
		||||
SET
 | 
			
		||||
	NOCOUNT ON;
 | 
			
		||||
 | 
			
		||||
-- Insert statements for procedure here
 | 
			
		||||
SELECT
 | 
			
		||||
	DISTINCT GenerationID,
 | 
			
		||||
	Generation
 | 
			
		||||
FROM
 | 
			
		||||
	CCGenerationMaster
 | 
			
		||||
ORDER BY
 | 
			
		||||
	Generation
 | 
			
		||||
END
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										29
									
								
								Programmability/Stored Procedures/CCGetLogistics.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								Programmability/Stored Procedures/CCGetLogistics.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,29 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  StoredProcedure [dbo].[CCGetLogistics]    Script Date: 11/21/2024 11:29:04 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE PROCEDURE [dbo].[CCGetLogistics] AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from
 | 
			
		||||
	-- interfering with SELECT statements.
 | 
			
		||||
SET
 | 
			
		||||
	NOCOUNT ON;
 | 
			
		||||
 | 
			
		||||
-- Insert statements for procedure here
 | 
			
		||||
SELECT
 | 
			
		||||
	DISTINCT LogisticsID,
 | 
			
		||||
	Logistics
 | 
			
		||||
FROM
 | 
			
		||||
	CCLogisticsMaster
 | 
			
		||||
ORDER BY
 | 
			
		||||
	Logistics
 | 
			
		||||
END
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										93
									
								
								Programmability/Stored Procedures/CCGetMeeting.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										93
									
								
								Programmability/Stored Procedures/CCGetMeeting.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,93 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  StoredProcedure [dbo].[CCGetMeeting]    Script Date: 11/21/2024 11:29:04 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE PROCEDURE [dbo].[CCGetMeeting] -- Add the parameters for the stored procedure here	
 | 
			
		||||
	@MeetingID INT,
 | 
			
		||||
	@UserID INT,
 | 
			
		||||
	@CanViewITAR INT OUTPUT AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from
 | 
			
		||||
	-- interfering with SELECT statements.
 | 
			
		||||
SET
 | 
			
		||||
	NOCOUNT ON;
 | 
			
		||||
 | 
			
		||||
DECLARE @ITARRowCount INT IF NOT EXISTS (
 | 
			
		||||
	SELECT
 | 
			
		||||
		*
 | 
			
		||||
	FROM
 | 
			
		||||
		CCMeeting
 | 
			
		||||
	WHERE
 | 
			
		||||
		RecordLockIndicator = 1
 | 
			
		||||
		AND MeetingDate = @MeetingID
 | 
			
		||||
) BEGIN
 | 
			
		||||
UPDATE
 | 
			
		||||
	CCMeeting
 | 
			
		||||
SET
 | 
			
		||||
	RecordLockIndicator = 1,
 | 
			
		||||
	RecordLockedBy = @UserID,
 | 
			
		||||
	RecordLockedDate = GETDATE(),
 | 
			
		||||
	LastUpdateDate = GETDATE()
 | 
			
		||||
WHERE
 | 
			
		||||
	MeetingID = @MeetingID
 | 
			
		||||
END
 | 
			
		||||
SET
 | 
			
		||||
	@CanViewITAR = 1 IF EXISTS (
 | 
			
		||||
		SELECT
 | 
			
		||||
			*
 | 
			
		||||
		FROM
 | 
			
		||||
			CCMeeting M
 | 
			
		||||
			INNER JOIN CCChangeControl C ON M.PlanNumber = C.PlanNumber
 | 
			
		||||
		WHERE
 | 
			
		||||
			MeetingID = @MeetingID
 | 
			
		||||
			AND C.IsITAR = 1
 | 
			
		||||
	) BEGIN
 | 
			
		||||
SELECT
 | 
			
		||||
	@ITARRowCount = COUNT(*)
 | 
			
		||||
FROM
 | 
			
		||||
	dbo.fnIsUserITARCompliant(@UserID) IF (@ITARRowCount > 0)
 | 
			
		||||
SET
 | 
			
		||||
	@CanViewITAR = 1
 | 
			
		||||
	ELSE
 | 
			
		||||
SET
 | 
			
		||||
	@CanViewITAR = 0
 | 
			
		||||
END -- Insert statements for procedure here
 | 
			
		||||
SELECT
 | 
			
		||||
	M.MeetingID,
 | 
			
		||||
	ISNULL(LTRIM(RTRIM(M.PCRB)), 'Select') PCRB,
 | 
			
		||||
	M.MeetingDate,
 | 
			
		||||
	M.Decision,
 | 
			
		||||
	M.Notes,
 | 
			
		||||
	C.ChangeLevel,
 | 
			
		||||
	C.Title,
 | 
			
		||||
	C.PlanNumber,
 | 
			
		||||
	C.CurrentStep,
 | 
			
		||||
	M.RecordLockedBy,
 | 
			
		||||
	M.RecordLockIndicator,
 | 
			
		||||
	U1.FirstName + ' ' + U1.LastName AS RecordLockByName,
 | 
			
		||||
	CASE
 | 
			
		||||
		WHEN C.ClosedDate IS NULL THEN 0
 | 
			
		||||
		ELSE 1
 | 
			
		||||
	END PCRBClosed
 | 
			
		||||
FROM
 | 
			
		||||
	CCMeeting M
 | 
			
		||||
	INNER JOIN CCChangeControl C ON M.PlanNumber = C.PlanNumber
 | 
			
		||||
	LEFT JOIN Users U1 ON M.RecordLockedBy = U1.UserID
 | 
			
		||||
WHERE
 | 
			
		||||
	MeetingID = @MeetingID
 | 
			
		||||
SELECT
 | 
			
		||||
	PCRValue AS PCRValueID
 | 
			
		||||
FROM
 | 
			
		||||
	CCMeetingPCRValue
 | 
			
		||||
WHERE
 | 
			
		||||
	MeetingID = @MeetingID
 | 
			
		||||
END
 | 
			
		||||
GO
 | 
			
		||||
@ -0,0 +1,82 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  StoredProcedure [dbo].[CCGetMeetingActionItems]    Script Date: 11/21/2024 11:29:04 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE PROCEDURE [dbo].[CCGetMeetingActionItems] @MeetingID INT AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from
 | 
			
		||||
	-- interfering with SELECT statements.
 | 
			
		||||
SET
 | 
			
		||||
	NOCOUNT ON;
 | 
			
		||||
 | 
			
		||||
-- Insert statements for procedure here
 | 
			
		||||
SELECT
 | 
			
		||||
	AI.ID,
 | 
			
		||||
	AI.MeetingID,
 | 
			
		||||
	ActionItemname,
 | 
			
		||||
	CCResponsibles.Responsibles ResponsiblePerson,
 | 
			
		||||
	CCResponsiblesID.ResponsiblesID ResponsibleID,
 | 
			
		||||
	CASE
 | 
			
		||||
		WHEN Gating = 1 THEN 'Yes'
 | 
			
		||||
		ELSE 'No'
 | 
			
		||||
	END AS Gating,
 | 
			
		||||
	DueDate
 | 
			
		||||
FROM
 | 
			
		||||
	CCMeetingActionItem AI
 | 
			
		||||
	LEFT JOIN (
 | 
			
		||||
		SELECT
 | 
			
		||||
			DISTINCT AI.ID,
 | 
			
		||||
			STUFF (
 | 
			
		||||
				(
 | 
			
		||||
					SELECT
 | 
			
		||||
						',' + LTRIM(
 | 
			
		||||
							RTRIM(
 | 
			
		||||
								CAST(U.FirstName + ' ' + U.LastName AS VARCHAR(350))
 | 
			
		||||
							)
 | 
			
		||||
						)
 | 
			
		||||
					FROM
 | 
			
		||||
						CCMeetingActionItemResponsible AIR
 | 
			
		||||
						INNER JOIN Users U ON AIR.ActionItemResponsible = U.UserID
 | 
			
		||||
					WHERE
 | 
			
		||||
						AI.ID = AIR.MeetingActionItemID FOR XML PATH('')
 | 
			
		||||
				),
 | 
			
		||||
				1,
 | 
			
		||||
				1,
 | 
			
		||||
				''
 | 
			
		||||
			) AS Responsibles
 | 
			
		||||
		FROM
 | 
			
		||||
			CCMeetingActionItem AI
 | 
			
		||||
	) AS CCResponsibles ON AI.ID = CCResponsibles.ID
 | 
			
		||||
	LEFT JOIN (
 | 
			
		||||
		SELECT
 | 
			
		||||
			DISTINCT AI.ID,
 | 
			
		||||
			STUFF (
 | 
			
		||||
				(
 | 
			
		||||
					SELECT
 | 
			
		||||
						',' + LTRIM(
 | 
			
		||||
							RTRIM(CAST(AIR.ActionItemResponsible AS VARCHAR(350)))
 | 
			
		||||
						)
 | 
			
		||||
					FROM
 | 
			
		||||
						CCMeetingActionItemResponsible AIR
 | 
			
		||||
					WHERE
 | 
			
		||||
						AI.ID = AIR.MeetingActionItemID FOR XML PATH('')
 | 
			
		||||
				),
 | 
			
		||||
				1,
 | 
			
		||||
				1,
 | 
			
		||||
				''
 | 
			
		||||
			) AS ResponsiblesID
 | 
			
		||||
		FROM
 | 
			
		||||
			CCMeetingActionItem AI
 | 
			
		||||
	) AS CCResponsiblesID ON AI.ID = CCResponsiblesID.ID
 | 
			
		||||
WHERE
 | 
			
		||||
	AI.MeetingID = @MeetingID
 | 
			
		||||
END
 | 
			
		||||
GO
 | 
			
		||||
@ -0,0 +1,71 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  StoredProcedure [dbo].[CCGetMeetingActionItems_All]    Script Date: 11/21/2024 11:29:04 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE PROCEDURE [dbo].[CCGetMeetingActionItems_All] @PlanNumber INT AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from
 | 
			
		||||
	-- interfering with SELECT statements.
 | 
			
		||||
SET
 | 
			
		||||
	NOCOUNT ON;
 | 
			
		||||
 | 
			
		||||
-- Insert statements for procedure here
 | 
			
		||||
SELECT
 | 
			
		||||
	MA.ID,
 | 
			
		||||
	M.MeetingID,
 | 
			
		||||
	P.PCRValues AS PCRB,
 | 
			
		||||
	ActionItemname,
 | 
			
		||||
	CCResponsibles.Responsibles ResponsiblePerson,
 | 
			
		||||
	CASE
 | 
			
		||||
		WHEN Gating = 1 THEN 'Yes'
 | 
			
		||||
		ELSE 'No'
 | 
			
		||||
	END AS Gating,
 | 
			
		||||
	DueDate,
 | 
			
		||||
	Updates,
 | 
			
		||||
	ClosedStatus,
 | 
			
		||||
	MA.ClosedDate,
 | 
			
		||||
	FileGUID,
 | 
			
		||||
	FileName,
 | 
			
		||||
	UploadedByID,
 | 
			
		||||
	U.FirstName + ' ' + U.LastName AS UploadedByName
 | 
			
		||||
FROM
 | 
			
		||||
	CCMeetingActionItem MA
 | 
			
		||||
	INNER JOIN CCMeeting M ON MA.MeetingID = M.MeetingID
 | 
			
		||||
	LEFT JOIN Users U ON MA.UploadedByID = U.UserID
 | 
			
		||||
	LEFT JOIN vCCMeetingPCRs P ON M.MeetingID = P.MeetingID
 | 
			
		||||
	LEFT JOIN (
 | 
			
		||||
		SELECT
 | 
			
		||||
			DISTINCT AI.ID,
 | 
			
		||||
			STUFF (
 | 
			
		||||
				(
 | 
			
		||||
					SELECT
 | 
			
		||||
						', ' + LTRIM(
 | 
			
		||||
							RTRIM(
 | 
			
		||||
								CAST(U.FirstName + ' ' + U.LastName AS VARCHAR(550))
 | 
			
		||||
							)
 | 
			
		||||
						)
 | 
			
		||||
					FROM
 | 
			
		||||
						CCMeetingActionItemResponsible AIR
 | 
			
		||||
						INNER JOIN Users U ON AIR.ActionItemResponsible = U.UserID
 | 
			
		||||
					WHERE
 | 
			
		||||
						AI.ID = AIR.MeetingActionItemID FOR XML PATH('')
 | 
			
		||||
				),
 | 
			
		||||
				1,
 | 
			
		||||
				1,
 | 
			
		||||
				''
 | 
			
		||||
			) AS Responsibles
 | 
			
		||||
		FROM
 | 
			
		||||
			CCMeetingActionItem AI
 | 
			
		||||
	) AS CCResponsibles ON MA.ID = CCResponsibles.ID
 | 
			
		||||
WHERE
 | 
			
		||||
	M.PlanNumber = @PlanNumber
 | 
			
		||||
END
 | 
			
		||||
GO
 | 
			
		||||
@ -0,0 +1,36 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  StoredProcedure [dbo].[CCGetMeetingAttachments]    Script Date: 11/21/2024 11:29:04 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE PROCEDURE [dbo].[CCGetMeetingAttachments] @MeetingID INT AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from
 | 
			
		||||
	-- interfering with SELECT statements.
 | 
			
		||||
SET
 | 
			
		||||
	NOCOUNT ON;
 | 
			
		||||
 | 
			
		||||
-- Insert statements for procedure here
 | 
			
		||||
SELECT
 | 
			
		||||
	DISTINCT A.*,
 | 
			
		||||
	U.FirstName + ' ' + U.LastName AS UploadedByName,
 | 
			
		||||
	SUBSTRING(
 | 
			
		||||
		FileName,
 | 
			
		||||
		PATINDEX('%.%', FileName) + 1,
 | 
			
		||||
		LEN(FileName)
 | 
			
		||||
	) AS FileExtension
 | 
			
		||||
FROM
 | 
			
		||||
	CCMeeting M
 | 
			
		||||
	INNER JOIN CCMeetingAttachment A ON M.MeetingID = A.MeetingID
 | 
			
		||||
	LEFT JOIN Users U ON A.UploadedByID = U.UserID
 | 
			
		||||
WHERE
 | 
			
		||||
	M.MeetingID = @MeetingID
 | 
			
		||||
END
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										28
									
								
								Programmability/Stored Procedures/CCGetMeetingAttendees.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								Programmability/Stored Procedures/CCGetMeetingAttendees.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,28 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  StoredProcedure [dbo].[CCGetMeetingAttendees]    Script Date: 11/21/2024 11:29:04 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE PROCEDURE [dbo].[CCGetMeetingAttendees] @MeetingID INT AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from
 | 
			
		||||
	-- interfering with SELECT statements.
 | 
			
		||||
SET
 | 
			
		||||
	NOCOUNT ON;
 | 
			
		||||
 | 
			
		||||
-- Insert statements for procedure here
 | 
			
		||||
SELECT
 | 
			
		||||
	*
 | 
			
		||||
FROM
 | 
			
		||||
	CCMeetingAttendee
 | 
			
		||||
WHERE
 | 
			
		||||
	MeetingID = @MeetingID
 | 
			
		||||
END
 | 
			
		||||
GO
 | 
			
		||||
@ -0,0 +1,94 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  StoredProcedure [dbo].[CCGetMeetingDecisionSummaryList]    Script Date: 11/21/2024 11:29:04 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE PROCEDURE [dbo].[CCGetMeetingDecisionSummaryList] -- Add the parameters for the stored procedure here
 | 
			
		||||
	@PlanNumber INT AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from
 | 
			
		||||
	-- interfering with SELECT statements.
 | 
			
		||||
SET
 | 
			
		||||
	NOCOUNT ON;
 | 
			
		||||
 | 
			
		||||
-- Insert statements for procedure here
 | 
			
		||||
/****** Script for SelectTopNRows command from SSMS  ******/
 | 
			
		||||
SELECT
 | 
			
		||||
	DISTINCT P.PCRValues AS PCRB,
 | 
			
		||||
	M.MeetingDate,
 | 
			
		||||
	CCDecisionNotes.DecisionNotes,
 | 
			
		||||
	CCECNLink.ECNs AS ECNLinks,
 | 
			
		||||
	CCLDLink.LDs AS LotDispoLinks
 | 
			
		||||
FROM
 | 
			
		||||
	CCChangeControl C
 | 
			
		||||
	INNER JOIN CCMeeting M ON C.PlanNumber = M.PlanNumber
 | 
			
		||||
	LEFT JOIN vCCMeetingPCRs P ON M.MeetingID = P.MeetingID
 | 
			
		||||
	LEFT JOIN CCDecisionSummary D ON M.MeetingID = D.MeetingID
 | 
			
		||||
	LEFT JOIN (
 | 
			
		||||
		SELECT
 | 
			
		||||
			DISTINCT MM.MeetingID,
 | 
			
		||||
			STUFF (
 | 
			
		||||
				(
 | 
			
		||||
					SELECT
 | 
			
		||||
						'~' + LTRIM(RTRIM(CAST(DecisionNotes AS VARCHAR(500))))
 | 
			
		||||
					FROM
 | 
			
		||||
						CCDecisionSummary CCD
 | 
			
		||||
					WHERE
 | 
			
		||||
						CCD.MeetingID = MM.MeetingID FOR XML PATH('')
 | 
			
		||||
				),
 | 
			
		||||
				1,
 | 
			
		||||
				1,
 | 
			
		||||
				''
 | 
			
		||||
			) AS DecisionNotes
 | 
			
		||||
		FROM
 | 
			
		||||
			CCMeeting MM
 | 
			
		||||
	) AS CCDecisionNotes ON M.MeetingID = CCDecisionNotes.MeetingID
 | 
			
		||||
	LEFT JOIN (
 | 
			
		||||
		SELECT
 | 
			
		||||
			DISTINCT MM.MeetingID,
 | 
			
		||||
			STUFF (
 | 
			
		||||
				(
 | 
			
		||||
					SELECT
 | 
			
		||||
						'~ ' + LTRIM(RTRIM(CAST(ECNLinks AS VARCHAR(100))))
 | 
			
		||||
					FROM
 | 
			
		||||
						CCDecisionSummary CCD
 | 
			
		||||
					WHERE
 | 
			
		||||
						CCD.MeetingID = MM.MeetingID FOR XML PATH('')
 | 
			
		||||
				),
 | 
			
		||||
				1,
 | 
			
		||||
				1,
 | 
			
		||||
				''
 | 
			
		||||
			) AS ECNs
 | 
			
		||||
		FROM
 | 
			
		||||
			CCMeeting MM
 | 
			
		||||
	) AS CCECNLink ON M.MeetingID = CCECNLink.MeetingID
 | 
			
		||||
	LEFT JOIN (
 | 
			
		||||
		SELECT
 | 
			
		||||
			DISTINCT MM.MeetingID,
 | 
			
		||||
			STUFF (
 | 
			
		||||
				(
 | 
			
		||||
					SELECT
 | 
			
		||||
						'~ ' + LTRIM(RTRIM(CAST(LotDispoLinks AS VARCHAR(100))))
 | 
			
		||||
					FROM
 | 
			
		||||
						CCDecisionSummary CCD
 | 
			
		||||
					WHERE
 | 
			
		||||
						CCD.MeetingID = MM.MeetingID FOR XML PATH('')
 | 
			
		||||
				),
 | 
			
		||||
				1,
 | 
			
		||||
				1,
 | 
			
		||||
				''
 | 
			
		||||
			) AS LDs
 | 
			
		||||
		FROM
 | 
			
		||||
			CCMeeting MM
 | 
			
		||||
	) AS CCLDLink ON M.MeetingID = CCLDLink.MeetingID
 | 
			
		||||
WHERE
 | 
			
		||||
	C.PlanNumber = @PlanNumber
 | 
			
		||||
END
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										29
									
								
								Programmability/Stored Procedures/CCGetMeetingFileName.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								Programmability/Stored Procedures/CCGetMeetingFileName.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,29 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  StoredProcedure [dbo].[CCGetMeetingFileName]    Script Date: 11/21/2024 11:29:04 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE PROCEDURE [dbo].[CCGetMeetingFileName] -- Add the parameters for the stored procedure here
 | 
			
		||||
	@FileGUID VARCHAR(50) AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from
 | 
			
		||||
	-- interfering with SELECT statements.
 | 
			
		||||
SET
 | 
			
		||||
	NOCOUNT ON;
 | 
			
		||||
 | 
			
		||||
-- Insert statements for procedure here
 | 
			
		||||
SELECT
 | 
			
		||||
	[FileName]
 | 
			
		||||
FROM
 | 
			
		||||
	CCMeetingAttachment
 | 
			
		||||
WHERE
 | 
			
		||||
	FileGUID = @FileGUID
 | 
			
		||||
END
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										34
									
								
								Programmability/Stored Procedures/CCGetMeetingList.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								Programmability/Stored Procedures/CCGetMeetingList.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,34 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  StoredProcedure [dbo].[CCGetMeetingList]    Script Date: 11/21/2024 11:29:04 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE PROCEDURE [dbo].[CCGetMeetingList] -- Add the parameters for the stored procedure here
 | 
			
		||||
	@PlanNumber INT AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from
 | 
			
		||||
	-- interfering with SELECT statements.
 | 
			
		||||
SET
 | 
			
		||||
	NOCOUNT ON;
 | 
			
		||||
 | 
			
		||||
SELECT
 | 
			
		||||
	*
 | 
			
		||||
FROM
 | 
			
		||||
	CCMeeting
 | 
			
		||||
WHERE
 | 
			
		||||
	PlanNumber = @PlanNumber
 | 
			
		||||
SELECT
 | 
			
		||||
	PCRValue AS PCRValueID
 | 
			
		||||
FROM
 | 
			
		||||
	CCMeetingPCRValue
 | 
			
		||||
WHERE
 | 
			
		||||
	MeetingID = @PlanNumber
 | 
			
		||||
END
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										75
									
								
								Programmability/Stored Procedures/CCGetMeetingRead.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										75
									
								
								Programmability/Stored Procedures/CCGetMeetingRead.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,75 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  StoredProcedure [dbo].[CCGetMeetingRead]    Script Date: 11/21/2024 11:29:04 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE PROCEDURE [dbo].[CCGetMeetingRead] -- Add the parameters for the stored procedure here	
 | 
			
		||||
	@MeetingID INT,
 | 
			
		||||
	@UserID INT,
 | 
			
		||||
	@CanViewITAR INT OUTPUT AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from
 | 
			
		||||
	-- interfering with SELECT statements.
 | 
			
		||||
SET
 | 
			
		||||
	NOCOUNT ON;
 | 
			
		||||
 | 
			
		||||
DECLARE @ITARRowCount INT
 | 
			
		||||
SET
 | 
			
		||||
	@CanViewITAR = 1 IF EXISTS (
 | 
			
		||||
		SELECT
 | 
			
		||||
			*
 | 
			
		||||
		FROM
 | 
			
		||||
			CCMeeting M
 | 
			
		||||
			INNER JOIN CCChangeControl C ON M.PlanNumber = C.PlanNumber
 | 
			
		||||
		WHERE
 | 
			
		||||
			MeetingID = @MeetingID
 | 
			
		||||
			AND C.IsITAR = 1
 | 
			
		||||
	) BEGIN
 | 
			
		||||
SELECT
 | 
			
		||||
	@ITARRowCount = COUNT(*)
 | 
			
		||||
FROM
 | 
			
		||||
	dbo.fnIsUserITARCompliant(@UserID) IF (@ITARRowCount > 0)
 | 
			
		||||
SET
 | 
			
		||||
	@CanViewITAR = 1
 | 
			
		||||
	ELSE
 | 
			
		||||
SET
 | 
			
		||||
	@CanViewITAR = 0
 | 
			
		||||
END -- Insert statements for procedure here
 | 
			
		||||
SELECT
 | 
			
		||||
	M.MeetingID,
 | 
			
		||||
	LTRIM(RTRIM(M.PCRB)) AS PCRB,
 | 
			
		||||
	M.MeetingDate,
 | 
			
		||||
	M.Decision,
 | 
			
		||||
	M.Notes,
 | 
			
		||||
	C.ChangeLevel,
 | 
			
		||||
	C.Title,
 | 
			
		||||
	C.PlanNumber,
 | 
			
		||||
	C.CurrentStep,
 | 
			
		||||
	M.RecordLockedBy,
 | 
			
		||||
	M.RecordLockIndicator,
 | 
			
		||||
	U1.FirstName + ' ' + U1.LastName AS RecordLockByName,
 | 
			
		||||
	CASE
 | 
			
		||||
		WHEN C.ClosedDate IS NULL THEN 0
 | 
			
		||||
		ELSE 1
 | 
			
		||||
	END PCRBClosed
 | 
			
		||||
FROM
 | 
			
		||||
	CCMeeting M
 | 
			
		||||
	INNER JOIN CCChangeControl C ON M.PlanNumber = C.PlanNumber
 | 
			
		||||
	LEFT JOIN Users U1 ON M.RecordLockedBy = U1.UserID
 | 
			
		||||
WHERE
 | 
			
		||||
	MeetingID = @MeetingID
 | 
			
		||||
SELECT
 | 
			
		||||
	PCRValue AS PCRValueID
 | 
			
		||||
FROM
 | 
			
		||||
	CCMeetingPCRValue
 | 
			
		||||
WHERE
 | 
			
		||||
	MeetingID = @MeetingID
 | 
			
		||||
END
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										36
									
								
								Programmability/Stored Procedures/CCGetPCRB.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								Programmability/Stored Procedures/CCGetPCRB.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,36 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  StoredProcedure [dbo].[CCGetPCRB]    Script Date: 11/21/2024 11:29:04 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE PROCEDURE [dbo].[CCGetPCRB] -- Add the parameters for the stored procedure here
 | 
			
		||||
	@PlanNumber INT,
 | 
			
		||||
	@PCRB VARCHAR(10) AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from
 | 
			
		||||
	-- interfering with SELECT statements.
 | 
			
		||||
SET
 | 
			
		||||
	NOCOUNT ON;
 | 
			
		||||
 | 
			
		||||
-- Insert statements for procedure here
 | 
			
		||||
SELECT
 | 
			
		||||
	PCRBID,
 | 
			
		||||
	PlanNumber,
 | 
			
		||||
	PCRB,
 | 
			
		||||
	Date,
 | 
			
		||||
	Decision,
 | 
			
		||||
	Notes
 | 
			
		||||
FROM
 | 
			
		||||
	CCPCRB
 | 
			
		||||
WHERE
 | 
			
		||||
	PlanNumber = @PlanNumber
 | 
			
		||||
	AND @PCRB = PCRB
 | 
			
		||||
END
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										82
									
								
								Programmability/Stored Procedures/CCGetPCRBActionItems.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										82
									
								
								Programmability/Stored Procedures/CCGetPCRBActionItems.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,82 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  StoredProcedure [dbo].[CCGetPCRBActionItems]    Script Date: 11/21/2024 11:29:04 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE PROCEDURE [dbo].[CCGetPCRBActionItems] @PCRBID INT AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from
 | 
			
		||||
	-- interfering with SELECT statements.
 | 
			
		||||
SET
 | 
			
		||||
	NOCOUNT ON;
 | 
			
		||||
 | 
			
		||||
-- Insert statements for procedure here
 | 
			
		||||
SELECT
 | 
			
		||||
	AI.ID,
 | 
			
		||||
	AI.PCRBID,
 | 
			
		||||
	ActionItemname,
 | 
			
		||||
	CCResponsibles.Responsibles ResponsiblePerson,
 | 
			
		||||
	CCResponsiblesID.ResponsiblesID ResponsibleID,
 | 
			
		||||
	CASE
 | 
			
		||||
		WHEN Gating = 1 THEN 'Yes'
 | 
			
		||||
		ELSE 'No'
 | 
			
		||||
	END AS Gating,
 | 
			
		||||
	DueDate
 | 
			
		||||
FROM
 | 
			
		||||
	CCPCRBActionItem AI
 | 
			
		||||
	LEFT JOIN (
 | 
			
		||||
		SELECT
 | 
			
		||||
			DISTINCT AI.ID,
 | 
			
		||||
			STUFF (
 | 
			
		||||
				(
 | 
			
		||||
					SELECT
 | 
			
		||||
						',' + LTRIM(
 | 
			
		||||
							RTRIM(
 | 
			
		||||
								CAST(U.FirstName + ' ' + U.LastName AS VARCHAR(350))
 | 
			
		||||
							)
 | 
			
		||||
						)
 | 
			
		||||
					FROM
 | 
			
		||||
						CCPCRBActionItemResponsible AIR
 | 
			
		||||
						INNER JOIN Users U ON AIR.ActionItemResponsible = U.UserID
 | 
			
		||||
					WHERE
 | 
			
		||||
						AI.ID = AIR.PCRBActionItemID FOR XML PATH('')
 | 
			
		||||
				),
 | 
			
		||||
				1,
 | 
			
		||||
				1,
 | 
			
		||||
				''
 | 
			
		||||
			) AS Responsibles
 | 
			
		||||
		FROM
 | 
			
		||||
			CCPCRBActionItem AI
 | 
			
		||||
	) AS CCResponsibles ON AI.ID = CCResponsibles.ID
 | 
			
		||||
	LEFT JOIN (
 | 
			
		||||
		SELECT
 | 
			
		||||
			DISTINCT AI.ID,
 | 
			
		||||
			STUFF (
 | 
			
		||||
				(
 | 
			
		||||
					SELECT
 | 
			
		||||
						',' + LTRIM(
 | 
			
		||||
							RTRIM(CAST(AIR.ActionItemResponsible AS VARCHAR(350)))
 | 
			
		||||
						)
 | 
			
		||||
					FROM
 | 
			
		||||
						CCMeetingActionItemResponsible AIR
 | 
			
		||||
					WHERE
 | 
			
		||||
						AI.ID = AIR.MeetingActionItemID FOR XML PATH('')
 | 
			
		||||
				),
 | 
			
		||||
				1,
 | 
			
		||||
				1,
 | 
			
		||||
				''
 | 
			
		||||
			) AS ResponsiblesID
 | 
			
		||||
		FROM
 | 
			
		||||
			CCMeetingActionItem AI
 | 
			
		||||
	) AS CCResponsiblesID ON AI.ID = CCResponsiblesID.ID
 | 
			
		||||
WHERE
 | 
			
		||||
	AI.PCRBID = @PCRBID
 | 
			
		||||
END
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										28
									
								
								Programmability/Stored Procedures/CCGetPCRBAttendees.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								Programmability/Stored Procedures/CCGetPCRBAttendees.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,28 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  StoredProcedure [dbo].[CCGetPCRBAttendees]    Script Date: 11/21/2024 11:29:04 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE PROCEDURE [dbo].[CCGetPCRBAttendees] @PCRBID INT AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from
 | 
			
		||||
	-- interfering with SELECT statements.
 | 
			
		||||
SET
 | 
			
		||||
	NOCOUNT ON;
 | 
			
		||||
 | 
			
		||||
-- Insert statements for procedure here
 | 
			
		||||
SELECT
 | 
			
		||||
	*
 | 
			
		||||
FROM
 | 
			
		||||
	CCPCRBAttendee
 | 
			
		||||
WHERE
 | 
			
		||||
	PCRBID = @PCRBID
 | 
			
		||||
END
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										30
									
								
								Programmability/Stored Procedures/CCGetPCRValues.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								Programmability/Stored Procedures/CCGetPCRValues.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,30 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  StoredProcedure [dbo].[CCGetPCRValues]    Script Date: 11/21/2024 11:29:04 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE PROCEDURE [dbo].[CCGetPCRValues] -- Add the parameters for the stored procedure here
 | 
			
		||||
	AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from
 | 
			
		||||
	-- interfering with SELECT statements.
 | 
			
		||||
SET
 | 
			
		||||
	NOCOUNT ON;
 | 
			
		||||
 | 
			
		||||
-- Insert statements for procedure here
 | 
			
		||||
SELECT
 | 
			
		||||
	PCRValue AS PCRValueID,
 | 
			
		||||
	PCRValue AS PCRValueName
 | 
			
		||||
FROM
 | 
			
		||||
	CCPCRValues
 | 
			
		||||
ORDER BY
 | 
			
		||||
	PCRValue
 | 
			
		||||
END
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										29
									
								
								Programmability/Stored Procedures/CCGetPartNumbers.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								Programmability/Stored Procedures/CCGetPartNumbers.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,29 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  StoredProcedure [dbo].[CCGetPartNumbers]    Script Date: 11/21/2024 11:29:04 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE PROCEDURE [dbo].[CCGetPartNumbers] AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from
 | 
			
		||||
	-- interfering with SELECT statements.
 | 
			
		||||
SET
 | 
			
		||||
	NOCOUNT ON;
 | 
			
		||||
 | 
			
		||||
-- Insert statements for procedure here
 | 
			
		||||
SELECT
 | 
			
		||||
	DISTINCT PartNumberID,
 | 
			
		||||
	PartNumber
 | 
			
		||||
FROM
 | 
			
		||||
	CCPartNumberMaster
 | 
			
		||||
ORDER BY
 | 
			
		||||
	PartNumber
 | 
			
		||||
END
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										29
									
								
								Programmability/Stored Procedures/CCGetProcesses.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								Programmability/Stored Procedures/CCGetProcesses.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,29 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  StoredProcedure [dbo].[CCGetProcesses]    Script Date: 11/21/2024 11:29:04 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE PROCEDURE [dbo].[CCGetProcesses] AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from
 | 
			
		||||
	-- interfering with SELECT statements.
 | 
			
		||||
SET
 | 
			
		||||
	NOCOUNT ON;
 | 
			
		||||
 | 
			
		||||
-- Insert statements for procedure here
 | 
			
		||||
SELECT
 | 
			
		||||
	DISTINCT ProcessID,
 | 
			
		||||
	Process
 | 
			
		||||
FROM
 | 
			
		||||
	CCProcessMaster
 | 
			
		||||
ORDER BY
 | 
			
		||||
	Process
 | 
			
		||||
END
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										251
									
								
								Programmability/Stored Procedures/CCGetReport.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										251
									
								
								Programmability/Stored Procedures/CCGetReport.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,251 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  StoredProcedure [dbo].[CCGetReport]    Script Date: 11/21/2024 11:29:04 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	CREATE PROCEDURE [dbo].[CCGetReport] @PlanNumber varchar(50) = NULL,
 | 
			
		||||
	@OwnerID int = NULL,
 | 
			
		||||
	@Title varchar(100) = NULL,
 | 
			
		||||
	@ChangeLevel int = NULL,
 | 
			
		||||
	@PCRValue varchar(50) = NULL,
 | 
			
		||||
	@GenerationIDs varchar(max) = NULL,
 | 
			
		||||
	@Tool varchar(100) = NULL,
 | 
			
		||||
	@ProcessIDs varchar(max) = NULL,
 | 
			
		||||
	@StartDateFrom date = NULL,
 | 
			
		||||
	@StartDateTo date = NULL,
 | 
			
		||||
	@ClosedDateFrom date = NULL,
 | 
			
		||||
	@ClosedDateTo date = NULL,
 | 
			
		||||
	@LatestMeetingDateFrom date = NULL,
 | 
			
		||||
	@LatestMeetingDateTo date = NULL,
 | 
			
		||||
	@BaseURL varchar(100) = NULL,
 | 
			
		||||
	@Username varchar(100) = '' AS BEGIN
 | 
			
		||||
SET
 | 
			
		||||
	XACT_ABORT ON
 | 
			
		||||
INSERT INTO
 | 
			
		||||
	ReportLog([ProcName], [Username], [Parms])
 | 
			
		||||
SELECT
 | 
			
		||||
	OBJECT_NAME(@ @PROCID),
 | 
			
		||||
	@Username,
 | 
			
		||||
	(
 | 
			
		||||
		SELECT
 | 
			
		||||
			@PlanNumber AS PlanNumber,
 | 
			
		||||
			@OwnerID AS OwnerID,
 | 
			
		||||
			@Title AS Title,
 | 
			
		||||
			@ChangeLevel AS ChangeLevel,
 | 
			
		||||
			@PCRValue AS PCRValue,
 | 
			
		||||
			@GenerationIDs AS GenerationIDs,
 | 
			
		||||
			@Tool AS Tool,
 | 
			
		||||
			@ProcessIDs AS ProcessIDs,
 | 
			
		||||
			@StartDateFrom AS StartDateFrom,
 | 
			
		||||
			@StartDateTo AS StartDateTo,
 | 
			
		||||
			@ClosedDateFrom AS ClosedDateFrom,
 | 
			
		||||
			@ClosedDateTo AS ClosedDateTo,
 | 
			
		||||
			@LatestMeetingDateFrom AS LatestMeetingDateFrom,
 | 
			
		||||
			@LatestMeetingDateTo AS LatestMeetingDateTo,
 | 
			
		||||
			@BaseURL AS BaseURL FOR XML PATH
 | 
			
		||||
	)
 | 
			
		||||
SELECT
 | 
			
		||||
	dbo.fnPlanConvertPlanNoToDisplayFormat(C.PlanNumber) AS PlanNumber,
 | 
			
		||||
	Dates.StartDate,
 | 
			
		||||
	U.FirstName + ' ' + U.LastName AS [Owner],
 | 
			
		||||
	C.Title,
 | 
			
		||||
	CASE
 | 
			
		||||
		WHEN ChangeLevel = -1 THEN NULL
 | 
			
		||||
		ELSE ChangeLevel
 | 
			
		||||
	END AS ChangeLevel,
 | 
			
		||||
	CASE
 | 
			
		||||
		WHEN [STATUS] = 1 THEN 'Closed'
 | 
			
		||||
		WHEN [STATUS] = 2 THEN 'Cancelled'
 | 
			
		||||
		WHEN [STATUS] = 0 THEN STUFF(
 | 
			
		||||
			(
 | 
			
		||||
				SELECT
 | 
			
		||||
					', ' + LTRIM(RTRIM(CAST(PCRValue AS VARCHAR(50))))
 | 
			
		||||
				FROM
 | 
			
		||||
					CCMeetingPCRValue P
 | 
			
		||||
				WHERE
 | 
			
		||||
					P.MeetingID = LatestMeeting.MeetingID
 | 
			
		||||
				ORDER BY
 | 
			
		||||
					1 FOR XML PATH('')
 | 
			
		||||
			),
 | 
			
		||||
			1,
 | 
			
		||||
			2,
 | 
			
		||||
			''
 | 
			
		||||
		)
 | 
			
		||||
		ELSE ''
 | 
			
		||||
	END AS PCRBStatus,
 | 
			
		||||
	LatestMeeting.MeetingDate AS LatestMeetingDate,
 | 
			
		||||
	CASE
 | 
			
		||||
		WHEN LatestMeeting.Decision = 1 THEN 'Approved'
 | 
			
		||||
		WHEN LatestMeeting.Decision = 0 THEN 'Not-Approved'
 | 
			
		||||
		ELSE 'Open'
 | 
			
		||||
	END AS LatestMeetingDecision,
 | 
			
		||||
	LatestMeeting.DecisionNotes AS LatestMeetingDecisionNotes,
 | 
			
		||||
	STUFF(
 | 
			
		||||
		(
 | 
			
		||||
			SELECT
 | 
			
		||||
				', ' + LTRIM(RTRIM(CAST(Generation AS VARCHAR(50))))
 | 
			
		||||
			FROM
 | 
			
		||||
				CCGeneration CCG
 | 
			
		||||
				LEFT JOIN CCGenerationMaster GM ON CCG.GenerationID = GM.GenerationID
 | 
			
		||||
			WHERE
 | 
			
		||||
				CCG.PlanNumber = C.PlanNumber FOR XML PATH('')
 | 
			
		||||
		),
 | 
			
		||||
		1,
 | 
			
		||||
		2,
 | 
			
		||||
		''
 | 
			
		||||
	) AS Generations,
 | 
			
		||||
	C.ToolTypes,
 | 
			
		||||
	STUFF(
 | 
			
		||||
		(
 | 
			
		||||
			SELECT
 | 
			
		||||
				', ' + LTRIM(RTRIM(CAST(Process AS VARCHAR(50))))
 | 
			
		||||
			FROM
 | 
			
		||||
				CCProcess CCP
 | 
			
		||||
				LEFT JOIN CCProcessMaster PM ON CCP.ProcessID = PM.ProcessID
 | 
			
		||||
			WHERE
 | 
			
		||||
				CCP.PlanNumber = C.PlanNumber FOR XML PATH('')
 | 
			
		||||
		),
 | 
			
		||||
		1,
 | 
			
		||||
		2,
 | 
			
		||||
		''
 | 
			
		||||
	) AS Processes,
 | 
			
		||||
	C.ChangeDescription,
 | 
			
		||||
	C.ReasonForChange,
 | 
			
		||||
	ClosedDate,
 | 
			
		||||
	@BaseURL + '/ChangeControl/Edit?IssueID=' + CONVERT(varchar(10), C.PlanNumber) AS [URL]
 | 
			
		||||
FROM
 | 
			
		||||
	CCChangeControl C
 | 
			
		||||
	LEFT JOIN Users U ON C.OwnerID = U.UserID
 | 
			
		||||
	OUTER APPLY (
 | 
			
		||||
		SELECT
 | 
			
		||||
			MIN(MeetingDate) AS StartDate,
 | 
			
		||||
			MAX(MeetingDate) AS StatusDate
 | 
			
		||||
		FROM
 | 
			
		||||
			CCMeeting
 | 
			
		||||
		WHERE
 | 
			
		||||
			CCMeeting.PlanNumber = C.PlanNumber
 | 
			
		||||
		GROUP BY
 | 
			
		||||
			PlanNumber
 | 
			
		||||
	) AS Dates
 | 
			
		||||
	OUTER APPLY (
 | 
			
		||||
		SELECT
 | 
			
		||||
			TOP 1 CCMeeting.*,
 | 
			
		||||
			CCDecisionSummary.DecisionNotes
 | 
			
		||||
		FROM
 | 
			
		||||
			CCMeeting
 | 
			
		||||
			LEFT OUTER JOIN CCDecisionSummary ON CCDecisionSummary.MeetingID = CCMeeting.MeetingID
 | 
			
		||||
		WHERE
 | 
			
		||||
			CCMeeting.PlanNumber = C.PlanNumber
 | 
			
		||||
		ORDER BY
 | 
			
		||||
			MeetingDate DESC
 | 
			
		||||
	) AS LatestMeeting
 | 
			
		||||
WHERE
 | 
			
		||||
	(
 | 
			
		||||
		@PlanNumber IS NULL
 | 
			
		||||
		OR dbo.fnPlanConvertPlanNoToDisplayFormat(C.PlanNumber) LIKE '%' + @PlanNumber + '%'
 | 
			
		||||
	)
 | 
			
		||||
	AND (
 | 
			
		||||
		ISNULL(@OwnerID, -1) = -1
 | 
			
		||||
		OR C.OwnerID = @OwnerID
 | 
			
		||||
	)
 | 
			
		||||
	AND (
 | 
			
		||||
		ISNULL(@Title, '') = ''
 | 
			
		||||
		OR C.Title LIKE '%' + @Title + '%'
 | 
			
		||||
	)
 | 
			
		||||
	AND (
 | 
			
		||||
		ISNULL(@ChangeLevel, -1) = -1
 | 
			
		||||
		OR C.ChangeLevel = @ChangeLevel
 | 
			
		||||
	)
 | 
			
		||||
	AND (
 | 
			
		||||
		ISNULL(@PCRValue, '') = ''
 | 
			
		||||
		OR (
 | 
			
		||||
			@PCRValue = 'Closed'
 | 
			
		||||
			AND [Status] = 1
 | 
			
		||||
		)
 | 
			
		||||
		OR (
 | 
			
		||||
			@PCRValue = 'Cancelled'
 | 
			
		||||
			AND [Status] = 2
 | 
			
		||||
		)
 | 
			
		||||
		OR (
 | 
			
		||||
			[Status] = 0
 | 
			
		||||
			AND EXISTS (
 | 
			
		||||
				SELECT
 | 
			
		||||
					1
 | 
			
		||||
				FROM
 | 
			
		||||
					CCMeetingPCRValue P
 | 
			
		||||
				WHERE
 | 
			
		||||
					P.MeetingID = LatestMeeting.MeetingID
 | 
			
		||||
					AND P.PCRValue = @PCRValue
 | 
			
		||||
			)
 | 
			
		||||
		)
 | 
			
		||||
	)
 | 
			
		||||
	AND (
 | 
			
		||||
		ISNULL(@GenerationIDs, '') = ''
 | 
			
		||||
		OR EXISTS (
 | 
			
		||||
			SELECT
 | 
			
		||||
				1
 | 
			
		||||
			FROM
 | 
			
		||||
				CCGeneration CCG
 | 
			
		||||
			WHERE
 | 
			
		||||
				CCG.PlanNumber = C.PlanNumber
 | 
			
		||||
				AND CCG.GenerationID IN (
 | 
			
		||||
					SELECT
 | 
			
		||||
						Val
 | 
			
		||||
					FROM
 | 
			
		||||
						dbo.fnSplitCSV(@GenerationIDs)
 | 
			
		||||
				)
 | 
			
		||||
		)
 | 
			
		||||
	)
 | 
			
		||||
	AND (
 | 
			
		||||
		ISNULL(@Tool, '') = ''
 | 
			
		||||
		OR C.ToolTypes LIKE '%' + @Tool + '%'
 | 
			
		||||
	)
 | 
			
		||||
	AND (
 | 
			
		||||
		ISNULL(@ProcessIDs, '') = ''
 | 
			
		||||
		OR EXISTS (
 | 
			
		||||
			SELECT
 | 
			
		||||
				1
 | 
			
		||||
			FROM
 | 
			
		||||
				CCProcess CCP
 | 
			
		||||
			WHERE
 | 
			
		||||
				CCP.PlanNumber = C.PlanNumber
 | 
			
		||||
				AND CCP.ProcessID IN (
 | 
			
		||||
					SELECT
 | 
			
		||||
						Val
 | 
			
		||||
					FROM
 | 
			
		||||
						dbo.fnSplitCSV(@ProcessIDs)
 | 
			
		||||
				)
 | 
			
		||||
		)
 | 
			
		||||
	)
 | 
			
		||||
	AND (
 | 
			
		||||
		@StartDateFrom IS NULL
 | 
			
		||||
		OR @StartDateFrom <= CONVERT(date, Dates.StartDate)
 | 
			
		||||
	)
 | 
			
		||||
	AND (
 | 
			
		||||
		@StartDateTo IS NULL
 | 
			
		||||
		OR CONVERT(date, Dates.StartDate) <= @StartDateTo
 | 
			
		||||
	)
 | 
			
		||||
	AND (
 | 
			
		||||
		@ClosedDateFrom IS NULL
 | 
			
		||||
		OR @ClosedDateFrom <= CONVERT(date, ClosedDate)
 | 
			
		||||
	)
 | 
			
		||||
	AND (
 | 
			
		||||
		@ClosedDateTo IS NULL
 | 
			
		||||
		OR CONVERT(date, ClosedDate) <= @ClosedDateTo
 | 
			
		||||
	)
 | 
			
		||||
	AND (
 | 
			
		||||
		@LatestMeetingDateFrom IS NULL
 | 
			
		||||
		OR @LatestMeetingDateFrom <= CONVERT(date, LatestMeeting.MeetingDate)
 | 
			
		||||
	)
 | 
			
		||||
	AND (
 | 
			
		||||
		@LatestMeetingDateTo IS NULL
 | 
			
		||||
		OR CONVERT(date, LatestMeeting.MeetingDate) <= @LatestMeetingDateTo
 | 
			
		||||
	)
 | 
			
		||||
ORDER BY
 | 
			
		||||
	C.PlanNumber
 | 
			
		||||
END
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										30
									
								
								Programmability/Stored Procedures/CCGetSites.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								Programmability/Stored Procedures/CCGetSites.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,30 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  StoredProcedure [dbo].[CCGetSites]    Script Date: 11/21/2024 11:29:04 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE PROCEDURE [dbo].[CCGetSites] -- Add the parameters for the stored procedure here
 | 
			
		||||
	AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from
 | 
			
		||||
	-- interfering with SELECT statements.
 | 
			
		||||
SET
 | 
			
		||||
	NOCOUNT ON;
 | 
			
		||||
 | 
			
		||||
-- Insert statements for procedure here
 | 
			
		||||
SELECT
 | 
			
		||||
	SiteName AS SiteID,
 | 
			
		||||
	SiteName
 | 
			
		||||
FROM
 | 
			
		||||
	CCSite
 | 
			
		||||
ORDER BY
 | 
			
		||||
	SiteName
 | 
			
		||||
END
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										29
									
								
								Programmability/Stored Procedures/CCGetToolTypes.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								Programmability/Stored Procedures/CCGetToolTypes.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,29 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  StoredProcedure [dbo].[CCGetToolTypes]    Script Date: 11/21/2024 11:29:04 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE PROCEDURE [dbo].[CCGetToolTypes] AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from
 | 
			
		||||
	-- interfering with SELECT statements.
 | 
			
		||||
SET
 | 
			
		||||
	NOCOUNT ON;
 | 
			
		||||
 | 
			
		||||
-- Insert statements for procedure here
 | 
			
		||||
SELECT
 | 
			
		||||
	DISTINCT ToolTypeID,
 | 
			
		||||
	ToolType
 | 
			
		||||
FROM
 | 
			
		||||
	CCToolTypeMaster
 | 
			
		||||
ORDER BY
 | 
			
		||||
	ToolType
 | 
			
		||||
END
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										31
									
								
								Programmability/Stored Procedures/CCGetUsers.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								Programmability/Stored Procedures/CCGetUsers.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,31 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  StoredProcedure [dbo].[CCGetUsers]    Script Date: 11/21/2024 11:29:04 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE PROCEDURE [dbo].[CCGetUsers] -- Add the parameters for the stored procedure here
 | 
			
		||||
	AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from
 | 
			
		||||
	-- interfering with SELECT statements.
 | 
			
		||||
SET
 | 
			
		||||
	NOCOUNT ON;
 | 
			
		||||
 | 
			
		||||
-- Insert statements for procedure here
 | 
			
		||||
SELECT
 | 
			
		||||
	UserID AS AttendeeID,
 | 
			
		||||
	FirstName + ' ' + LastName AS AttendeeName
 | 
			
		||||
FROM
 | 
			
		||||
	Users
 | 
			
		||||
ORDER BY
 | 
			
		||||
	FirstName,
 | 
			
		||||
	LastName
 | 
			
		||||
END
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										31
									
								
								Programmability/Stored Procedures/CCInsertCCAttachment.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								Programmability/Stored Procedures/CCInsertCCAttachment.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,31 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  StoredProcedure [dbo].[CCInsertCCAttachment]    Script Date: 11/21/2024 11:29:04 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE PROCEDURE [dbo].[CCInsertCCAttachment] @ID INT OUT,
 | 
			
		||||
	@PlanNumber INT,
 | 
			
		||||
	@Title VARCHAR(100) = '',
 | 
			
		||||
	@RequirementsNotes VARCHAR(500) AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from
 | 
			
		||||
	-- interfering with SELECT statements.
 | 
			
		||||
SET
 | 
			
		||||
	NOCOUNT ON;
 | 
			
		||||
 | 
			
		||||
-- Insert statements for procedure here
 | 
			
		||||
INSERT INTO
 | 
			
		||||
	CCAttachment (PlanNumber, Title, RequirementsNotes)
 | 
			
		||||
VALUES
 | 
			
		||||
	(@PlanNumber, @Title, @RequirementsNotes)
 | 
			
		||||
SET
 | 
			
		||||
	@ID = SCOPE_IDENTITY()
 | 
			
		||||
END
 | 
			
		||||
GO
 | 
			
		||||
							
								
								
									
										138
									
								
								Programmability/Stored Procedures/CCInsertChangeControl.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										138
									
								
								Programmability/Stored Procedures/CCInsertChangeControl.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,138 @@
 | 
			
		||||
USE [FabApprovalSystem]
 | 
			
		||||
GO
 | 
			
		||||
	/****** Object:  StoredProcedure [dbo].[CCInsertChangeControl]    Script Date: 11/21/2024 11:29:04 AM ******/
 | 
			
		||||
SET
 | 
			
		||||
	ANSI_NULLS ON
 | 
			
		||||
GO
 | 
			
		||||
SET
 | 
			
		||||
	QUOTED_IDENTIFIER ON
 | 
			
		||||
GO
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	-- Author:		<Author,,Name>
 | 
			
		||||
	-- Create date: <Create Date,,>
 | 
			
		||||
	-- Description:	<Description,,>
 | 
			
		||||
	-- =============================================
 | 
			
		||||
	CREATE PROCEDURE [dbo].[CCInsertChangeControl] -- Add the parameters for the stored procedure here
 | 
			
		||||
	@OwnerID INT,
 | 
			
		||||
	@PlanNumber INT OUT AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from
 | 
			
		||||
	-- interfering with SELECT statements.
 | 
			
		||||
SET
 | 
			
		||||
	NOCOUNT ON;
 | 
			
		||||
 | 
			
		||||
-- Insert statements for procedure here
 | 
			
		||||
BEGIN DECLARE @CurrentYear INT DECLARE @CurrentYearlyIdentifier INT DECLARE @NextYearlyIdentifier INT DECLARE @MesaPlanNo VARCHAR(20)
 | 
			
		||||
SET
 | 
			
		||||
	@CurrentYear = YEAR(GETDATE()) IF EXISTS (
 | 
			
		||||
		Select
 | 
			
		||||
			*
 | 
			
		||||
		FROM
 | 
			
		||||
			CCCurrentSequence
 | 
			
		||||
		WHERE
 | 
			
		||||
			year = @CurrentYear
 | 
			
		||||
	) BEGIN
 | 
			
		||||
SET
 | 
			
		||||
	@CurrentYearlyIdentifier = (
 | 
			
		||||
		SELECT
 | 
			
		||||
			currentSequence
 | 
			
		||||
		FROM
 | 
			
		||||
			CCCurrentSequence
 | 
			
		||||
		WHERE
 | 
			
		||||
			year = @CurrentYear
 | 
			
		||||
	) + 1
 | 
			
		||||
UPDATE
 | 
			
		||||
	CCCurrentSequence
 | 
			
		||||
SET
 | 
			
		||||
	currentSequence = @CurrentYearlyIdentifier
 | 
			
		||||
WHERE
 | 
			
		||||
	year = @CurrentYear
 | 
			
		||||
END
 | 
			
		||||
ELSE BEGIN
 | 
			
		||||
SET
 | 
			
		||||
	@CurrentYearlyIdentifier = 1
 | 
			
		||||
INSERT INTO
 | 
			
		||||
	CCCurrentSequence (year, currentSequence)
 | 
			
		||||
VALUES
 | 
			
		||||
	(@CurrentYear, @CurrentYearlyIdentifier)
 | 
			
		||||
END
 | 
			
		||||
END
 | 
			
		||||
SET
 | 
			
		||||
	@MesaPlanNo = CONCAT(
 | 
			
		||||
		'M-',
 | 
			
		||||
		@CurrentYear,
 | 
			
		||||
		'-',
 | 
			
		||||
		REPLICATE('0', 4 - LEN(RTRIM(@CurrentYearlyIdentifier))) + RTRIM(@CurrentYearlyIdentifier)
 | 
			
		||||
	)
 | 
			
		||||
INSERT INTO
 | 
			
		||||
	CCChangeControl (OwnerID, PlanYearlyIdentifier, MesaPlanNo)
 | 
			
		||||
VALUES
 | 
			
		||||
	(@OwnerID, @CurrentYearlyIdentifier, @MesaPlanNo)
 | 
			
		||||
SET
 | 
			
		||||
	@PlanNumber = CAST(SCOPE_IDENTITY() AS INT)
 | 
			
		||||
INSERT INTO
 | 
			
		||||
	CCAttachment (PlanNumber, Title, RequirementsNotes)
 | 
			
		||||
SELECT
 | 
			
		||||
	@PlanNumber,
 | 
			
		||||
	CCAttachmentTitle,
 | 
			
		||||
	CCAttachmentRequirementNotes
 | 
			
		||||
FROM
 | 
			
		||||
	CCAttachmentDefaults -- Add the three PCRB's automatically
 | 
			
		||||
	-- PCR 1
 | 
			
		||||
INSERT INTO
 | 
			
		||||
	CCPCRB (PlanNumber, PCRB)
 | 
			
		||||
VALUES
 | 
			
		||||
	(@PlanNumber, 'PCR1')
 | 
			
		||||
UPDATE
 | 
			
		||||
	CCChangeControl
 | 
			
		||||
set
 | 
			
		||||
	PCR1ID = CAST(SCOPE_IDENTITY() AS INT)
 | 
			
		||||
WHERE
 | 
			
		||||
	PlanNumber = @PlanNumber
 | 
			
		||||
INSERT INTO
 | 
			
		||||
	CCPCRBAttendee (PCRBID, AttendeeName, JobTitle, Location)
 | 
			
		||||
SELECT
 | 
			
		||||
	CAST(SCOPE_IDENTITY() AS INT),
 | 
			
		||||
	AttendeeName,
 | 
			
		||||
	PCRBAttendeeJobTtile,
 | 
			
		||||
	Location
 | 
			
		||||
FROM
 | 
			
		||||
	CCPCRBAttendeeJobTitle
 | 
			
		||||
INSERT INTO
 | 
			
		||||
	CCPCRB (PlanNumber, PCRB)
 | 
			
		||||
VALUES
 | 
			
		||||
	(@PlanNumber, 'PCR2')
 | 
			
		||||
UPDATE
 | 
			
		||||
	CCChangeControl
 | 
			
		||||
set
 | 
			
		||||
	PCR2ID = CAST(SCOPE_IDENTITY() AS INT)
 | 
			
		||||
WHERE
 | 
			
		||||
	PlanNumber = @PlanNumber
 | 
			
		||||
INSERT INTO
 | 
			
		||||
	CCPCRBAttendee (PCRBID, AttendeeName, JobTitle, Location)
 | 
			
		||||
SELECT
 | 
			
		||||
	CAST(SCOPE_IDENTITY() AS INT),
 | 
			
		||||
	AttendeeName,
 | 
			
		||||
	PCRBAttendeeJobTtile,
 | 
			
		||||
	Location
 | 
			
		||||
FROM
 | 
			
		||||
	CCPCRBAttendeeJobTitle
 | 
			
		||||
INSERT INTO
 | 
			
		||||
	CCPCRB (PlanNumber, PCRB)
 | 
			
		||||
VALUES
 | 
			
		||||
	(@PlanNumber, 'PCR3')
 | 
			
		||||
UPDATE
 | 
			
		||||
	CCChangeControl
 | 
			
		||||
set
 | 
			
		||||
	PCR3ID = CAST(SCOPE_IDENTITY() AS INT)
 | 
			
		||||
WHERE
 | 
			
		||||
	PlanNumber = @PlanNumber
 | 
			
		||||
INSERT INTO
 | 
			
		||||
	CCPCRBAttendee (PCRBID, AttendeeName, JobTitle, Location)
 | 
			
		||||
SELECT
 | 
			
		||||
	CAST(SCOPE_IDENTITY() AS INT),
 | 
			
		||||
	AttendeeName,
 | 
			
		||||
	PCRBAttendeeJobTtile,
 | 
			
		||||
	Location
 | 
			
		||||
FROM
 | 
			
		||||
	CCPCRBAttendeeJobTitle
 | 
			
		||||
END
 | 
			
		||||
GO
 | 
			
		||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user