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.
833 lines
31 KiB
833 lines
31 KiB
USE FastMoneyPro_Remit
|
|
GO
|
|
|
|
ALTER PROC [dbo].[proc_ApproveHoldedTXN] (
|
|
@flag VARCHAR(50)
|
|
,@user VARCHAR(130)
|
|
,@userType VARCHAR(10) = NULL
|
|
,@branch VARCHAR(50) = NULL
|
|
,@id VARCHAR(40) = NULL
|
|
,@country VARCHAR(50) = NULL
|
|
,@sender VARCHAR(50) = NULL
|
|
,@receiver VARCHAR(50) = NULL
|
|
,@amt MONEY = NULL
|
|
,@bank VARCHAR(50) = NULL
|
|
,@voucherNo VARCHAR(50) = NULL
|
|
,@branchId INT = NULL
|
|
,@pin VARCHAR(50) = NULL
|
|
,@errorCode VARCHAR(10) = NULL
|
|
,@msg VARCHAR(500) = NULL
|
|
,@idList XML = NULL
|
|
,@txnDate VARCHAR(20) = NULL
|
|
,@txncreatedBy VARCHAR(50) = NULL
|
|
,@xml VARCHAR(MAX) = NULL
|
|
,@remarks VARCHAR(MAX) = NULL
|
|
,@settlingAgentId INT = NULL
|
|
,@ControlNo VARCHAR(50) = NULL
|
|
,@txnType VARCHAR(1) = NULL
|
|
,@sendCountry VARCHAR(50) = NULL
|
|
,@sendAgent VARCHAR(50) = NULL
|
|
,@sendBranch VARCHAR(50) = NULL
|
|
|
|
)
|
|
|
|
AS
|
|
BEGIN TRY
|
|
|
|
DECLARE
|
|
@table VARCHAR(MAX)
|
|
,@sql VARCHAR(MAX)
|
|
,@sqlSelfTxn VARCHAR(MAX)
|
|
,@sRouteId VARCHAR(5)
|
|
|
|
SET NOCOUNT ON;
|
|
SET XACT_ABORT ON;
|
|
|
|
DECLARE
|
|
@pinEncrypted VARCHAR(50) = dbo.FNAEncryptString(@pin)
|
|
,@cAmt MONEY
|
|
,@userId INT
|
|
,@createdBy VARCHAR(50)
|
|
,@tranStatus VARCHAR(50)
|
|
,@message VARCHAR(200)
|
|
,@sBranch BIGINT
|
|
,@invicePrintMethod VARCHAR(50)
|
|
,@parentId BIGINT
|
|
,@tablesql AS VARCHAR(MAX)
|
|
,@branchList VARCHAR(MAX)
|
|
,@denyAmt MONEY
|
|
|
|
IF @pin IS NULL
|
|
BEGIN
|
|
SELECT @pin = dbo.FNADecryptString(controlNo), @pinEncrypted = controlNo FROM remitTranTemp WITH(NOLOCK) WHERE id = @id
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
SET @pinEncrypted = dbo.FNAEncryptString(@pin)
|
|
END
|
|
|
|
DECLARE @PinList TABLE(id VARCHAR(50), pin VARCHAR(50),hasProcess CHAR(1),isOFAC CHAR(1),errorMsg VARCHAR(MAX),tranId INT,createdBy VARCHAR(50))
|
|
DECLARE @TempcompTable TABLE(errorCode INT,msg VARCHAR(MAX),id VARCHAR(50))
|
|
DECLARE @isSelfApprove VARCHAR(1)
|
|
|
|
IF @flag = 'provider'
|
|
BEGIN
|
|
DECLARE @pAgent INT
|
|
SELECT
|
|
@pAgent = pAgent
|
|
FROM remitTranTemp WITH(NOLOCK)
|
|
WHERE id = @id
|
|
|
|
IF @pAgent IS NULL
|
|
BEGIN
|
|
SELECT
|
|
@pAgent = pAgent
|
|
FROM vwremitTran WITH(NOLOCK)
|
|
WHERE id = @id
|
|
END
|
|
|
|
SELECT @pAgent pAgent
|
|
RETURN
|
|
END
|
|
|
|
IF @flag = 'reject'
|
|
BEGIN
|
|
|
|
SELECT @tranStatus = transtatus,
|
|
@denyAmt = ISNULL(cAmt,0) - ISNULL(sAgentComm,0) - ISNULL(agentFxGain,0),
|
|
@sRouteId = sRouteId,
|
|
@pinEncrypted = controlNo,
|
|
@ControlNo = dbo.fnaDecryptstring(controlNo),
|
|
@txncreatedBy = createdBy
|
|
FROM remitTranTemp WITH(NOLOCK) WHERE id=@id
|
|
|
|
IF LEN(@pinEncrypted)<7
|
|
BEGIN
|
|
select TOP 1 @ControlNo = controlNo from Application_Log.dbo.vwtpapilogs(nolock) where requestedby=@txncreatedBy AND ERRORCODE='999' order by rowid desc
|
|
END
|
|
IF LEN(@ControlNo) < 7
|
|
BEGIN
|
|
EXEC proc_errorHandler 1, 'Sorry,Cannot Reject Transaction', @id
|
|
RETURN
|
|
END
|
|
|
|
BEGIN TRANSACTION
|
|
|
|
INSERT INTO tranCancelrequest(tranId,controlNo,cancelReason,cancelStatus,
|
|
createdBy,createdDate,tranStatus,approvedBy,approvedDate,scRefund,isScRefund)
|
|
SELECT id,controlNo,@remarks,'Approved',@user,GETDATE(),tranStatus,@user,GETDATE(),
|
|
cAmt,'Y' FROM remitTranTemp WITH(NOLOCK) WHERE id=@id
|
|
|
|
UPDATE remitTranTemp SET
|
|
tranStatus = 'Cancel'
|
|
,cancelApprovedBy = @user
|
|
,cancelApprovedDate = GETDATE()
|
|
,cancelApprovedDateLocal = dbo.FNAGetDateInNepalTZ()
|
|
,cancelRequestBy = @user
|
|
,cancelRequestDate = GETDATE()
|
|
,cancelRequestDateLocal = dbo.FNADateFormatTZ(GETDATE(), @user)
|
|
,trnStatusBeforeCnlReq = @tranStatus
|
|
,controlNo = dbo.fnaEncryptstring(@ControlNo)
|
|
WHERE id = @id
|
|
|
|
--IF @sRouteId = 'w'
|
|
--BEGIN
|
|
EXEC proc_UpdateCustomerBalance @controlNo=@pinEncrypted
|
|
--END
|
|
|
|
INSERT INTO cancelTranHistory(
|
|
tranId,controlNo,sCurrCostRate,sCurrHoMargin,sCurrSuperAgentMargin,sCurrAgentMargin,pCurrCostRate
|
|
,pCurrHoMargin,pCurrSuperAgentMargin,pCurrAgentMargin,agentCrossSettRate,customerRate,sAgentSettRate,pDateCostRate,agentFxGain
|
|
,treasuryTolerance,customerPremium,schemePremium,sharingValue,sharingType,serviceCharge,handlingFee,sAgentComm,sAgentCommCurrency
|
|
,sSuperAgentComm,sSuperAgentCommCurrency,pAgentComm,pAgentCommCurrency,pSuperAgentComm,pSuperAgentCommCurrency,promotionCode
|
|
,promotionType,pMessage,sCountry,sSuperAgent,sSuperAgentName,sAgent,sAgentName,sBranch,sBranchName,pCountry,pSuperAgent,pSuperAgentName
|
|
,pAgent,pAgentName,pBranch,pBranchName,paymentMethod,pBank,pBankName,pBankBranch,pBankBranchName,accountNo,externalBankCode,collMode
|
|
,collCurr,tAmt,cAmt,pAmt,payoutCurr,relWithSender,purposeOfRemit,sourceOfFund,tranStatus,payStatus,createdDate,createdDateLocal
|
|
,createdBy,modifiedDate,modifiedDateLocal,modifiedBy,approvedDate,approvedDateLocal,approvedBy,paidDate,paidDateLocal,paidBy
|
|
,cancelRequestDate,cancelRequestDateLocal,cancelRequestBy,cancelReason,refund,cancelCharge,cancelApprovedDate,cancelApprovedDateLocal
|
|
,cancelApprovedBy,blockedDate,blockedBy,lockedDate,lockedDateLocal,lockedBy,payTokenId,tranType,ContNo
|
|
,uploadLogId,voucherNo,controlNo2,pBankType,trnStatusBeforeCnlReq,sRouteId
|
|
)
|
|
SELECT
|
|
id,controlNo,sCurrCostRate,sCurrHoMargin,sCurrSuperAgentMargin,sCurrAgentMargin,pCurrCostRate
|
|
,pCurrHoMargin,pCurrSuperAgentMargin,pCurrAgentMargin,agentCrossSettRate,customerRate,sAgentSettRate,pDateCostRate,agentFxGain
|
|
,treasuryTolerance,customerPremium,schemePremium,sharingValue,sharingType,serviceCharge,handlingFee,sAgentComm,sAgentCommCurrency
|
|
,sSuperAgentComm,sSuperAgentCommCurrency,pAgentComm,pAgentCommCurrency,pSuperAgentComm,pSuperAgentCommCurrency,promotionCode
|
|
,promotionType,pMessage,sCountry,sSuperAgent,sSuperAgentName,sAgent,sAgentName,sBranch,sBranchName,pCountry,pSuperAgent,pSuperAgentName
|
|
,pAgent,pAgentName,pBranch,pBranchName,paymentMethod,pBank,pBankName,pBankBranch,pBankBranchName,accountNo,externalBankCode,collMode
|
|
,collCurr,tAmt,cAmt,pAmt,payoutCurr,relWithSender,purposeOfRemit,sourceOfFund,tranStatus,payStatus,createdDate,createdDateLocal
|
|
,createdBy,modifiedDate,modifiedDateLocal,modifiedBy,approvedDate,approvedDateLocal,approvedBy,paidDate,paidDateLocal,paidBy
|
|
,cancelRequestDate,cancelRequestDateLocal,cancelRequestBy,@remarks,refund,cancelCharge,GETDATE(),dbo.FNADateFormatTZ(GETDATE(), @user)
|
|
,@user,blockedDate,blockedBy,lockedDate,lockedDateLocal,lockedBy,payTokenId,tranType,ContNo
|
|
,uploadLogId,voucherNo,controlNo2,pBankType,trnStatusBeforeCnlReq,sRouteId
|
|
FROM remitTranTemp WHERE id = @id
|
|
|
|
INSERT INTO cancelTranSendersHistory
|
|
(tranId,customerId,membershipId,firstName,middleName,lastName1,lastName2,fullName,country,address,STATE,district,
|
|
zipCode,city,email,homePhone,workPhone,mobile,nativeCountry,dob,placeOfIssue,customerType,occupation,idType,
|
|
idNumber,idPlaceOfIssue,issuedDate,validDate,extCustomerId,cwPwd,ttName,isFirstTran,customerRiskPoint,countryRiskPoint,
|
|
gender,salary,companyName,address2,dcInfo,ipAddress,notifySms,txnTestQuestion,txnTestAnswer)
|
|
SELECT tranId,customerId,membershipId,firstName,middleName,lastName1,lastName2,fullName,country,address,STATE,district,
|
|
zipCode,city,email,homePhone,workPhone,mobile,nativeCountry,dob,placeOfIssue,customerType,occupation,idType,
|
|
idNumber,idPlaceOfIssue,issuedDate,validDate,extCustomerId,cwPwd,ttName,isFirstTran,customerRiskPoint,countryRiskPoint,
|
|
gender,salary,companyName,address2,dcInfo,ipAddress,notifySms,txnTestQuestion,txnTestAnswer
|
|
FROM transenderstemp WITH(NOLOCK) WHERE tranId = @id
|
|
|
|
INSERT INTO cancelTranReceiversHistory
|
|
(tranId,customerId,membershipId,firstName,middleName,lastName1,lastName2,fullName,country,address,
|
|
state,district,zipCode,city,email,homePhone,workPhone,mobile,nativeCountry,dob,placeOfIssue,customerType,
|
|
occupation,idType,idNumber,idPlaceOfIssue,issuedDate,validDate,idType2,idNumber2,idPlaceOfIssue2,issuedDate2,
|
|
validDate2,relationType,relativeName,gender,address2,dcInfo,ipAddress)
|
|
SELECT tranId,customerId,membershipId,firstName,middleName,lastName1,lastName2,fullName,country,address,
|
|
state,district,zipCode,city,email,homePhone,workPhone,mobile,nativeCountry,dob,placeOfIssue,customerType,
|
|
occupation,idType,idNumber,idPlaceOfIssue,issuedDate,validDate,idType2,idNumber2,idPlaceOfIssue2,issuedDate2,
|
|
validDate2,relationType,relativeName,gender,address2,dcInfo,ipAddress
|
|
FROM tranReceiversTemp WITH(NOLOCK) WHERE tranId = @id
|
|
|
|
DELETE FROM remitTranTemp WHERE id = @id
|
|
DELETE FROM tranSendersTemp WHERE tranId = @id
|
|
DELETE FROM tranReceiversTemp WHERE tranId = @id
|
|
SELECT @message = 'Transaction cancel has been done successfully.'
|
|
|
|
EXEC proc_transactionLogs @flag='i', @user=@user, @tranId=@id, @message=@message,@msgType='Cancel'
|
|
|
|
IF @@TRANCOUNT > 0
|
|
COMMIT TRANSACTION
|
|
EXEC proc_errorHandler 0, 'Transaction Rejected Successfully', @id
|
|
RETURN
|
|
END
|
|
|
|
IF @flag = 'approve'
|
|
BEGIN
|
|
|
|
DECLARE @pBank INT,@paymentMethod VARCHAR(50),@tranType CHAR(1),@Mobile VARCHAR(15),@controlNo2 VARCHAR(20)
|
|
|
|
IF @createdBy = @user
|
|
BEGIN
|
|
EXEC proc_errorHandler 1, 'Same user cannot approve the Transaction', @id
|
|
RETURN
|
|
END
|
|
IF EXISTS (select 'X' FROM remitTranTemp(nolock) where id = @id AND isOnlineTxn = 'Y')
|
|
BEGIN
|
|
SELECT
|
|
@cAmt = cAmt
|
|
,@userId = cm.customerId
|
|
,@createdBy = r.createdBy
|
|
,@controlNo = dbo.FNADecryptString(controlNo)
|
|
,@controlNo2= controlNo2
|
|
,@sBranch = sBranch
|
|
,@pBank = pBank
|
|
,@paymentMethod = paymentMethod
|
|
,@tranType = tranType
|
|
,@sRouteId = sRouteId
|
|
,@Mobile = CM.mobile
|
|
FROM remitTranTemp r WITH(NOLOCK)
|
|
INNER JOIN customerMaster cm WITH(NOLOCK) ON r.createdBy = cm.email
|
|
WHERE r.id = @id
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
SELECT
|
|
@cAmt = cAmt
|
|
,@userId = au.userId
|
|
,@createdBy = r.createdBy
|
|
,@controlNo = dbo.FNADecryptString(controlNo)
|
|
,@controlNo2= controlNo2
|
|
,@sBranch = sBranch
|
|
FROM remitTranTemp r WITH(NOLOCK)
|
|
INNER JOIN applicationUsers au WITH(NOLOCK) ON r.createdBy = au.userName
|
|
WHERE r.id = @id
|
|
END
|
|
|
|
IF @sRouteId = 'w'
|
|
BEGIN
|
|
SELECT @denyAmt = availableBalance FROM customerMaster(NOLOCK) WHERE email = @createdBy
|
|
IF ISNULL(@denyAmt,0) < 0
|
|
BEGIN
|
|
INSERT INTO tranCancelrequest(tranId,controlNo,cancelReason,cancelStatus,
|
|
createdBy,createdDate,tranStatus,approvedBy,approvedDate,scRefund,isScRefund)
|
|
SELECT id,controlNo,'Auto rejected due to invalid amount','Approved',@user,GETDATE(),tranStatus,@user,GETDATE(),cAmt,'Y'
|
|
FROM remitTranTemp WITH(NOLOCK) WHERE id=@id
|
|
|
|
UPDATE remitTranTemp SET tranStatus='Hold' WHERE id = @id
|
|
|
|
EXEC proc_errorHandler 1, 'Auto rejected due to invalid amount', @id
|
|
return
|
|
END
|
|
END
|
|
|
|
--SELECT @parentId = parentId FROM agentMaster WITH(NOLOCK) WHERE agentId=@sBranch
|
|
--SELECT @invicePrintMethod = invoicePrintMethod FROM agentMaster A WITH(NOLOCK)
|
|
--INNER JOIN agentBusinessFunction B WITH(NOLOCK) ON A.agentId=B.agentId
|
|
--WHERE A.agentId=@parentId
|
|
|
|
BEGIN TRANSACTION
|
|
|
|
UPDATE remitTranTemp SET
|
|
tranStatus = CASE tranStatus
|
|
WHEN 'Hold' THEN 'Payment'
|
|
WHEN 'Compliance Hold' THEN 'Compliance'
|
|
WHEN 'OFAC Hold' THEN 'OFAC'
|
|
WHEN 'OFAC/Compliance Hold' THEN 'OFAC/Compliance'
|
|
ELSE 'Payment'
|
|
END
|
|
,approvedBy = @user
|
|
,approvedDate = GETDATE()
|
|
,approvedDateLocal = GETUTCDATE()
|
|
WHERE id = @id
|
|
|
|
|
|
IF @sRouteId = 'w'
|
|
BEGIN
|
|
SELECT @denyAmt = availableBalance FROM customerMaster(NOLOCK) WHERE email = @createdBy
|
|
IF ISNULL(@denyAmt,0)<0
|
|
UPDATE remitTranTemp SET tranStatus = 'HOLD' WHERE id = @id
|
|
END
|
|
|
|
--send email to customers
|
|
INSERT INTO tempTransactionMailQueue(controlNo, createdDate, [status])--tranType is used to know either mail is sent or not, we put 'N' for not sent
|
|
SELECT rt.controlNo, GETDATE(), 'N' FROM remitTranTemp rt (NOLOCK) where rt.id = @id
|
|
----## pish temp into main table
|
|
EXEC proc_remitTranTempToMain @id
|
|
|
|
INSERT INTO PinQueueList(ICN)
|
|
SELECT @pinEncrypted
|
|
|
|
IF ISNULL(@controlNo2,'a') <> 'a'
|
|
BEGIN
|
|
IF NOT EXISTS(SELECT 'A' FROM PinQueueList(NOLOCK) WHERE icn = @controlNo2)
|
|
BEGIN
|
|
INSERT INTO PinQueueList(ICN)
|
|
SELECT @controlNo2
|
|
END
|
|
END
|
|
|
|
--UPDATE userWiseTxnLimit SET
|
|
-- sendTodays = ISNULL(sendTodays, 0) + @cAmt
|
|
--WHERE userId = @userId AND ISNULL(isActive, 'N') = 'Y'
|
|
|
|
IF @@TRANCOUNT > 0
|
|
COMMIT TRANSACTION
|
|
|
|
EXEC proc_errorHandler 0, 'Transaction Approved Successfully', @controlNo
|
|
|
|
DECLARE @SMSBody VARCHAR(90) = 'Your transaction GME No: '+@controlNo+' is successfully sent. Thank you for using GME.'
|
|
----## SMS TO IDENTIFY EVERY CUSTOMRE
|
|
----IF NOT EXISTS(SELECT TOP 1 'A' FROM KT_SMS.DBO.SDK_SMS_REPORT(nolock) WHERE SMS_MSG LIKE '%'+@controlNo+'%')
|
|
IF @Mobile IS NOT NULL
|
|
EXEC FastMoneyPro_Remit.dbo.proc_CallToSendSMS @FLAG = 'I',@SMSBody = @SMSBody,@MobileNo = @Mobile
|
|
|
|
--IF @invicePrintMethod = 'aa'
|
|
-- EXEC proc_errorHandler 11, 'Transaction Approved Successfully', @controlNo
|
|
--ELSE IF (@pBank = 1056 AND @paymentMethod = 'BANK DEPOSIT' OR @paymentMethod ='CASH PAYMENT')
|
|
-- EXEC proc_errorHandler 5, 'Transaction Approved Successfully', @controlNo
|
|
--ELSE
|
|
-- EXEC proc_errorHandler 0, 'Transaction Approved Successfully', @controlNo
|
|
|
|
--## generate voucher entry
|
|
--EXEC FastMoneyPro_Account.dbo.proc_transactionVoucherEntry @controlNo= @controlNo
|
|
RETURN
|
|
END
|
|
|
|
IF @flag = 'approve-all'
|
|
BEGIN
|
|
EXEC proc_ApproveHoldedTXN_Sub @user = @user, @idList = @idList
|
|
RETURN
|
|
END
|
|
|
|
DECLARE @cdTable VARCHAR(MAX) = ''
|
|
|
|
SET @cdTable = '
|
|
LEFT JOIN (
|
|
SELECT
|
|
DISTINCT
|
|
tranId
|
|
,cb.bankName
|
|
,cd.countryBankId
|
|
FROM collectionDetails cd WITH(NOLOCK)
|
|
LEFT JOIN countryBanks cb WITH(NOLOCK) ON cd.countryBankId = cb.countryBankId
|
|
INNER JOIN remitTranTemp trn WITH(NOLOCK) ON cd.tranId = trn.id
|
|
AND (trn.tranStatus = ''Hold'' OR trn.tranStatus = ''Compliance Hold'' OR trn.tranStatus = ''OFAC Hold'' )
|
|
AND trn.payStatus = ''Unpaid''
|
|
AND trn.approvedBy IS NULL
|
|
) cd ON cd.tranId = trn.id '
|
|
|
|
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[#collModeList]') AND type = 'D')
|
|
BEGIN
|
|
DROP TABLE #collModeList
|
|
END
|
|
|
|
CREATE TABLE #collModeList(tranId INT, hasProcess CHAR(1), proMode varchar(50))
|
|
DECLARE @tranId1 INT,@collMode VARCHAR(100)
|
|
|
|
IF @flag = 's-admin'
|
|
BEGIN
|
|
SET @table = '
|
|
SELECT DISTINCT
|
|
trn.id
|
|
,controlNo = dbo.fnadecryptstring(controlNo)
|
|
,branch = am.agentName
|
|
,country = trn.pCountry
|
|
,senderId = sen.customerId
|
|
,sender = sen.firstName + ISNULL( '' '' + sen.middleName, '''') + ISNULL( '' '' + sen.lastName1, '''') + ISNULL( '' '' + sen.lastName2, '''')
|
|
,receiverId = rec.customerId
|
|
,receiver = rec.firstName + ISNULL( '' '' + rec.middleName, '''') + ISNULL( '' '' + rec.lastName1, '''') + ISNULL( '' '' + rec.lastName2, '''')
|
|
,amt = CAST(trn.cAmt AS DECIMAL(18, 2))
|
|
,trn.paymentMethod
|
|
,voucherNo = trn.voucherNo
|
|
,txnDate = CAST(trn.createdDate AS DATE)
|
|
,txncreatedBy = trn.createdBy
|
|
FROM remitTranTemp trn WITH(NOLOCK) ' + @cdTable + '
|
|
LEFT JOIN apiRoutingTable art WITH(NOLOCK) ON trn.pAgent = art.agentId
|
|
INNER JOIN agentMaster am WITH(NOLOCK) ON trn.sBranch = am.agentId
|
|
INNER JOIN tranSendersTemp sen WITH(NOLOCK) ON trn.id = sen.tranId
|
|
INNER JOIN tranReceiversTemp rec WITH(NOLOCK) ON trn.id = rec.tranId
|
|
WHERE trn.tranStatus IN (''Hold'',''Compliance Hold'',''OFAC Hold'',''OFAC/Compliance Hold'') AND
|
|
trn.payStatus = ''Unpaid'' AND
|
|
trn.approvedBy IS NULL AND
|
|
ISNULL(trn.isOnlineTxn,''N'') <>''Y'' AND trn.tranType<>''O''
|
|
'
|
|
|
|
IF @id IS NOT NULL
|
|
SET @table = @table + ' AND trn.id = ''' + @id + ''''
|
|
|
|
IF @branch IS NOT NULL
|
|
SET @table = @table + ' AND am.agentId = ''' + @branch + ''''
|
|
|
|
IF @country IS NOT NULL
|
|
SET @table = @table + ' AND trn.pCountry LIKE ''' + @country + '%'''
|
|
|
|
IF @sendCountry IS NOT NULL
|
|
SET @table = @table + ' AND trn.sCountry LIKE ''' + @sendCountry + '%'''
|
|
|
|
IF @amt IS NOT NULL
|
|
SET @table = @table + ' AND trn.pAmt = ' + CAST(@amt AS VARCHAR(20))+ ''
|
|
|
|
IF @voucherNo IS NOT NULL
|
|
SET @table = @table + ' AND trn.voucherNo = ''' + @voucherNo + ''''
|
|
|
|
IF @txncreatedBy IS NOT NULL
|
|
SET @table = @table + ' AND trn.createdBy = '''+@txncreatedBy+''''
|
|
|
|
IF @txnDate IS NOT NULL
|
|
SET @table = @table + ' AND CAST(trn.createdDate AS DATE)='''+@txnDate +''''
|
|
|
|
IF @ControlNo IS NOT NULL
|
|
SET @table = @table + ' AND trn.controlNo = dbo.fnaEncryptString('''+@ControlNo+''')'
|
|
|
|
IF @sendAgent IS NOT NULL
|
|
SET @table = @table + ' AND trn.sAgent = '''+@sendAgent+''''
|
|
|
|
IF @sendBranch IS NOT NULL
|
|
SET @table = @table + ' AND trn.sBranch = '''+@sendBranch+''''
|
|
|
|
|
|
SET @sql = '
|
|
SELECT
|
|
*
|
|
FROM (
|
|
' + @table + '
|
|
) x
|
|
WHERE 1 = 1 '
|
|
|
|
IF @sender IS NOT NULL
|
|
SET @sql = @sql + ' AND sender LIKE ''' + @sender + '%'''
|
|
IF @receiver IS NOT NULL
|
|
SET @sql = @sql + ' AND receiver LIKE ''' + @receiver + '%'''
|
|
|
|
PRINT @sql
|
|
EXEC (@sql)
|
|
RETURN
|
|
END
|
|
|
|
IF @flag = 's-admin-online'
|
|
BEGIN
|
|
SET @table = '
|
|
SELECT DISTINCT
|
|
trn.id
|
|
,branch = am.agentName
|
|
,country = trn.pCountry
|
|
,senderId = sen.customerId
|
|
,sender = sen.firstName + ISNULL( '' '' + sen.middleName, '''') + ISNULL( '' '' + sen.lastName1, '''') + ISNULL( '' '' + sen.lastName2, '''')
|
|
,receiverId = rec.customerId
|
|
,receiver = rec.firstName + ISNULL( '' '' + rec.middleName, '''') + ISNULL( '' '' + rec.lastName1, '''') + ISNULL( '' '' + rec.lastName2, '''')
|
|
,amt = CAST(trn.cAmt AS DECIMAL(18, 2))
|
|
|
|
,txnDate = CAST(trn.createdDate AS DATE)
|
|
,txncreatedBy = trn.createdBy
|
|
,CASE WHEN trn.pAgent=1100 OR trn.pAgent = 1043 THEN 1 ELSE 0 END isThirdPartyTran
|
|
FROM remitTranTemp trn WITH(NOLOCK) ' + @cdTable + '
|
|
LEFT JOIN apiRoutingTable art WITH(NOLOCK) ON trn.pAgent = art.agentId
|
|
INNER JOIN agentMaster am WITH(NOLOCK) ON trn.sBranch = am.agentId
|
|
INNER JOIN tranSendersTemp sen WITH(NOLOCK) ON trn.id = sen.tranId
|
|
INNER JOIN tranReceiversTemp rec WITH(NOLOCK) ON trn.id = rec.tranId
|
|
WHERE trn.tranStatus IN (''Hold'',''Compliance Hold'',''OFAC Hold'',''OFAC/Compliance Hold'') AND
|
|
trn.payStatus = ''Unpaid'' AND
|
|
trn.approvedBy IS NULL AND ISNULL(trn.isOnlineTxn,''N'') =''Y''
|
|
'
|
|
|
|
IF @id IS NOT NULL
|
|
SET @table = @table + ' AND trn.id = ''' + @id + ''''
|
|
|
|
IF @branch IS NOT NULL
|
|
SET @table = @table + ' AND am.agentId = ''' + @branch + ''''
|
|
|
|
IF @country IS NOT NULL
|
|
SET @table = @table + ' AND trn.pCountry LIKE ''' + @country + '%'''
|
|
|
|
IF @sendCountry IS NOT NULL
|
|
SET @table = @table + ' AND trn.sCountry LIKE ''' + @sendCountry + '%'''
|
|
|
|
IF @amt IS NOT NULL
|
|
SET @table = @table + ' AND trn.pAmt = ' + CAST(@amt AS VARCHAR(20))+ ''
|
|
|
|
IF @voucherNo IS NOT NULL
|
|
SET @table = @table + ' AND trn.voucherNo = ''' + @voucherNo + ''''
|
|
|
|
IF @txncreatedBy IS NOT NULL
|
|
SET @table = @table + ' AND trn.createdBy = '''+@txncreatedBy+''''
|
|
|
|
IF @txnDate IS NOT NULL
|
|
SET @table = @table + ' AND CAST(trn.createdDate AS DATE)='''+@txnDate +''''
|
|
|
|
IF @ControlNo IS NOT NULL
|
|
SET @table = @table + ' AND trn.controlNo = dbo.fnaEncryptString('''+@ControlNo+''')'
|
|
|
|
IF @sendAgent IS NOT NULL
|
|
SET @table = @table + ' AND trn.sAgent = '''+@sendAgent+''''
|
|
|
|
IF @sendBranch IS NOT NULL
|
|
SET @table = @table + ' AND trn.sBranch = '''+@sendBranch+''''
|
|
|
|
SET @sql = '
|
|
SELECT
|
|
* , STUFF((SELECT '''' + US.voucherNo +'' - ''+ CONVERT(VARCHAR(11),US.voucherDate,6) +'' - ''+ CAST(US.voucherAmt AS VARCHAR)+'' || ''
|
|
FROM bankCollectionVoucherDetail US
|
|
WHERE US.tempTranId = x.id
|
|
FOR XML PATH('''')), 1, 1, '''') [voucherDetail]
|
|
FROM (
|
|
' + @table + '
|
|
) x
|
|
WHERE 1 = 1 '
|
|
|
|
IF @sender IS NOT NULL
|
|
SET @sql = @sql + ' AND sender LIKE ''' + @sender + '%'''
|
|
IF @receiver IS NOT NULL
|
|
SET @sql = @sql + ' AND receiver LIKE ''' + @receiver + '%'''
|
|
|
|
PRINT @sql
|
|
EXEC (@sql)
|
|
RETURN
|
|
END
|
|
|
|
IF @flag = 's-agent'
|
|
BEGIN
|
|
SELECT
|
|
@isSelfApprove = ISNULL(b.isSelfTxnApprove,'N')
|
|
FROM agentmaster a WITH(NOLOCK)
|
|
LEFT JOIN agentBusinessFunction b WITH(NOLOCK) ON a.parentId=b.agentId
|
|
WHERE a.agentId= @branchId
|
|
|
|
SET @branchList = '
|
|
INNER JOIN (
|
|
SELECT ' + CAST(@branchId AS VARCHAR) + ' agentId '
|
|
|
|
IF @userType = 'RH'
|
|
BEGIN
|
|
SET @branchList = @branchList + '
|
|
UNION ALL
|
|
SELECT
|
|
am.agentId
|
|
FROM agentMaster am WITH(NOLOCK)
|
|
INNER JOIN regionalBranchAccessSetup rba ON am.agentId = rba.memberAgentId
|
|
WHERE rba.agentId = ' + CAST(@branchId AS VARCHAR) + '
|
|
AND ISNULL(rba.isDeleted, ''N'') = ''N''
|
|
AND ISNULL(rba.isActive, ''N'') = ''Y''
|
|
AND memberAgentId <> ' + CAST(@branchId AS VARCHAR) + ''
|
|
END
|
|
IF @userType = 'AH'
|
|
BEGIN
|
|
SET @branchList = @branchList + '
|
|
UNION ALL
|
|
select agentId from agentMaster with(nolock) where parentId =
|
|
(select parentId from agentmaster with(nolock) where agentId=' + CAST(@branchId AS VARCHAR) + ')
|
|
and agentId <> ' + CAST(@branchId AS VARCHAR) + ''
|
|
END
|
|
|
|
SET @branchList = @branchList + '
|
|
) bl ON trn.sBranch = bl.agentId
|
|
'
|
|
|
|
SET @table = '
|
|
SELECT DISTINCT
|
|
trn.id
|
|
,branch = am.agentName
|
|
,country = trn.pCountry
|
|
,senderId = sen.customerId
|
|
,sender = sen.firstName + ISNULL( '' '' + sen.middleName, '''') + ISNULL( '' '' + sen.lastName1, '''') + ISNULL( '' '' + sen.lastName2, '''')
|
|
,receiverId = rec.customerId
|
|
,receiver = rec.firstName + ISNULL( '' '' + rec.middleName, '''') + ISNULL( '' '' + rec.lastName1, '''') + ISNULL( '' '' + rec.lastName2, '''')
|
|
,amt = CAST(trn.cAmt AS DECIMAL(18, 3))
|
|
,voucherNo = trn.voucherNo
|
|
,trn.createdBy
|
|
,collMode = ''Cash''
|
|
,txnDate = CAST(trn.createdDate AS DATE)
|
|
,txncreatedBy = trn.createdBy
|
|
,CASE WHEN trn.pAgent = 1100 OR trn.pAgent = 1043 THEN 1 ELSE 0 END isThirdPartyTran
|
|
FROM remitTranTemp trn WITH(NOLOCK)
|
|
LEFT JOIN apiRoutingTable art WITH(NOLOCK) ON trn.pAgent = art.agentId
|
|
' + @branchList + '
|
|
INNER JOIN agentMaster am WITH(NOLOCK) ON trn.sBranch = am.agentId
|
|
INNER JOIN tranSendersTemp sen WITH(NOLOCK) ON trn.id = sen.tranId
|
|
INNER JOIN tranReceiversTemp rec WITH(NOLOCK) ON trn.id = rec.tranId
|
|
WHERE trn.tranStatus IN (''Hold'',''Compliance Hold'',''OFAC Hold'',''OFAC/Compliance Hold'') AND
|
|
trn.payStatus = ''Unpaid'' AND
|
|
trn.approvedBy IS NULL
|
|
'
|
|
|
|
IF @txnType IS NOT NULL
|
|
SET @table = @table + ' AND trn.tranType = ''' + @txnType + ''''
|
|
else
|
|
SET @table = @table + ' AND trn.tranType=''I'''
|
|
|
|
IF @id IS NOT NULL
|
|
SET @table = @table + ' AND trn.id = ''' + @id + ''''
|
|
|
|
IF @branch IS NOT NULL
|
|
SET @table = @table + ' AND am.agentId = ''' + @branch + ''''
|
|
|
|
IF @country IS NOT NULL
|
|
SET @table = @table + ' AND trn.pCountry LIKE ''' + @country + '%'''
|
|
|
|
IF @amt IS NOT NULL
|
|
SET @table = @table + ' AND trn.cAmt = ' + CAST(@amt AS VARCHAR(50))
|
|
|
|
IF @voucherNo IS NOT NULL
|
|
SET @table = @table + ' AND trn.voucherNo = ''' + @voucherNo + ''''
|
|
|
|
IF @txnDate IS NOT NULL
|
|
SET @table = @table + ' AND CAST(trn.createdDate AS DATE)='''+@txnDate +''''
|
|
|
|
if @isSelfApprove = 'N'
|
|
SET @table = @table + ' AND trn.createdBy <> '''+ @user +''''
|
|
|
|
SET @sql = '
|
|
SELECT
|
|
*
|
|
FROM (
|
|
' + @table + '
|
|
) x
|
|
WHERE 1 = 1 '
|
|
|
|
IF @txncreatedBy IS NOT NULL
|
|
SET @sql = @sql + ' AND txncreatedBy = '''+@txncreatedBy+''''
|
|
|
|
|
|
IF @sender IS NOT NULL
|
|
SET @sql = @sql + ' AND sender LIKE ''' + @sender + '%'''
|
|
|
|
IF @receiver IS NOT NULL
|
|
SET @sql = @sql + ' AND receiver LIKE ''' + @receiver + '%'''
|
|
|
|
--PRINT @sql
|
|
EXEC (@sql)
|
|
RETURN
|
|
END
|
|
|
|
IF @flag = 's-agent-self-txn'
|
|
BEGIN
|
|
SET @branchList = '
|
|
INNER JOIN (
|
|
SELECT ' + CAST(@branchId AS VARCHAR) + ' agentId '
|
|
|
|
IF @userType = 'RH'
|
|
BEGIN
|
|
SET @branchList = @branchList + '
|
|
UNION ALL
|
|
SELECT
|
|
am.agentId
|
|
FROM agentMaster am WITH(NOLOCK)
|
|
INNER JOIN regionalBranchAccessSetup rba ON am.agentId = rba.memberAgentId
|
|
WHERE rba.agentId = ' + CAST(@branchId AS VARCHAR) + '
|
|
AND ISNULL(rba.isDeleted, ''N'') = ''N''
|
|
AND ISNULL(rba.isActive, ''N'') = ''Y'''
|
|
END
|
|
SET @branchList = @branchList + '
|
|
) bl ON trn.sBranch = bl.agentId
|
|
'
|
|
|
|
SET @table = '
|
|
SELECT DISTINCT
|
|
trn.id
|
|
,branch = am.agentName
|
|
,country = trn.pCountry
|
|
,senderId = sen.customerId
|
|
,sender = sen.firstName + ISNULL( '' '' + sen.middleName, '''') + ISNULL( '' '' + sen.lastName1, '''') + ISNULL( '' '' + sen.lastName2, '''')
|
|
,receiverId = rec.customerId
|
|
,receiver = rec.firstName + ISNULL( '' '' + rec.middleName, '''') + ISNULL( '' '' + rec.lastName1, '''') + ISNULL( '' '' + rec.lastName2, '''')
|
|
,amt = CAST(trn.cAmt AS DECIMAL(18, 3))
|
|
,voucherNo = trn.voucherNo
|
|
,trn.createdBy
|
|
,collMode = ''''
|
|
,txnDate = CAST(trn.createdDate AS DATE)
|
|
,txncreatedBy = trn.createdBy
|
|
FROM remitTranTemp trn WITH(NOLOCK)
|
|
LEFT JOIN apiRoutingTable art WITH(NOLOCK) ON trn.pAgent = art.agentId
|
|
' + @branchList + '
|
|
INNER JOIN agentMaster am WITH(NOLOCK) ON trn.sBranch = am.agentId
|
|
INNER JOIN tranSendersTemp sen WITH(NOLOCK) ON trn.id = sen.tranId
|
|
INNER JOIN tranReceiversTemp rec WITH(NOLOCK) ON trn.id = rec.tranId
|
|
--INNER JOIN #collModeList T ON T.tranId = trn.id
|
|
WHERE trn.tranStatus IN (''Hold'',''Compliance Hold'',''OFAC Hold'',''OFAC/Compliance Hold'') AND
|
|
trn.payStatus = ''Unpaid'' AND
|
|
trn.approvedBy IS NULL
|
|
'
|
|
IF @txnType IS NOT NULL
|
|
SET @table = @table + ' AND trn.tranType = ''' + @txnType + ''''
|
|
else
|
|
SET @table = @table + ' AND trn.tranType=''I'''
|
|
|
|
IF @id IS NOT NULL
|
|
SET @table = @table + ' AND trn.id = ''' + @id + ''''
|
|
|
|
IF @branch IS NOT NULL
|
|
SET @table = @table + ' AND am.agentId = ''' + @branch + ''''
|
|
|
|
IF @country IS NOT NULL
|
|
SET @table = @table + ' AND trn.pCountry LIKE ''' + @country + '%'''
|
|
|
|
IF @amt IS NOT NULL
|
|
SET @table = @table + ' AND trn.cAmt = ' + CAST(@amt AS VARCHAR(50))
|
|
|
|
IF @voucherNo IS NOT NULL
|
|
SET @table = @table + ' AND trn.voucherNo = ''' + @voucherNo + ''''
|
|
|
|
|
|
IF @txnDate IS NOT NULL
|
|
SET @table = @table + ' AND CAST(trn.createdDate AS DATE)='''+@txnDate +''''
|
|
|
|
SET @sqlSelfTxn = '
|
|
SELECT
|
|
*
|
|
FROM (
|
|
' + @table + ' AND trn.createdBy = '''+@user+'''
|
|
) x
|
|
WHERE 1 = 1 '
|
|
|
|
IF @sender IS NOT NULL
|
|
SET @sqlSelfTxn = @sqlSelfTxn + ' AND sender LIKE ''' + @sender + '%'''
|
|
IF @receiver IS NOT NULL
|
|
SET @sqlSelfTxn = @sqlSelfTxn + ' AND receiver LIKE ''' + @receiver + '%'''
|
|
|
|
EXEC (@sqlSelfTxn)
|
|
RETURN
|
|
END
|
|
|
|
IF @flag = 's_txn_summary'
|
|
BEGIN
|
|
|
|
SET @branchList = '
|
|
INNER JOIN (
|
|
SELECT ' + CAST(@branchId AS VARCHAR) + ' agentId '
|
|
|
|
IF @userType = 'RH'
|
|
BEGIN
|
|
SET @branchList = @branchList + '
|
|
UNION ALL
|
|
SELECT
|
|
am.agentId
|
|
FROM agentMaster am WITH(NOLOCK)
|
|
INNER JOIN regionalBranchAccessSetup rba ON am.agentId = rba.memberAgentId
|
|
WHERE rba.agentId = ' + CAST(@branchId AS VARCHAR) + '
|
|
AND ISNULL(rba.isDeleted, ''N'') = ''N''
|
|
AND ISNULL(rba.isActive, ''N'') = ''Y'''
|
|
END
|
|
IF @userType = 'AH'
|
|
BEGIN
|
|
SET @branchList = @branchList + '
|
|
UNION ALL
|
|
select agentId from agentMaster with(nolock) where parentId =
|
|
(select parentId from agentmaster with(nolock) where agentId=' + CAST(@branchId AS VARCHAR) + ')
|
|
and agentId <> ' + CAST(@branchId AS VARCHAR) + ''
|
|
END
|
|
|
|
SET @branchList = @branchList + '
|
|
) bl ON trn.sBranch = bl.agentId
|
|
'
|
|
|
|
SET @tablesql = '
|
|
select country,sum(txnCount) txnCount,sum(txnHoldCount) txnHoldCount from
|
|
(
|
|
select country,txnCount,txnHoldCount from
|
|
(
|
|
SELECT
|
|
country = CASE WHEN trn.tranType = ''B'' then pCountry+''(B2B)'' else pCountry end
|
|
,txnCount = case when trn.createdBy <> '''+@user+''' then 1 else 0 end
|
|
,txnHoldCount = case when trn.createdBy = '''+@user+''' then 1 else 0 end
|
|
FROM remitTranTemp trn WITH(NOLOCK)
|
|
LEFT JOIN apiRoutingTable art WITH(NOLOCK) ON trn.pAgent = art.agentId
|
|
' + @branchList + '
|
|
INNER JOIN agentMaster am WITH(NOLOCK) ON trn.sBranch = am.agentId
|
|
INNER JOIN tranSendersTemp sen WITH(NOLOCK) ON trn.id = sen.tranId
|
|
INNER JOIN tranReceiversTemp rec WITH(NOLOCK) ON trn.id = rec.tranId
|
|
WHERE trn.tranStatus IN (''Hold'',''Compliance Hold'',''OFAC Hold'',''OFAC/Compliance Hold'') AND
|
|
trn.payStatus = ''Unpaid'' AND
|
|
trn.approvedBy IS NULL
|
|
)z
|
|
)x group by country'
|
|
|
|
--print(@tablesql)
|
|
EXEC(@tablesql)
|
|
END
|
|
|
|
IF @flag = 's_admin_txn_summary'
|
|
BEGIN
|
|
|
|
SET @tablesql = '
|
|
SELECT
|
|
sn = row_number() over(order by trn.sCountry)
|
|
,country = upper(trn.sCountry)
|
|
,txnCount = count(''x'')
|
|
FROM remitTranTemp trn WITH(NOLOCK)
|
|
LEFT JOIN apiRoutingTable art WITH(NOLOCK) ON trn.pAgent = art.agentId
|
|
INNER JOIN agentMaster am WITH(NOLOCK) ON trn.sBranch = am.agentId
|
|
INNER JOIN tranSendersTemp sen WITH(NOLOCK) ON trn.id = sen.tranId
|
|
INNER JOIN tranReceiversTemp rec WITH(NOLOCK) ON trn.id = rec.tranId
|
|
WHERE trn.tranStatus IN (''Hold'',''Compliance Hold'',''OFAC Hold'',''OFAC/Compliance Hold'') AND
|
|
trn.payStatus = ''Unpaid'' AND
|
|
trn.approvedBy IS NULL AND trn.tranType=''I'' AND
|
|
trn.tranType <> ''O'' AND isOnlineTxn <> ''Y''
|
|
group by trn.sCountry
|
|
'
|
|
EXEC(@tablesql)
|
|
--print @tablesql
|
|
END
|
|
|
|
IF @flag = 'OnlineTxn-waitingList'
|
|
BEGIN
|
|
|
|
SET @tablesql = '
|
|
SELECT
|
|
sn = row_number() over(order by trn.sCountry)
|
|
,country = upper(trn.sCountry)
|
|
,txnCount = count(''x'')
|
|
FROM remitTranTemp trn WITH(NOLOCK)
|
|
LEFT JOIN apiRoutingTable art WITH(NOLOCK) ON trn.pAgent = art.agentId
|
|
INNER JOIN agentMaster am WITH(NOLOCK) ON trn.sBranch = am.agentId
|
|
INNER JOIN tranSendersTemp sen WITH(NOLOCK) ON trn.id = sen.tranId
|
|
INNER JOIN tranReceiversTemp rec WITH(NOLOCK) ON trn.id = rec.tranId
|
|
--WHERE trn.tranStatus IN (''Hold'',''Compliance Hold'',''OFAC Hold'',''OFAC/Compliance Hold'') AND
|
|
-- trn.payStatus = ''Unpaid'' AND
|
|
-- trn.approvedBy IS NULL AND trn.tranType=''O'' AND isOnlineTxn =''Y''
|
|
group by trn.sCountry
|
|
'
|
|
EXEC(@tablesql)
|
|
--print @tablesql
|
|
END
|
|
|
|
END TRY
|
|
BEGIN CATCH
|
|
IF @@TRANCOUNT > 0
|
|
ROLLBACK TRANSACTION
|
|
SELECT 1 error_code, ERROR_MESSAGE() mes, NULL id
|
|
END CATCH
|