|
|
/**
EXEC INBOUND_PROC_MOBILE @flag='bankAccounts',@customerId = '40154'
*/
ALTER PROCEDURE INBOUND_PROC_MOBILE( @flag VARCHAR(100) = NULL ,@UserId VARCHAR(100) = NULL ,@FromDate VARCHAR(10) = NULL ,@ToDate VARCHAR(10) = NULL ,@customerId VARCHAR(100) = NULL ,@tranId VARCHAR(30) = NULL ,@Id VARCHAR(30) = NULL ,@accountId VARCHAR(30) = NULL )AS BEGIN
IF @FromDate IS NULL OR @ToDate IS NULL BEGIN SET @FromDate = '2019-10-01'--FORMAT(GETDATE(),'yyyy-MM-dd') SET @ToDate = FORMAT(GETDATE(),'yyyy-MM-dd') END
IF @flag = 'tranHistory' BEGIN SELECT tranDate = FORMAT(irt.approvedDate,'yyyy-MM-dd') ,senderName = irt.senderName ,receivedAmount = irt.pAmt ,bank = kbl.BankName ,bankCode = kbl.bankCode ,accountNo = irt.accountNo ,serviceFee = irt.serviceCharge ,MobileNo = '' ,status = CASE WHEN irt.payStatus NOT IN ('PAID','UNPAID','CANCEL') THEN 'PROCESSING' ELSE irt.payStatus END ,controlNo = dbo.FNADecryptString(irt.controlNo) ,sendingCountryCode = cm.CountryCode ,sendingCountryName = cm.countryName
,receivingCountryCode = cms.CountryCode ,receivingCountryName = cms.countryName ,CONVERT(bit,CASE WHEN icl.accountNo IS NOT NULL AND irt.payStatus IN ('PAID','POST','UNPAID') then 1 ELSE 0 END) IsAccountReg FROM dbo.INBOUND_REMIT_TRAN(NOLOCK) irt INNER JOIN dbo.INBOUND_TRAN_RECEIVERS(NOLOCK) itr ON irt.id = itr.tranId INNER JOIN dbo.KoreanBankList(NOLOCK) kbl ON kbl.rowId = irt.pBank INNER JOIN countryMaster(NOLOCK) cm ON cm.countryName = irt.sCountry INNER JOIN countryMaster(NOLOCK) cms ON cms.countryName = irt.pCountry LEFT JOIN INBOUND_CUSTOMERBANKLIST(NOLOCK) icl ON icl.accountNo=irt.accountNo AND icl.bankCode = kbl.bankCode AND icl.customerId= @UserId WHERE irt.approvedDate BETWEEN @FromDate AND @ToDate + ' 23:59:59' AND itr.customerId = @UserId END
IF @flag = 'tranDetail' BEGIN SELECT tranDate = FORMAT(irt.approvedDate,'yyyy-MM-dd') ,senderName = irt.senderName ,receivedAmount = irt.pAmt ,bank = kbl.BankName ,bankCode = kbl.bankCode ,accountNo = irt.accountNo ,serviceFee = irt.serviceCharge ,MobileNo = '' ,status = CASE WHEN irt.payStatus NOT IN ('PAID','UNPAID','CANCEL') THEN 'PROCESSING' ELSE irt.payStatus END ,controlNo = dbo.FNADecryptString(irt.controlNo) ,sendingCountryCode = cm.CountryCode ,sendingCountryName = cm.countryName
,receivingCountryCode = cms.CountryCode ,receivingCountryName = cms.countryName ,CONVERT(bit,CASE WHEN icl.accountNo IS NOT NULL AND irt.payStatus IN ('PAID','POST','UNPAID') then 1 ELSE 0 END) IsAccountReg FROM dbo.INBOUND_REMIT_TRAN(NOLOCK) irt INNER JOIN dbo.INBOUND_TRAN_RECEIVERS(NOLOCK) itr ON irt.id = itr.tranId INNER JOIN dbo.KoreanBankList(NOLOCK) kbl ON kbl.rowId = irt.pBank INNER JOIN countryMaster(NOLOCK) cm ON cm.countryName = irt.sCountry INNER JOIN countryMaster(NOLOCK) cms ON cms.countryName = irt.pCountry LEFT JOIN INBOUND_CUSTOMERBANKLIST(NOLOCK) icl ON icl.accountNo=irt.accountNo AND icl.bankCode = kbl.bankCode AND icl.customerId= @UserId WHERE irt.controlNo = dbo.FNAEncryptString(@tranId) AND itr.customerId = @UserId END
IF @flag = 'bankAccounts' BEGIN DECLARE @bank VARCHAR(100), @account VARCHAR(100) SELECT @bank = kbl.bankCode, @account = bankAccountNo FROM dbo.customerMaster(NOLOCK) cm INNER JOIN dbo.KoreanBankList(NOLOCK) kbl ON kbl.rowId=cm.bankName WHERE customerId = @customerId
IF NOT EXISTS(SELECT 'x' FROM INBOUND_CUSTOMERBANKLIST(NOLOCK) WHERE bankCode= @bank AND accountNo = @account AND customerId = @customerId) BEGIN INSERT INTO dbo.INBOUND_CUSTOMERBANKLIST ( customerId, customerName, certNumber, certLimitCount, bankCode, accountNo, accountName, isRealNameVerified, isPennyTest, action, createdDate, createdBy, reqDate, certDate )SELECT customerId,firstName,0,0,kbl.bankCode,bankAccountNo,firstName,1,1,'SUCCESS',GETDATE(),email,GETDATE(),GETDATE() FROM dbo.customerMaster(NOLOCK) cm INNER JOIN dbo.KoreanBankList(NOLOCK) kbl ON kbl.rowId=cm.bankName WHERE customerId = @customerId END
SELECT ibl.rowId AS Id ,IsPrimary = CASE WHEN ibl.bankCode = @bank AND ibl.accountNo = @account THEN 1 ELSE 0 END ,kbl.bankCode ,ibl.AccountNo ,Bank = kbl.BankName ,IsPennyTestSuccess = CASE WHEN ibl.action='SUCCESS' THEN 1 ELSE 0 END FROM dbo.INBOUND_CUSTOMERBANKLIST ibl (NOLOCK) INNER JOIN dbo.KoreanBankList(NOLOCK) kbl ON ibl.bankCode = kbl.bankCode WHERE customerId = @customerId END
IF @flag = 'deleteAccount' BEGIN BEGIN TRAN INSERT INTO INBOUND_CUSTOMERBANKLIST_HISTORY( oldRowId,customerId,customerName,certNumber,certLimitCount,bankCode,accountNo,accountName,isRealNameVerified,isPennyTest,action,createdDate,createdBy,reqDate,certDate ) SELECT rowId,customerId,customerName,certNumber,certLimitCount,bankCode,accountNo,accountName,isRealNameVerified,isPennyTest,action,createdDate,createdBy,reqDate,certDate FROM INBOUND_CUSTOMERBANKLIST(NOLOCK) WHERE customerId = @customerId AND rowId = @accountId
DELETE FROM INBOUND_CUSTOMERBANKLIST WHERE customerId = @customerId AND rowId = @accountId COMMIT TRAN
IF @@TRANCOUNT=0 BEGIN SELECT '0' Code, 'Account has been removed successfully.' Msg, NULL Id RETURN END ELSE BEGIN SELECT '1' Code, 'Failed to remove account.' Msg, NULL Id RETURN END END END
|