USE [FabApprovalSystem] GO /****** Object: StoredProcedure [dbo].[LTGetWorkRequestItem] Script Date: 11/21/2024 11:29:05 AM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: -- Create date: -- Description: -- ============================================= CREATE PROCEDURE [dbo].[LTGetWorkRequestItem] @WorkRequestID INT, @UserID INT, @IsITAR INT OUTPUT AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. DECLARE @RHRowCount INT DECLARE @ITARRowCount INT DECLARE @SWRNumber INT -- Always Get the current revision SELECT @WorkRequestID = ID FROM LTWorkRequest WHERE SWRNumber =( SELECT TOP 1 SWRNumber FROM LTWorkRequest WHERE ID = @WorkRequestID ) AND IsCurrentRevision = 1 IF NOT EXISTS ( SELECT * FROM LTWorkRequest WHERE RecordLockIndicator = 1 AND ID = @WorkRequestID ) BEGIN UPDATE LTWorkRequest SET RecordLockIndicator = 1, RecordLockedBy = @UserID, RecordLockedDate = GETDATE() WHERE ID = @WorkRequestID END -- find if this document is related to an ITAR part SELECT @RHRowCount = ( SELECT COUNT(*) FROM vFAB2SPN_MP_RECORD WITH(NOLOCK) WHERE MP_ITAR_CONTROLLED_SW = 'Y' AND MP_PART_NUMBER = ( SELECT WIPPartNumber FROM LTWorkRequest WHERE ID = @WorkRequestID ) ) IF (@RHRowCount > 0) BEGIN -- get the ITAR accessibility SELECT @ITARRowCount = COUNT(*) FROM dbo.fnIsUserITARCompliant(@UserID) IF (@ITARRowCount > 0) SET @IsITAR = 1 ELSE SET @IsITAR = 0 END SELECT WR.*, U.FirstName + ' ' + U.LastName AS OriginatorName, U1.FirstName + ' ' + U1.LastName AS RecordLockByName FROM LTWorkRequest WR LEFT JOIN Users U ON WR.OriginatorID = U.UserID LEFT JOIN Users U1 ON WR.RecordLockedBy = U1.UserID WHERE ID = @WorkRequestID SELECT DepartmentID FROM LTAffectedDepartment WHERE LTWorkRequestID = @WorkRequestID SELECT ModuleID FROM LTAffectedModule WHERE LTWorkRequestID = @WorkRequestID END GO