Chandrashekar
3/9/2017 - 11:42 AM

Loop Each Audit For Recomputing Score and Rating

Loop Each Audit For Recomputing Score and Rating

DECLARE @tblAudits TABLE (
	Id BIGINT IDENTITY(1, 1)
	,AuditId BIGINT
	,CreatedBy NVARCHAR(50)
	)

INSERT INTO @tblAudits (
	AuditId
	,CreatedBy
	)
SELECT a.Id
	,a.CreatedBy
FROM dbo.Audit a
INNER JOIN dbo.AuditStatusMaster asm ON a.AuditStatusId = asm.Id
	AND asm.[Key] IN (
		'AC'
		,'CC'
		,'ACKED'
		,'COINP'
		)
WHERE a.IsActive = 1
ORDER BY a.Id

DECLARE @i INT = 1
DECLARE @rCount INT = 0
--
DECLARE @lAuditId BIGINT = 0
DECLARE @lCreatedBy NVARCHAR(50)

SELECT @rCount = count(1)
FROM @tblAudits

WHILE (@i <= @rCount)
BEGIN
	SELECT @lAuditId = ta.AuditId
		,@lCreatedBy = ta.CreatedBy
	FROM @tblAudits ta
	WHERE ta.Id = @i

	EXEC USP_CalculateAuditScoreMaster @auditId = @lAuditId
		,@logInUserEmpId = @lCreatedBy
		,@changeStatus = 0

	SET @i = @i + 1;
END