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.
 
 

2332 lines
144 KiB

USE [FastMoneyPro_Remit]
GO
/****** Object: StoredProcedure [dbo].[proc_online_approve_Customer] Script Date: 6/5/2024 6:29:17 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
,@status VARCHAR(500) = 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
,Introducer=''
FROM customerMaster cm(NOLOCK)
LEFT 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,Introducer
'
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'
UNION ALL
SELECT 'verificationCode'
,'KYC Status'
UNION ALL
SELECT 'idType'
,'ID Type'
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)
,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
SELECT '0' ErrorCode
,'Mobile login created successfully.' Msg
,@customerId id
,'Y' extra
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
--,'approved' EXTRA2
RETURN
END
ELSE IF @flag = 'approve-pending'
BEGIN
DECLARE @custIdNumber VARCHAR(50)
,@WALLET_ACC_NO VARCHAR(30)
,@fullName VARCHAR(100)
DECLARE @isOfac CHAR(1)
DECLARE @referalid INT;
SELECT @custIdNumber = idNumber
,@fullName = ISNULL(fullName, firstName),@createdFrom = createdFrom, @referelCode = referelCode
FROM dbo.customerMaster(NOLOCK)
WHERE customerId = @customerId
SET @isOfac = CASE
WHEN ISNULL(@ofacRemarks, '') = ''
THEN 'N'
ELSE 'Y'
END
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),@createdFrom = createdFrom, @referelCode = ISNULL(referralId, referelCode)
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
SELECT @status = ISNULL(verificationCode,'NOT_COMPLETED') FROM customerMaster WHERE customerId = @customerId
print @status
--return
IF(@status = 'NOT_COMPLETED')
BEGIN
UPDATE dbo.customerMaster
SET verifiedDate = CASE WHEN verifiedDate IS NULL THEN GETDATE() ELSE verifiedDate END
,mobileverifiedby = CASE
WHEN @createdFrom IN ('O','M')
THEN @user
ELSE NULL
END
,mobileverifieddate = CASE
WHEN @createdFrom IN ('O','M')
THEN GETDATE()
ELSE NULL
END
,verifiedBy = @user
,verificationCode = 'PROCESSING'
WHERE customerId = @customerId
SELECT '0' ErrorCode
,'Customer verification status has been updated. Proceed to approve customer!' Msg
,@customerId id
RETURN
END
ELSE IF(@status = 'PROCESSING')
BEGIN
UPDATE dbo.customerMaster
SET approvedBy = @user
,approvedDate = GETDATE()
,username = email
,mobileApprovedDate = CASE
WHEN @createdFrom IN ('O','M')
THEN GETDATE()
ELSE NULL
END
,mobileApprovedBy = CASE
WHEN @createdFrom IN ('O','M')
THEN @user
ELSE NULL
END
,ofacRemarks = @ofacRemarks
,isOfac = @isOfac
,lawsonCardNo = CASE WHEN ISNULL(lawsonCardNo,'')='' THEN 'KYC_NOW' ELSE lawsonCardNo END
,isVerifiedByCustomer=1
,verificationCode = 'COMPLETED'
WHERE customerId = @customerId
IF NOT EXISTS (
SELECT 1
FROM dbo.TBL_CUSTOMER_KYC
WHERE customerId = @customerId AND kycStatus = '11044'
AND isDeleted <> '1' )
BEGIN
INSERT INTO TBL_CUSTOMER_KYC (
customerId
,kycmethod
,kycStatus
,remarks
,createdBy
,createdDate
,trackingNo
,KYC_DATE
)
VALUES (
@customerId
,CASE WHEN @createdFrom = 'C' THEN '11048' --counter visit
WHEN @createdFrom = 'M' THEN '11051' --mobile app
WHEN @createdFrom = 'O' THEN '11444' --web online
ELSE ''
END
,'11044'
,'KYC has been completed'
,@user
,GETDATE()
,''
,GETDATE()
);
END
IF(@referelCode IS NOT NULL)
BEGIN
--DECLARE @referalid INT;
IF (LEFT(@referelCode, 3) IN ('MOB', 'ADM', 'CRP', 'ONL'))
BEGIN
SELECT @referalid=customerId FROM customerMaster WHERE membershipId = @referelCode;
IF NOT EXISTS(select 'X' FROM Customer_Promotion where sourceCustomerid= @referalid and destinationcustomerid=@customerId
AND CodeType='REGISTRATION')
BEGIN
EXEC proc_InsertRewardPoints @Flag = 'REGISTER', @CustomerId = @customerId, @ReferralId = @referalid
END
END
ELSE
BEGIN
--print 'ref'
--print @referelCode
--print 'sada'
--return
DECLARE @refRowId BIGINT
SELECT @refRowId = ROW_ID FROM REFERRAL_AGENT_WISE WHERE REFERRAL_CODE = @referelCode
IF NOT EXISTS(SELECT 'X' FROM REFERRAL_INCENTIVE_TRANSACTION_WISE WHERE CUSTOMER_ID = @customerId)
BEGIN
EXEC proc_InsertReferralRewardPoints @Flag = 'REGISTER', @CustomerId = @customerId, @ReferralId = @referelCode
END
EXEC proc_InsertRewardPoints @Flag = 'REGISTER', @CustomerId = @refRowId, @ReferralId = @customerId
END
END
--IF(@referelCode IS NOT NULL)
-- BEGIN
-- DECLARE @referalid INT;
-- SELECT @referalid=customerId FROM customerMaster WHERE membershipId = @referelCode;
-- IF NOT EXISTS(select 'X' FROM Customer_Promotion where sourceCustomerid= @referalid and destinationcustomerid=@customerId
-- AND CodeType='REGISTRATION')
-- BEGIN
-- EXEC proc_InsertRewardPoints @Flag = 'REGISTER', @CustomerId = @customerId, @ReferralId = @referalid
-- END
-- END
END
ELSE IF(@status = 'COMPLETED' AND @createdFrom='C')
BEGIN
PRINT @createdFrom
UPDATE dbo.customerMaster
SET approvedBy = @user
,approvedDate = GETDATE()
,username = email
,ofacRemarks = @ofacRemarks
,isOfac = @isOfac
,lawsonCardNo = CASE WHEN ISNULL(lawsonCardNo,'')='' THEN 'KYC_NOW' ELSE lawsonCardNo END
,isVerifiedByCustomer=1
WHERE customerId = @customerId
END
SELECT '0' ErrorCode
,'Customer approved 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
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
,@fcmid VARCHAR(300)
,@deviceType VARCHAR(100)
--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
,@referelCode=referelCode
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(@referelCode, 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
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()
)
IF(@referelCode IS NOT NULL)
BEGIN
DECLARE @custId INT;
IF (LEFT(@referelCode, 3) IN ('MOB', 'ADM', 'CRP', 'ONL'))
BEGIN
SELECT @custId=customerId FROM customerMaster WHERE membershipId = @referelCode;
IF NOT EXISTS(select 'X' FROM Customer_Promotion where sourceCustomerid= @custId and destinationcustomerid=@customerId
AND CodeType='REGISTRATION')
BEGIN
EXEC proc_InsertRewardPoints @Flag = 'REGISTER', @CustomerId = @customerId, @ReferralId = @custId
END
END
ELSE
BEGIN
SELECT @refRowId = ROW_ID FROM REFERRAL_AGENT_WISE WHERE REFERRAL_CODE = @referelCode
IF NOT EXISTS(SELECT 'X' FROM REFERRAL_INCENTIVE_TRANSACTION_WISE WHERE CUSTOMER_ID = @customerId)
BEGIN
EXEC proc_InsertReferralRewardPoints @Flag = 'REGISTER', @CustomerId = @customerId, @ReferralId = @referelCode
END
EXEC proc_InsertRewardPoints @Flag = 'REGISTER', @CustomerId = @refRowId, @ReferralId = @customerId
END
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
,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
,verificationCode = 'COMPLETED'
WHERE customerId = @customerId
IF(@referelCode IS NOT NULL)
BEGIN
IF (LEFT(@referelCode, 3) IN ('MOB', 'ADM', 'CRP', 'ONL'))
BEGIN
SELECT @custId=customerId FROM customerMaster WHERE membershipId = @referelCode;
IF NOT EXISTS(select 'X' FROM Customer_Promotion where sourceCustomerid= @custId and destinationcustomerid=@customerId
AND CodeType='REGISTRATION')
BEGIN
EXEC proc_InsertRewardPoints @Flag = 'REGISTER', @CustomerId = @customerId, @ReferralId = @custId
END
END
ELSE
BEGIN
SELECT @refRowId = ROW_ID FROM REFERRAL_AGENT_WISE WHERE REFERRAL_CODE = @referelCode
IF NOT EXISTS(SELECT 'X' FROM REFERRAL_INCENTIVE_TRANSACTION_WISE WHERE CUSTOMER_ID = @customerId)
BEGIN
EXEC proc_InsertReferralRewardPoints @Flag = 'REGISTER', @CustomerId = @customerId, @ReferralId = @referelCode
END
EXEC proc_InsertRewardPoints @Flag = 'REGISTER', @CustomerId = @refRowId, @ReferralId = @customerId
END
END
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
SELECT @status = verificationCode FROM customerMaster WHERE customerId = @customerId
print @status
--return
IF(@status = 'NOT_COMPLETED')
BEGIN
UPDATE dbo.customerMaster
SET verifiedDate = GETDATE()
,mobileverifiedby = CASE
WHEN @createdFrom IN ('O','M')
THEN @user
ELSE NULL
END
,mobileverifieddate = CASE
WHEN @createdFrom IN ('O','M')
THEN GETDATE()
ELSE NULL
END
,verifiedBy = @user
,verificationCode = 'PROCESSING'
WHERE customerId = @customerId
SELECT '0' ErrorCode
,'Customer status has been updated. Proceed to approve customer!' Msg
,@customerId id
RETURN
END
SELECT @fcmid = deviceId, @deviceType = DeviceType FROM mobile_userRegistration WHERE customerId = @customerId
SELECT '0' ErrorCode
,'Customer approved successfully.' Msg
,@customerId id
,@fcmid extra
,@deviceType Extra2
,'approved' Extra3
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
,MEMBERSHIPID = ''<a href="/Remit/Administration/CustomerSetup/CustomerDetails.aspx?customerId=''+ CAST(CM.CUSTOMERID AS VARCHAR) + ''">'' + CM.membershipId +''</a>''
--,CM.membershipid ''<a href="' + dbo.FNAGetURL() + 'Remit/Administration/CustomerSetup/CustomerDetails.aspx?customerId='' + CAST(CM.customerId AS VARCHAR(50)) + ''">''
-- + CM.membershipId + ''</a>''
,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
,MEMBERSHIPID = ''<a href="/Remit/Administration/CustomerSetup/CustomerDetails.aspx?customerId=''+ CAST(CM.CUSTOMERID AS VARCHAR) + ''">'' + CM.membershipId +''</a>''
,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