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.
 
 
 

642 lines
24 KiB

ALTER PROC [dbo].[proc_online_approve_Customer]
@flag VARCHAR(50) = NULL
,@user VARCHAR(30) = NULL
,@customerId VARCHAR(30) = NULL
,@searchCriteria VARCHAR(30) = NULL
,@searchValue VARCHAR(50) = NULL
,@fromDate DATETIME = NULL
,@toDate DATETIME = NULL
,@cusType VARCHAR(50) = NULL
,@accountNumber VARCHAR(100) = NULL
,@CustomerBankName NVARCHAR(100) = NULL
,@obpId VARCHAR(50) =NULL
--grid parameters
,@pageSize VARCHAR(50) = NULL
,@pageNumber VARCHAR(50) = NULL
,@sortBy VARCHAR(50) = NULL
,@sortOrder VARCHAR(50) = NULL
,@virtualAccountNo VARCHAR(50) = NULL
,@primaryAccountNo VARCHAR(50) = NULL
,@isKftcOnly VARChar(2) = NULL
AS
SET NOCOUNT ON;
SET XACT_ABORT ON;
BEGIN TRY
DECLARE @table VARCHAR(MAX)
,@select_field_list VARCHAR(MAX)
,@extra_field_list VARCHAR(MAX)
,@sql_filter VARCHAR(MAX)
DECLARE @email VARCHAR(200)
,@username VARCHAR(50)
,@pwd VARCHAR(50)
,@channel VARCHAR(20)=NULL
IF @flag='vl' --verified list/approve pending list
BEGIN
SET @sortBy = 'createdDate'
SET @sortOrder = 'desc'
SET @table ='(
SELECT SN=ROW_NUMBER() over(ORDER BY cm.customerId asc)
,customerId=cm.customerId
,email=cm.email
,fullName= REPLACE(ISNULL(cm.firstName, '''') + ISNULL('' '' + cm.middleName, '''') + ISNULL('' '' + cm.lastName1, ''''), '' '', '' '')
,dob=CONVERT(VARCHAR,cm.dob,101)
,address=cm.[address]
,nativeCountry=com.countryName
,idtype=sdv.detailTitle
,idNumber=cm.idNumber
,createdDate=CAST(cm.createdDate AS DATE)
,verifiedBy=cm.verifiedBy
,branchName=''''
,verifiedDate=CAST(cm.verifiedDate AS DATE)
,ipAddress=cm.ipAddress
,mobile=cm.mobile
,bankAccountNo
,bankName=bl.bankName
FROM customerMaster cm(NOLOCK)
LEFT JOIN countryMaster com(NOLOCK) ON cm.nativeCountry=com.countryId
INNER JOIN staticDataValue sdv (NOLOCK) ON sdv.valueId=cm.idType AND sdv.typeID=1300
LEFT JOIN vwBankLists bl (NOLOCK) ON cm.bankName = bl.rowId
WHERE cm.verifiedDate IS NOT NULL AND cm.approvedDate IS NULL'
IF ISNULL(@fromDate,'')<>'' AND ISNULL(@toDate,'')<>''
SET @table=@table + ' AND cm.createdDate BETWEEN ''' +CAST(@fromDate AS VARCHAR)+''' AND ''' +CAST(@toDate AS VARCHAR)+''''
SET @table = @table + ')x'
SET @sql_filter = ''
IF ISNULL(@searchCriteria,'')<>'' AND ISNULL(@searchValue,'')<>''
BEGIN
IF @searchCriteria='idNumber'
BEGIN
--IF ISNUMERIC(@searchValue)<>1
-- SET @searchValue='-1' --to ignore string value for datatype integer/customerID
--SET @sql_Filter=@sql_Filter + ' AND customerId = ''' +@searchValue+''''
SET @sql_Filter=@sql_Filter + ' AND REPLACE(idNumber, ''-'', '''') = ''' +REPLACE(@searchValue, '-', '')+''''
END
ELSE IF @searchCriteria='emailId'
SET @sql_Filter=@sql_Filter + ' AND email like ''' +@searchValue+'%'''
ELSE IF @searchCriteria='customerName'
SET @sql_Filter=@sql_Filter + ' AND fullName like ''' +@searchValue+'%'''
ELSE IF @searchCriteria='mobile'
SET @sql_Filter=@sql_Filter + ' AND mobile = ''' +@searchValue+''''
ELSE IF @searchCriteria='walletAccountNo'
SET @sql_Filter=@sql_Filter + ' AND walletAccountNo = ''' +@searchValue+''''
ELSE IF @searchCriteria='bankAccountNo'
SET @sql_Filter=@sql_Filter + ' AND bankAccountNo = ''' +@searchValue+''''
ELSE IF @searchCriteria='nativeCountry'
SET @sql_Filter=@sql_Filter + ' AND nativeCountry = ''' +@searchValue+''''
ELSE IF @searchCriteria='uniqueid'
SET @sql_Filter=@sql_Filter + ' AND customerId = ''' +@searchValue+''''
END
SET @select_field_list ='
SN,customerId,email,fullName,dob,address,nativeCountry,idtype,idNumber
,createdDate,verifiedBy,branchName,verifiedDate,bankAccountNo,bankName
'
EXEC dbo.proc_paging
@table,@sql_filter,@select_field_list,@extra_field_list
,@sortBy,@sortOrder,@pageSize,@pageNumber
RETURN
END
ELSE IF @flag='al' --approved list
BEGIN
IF @sortBy IS NULL
SET @sortBy = 'customerId'
IF @sortOrder IS NULL
SET @sortOrder = 'ASC'
SET @table ='(
SELECT SN=ROW_NUMBER() over(ORDER BY cm.customerId asc)
,customerId=cm.customerId
,cm.membershipId
,email=cm.email
,fullName= cm.firstName
,idtype=sdv.detailTitle
,idNumber=cm.idNumber
,mobile=cm.mobile
,bankName=bl.bankName
,cm.bankAccountNo
,CM.walletAccountNo
,cm.availableBalance
,cm.dob,cm.address
,country = ''South Korea''
,nativeCountry = com.CountryName
,cm.createdDate
FROM customerMaster cm(NOLOCK)
INNER JOIN staticDataValue sdv (NOLOCK) ON sdv.valueId=cm.idType
LEFT JOIN countryMaster com(NOLOCK) ON cm.nativeCountry=com.countryId
LEFT JOIN KoreanBankList bl (NOLOCK) ON cm.bankName = bl.rowId
WHERE cm.approvedDate is not null '
IF (SELECT DATEDIFF(DAY,@fromDate,@toDate)) >10
SET @table=@table + ' AND 1=2 '
IF ISNULL(@fromDate,'')<>'' AND ISNULL(@toDate,'')<>''
SET @table=@table + ' AND cm.approvedDate BETWEEN ''' +CAST(CAST(@fromDate AS DATE) AS VARCHAR)+''' AND ''' +CAST(CAST(@toDate AS DATE) AS VARCHAR)+' 23:59:59'+''''
SET @table = @table + ')x'
SET @sql_filter = ''
IF ISNULL(@searchCriteria,'')<>'' AND ISNULL(@searchValue,'')<>''
BEGIN
IF @searchCriteria='idNumber'
BEGIN
--IF ISNUMERIC(@searchValue)<>1
-- SET @searchValue='-1' --to ignore string value for datatype integer/customerID
--SET @sql_Filter=@sql_Filter + ' AND customerId = ''' +@searchValue+''''
SET @sql_Filter=@sql_Filter + ' AND REPLACE(idNumber, ''-'', '''') = ''' +REPLACE(@searchValue, '-', '')+''''
END
ELSE IF @searchCriteria='emailId'
SET @sql_Filter=@sql_Filter + ' AND email = ''' +@searchValue+''''
ELSE IF @searchCriteria='customerName'
SET @sql_Filter=@sql_Filter + ' AND fullName like ''%' +@searchValue+'%'''
ELSE IF @searchCriteria='mobile'
SET @sql_Filter=@sql_Filter + ' AND mobile = ''' +@searchValue+''''
ELSE IF @searchCriteria='walletAccountNo'
SET @sql_Filter=@sql_Filter + ' AND walletAccountNo = ''' +@searchValue+''''
ELSE IF @searchCriteria='bankAccountNo'
SET @sql_Filter=@sql_Filter + ' AND bankAccountNo = ''' +@searchValue+''''
ELSE IF @searchCriteria='bankAccountNo'
SET @sql_Filter=@sql_Filter + ' AND bankAccountNo = ''' +@searchValue+''''
ELSE IF @searchCriteria='goldCardNumber'
SET @sql_Filter=@sql_Filter + ' AND membershipId = ''' +@searchValue+''''
ELSE IF @searchCriteria='nativeCountry'
SET @sql_Filter=@sql_Filter + ' AND nativeCountry = ''' +@searchValue+''''
ELSE IF @searchCriteria='uniqueid'
SET @sql_Filter=@sql_Filter + ' AND customerId = ''' +@searchValue+''''
END
SET @select_field_list ='
SN,customerId,email,fullName,idtype,idNumber,mobile,bankName,bankAccountNo,walletAccountNo,availableBalance
,dob,address,country,nativeCountry,createdDate'
EXEC dbo.proc_paging
@table,@sql_filter,@select_field_list,@extra_field_list,@sortBy,@sortOrder,@pageSize,@pageNumber
RETURN
END
ELSE IF @flag ='IL' -- inactive customer list
BEGIN
IF @sortBy IS NULL
SET @sortBy = 'customerId'
IF @sortOrder IS NULL
SET @sortOrder = 'ASC'
SET @table ='(
SELECT SN=ROW_NUMBER() over(ORDER BY cm.customerId asc)
,customerId=cm.customerId
,email=cm.email
,fullName= cm.firstName
,idtype=sdv.detailTitle
,idNumber=cm.idNumber
,mobile=cm.mobile
,bankName=bl.bankName
,cm.bankAccountNo
,CM.walletAccountNo
,cm.availableBalance
,cm.dob,cm.address
,country = ''South Korea''
,nativeCountry = com.CountryName
,cm.createdDate
,cm.modifiedDate
,cm.modifiedBy
FROM customerMaster cm(NOLOCK)
INNER JOIN staticDataValue sdv (NOLOCK) ON sdv.valueId=cm.idType
LEFT JOIN countryMaster com(NOLOCK) ON cm.nativeCountry=com.countryId
LEFT JOIN KoreanBankList bl (NOLOCK) ON cm.bankName = bl.rowId
WHERE ISNULL(cm.isActive,''N'') =''N'' '
IF ISNULL(@fromDate,'')<>'' AND ISNULL(@toDate,'')<>''
SET @table=@table + ' AND cm.createdDate BETWEEN ''' +CAST(CAST(@fromDate AS DATE) AS VARCHAR)+''' AND ''' +CAST(CAST(@toDate AS DATE) AS VARCHAR)+' 23:59:59'+''''
SET @table = @table + ')x'
SET @sql_filter = ''
IF ISNULL(@searchCriteria,'')<>'' AND ISNULL(@searchValue,'')<>''
BEGIN
IF @searchCriteria='idNumber'
BEGIN
--IF ISNUMERIC(@searchValue)<>1
-- SET @searchValue='-1' --to ignore string value for datatype integer/customerID
--SET @sql_Filter=@sql_Filter + ' AND customerId = ''' +@searchValue+''''
SET @sql_Filter=@sql_Filter + ' AND REPLACE(idNumber, ''-'', '''') = ''' +REPLACE(@searchValue, '-', '')+''''
END
ELSE IF @searchCriteria='emailId'
SET @sql_Filter=@sql_Filter + ' AND email like ''' +@searchValue+'%'''
ELSE IF @searchCriteria='customerName'
SET @sql_Filter=@sql_Filter + ' AND fullName like ''' +@searchValue+'%'''
ELSE IF @searchCriteria='mobile'
SET @sql_Filter=@sql_Filter + ' AND mobile = ''' +@searchValue+''''
ELSE IF @searchCriteria='walletAccountNo'
SET @sql_Filter=@sql_Filter + ' AND walletAccountNo = ''' +@searchValue+''''
ELSE IF @searchCriteria='bankAccountNo'
SET @sql_Filter=@sql_Filter + ' AND bankAccountNo = ''' +@searchValue+''''
ELSE IF @searchCriteria='nativeCountry'
SET @sql_Filter=@sql_Filter + ' AND nativeCountry = ''' +@searchValue+''''
ELSE IF @searchCriteria='uniqueid'
SET @sql_Filter=@sql_Filter + ' AND customerId = ''' +@searchValue+''''
END
SET @select_field_list ='
SN,customerId,email,fullName,idtype,idNumber,mobile,bankName,bankAccountNo,walletAccountNo,availableBalance
,dob,address,country,nativeCountry,createdDate,modifiedDate,modifiedBy'
EXEC dbo.proc_paging
@table,@sql_filter,@select_field_list,@extra_field_list,@sortBy,@sortOrder,@pageSize,@pageNumber
RETURN
END
ELSE IF @flag='p' --pending list
BEGIN
IF @sortBy IS NULL
SET @sortBy = 'customerId'
IF @sortOrder IS NULL
SET @sortOrder = 'ASC'
SET @table ='(
SELECT SN=ROW_NUMBER() over(ORDER BY cm.customerId asc)
,customerId=cm.customerId
,email=cm.email
,fullName= REPLACE(ISNULL(cm.firstName, '''') + ISNULL('' '' + cm.middleName, '''') + ISNULL('' '' + cm.lastName1, ''''), '' '', '' '')
,dob=CONVERT(VARCHAR,cm.dob,101)
,address=cm.[address]
,country=c.countryName
,ipAddress=isnull(cm.ipAddress,'''')
,nativeCountry=com.countryName
,idtype=sdv.detailTitle
,idNumber=cm.idNumber
,telNo=isnull(cm.telNo,'''')
,mobile=cm.mobile
,createdDate=CAST(cm.createdDate AS DATE)
,bankName=bl.bankName
,cm.bankAccountNo
FROM customerMaster cm(NOLOCK)
LEFT JOIN countryMaster com(NOLOCK) ON cm.nativeCountry=com.countryId
LEFT JOIN countryMaster c(NOLOCK) ON cm.country=c.countryId
INNER JOIN staticDataValue sdv (NOLOCK) ON sdv.valueId=cm.idType AND sdv.typeID=1300
LEFT JOIN vwBankLists bl (NOLOCK) ON cm.bankName = bl.rowId
WHERE cm.verifiedDate IS NULL'
IF ISNULL(@fromDate,'')<>'' AND ISNULL(@toDate,'')<>''
SET @table=@table + ' AND cm.createdDate BETWEEN ''' +CAST(@fromDate AS VARCHAR)+''' AND ''' +CAST(@toDate AS VARCHAR)+''''
SET @table = @table + ')x'
SET @sql_filter = ''
IF ISNULL(@searchCriteria,'')<>'' AND ISNULL(@searchValue,'')<>''
BEGIN
IF @searchCriteria='idNumber'
BEGIN
SET @sql_Filter=@sql_Filter + ' AND REPLACE(idNumber, ''-'', '''') = ''' +REPLACE(@searchValue, '-', '')+''''
END
ELSE IF @searchCriteria='emailId'
SET @sql_Filter=@sql_Filter + ' AND email like ''' +@searchValue+'%'''
ELSE IF @searchCriteria='customerName'
SET @sql_Filter=@sql_Filter + ' AND fullName like ''' +@searchValue+'%'''
ELSE IF @searchCriteria='mobile'
SET @sql_Filter=@sql_Filter + ' AND mobile = ''' +@searchValue+''''
ELSE IF @searchCriteria='bankAccountNo'
SET @sql_Filter=@sql_Filter + ' AND bankAccountNo = ''' +@searchValue+''''
ELSE IF @searchCriteria='nativeCountry'
SET @sql_Filter=@sql_Filter + ' AND nativeCountry = ''' +@searchValue+''''
ELSE IF @searchCriteria='uniqueid'
SET @sql_Filter=@sql_Filter + ' AND customerid = ''' +@searchValue+''''
END
SET @select_field_list ='
SN
,customerId
,email
,fullName
,dob
,address
,country
--,ipAddress
,nativeCountry
,idtype
,idNumber
--,telNo
,mobile
,createdDate
,bankName
,bankAccountNo
'
EXEC dbo.proc_paging
@table
,@sql_filter
,@select_field_list
,@extra_field_list
,@sortBy
,@sortOrder
,@pageSize
,@pageNumber
RETURN
END
ELSE IF @flag='searchCriteria'
BEGIN
SELECT '' value, 'Select' [text] UNION ALL
SELECT 'emailId', 'User ID' UNION ALL
SELECT 'IdNumber', 'ID - Number' UNION ALL
--SELECT 'nativeCountry', 'Native Country' UNION ALL
SELECT 'customerName', 'Customer Name' UNION ALL
SELECT 'walletAccountNo', 'Virtual Account No' UNION ALL
SELECT 'bankAccountNo', 'Registered Bank Account No' UNION ALL
SELECT 'mobile', 'Mobile No' UNION ALL
SELECT 'goldCardNumber', 'Gold Card Number' UNION all
SELECT 'uniqueid', 'Unique Id'
RETURN
END
ELSE IF @flag='UnApprovesearch'
BEGIN
SELECT '' value, 'Select' [text] UNION ALL
SELECT 'emailId', 'User ID' UNION ALL
SELECT 'IdNumber', 'ID - Number' UNION ALL
SELECT 'nativeCountry', 'Native Country' UNION ALL
SELECT 'customerName', 'Customer Name' UNION ALL
SELECT 'walletAccountNo', 'Virtual Account No' UNION ALL
SELECT 'bankAccountNo', 'Registered Bank Account No' UNION ALL
SELECT 'mobile', 'Mobile No' UNION ALL
SELECT 'goldCardNumber', 'Gold Card Number' UNION ALl
SELECT 'uniqueid', 'Unique Id'
RETURN
END
ELSE IF @flag='ddlCustomerType'
BEGIN
SELECT '' value, 'Select' [text] UNION ALL
SELECT 'n', 'Newly Registered' UNION ALL
SELECT 'y', 'Existing'
RETURN
END
ELSE IF @flag='verify-pending'
BEGIN
UPDATE dbo.customerMaster SET verifiedDate=GETDATE(),verifiedBy=@user WHERE customerId=@customerId
SELECT '0' ErrorCode , 'Customer verified successfully.' Msg , @customerId id
RETURN
END
ELSE IF @flag='approve-pending'
BEGIN
DECLARE @custIdNumber VARCHAR(50),@AlreadyExistCustomer VARCHAR(100),@bankName VARCHAR(100)
SELECT @custIdNumber = idNumber , @bankName=bankName , @accountNumber=bankAccountNo
FROM dbo.customerMaster (NOLOCK)
WHERE customerId = @customerId
select @cusType = userType from applicationUsers(nolock) where userName = @user
SELECT TOP 1 @AlreadyExistCustomer=email FROM dbo.customerMaster (NOLOCK) WHERE bankName=@bankName AND bankAccountNo=@accountNumber AND approvedBy IS NOT NULL
IF EXISTS (SELECT 'X' FROM dbo.customerMaster (NOLOCK) WHERE replace(idNumber,'-','') = replace(@custIdNumber, '-', '')
GROUP BY replace(idNumber,'-','') having count(1)>1)
BEGIN
SELECT '1' ErrorCode , 'Duplicate id number found for customer' Msg ,null
RETURN
END
IF EXISTS (SELECT 'X' FROM dbo.customerMaster (NOLOCK) WHERE replace(idNumber,'-','') = replace(@custIdNumber, '-', '') AND approvedBy IS NOT NULL)
BEGIN
SELECT '1' ErrorCode , 'Customer with same id number already approved.' Msg ,null
RETURN
END
IF EXISTS (SELECT 'X' FROM dbo.customerMaster (NOLOCK) WHERE bankName=@bankName AND bankAccountNo=@accountNumber AND approvedBy IS NOT NULL)
BEGIN
SELECT '1' ErrorCode , 'Customer with same bank details already exists. Already Exists Customer : '+ISNULL(@AlreadyExistCustomer,'') Msg ,null
RETURN
END
IF NOT EXISTS ( SELECT TOP 1 virtualAccNumber from VirtualAccountMapping WITH (NOLOCK) )
BEGIN
SELECT '1' ErrorCode , 'No stock Virtual account found, please upload ! Warning ' Msg ,null
RETURN
END
IF @cusType <> 'HO'
BEGIN
--UPDATE customerMaster
--SET dob = dbo.FNAGETDOB_FROM_ALIENCARD(LEFT(idNumber,6),RIGHT(LEFT(idNumber,8),1))
--WHERE DOB IS NULL AND idNumber LIKE '%-%'
UPDATE customerMaster SET verifiedBy = @user,verifiedDate = GETDATE(),customerStatus ='S' where customerId = @customerId
INSERT INTO SuspiciousRegisteredCustomer(OrgCustomerId,MatchedCustomerId)
EXEC [Proc_ValidateDuplicateCustomer] @customerId = @customerId
if exists(select 'a' from SuspiciousRegisteredCustomer(nolock) where OrgCustomerId = @customerId)
begin
SELECT '1' ErrorCode , 'Suspicious customer verified but can not approve,please contact HO ' Msg ,null
return
end
END
IF EXISTS(SELECT 'A' FROM customerMaster(NOLOCK) WHERE customerId = @customerId AND walletAccountNo IS NULL)
BEGIN
IF ISNULL(@isKftcOnly,'N') = 'Y'
BEGIN
DECLARE @dummyWallet BIGINT
SELECT TOP 1 @dummyWallet = VirtualWalletNo from FastMoneyPro_Account.dbo.billSetting WITH (NOLOCK)
SET @accountNumber = CONVERT(VARCHAR,@dummyWallet + 1)
UPDATE FastMoneyPro_Account.dbo.billSetting SET VirtualWalletNo = @dummyWallet + 1 WHERE rowid = 1
END
ELSE
BEGIN
SELECT TOP 1 @accountNumber = virtualAccNumber from VirtualAccountMapping WITH (NOLOCK) where customerId is null
UPDATE VirtualAccountMapping SET customerId = @customerId WHERE virtualAccNumber = @accountNumber
END
UPDATE dbo.customerMaster SET walletAccountNo=@accountNumber , CustomerBankName = @CustomerBankName
,DOB = CASE WHEN DOB IS NULL AND idType IN(1302,8008) THEN dbo.FNAGETDOB_FROM_ALIENCARD(LEFT(@custIdNumber,6),RIGHT(LEFT(@custIdNumber,8),1))
ELSE DOB END,IsKftcOnly = @isKftcOnly
WHERE customerId = @customerId
END
DECLARE @newPassword varchar(20) = RIGHT('0000000' + CAST(CHECKSUM(NEWID()) AS VARCHAR), 7)
IF EXISTS(SELECT 'A' FROM customerMaster(NOLOCK) WHERE customerId = @customerId and customerPassword is not null)
SELECT @newPassword = dbo.FNAencryptString(customerPassword) FROM customerMaster(NOLOCK) WHERE customerId = @customerId and customerPassword is not null
ELSE
BEGIN
UPDATE dbo.customerMaster SET customerPassword = dbo.FNAencryptString(@newPassword) WHERE customerId = @customerId
END
-- @Max
-- 2018.09
SELECT username = ISNULL(cm.email,''),
[password] = dbo.FNADecryptString(cm.customerPassword),
[channel] = 'registration',
[account] = ISNULL(cm.membershipId,''),
walletAccountNo,
bankAccountNo,
fullName,
CustomerBankName,
k.bankCode,
cm.idType,
REPLACE(cm.idNumber, ' ', '') AS [idNumber],
CONVERT(VARCHAR(6), cm.dob, 12) AS [dobYMD],
CASE WHEN cm.gender='97' THEN '7'
WHEN cm.gender='98' THEN '8' END AS [genderCode],
CASE WHEN cm.nativeCountry = '238' THEN '1'
WHEN cm.nativeCountry = '113' THEN '2'
WHEN cm.nativeCountry = '45' THEN '3'
ELSE '4' END AS [nativeCountryCode]
FROM dbo.customerMaster cm(NOLOCK)
INNER JOIN KoreanBankList k (nolock) on k.rowId = cm.bankName
WHERE cm.customerId = @customerId
SELECT '0' ErrorCode , 'Customer verified successfully.' Msg ,@customerId id
RETURN
END
ELSE IF @flag='update-obpId'
BEGIN
BEGIN TRAN
UPDATE dbo.customerMaster SET
obpId = @obpId
,approvedDate = GETDATE(),approvedBy=@user ,customerStatus= 'V'
,verifiedBy = case when verifiedBy is null then @user else verifiedBy end
,verifiedDate = case when verifiedDate is null then GETDATE() else verifiedDate end
,isActive = 'Y'
WHERE customerId = @customerId
DECLARE @Mobile VARCHAR(20)
select @virtualAccountNo = walletAccountNo
,@CustomerBankName = firstName+'- Principle'
,@Mobile = mobile
from customerMaster(nolock)
WHERE customerId = @customerId
----#### SEND NOTIFICATION TO CUSTOMER
DECLARE @SMSBody VARCHAR(90) = 'Dear '+LEFT(@CustomerBankName,14)+' You are successfully registered with GME.Thank you for choosing GME.'
exec FastMoneyPro_Remit.dbo.proc_CallToSendSMS @FLAG = 'I',@SMSBody = @SMSBody,@MobileNo = @Mobile
IF not EXISTS(SELECT 'A' FROM FastMoneyPro_Account.dbo.ac_master (NOLOCK) WHERE acct_num = @virtualAccountNo)
begin
DECLARE @GL INT = 79
insert into FastMoneyPro_Account.dbo.ac_master
(acct_num, acct_name,gl_code, branch_id,acct_ownership,acct_rpt_code
, acct_opn_date,clr_bal_amt, system_reserved_amt,lien_amt, utilised_amt, available_amt,created_date,created_by,company_id)
select @virtualAccountNo,@CustomerBankName,@GL,@customerId,'c' ,'CP'
,getdate(),0,0,0,0,0,getdate(),@user,1
end
----coupon id '100% coupon-1 time'= 100% service free
IF NOT EXISTS(SELECT 'A' FROM CouponIssue(NOLOCK) WHERE customerId = @customerId)
BEGIN
insert into CouponIssue(customerId,couponId,startDate,endDate,createdDate,createdBy,isActive,usedCount)
select @customerId,'21',GETDATE(),'2021-01-01 00:00:00.000',GETDATE(),'system','Y',0
END
commit tran
SELECT '0' ErrorCode , 'Customer registered successfully.' Msg , @customerId id
--EXEC PROC_GOLDCARD_ACCOUNT_ENTRY @customerId
END
ELSE IF @flag='checkVirtualNo'
BEGIN
IF NOT EXISTS (SELECT 'X' FROM dbo.customerMaster WHERE walletAccountNo=@virtualAccountNo)
SELECT '1' ErrorCode , 'Invalid Virtual AccountNo' Msg , NULL id
RETURN;
END
ELSE IF @flag='checkPrimaryAccountNo'
BEGIN
IF NOT EXISTS (SELECT 'X' FROM dbo.customerMaster WHERE bankAccountNo=@primaryAccountNo)
SELECT '1' ErrorCode , 'Invalid Primary AccountNo' Msg , NULL id
END
ELSE IF @flag='AuditList' --AUDITED DOC LIST
BEGIN
SET @sortBy = 'createdDate'
SET @sortOrder = 'desc'
SET @table ='(
SELECT SN=ROW_NUMBER() over(ORDER BY cm.customerId asc)
,customerId=cm.customerId
,email=cm.email
,fullName= REPLACE(ISNULL(cm.firstName, '''') + ISNULL('' '' + cm.middleName, '''') + ISNULL('' '' + cm.lastName1, ''''), '' '', '' '')
,dob=CONVERT(VARCHAR,cm.dob,101)
,address=cm.[address]
,nativeCountry=com.countryName
,idtype=sdv.detailTitle
,idNumber=cm.idNumber
,createdDate=CAST(cm.createdDate AS DATE)
,verifiedBy=cm.verifiedBy
,branchName=''''
,verifiedDate=CAST(cm.verifiedDate AS DATE)
,ipAddress=cm.ipAddress
,mobile=cm.mobile
,bankAccountNo
,bankName=bl.bankName
,cm.AuditBy,cm.AuditDate
FROM customerMaster cm(NOLOCK)
LEFT JOIN countryMaster com(NOLOCK) ON cm.nativeCountry=com.countryId
INNER JOIN staticDataValue sdv (NOLOCK) ON sdv.valueId=cm.idType AND sdv.typeID=1300
LEFT JOIN vwBankLists bl (NOLOCK) ON cm.bankName = bl.rowId
WHERE cm.verifiedDate IS NOT NULL AND cm.AuditDate IS NOT NULL'
IF ISNULL(@fromDate,'')<>'' AND ISNULL(@toDate,'')<>''
SET @table=@table + ' AND cm.createdDate BETWEEN ''' +CAST(@fromDate AS VARCHAR)+''' AND ''' +CAST(@toDate AS VARCHAR)+''''
SET @table = @table + ')x'
SET @sql_filter = ''
IF ISNULL(@searchCriteria,'')<>'' AND ISNULL(@searchValue,'')<>''
BEGIN
IF @searchCriteria='idNumber'
BEGIN
--IF ISNUMERIC(@searchValue)<>1
-- SET @searchValue='-1' --to ignore string value for datatype integer/customerID
--SET @sql_Filter=@sql_Filter + ' AND customerId = ''' +@searchValue+''''
SET @sql_Filter=@sql_Filter + ' AND REPLACE(idNumber, ''-'', '''') = ''' +REPLACE(@searchValue, '-', '')+''''
END
ELSE IF @searchCriteria='emailId'
SET @sql_Filter=@sql_Filter + ' AND email like ''' +@searchValue+'%'''
ELSE IF @searchCriteria='customerName'
SET @sql_Filter=@sql_Filter + ' AND fullName like ''' +@searchValue+'%'''
ELSE IF @searchCriteria='mobile'
SET @sql_Filter=@sql_Filter + ' AND mobile = ''' +@searchValue+''''
ELSE IF @searchCriteria='walletAccountNo'
SET @sql_Filter=@sql_Filter + ' AND walletAccountNo = ''' +@searchValue+''''
ELSE IF @searchCriteria='bankAccountNo'
SET @sql_Filter=@sql_Filter + ' AND bankAccountNo = ''' +@searchValue+''''
ELSE IF @searchCriteria='nativeCountry'
SET @sql_Filter=@sql_Filter + ' AND nativeCountry = ''' +@searchValue+''''
ELSE IF @searchCriteria='uniqueid'
SET @sql_Filter=@sql_Filter + ' AND customerId = ''' +@searchValue+''''
END
SET @select_field_list ='
SN,customerId,email,fullName,dob,address,nativeCountry,idtype,idNumber
,createdDate,verifiedBy,branchName,verifiedDate,bankAccountNo,bankName,AuditBy,AuditDate
'
EXEC dbo.proc_paging
@table,@sql_filter,@select_field_list,@extra_field_list
,@sortBy,@sortOrder,@pageSize,@pageNumber
RETURN
END
END TRY
BEGIN CATCH
IF @@TRANCOUNT > 0
ROLLBACK TRANSACTION
DECLARE @errorMessage VARCHAR(MAX)
SET @errorMessage = ERROR_MESSAGE()
EXEC proc_errorHandler 1, @errorMessage, NULL
END CATCH