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.
 
 

656 lines
45 KiB

USE [FastMoneyPro_Remit]
GO
/****** Object: StoredProcedure [dbo].[proc_customerKYC] Script Date: 1/1/2024 5:25:35 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROC [dbo].[proc_customerKYC] @flag VARCHAR(50)
,@user VARCHAR(30) = NULL
,@customerId INT = NULL
,@kycMethod VARCHAR(30) = NULL
,@kycStatus VARCHAR(30) = NULL
,@selecteddate VARCHAR(30) = NULL
,@remarkstext NVARCHAR(200) = NULL
,@pageSize INT = NULL
,@pageNumber INT = NULL
,@sortBy VARCHAR(50) = NULL
,@sortOrder VARCHAR(5) = NULL
,@trackingNo VARCHAR(20) = NULL
,@rowId VARCHAR(20) = NULL
,@searchCriteria VARCHAR(30) = NULL
,@searchValue VARCHAR(50) = NULL
,@membershipId VARCHAR(50) = NULL
,@fromDate varchar(10) = NULL
,@toDate varchar(10) = NULL
AS
SET NOCOUNT ON;
SET XACT_ABORT ON;
-----------------------------------------
--July 12 --> added flags (doc-path, delete-doc)
--Aug 04 --> add description in flag @doc-path
-- add login to insert broadcast in casse of @kycStatus='11044'
-- #776 - Allow duplicate tracking number entry in KYC -admin
-- #714 - KYC Tracking
-- #exclude KYC completed
-- #1032 -> Enhancement of KYC Check report changes in @flag = 's-forTracking'
--#1070-> allow download of renew id instead of saving in customer document
-- chnage in @flag = 'i' for kyc rejected customer to resubmit kyc
-- added new @flag = 'filterByKycStatus' for kyc details in dashboard
--------------------------------------------
BEGIN TRY
DECLARE @errorMessage VARCHAR(MAX)
,@sql VARCHAR(MAX)
,@table VARCHAR(MAX)
,@select_field_list VARCHAR(MAX)
,@extra_field_list VARCHAR(MAX)
,@sql_filter VARCHAR(MAX)
,@isExists BIT
,@referalid INT
,@referalCode varchar (20)
IF @flag = 'i'
BEGIN
--PRINT @kycStatus
IF (@kycStatus != '11044') --KYCCompleted | KYC Processing
AND EXISTS (
SELECT 1
FROM dbo.TBL_CUSTOMER_KYC(NOLOCK)
WHERE customerId = @customerId
AND kycMethod = @kycMethod
AND kycStatus = @kycStatus
AND kycStatus <>'11045'
AND isDeleted = 0
)
BEGIN
SET @isExists = 1
END
-- PRINT @isExists;
IF @kycStatus = '11044'
AND EXISTS (
SELECT 1
FROM dbo.TBL_CUSTOMER_KYC
WHERE customerId = @customerId
AND kycStatus = '11044'
AND isDeleted <> '1'
AND cast(kyc_date AS DATE) = cast(GetDate() AS DATE)
)
BEGIN
SET @isExists = 1
END
IF @kycStatus = '11046'
BEGIN
DECLARE @oldData1 VARCHAR(500);
SELECT @oldData1 = CAST(mobileVerificationType AS VARCHAR) + ' ' + '|' + ' ' +
ISNULL(mobileverifieddate, 'N/A') + ' ' + '|' + ' ' + ISNULL(mobileverifiedby, 'N/A')
FROM customerMaster(NOLOCK)
WHERE CUSTOMERID = @customerId
EXEC proc_applicationLogs @flag = 'i'
,@logType = 'KYC Rejected'
,@tableName = 'CustomerMaster'
,@dataId = @customerId
,@oldData = @oldData1
,@newData = 'Sent for re-verification'
,@module = '30'
,@user = @user
UPDATE customerMaster
SET modifiedDate = GETDATE()
,modifiedBy = @user
,hasdeclare=0
,agreeyn=0
,isAgreeDate=NULL
--,LawsonCardNo=NULL
,verificationCode = 'NOT_COMPLETED'
,approvedDate=NULL
,approvedBy=NULL
,mobileverifieddate=NULL
,mobileverifiedby=NULL
WHERE customerid = @customerId
END
IF @isExists = 1
BEGIN
EXEC dbo.proc_errorHandler '1'
,'Data already exist'
,NULL
RETURN
END
INSERT INTO TBL_CUSTOMER_KYC (
customerId
,kycmethod
,kycStatus
,remarks
,createdBy
,createdDate
,trackingNo
,KYC_DATE
)
VALUES (
@customerId
,@kycmethod
,@kycstatus
,@remarkstext
,@user
,GETDATE()
,@trackingNo
,@selecteddate
);
--SELECT CONCAT(ISNULL(firstName,''), ' ', ISNULL(middleName,''), ' ', ISNULL(lastName1,'')) AS fullName, customerId, membershipId, firstName,
--ISNULL(middleName,'') AS middleName, lastName1, mobile,
--CONCAT(ISNULL(zipCode,''), ' ', ISNULL(city,''), ' ',ISNULL(ADDITIONALADDRESS,'')) AS address, email, createdDate
--FROM customerMaster WHERE customerId = @customerId
IF( @kycStatus='11044')
BEGIN
SELECT @referalCode=referelCode FROM customerMaster WHERE customerId = @customerId
SELECT @referalid=customerId FROM customerMaster WHERE membershipId = @referalCode
IF(@referalid IS NOT NULL)
BEGIN
EXEC proc_InsertRewardPoints @Flag = 'REGISTER', @CustomerId = @customerId, @ReferralId = @referalid END
UPDATE customerMaster
SET verificationCode='COMPLETED', modifiedDate=GETDATE(), modifiedBy=@user,isVerifiedByCustomer=1
WHERE customerId = @customerId
END
EXEC dbo.proc_errorHandler '0'
,'Customer KYC inserted successfully'
,NULL
RETURN
END
IF @flag = 'delete-doc'
BEGIN
DECLARE @CUSTOMER_DETAILS VARCHAR(200) = NULL
,@FILE_NAME VARCHAR(150)
SELECT @CUSTOMER_DETAILS = cast(CM.customerId AS VARCHAR) + '|' + cast(CM.membershipId AS VARCHAR) + '|' + cast(cast(CM.CREATEDDATE AS DATE) AS VARCHAR)
,@FILE_NAME = CD.fileName
FROM CUSTOMERDOCUMENT CD(NOLOCK)
INNER JOIN CUSTOMERMASTER CM(NOLOCK) ON CM.CUSTOMERID = CD.CUSTOMERID
WHERE CD.cdId = @rowid
IF @CUSTOMER_DETAILS IS NULL
BEGIN
EXEC dbo.proc_errorHandler '1'
,'Invalid record!'
,NULL
RETURN
END
UPDATE CUSTOMERDOCUMENT
SET isDeleted = 'Y'
,archivedBy = @user
,archivedDate = GETDATE()
WHERE cdId = @rowid
SELECT '0' errorCode
,'Document deleted successfully' msg
,@FILE_NAME id
,@CUSTOMER_DETAILS extra
RETURN
END
IF @flag = 'doc-path-tmp'
BEGIN
SELECT docPath = cast(CM.customerId AS VARCHAR) + '|' + cast(CM.membershipId AS VARCHAR) + '|' + cast(cast(CM.CREATEDDATE AS DATE) AS VARCHAR)
,fileName = CD.fileName
FROM customerDocumentTmp CD(NOLOCK)
INNER JOIN CUSTOMERMASTER CM(NOLOCK) ON CM.CUSTOMERID = CD.CUSTOMERID
WHERE CD.rowId = @rowid
RETURN
END
IF @flag = 'doc-path'
BEGIN
SELECT docPath = cast(CM.customerId AS VARCHAR) + '|' + cast(CM.membershipId AS VARCHAR) + '|' + cast(cast(CM.CREATEDDATE AS DATE) AS VARCHAR)
,fileName = CD.fileName
,filedescription
FROM CUSTOMERDOCUMENT CD(NOLOCK)
INNER JOIN CUSTOMERMASTER CM(NOLOCK) ON CM.CUSTOMERID = CD.CUSTOMERID
WHERE CD.cdId = @rowid
RETURN
END
IF @flag = 'delete-tmp-doc'
BEGIN
SELECT @CUSTOMER_DETAILS = cast(CM.customerId AS VARCHAR) + '|' + cast(CM.membershipId AS VARCHAR) + '|' + cast(cast(CM.CREATEDDATE AS DATE) AS VARCHAR)
,@FILE_NAME = CD.fileName
FROM customerDocumentTmp CD(NOLOCK)
INNER JOIN CUSTOMERMASTER CM(NOLOCK) ON CM.CUSTOMERID = CD.CUSTOMERID
WHERE CD.rowId = @rowid
IF @CUSTOMER_DETAILS IS NULL
BEGIN
EXEC dbo.proc_errorHandler '1'
,'Invalid record!'
,NULL
RETURN
END
UPDATE customerDocumentTmp
SET isDeleted = 1
,deletedBy = @user
,deletedDate = GETDATE()
WHERE rowId = @rowid
SELECT '0' errorCode
,'Document deleted successfully' msg
,@FILE_NAME id
,@CUSTOMER_DETAILS extra
RETURN
END
IF @flag = 'move-doc'
BEGIN
SELECT @customerId=CM.customerId, @CUSTOMER_DETAILS = cast(CM.customerId AS VARCHAR) + '|' + cast(CM.membershipId AS VARCHAR) + '|' + cast(cast(CM.CREATEDDATE AS DATE) AS VARCHAR)
, @FILE_NAME = CD.fileName
FROM customerDocumentTmp CD(NOLOCK)
INNER JOIN CUSTOMERMASTER CM(NOLOCK) ON CM.CUSTOMERID = CD.CUSTOMERID
WHERE CD.rowId = @rowid
AND CD.APPROVEDDATE IS NULL
IF @CUSTOMER_DETAILS IS NULL
BEGIN
EXEC dbo.proc_errorHandler '1', 'Invalid record!', NULL
RETURN
END
UPDATE customerDocumentTmp SET approvedBy = @user, approvedDate = GETDATE()
WHERE rowId = @rowid
INSERT INTO customerDocument(customerId, fileName, fileDescription, fileType, createdBy, createdDate, approvedBy, approvedDate, sessionId, documentType, isOnlineDoc)
SELECT customerId, fileName, 'Renew ID', 'image/jpeg', createdBy, GETDATE(), approvedBy, GETDATE(), rowId, documentType, 'Y'
FROM customerDocumentTmp cd(NOLOCK)
WHERE rowId = @rowid
--For mobile broadcast notification
--EXEC ProcBroadCastMobile @Flag='renew-id', @RowId=@rowid, @controlNo = @customerId, @customerId = @customerId
SELECT '0' errorCode, 'Document processed successfully' msg, @FILE_NAME id, @CUSTOMER_DETAILS extra
RETURN
END
IF @flag = 'move-doc-new'
BEGIN
SELECT @customerId=CM.customerId, @CUSTOMER_DETAILS = cast(CM.customerId AS VARCHAR) + '|' + cast(CM.membershipId AS VARCHAR) + '|' + cast(cast(CM.CREATEDDATE AS DATE) AS VARCHAR)
, @FILE_NAME = CD.fileName
FROM customerDocumentTmp CD(NOLOCK)
INNER JOIN CUSTOMERMASTER CM(NOLOCK) ON CM.CUSTOMERID = CD.CUSTOMERID
WHERE CD.rowId = @rowid
AND CD.APPROVEDDATE IS NULL
IF @CUSTOMER_DETAILS IS NULL
BEGIN
EXEC dbo.proc_errorHandler '1', 'Invalid record!', NULL
RETURN
END
UPDATE customerDocumentTmp SET approvedBy = @user, approvedDate = GETDATE()
WHERE rowId = @rowid
EXEC ProcBroadCastMobile @Flag='renew-id', @RowId=@rowid, @controlNo = @customerId, @customerId = @customerId
SELECT '0' errorCode, 'Document processed successfully' msg, @FILE_NAME id, @CUSTOMER_DETAILS extra
RETURN
END
IF @flag = 'i-mobile'
BEGIN
IF NOT EXISTS(SELECT * FROM CUSTOMERMASTER(NOLOCK) WHERE CUSTOMERID=@customerId AND serviceUsedFor LIKE '%M%')
BEGIN
EXEC dbo.proc_errorHandler '1', 'Selected customer is not enabled to used mobile application!', NULL
RETURN
END
IF @kycStatus = '11044'
BEGIN
IF NOT EXISTS(SELECT * FROM dbo.TBL_CUSTOMER_KYC (NOLOCK)
WHERE customerId = @customerId
AND kycStatus = '11047'
AND ISNULL(ISDELETED, 0) = 0)
BEGIN
EXEC dbo.proc_errorHandler '1', 'KYC status directly can not be updated as Completed, before Document sent!', NULL
RETURN
END
END
IF @kycStatus!='11044' AND EXISTS(SELECT 1
FROM dbo.TBL_CUSTOMER_KYC (NOLOCK)
WHERE customerId = @customerId
AND kycMethod = @kycMethod
AND kycStatus = @kycStatus
AND isDeleted = 0)
BEGIN
SET @isExists=1
END
IF @kycStatus='11044' AND EXISTS(SELECT 1 FROM dbo.TBL_CUSTOMER_KYC WHERE customerId=@customerId AND kycStatus='11044' AND isDeleted <> '1' and cast(kyc_date as date) = cast(GetDate() as date))
BEGIN
SET @isExists=1
END
IF @isExists=1
BEGIN
EXEC dbo.proc_errorHandler '1', 'Data already exist', NULL
RETURN
END
INSERT INTO TBL_CUSTOMER_KYC (customerId,kycmethod,kycStatus,remarks,createdBy,createdDate,trackingNo,KYC_DATE)
VALUES (@customerId,@kycmethod,@kycstatus,@remarkstext,@user,GETDATE(),@trackingNo,@selecteddate);
EXEC dbo.proc_errorHandler '0', 'Customer KYC inserted successfully', NULL
--For mobile broadcast notification
IF( @kycStatus='11044')
BEGIN
UPDATE customerMaster
SET verificationCode='COMPLETED', modifiedDate=GETDATE(), modifiedBy=@user
WHERE customerId = @customerId
--EXEC ProcBroadCastMobile @Flag='kyc-approve', @RowId=@customerId, @controlNo = @customerId, @customerId = @customerId
END
RETURN
END
ELSE IF @Flag='dropdownListMethod'
BEGIN
SELECT valueId [value],detailTitle [text] from staticdatavalue(NOLOCK) where typeid=7007 AND ISNULL(ISActive,'Y')='Y'
RETURN
END
ELSE IF @Flag='dropdownListStatus'
BEGIN
SELECT valueId [value],detailTitle [text] from staticdatavalue(NOLOCK) where typeid=7008 AND ISNULL(ISActive,'Y')='Y'
RETURN
END
ELSE IF @Flag = 'dropdownListMethod'
BEGIN
SELECT valueId [value]
,detailTitle [text]
FROM staticdatavalue(NOLOCK)
WHERE typeid = 7007
AND ISNULL(ISActive, 'Y') = 'Y'
RETURN
END
ELSE IF @Flag = 'dropdownListStatus'
BEGIN
SELECT valueId [value]
,detailTitle [text]
FROM staticdatavalue(NOLOCK)
WHERE typeid = 7008
AND ISNULL(ISActive, 'Y') = 'Y'
RETURN
END
IF @flag = 'd'
BEGIN
UPDATE TBL_CUSTOMER_KYC
SET isDeleted = 1
,deletedBy = @user
,deletedDate = GETDATE()
WHERE rowId = @rowId
--DELETE FROM dbo.TBL_CUSTOMER_KYC WHERE rowId = @rowId
EXEC dbo.proc_errorHandler '0'
,'Customer KYC deleted successfully'
,NULL
RETURN
END
IF @flag = 's'
BEGIN
IF @sortBy IS NULL OR @sortBy=''
SET @sortBy = 'modifiedDate'
IF @sortOrder IS NULL OR @sortOrder=''
SET @sortOrder = 'DESC'
SET @table = '(
SELECT C.detailTitle kycMethod,rowId,B.detailTitle kycStatus,
A.remarks,A.createdBy,A.createdDate
,trackingNo = ''<a href="javascript:void(0);" onclick="OpenInNewWindow(''''/Common/JPPostKYCInquiry.aspx?tranckingNumber=''+A.trackingNo+''&membershipId=''+CM.membershipId+''&dt=''+CONVERT(VARCHAR(10), CM.CREATEDDATE, 120)+'''''')">''+A.trackingNo+''</a>''
,'''' details
FROM dbo.TBL_CUSTOMER_KYC A (nolock)
INNER JOIN CUSTOMERMASTER CM(NOLOCK) ON CM.CUSTOMERID = A.CUSTOMERID
INNER JOIN STATICDATAVALUE B (NOLOCK) ON A.kycStatus = B.valueId
INNER JOIN STATICDATAVALUE C (NOLOCK) ON A.kycMethod = C.valueId
WHERE A.CustomerId = ''' + CAST(@customerId AS VARCHAR) +
'''
AND ISNULL(A.isDeleted, 0) = 0
UNION ALL
SELECT '''' kycMethod,rowId,''KYC Updated'' kycStatus,'''' remarks,logs.modifiedBy createdby,logs.modifiedDate createddate,'''' trackingNo
,CASE WHEN COLUMNNAME IN (''VISASTATUS'',''OCCUPATION'',''IDTYPE'',''SOURCEOFFUND'',''EMPLOYEEBUSINESSTYPE'') THEN ISNULL(columnName,'''') + '' (''+ ISNULL(OLD.detailTitle,'''') + '':'' + ISNULL(NEW.detailTitle,'''') + '')''
ELSE ISNULL(columnName,'''') + '' (''+ ISNULL(oldValue,'''') + '':'' + ISNULL(newValue,'''') + '')''
END details
FROM TBLCUSTOMERMODIFYLOGS logs (NOLOCK)
LEFT JOIN staticDataValue OLD (NOLOCK) ON CAST(OLD.VALUEID as nvarchar) = LOGS.OLDVALUE
LEFT JOIN staticDataValue NEW (NOLOCK) ON CAST(NEW.VALUEID AS nvarchar)= LOGS.NEWVALUE
WHERE CUSTOMERID =''' + CAST(@customerId AS VARCHAR) + '''
)x'
SET @sql_filter = ''
--IF @kycMethod='11048'
--BEGIN
-- SET @sql_Filter=@sql_Filter + ' AND kycmethod like ''' +@kycMethod+'%'''
--END
SET @select_field_list = 'kycMethod,rowId,kycStatus,remarks,createdBy,createdDate,trackingNo,details'
EXEC dbo.proc_paging @table
,@sql_filter
,@select_field_list
,@extra_field_list
,@sortBy
,@sortOrder
,@pageSize
,@pageNumber
PRINT @table + @sql_filter
END
IF @flag = 's-forMobile'
BEGIN
IF @sortBy IS NULL
SET @sortBy = 'createdDate'
IF @sortOrder IS NULL
SET @sortOrder = 'ASC'
SET @table =
'(
SELECT cm.fullname customerName
,cm.membershipId
,address = ISNULL(substring(detail.zip_code,1,3),'''')+''-''+ ISNULL(substring(detail.zip_code,4,7),'''') + isnull('','' + SS.stateName, '''') + isnull('','' + detail.city_name, '''') + isnull('', '' +detail.street_name,'''') + ISNULL( '', ''+ CM.address,CM.address)
,''N'' PrintOrNot
,C.detailTitle kycMethod,rowId,B.detailTitle kycStatus
,A.remarks,A.createdBy,A.createdDate
,trackingNo = ''<a href="javascript:void(0);" onclick="OpenInNewWindow(''''/Common/JPPostKYCInquiry.aspx?tranckingNumber=''+A.trackingNo+''&membershipId=''+CM.membershipId+''&dt=''+CONVERT(VARCHAR(10), CM.CREATEDDATE, 120)+'''''')">''+A.trackingNo+''</a>''
,'''' details
,KYC_DATE = CAST(KYC_DATE AS DATE)
FROM dbo.TBL_CUSTOMER_KYC A (nolock)
INNER JOIN CUSTOMERMASTER CM(NOLOCK) ON CM.CUSTOMERID = A.CUSTOMERID
INNER JOIN STATICDATAVALUE B (NOLOCK) ON A.kycStatus = B.valueId
INNER JOIN STATICDATAVALUE C (NOLOCK) ON A.kycMethod = C.valueId
LEFT JOIN tbl_japan_address_detail detail WITH (NOLOCK) ON detail.zip_code = CM.zipcode
LEFT JOIN dbo.countryStateMaster SS(NOLOCK) ON cast(SS.stateId as int)= detail.state_Id
WHERE A.CustomerId = '''
+ CAST(@customerId AS VARCHAR) + '''
AND ISNULL(A.isDeleted, 0) = 0
)x'
SET @sql_filter = ''
--IF @kycMethod='11048'
--BEGIN
-- SET @sql_Filter=@sql_Filter + ' AND kycmethod like ''' +@kycMethod+'%'''
--END
SET @select_field_list = 'customerName,KYC_DATE,membershipId,address,PrintOrNot,kycMethod,rowId,kycStatus,remarks,createdBy,createdDate,trackingNo,details'
EXEC dbo.proc_paging @table
,@sql_filter
,@select_field_list
,@extra_field_list
,@sortBy
,@sortOrder
,@pageSize
,@pageNumber
END
IF @flag = 's-forTracking'
BEGIN
IF @sortBy IS NULL
SET @sortBy = 'modifiedDate'
IF @sortOrder IS NULL
SET @sortOrder = 'DESC'
SET @table = '(
SELECT C.detailTitle kycMethod,rowId,B.detailTitle kycStatus, cm.membershipId,
A.remarks,A.createdBy,A.createdDate , cm.fullName as fullName , cm.email as email , cm.mobile as mobile, cm.walletaccountNo as walletaccountno, cm.nativeCountry as nativeCountry
,trackingNo = ''<a href="javascript:void(0);" onclick="OpenInNewWindow(''''/Common/JPPostKYCInquiry.aspx?tranckingNumber=''+A.trackingNo+''&membershipId=''+CM.membershipId+''&customerId=''+CAST(cm.customerid AS VARCHAR)+''&dt=''+CONVERT(VARCHAR(10), CM.CREATEDDATE, 120)+'''''')">''+A.trackingNo+''</a>''
,'''' details ,CM.idNumber, A.modifiedDate
, showDetails = ''<button class= "btn btn-primary" title = "Show Deatils" onclick="OpenInNewWindow(''''/Remit/Administration/CustomerSetup/CustomerDetails.aspx?customerId=''+CAST(cm.customerid AS VARCHAR)+''''''); return false;"/>Show Details</button>''
FROM dbo.TBL_CUSTOMER_KYC A (nolock)
INNER JOIN (SELECT Max(createdDate) as MaxDate,customerid FROM TBL_CUSTOMER_KYC (NOLOCK) group by customerid)kyc ON A.customerid = kyc.customerid AND A.createdDate = kyc.MaxDate
INNER JOIN CUSTOMERMASTER CM(NOLOCK) ON CM.CUSTOMERID = A.CUSTOMERID
INNER JOIN STATICDATAVALUE B (NOLOCK) ON A.kycStatus = B.valueId
INNER JOIN STATICDATAVALUE C (NOLOCK) ON A.kycMethod = C.valueId
WHERE B.detailTitle = ''KYC Processing'' and A.trackingNo IS NOT NULL
AND ISNULL(A.isDeleted, 0) = 0
)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 = 'kycMethod,rowId,kycStatus,remarks,createdBy,createdDate,trackingNo,details,fullName,email,mobile,walletaccountno,nativeCountry,showDetails,membershipId'
EXEC dbo.proc_paging @table
,@sql_filter
,@select_field_list
,@extra_field_list
,@sortBy
,@sortOrder
,@pageSize
,@pageNumber
-- PRINT @table + @sql_filter
END
IF @flag = 'filterByKycStatus'
BEGIN
IF @sortBy IS NULL
SET @sortBy = 'createdDate'
IF @sortOrder IS NULL
SET @sortOrder = 'DESC'
--SET @table = '(SELECT ROW_NUMBER() OVER (ORDER BY cm.createdDate) AS SN, customerId, fullname, cm.createdDate, membershipId, email, mobile, cc.countryName country, idNumber, ISNULL(verificationCode,''NOT_COMPLETED'') verificationCode,lawsonCardNo
--FROM customerMaster cm (NOLOCK)
--LEFT JOIN countryMaster cc (NOLOCK) on cm.country = cc.countryId
--WHERE ISNULL(verificationCode,''NOT_COMPLETED'') = '''+ @kycStatus + ''')x'
SET @table = '(SELECT ROW_NUMBER() OVER (ORDER BY cm.createdDate) AS SN,
customerId,
fullname,
cm.createdDate,
membershipId = ''<a href="/Remit/Administration/CustomerSetup/CustomerDetails.aspx?customerId=''+ CAST(CM.CUSTOMERID AS VARCHAR) + ''">'' + CM.membershipId +''</a>'',
email,
mobile,
cc.countryName country,
idNumber,
ISNULL(verificationCode,''NOT_COMPLETED'') verificationCode,
lawsonCardNo
FROM customerMaster cm (NOLOCK)
LEFT JOIN countryMaster cc (NOLOCK) ON cm.country = cc.countryId
WHERE ISNULL(verificationCode,''NOT_COMPLETED'') = ''' + @kycStatus + ''''
IF ISNULL(@fromDate, '') <> ''
AND ISNULL(@toDate, '') <> ''
SET @table = @table + ' AND cm.createdDate BETWEEN ''' + CAST(@fromDate AS VARCHAR) + ''' AND ''' + CAST(@toDate 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 = 'customerId,fullname,createdDate,membershipId,email,mobile,country,idNumber,verificationCode,lawsonCardNo'
EXEC dbo.proc_paging @table
,@sql_filter
,@select_field_list
,@extra_field_list
,@sortBy
,@sortOrder
,@pageSize
,@pageNumber
END
END TRY
BEGIN CATCH
IF @@TRANCOUNT > 0
ROLLBACK TRANSACTION
SET @errorMessage = ERROR_MESSAGE()
EXEC dbo.proc_errorHandler 1
,@errorMessage
,NULL
END CATCH