156 lines
4.2 KiB
Transact-SQL
156 lines
4.2 KiB
Transact-SQL
USE [FabApprovalSystem]
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[GetApproversListByDocument] Script Date: 11/21/2024 11:29:04 AM ******/
|
|
SET
|
|
ANSI_NULLS ON
|
|
GO
|
|
SET
|
|
QUOTED_IDENTIFIER ON
|
|
GO
|
|
-- =============================================
|
|
-- Author: <Author,,Name>
|
|
-- Create date: <Create Date,,>
|
|
-- Description: <Description,,>
|
|
-- =============================================
|
|
CREATE PROCEDURE [dbo].[GetApproversListByDocument] -- Add the parameters for the stored procedure here
|
|
@DocumentTypeID INT,
|
|
@IssueID INT,
|
|
@Step INT AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from
|
|
-- interfering with SELECT statements.
|
|
SET
|
|
NOCOUNT ON;
|
|
|
|
--IF @DocumentTypeID = 2 -- MRB
|
|
--BEGIN
|
|
-- SELECT U.UserID, U.FirstName + ' ' + U.LastName AS 'FullName'
|
|
-- FROM SubRoleCategory SRC
|
|
-- INNER JOIN SubRole SR ON SRC.SubRoleCategoryID = SR.SubRoleCategoryID
|
|
-- INNER JOIN UserSubRole USR ON SR.SubRoleID = USR.SubRoleID
|
|
-- INNER JOIN Users U ON USR.UserID = U.UserID
|
|
-- WHERE SubRoleCategoryItem = 'MRBApprover'
|
|
--END
|
|
IF @DocumentTypeID = 2
|
|
OR @DocumentTypeID = 7 -- MRB/Change Control
|
|
BEGIN
|
|
SELECT
|
|
U.UserID,
|
|
U.FirstName + ' ' + U.LastName AS 'FullName'
|
|
FROM
|
|
DocumentType D
|
|
INNER JOIN Workflows W ON D.DocumentTypeID = W.DocumentTypeID
|
|
AND WorkFlowNumber = '1'
|
|
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 UserSubRole USR ON SR.SubRoleID = USR.SubRoleID
|
|
INNER JOIN Users U ON U.UserID = USR.UserID
|
|
WHERE
|
|
D.DocumentTypeID = @DocumentTypeID
|
|
END
|
|
ELSE IF @DocumentTypeID = 5 -- Cancelled TECN
|
|
BEGIN
|
|
SELECT
|
|
U.UserID,
|
|
U.FirstName + ' ' + U.LastName AS 'FullName',
|
|
CASE
|
|
WHEN ItemStatus = 0
|
|
AND DocumentTypeID = 5 THEN 'Pending Cancellation/Expiration'
|
|
WHEN ItemStatus = 1
|
|
AND DocumentTypeID = 5 THEN 'Approved Cancellation/Expiration'
|
|
WHEN ItemStatus = 0
|
|
AND DocumentTypeID = 3 THEN 'Pending '
|
|
WHEN ItemStatus = 1
|
|
AND DocumentTypeID = 3 THEN 'Approved'
|
|
WHEN ItemStatus = 2 THEN 'Denied'
|
|
WHEN ItemStatus = 3 THEN 'Waiting'
|
|
WHEN ItemStatus = 4 THEN 'Skipped'
|
|
WHEN ItemStatus = 5 THEN 'ReAssigned'
|
|
WHEN ItemStatus = 6 THEN 'Terminated'
|
|
WHEN ItemStatus = 8 THEN 'Recalled'
|
|
END AS 'Status',
|
|
RoleName,
|
|
SubRole AS 'SubRoleName',
|
|
AssignedDate,
|
|
CompletedDate,
|
|
Comments
|
|
FROM
|
|
Approval A
|
|
INNER JOIN Users U ON A.UserID = U.UserID
|
|
WHERE
|
|
IssueID = @IssueID
|
|
AND (
|
|
DocumentTypeID = 3
|
|
OR DocumentTypeID = 5
|
|
) --(TECN and Cancelled TECN)
|
|
ORDER BY
|
|
ItemStatus
|
|
END
|
|
ELSE IF @DocumentTypeID = 12 -- In Progress CorrectiveAction
|
|
BEGIN
|
|
SELECT
|
|
U.UserID,
|
|
U.FirstName + ' ' + U.LastName AS 'FullName',
|
|
CASE
|
|
WHEN ItemStatus = 0
|
|
AND DocumentTypeID = 5 THEN 'Pending Cancellation/Expiration'
|
|
WHEN ItemStatus = 1
|
|
AND DocumentTypeID = 5 THEN 'Approved Cancellation/Expiration'
|
|
WHEN ItemStatus = 0
|
|
AND DocumentTypeID = 3 THEN 'Pending '
|
|
WHEN ItemStatus = 1
|
|
AND DocumentTypeID = 3 THEN 'Approved'
|
|
WHEN ItemStatus = 2 THEN 'Denied'
|
|
WHEN ItemStatus = 3 THEN 'Waiting'
|
|
WHEN ItemStatus = 4 THEN 'Skipped'
|
|
WHEN ItemStatus = 5 THEN 'ReAssigned'
|
|
WHEN ItemStatus = 6 THEN 'Terminated'
|
|
WHEN ItemStatus = 8 THEN 'Recalled'
|
|
END AS 'Status',
|
|
RoleName,
|
|
SubRole AS 'SubRoleName',
|
|
AssignedDate,
|
|
CompletedDate,
|
|
Comments
|
|
FROM
|
|
Approval A
|
|
INNER JOIN Users U ON A.UserID = U.UserID
|
|
WHERE
|
|
IssueID = @IssueID
|
|
AND (
|
|
DocumentTypeID = 3
|
|
OR DocumentTypeID = 5
|
|
) --(TECN and Cancelled TECN)
|
|
ORDER BY
|
|
ItemStatus
|
|
END
|
|
ELSE BEGIN -- Insert statements for procedure here
|
|
SELECT
|
|
U.UserID,
|
|
U.FirstName + ' ' + U.LastName AS 'FullName',
|
|
CASE
|
|
WHEN ItemStatus = 0 THEN 'Pending'
|
|
WHEN ItemStatus = 1 THEN 'Approved'
|
|
WHEN ItemStatus = 2 THEN 'Denied'
|
|
WHEN ItemStatus = 3 THEN 'Waiting'
|
|
WHEN ItemStatus = 4 THEN 'Skipped'
|
|
WHEN ItemStatus = 5 THEN 'ReAssigned'
|
|
WHEN ItemStatus = 6 THEN 'Terminated'
|
|
WHEN ItemStatus = 8 THEN 'Recalled'
|
|
END AS 'Status',
|
|
RoleName,
|
|
SubRole AS 'SubRoleName',
|
|
AssignedDate,
|
|
CompletedDate,
|
|
Comments
|
|
FROM
|
|
Approval A
|
|
INNER JOIN Users U ON A.UserID = U.UserID
|
|
WHERE
|
|
IssueID = @IssueID
|
|
AND DocumentTypeID = @DocumentTypeID -- Lot Dispostion
|
|
ORDER BY
|
|
ItemStatus
|
|
END
|
|
END
|
|
GO |