Summary Table

Categories Total Count
PII 0
URL 0
DNS 0
EKL 0
IP 0
PORT 0
VsID 0
CF 0
AI 0
VPD 0
PL 0
Other 0

File Content

?-- =============================================
-- Description: Identifies the maximum sensitivity level for a user / station.
--
-- Maintenance Log:
--
-- Update By Update Date Description
-- ----------- --------- ----------------------------
-- =============================================
CREATE PROCEDURE [seclyr].[uspGetUserMaxSensitivityLevel]
@userId int,
@moduleIds varchar(max),
@stationIds varchar(max)

AS
BEGIN
DECLARE @maxSensitivityLevelID tinyint
DECLARE @userRoleTable TABLE
(
ID int,
UserID int,
ModuleID smallint,
RegionID tinyint, --this is VHA Region
CCNRegionID tinyint, --this is CCN Region
VisnID tinyint,
StationID smallint,
StationName varchar(250),
RoleID tinyint,
AccessLevelID tinyint,
AccessStatus varchar(50),
SensitivityLevelID tinyint,
SensitivityLevelNamme varchar(100),
CanEdit bit
)

-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;

BEGIN TRY
--If @stationIds should use zero (null station placeholder),
--null that out so can get a proper answer
IF @stationIds = '0'
BEGIN
SET @stationIds = Null;
END
INSERT INTO @userRoleTable (ID, UserID, ModuleID, RegionID, CCNRegionID, VisnID, StationID, RoleID,
AccessStatus, AccessLevelID, SensitivityLevelID, CanEdit)
EXEC seclyr.uspGetUserStationRoles @userId, @moduleIds;

SELECT @maxSensitivityLevelID = MAX(SensitivityLevelID)
FROM @userRoleTable
WHERE (StationID In(SELECT [Value] FROM ufnSplit(',', @stationIds)) OR @stationIds IS NULL)
AND (ModuleID In(SELECT [Value] FROM ufnSplit(',', @moduleIds)) OR @moduleIds IS NULL)
AND AccessStatus = 'APPROVED';

IF @maxSensitivityLevelID Is Null
BEGIN
SET @maxSensitivityLevelID = 1;
END

SELECT @maxSensitivityLevelID AS SensitivityLevelID;
END TRY

BEGIN CATCH
PRINT 'There was an error getting maximum sensitivity level for user/station' + CHAR(13);
SELECT * FROM dbo.ufnGetErrorInfo();
EXEC uspRaiseErrorInfo;
END CATCH
END
GO