USE [FabApprovalSystem] GO /****** Object: StoredProcedure [dbo].[ECNInsertEmergencyECNApprovers] Script Date: 11/21/2024 11:29:04 AM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: -- Create date: -- Description: -- ============================================= CREATE PROCEDURE [dbo].[ECNInsertEmergencyECNApprovers] @ECNNumber INT, @Step INT, @UserID INT, @DocumentTypeID INT, @SubRoleCategoryName VARCHAR(100), @Email VARCHAR(50) OUTPUT AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; DECLARE @RoleID INT DECLARE @RoleName VARCHAR(50) DECLARE @SubRoleID INT DECLARE @SubRoleName VARCHAR(50) DECLARE @ApprovalType TINYINT DECLARE @WorkFlowNumber INT SELECT @WorkFlowNumber = WorkFlowNumber FROM ECN WHERE ECNNumber = @ECNNumber -- Get the approval type of the current step SET @ApprovalType = ( SELECT Top 1 WS.ApprovalType FROM SubRoleCategory SRC INNER JOIN SubRole SR ON SRC.SubRoleCategoryID = SR.SubRoleCategoryID INNER JOIN Role R ON SR.RoleID = R.RoleID INNER JOIN WorkflowSteps WS ON R.RoleID = WS.RoleID INNER JOIN Workflows W ON WS.WorkflowID = W.DocumentTypeID WHERE SRC.SubRoleCategoryItem = 'Engineering' AND W.DocumentTypeID = @DocumentTypeID ) SELECT Top 1 @ApprovalType = WS.ApprovalType, @RoleID = R.RoleID, @RoleName = R.RoleName, @SubRoleID = SR.SubRoleID, @SubRoleName = SR.SubRole FROM SubRoleCategory SRC INNER JOIN SubRole SR ON SRC.SubRoleCategoryID = SR.SubRoleCategoryID INNER JOIN Role R ON SR.RoleID = R.RoleID INNER JOIN WorkflowSteps WS ON R.RoleID = WS.RoleID INNER JOIN Workflows W ON WS.WorkflowID = W.DocumentTypeID AND WorkFlowNumber = @WorkFlowNumber WHERE SRC.SubRoleCategoryItem = @SubRoleCategoryName AND W.DocumentTypeID = @DocumentTypeID INSERT INTO Approval ( IssueID, RoleName, SubRole, UserID, SubRoleID, ItemStatus, Step, AssignedDate, NotifyDate, RoleAssignedDate, ApprovalType, DocumentTypeID ) VALUES ( @ECNNumber, @RoleName, @SubRoleName, @UserID, @SubRoleID, 0, @Step, GETDATE(), GETDATE(), GETDATE(), @ApprovalType, @DocumentTypeID ) SELECT @Email = Email FROM Users WHERE UserID = @UserID END GO