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.
158 lines
5.5 KiB
158 lines
5.5 KiB
/**
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
|
|
|