mesa-fab-approval/Programmability/Functions/fnGetApprovalFullNames.sql
Mike Phares ab800974b7 Programmability objects from database
Removed commented code
Added fn_GetExpiredTECNByOriginator
2024-12-12 12:15:46 -07:00

64 lines
1.2 KiB
Transact-SQL

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