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.

635 lines
44 KiB

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