You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
118 lines
7.0 KiB
118 lines
7.0 KiB
USE [FastMoneyPro_Remit]
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[PROC_AUTO_APPROVE_TXN_JOB] Script Date: 8/2/2024 4:52:06 PM ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
ALTER PROCEDURE [dbo].[PROC_AUTO_APPROVE_TXN_JOB]
|
|
AS
|
|
BEGIN
|
|
SET NOCOUNT ON;
|
|
SET XACT_ABORT ON;
|
|
|
|
BEGIN TRY
|
|
IF OBJECT_ID('tempdb..#tempTable') IS NOT NULL
|
|
DROP TABLE #tempTable;
|
|
|
|
DECLARE @MinAmt MONEY
|
|
DECLARE @tranId BIGINT
|
|
DECLARE @remarks VARCHAR(100)
|
|
DECLARE @controlNo VARCHAR(200)
|
|
|
|
SELECT @MinAmt = detailDesc
|
|
FROM staticDataValue
|
|
WHERE typeId = '10200'
|
|
AND valueId = '11486'
|
|
|
|
EXEC JobHistoryRecord @flag = 'i',
|
|
@job_name = 'PROC_AUTO_APPROVE_TXN_JOB',
|
|
@job_remarks = 'Auto Approved Txn',
|
|
@job_value = @MinAmt,
|
|
@job_user = 'SYSTEM'
|
|
|
|
CREATE TABLE #tempTable (
|
|
id BIGINT,
|
|
controlNo VARCHAR(100),
|
|
amt MONEY,
|
|
rowId INT
|
|
);
|
|
|
|
INSERT INTO #tempTable
|
|
SELECT rtt.id,
|
|
rtt.controlNo,
|
|
rtt.cAmt,
|
|
rowId = 0
|
|
FROM remitTranTemp rtt
|
|
INNER JOIN tranSenderstemp tst ON rtt.id = tst.tranId
|
|
INNER JOIN customerMaster cm ON tst.customerId = cm.customerId
|
|
WHERE rtt.tranStatus = 'Hold'
|
|
AND rtt.payStatus = 'Unpaid'
|
|
AND rtt.approvedBy IS NULL
|
|
AND rtt.tranType IN ('M', 'I')
|
|
AND rtt.verifiedBy IS NOT NULL
|
|
AND rtt.verifiedDate IS NOT NULL
|
|
AND ISNULL(rtt.sRouteId, 0) IN (0, 'M')
|
|
AND rtt.cAmt <= @MinAmt
|
|
AND cm.verificationCode = 'COMPLETED'
|
|
|
|
WHILE EXISTS (
|
|
SELECT TOP 1 1
|
|
FROM #tempTable
|
|
WHERE rowId = 0
|
|
)
|
|
BEGIN
|
|
SELECT TOP 1
|
|
@tranId = id,
|
|
@controlNo = controlNo
|
|
FROM #tempTable (NOLOCK)
|
|
WHERE rowId = 0
|
|
|
|
CREATE TABLE #tempApprove (
|
|
errorCode VARCHAR(10),
|
|
Msg VARCHAR(MAX),
|
|
Id VARCHAR(50)
|
|
);
|
|
|
|
INSERT INTO #tempApprove (errorCode, Msg, Id)
|
|
EXEC proc_ApproveHoldedTXN @flag = 'approve', @user = 'SYSTEM', @id = @tranId
|
|
|
|
SET @remarks = 'Auto approved txn by job having less than ' + CONVERT(VARCHAR(50), @MinAmt) + ' GBP'
|
|
|
|
IF EXISTS (
|
|
SELECT *
|
|
FROM #tempApprove
|
|
WHERE errorCode = 0
|
|
)
|
|
BEGIN
|
|
INSERT INTO tranModifyLog (
|
|
tranId,
|
|
controlNo,
|
|
message,
|
|
createdBy,
|
|
createdDate,
|
|
MsgType
|
|
)
|
|
SELECT @tranId,
|
|
@controlNo,
|
|
@remarks,
|
|
'SYSTEM',
|
|
GETDATE(),
|
|
'Auto Approved Transaction'
|
|
END
|
|
|
|
DROP TABLE #tempApprove
|
|
|
|
UPDATE #tempTable
|
|
SET rowId = 1
|
|
WHERE id = @tranId
|
|
END
|
|
END TRY
|
|
BEGIN CATCH
|
|
DECLARE @errorMessage VARCHAR(MAX)
|
|
|
|
SET @errorMessage = ERROR_MESSAGE()
|
|
|
|
EXEC proc_errorHandler 1, @errorMessage, NULL
|
|
END CATCH
|
|
END;
|