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.trackingNo+'''' ,'''' 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.trackingNo+'''' ,'''' 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.trackingNo+'''' ,'''' details ,CM.idNumber, A.modifiedDate , showDetails = '''' 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 = '''' + CM.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 + '''' 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