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.
 
 

2165 lines
134 KiB

USE [FastMoneyPro_Remit]
GO
/****** Object: StoredProcedure [dbo].[proc_online_approve_Customer] Script Date: 11/8/2023 11:25:14 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
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
,@agentId BIGINT = 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
,@password VARCHAR(50) = NULL
,@action CHAR(20) = NULL
,@referral VARCHAR(50) = NULL
,@verifyType VARCHAR(50) = NULL
,@customerPassword NVARCHAR(50) = NULL
,@HasDeclare VARCHAR(50) = NULL
,@agreeYn VARCHAR(50) = NULL
,@isForcedPwdChange VARCHAR(50) = NULL
,@isEmailVerified VARCHAR(50) = NULL
,@createdFrom1 VARCHAR(50) = NULL
,@mobileUser VARCHAR(50) = NULL
,@referelCode VARCHAR(50) = NULL
,@customerStatus1 VARCHAR(50) = NULL
,@mobileverifiedby VARCHAR(50) = NULL
,@mobileverifieddate VARCHAR(50) = NULL
,@mobileapprovedby VARCHAR(50) = NULL
,@mobileapproveddate VARCHAR(50) = NULL
,@mobileverificationType VARCHAR(50) = NULL
,@modifiedDate VARCHAR(50) = NULL
,@modifiedBy VARCHAR(100) = NULL
,@newData VARCHAR(300) = NULL
,@oldData VARCHAR(300) = NULL
,@isValidatedCustomer VARCHAR(5) = NULL
,@isAgreeDate DATETIME = NULL
,@verifyRemarks NVARCHAR(800) = NULL
,@ofacRemarks NVARCHAR(800) = NULL
AS
SET NOCOUNT ON;
SET XACT_ABORT ON;
--------------------------------------------------------------------------------------
-- #494 -> Added others value in approve customer screen by Leeza
-- #101 -> Mobile changes - @serviceUsedFor
-- #438 - added createdFrom
-- #660 -> Add referral code in customer detail screen for activating mobile
--Bug #681 ->Non KYC customer are appearing approve customer list
-- #675 Divide the approval customer into 2 step process
--#698 Create new screen to activate mobile service
-- cm.agreeYn,0)= 1 for verify Customer
-- Support #741 assign approve date during active mobile
-- #779 added log for activate mobile @flag = 'mobile-activate-log'
-- set MobileOTP expiry in case of activate mobile
-- Delete mobile-user-registration if exist
-- #958 - Add Asc/Desc sorting in Verify/Approve Customer From Mobile
-- #1008 - Allow saving filled customer data in verify Customer from mobile
-- #1030 - @flag='create-mobile-login', update isAgreeDate
-- #1094 - verify pending remarks , @flag = 'approve-pending-mobile' , 'verify-mobile-user'
-- #1104 - @flag = 'approve-pending' , add ofacRemarks, changes in @flag = 'approve-pending-mobile' and @flag = 'verify-mobile-user'
-- added logs for delete
-- #1195 changes in @flag = 'searchCriteria', @flag = 'unApprovedCustomerFromMobile', @flag = 'al' to add lawson card no in search field
-- #11751 - add registered Type
-- selected the customers created from agent portal as well in @flag = 'vl'
-- change in @flag = 'searchCriteria' to add filterlist
--------------------------------------------------------------------------------------
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
DECLARE @customerStatus NVARCHAR(100)
,@createdFrom VARCHAR(5) , @bonusPoint MONEY , @rewardValue MONEY , @sourceCustomerId INT
SET @toDate = @toDate + ' 23:59:59'
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=case when cm.idtype = ''11402'' then cm.otherIdNumber else sdv.detailTitle end
,idNumber= cm.idNumber
,createdDate=CAST(cm.createdDate AS DATE)
,createdBy=cm.createdBy
,verifiedBy=cm.verifiedBy
,branchName=''''
,verifiedDate=CAST(cm.verifiedDate AS DATE)
,ipAddress=cm.ipAddress
,mobile=cm.mobile
,bankAccountNo
,bankName=bl.bankName
,case when ISNULL(cm.createdFrom, ''C'') = ''C'' THEN ''COUNTER'' WHEN cm.createdFrom = ''M'' THEN ''MOBILE'' ELSE cm.createdFrom END createdFrom
FROM customerMaster cm(NOLOCK)
INNER JOIN APPLICATIONUSERS AU(NOLOCK) ON AU.USERNAME = CM.CREATEDBY
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.approvedDate IS NULL
--AND ISNULL(CM.CREATEDFROM, ''C'') = ''C''
AND CM.CREATEDFROM IN (''C'',''O'')
--AND ISNULL(CM.isVerifiedByCustomer, 0) = 1
and cm.isActive = ''Y'''
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 = 'membershipId'
SET @sql_Filter = @sql_Filter + ' AND membershipId = ''' + @searchValue + ''''
ELSE IF @searchCriteria = 'nativeCountry'
SET @sql_Filter = @sql_Filter + ' AND nativeCountry = ''' + @searchValue + ''''
END
SET @select_field_list = '
SN,customerId,email,fullName,dob,address,nativeCountry,idtype,idNumber
,createdDate,createdBy,verifiedBy,branchName,verifiedDate,bankAccountNo,bankName,createdFrom
'
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
,email=cm.email
,fullName= cm.fullName
,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
,approvedBy=cm.approvedBy
,approvedDate=CAST(cm.approvedDate AS DATE)
,case when ISNULL(cm.createdFrom, ''C'') = ''C'' THEN ''COUNTER'' WHEN cm.createdFrom = ''M'' THEN ''MOBILE'' ELSE cm.createdFrom END createdFrom
,cm.LawsonCardNo
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 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 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 = 'mobile'
SET @sql_Filter = @sql_Filter + ' AND mobile = ''' + @searchValue + ''''
ELSE IF @searchCriteria = 'membershipId'
SET @sql_Filter = @sql_Filter + ' AND membershipId = ''' + @searchValue + ''''
ELSE IF @searchCriteria = 'nativeCountry'
SET @sql_Filter = @sql_Filter + ' AND nativeCountry = ''' + @searchValue + ''''
END
SET @select_field_list = '
SN,customerId,email,fullName,idtype,idNumber,mobile,bankName,bankAccountNo,walletAccountNo,availableBalance
,dob,address,country,nativeCountry,createdDate,approvedDate,approvedBy,createdFrom,LawsonCardNo'
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 = 'membershipId'
SET @sql_Filter = @sql_Filter + ' AND membershipId = ''' + @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 + ''''
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'
,'Email ID'
UNION ALL
SELECT 'IdNumber'
,'ID - Number'
UNION ALL
SELECT 'nativeCountry'
,'Native Country'
UNION ALL
SELECT 'customerName'
,'Customer Name'
UNION ALL
SELECT 'mobile'
,'Mobile No'
UNION ALL
SELECT 'membershipId'
,'Membership 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 = 'create-mobile-login'
BEGIN
DECLARE @serviceUsedFor VARCHAR(10)
,@existingemailagent VARCHAR(50)
SELECT @existingemailagent = email
FROM customerMaster(NOLOCK)
WHERE customerid = @customerId
IF EXISTS (
SELECT *
FROM customerMaster(NOLOCK)
WHERE CUSTOMERID = @customerId
AND APPROVEDDATE IS NULL
)
BEGIN
SELECT '1' ErrorCode
,'Customer is not approved yet, approve customer first!' Msg
,NULL
RETURN
END
IF EXISTS (
SELECT *
FROM customerMaster(NOLOCK)
WHERE email = @existingemailagent
AND mobileApprovedDate IS NOT NULL and customerid<>@customerId
)
BEGIN
SELECT '1' ErrorCode
,'Customer with same email already exists! Please try again with a different email.' Msg
,NULL
RETURN
END
SELECT @email = EMAIL
,@customerId = customerId
FROM CUSTOMERMASTER(NOLOCK)
WHERE CUSTOMERID = @customerId
AND APPROVEDDATE IS NOT NULL
IF @customerId IS NULL
BEGIN
SELECT '1' ErrorCode
,'Customer is not approved yet, approve customer first!' Msg
,NULL
RETURN
END
IF @email IS NULL
BEGIN
SELECT '1' ErrorCode
,'Email ID field is empty, please update email first!' Msg
,NULL
RETURN
END
IF @serviceUsedFor LIKE '%M%'
BEGIN
SELECT '1' ErrorCode
,'Mobile user already created!' Msg
,NULL
RETURN
END
IF EXISTS (
SELECT *
FROM mobile_userRegistration
WHERE username = @existingemailagent
AND customerId <> @customerId
)
BEGIN
DELETE
FROM mobile_userRegistration
WHERE username = @existingemailagent
END
SELECT @username = username
,@serviceUsedFor = serviceUsedFor
,@mobileUser = mobileUser
,@referelCode = referelCode
,@customerStatus = customerstatus
,@isAgreeDate = isAgreeDate
FROM customerMaster
WHERE customerId = @customerId
UPDATE dbo.customerMaster
SET username = ISNULL(username, email)
,serviceUsedFor = ISNULL(LTRIM(RTRIM(serviceUsedFor)), 'C') + 'M'
,customerPassword = dbo.FNAEncryptString(@password)
,HasDeclare = 1
,agreeYn = 1
,isAgreeDate = GETDATE()
,isForcedPwdChange = 1
,isEmailVerified = 0
,createdFrom = 'C'
,mobileUser = 'Y'
,referelCode = @referral
,customerStatus = 'OTC'
,mobileverifiedby = @user
,mobileverifieddate = GETDATE()
--,mobileverificationType = 'verified'
,mobileapprovedby = @user
,mobileapproveddate = GETDATE()
,mobileverificationType = 'approved'
--,modifiedDate = GETDATE()
--,modifiedBy = @user
WHERE customerId = @customerId
UPDATE TBL_MOBILE_OTP_REQUEST
SET IS_SUCCESS = '0'
,IS_EXPIRED = '1'
,MODIFIED_DATE = GETDATE()
WHERE REQUEST_FOR = 'REGISTER'
AND user_id = @email
EXEC PROC_CUSTOMERMODIFYLOG @flag = 'mobile-activate-log'
,@user = @user
,@customerId = @customerId
,@username = @username
,@mobileUser = @mobileUser
,@referelCode = @referelCode
,@mobileverifiedby = @user
,@mobileverifieddate = @mobileverifieddate
,@mobileapprovedby = @user
,@mobileverificationType = @mobileverificationType
,@serviceUsedFor = @serviceUsedFor
,@customerStatus = @customerStatus
,@isAgreeDate = @isAgreeDate
--SELECT '0' ErrorCode
-- ,'Mobile login created successfully, please check mobile customer approve menu.' Msg
-- ,@customerId id
SELECT '0' ErrorCode
,'Mobile login created successfully.' Msg
,@customerId id
,'Y' extra
--,'approved' EXTRA2
RETURN
END
ELSE IF @flag = 'approve-pending'
BEGIN
DECLARE @custIdNumber VARCHAR(50)
,@WALLET_ACC_NO VARCHAR(30)
,@fullName VARCHAR(100)
IF NOT EXISTS (
SELECT *
FROM CUSTOMERMASTER(NOLOCK)
WHERE CUSTOMERID = @customerId
AND APPROVEDDATE IS NULL
)
BEGIN
SELECT '1' ErrorCode
,'Customer already approved or does not exists!' Msg
,NULL
RETURN
END
SELECT @custIdNumber = idNumber
,@fullName = ISNULL(fullName, firstName)
FROM dbo.customerMaster(NOLOCK)
WHERE customerId = @customerId
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
EXEC PROC_CREATE_CUSTOMER_WALLET @CUSTOMER_ID = @customerId
,@USER = @USER
DECLARE @isOfac CHAR(1)
SET @isOfac = CASE
WHEN ISNULL(@ofacRemarks, '') = ''
THEN 'N'
ELSE 'Y'
END
UPDATE dbo.customerMaster
SET approvedBy = @user
,approvedDate = GETDATE()
,verifiedDate = GETDATE()
,verifiedBy = @user
,username = email
,HasDeclare = CASE
WHEN ISNULL(serviceUsedFor, 'C') LIKE '%M%'
THEN 1
ELSE 0
END
,mobileverifiedby = CASE
WHEN ISNULL(serviceUsedFor, 'C') LIKE '%M%'
THEN @user
ELSE NULL
END
,mobileverifieddate = CASE
WHEN ISNULL(serviceUsedFor, 'C') LIKE '%M%'
THEN GETDATE()
ELSE NULL
END
,ofacRemarks = @ofacRemarks
,isOfac = @isOfac
,lawsonCardNo = 'KYC_NOW'
WHERE customerId = @customerId
SELECT '0' ErrorCode
,'Customer verified successfully.' Msg
,@customerId id
SELECT username = ISNULL(cm.userName, '')
,[password] = dbo.FNADecryptString(cm.customerPassword)
,[channel] = 'registration'
,[account] = ISNULL(cm.membershipId, '')
,fullName
,CustomerBankName
,cm.idType
,cm.createdFrom
,cm.ofacRemarks
,REPLACE(cm.idNumber, ' ', '') AS [idNumber]
,CONVERT(VARCHAR, cm.dob, 111) AS [dob]
,printLetter = CASE
WHEN ISNULL(serviceUsedFor, 'C') LIKE '%M%'
THEN 'Y'
ELSE 'N'
END
,email
FROM dbo.customerMaster cm(NOLOCK)
WHERE cm.customerId = @customerId
RETURN
END
ELSE IF @flag = 'verify-mobile-user'
BEGIN
IF NOT EXISTS (
SELECT *
FROM CUSTOMERMASTER(NOLOCK)
WHERE CUSTOMERID = @customerId
AND mobileapproveddate IS NULL
)
BEGIN
SELECT '1' ErrorCode
,'Customer already approved or does not exists!' Msg
,NULL
RETURN
END
SELECT @customerStatus = customerStatus
,@createdFrom = createdFrom
FROM customerMaster
WHERE customerId = @customerId
IF @verifyType = 'verify'
BEGIN
IF @isValidatedCustomer = 'Y'
AND @verifyRemarks IS NULL
BEGIN
UPDATE CUSTOMERMASTER
SET mobileVerifiedby = @user
,mobileVerifiedDate = Getdate()
,mobileVerificationType = 'verified'
WHERE customerId = @customerId
END
SELECT @newData = CONCAT (
ISNULL(@user, '')
,'|'
,ISNULL(CAST(Getdate() AS VARCHAR), '')
,'|'
,'Verified'
,'|'
,ISNULL(@verifyType, '')
)
--EXEC proc_applicationLogs @flag = 'i'
-- ,@logType = 'verify-mobile-user'
-- ,@tableName ='CustomerMaster'
-- ,@dataId = @customerId
-- ,@oldData =
-- ,@newData = @newData
-- ,@module = '22'
-- ,@user = @user
INSERT INTO applicationLogs (
logType
,tableName
,dataId
,oldData
,newData
,module
,createdBy
,createdDate
)
VALUES (
'verify-mobile-user-existing'
,'CustomerMaster'
,@customerId
,'verify-existing'
,@newData
,'22'
,@user
,GETDATE()
)
SELECT '0' ErrorCode
-- ,'Customer Verified Successfully.' Msg
,CASE
WHEN @isValidatedCustomer = 'Y' AND @verifyRemarks IS NULL
THEN 'Y'
WHEN @isValidatedCustomer = 'Y' AND @verifyRemarks IS NOT NULL
THEN 'R'
ELSE 'N'
END Msg
,@customerId id
,'Y' extra
,'verified' EXTRA2
END
IF @verifyType = 'approve'
SET @isOfac = CASE
WHEN ISNULL(@ofacRemarks, '') = ''
THEN 'N'
ELSE 'Y'
END
BEGIN
UPDATE CUSTOMERMASTER
SET mobileApprovedBy = @user
,mobileApprovedDate = Getdate()
,mobileVerificationType = 'approved'
,serviceUsedFor = 'CM'
--,HasDeclare = 1
--,agreeYn = 1
-- ,isForcedPwdChange = 1
--,isEmailVerified = 0
,createdFrom = 'C'
,mobileUser = 'Y'
,ofacRemarks = @ofacRemarks
,isOfac = @isOfac
--,referelCode = ISNULL(@referral,referelCode)
--,customerStatus = 'OTC'
-- ,customerPassword= dbo.FNAEncryptString(@password)
WHERE customerId = @customerId
IF EXISTS (SELECT 'X' FROM Customer_Promotion P (NOLOCK) WHERE destinationCustomerId = @customerId AND codeType = 'REGISTRATION')
BEGIN
SELECT @sourceCustomerId = sourceCustomerId , @rewardValue = amount
FROM Customer_Promotion (NOLOCK)
WHERE destinationCustomerId = @customerId
AND codeType = 'REGISTRATION'
SELECT @bonusPoint = ISNULL(bonusPoint, 0)
FROM customerMaster (NOLOCK)
WHERE customerId = @sourceCustomerId
UPDATE Customer_Promotion SET approvedDate = GETDATE() , [status] = 1 ,
runningBalance = ISNULL(runningBalance,0) + ISNULL(amount,0)
WHERE destinationCustomerId = @customerId
AND codeType = 'REGISTRATION'
UPDATE CUSTOMERMASTER SET bonusPoint = @bonusPoint + @rewardValue
WHERE customerId = @sourceCustomerId
END
SELECT @newData = CONCAT (
ISNULL(@user, '')
,'|'
,ISNULL(CAST(Getdate() AS VARCHAR), '')
,'|'
,'approved|CM'
,'|'
,ISNULL(@verifyType, '')
)
INSERT INTO applicationLogs (
logType
,tableName
,dataId
,oldData
,newData
,module
,createdBy
,createdDate
)
VALUES (
'approve-mobile-user-existing'
,'CustomerMaster'
,@customerId
,'approve-existing'
,@newData
,'23'
,@user
,GETDATE()
)
SELECT '0' ErrorCode
,'Customer approved successfully.' Msg
,@customerId id
,CASE
WHEN @customerStatus = 'OTC'
THEN 'N'
WHEN @createdFrom = 'M'
THEN 'N'
ELSE 'Y'
END extra
,'approved' EXTRA2
END
SELECT username = ISNULL(cm.userName, '')
,[password] = dbo.FNADecryptString(cm.customerPassword)
,[channel] = 'registration'
,[account] = ISNULL(cm.membershipId, '')
,fullName
,CustomerBankName
,cm.idType
,cm.ofacRemarks
,REPLACE(cm.idNumber, ' ', '') AS [idNumber]
,CONVERT(VARCHAR, cm.dob, 111) AS [dob]
FROM dbo.customerMaster cm(NOLOCK)
WHERE cm.customerId = @customerId
RETURN
END
ELSE IF @flag = 'approve-pending-mobile'
BEGIN
DECLARE @isExistingCustomer BIT
,@existingemail VARCHAR(50)
DECLARE @customerStatusmobile NVARCHAR(100)
,@createdFromMobile VARCHAR(5)
,@trustDocId UNIQUEIDENTIFIER = NULL
--SELECT @customerStatusmobile = customerStatus
--FROM customerMaster
--WHERE customerId = @customerId
--SELECT @createdFromMobile = createdFrom
--FROM customerMaster
--WHERE customerId = @customerId
SELECT @custIdNumber = idNumber
,@fullName = ISNULL(fullName, firstName)
,@isExistingCustomer = ISNULL(isExistingCustomer, 0)
,@existingemail = email
,@customerStatusmobile = customerStatus
,@createdFromMobile = createdFrom
,@trustDocId=TrustDocId
FROM dbo.customerMaster(NOLOCK)
WHERE customerId = @customerId
IF ISNULL(@isExistingCustomer, 0) = 1
BEGIN
IF NOT EXISTS (
SELECT *
FROM CUSTOMERMASTER(NOLOCK)
WHERE CUSTOMERID = @customerId
AND mobileapprovedDate IS NULL
)
BEGIN
SELECT '1' ErrorCode
,'Customer already approved or does not exists!' Msg
,NULL
RETURN
END
IF EXISTS (
SELECT *
FROM CUSTOMERMASTER(NOLOCK)
WHERE email = @existingemail
AND mobileApprovedDate IS NOT NULL
)
BEGIN
SELECT '1' ErrorCode
,'Customer with same email already exists! Please try again with a different email.' Msg
,NULL
RETURN
END
IF @verifyType = 'verify'
BEGIN
IF @isValidatedCustomer = 'Y'
AND @verifyRemarks IS NULL
BEGIN
UPDATE CUSTOMERMASTER
SET mobileVerifiedby = @user
,mobileVerifiedDate = Getdate()
,mobileVerificationType = 'verified'
WHERE customerId = @customerId
END
PRINT 'A';
SELECT @newData = CONCAT (
ISNULL(@user, '')
,'|'
,ISNULL(CAST(Getdate() AS VARCHAR), '')
,'|'
,'verified'
,'|'
,ISNULL(@verifyType, '')
)
INSERT INTO applicationLogs (
logType
,tableName
,dataId
,oldData
,newData
,module
,createdBy
,createdDate
)
VALUES (
'approve-mobile-user-verify'
,'CustomerMaster'
,@customerId
,'verify-new-user'
,@newData
,'24'
,@user
,GETDATE()
)
SELECT '0' ErrorCode
--,'Customer verified successfully.' Msg
,CASE
WHEN @isValidatedCustomer = 'Y' AND @verifyRemarks IS NULL
THEN 'Y'
WHEN @isValidatedCustomer = 'Y' AND @verifyRemarks IS NOT NULL
THEN 'R'
ELSE 'N'
END Msg
,@customerId id
,'Y' extra
,'verified' EXTRA2
END
IF @verifyType = 'approve'
BEGIN
SET @isOfac = CASE
WHEN ISNULL(@ofacRemarks, '') = ''
THEN 'N'
ELSE 'Y'
END
UPDATE CUSTOMERMASTER
SET mobileApprovedBy = @user
,mobileApprovedDate = Getdate()
,mobileVerificationType = 'approved'
,serviceUsedFor = 'CM'
,referelCode = ISNULL(@referral, referelCode)
,HasDeclare = 1
,agreeYn = 1
,username = ISNULL(username, email)
,ofacRemarks = @ofacRemarks
,isOfac = @isOfac
WHERE customerId = @customerId
IF @trustDocId IS NOT NULL
BEGIN
UPDATE trustDocCustomer SET verifiedDate=GETDATE() , verified=1 WHERE id=@trustDocId and customerId= @customerId;
END
IF EXISTS (SELECT 'X' FROM Customer_Promotion P (NOLOCK) WHERE destinationCustomerId = @customerId AND codeType = 'REGISTRATION')
BEGIN
SELECT @sourceCustomerId = sourceCustomerId , @rewardValue = amount
FROM Customer_Promotion (NOLOCK)
WHERE destinationCustomerId = @customerId
AND codeType = 'REGISTRATION'
SELECT @bonusPoint = ISNULL(bonusPoint, 0)
FROM customerMaster (NOLOCK)
WHERE customerId = @sourceCustomerId
UPDATE Customer_Promotion SET approvedDate = GETDATE() , [status] = 1 ,
runningBalance = ISNULL(runningBalance,0) + ISNULL(amount,0)
WHERE destinationCustomerId = @customerId
AND codeType = 'REGISTRATION'
UPDATE CUSTOMERMASTER SET bonusPoint = @bonusPoint + @rewardValue
WHERE customerId = @sourceCustomerId
END
SELECT @newData = CONCAT (
ISNULL(@user, '')
,'|'
,ISNULL(CAST(Getdate() AS VARCHAR), '')
,'|'
,'approved|CM'
,'|'
,ISNULL(@verifyType, '')
)
INSERT INTO applicationLogs (
logType
,tableName
,dataId
,oldData
,newData
,module
,createdBy
,createdDate
)
VALUES (
'approve-mobile-user'
,'CustomerMaster'
,@customerId
,'approve-new-user'
,@newData
,'25'
,@user
,GETDATE()
)
SELECT '0' ErrorCode
,'Customer approved successfully.' Msg
,@customerId id
,CASE
WHEN @customerStatusmobile = 'OTC'
THEN 'N'
WHEN @createdFromMobile = 'M'
THEN 'N'
ELSE 'Y'
END extra
,'approved' EXTRA2
END
SELECT username = ISNULL(cm.userName, '')
,[password] = dbo.FNADecryptString(cm.customerPassword)
,[channel] = 'registration'
,[account] = ISNULL(cm.membershipId, '')
,fullName
,CustomerBankName
,cm.idType
,cm.ofacRemarks
,REPLACE(cm.idNumber, ' ', '') AS [idNumber]
,CONVERT(VARCHAR, cm.dob, 111) AS [dob]
FROM dbo.customerMaster cm(NOLOCK)
WHERE cm.customerId = @customerId
RETURN
END
IF NOT EXISTS (
SELECT *
FROM CUSTOMERMASTER(NOLOCK)
WHERE CUSTOMERID = @customerId
AND mobileapprovedDate IS NULL
)
BEGIN
SELECT '1' ErrorCode
,'Customer already approved or does not exists!' Msg
,NULL
RETURN
END
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 mobileapprovedDate IS NOT NULL
AND ISNULL(@isExistingCustomer, 1) = 0
)
BEGIN
SELECT '1' ErrorCode
,'Customer with same id number already approved.' Msg
,NULL
RETURN
END
EXEC PROC_CREATE_CUSTOMER_WALLET @CUSTOMER_ID = @customerId
,@USER = @USER
IF @verifyType = 'verify'
BEGIN
IF @isValidatedCustomer = 'Y' AND (@verifyRemarks IS NULL OR @verifyRemarks='')
BEGIN
UPDATE CUSTOMERMASTER
SET mobileVerifiedby = @user
,mobileVerifiedDate = Getdate()
,mobileVerificationType = 'verified'
--,serviceUsedFor = 'CM'
WHERE customerId = @customerId
END
INSERT INTO applicationLogs (
logType
,tableName
,dataId
,oldData
,newData
,module
,createdBy
,createdDate
)
VALUES (
'approve-mobile-user-verify'
,'CustomerMaster'
,@customerId
,'verify-new-user'
,@verifyRemarks
,'24'
,@user
,GETDATE()
)
SELECT '0' ErrorCode
--,'Customer verified successfully.' Msg
,CASE
WHEN @isValidatedCustomer = 'Y' AND @verifyRemarks IS NULL
THEN 'Y'
WHEN @isValidatedCustomer = 'Y' AND @verifyRemarks IS NOT NULL
THEN 'R'
ELSE 'N'
END Msg
,@customerId id
,'Y' extra
,'verified' EXTRA2
END
IF @verifyType = 'approve'
BEGIN
SET @isOfac = CASE
WHEN ISNULL(@ofacRemarks, '') = ''
THEN 'N'
ELSE 'Y'
END
UPDATE CUSTOMERMASTER
SET mobileApprovedBy = @user
,mobileApprovedDate = Getdate()
,mobileVerificationType = 'approved'
,serviceUsedFor = 'CM'
,approvedBy = @user
,approvedDate = GETDATE()
,mobileUser = 'Y'
,ofacRemarks = @ofacRemarks
,isOfac = @isOfac
WHERE customerId = @customerId
IF @trustDocId IS NOT NULL
BEGIN
UPDATE trustDocCustomer SET verifiedDate=GETDATE() , verified=1 WHERE id=@trustDocId and customerId= @customerId;
--DECLARE @body varchar(150), @pinNo INT= DBO.FNAGetRandomTransactionPinNo(6);
-- update customerMaster set txnPin = @pinNo where customerId = @customerId and RegistrationType='EKYC';
--SET @body='Your Transaction PIN is '+ CAST( @pinNo AS varchar) +', please click notification at the top of dashboard to change it.';
-- INSERT INTO pushNotificationHistroy(customerId,body,title,createDate,imageURL,sentId,Type,isReservation,isRead,isSend,category)
-- SELECT @customerid,@body,'Txn Pin',getdate(),'',@customerId,0,0,0,0,'INFO'
END
IF EXISTS (SELECT 'X' FROM Customer_Promotion P (NOLOCK) WHERE destinationCustomerId = @customerId AND codeType = 'REGISTRATION')
BEGIN
SELECT @sourceCustomerId = sourceCustomerId , @rewardValue = amount
FROM Customer_Promotion (NOLOCK)
WHERE destinationCustomerId = @customerId
AND codeType = 'REGISTRATION'
SELECT @bonusPoint = ISNULL(bonusPoint, 0)
FROM customerMaster (NOLOCK)
WHERE customerId = @sourceCustomerId
UPDATE Customer_Promotion SET approvedDate = GETDATE() , [status] = 1 ,
runningBalance = ISNULL(runningBalance,0) + ISNULL(amount,0)
WHERE destinationCustomerId = @customerId
AND codeType = 'REGISTRATION'
UPDATE CUSTOMERMASTER SET bonusPoint = @bonusPoint + @rewardValue
WHERE customerId = @sourceCustomerId
END
SELECT '0' ErrorCode
,'Customer approved successfully.' Msg
,@customerId id
,CASE
WHEN @customerStatusmobile = 'OTC'
THEN 'N'
WHEN @createdFromMobile = 'M'
THEN 'N'
ELSE 'Y'
END extra
,'approved' EXTRA2
END
SELECT username = ISNULL(cm.userName, '')
,[password] = dbo.FNADecryptString(cm.customerPassword)
,[channel] = 'registration'
,[account] = ISNULL(cm.membershipId, '')
,fullName
,CustomerBankName
,cm.idType
,REPLACE(cm.idNumber, ' ', '') AS [idNumber]
,CONVERT(VARCHAR, cm.dob, 111) AS [dob]
FROM dbo.customerMaster cm(NOLOCK)
WHERE cm.customerId = @customerId
--For mobile broadcast notification
--EXEC ProcBroadCastMobile @Flag = 'customer-approve'
-- ,@RowId = @customerId
-- ,@ControlNo = @customerId
-- ,@CustomerId = @customerId
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
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
COMMIT TRAN
SELECT '0' ErrorCode
,'Customer Partern service account registered successfully.' Msg
,@customerId id
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 + ''''
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
ELSE IF @flag = 's-customereditedata'
BEGIN
IF @sortBy IS NULL
SET @sortBy = 'createdDate'
IF @sortOrder IS NULL
SET @sortOrder = 'DESC'
SET @table = '(
SELECT fullName
,customerId
,membershipId
,mobile
,city
,rowId
,createdDate
,hasChanged = CASE WHEN approvedBy IS NULL THEN ''Y'' ELSE ''N'' END
,modifiedBy = CASE WHEN approvedBy IS NULL THEN createdBy ELSE createdBy END
from customerMasterEditedDataMod
)x'
SET @sql_filter = ''
SET @select_field_list = 'fullName,customerId,membershipId,mobile,city,rowId,createdDate,hasChanged,modifiedBy'
EXEC dbo.proc_paging @table
,@sql_filter
,@select_field_list
,@extra_field_list
,@sortBy
,@sortOrder
,@pageSize
,@pageNumber
END
ELSE IF @flag = 's-customereditedata-new'
BEGIN
IF @sortBy IS NULL
SET @sortBy = 'createdDate'
IF @sortOrder IS NULL
SET @sortOrder = 'DESC'
SET @table = '(
SELECT cm.fullName
,cm.customerId
,cm.membershipId
,cm.mobile
,cm.city
,cmMode.rowId
,cm.createdDate
,hasChanged = CASE WHEN cmMode.approvedBy IS NULL THEN ''Y'' ELSE ''N'' END
,modifiedBy = CASE WHEN cmMode.approvedBy IS NULL THEN cmMode.createdBy ELSE cmMode.createdBy END
,case when ISNULL(cm.createdFrom, ''C'') = ''C'' THEN ''COUNTER'' WHEN cm.createdFrom = ''M'' THEN ''MOBILE'' ELSE cm.createdFrom END createdFrom
from customerMasterEditedDataMod cmMode (nolock)
INNER JOIN CUSTOMERMASTER CM (NOLOCK) ON CM.CUSTOMERID = cmMode.customerId
)x'
SET @sql_filter = ''
SET @select_field_list = 'fullName,customerId,membershipId,mobile,city,rowId,createdDate,hasChanged,modifiedBy'
EXEC dbo.proc_paging @table
,@sql_filter
,@select_field_list
,@extra_field_list
,@sortBy
,@sortOrder
,@pageSize
,@pageNumber
END
ELSE IF @flag = 'approve'
BEGIN
DECLARE @firstName VARCHAR(30) = NULL
,@middleName VARCHAR(30) = NULL
,@lastName1 VARCHAR(100) = NULL
,@onlineUser VARCHAR(50) = NULL
,@customerType VARCHAR(30) = NULL
,@country VARCHAR(30) = NULL
,@zipCode VARCHAR(30) = NULL
,@state VARCHAR(30) = NULL
,@street VARCHAR(80) = NULL
,@custCity VARCHAR(100) = NULL
,@cityUnicode NVARCHAR(100) = NULL
,@streetUnicode NVARCHAR(100) = NULL
,@custGender VARCHAR(30) = NULL
,@custNativecountry VARCHAR(30) = NULL
,@custDOB VARCHAR(30) = NULL
,@custEmail VARCHAR(50) = NULL
,@custTelNo VARCHAR(30) = NULL
,@custMobile VARCHAR(30) = NULL
,@dob DATETIME = NULL
,@visaStatus INT = NULL
,@employeeBusinessType INT = NULL
,@nameOfEmployeer VARCHAR(80) = NULL
,@SSNNO VARCHAR(20) = NULL
,@occupation VARCHAR(30) = NULL
,@sourceOfFound VARCHAR(100) = NULL
,@monthlyIncome VARCHAR(50) = NULL
,@customerIdType VARCHAR(30) = NULL
,@customerIdNo VARCHAR(50) = NULL
,@custIdissueDate VARCHAR(30) = NULL
,@custIdValidDate VARCHAR(30) = NULL
,@remittanceAllowed BIT = NULL
,@remarks VARCHAR(1000) = NULL
,@companyName VARCHAR(100) = NULL
,@registerationNo VARCHAR(30) = NULL
,@organizationType INT = NULL
,@dateofIncorporation DATETIME = NULL
,@natureOfCompany INT = NULL
,@nameOfAuthorizedPerson VARCHAR(80) = NULL
,@position INT = NULL
SELECT @customerId = customerId
,@customerType = customerType
,@fullName = fullName
,@firstName = firstName
,@middleName = middleName
,@lastName1 = lastName1
,@country = country
,@zipCode = zipCode
,@state = STATE
,@street = street
,@custCity = city
,@cityUnicode = cityUnicode
,@streetUnicode = streetUnicode
,@custGender = gender
,@custNativecountry = nativeCountry
,@custDOB = CONVERT(VARCHAR, dob, 111)
,@custEmail = email
,@custTelNo = telNo
,@custMobile = mobile
,@visaStatus = visaStatus
,@employeeBusinessType = employeeBusinessType
,@nameOfEmployeer = nameOfEmployeer
,@SSNNO = SSNNO
,@occupation = occupation
,@sourceOfFound = sourceOfFund
,@monthlyIncome = monthlyIncome
,@customerIdType = idType
,@customerIdNo = idNumber
,@custIdissueDate = CONVERT(VARCHAR, idIssueDate, 111)
,@custIdValidDate = CONVERT(VARCHAR, idExpiryDate, 111)
,@remittanceAllowed = remittanceAllowed
,@onlineUser = onlineUser
,@remarks = remarks
,@companyName = companyName
,@registerationNo = registerationNo
,@organizationType = organizationType
,@dateofIncorporation = CONVERT(VARCHAR, dateofIncorporation, 111)
,@natureOfCompany = natureOfCompany
,@nameOfAuthorizedPerson = nameOfAuthorizedPerson
,@position = position
FROM dbo.customerMasterEditedDataMod
WHERE customerId = @customerId
--LOG FOR CUSTOMER UPDATE
--SET @fullName=ISNULL(@firstName, '') + ISNULL(' '
-- + @firstName,
-- '') + ISNULL(' '
-- + @lastName1, '');
SET @onlineUser = CASE
WHEN @onlineUser = 'Y'
THEN 'True'
ELSE 'False'
END
EXEC PROC_CUSTOMERMODIFYLOG @flag = 'i-new'
,@user = @user
,@customerId = @customerId
,@customerType = @customerType
,@fullName = @fullName
,@firstName = @firstName
,@middleName = @middleName
,@lastName1 = @lastName1
,@country = @country
,@zipCode = @zipCode
,@state = @state
,@street = @street
,@custCity = @custCity
,@cityUnicode = @cityUnicode
,@streetUnicode = @streetUnicode
,@custGender = @custGender
,@custNativecountry = @custNativecountry
,@dob = @custDOB
,@email = @custEmail
,@custTelNo = @custTelNo
,@mobileNumber = @custMobile
,@visaStatus = @visaStatus
,@employeeBusinessType = @employeeBusinessType
,@nameOfEmployeer = @nameOfEmployeer
,@SSNNO = @SSNNO
,@occupation = @occupation
,@sourceOfFound = @sourceOfFound
,@monthlyIncome = @monthlyIncome
,@idType = @customerIdType
,@idNumber = @customerIdNo
,@issueDate = @custIdissueDate
,@expiryDate = @custIdValidDate
,@remittanceAllowed = @remittanceAllowed
,@onlineUser = @onlineUser
,@remarks = @remarks
,
--used for customer type organisation
@companyName = @companyName
,@registerationNo = @registerationNo
,@organizationType = @organizationType
,@dateofIncorporation = @dateofIncorporation
,@natureOfCompany = @natureOfCompany
,@nameOfAuthorizedPerson = @nameOfAuthorizedPerson
,@position = @position
UPDATE cm
SET cm.firstName = cmm.firstName
,cm.middleName = cmm.middleName
,cm.lastName1 = cmm.lastName1
,cm.country = cmm.country
,cm.STATE = cmm.STATE
,cm.zipCode = cmm.zipCode
,cm.city = cmm.city
,cm.street = cmm.street
,cm.fullName = ISNULL(cmm.firstName, '') + ISNULL(' ' + cmm.middleName, '') + ISNULL(' ' + cmm.lastName1, '')
,cm.email = cmm.email
,cm.cityUnicode = cmm.cityUnicode
,cm.streetUnicode = cmm.streetUnicode
,cm.homePhone = cmm.homePhone
,cm.mobile = cmm.mobile
,cm.nativeCountry = cmm.nativeCountry
,cm.dob = cmm.dob
,cm.nameOfEmployeer = cmm.nameOfEmployeer
,cm.SSNNO = cmm.SSNNO
,cm.occupation = cmm.occupation
,cm.idExpiryDate = cmm.idExpiryDate
,cm.idType = cmm.idType
,cm.idNumber = cmm.idNumber
,cm.telNo = cmm.telNo
,cm.gender = cmm.gender
,cm.idIssueDate = cmm.idIssueDate
,cm.onlineUser = cmm.onlineUser
,cm.sourceOfFund = cmm.sourceOfFund
,cm.visaStatus = cmm.visaStatus
,cm.employeeBusinessType = cmm.employeeBusinessType
,cm.remittanceAllowed = cmm.remittanceAllowed
,cm.remarks = cmm.remarks
,cm.organizationType = cmm.organizationType
,cm.dateofIncorporation = cmm.dateofIncorporation
,cm.natureOfCompany = cmm.natureOfCompany
,cm.nameOfAuthorizedPerson = cmm.nameOfAuthorizedPerson
,cm.monthlyIncome = cmm.monthlyIncome
,cm.registerationNo = cmm.registerationNo
,cm.modifiedBy = @user
,cm.modifiedDate = GETDATE()
FROM dbo.customerMaster cm(NOLOCK)
INNER JOIN dbo.customerMasterEditedDataMod cmm(NOLOCK) ON cmm.customerId = cm.customerId
WHERE cm.customerId = @customerId
DELETE
FROM dbo.customerMasterEditedDataMod
WHERE customerId = @customerId
EXEC proc_errorHandler 0
,'Customer Edited Data Approved Successfully'
,@customerId
END
ELSE IF @flag = 'reject'
BEGIN
DELETE
FROM dbo.customerMasterEditedDataMod
WHERE customerId = @customerId
EXEC dbo.proc_errorHandler @errorCode = '0'
,-- varchar(10)
@msg = 'Changes rejected successfully'
,-- varchar(max)
@id = @customerid -- varchar(50)
END
IF @flag = 'vl-forAgent' --verified list/approve pending list
BEGIN
--DECLARE @agentid VARCHAR(10)
--SELECT @agentid = agentid FROM applicationusers WHERE username = @user
--DECLARE @branchcode VARCHAR(10)
--SELECT @branchcode = branchcode FROM agentmaster WHERE agentid = @agentid
SET @sortBy = 'createdDate'
SET @sortOrder = 'desc'
SET @table =
'(
SELECT customerId=cm.customerId
,CM.membershipid
,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=case when cm.idtype = ''11402'' then cm.otherIdNumber else sdv.detailTitle end
,idNumber= cm.idNumber
,createdDate=CAST(cm.createdDate AS DATE)
,createdBy=cm.createdBy
,verifiedBy=cm.verifiedBy
,branchName=''''
,verifiedDate=CAST(cm.verifiedDate AS DATE)
,ipAddress=cm.ipAddress
,mobile=cm.mobile
,bankAccountNo
,bankName=bl.bankName
,cm.agentId
FROM customerMaster cm(NOLOCK)
INNER JOIN APPLICATIONUSERS AU(NOLOCK) ON AU.USERNAME = CM.CREATEDBY
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 1=1
--AND ISNULL(CM.isVerifiedByCustomer, 0) = 1
AND au.username <> '''
+ @user + '''
AND cm.approvedDate IS NULL
AND CM.ISACTIVE = ''Y'''
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 = ''
--SET @sql_Filter=@sql_Filter + ' AND substring(membershipid,1,3) = '''+@branchcode+''''
SET @sql_Filter = @sql_Filter + ' AND agentId = ' + cast(@agentId AS VARCHAR) + ''
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 + ''''
END
SET @select_field_list = '
customerId,membershipid,email,fullName,dob,address,nativeCountry,idtype,idNumber
,createdDate,createdBy,verifiedBy,branchName,verifiedDate,bankAccountNo,bankName
'
EXEC dbo.proc_paging @table
,@sql_filter
,@select_field_list
,@extra_field_list
,@sortBy
,@sortOrder
,@pageSize
,@pageNumber
RETURN
END
IF @flag = 'unVerifiedCustomerFromMobile' -- unverified list/verify pending list
BEGIN
IF @sortBy IS NULL
SET @sortBy = 'createdDate'
IF @sortOrder IS NULL
SET @sortOrder = 'DESC'
SET @table =
'(
SELECT customerId=cm.customerId
,CM.membershipid
,cm.userName
,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= case when cm.idtype=''11402'' then ISNULL(sdv.detailTitle, '''') + (''-'') + ISNULL('' '' + cm.otherIdNumber, '''') else sdv.detailTitle end
,idNumber=cm.idNumber
,createdDate=CAST(cm.createdDate AS DATE)
,createdBy=cm.createdBy
,verifiedBy=cm.verifiedBy
,branchName=''''
,verifiedDate=CAST(cm.verifiedDate AS DATE)
,ipAddress=cm.ipAddress
,mobile=cm.mobile
,bankAccountNo
,cm.agentId
,case when isnull(cm.isExistingCustomer,1) = 1 then ''Yes'' ELSE ''No'' End isExistingCustomer
,createdUserFrom = ''mobile''
,ISNULL(verifyRemarks,'''') VerifyRemarks
,[RegistrationType] = CASE WHEN cm.RegistrationType IS NULL THEN ''MANUAL'' WHEN cm.registrationtype=''MKYC'' THEN ''MANUAL'' ELSE cm.RegistrationType END
,[TructDocState]= dbo.FNAGetTrustDocStatus(cm.trustdocid)
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
AND CM.ISACTIVE = ''Y''
AND USERNAME IS NOT NULL
AND cm.MOBILEVERIFIEDDATE IS NULL
and cm.membershipId is not null
and ISNULL(cm.serviceUsedFor, ''C'') NOT LIKE ''%M%''
and ISNULL(cm.isEmailVerified, 0) = 1
and ISNULL(cm.agreeYn,0)= 1
UNION ALL
SELECT customerId=cm.customerId
,CM.membershipid
,cm.userName
,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)
,createdBy=cm.createdBy
,verifiedBy=cm.verifiedBy
,branchName=''''
,verifiedDate=CAST(cm.verifiedDate AS DATE)
,ipAddress=cm.ipAddress
,mobile=cm.mobile
,bankAccountNo
,cm.agentId
,case when isnull(cm.isExistingCustomer,1) = 1 then ''Yes'' ELSE ''No'' End isExistingCustomer
,createdUserFrom = ''core''
,ISNULL(verifyRemarks,'''') VerifyRemarks
,[RegistrationType] = CASE WHEN cm.RegistrationType IS NULL THEN ''MANUAL'' WHEN cm.registrationtype=''MKYC'' THEN ''MANUAL'' ELSE cm.RegistrationType END
,[TructDocState]= dbo.FNAGetTrustDocStatus(cm.trustdocid)
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
AND CM.ISACTIVE = ''Y''
AND USERNAME IS NOT NULL
AND cm.MOBILEVERIFIEDDATE IS NULL
and cm.membershipId is not null
and cm.serviceUsedFor LIKE ''%M%''
and ISNULL(cm.isEmailVerified, 0) = 0
and cm.approvedDate 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
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 + ''''
END
SET @select_field_list = '
customerId,userName,isExistingCustomer,membershipid,email,fullName,dob,address,nativeCountry,idtype,idNumber
,createdDate,createdBy,verifiedBy,branchName,verifiedDate,bankAccountNo,createdUserFrom,VerifyRemarks,RegistrationType,TructDocState
'
EXEC dbo.proc_paging @table
,@sql_filter
,@select_field_list
,@extra_field_list
,@sortBy
,@sortOrder
,@pageSize
,@pageNumber
RETURN
END
IF @flag = 'unApprovedCustomerFromAgent' --verified list/approve pending list
BEGIN
SET @sortBy = 'createdDate'
SET @sortOrder = 'desc'
SET @table =
'(
SELECT customerId=cm.customerId
,CM.membershipid
,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)
,createdBy=cm.createdBy
,verifiedBy=cm.verifiedBy
,branchName=''''
,verifiedDate=CAST(cm.verifiedDate AS DATE)
,ipAddress=cm.ipAddress
,mobile=cm.mobile
,bankAccountNo
,bankName=bl.bankName
,cm.agentId
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.approvedDate IS NULL
AND CM.ISACTIVE = ''Y''
AND MEMBERSHIPID LIKE ''%AGT%''
AND CREATEDFROM = ''A''
'
IF ISNULL(@fromDate, '') <> ''
AND ISNULL(@toDate, '') <> ''
SET @table = @table + ' AND cm.createdDate BETWEEN ''' + CAST(@fromDate AS VARCHAR) + ''' AND ''' + ISNULL(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 + ''''
END
SET @select_field_list = '
customerId,membershipid,email,fullName,dob,address,nativeCountry,idtype,idNumber
,createdDate,createdBy,verifiedBy,branchName,verifiedDate,bankAccountNo,bankName
'
EXEC dbo.proc_paging @table
,@sql_filter
,@select_field_list
,@extra_field_list
,@sortBy
,@sortOrder
,@pageSize
,@pageNumber
RETURN
END
IF @flag = 'unApprovedCustomerFromMobile' --verified list/approve pending list
BEGIN
IF @sortBy IS NULL
SET @sortBy = 'createdDate'
IF @sortOrder IS NULL
SET @sortOrder = 'DESC'
SET @table =
'(
SELECT customerId=cm.customerId
,CM.membershipid
,cm.userName
,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= case when cm.idtype=''11402'' then ISNULL(sdv.detailTitle, '''') + (''-'') + ISNULL('' '' + cm.otherIdNumber, '''') else sdv.detailTitle end
,idNumber=cm.idNumber
,createdDate=CAST(cm.createdDate AS DATE)
,createdBy=cm.createdBy
,verifiedBy=cm.verifiedBy
,branchName=''''
,verifiedDate=CAST(cm.verifiedDate AS DATE)
,ipAddress=cm.ipAddress
,mobile=cm.mobile
,bankAccountNo
,cm.agentId
,case when isnull(cm.isExistingCustomer,1) = 1 then ''Yes'' ELSE ''No'' End isExistingCustomer
,createdUserFrom = ''mobile''
,LawsonCardNo = cm.LawsonCardNo
,[RegistrationType] = CASE WHEN cm.LawsonCardNo IS NULL THEN '''' ELSE cm.LawsonCardNo END
,ISNULL(verificationCode,''NOT_COMPLETED'') verificationCode
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
AND CM.ISACTIVE = ''Y''
AND USERNAME IS NOT NULL
AND cm.MOBILEVERIFIEDDATE IS not NULL
and cm.membershipId is not null
-- and cm.serviceUsedFor LIKE ''%M%''
and ISNULL(cm.serviceUsedFor, ''C'') NOT LIKE ''%M%''
and ISNULL(cm.isEmailVerified, 0) = 1
and cm.mobileVerificationType = ''verified''
and ISNULL(cm.agreeYn,0)= 1
and cm.hasDeclare = ''1''
and cm.agreeYn = ''1''
UNION ALL
SELECT customerId=cm.customerId
,CM.membershipid
,cm.userName
,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)
,createdBy=cm.createdBy
,verifiedBy=cm.verifiedBy
,branchName=''''
,verifiedDate=CAST(cm.verifiedDate AS DATE)
,ipAddress=cm.ipAddress
,mobile=cm.mobile
,bankAccountNo
,cm.agentId
,case when isnull(cm.isExistingCustomer,1) = 1 then ''Yes'' ELSE ''No'' End isExistingCustomer
,createdUserFrom = ''core''
,LawsonCardNo = cm.LawsonCardNo
,[RegistrationType] = CASE WHEN cm.RegistrationType IS NULL THEN ''Manual'' ELSE cm.RegistrationType END
,ISNULL(verificationCode,''NOT_COMPLETED'') verificationCode
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
AND CM.ISACTIVE = ''Y''
AND USERNAME IS NOT NULL
AND cm.MOBILEVERIFIEDDATE IS NOT NULL
and cm.membershipId is not null
and cm.serviceUsedFor LIKE ''%M%''
--and ISNULL(cm.serviceUsedFor, ''C'') NOT LIKE ''%M%''
and ISNULL(cm.isEmailVerified, 0) = 0
and cm.approvedDate IS NOT NULL
and cm.mobileVerificationType = ''verified''
and ISNULL(cm.agreeYn,0)= 1'
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 = 'LawsonCardNo'
SET @sql_Filter = @sql_Filter + ' AND LawsonCardNo = ''' + @searchValue + ''''
END
SET @select_field_list = '
customerId,userName,isExistingCustomer,membershipid,email,fullName,dob,address,nativeCountry,idtype,idNumber
,createdDate,createdBy,verifiedBy,branchName,verifiedDate,bankAccountNo,createdUserFrom,LawsonCardNo,[RegistrationType],verificationCode
'
EXEC dbo.proc_paging @table
,@sql_filter
,@select_field_list
,@extra_field_list
,@sortBy
,@sortOrder
,@pageSize
,@pageNumber
--,@action
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