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

112 lines
2.5 KiB
Transact-SQL

USE [FabApprovalSystem]
GO
/****** Object: StoredProcedure [dbo].[CCUpdateMeetingActionItemRespPersons] Script Date: 11/21/2024 11:29:04 AM ******/
SET
ANSI_NULLS ON
GO
SET
QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[CCUpdateMeetingActionItemRespPersons] @MeetingActionItemID int,
@ResponsibleID varchar(100),
@Comments varchar(500),
@UserID int AS BEGIN
SET
NOCOUNT ON;
SET
XACT_ABORT ON;
BEGIN TRANSACTION DECLARE @SEPERATOR as VARCHAR(1) DECLARE @SP INT DECLARE @VALUE VARCHAR(1000)
SET
@SEPERATOR = ',' CREATE TABLE #tempTab (ActionItemResponsible int not null, LoginID varchar(50) not null)
WHILE PATINDEX('%' + @SEPERATOR + '%', @ResponsibleID) <> 0 BEGIN
SELECT
@SP = PATINDEX('%' + @SEPERATOR + '%', @ResponsibleID)
SELECT
@VALUE = LEFT(@ResponsibleID, @SP - 1)
SELECT
@ResponsibleID = STUFF(@ResponsibleID, 1, @SP, '')
INSERT INTO
#tempTab (ActionItemResponsible, LoginID)
SELECT
UserID,
LoginID
FROM
Users
WHERE
UserID = @VALUE
END
INSERT INTO
#tempTab (ActionItemResponsible, LoginID)
SELECT
UserID,
LoginID
FROM
Users
WHERE
UserID = @ResponsibleID DECLARE @NewRPs varchar(500)
SELECT
@NewRPs = STUFF(
(
SELECT
',' + RTRIM(LoginID)
FROM
#tempTab FOR XML PATH('')), 1, 1, '')
DECLARE @OldRPs varchar(500)
SELECT
@OldRPs = STUFF(
(
SELECT
',' + RTRIM(U.LoginID)
FROM
CCMeetingActionItemResponsible AIR
INNER JOIN Users U ON AIR.ActionItemResponsible = U.UserID
WHERE
AIR.MeetingActionItemID = @MeetingActionItemID FOR XML PATH('')
),
1,
1,
''
)
INSERT INTO
EventLog(
[IssueID],
[SysDocumentID],
[UserID],
[DocumentType],
[OperationType],
[Comments],
[InsertTimeStamp]
)
SELECT
@MeetingActionItemID,
NULL,
@UserID,
'MeetingActionItem',
'Reassign Responsible Persons',
LEFT(
'Responsible persons changed from ' + @OldRPs + ' to ' + @NewRPs + ' by ' + ISNULL(me.LoginID, CONVERT(varchar(20), @UserID)) + ' comments: ' + @Comments,
500
),
GETDATE()
FROM
CCMeetingActionItem
LEFT OUTER JOIN Users me ON me.UserID = @UserID
WHERE
CCMeetingActionItem.ID = @MeetingActionItemID
DELETE FROM
CCMeetingActionItemResponsible
WHERE
MeetingActionItemID = @MeetingActionItemID
INSERT INTO
CCMeetingActionItemResponsible
SELECT
@MeetingActionItemID,
ActionItemResponsible
FROM
#tempTab
DROP TABLE #tempTab
COMMIT TRANSACTION
END
GO