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.
417 lines
20 KiB
417 lines
20 KiB
USE [FastMoneyPro_Remit]
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[proc_sambaBatchTxn] Script Date: 9/27/2019 1:30:14 PM ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
CREATE proc [dbo].[proc_sambaBatchTxn]
|
|
(
|
|
@flag VARCHAR(50) = NULL
|
|
,@user VARCHAR(50) = NULL
|
|
,@id INT = NULL
|
|
,@extBankId INT = NULL
|
|
,@extBankName VARCHAR(200)= NULL
|
|
,@extBankBranchId INT = NULL
|
|
,@pBankType VARCHAR(50) = NULL
|
|
,@extBankBranchName VARCHAR(200)= NULL
|
|
)
|
|
AS
|
|
|
|
SET NOCOUNT ON;
|
|
SET XACT_ABORT ON;
|
|
BEGIN TRY
|
|
IF @flag ='i'
|
|
BEGIN
|
|
IF NOT EXISTS(SELECT 'X' FROM RemittanceLogData.dbo.[temp_money] WITH(NOLOCK) WHERE FLAG IS NULL)
|
|
BEGIN
|
|
EXEC proc_errorHandler 1, 'Transaction Not Found.', @user
|
|
RETURN;
|
|
END
|
|
|
|
INSERT INTO sambaBatch
|
|
(
|
|
[controlNo]
|
|
,[senderName]
|
|
,[receiverName]
|
|
,[sCountry]
|
|
,[sSuperAgent]
|
|
,[sSuperAgentName]
|
|
,[sAgent]
|
|
,[sAgentName]
|
|
,[sBranch]
|
|
,[sBranchName]
|
|
,[paymentMethod]
|
|
,[cAmt]
|
|
,[tAmt]
|
|
,[pAmt]
|
|
,[customerRate]
|
|
,[payoutCurr]
|
|
,[pCountry]
|
|
,[pBank]
|
|
,[pbankName]
|
|
,[pBankBranch]
|
|
,[pBankBranchName]
|
|
|
|
,pBankType
|
|
,[accountNo]
|
|
,[tranStatus]
|
|
,[payStatus]
|
|
|
|
,[collCurr]
|
|
,[tranType]
|
|
,[serviceCharge]
|
|
,[sCurrCostRate]
|
|
,[pMessage]
|
|
,[createdBy]
|
|
,[createdDate]
|
|
,[createdDateLocal]
|
|
|
|
,senName
|
|
,senAddress
|
|
,senCity
|
|
,senCountry
|
|
,senNativeCountry
|
|
,senEmail
|
|
,senCompanyName
|
|
,senIdType
|
|
,senIdNumber
|
|
|
|
,recName
|
|
,recAddress
|
|
,recHomePhone
|
|
,recWorkPhone
|
|
,recCity
|
|
,recCountry
|
|
,recIdType
|
|
,recIdNumber
|
|
)
|
|
SELECT controlNo = refno ,
|
|
senderName = SenderName ,
|
|
ReceiverName receiverName,
|
|
sCountry = SenderCountry ,
|
|
sSuperAgent = '4641',
|
|
sSuperAgentName = 'INTERNATIONAL AGENTS',
|
|
sAgent = '4873',
|
|
sAgentName = 'SAMBA FINANCIAL GROUP',
|
|
sBranch = '4874',
|
|
sBranchName = 'SAMBA FINANCIAL GROUP - RIYADH',
|
|
paymentMethod = CASE WHEN tm.paymentType = 'Cash Pay' THEN 'Cash Payment' WHEN tm.paymentType = 'Bank Transfer' THEN 'Bank Deposit' ELSE tm.paymentType END,
|
|
cAmt = paidAmt-1.87,
|
|
tAmt = paidAmt-1.87,
|
|
pAmt = TotalRoundAmt,
|
|
customerRate = Today_Dollar_rate,
|
|
payoutCurr = receiveCType,
|
|
pCountry = 'Nepal',
|
|
pBank = CASE WHEN tm.paymentType = 'Bank Transfer' THEN eb.extBankId ELSE NULL END,
|
|
pBankName = CASE WHEN tm.paymentType = 'Bank Transfer' THEN eb.bankName ELSE NULL END,
|
|
pBankBranch = NULL,
|
|
pBankBranchName = CASE WHEN tm.paymentType = 'Bank Transfer' THEN rBankBranch ELSE NULL END,
|
|
pBankType = CASE WHEN tm.paymentType = 'Bank Transfer' THEN 'E' ELSE NULL END,
|
|
accountNo = tm.rBankACNo,
|
|
tranStatus = 'Hold',
|
|
payStatus = 'Unpaid',
|
|
collCurr = paidCType,
|
|
tranType = 'I',
|
|
serviceCharge = SCharge,
|
|
sCurrCostRate = '1',
|
|
pMessage = ReciverMessage,
|
|
createdBy =SEmpID,
|
|
createdDate = local_DOT,
|
|
createdDateLocal = local_DOT,
|
|
|
|
tm.SenderName,
|
|
tm.SenderAddress,
|
|
tm.SenderCity,
|
|
tm.SenderCountry,
|
|
tm.SenderNativeCountry,
|
|
tm.SenderEmail,
|
|
SenderCompany,
|
|
'Passport',
|
|
senderPassport,
|
|
|
|
tm.ReceiverName,
|
|
ReceiverAddress+'(AC:'+tm.rBankACNo+')',
|
|
ReceiverPhone,
|
|
receiver_mobile,
|
|
ReceiverCity,
|
|
ReceiverCountry,
|
|
ReceiverIDDescription ,
|
|
ReceiverID
|
|
|
|
FROM RemittanceLogData.dbo.[temp_money] tm WITH(NOLOCK)
|
|
LEFT JOIN agentMaster pb WITH(NOLOCK) ON pb.mapCodeInt = tm.rBankID AND (pb.agentType IN (2904, 2906) OR (pb.agentType = 2903 AND pb.actAsBranch = 'Y'))
|
|
LEFT JOIN agentMaster pa WITH(NOLOCK) ON pb.parentId = pa.agentId AND pa.agentType IN (2903, 2905)
|
|
LEFT JOIN externalBank eb WITH(NOLOCK) ON eb.mapCodeInt = pa.mapCodeInt
|
|
WHERE tm.FLAG is null
|
|
|
|
UPDATE RemittanceLogData.dbo.[temp_money] SET FLAG = 'Y' WHERE FLAG IS NULL
|
|
EXEC proc_errorHandler 0, 'Data submitted successfully', @user
|
|
|
|
END
|
|
|
|
IF @flag = 's'
|
|
BEGIN
|
|
SELECT
|
|
id,
|
|
[Control No] = dbo.FNADecryptString(controlNo),
|
|
[Sender Name] = senderName,
|
|
[Receiver Name] = receiverName,
|
|
[Sending Country] = sCountry,
|
|
[Payment Method] = paymentMethod,
|
|
[Payout Amount] = pAmt,
|
|
[Bank Name] = pBankName,
|
|
[Branch Name] = pBankBranchName,
|
|
[Account No.] = accountNo,
|
|
[Receiver Address] = recAddress
|
|
FROM sambaBatch with(nolock) where approvedDate is null
|
|
END
|
|
|
|
IF @flag = 'u'
|
|
BEGIN
|
|
UPDATE sambaBatch SET pBank = '',pBankName='',pBankBranch = '',pBankBranchName = '' WHERE ID = @ID
|
|
END
|
|
|
|
IF @flag = 'd'
|
|
BEGIN
|
|
DELETE FROM sambaBatch WHERE id = @id
|
|
EXEC proc_errorHandler 0, 'Record has been deleted successfully', @user
|
|
END
|
|
|
|
IF @flag='update-bank'
|
|
BEGIN
|
|
DECLARE @pAgent INT,@pBranch INT,@pAgentName VARCHAR(200)
|
|
IF @pBankType = 'I'
|
|
BEGIN
|
|
SET @pAgent = @extBankId
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
SELECT @pAgent = internalCode FROM externalBank WITH(NOLOCK) WHERE extBankId = @extBankId
|
|
END
|
|
|
|
SELECT @pAgentName = agentName FROM agentMaster WITH(NOLOCK) WHERE agentId = @pAgent
|
|
|
|
IF @pBranch IS NULL
|
|
SELECT TOP 1 @pBranch = agentId FROM agentMaster WITH(NOLOCK) WHERE parentId = @pAgent AND isHeadOffice = 'Y'
|
|
|
|
UPDATE sambaBatch SET
|
|
pBranch = @pBranch
|
|
,pBank = @extBankId
|
|
,pBankBranch = @extBankBranchId
|
|
,pBankBranchName = @extBankBranchName
|
|
,pBankType = @pBankType
|
|
,pBankName = @extBankName
|
|
,modifiedBy = @user
|
|
,modifiedDate = Getdate()
|
|
,pAgent = @pAgent
|
|
,pAgentName = @pAgentName
|
|
WHERE id = @id
|
|
|
|
EXEC [proc_errorHandler] 0, 'Bank Updated Successfully.', @id
|
|
END
|
|
|
|
IF @flag = 'a'
|
|
BEGIN
|
|
SELECT
|
|
id,
|
|
controlNo = dbo.FNADecryptString(controlNo),
|
|
senderName,
|
|
receiverName,
|
|
sCountry,
|
|
sSuperAgent,
|
|
sSuperAgentName,
|
|
sAgent,
|
|
sAgentName,
|
|
sBranch,
|
|
sBranchName,
|
|
paymentMethod,
|
|
tAmt,
|
|
cAmt,
|
|
pAmt,
|
|
customerRate,
|
|
payoutCurr,
|
|
pCountry,
|
|
|
|
pBank,
|
|
pBankName,
|
|
pBankBranch,
|
|
pBankBranchName,
|
|
|
|
pBankType,
|
|
accountNo,
|
|
tranStatus,
|
|
payStatus,
|
|
collCurr,
|
|
tranType,
|
|
serviceCharge,
|
|
sCurrCostRate,
|
|
pMessage,
|
|
|
|
senName,
|
|
senAddress,
|
|
senCity,
|
|
senCountry,
|
|
senNativeCountry,
|
|
senEmail,
|
|
senCompanyName,
|
|
senIdType,
|
|
senIdNumber,
|
|
senContactNo = '',
|
|
|
|
recName,
|
|
recAddress,
|
|
recContactNo = isnull(recHomePhone,'')+' , '+isnull(recWorkPhone,''),
|
|
recHomePhone,
|
|
recWorkPhone,
|
|
recCity,
|
|
recCountry,
|
|
recIdType,
|
|
recIdNumber
|
|
FROM sambaBatch WITH(NOLOCK) WHERE id = @id
|
|
END
|
|
|
|
IF @flag ='approve'
|
|
BEGIN
|
|
IF NOT EXISTS(SELECT 'X' FROM sambaBatch WITH(NOLOCK) WHERE approvedDate IS NULL)
|
|
BEGIN
|
|
EXEC proc_errorHandler 1, 'Transaction Not Found.', @user
|
|
RETURN;
|
|
END
|
|
DECLARE @tranId BIGINT,@controlNoEncrypted VARCHAR(50)
|
|
|
|
SELECT @controlNoEncrypted = controlNo FROM sambaBatch WITH(NOLOCK) WHERE id = @id
|
|
INSERT INTO remitTran
|
|
(
|
|
[controlNo]
|
|
,[senderName]
|
|
,[receiverName]
|
|
,[sCountry]
|
|
,[sSuperAgent]
|
|
,[sSuperAgentName]
|
|
,[sAgent]
|
|
,[sAgentName]
|
|
,[sBranch]
|
|
,[sBranchName]
|
|
,[paymentMethod]
|
|
,[cAmt]
|
|
,[tAmt]
|
|
,[pAmt]
|
|
,[customerRate]
|
|
,[payoutCurr]
|
|
,[pCountry]
|
|
,pAgent
|
|
,pAgentName
|
|
,[pBank]
|
|
,[pbankName]
|
|
,[pBankBranch]
|
|
,[pBankBranchName]
|
|
|
|
,pBankType
|
|
,[accountNo]
|
|
,[tranStatus]
|
|
,[payStatus]
|
|
|
|
,[collCurr]
|
|
,[tranType]
|
|
,[serviceCharge]
|
|
,[sCurrCostRate]
|
|
,[pMessage]
|
|
,[createdBy]
|
|
,[createdDate]
|
|
,[createdDateLocal]
|
|
,approvedBy
|
|
,approvedDate
|
|
,approvedDateLocal
|
|
)
|
|
SELECT
|
|
[controlNo]
|
|
,[senderName]
|
|
,[receiverName]
|
|
,[sCountry]
|
|
,[sSuperAgent]
|
|
,[sSuperAgentName]
|
|
,[sAgent]
|
|
,[sAgentName]
|
|
,[sBranch]
|
|
,[sBranchName]
|
|
,[paymentMethod] = case when pBankBranch is not null then 'Bank Deposit' else [paymentMethod] end
|
|
,[cAmt]
|
|
,[tAmt]
|
|
,[pAmt]
|
|
,[customerRate]
|
|
,[payoutCurr]
|
|
,[pCountry]
|
|
,pAgent
|
|
,pAgentName
|
|
,[pBank]
|
|
,[pbankName]
|
|
,[pBankBranch]
|
|
,[pBankBranchName]
|
|
|
|
,pBankType
|
|
,[accountNo]
|
|
,'Payment'
|
|
,'Unpaid'
|
|
|
|
,[collCurr]
|
|
,[tranType]
|
|
,[serviceCharge]
|
|
,[sCurrCostRate]
|
|
,[pMessage]
|
|
,[createdBy]
|
|
,[createdDate]
|
|
,[createdDateLocal]
|
|
,approvedBy =@user
|
|
,approvedDate = getdate()
|
|
,approvedDateLocal = getdate()
|
|
FROM sambaBatch WITH(NOLOCK) WHERE id = @id
|
|
|
|
SET @tranId = @@IDENTITY
|
|
INSERT INTO tranSenders(tranId,firstName,address,city,country,nativeCountry,email,companyName,idType,idNumber)
|
|
SELECT
|
|
@tranId,
|
|
senName,
|
|
senAddress,
|
|
senCity,
|
|
senCountry,
|
|
senNativeCountry,
|
|
senEmail,
|
|
senCompanyName,
|
|
senIdType,
|
|
senIdNumber
|
|
FROM sambaBatch tm WITH(NOLOCK) WHERE id = @id
|
|
|
|
INSERT INTO tranReceivers(tranId,firstName,address,homePhone,workPhone,city,country,idType,idNumber)
|
|
SELECT
|
|
@tranId,
|
|
recName,
|
|
recAddress,
|
|
recHomePhone,
|
|
recWorkPhone,
|
|
recCity,
|
|
recCountry,
|
|
recIdType,
|
|
recIdNumber
|
|
FROM sambaBatch tm WITH(NOLOCK) WHERE id = @id
|
|
|
|
UPDATE sambaBatch SET approvedBy = @user,approvedDate=GETDATE() WHERE id = @id
|
|
|
|
EXEC proc_pushToAc @flag= 'i', @controlNoEncrypted = @controlNoEncrypted
|
|
|
|
EXEC proc_errorHandler 0, 'Transaction has been approved successfully.', @tranId
|
|
|
|
END
|
|
|
|
END TRY
|
|
BEGIN CATCH
|
|
IF @@TRANCOUNT<>0
|
|
ROLLBACK TRANSACTION
|
|
DECLARE @errorMessage VARCHAR(MAX)
|
|
SET @errorMessage = ERROR_MESSAGE()
|
|
EXEC proc_errorHandler 1, @errorMessage, @user
|
|
END CATCH
|
|
|
|
|
|
|
|
GO
|