112 lines
2.5 KiB
Transact-SQL
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 |