Programmability objects from database
Removed commented code Added fn_GetExpiredTECNByOriginator
This commit is contained in:
parent
b99b721458
commit
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
Loading…
x
Reference in New Issue
Block a user