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

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