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.

634 lines
43 KiB

1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_customerKYC] Script Date: 11/10/2023 12:03:13 AM ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. ALTER PROC [dbo].[proc_customerKYC] @flag VARCHAR(50)
  9. ,@user VARCHAR(30) = NULL
  10. ,@customerId INT = NULL
  11. ,@kycMethod VARCHAR(30) = NULL
  12. ,@kycStatus VARCHAR(30) = NULL
  13. ,@selecteddate VARCHAR(30) = NULL
  14. ,@remarkstext NVARCHAR(200) = NULL
  15. ,@pageSize INT = NULL
  16. ,@pageNumber INT = NULL
  17. ,@sortBy VARCHAR(50) = NULL
  18. ,@sortOrder VARCHAR(5) = NULL
  19. ,@trackingNo VARCHAR(20) = NULL
  20. ,@rowId VARCHAR(20) = NULL
  21. ,@searchCriteria VARCHAR(30) = NULL
  22. ,@searchValue VARCHAR(50) = NULL
  23. ,@membershipId VARCHAR(50) = NULL
  24. AS
  25. SET NOCOUNT ON;
  26. SET XACT_ABORT ON;
  27. -----------------------------------------
  28. --July 12 --> added flags (doc-path, delete-doc)
  29. --Aug 04 --> add description in flag @doc-path
  30. -- add login to insert broadcast in casse of @kycStatus='11044'
  31. -- #776 - Allow duplicate tracking number entry in KYC -admin
  32. -- #714 - KYC Tracking
  33. -- #exclude KYC completed
  34. -- #1032 -> Enhancement of KYC Check report changes in @flag = 's-forTracking'
  35. --#1070-> allow download of renew id instead of saving in customer document
  36. -- chnage in @flag = 'i' for kyc rejected customer to resubmit kyc
  37. -- added new @flag = 'filterByKycStatus' for kyc details in dashboard
  38. --------------------------------------------
  39. BEGIN TRY
  40. DECLARE @errorMessage VARCHAR(MAX)
  41. ,@sql VARCHAR(MAX)
  42. ,@table VARCHAR(MAX)
  43. ,@select_field_list VARCHAR(MAX)
  44. ,@extra_field_list VARCHAR(MAX)
  45. ,@sql_filter VARCHAR(MAX)
  46. ,@isExists BIT
  47. ,@referalid INT
  48. ,@referalCode varchar (20)
  49. IF @flag = 'i'
  50. BEGIN
  51. --PRINT @kycStatus
  52. IF (@kycStatus != '11044') --KYCCompleted | KYC Processing
  53. AND EXISTS (
  54. SELECT 1
  55. FROM dbo.TBL_CUSTOMER_KYC(NOLOCK)
  56. WHERE customerId = @customerId
  57. AND kycMethod = @kycMethod
  58. AND kycStatus = @kycStatus
  59. AND kycStatus <>'11045'
  60. AND isDeleted = 0
  61. )
  62. BEGIN
  63. SET @isExists = 1
  64. END
  65. -- PRINT @isExists;
  66. IF @kycStatus = '11044'
  67. AND EXISTS (
  68. SELECT 1
  69. FROM dbo.TBL_CUSTOMER_KYC
  70. WHERE customerId = @customerId
  71. AND kycStatus = '11044'
  72. AND isDeleted <> '1'
  73. AND cast(kyc_date AS DATE) = cast(GetDate() AS DATE)
  74. )
  75. BEGIN
  76. SET @isExists = 1
  77. END
  78. IF @kycStatus = '11046'
  79. BEGIN
  80. DECLARE @oldData1 VARCHAR(500);
  81. SELECT @oldData1 = CAST(mobileVerificationType AS VARCHAR) + ' ' + '|' + ' ' + ISNULL(mobileverifieddate, 'N/A') + ' ' + '|' + ' ' + ISNULL(mobileverifiedby, 'N/A')
  82. FROM customerMaster(NOLOCK)
  83. WHERE CUSTOMERID = @customerId
  84. EXEC proc_applicationLogs @flag = 'i'
  85. ,@logType = 'Re-Verify-Customer'
  86. ,@tableName = 'CustomerMaster'
  87. ,@dataId = @customerId
  88. ,@oldData = @oldData1
  89. ,@newData = 'Sent for re-verification'
  90. ,@module = '30'
  91. ,@user = @user
  92. UPDATE customerMaster
  93. SET modifiedDate = GETDATE()
  94. ,modifiedBy = @user
  95. ,hasdeclare=0
  96. ,agreeyn=0
  97. ,isAgreeDate=GETDATE()
  98. ,LawsonCardNo=NULL
  99. WHERE customerid = @customerId
  100. END
  101. IF @isExists = 1
  102. BEGIN
  103. EXEC dbo.proc_errorHandler '1'
  104. ,'Data already exist'
  105. ,NULL
  106. RETURN
  107. END
  108. INSERT INTO TBL_CUSTOMER_KYC (
  109. customerId
  110. ,kycmethod
  111. ,kycStatus
  112. ,remarks
  113. ,createdBy
  114. ,createdDate
  115. ,trackingNo
  116. ,KYC_DATE
  117. )
  118. VALUES (
  119. @customerId
  120. ,@kycmethod
  121. ,@kycstatus
  122. ,@remarkstext
  123. ,@user
  124. ,GETDATE()
  125. ,@trackingNo
  126. ,@selecteddate
  127. );
  128. --SELECT CONCAT(ISNULL(firstName,''), ' ', ISNULL(middleName,''), ' ', ISNULL(lastName1,'')) AS fullName, customerId, membershipId, firstName,
  129. --ISNULL(middleName,'') AS middleName, lastName1, mobile,
  130. --CONCAT(ISNULL(zipCode,''), ' ', ISNULL(city,''), ' ',ISNULL(ADDITIONALADDRESS,'')) AS address, email, createdDate
  131. --FROM customerMaster WHERE customerId = @customerId
  132. IF( @kycStatus='11044')
  133. BEGIN
  134. SELECT @referalCode=referelCode FROM customerMaster WHERE customerId = @customerId
  135. SELECT @referalid=customerId FROM customerMaster WHERE membershipId = @referalCode
  136. IF(@referalid IS NOT NULL)
  137. BEGIN
  138. EXEC proc_InsertRewardPoints @Flag = 'REGISTER', @CustomerId = @customerId, @ReferralId = @referalid END
  139. UPDATE customerMaster
  140. SET verificationCode='COMPLETED', modifiedDate=GETDATE(), modifiedBy=@user,isVerifiedByCustomer=1
  141. WHERE customerId = @customerId
  142. END
  143. EXEC dbo.proc_errorHandler '0'
  144. ,'Customer KYC inserted successfully'
  145. ,NULL
  146. RETURN
  147. END
  148. IF @flag = 'delete-doc'
  149. BEGIN
  150. DECLARE @CUSTOMER_DETAILS VARCHAR(200) = NULL
  151. ,@FILE_NAME VARCHAR(150)
  152. SELECT @CUSTOMER_DETAILS = cast(CM.customerId AS VARCHAR) + '|' + cast(CM.membershipId AS VARCHAR) + '|' + cast(cast(CM.CREATEDDATE AS DATE) AS VARCHAR)
  153. ,@FILE_NAME = CD.fileName
  154. FROM CUSTOMERDOCUMENT CD(NOLOCK)
  155. INNER JOIN CUSTOMERMASTER CM(NOLOCK) ON CM.CUSTOMERID = CD.CUSTOMERID
  156. WHERE CD.cdId = @rowid
  157. IF @CUSTOMER_DETAILS IS NULL
  158. BEGIN
  159. EXEC dbo.proc_errorHandler '1'
  160. ,'Invalid record!'
  161. ,NULL
  162. RETURN
  163. END
  164. UPDATE CUSTOMERDOCUMENT
  165. SET isDeleted = 'Y'
  166. ,archivedBy = @user
  167. ,archivedDate = GETDATE()
  168. WHERE cdId = @rowid
  169. SELECT '0' errorCode
  170. ,'Document deleted successfully' msg
  171. ,@FILE_NAME id
  172. ,@CUSTOMER_DETAILS extra
  173. RETURN
  174. END
  175. IF @flag = 'doc-path-tmp'
  176. BEGIN
  177. SELECT docPath = cast(CM.customerId AS VARCHAR) + '|' + cast(CM.membershipId AS VARCHAR) + '|' + cast(cast(CM.CREATEDDATE AS DATE) AS VARCHAR)
  178. ,fileName = CD.fileName
  179. FROM customerDocumentTmp CD(NOLOCK)
  180. INNER JOIN CUSTOMERMASTER CM(NOLOCK) ON CM.CUSTOMERID = CD.CUSTOMERID
  181. WHERE CD.rowId = @rowid
  182. RETURN
  183. END
  184. IF @flag = 'doc-path'
  185. BEGIN
  186. SELECT docPath = cast(CM.customerId AS VARCHAR) + '|' + cast(CM.membershipId AS VARCHAR) + '|' + cast(cast(CM.CREATEDDATE AS DATE) AS VARCHAR)
  187. ,fileName = CD.fileName
  188. ,filedescription
  189. FROM CUSTOMERDOCUMENT CD(NOLOCK)
  190. INNER JOIN CUSTOMERMASTER CM(NOLOCK) ON CM.CUSTOMERID = CD.CUSTOMERID
  191. WHERE CD.cdId = @rowid
  192. RETURN
  193. END
  194. IF @flag = 'delete-tmp-doc'
  195. BEGIN
  196. SELECT @CUSTOMER_DETAILS = cast(CM.customerId AS VARCHAR) + '|' + cast(CM.membershipId AS VARCHAR) + '|' + cast(cast(CM.CREATEDDATE AS DATE) AS VARCHAR)
  197. ,@FILE_NAME = CD.fileName
  198. FROM customerDocumentTmp CD(NOLOCK)
  199. INNER JOIN CUSTOMERMASTER CM(NOLOCK) ON CM.CUSTOMERID = CD.CUSTOMERID
  200. WHERE CD.rowId = @rowid
  201. IF @CUSTOMER_DETAILS IS NULL
  202. BEGIN
  203. EXEC dbo.proc_errorHandler '1'
  204. ,'Invalid record!'
  205. ,NULL
  206. RETURN
  207. END
  208. UPDATE customerDocumentTmp
  209. SET isDeleted = 1
  210. ,deletedBy = @user
  211. ,deletedDate = GETDATE()
  212. WHERE rowId = @rowid
  213. SELECT '0' errorCode
  214. ,'Document deleted successfully' msg
  215. ,@FILE_NAME id
  216. ,@CUSTOMER_DETAILS extra
  217. RETURN
  218. END
  219. IF @flag = 'move-doc'
  220. BEGIN
  221. SELECT @customerId=CM.customerId, @CUSTOMER_DETAILS = cast(CM.customerId AS VARCHAR) + '|' + cast(CM.membershipId AS VARCHAR) + '|' + cast(cast(CM.CREATEDDATE AS DATE) AS VARCHAR)
  222. , @FILE_NAME = CD.fileName
  223. FROM customerDocumentTmp CD(NOLOCK)
  224. INNER JOIN CUSTOMERMASTER CM(NOLOCK) ON CM.CUSTOMERID = CD.CUSTOMERID
  225. WHERE CD.rowId = @rowid
  226. AND CD.APPROVEDDATE IS NULL
  227. IF @CUSTOMER_DETAILS IS NULL
  228. BEGIN
  229. EXEC dbo.proc_errorHandler '1', 'Invalid record!', NULL
  230. RETURN
  231. END
  232. UPDATE customerDocumentTmp SET approvedBy = @user, approvedDate = GETDATE()
  233. WHERE rowId = @rowid
  234. INSERT INTO customerDocument(customerId, fileName, fileDescription, fileType, createdBy, createdDate, approvedBy, approvedDate, sessionId, documentType, isOnlineDoc)
  235. SELECT customerId, fileName, 'Renew ID', 'image/jpeg', createdBy, GETDATE(), approvedBy, GETDATE(), rowId, documentType, 'Y'
  236. FROM customerDocumentTmp cd(NOLOCK)
  237. WHERE rowId = @rowid
  238. --For mobile broadcast notification
  239. --EXEC ProcBroadCastMobile @Flag='renew-id', @RowId=@rowid, @controlNo = @customerId, @customerId = @customerId
  240. SELECT '0' errorCode, 'Document processed successfully' msg, @FILE_NAME id, @CUSTOMER_DETAILS extra
  241. RETURN
  242. END
  243. IF @flag = 'move-doc-new'
  244. BEGIN
  245. SELECT @customerId=CM.customerId, @CUSTOMER_DETAILS = cast(CM.customerId AS VARCHAR) + '|' + cast(CM.membershipId AS VARCHAR) + '|' + cast(cast(CM.CREATEDDATE AS DATE) AS VARCHAR)
  246. , @FILE_NAME = CD.fileName
  247. FROM customerDocumentTmp CD(NOLOCK)
  248. INNER JOIN CUSTOMERMASTER CM(NOLOCK) ON CM.CUSTOMERID = CD.CUSTOMERID
  249. WHERE CD.rowId = @rowid
  250. AND CD.APPROVEDDATE IS NULL
  251. IF @CUSTOMER_DETAILS IS NULL
  252. BEGIN
  253. EXEC dbo.proc_errorHandler '1', 'Invalid record!', NULL
  254. RETURN
  255. END
  256. UPDATE customerDocumentTmp SET approvedBy = @user, approvedDate = GETDATE()
  257. WHERE rowId = @rowid
  258. EXEC ProcBroadCastMobile @Flag='renew-id', @RowId=@rowid, @controlNo = @customerId, @customerId = @customerId
  259. SELECT '0' errorCode, 'Document processed successfully' msg, @FILE_NAME id, @CUSTOMER_DETAILS extra
  260. RETURN
  261. END
  262. IF @flag = 'i-mobile'
  263. BEGIN
  264. IF NOT EXISTS(SELECT * FROM CUSTOMERMASTER(NOLOCK) WHERE CUSTOMERID=@customerId AND serviceUsedFor LIKE '%M%')
  265. BEGIN
  266. EXEC dbo.proc_errorHandler '1', 'Selected customer is not enabled to used mobile application!', NULL
  267. RETURN
  268. END
  269. IF @kycStatus = '11044'
  270. BEGIN
  271. IF NOT EXISTS(SELECT * FROM dbo.TBL_CUSTOMER_KYC (NOLOCK)
  272. WHERE customerId = @customerId
  273. AND kycStatus = '11047'
  274. AND ISNULL(ISDELETED, 0) = 0)
  275. BEGIN
  276. EXEC dbo.proc_errorHandler '1', 'KYC status directly can not be updated as Completed, before Document sent!', NULL
  277. RETURN
  278. END
  279. END
  280. IF @kycStatus!='11044' AND EXISTS(SELECT 1
  281. FROM dbo.TBL_CUSTOMER_KYC (NOLOCK)
  282. WHERE customerId = @customerId
  283. AND kycMethod = @kycMethod
  284. AND kycStatus = @kycStatus
  285. AND isDeleted = 0)
  286. BEGIN
  287. SET @isExists=1
  288. END
  289. 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))
  290. BEGIN
  291. SET @isExists=1
  292. END
  293. IF @isExists=1
  294. BEGIN
  295. EXEC dbo.proc_errorHandler '1', 'Data already exist', NULL
  296. RETURN
  297. END
  298. INSERT INTO TBL_CUSTOMER_KYC (customerId,kycmethod,kycStatus,remarks,createdBy,createdDate,trackingNo,KYC_DATE)
  299. VALUES (@customerId,@kycmethod,@kycstatus,@remarkstext,@user,GETDATE(),@trackingNo,@selecteddate);
  300. EXEC dbo.proc_errorHandler '0', 'Customer KYC inserted successfully', NULL
  301. --For mobile broadcast notification
  302. IF( @kycStatus='11044')
  303. BEGIN
  304. UPDATE customerMaster
  305. SET verificationCode='COMPLETED', modifiedDate=GETDATE(), modifiedBy=@user
  306. WHERE customerId = @customerId
  307. --EXEC ProcBroadCastMobile @Flag='kyc-approve', @RowId=@customerId, @controlNo = @customerId, @customerId = @customerId
  308. END
  309. RETURN
  310. END
  311. ELSE IF @Flag='dropdownListMethod'
  312. BEGIN
  313. SELECT valueId [value],detailTitle [text] from staticdatavalue(NOLOCK) where typeid=7007 AND ISNULL(ISActive,'Y')='Y'
  314. RETURN
  315. END
  316. ELSE IF @Flag='dropdownListStatus'
  317. BEGIN
  318. SELECT valueId [value],detailTitle [text] from staticdatavalue(NOLOCK) where typeid=7008 AND ISNULL(ISActive,'Y')='Y'
  319. RETURN
  320. END
  321. ELSE IF @Flag = 'dropdownListMethod'
  322. BEGIN
  323. SELECT valueId [value]
  324. ,detailTitle [text]
  325. FROM staticdatavalue(NOLOCK)
  326. WHERE typeid = 7007
  327. AND ISNULL(ISActive, 'Y') = 'Y'
  328. RETURN
  329. END
  330. ELSE IF @Flag = 'dropdownListStatus'
  331. BEGIN
  332. SELECT valueId [value]
  333. ,detailTitle [text]
  334. FROM staticdatavalue(NOLOCK)
  335. WHERE typeid = 7008
  336. AND ISNULL(ISActive, 'Y') = 'Y'
  337. RETURN
  338. END
  339. IF @flag = 'd'
  340. BEGIN
  341. UPDATE TBL_CUSTOMER_KYC
  342. SET isDeleted = 1
  343. ,deletedBy = @user
  344. ,deletedDate = GETDATE()
  345. WHERE rowId = @rowId
  346. --DELETE FROM dbo.TBL_CUSTOMER_KYC WHERE rowId = @rowId
  347. EXEC dbo.proc_errorHandler '0'
  348. ,'Customer KYC deleted successfully'
  349. ,NULL
  350. RETURN
  351. END
  352. IF @flag = 's'
  353. BEGIN
  354. IF @sortBy IS NULL OR @sortBy=''
  355. SET @sortBy = 'modifiedDate'
  356. IF @sortOrder IS NULL OR @sortOrder=''
  357. SET @sortOrder = 'DESC'
  358. SET @table = '(
  359. SELECT C.detailTitle kycMethod,rowId,B.detailTitle kycStatus,
  360. A.remarks,A.createdBy,A.createdDate
  361. ,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>''
  362. ,'''' details
  363. FROM dbo.TBL_CUSTOMER_KYC A (nolock)
  364. INNER JOIN CUSTOMERMASTER CM(NOLOCK) ON CM.CUSTOMERID = A.CUSTOMERID
  365. INNER JOIN STATICDATAVALUE B (NOLOCK) ON A.kycStatus = B.valueId
  366. INNER JOIN STATICDATAVALUE C (NOLOCK) ON A.kycMethod = C.valueId
  367. WHERE A.CustomerId = ''' + CAST(@customerId AS VARCHAR) +
  368. '''
  369. AND ISNULL(A.isDeleted, 0) = 0
  370. UNION ALL
  371. SELECT '''' kycMethod,rowId,''KYC Updated'' kycStatus,'''' remarks,logs.modifiedBy createdby,logs.modifiedDate createddate,'''' trackingNo
  372. ,CASE WHEN COLUMNNAME IN (''VISASTATUS'',''OCCUPATION'',''IDTYPE'',''SOURCEOFFUND'',''EMPLOYEEBUSINESSTYPE'') THEN ISNULL(columnName,'''') + '' (''+ ISNULL(OLD.detailTitle,'''') + '':'' + ISNULL(NEW.detailTitle,'''') + '')''
  373. ELSE ISNULL(columnName,'''') + '' (''+ ISNULL(oldValue,'''') + '':'' + ISNULL(newValue,'''') + '')''
  374. END details
  375. FROM TBLCUSTOMERMODIFYLOGS logs (NOLOCK)
  376. LEFT JOIN staticDataValue OLD (NOLOCK) ON CAST(OLD.VALUEID as nvarchar) = LOGS.OLDVALUE
  377. LEFT JOIN staticDataValue NEW (NOLOCK) ON CAST(NEW.VALUEID AS nvarchar)= LOGS.NEWVALUE
  378. WHERE CUSTOMERID =''' + CAST(@customerId AS VARCHAR) + '''
  379. )x'
  380. SET @sql_filter = ''
  381. --IF @kycMethod='11048'
  382. --BEGIN
  383. -- SET @sql_Filter=@sql_Filter + ' AND kycmethod like ''' +@kycMethod+'%'''
  384. --END
  385. SET @select_field_list = 'kycMethod,rowId,kycStatus,remarks,createdBy,createdDate,trackingNo,details'
  386. EXEC dbo.proc_paging @table
  387. ,@sql_filter
  388. ,@select_field_list
  389. ,@extra_field_list
  390. ,@sortBy
  391. ,@sortOrder
  392. ,@pageSize
  393. ,@pageNumber
  394. PRINT @table + @sql_filter
  395. END
  396. IF @flag = 's-forMobile'
  397. BEGIN
  398. IF @sortBy IS NULL
  399. SET @sortBy = 'createdDate'
  400. IF @sortOrder IS NULL
  401. SET @sortOrder = 'ASC'
  402. SET @table =
  403. '(
  404. SELECT cm.fullname customerName
  405. ,cm.membershipId
  406. ,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)
  407. ,''N'' PrintOrNot
  408. ,C.detailTitle kycMethod,rowId,B.detailTitle kycStatus
  409. ,A.remarks,A.createdBy,A.createdDate
  410. ,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>''
  411. ,'''' details
  412. ,KYC_DATE = CAST(KYC_DATE AS DATE)
  413. FROM dbo.TBL_CUSTOMER_KYC A (nolock)
  414. INNER JOIN CUSTOMERMASTER CM(NOLOCK) ON CM.CUSTOMERID = A.CUSTOMERID
  415. INNER JOIN STATICDATAVALUE B (NOLOCK) ON A.kycStatus = B.valueId
  416. INNER JOIN STATICDATAVALUE C (NOLOCK) ON A.kycMethod = C.valueId
  417. LEFT JOIN tbl_japan_address_detail detail WITH (NOLOCK) ON detail.zip_code = CM.zipcode
  418. LEFT JOIN dbo.countryStateMaster SS(NOLOCK) ON cast(SS.stateId as int)= detail.state_Id
  419. WHERE A.CustomerId = '''
  420. + CAST(@customerId AS VARCHAR) + '''
  421. AND ISNULL(A.isDeleted, 0) = 0
  422. )x'
  423. SET @sql_filter = ''
  424. --IF @kycMethod='11048'
  425. --BEGIN
  426. -- SET @sql_Filter=@sql_Filter + ' AND kycmethod like ''' +@kycMethod+'%'''
  427. --END
  428. SET @select_field_list = 'customerName,KYC_DATE,membershipId,address,PrintOrNot,kycMethod,rowId,kycStatus,remarks,createdBy,createdDate,trackingNo,details'
  429. EXEC dbo.proc_paging @table
  430. ,@sql_filter
  431. ,@select_field_list
  432. ,@extra_field_list
  433. ,@sortBy
  434. ,@sortOrder
  435. ,@pageSize
  436. ,@pageNumber
  437. END
  438. IF @flag = 's-forTracking'
  439. BEGIN
  440. IF @sortBy IS NULL
  441. SET @sortBy = 'modifiedDate'
  442. IF @sortOrder IS NULL
  443. SET @sortOrder = 'DESC'
  444. SET @table = '(
  445. SELECT C.detailTitle kycMethod,rowId,B.detailTitle kycStatus, cm.membershipId,
  446. 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
  447. ,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>''
  448. ,'''' details ,CM.idNumber, A.modifiedDate
  449. , 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>''
  450. FROM dbo.TBL_CUSTOMER_KYC A (nolock)
  451. 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
  452. INNER JOIN CUSTOMERMASTER CM(NOLOCK) ON CM.CUSTOMERID = A.CUSTOMERID
  453. INNER JOIN STATICDATAVALUE B (NOLOCK) ON A.kycStatus = B.valueId
  454. INNER JOIN STATICDATAVALUE C (NOLOCK) ON A.kycMethod = C.valueId
  455. WHERE B.detailTitle = ''KYC Processing'' and A.trackingNo IS NOT NULL
  456. AND ISNULL(A.isDeleted, 0) = 0
  457. )x'
  458. SET @sql_filter = ''
  459. IF ISNULL(@searchCriteria, '') <> ''
  460. AND ISNULL(@searchValue, '') <> ''
  461. BEGIN
  462. IF @searchCriteria = 'idNumber'
  463. BEGIN
  464. --IF ISNUMERIC(@searchValue)<>1
  465. -- SET @searchValue='-1' --to ignore string value for datatype integer/customerID
  466. --SET @sql_Filter=@sql_Filter + ' AND customerId = ''' +@searchValue+''''
  467. SET @sql_Filter = @sql_Filter + ' AND REPLACE(idNumber, ''-'', '''') = ''' + REPLACE(@searchValue, '-', '') + ''''
  468. END
  469. ELSE IF @searchCriteria = 'emailId'
  470. SET @sql_Filter = @sql_Filter + ' AND email like ''' + @searchValue + '%'''
  471. ELSE IF @searchCriteria = 'customerName'
  472. SET @sql_Filter = @sql_Filter + ' AND fullName like ''' + @searchValue + '%'''
  473. ELSE IF @searchCriteria = 'mobile'
  474. SET @sql_Filter = @sql_Filter + ' AND mobile = ''' + @searchValue + ''''
  475. ELSE IF @searchCriteria = 'walletAccountNo'
  476. SET @sql_Filter = @sql_Filter + ' AND walletAccountNo = ''' + @searchValue + ''''
  477. ELSE IF @searchCriteria = 'bankAccountNo'
  478. SET @sql_Filter = @sql_Filter + ' AND bankAccountNo = ''' + @searchValue + ''''
  479. ELSE IF @searchCriteria = 'nativeCountry'
  480. SET @sql_Filter = @sql_Filter + ' AND nativeCountry = ''' + @searchValue + ''''
  481. END
  482. SET @select_field_list = 'kycMethod,rowId,kycStatus,remarks,createdBy,createdDate,trackingNo,details,fullName,email,mobile,walletaccountno,nativeCountry,showDetails,membershipId'
  483. EXEC dbo.proc_paging @table
  484. ,@sql_filter
  485. ,@select_field_list
  486. ,@extra_field_list
  487. ,@sortBy
  488. ,@sortOrder
  489. ,@pageSize
  490. ,@pageNumber
  491. -- PRINT @table + @sql_filter
  492. END
  493. IF @flag = 'filterByKycStatus'
  494. BEGIN
  495. IF @sortBy IS NULL
  496. SET @sortBy = 'createdDate'
  497. IF @sortOrder IS NULL
  498. SET @sortOrder = 'DESC'
  499. 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
  500. FROM customerMaster cm (NOLOCK)
  501. LEFT JOIN countryMaster cc (NOLOCK) on cm.nativeCountry = cc.countryId
  502. WHERE ISNULL(verificationCode,''NOT_COMPLETED'') = '''+ @kycStatus + ''')x'
  503. --SET @table = '(SELECT ROW_NUMBER() OVER (ORDER BY createdDate) AS SN, customerId, fullname, createdDate, membershipId, nativeCountry, idNumber, verificationCode
  504. --FROM customerMaster
  505. --WHERE ISNULL(verificationCode,''NOT_COMPLETED'') = '''+ @kycStatus + ''')x'
  506. SET @sql_filter = ''
  507. IF ISNULL(@searchCriteria, '') <> ''
  508. AND ISNULL(@searchValue, '') <> ''
  509. BEGIN
  510. IF @searchCriteria = 'idNumber'
  511. BEGIN
  512. --IF ISNUMERIC(@searchValue)<>1
  513. -- SET @searchValue='-1' --to ignore string value for datatype integer/customerID
  514. --SET @sql_Filter=@sql_Filter + ' AND customerId = ''' +@searchValue+''''
  515. SET @sql_Filter = @sql_Filter + ' AND REPLACE(idNumber, ''-'', '''') = ''' + REPLACE(@searchValue, '-', '') + ''''
  516. END
  517. ELSE IF @searchCriteria = 'emailId'
  518. SET @sql_Filter = @sql_Filter + ' AND email like ''' + @searchValue + '%'''
  519. ELSE IF @searchCriteria = 'customerName'
  520. SET @sql_Filter = @sql_Filter + ' AND fullName like ''' + @searchValue + '%'''
  521. ELSE IF @searchCriteria = 'mobile'
  522. SET @sql_Filter = @sql_Filter + ' AND mobile = ''' + @searchValue + ''''
  523. ELSE IF @searchCriteria = 'mobile'
  524. SET @sql_Filter = @sql_Filter + ' AND mobile = ''' + @searchValue + ''''
  525. ELSE IF @searchCriteria = 'membershipId'
  526. SET @sql_Filter = @sql_Filter + ' AND membershipId = ''' + @searchValue + ''''
  527. ELSE IF @searchCriteria = 'nativeCountry'
  528. SET @sql_Filter = @sql_Filter + ' AND nativeCountry = ''' + @searchValue + ''''
  529. END
  530. SET @select_field_list = 'customerId,fullname,createdDate,membershipId,email,mobile,country,idNumber,verificationCode,lawsonCardNo'
  531. EXEC dbo.proc_paging @table
  532. ,@sql_filter
  533. ,@select_field_list
  534. ,@extra_field_list
  535. ,@sortBy
  536. ,@sortOrder
  537. ,@pageSize
  538. ,@pageNumber
  539. END
  540. END TRY
  541. BEGIN CATCH
  542. IF @@TRANCOUNT > 0
  543. ROLLBACK TRANSACTION
  544. SET @errorMessage = ERROR_MESSAGE()
  545. EXEC dbo.proc_errorHandler 1
  546. ,@errorMessage
  547. ,NULL
  548. END CATCH