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