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.

1452 lines
82 KiB

  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[mobile_proc_customerMaster] Script Date: 9/16/2023 12:56:44 PM ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. --EXEC [mobile_proc_customerMaster] @flag='refresh-customer-info',@userName='android-demo-jme@yopmail.com'
  9. ALTER PROCEDURE [dbo].[mobile_proc_customerMaster] @flag VARCHAR(30)
  10. ,@userName VARCHAR(100) = NULL
  11. ,@firstName VARCHAR(50) = NULL
  12. ,@middleName VARCHAR(50) = NULL
  13. ,@lastName VARCHAR(50) = NULL
  14. ,@nickName VARCHAR(100) = NULL
  15. ,@mobileNumber VARCHAR(30) = NULL
  16. ,@email VARCHAR(100) = NULL
  17. ,@gender VARCHAR(15) = NULL
  18. ,@dateOfBirth DATETIME = NULL
  19. ,@nativeCountry VARCHAR(100) = NULL
  20. ,@country VARCHAR(100) = NULL
  21. ,@address VARCHAR(150) = NULL
  22. ,@city VARCHAR(50) = NULL
  23. ,@province VARCHAR(50) = NULL
  24. ,@occupation VARCHAR(100) = NULL
  25. ,@primaryBankName VARCHAR(200) = NULL
  26. ,@primaryAccountNumber VARCHAR(100) = NULL
  27. ,@verificationIdType VARCHAR(50) = NULL
  28. ,@verificationIdNumber VARCHAR(50) = NULL
  29. ,@issueDate DATETIME = NULL
  30. ,@expiryDate DATETIME = NULL
  31. ,@regIdcardFrontUrl VARCHAR(200) = NULL
  32. ,@regIdcardBackUrl VARCHAR(200) = NULL
  33. ,@passbookUrl VARCHAR(200) = NULL
  34. ,@passportUrl VARCHAR(200) = NULL
  35. ,@selfieUrl VARCHAR(300) = NULL
  36. -- CDD parameters
  37. ,@cddCode VARCHAR(100) = NULL
  38. ,@sourceOfFund VARCHAR(500) = NULL
  39. ,@referralCode VARCHAR(100) = NULL
  40. ,@sourceCustomerId INT = NULL
  41. ,@appVersion VARCHAR(100) = NULL
  42. ,@phoneBrand VARCHAR(100) = NULL
  43. ,@phoneOS VARCHAR(100) = NULL
  44. ,@fcmId VARCHAR(MAX) = NULL
  45. ,@osVersion VARCHAR(100) = NULL
  46. ,@fullName VARCHAR(200) = NULL
  47. ,@passportNumber VARCHAR(100) = NULL
  48. ,@anotherIDType VARCHAR(20) = NULL
  49. ,@anotherIDNumber VARCHAR(20) = NULL
  50. ,@branch VARCHAR(20) = NULL
  51. ,@type INT = NULL
  52. ,@url VARCHAR(200) = NULL
  53. ,@userId INT = NULL
  54. ,@fileType VARCHAR(25) = NULL
  55. ,@fileName VARCHAR(200) = NULL
  56. AS
  57. SET NOCOUNT ON;
  58. SET XACT_ABORT ON;
  59. BEGIN TRY
  60. ------------------------------------------------------------------------------------------------------------
  61. -- select column [mobile_userRegistration].isForcePassChange
  62. -- #387 - Added parameter @IsForcePinChangeMob
  63. -- #101 - Mobile Changes
  64. -- #647 - change pin and password for existing customer from mobile reg
  65. -- #659 change in @flag='refresh-customer-info' for full name
  66. -- #1069 in @flag = 'refresh-customer-info' for id expiry date and status
  67. --#lawson card
  68. -- #1135 _ Notification count
  69. -- #1003 - Reward Points , @flag = 'get-invite-details'
  70. -- #1298 - changes in reward points response
  71. -- #1309 - Changes in @flag = 'get-invite-details' and @flag='get-reward-fee'
  72. -- #1594 - @flag = 'get-loyalty-points'
  73. -- #1601 - Push 500 reward points to customers , @flag = 'get-loyalty-points'
  74. -- Trust doc -- add ResidenceType, IsNFC
  75. -- #18600 added new @flag = 'get-payment-method' for exrate
  76. ------------------------------------------------------------------------------------------------------------
  77. DECLARE @errorMsg VARCHAR(MAX)
  78. ,@customerId BIGINT
  79. ,@yearlyLimit MONEY = '3500000.00'
  80. ,@totalSend MONEY
  81. ,@totalSendText VARCHAR(200)
  82. ,@YearStart DATE
  83. ,@YearEnd DATETIME
  84. ,@cust BIGINT = NULL;
  85. DECLARE @IsActive CHAR(1)
  86. DECLARE @redirectTo VARCHAR(100) = ''
  87. SET @country = '118';
  88. SET @firstName = UPPER(@firstName)
  89. SET @middleName = UPPER(@middleName)
  90. SET @lastName = UPPER(@lastName)
  91. SET @fullName = @firstName + ISNULL(' ' + @middleName, '') + ISNULL(' ' + @lastName, '')
  92. IF @flag = 'i'
  93. BEGIN
  94. --SELECT @customerId = customerId FROM customerMasterTemp with (nolock)
  95. --WHERE email = @username OR mobile = @username
  96. --CHECK FOR customer IN temp table
  97. SELECT @customerId = customerId
  98. FROM customerMasterTemp WITH (NOLOCK)
  99. WHERE username = @userName
  100. IF @customerId IS NULL
  101. BEGIN
  102. IF EXISTS (
  103. SELECT TOP 1 'A'
  104. FROM customerMaster(NOLOCK)
  105. WHERE userName = @userName
  106. )
  107. BEGIN
  108. SELECT @errorMsg = 'It looks like you are already registered in JME system!'
  109. EXEC proc_errorHandler 1
  110. ,@errorMsg
  111. ,@userName
  112. RETURN
  113. END
  114. END
  115. SELECT @email = @userName
  116. BEGIN TRANSACTION
  117. UPDATE dbo.customerMasterTemp
  118. SET firstName = @fullName
  119. ,fullName = @fullName
  120. ,nickName = @nickName
  121. ,mobile = @mobileNumber
  122. ,homePhone = @verificationIdNumber
  123. ,
  124. --email=@email,
  125. gender = CASE
  126. WHEN UPPER(@gender) = 'M'
  127. THEN '97'
  128. WHEN UPPER(@gender) = 'F'
  129. THEN '98'
  130. ELSE '99'
  131. END
  132. ,
  133. --dob=@dateOfBirth,
  134. nativeCountry = @nativeCountry
  135. ,country = @country
  136. ,[address] = @address
  137. ,city = @province
  138. ,state2 = @province
  139. ,occupation = @occupation
  140. ,bankName = @primaryBankName
  141. ,bankAccountNo = @primaryAccountNumber
  142. ,idNumber = @verificationIdNumber
  143. ,idType = @verificationIdType
  144. ,idIssueDate = @issueDate
  145. ,createdDate = GETDATE()
  146. ,sourceOfFund = CASE
  147. WHEN @sourceOfFund IS NOT NULL
  148. THEN (
  149. SELECT sd.detailTitle
  150. FROM dbo.staticDataValue sd(NOLOCK)
  151. WHERE sd.valueId = @sourceOfFund
  152. )
  153. ELSE sourceOfFund
  154. END
  155. ,idExpiryDate = @expiryDate
  156. ,verifyDoc1 = @regIdcardFrontUrl
  157. ,verifyDoc2 = @regIdcardBackUrl
  158. ,verifyDoc3 = @passbookUrl
  159. ,verifyDoc4 = @passportUrl
  160. ,selfie = @selfieUrl
  161. ,referelCode = @referralCode
  162. WHERE userName = @username
  163. INSERT INTO dbo.customerMaster (
  164. fullName
  165. ,firstName
  166. ,mobile
  167. ,email
  168. ,gender
  169. ,dob
  170. ,occupation
  171. ,nativeCountry
  172. ,country
  173. ,bankName
  174. ,bankAccountNo
  175. ,idType
  176. ,idNumber
  177. ,homePhone
  178. ,idIssueDate
  179. ,idExpiryDate
  180. ,sourceOfFund
  181. ,verifyDoc1
  182. ,verifyDoc2
  183. ,verifyDoc3
  184. ,SelfieDoc
  185. ,referelCode
  186. ,createdBy
  187. ,createdDate
  188. ,isActive
  189. ,onlineUser
  190. ,customerPassword
  191. ,[address]
  192. ,city
  193. ,state2
  194. ,customerType
  195. ,agreeYn
  196. )
  197. SELECT fullName
  198. ,CMT.firstName
  199. ,mobile
  200. ,email
  201. ,gender
  202. ,dob
  203. ,CMT.occupation
  204. ,nativeCountry
  205. ,country
  206. ,bankName
  207. ,bankAccountNo
  208. ,idType
  209. ,idNumber
  210. ,CMT.homePhone
  211. ,CMT.idIssueDate
  212. ,idExpiryDate
  213. ,sourceOfFund
  214. ,verifyDoc1
  215. ,verifyDoc2
  216. ,verifyDoc3
  217. ,CMT.selfie
  218. ,CMT.referelCode
  219. ,CMT.createdBy
  220. ,GETDATE()
  221. ,'Y'
  222. ,'Y'
  223. ,customerPassword
  224. ,[address]
  225. ,state2
  226. ,state2
  227. ,4701
  228. ,CMT.agreeYn
  229. FROM dbo.CustomerMasterTemp AS CMT(NOLOCK)
  230. WHERE CMT.customerId = @customerId
  231. SET @cust = @@IDENTITY
  232. UPDATE dbo.mobile_userRegistration
  233. SET customerId = @cust
  234. WHERE username = @username
  235. DELETE
  236. FROM customerMasterTemp
  237. WHERE username = @username
  238. COMMIT TRANSACTION
  239. IF @@TRANCOUNT = 0
  240. BEGIN
  241. SELECT 0 AS ERRORCODE
  242. ,'KYC Submitted successfully' AS MSG
  243. ,@userName AS ID
  244. ,@cust AS EXTRA
  245. --SELECT
  246. -- errorCode='0'
  247. -- ,userId=@userName
  248. -- ,firstName=ISNULL(cm.firstName, '')
  249. -- ,middleName=ISNULL(cm.middleName, '')
  250. -- ,lastName=ISNULL(cm.lastName1,'')
  251. -- ,fullname=ISNULL(cm.firstName, '') + ISNULL(' ' + cm.middleName, '') + ISNULL(' ' + cm.lastName1, '')
  252. -- ,mobileNumber=ISNULL(mobile,'')
  253. -- ,email=ISNULL(email,'')
  254. -- ,gender=ISNULL(sv.detailTitle,'')
  255. -- ,dateOfBirth=CONVERT(VARCHAR(10),dob,120)
  256. -- ,nativeCountry=ISNULL(com1.countryName,'')
  257. -- ,country=ISNULL(com.countryName,'')
  258. -- ,address=ISNULL(address,'')
  259. -- ,city=ISNULL(city,'')
  260. -- ,province=ISNULL(cm.state2,'')
  261. -- ,provinceId= cm.state2
  262. -- ,occupation=ISNULL(sdv.detailTitle,'')
  263. -- ,primaryBankName=ISNULL(bl.BankName,'')
  264. -- ,primaryAccountNumber=ISNULL(cm.bankAccountNo,'')
  265. -- ,verificationIdType=ISNULL(dv.detailTitle,'')
  266. -- ,verificationIdNumber=ISNULL(cm.idNumber,'')
  267. -- ,issueDate=CONVERT(VARCHAR(10),cm.idIssueDate,120)
  268. -- ,expiryDate=CONVERT(VARCHAR(10),cm.idExpiryDate,120)
  269. -- ,sourceOfFund=ISNULL(cm.sourceOfFund,'')
  270. -- ,regIdcardFrontUrl=ISNULL(cm.verifyDoc1,'')
  271. -- ,regIdcardBackUrl=ISNULL(cm.verifyDoc2,'')
  272. -- ,passbookUrl=ISNULL(cm.verifyDoc3,'')
  273. -- ,selfieUrl=ISNULL(cm.SelfieDoc,'')
  274. -- ,passportUrl=''
  275. --FROM dbo.customerMaster cm WITH(NOLOCK)
  276. --LEFT JOIN dbo.vwBankLists bl WITH(NOLOCK)ON cm.bankName=bl.rowId
  277. --LEFT JOIN dbo.staticDataValue sdv WITH(NOLOCK)ON cm.occupation=sdv.valueId
  278. --LEFT JOIN dbo.staticDataValue sv WITH(NOLOCK)ON cm.gender=sv.valueId
  279. --LEFT JOIN dbo.countryMaster com WITH(NOLOCK)ON cm.country=com.countryId
  280. --LEFT JOIN dbo.countryMaster com1 WITH(NOLOCK)ON cm.nativeCountry=com1.countryId
  281. --LEFT JOIN dbo.staticDataValue dv WITH(NOLOCK)ON cm.idType=dv.valueId
  282. --WHERE customerId=@cust
  283. RETURN
  284. END
  285. EXEC proc_errorHandler 1
  286. ,'Failed to Submit KYC'
  287. ,@userName
  288. -- SELECT errorCode='1'
  289. --,userId=''
  290. --,firstName=''
  291. --,middleName=''
  292. --,lastName=''
  293. --,fullname=''
  294. --,mobileNumber=''
  295. --,email=''
  296. --,gender=''
  297. --,dateOfBirth=''
  298. --,nativeCountry=''
  299. --,country=''
  300. --,address=''
  301. --,city=''
  302. --,province=''
  303. --,provinceId=''
  304. --,occupation=''
  305. --,primaryBankName=''
  306. --,primaryAccountNumber=''
  307. --,verificationIdType=''
  308. --,verificationIdNumber=''
  309. --,issueDate=''
  310. --,expiryDate=''
  311. --,sourceOfFund=''
  312. --,regIdcardFrontUrl=''
  313. --,regIdcardBackUrl=''
  314. --,passbookUrl=''
  315. --,passportUrl=''
  316. --,selfieUrl=''
  317. RETURN
  318. END
  319. IF @flag = 'i-V2'
  320. BEGIN
  321. --CHECK FOR customer IN temp table
  322. SELECT @customerId = customerId
  323. FROM customerMasterTemp WITH (NOLOCK)
  324. WHERE username = @userName
  325. --PRINT @userName
  326. --PRINT @customerId
  327. IF @customerId IS NULL
  328. BEGIN
  329. IF EXISTS (
  330. SELECT TOP 1 'A'
  331. FROM customerMaster(NOLOCK)
  332. WHERE EMAIL = @userName
  333. )
  334. BEGIN
  335. SELECT @errorMsg = 'It looks like you are already registered in JME system!'
  336. EXEC proc_errorHandler 1
  337. ,@errorMsg
  338. ,@userName
  339. RETURN
  340. END
  341. END
  342. BEGIN TRANSACTION
  343. UPDATE dbo.customerMasterTemp
  344. SET firstName = @fullName
  345. ,fullName = @fullName
  346. ,nickName = @nickName
  347. ,homePhone = @verificationIdNumber
  348. ,email = @userName
  349. ,customerEmail = @email
  350. ,gender = CASE
  351. WHEN UPPER(@gender) = 'M'
  352. THEN '97'
  353. WHEN UPPER(@gender) = 'F'
  354. THEN '98'
  355. ELSE '99'
  356. END
  357. ,dob = @dateOfBirth
  358. ,country = @country
  359. ,[address] = @address
  360. ,city = @city
  361. ,state2 = @province
  362. ,occupation = @occupation
  363. ,bankName = @primaryBankName
  364. ,bankAccountNo = @primaryAccountNumber
  365. ,idNumber = @verificationIdNumber
  366. ,idType = @verificationIdType
  367. ,idIssueDate = @issueDate
  368. ,createdDate = GETDATE()
  369. ,sourceOfFund = CASE
  370. WHEN @sourceOfFund IS NOT NULL
  371. THEN (
  372. SELECT TOP 1 sd.detailTitle
  373. FROM dbo.staticDataValue sd(NOLOCK)
  374. WHERE sd.valueId = @sourceOfFund
  375. )
  376. ELSE sourceOfFund
  377. END
  378. ,idExpiryDate = @expiryDate
  379. ,verifyDoc1 = @regIdcardFrontUrl
  380. ,verifyDoc2 = @regIdcardBackUrl
  381. ,verifyDoc3 = @passbookUrl
  382. ,verifyDoc4 = @passportUrl
  383. ,selfie = @selfieUrl
  384. ,referelCode = @referralCode
  385. WHERE customerId = @customerId
  386. INSERT INTO dbo.customerMaster (
  387. fullName
  388. ,firstName
  389. ,mobile
  390. ,email
  391. ,customerEmail
  392. ,gender
  393. ,dob
  394. ,occupation
  395. ,nativeCountry
  396. ,country
  397. ,bankName
  398. ,bankAccountNo
  399. ,idType
  400. ,idNumber
  401. ,homePhone
  402. ,idIssueDate
  403. ,idExpiryDate
  404. ,sourceOfFund
  405. ,verifyDoc1
  406. ,verifyDoc2
  407. ,verifyDoc3
  408. ,SelfieDoc
  409. ,referelCode
  410. ,createdBy
  411. ,createdDate
  412. ,isActive
  413. ,onlineUser
  414. ,customerPassword
  415. ,[address]
  416. ,city
  417. ,state2
  418. ,customerType
  419. )
  420. SELECT fullName
  421. ,CMT.firstName
  422. ,mobile
  423. ,email
  424. ,customerEmail
  425. ,gender
  426. ,dob
  427. ,CMT.occupation
  428. ,nativeCountry
  429. ,country
  430. ,bankName
  431. ,bankAccountNo
  432. ,idType
  433. ,idNumber
  434. ,CMT.homePhone
  435. ,CMT.idIssueDate
  436. ,idExpiryDate
  437. ,sourceOfFund
  438. ,verifyDoc1
  439. ,verifyDoc2
  440. ,verifyDoc3
  441. ,CMT.selfie
  442. ,CMT.referelCode
  443. ,CMT.createdBy
  444. ,GETDATE()
  445. ,'Y'
  446. ,'Y'
  447. ,customerPassword
  448. ,[address]
  449. ,city
  450. ,state2
  451. ,4701
  452. FROM dbo.CustomerMasterTemp AS CMT(NOLOCK)
  453. WHERE CMT.customerId = @customerId
  454. SET @cust = @@IDENTITY
  455. UPDATE dbo.mobile_userRegistration
  456. SET customerId = @cust
  457. WHERE username = @username
  458. DELETE
  459. FROM customerMasterTemp
  460. WHERE username = @username
  461. COMMIT TRANSACTION
  462. IF @@TRANCOUNT = 0
  463. BEGIN
  464. SELECT 0 AS ERRORCODE
  465. ,'KYC Submitted successfully' AS MSG
  466. ,@userName AS ID
  467. ,@cust AS EXTRA
  468. RETURN
  469. END
  470. EXEC proc_errorHandler 1
  471. ,'Failed to Submit KYC'
  472. ,@userName
  473. RETURN
  474. END
  475. IF @flag = 'u'
  476. BEGIN
  477. IF (YEAR(GETDATE()) - YEAR(@dateOfBirth) < 16)
  478. BEGIN
  479. EXEC proc_errorHandler 1
  480. ,'Customer Not Eligible'
  481. ,@userName
  482. RETURN
  483. END
  484. ----OR cm.mobile=@userName not aplicable
  485. IF NOT EXISTS (
  486. SELECT TOP 1 'x'
  487. FROM dbo.customerMaster(NOLOCK) cm
  488. WHERE cm.email = @userName
  489. )
  490. BEGIN
  491. SELECT @errorMsg = 'Customer with userId ' + @userName + ' does not exists.'
  492. EXEC proc_errorHandler 1
  493. ,@errorMsg
  494. ,@userName
  495. RETURN
  496. END
  497. SELECT @customerId = cm.customerId
  498. FROM dbo.customerMaster(NOLOCK) cm
  499. WHERE cm.email = @userName
  500. --OR cm.mobile=@userName
  501. BEGIN TRANSACTION
  502. UPDATE dbo.customerMaster
  503. SET firstName = ISNULL(@fullName, fullName)
  504. ,fullName = ISNULL(@fullName, fullName)
  505. ,
  506. ----nickName=ISNULL(@nickName,nickName),
  507. mobile = ISNULL(@mobileNumber, mobile)
  508. ,email = ISNULL(@email, email)
  509. ,gender = ISNULL(@gender, gender)
  510. ,dob = ISNULL(@dateOfBirth, dob)
  511. ,nativeCountry = ISNULL(@nativeCountry, nativeCountry)
  512. ,country = ISNULL(@country, country)
  513. ,[address] = ISNULL(@address, [address])
  514. ,city = ISNULL(@city, city)
  515. ,state2 = CASE
  516. WHEN @province IS NOT NULL
  517. THEN (
  518. SELECT TOP 1 cim.cityName
  519. FROM dbo.CityMaster cim(NOLOCK)
  520. WHERE cim.cityId = @province
  521. )
  522. ELSE state2
  523. END
  524. ,occupation = ISNULL(@occupation, occupation)
  525. ,bankName = ISNULL(@primaryBankName, bankName)
  526. ,bankAccountNo = ISNULL(@primaryAccountNumber, bankAccountNo)
  527. ,idNumber = ISNULL(@verificationIdNumber, idNumber)
  528. ,idType = ISNULL(@verificationIdType, idType)
  529. ,idIssueDate = ISNULL(@issueDate, idIssueDate)
  530. ,sourceOfFund = CASE
  531. WHEN @sourceOfFund IS NOT NULL
  532. THEN (
  533. SELECT TOP 1 sd.detailTitle
  534. FROM dbo.staticDataValue sd(NOLOCK)
  535. WHERE sd.valueId = @sourceOfFund
  536. )
  537. ELSE sourceOfFund
  538. END
  539. ,idExpiryDate = ISNULL(@expiryDate, idExpiryDate)
  540. ,verifyDoc1 = ISNULL(@regIdcardFrontUrl, verifyDoc1)
  541. ,verifyDoc2 = ISNULL(@regIdcardBackUrl, verifyDoc2)
  542. ,verifyDoc3 = ISNULL(@passbookUrl, verifyDoc3)
  543. ,SelfieDoc = ISNULL(@selfieUrl, SelfieDoc)
  544. FROM customermaster(NOLOCK) cust
  545. WHERE cust.customerId = @customerId
  546. IF @@TRANCOUNT > 0
  547. COMMIT TRANSACTION
  548. SELECT errorCode = '0'
  549. ,userId = @userName
  550. ,firstName = ISNULL(cm.firstName, '')
  551. ,middleName = ISNULL(cm.middleName, '')
  552. ,lastName = ISNULL(cm.lastName1, '')
  553. ,fullname = ISNULL(cm.firstName, '') + ISNULL(' ' + cm.middleName, '') + ISNULL(' ' + cm.lastName1, '')
  554. ,nickName = ''
  555. ,mobileNumber = ISNULL(mobile, '')
  556. ,email = ISNULL(email, '')
  557. ,gender = ISNULL(sv.detailTitle, '')
  558. ,dateOfBirth = CONVERT(VARCHAR(10), dob, 120)
  559. ,nativeCountry = ISNULL(com1.countryName, '')
  560. ,country = ISNULL(com.countryName, '')
  561. ,[address] = ISNULL([address], '')
  562. ,city = ISNULL(city, '')
  563. ,province = ISNULL(cm.state2, '')
  564. ,provinceId = ISNULL(cim.cityId, '')
  565. ,occupation = ISNULL(sdv.detailTitle, '')
  566. ,primaryBankName = 'Fast Remit Bank' --bl.BankName
  567. ,primaryAccountNumber = ISNULL(cm.bankAccountNo, '')
  568. ,verificationIdType = ISNULL(dv.detailTitle, '')
  569. ,verificationIdNumber = ISNULL(cm.idNumber, '')
  570. ,issueDate = CONVERT(VARCHAR(10), cm.idIssueDate, 120)
  571. ,expiryDate = CONVERT(VARCHAR(10), cm.idExpiryDate, 120)
  572. ,sourceOfFund = ISNULL(cm.sourceOfFund, '')
  573. ,regIdcardFrontUrl = ISNULL(cm.verifyDoc1, '')
  574. ,regIdcardBackUrl = ISNULL(cm.verifyDoc2, '')
  575. ,passbookUrl = ISNULL(cm.verifyDoc3, '')
  576. ,passportUrl = ''
  577. ,selfieUrl = ISNULL(cm.SelfieDoc, '')
  578. FROM (
  579. SELECT TOP 1 *
  580. FROM dbo.customerMaster(NOLOCK) cm
  581. WHERE cm.customerId = @customerId
  582. ) cm
  583. LEFT JOIN dbo.vwBankLists(NOLOCK) bl ON cm.bankName = bl.bankCode
  584. LEFT JOIN mobile_userRegistration(NOLOCK) v ON cm.customerId = v.customerId
  585. LEFT JOIN dbo.staticDataValue(NOLOCK) sdv ON cm.occupation = sdv.valueId
  586. LEFT JOIN dbo.staticDataValue(NOLOCK) sv ON cm.gender = sv.valueId
  587. LEFT JOIN dbo.countryMaster(NOLOCK) com ON cm.country = com.countryId
  588. LEFT JOIN dbo.staticDataValue(NOLOCK) dv ON cm.idType = dv.valueId
  589. LEFT JOIN dbo.countryMaster(NOLOCK) com1 ON cm.nativeCountry = com1.countryId
  590. LEFT JOIN dbo.CityMaster cim(NOLOCK) ON LTRIM(RTRIM(cim.cityName)) = LTRIM(RTRIM(cm.state2))
  591. --WHERE cm.customerId = @customerId
  592. RETURN
  593. END
  594. IF @flag = 's'
  595. BEGIN
  596. IF NOT EXISTS (
  597. SELECT TOP 1 'x'
  598. FROM dbo.customerMaster(NOLOCK) cm
  599. WHERE cm.email = @userName
  600. OR cm.mobile = @userName
  601. )
  602. BEGIN
  603. SELECT @errorMsg = 'Customer with userId ' + @userName + ' does not exists.'
  604. EXEC proc_errorHandler 1
  605. ,@errorMsg
  606. ,@userName
  607. RETURN
  608. END
  609. SELECT @customerId = cm.customerId
  610. FROM dbo.customerMaster(NOLOCK) cm
  611. WHERE cm.email = @userName
  612. OR cm.mobile = @userName
  613. SELECT errorCode = '0'
  614. ,userId = @userName
  615. ,firstName = ISNULL(cm.firstName, '')
  616. ,middleName = ''
  617. ,lastName = ''
  618. ,fullname = ISNULL(cm.fullName, '')
  619. ,nickName = ''
  620. ,mobileNumber = ISNULL(mobile, '')
  621. ,email = ISNULL(email, '')
  622. ,gender = ISNULL(sv.detailTitle, '')
  623. ,dateOfBirth = CONVERT(VARCHAR(10), dob, 120)
  624. ,nativeCountry = ISNULL(com1.countryName, '')
  625. ,country = 'South Korea'
  626. ,address = ISNULL(address, '')
  627. ,city = ISNULL(city, '')
  628. ,province = ISNULL(cm.state2, '')
  629. ,provinceId = ISNULL(cim.cityId, '')
  630. ,occupation = ISNULL(sdv.detailTitle, '')
  631. ,primaryBankName = 'Fast Remit Bank' --ISNULL(bl.BankName,'')
  632. ,primaryAccountNumber = ISNULL(cm.bankAccountNo, '')
  633. ,verificationIdType = ISNULL(dv.detailTitle, '')
  634. ,verificationIdNumber = ISNULL(cm.idNumber, '')
  635. ,issueDate = CONVERT(VARCHAR(10), cm.idIssueDate, 120)
  636. ,expiryDate = CONVERT(VARCHAR(10), cm.idExpiryDate, 120)
  637. ,sourceOfFund = ISNULL(cm.sourceOfFund, '')
  638. ,regIdcardFrontUrl = ISNULL(cm.verifyDoc1, '')
  639. ,regIdcardBackUrl = ISNULL(cm.verifyDoc2, '')
  640. ,passbookUrl = ISNULL(cm.verifyDoc3, '')
  641. ,selfieUrl = ISNULL(cm.SelfieDoc, '')
  642. FROM (
  643. SELECT TOP 1 *
  644. FROM dbo.customerMaster cm WITH (NOLOCK)
  645. WHERE customerId = @customerId
  646. ) cm
  647. LEFT JOIN dbo.vwBankLists bl WITH (NOLOCK) ON cm.bankName = bl.bankCode
  648. LEFT JOIN dbo.staticDataValue sdv WITH (NOLOCK) ON cm.occupation = sdv.valueId
  649. LEFT JOIN dbo.staticDataValue sv WITH (NOLOCK) ON cm.gender = sv.valueId
  650. LEFT JOIN dbo.countryMaster com1 WITH (NOLOCK) ON cm.nativeCountry = com1.countryId
  651. LEFT JOIN dbo.staticDataValue dv WITH (NOLOCK) ON cm.idType = dv.valueId
  652. LEFT JOIN dbo.CityMaster cim(NOLOCK) ON cim.cityName = cm.state2
  653. --WHERE customerId=@customerId
  654. RETURN
  655. END
  656. IF @flag = 'getUser' --customer due deligience(static data values)
  657. BEGIN
  658. -- OR cm.mobile=@userName USE IN FUTURE
  659. IF EXISTS (
  660. SELECT TOP 1 'x'
  661. FROM dbo.customerMaster(NOLOCK) cm
  662. WHERE cm.email = @userName
  663. )
  664. BEGIN
  665. --DECLARE @yearlyLimit VARCHAR(100)=''
  666. --DECLARE @YearStart DATE, @YearEnd DATETIME
  667. SELECT @YearStart = DATEADD(yy, DATEDIFF(yy, 0, GETDATE()), 0)
  668. ,@YearEnd = DATEADD(yy, DATEDIFF(yy, 0, GETDATE()) + 1, - 1) + ' 23:59:59'
  669. --deCLARE @CUSTID BIGINT
  670. SELECT @customerId = customerId
  671. FROM dbo.customerMaster(NOLOCK) cm
  672. WHERE cm.email = @userName
  673. --OR cm.mobile=@userName USE IN FUTURE
  674. SELECT @totalSend = SUM(ROUND(R.tAmt / (R.sCurrCostRate + R.sCurrHoMargin), 2, 0))
  675. FROM REMITTRAN R(NOLOCK)
  676. INNER JOIN TRANSENDERS T(NOLOCK) ON T.TRANID = R.ID
  677. AND T.CUSTOMERID = @customerId
  678. AND R.TRANSTATUS <> 'Cancel'
  679. AND R.approvedDate BETWEEN @YearStart
  680. AND @YearEnd
  681. SELECT @yearlyLimit = amount
  682. FROM dbo.csDetail CD(NOLOCK)
  683. INNER JOIN csMaster CM(NOLOCK) ON CM.csMasterId = CD.csMasterId
  684. AND CD.period = 365
  685. AND CD.condition = 4600
  686. AND ISNULL(CD.isActive, 'Y') = 'Y'
  687. AND ISNULL(CD.isDeleted, 'N') = 'N'
  688. AND ISNULL(CD.isEnable, 'Y') = 'Y'
  689. AND ISNULL(CM.isActive, 'Y') = 'Y'
  690. AND ISNULL(CM.isDeleted, 'N') = 'N'
  691. SET @yearlyLimit = (@yearlyLimit - ISNULL(@totalSend, 0))
  692. SELECT @customerId = cm.customerId
  693. FROM dbo.customerMaster(NOLOCK) cm
  694. WHERE cm.email = @userName
  695. --OR cm.mobile=@userName ## not applicable
  696. SELECT errorCode = '0'
  697. ,userId = @userName
  698. ,firstName = ISNULL(cm.firstName, '')
  699. ,middleName = ISNULL(cm.middleName, '')
  700. ,lastName = ISNULL(cm.lastName1, '')
  701. ,nickName = ''
  702. ,email = ISNULL(cm.email, '')
  703. ,mobileNumber = ISNULL(cm.mobile, '')
  704. ,verificationCode = ISNULL(ur.OTP, '')
  705. ,VerificationCodeExpiryDate = ''
  706. ,createdDate = CONVERT(VARCHAR(10), ur.createdDate, 120)
  707. ,userRoles = ''
  708. ,rewardPoint = CAST(ISNULL(cm.bonusPoint, 0) AS DECIMAL)
  709. ,isActive = CASE
  710. WHEN ISNULL(cm.isActive, 'Y') = 'Y'
  711. THEN 1
  712. ELSE 0
  713. END
  714. ,hasKYC = CASE
  715. WHEN ISNULL(cm.createdDate, '') <> ''
  716. THEN 1
  717. ELSE 0
  718. END
  719. ,isVerified = CASE
  720. WHEN cm.approvedDate IS NOT NULL
  721. THEN 1
  722. ELSE 0
  723. END
  724. ,forgetCode = ISNULL(ur.passRecoveryCode, '')
  725. ,ForgetCodeExpiryDate = ''
  726. ,primaryBankName = 'Fast Remit Bank' --CASE WHEN cm.customerType='11048' THEN N'WSB (050)' ELSE 'Kwangju Bank (034)' END
  727. ,walletNumber = ISNULL(cm.walletAccountNo, '')
  728. ,availableBalance = @yearlyLimit -- CAST([dbo].FNAGetCustomerACBal(@userName) AS DECIMAL) --change this with yearly limit after fix in mobile
  729. ,dpUrl = ''
  730. ,ISNULL(ur.cmRegistrationId, '') cmRegistrationId
  731. ,yearlyLimit = FORMAT(@yearlyLimit, '0,00') --@yearlyLimit
  732. FROM (
  733. SELECT TOP 1 *
  734. FROM dbo.customerMaster cm WITH (NOLOCK)
  735. WHERE customerId = @customerId
  736. ) cm
  737. LEFT JOIN dbo.mobile_userRegistration(NOLOCK) ur ON ur.customerId = cm.customerId
  738. LEFT JOIN dbo.vwBankLists bl WITH (NOLOCK) ON bl.bankCode = cm.bankName
  739. --WHERE cm.customerId=@customerId
  740. RETURN
  741. END
  742. ELSE
  743. BEGIN
  744. SELECT @errorMsg = 'Customer with userId ' + @userName + ' does not exists.'
  745. EXEC proc_errorHandler 1
  746. ,@errorMsg
  747. ,@userName
  748. RETURN
  749. END
  750. END
  751. IF @flag = 'refresh-customer-info'
  752. BEGIN
  753. DECLARE @isExistingCustomer BIT
  754. ,@hasUpdatedDefaultCredentials INT
  755. ,@createdFrom CHAR(1)
  756. ,@isForcedPwdChange INT
  757. ,@isForcePassChangeMob INT
  758. ,@isForcePinChangeMob INT
  759. ,@registrationType VARCHAR(100)
  760. DECLARE @notificationCount INT = 0
  761. ,@showInviteCode VARCHAR(1) = 'Y'
  762. --SELECT @yearlyLimit = amount
  763. --FROM dbo.csDetail CD(NOLOCK)
  764. --INNER JOIN csMaster CM(NOLOCK) ON CM.csMasterId = CD.csMasterId
  765. -- AND CD.period = 365
  766. -- AND CD.condition = 4600
  767. -- AND ISNULL(CD.isActive, 'Y') = 'Y'
  768. -- AND ISNULL(CD.isDeleted, 'N') = 'N'
  769. -- AND ISNULL(CD.isEnable, 'Y') = 'Y'
  770. -- AND ISNULL(CM.isActive, 'Y') = 'Y'
  771. -- AND ISNULL(CM.isDeleted, 'N') = 'N'
  772. IF EXISTS (
  773. SELECT TOP 1 'A'
  774. FROM CustomerMasterTemp(NOLOCK)
  775. WHERE username = @userName
  776. AND isActive = 'Y'
  777. )
  778. BEGIN
  779. SET @isExistingCustomer = 1
  780. IF EXISTS (
  781. SELECT *
  782. FROM CustomerMasterTemp CT(NOLOCK)
  783. WHERE username = @userName
  784. AND OldCustomerId IS NULL
  785. )
  786. BEGIN
  787. SET @isExistingCustomer = 0
  788. END
  789. UPDATE mobile_userRegistration
  790. SET appVersion = @appVersion
  791. ,phoneBrand = @phoneBrand
  792. ,phoneOS = @phoneOS
  793. ,deviceId = ISNULL(@fcmId, deviceId)
  794. ,osVersion = @osVersion
  795. WHERE customerId = (
  796. SELECT TOP 1 customerId
  797. FROM CustomerMasterTemp(NOLOCK)
  798. WHERE username = @userName
  799. AND isActive = 'Y'
  800. )
  801. SELECT '0' ErrorCode
  802. ,@userName userId
  803. ,cust.customerId SenderId
  804. ,@userName firstName
  805. ,ISNULL(cust.email, '') email
  806. ,ISNULL(cust.customerEmail, '') AS customerEmail
  807. ,ISNULL(cust.mobile, '') phone
  808. ,CONVERT(VARCHAR(10), cust.dob, 120) dob
  809. --,cust.idType AS idType
  810. --,cust.idNumber AS idNumber
  811. ,'' AS countryCode
  812. ,CAST(ISNULL(cust.bonusPoint, 0) AS DECIMAL) rewardPoint
  813. ,CASE
  814. WHEN ISNULL(cust.isActive, 'N') = 'Y'
  815. THEN 1
  816. ELSE 0
  817. END active
  818. ,KYC=0
  819. ,verified=0
  820. ,'' walletNumber
  821. ,0 availableBalance
  822. ,'Fast Remit Bank' primaryBankName
  823. ,ISNULL(dpUrl, '') dpUrl
  824. ,ISNULL(ur.cmRegistrationId, '') cmRegistrationId
  825. ,ISNULL(co.countryName, '') country
  826. ,'' city
  827. ,'' [address]
  828. ,'' [province]
  829. ,'' [provinceId]
  830. ,CASE
  831. WHEN cust.referelCode IS NOT NULL
  832. THEN 1
  833. ELSE 0
  834. END isReferred
  835. ,'' sourceId
  836. ,yearlyLimit = FORMAT(@yearlyLimit, '0,00')
  837. ,PennyTestStatus = '2'
  838. ,'' accessTokenRegTime
  839. ,'' accessTokenExpTime
  840. ,redirectTo = ISNULL(cust.registrationType,'EKYC')
  841. ,cust.membershipId AS referelCode
  842. , 'true' agreeYn
  843. ,isExistingCustomer = @isExistingCustomer
  844. ,hasUpdatedDefaultCredentials = '2'
  845. ,hasVerifiedOTP = CASE
  846. WHEN ISNULL(isEmailVerified, 0) = 0
  847. THEN 'False'
  848. ELSE 'True'
  849. END
  850. ,IsBiometricLogin = 0
  851. ,BiometricLoginType = ''
  852. ,@notificationCount notificationCount
  853. ,CONVERT(VARCHAR(10), cust.idExpiryDate, 121) IDExpiryDate
  854. ,CASE
  855. WHEN GETDATE() > cust.idExpiryDate
  856. THEN 'Expired'
  857. ELSE 'Valid'
  858. END idStatus
  859. ,showInviteCode = ISNULL(@showInviteCode, 'N')
  860. ,RewardPoints = 0
  861. ,ISNULL(ur.ResidenceType, 'FOREIGNER') ResidenceType
  862. ,ISNULL(ur.UseNFC, 'Y') UseNFC
  863. ,cust.SelfieDoc
  864. FROM (
  865. SELECT TOP 1 *
  866. FROM CustomerMasterTemp(NOLOCK) cust
  867. WHERE cust.username = @userName
  868. ) cust
  869. LEFT JOIN mobile_userRegistration(NOLOCK) ur ON cust.customerId = ur.customerId
  870. LEFT JOIN countryMaster co(NOLOCK) ON cust.country = co.countryId
  871. LEFT JOIN dbo.CityMaster cm(NOLOCK) ON cust.state2 = cm.cityName
  872. WHERE ur.username = @userName
  873. RETURN
  874. END
  875. DECLARE @customerStatus VARCHAR(5)
  876. ,@ekycPinUpdated BIT
  877. ,@deviceType VARCHAR(20)
  878. SELECT @customerId = cm.customerId
  879. ,@IsActive = isActive
  880. ,@createdFrom = ISNULL(createdFrom, 'O')
  881. ,@isForcedPwdChange = ISNULL(isForcedPwdChange, 2)
  882. ,@isExistingCustomer = ISNULL(isexistingcustomer, 0)
  883. ,@isForcePassChangeMob = ISNULL(ur.isForcePassChange, 0)
  884. ,@isForcePinChangeMob = ISNULL(ur.isForcePinChange, 0)
  885. ,@registrationType = ISNULL(cm.registrationType, '')
  886. ,@customerStatus = cm.customerStatus
  887. ,@ekycPinUpdated = ISNULL(ur.ekycPinUpdated, 0)
  888. ,@deviceType = ur.DeviceType
  889. FROM dbo.customerMaster(NOLOCK) cm
  890. INNER JOIN mobile_userRegistration(NOLOCK) ur ON cm.customerId = ur.customerId
  891. WHERE cm.username = @userName
  892. PRINT @customerId;
  893. --notification count
  894. SELECT @notificationCount = count(*)
  895. FROM pushNotificationHistroy
  896. WHERE isRead = 0
  897. AND type = 0
  898. AND customerId = @customerId
  899. DECLARE @rewardPoints INT = 0;
  900. SET @rewardPoints = CAST(DBO.FNAGetRewardPoints(@customerId) AS INT);
  901. -- IF EXISTS (
  902. -- SELECT 'x'
  903. -- FROM IntroducerCommissionSetup
  904. -- WHERE IntroducerId = @customerId
  905. -- )
  906. -- BEGIN
  907. -- SET @showInviteCode = 'N'
  908. -- END
  909. --SELECT @customerStatus = customerstatus
  910. --FROM customerMaster
  911. --WHERE customerid = @customerId
  912. --IF @isForcedPwdChange <> 0
  913. --BEGIN
  914. -- IF @createdFrom = 'C'
  915. -- AND @customerStatus = 'OTC'
  916. -- SET @hasUpdatedDefaultCredentials = 2
  917. -- IF @createdFrom = 'C'
  918. -- AND @customerStatus IS NULL
  919. -- SET @hasUpdatedDefaultCredentials = 0
  920. -- IF @createdFrom = 'M'
  921. -- AND @isExistingCustomer = 1
  922. -- SET @hasUpdatedDefaultCredentials = 0
  923. -- IF @createdFrom = 'M'
  924. -- AND @isExistingCustomer = 0
  925. -- SET @hasUpdatedDefaultCredentials = 1 --change Pin
  926. -- IF @createdFrom = 'A'
  927. -- SET @hasUpdatedDefaultCredentials = 2 --change pin & password
  928. -- IF @createdFrom = 'O'
  929. -- SET @hasUpdatedDefaultCredentials = 0
  930. --END
  931. --ELSE
  932. -- SET @hasUpdatedDefaultCredentials = 0
  933. --IF (
  934. -- @hasUpdatedDefaultCredentials = 0
  935. -- AND @isForcePassChangeMob = 1
  936. -- )
  937. --BEGIN
  938. -- SET @hasUpdatedDefaultCredentials = 3 -- change password only
  939. --END
  940. --ELSE IF (
  941. -- @hasUpdatedDefaultCredentials = 0
  942. -- AND @isForcePinChangeMob = 1
  943. -- )
  944. --BEGIN
  945. -- SET @hasUpdatedDefaultCredentials = 4 -- change pin only
  946. --END
  947. --ELSE
  948. --BEGIN
  949. -- IF @createdFrom = 'M'
  950. -- AND @isExistingCustomer = 0
  951. -- AND ISNULL(@registrationType, '') = 'EKYC'
  952. -- AND @ekycPinUpdated = 0 --AND ISNULL(@deviceType,'IOS')<>'Android'
  953. -- SET @hasUpdatedDefaultCredentials = 5 --change Pin
  954. --END
  955. --OR cm.mobile=@userName future use
  956. DECLARE @hasPennyTestDone VARCHAR(1) = '0'
  957. SELECT @hasPennyTestDone = '1'
  958. IF @customerId IS NULL
  959. BEGIN
  960. EXEC proc_errorHandler 1
  961. ,'Unauthorized access found, Please contact JME support'
  962. ,@userName
  963. RETURN
  964. END
  965. --IF EXISTS (
  966. -- SELECT TOP 1 'x'
  967. -- FROM dbo.customerMaster(NOLOCK)
  968. -- WHERE approvedDate < '2018-12-19'
  969. -- AND customerId = @customerId
  970. -- )
  971. --BEGIN
  972. -- SET @hasPennyTestDone = '2'
  973. --END
  974. SET @hasPennyTestDone = '2'
  975. IF ISNULL(@IsActive, 'N') <> 'Y'
  976. BEGIN
  977. EXEC proc_errorHandler 1
  978. ,'Your account has blocked, Please contact JME support'
  979. ,@userName
  980. RETURN
  981. END
  982. SELECT @YearStart = DATEADD(yy, DATEDIFF(yy, 0, GETDATE()), 0)
  983. ,@YearEnd = DATEADD(yy, DATEDIFF(yy, 0, GETDATE()) + 1, - 1) + ' 23:59:59'
  984. --SELECT @totalSend = SUM(R.tAmt) --SUM(ROUND(R.tAmt/(R.sCurrCostRate+R.sCurrHoMargin), 2, 0))
  985. --FROM REMITTRAN R(NOLOCK)
  986. --INNER JOIN TRANSENDERS T(NOLOCK) ON T.TRANID = R.ID
  987. -- AND T.CUSTOMERID = @customerId
  988. -- AND R.TRANSTATUS <> 'Cancel'
  989. -- AND R.approvedDate BETWEEN @YearStart
  990. -- AND @YearEnd
  991. SET @yearlyLimit = (@yearlyLimit - ISNULL(@totalSend, 0))
  992. UPDATE mobile_userRegistration
  993. SET appVersion = @appVersion
  994. ,phoneBrand = @phoneBrand
  995. ,phoneOS = @phoneOS
  996. ,deviceId = ISNULL(@fcmId, deviceId)
  997. ,osVersion = @osVersion
  998. WHERE customerId = @customerId
  999. SELECT '0' ErrorCode
  1000. ,@userName userId
  1001. ,cust.customerId SenderId
  1002. ,ISNULL(cust.fullName, '') firstName
  1003. ,ISNULL(cust.email, '') email
  1004. ,ISNULL(cust.customerEmail, '') AS customerEmail
  1005. ,ISNULL(cust.mobile, '') phone
  1006. ,CONVERT(VARCHAR(10), cust.dob, 120) dob
  1007. --,cust.idType AS idType
  1008. --,cust.idNumber AS idNumber
  1009. ,cm1.countryCode AS countryCode
  1010. ,CAST(ISNULL(@rewardPoints, 0) AS DECIMAL) rewardPoint
  1011. ,CASE
  1012. WHEN ISNULL(cust.isActive, 'N') = 'Y'
  1013. THEN 1
  1014. ELSE 0
  1015. END active
  1016. ,CASE lawsoncardno WHEN 'KYC_LATER' THEN 1 ELSE ISNULL(HasDeclare, 0) END kyc
  1017. ,CASE
  1018. WHEN ISNULL(mobileApprovedDate, mobileVerifiedDate) IS NOT NULL
  1019. THEN 1
  1020. ELSE 0
  1021. END verified
  1022. ,walletAccountNo walletNumber
  1023. ,FORMAT([dbo].FNAGetCustomerACBal(cust.username), '0,00') availableBalance
  1024. --,ISNULL(bl.BankName,'') primaryBankName
  1025. ,cust.username
  1026. ,primaryBankName = 'Fast Remit Bank' --CASE WHEN cust.customerType='11048' THEN N'ȕ�@lj� (050)' ELSE 'Kwangju Bank (034)' END
  1027. ,'' dpUrl
  1028. ,ISNULL(ur.cmRegistrationId, '') cmRegistrationId
  1029. ,ISNULL(co.countryName, '') country
  1030. ,ISNULL(cust.city, '') city
  1031. ,ISNULL(cust.[address], '') [address]
  1032. ,ISNULL(cust.state2, '') [province]
  1033. ,ISNULL(cm.cityId, '') [provinceId]
  1034. ,CASE
  1035. WHEN cust.referelCode IS NOT NULL
  1036. THEN 1
  1037. ELSE 0
  1038. END isReferred
  1039. ,ISNULL(sdv.valueId, '') sourceId
  1040. ,yearlyLimit = FORMAT(@yearlyLimit, '0,00')
  1041. ,PennyTestStatus = @hasPennyTestDone -----0 not started, 1 requested , 2 completed
  1042. ,kcm.accessTokenRegTime
  1043. ,kcm.accessTokenExpTime
  1044. ,redirectTo = ISNULL(cust.RegistrationType, 'EKYC') --@redirectTo
  1045. ,cust.membershipId AS referelCode
  1046. ,agreeYn = CASE lawsoncardno WHEN 'KYC_LATER' THEN 'true' ELSE ISNULL(cust.agreeYn, 'false') END
  1047. ,isExistingCustomer = ISNULL(isExistingCustomer, 1)
  1048. ,hasUpdatedDefaultCredentials = ISNULL(@hasUpdatedDefaultCredentials, 0)
  1049. ,hasVerifiedOTP = ISNULL(isEmailVerified, 0)
  1050. ,IsBiometricLogin = ISNULL(IsBiometricLogin, 0)
  1051. ,BiometricLoginType = ISNULL(BiometricLoginType, '')
  1052. --,CASE ur.isForcePassChange WHEN '1' THEN 'Y' ELSE 'N' END IsForcedPwdChange
  1053. ,@notificationCount notificationCount
  1054. ,CONVERT(VARCHAR(10), cust.idExpiryDate, 121) IDExpiryDate
  1055. ,CASE
  1056. WHEN GETDATE() > cust.idExpiryDate
  1057. THEN 'Expired'
  1058. ELSE 'Valid'
  1059. END idStatus
  1060. ,showInviteCode = ISNULL(@showInviteCode, 'N')
  1061. ,RewardPoints = ISNULL(@rewardPoints, 0)
  1062. ,ISNULL(ur.ResidenceType, 'FOREIGNER') ResidenceType
  1063. ,ISNULL(ur.UseNFC, 'Y') UseNFC
  1064. ,REPLACE(cust.SelfieDoc, '\\', '/') SelfieDoc
  1065. FROM (
  1066. SELECT TOP 1 *
  1067. FROM customerMaster(NOLOCK) cust
  1068. WHERE cust.customerId = @customerId
  1069. ) cust
  1070. LEFT JOIN dbo.countryMaster AS CM1 ON cm1.countryId = cust.nativeCountry
  1071. LEFT JOIN mobile_userRegistration(NOLOCK) ur ON cust.customerId = ur.customerId
  1072. LEFT JOIN dbo.vwBankLists(NOLOCK) bl ON cust.bankName = bl.rowId
  1073. LEFT JOIN countryMaster co(NOLOCK) ON cust.country = co.countryId
  1074. LEFT JOIN staticDatavalue sdv(NOLOCK) ON cust.sourceOfFund = sdv.detailTitle
  1075. AND sdv.typeID = '3900'
  1076. AND ISNULL(sdv.IS_DELETE, 'N') = 'N'
  1077. LEFT JOIN dbo.CityMaster cm(NOLOCK) ON cust.state2 = cm.cityName
  1078. LEFT JOIN dbo.KFTC_CUSTOMER_MASTER(NOLOCK) kcm ON cust.customerId = kcm.customerId
  1079. WHERE cust.customerId = @customerId AND ISNULL(sdv.IS_DELETE,'N')='N'
  1080. RETURN
  1081. END
  1082. IF @flag = 'get-invite-details'
  1083. BEGIN
  1084. -- PRINT @sourceCustomerId;
  1085. DECLARE @totalCustomerCount INT
  1086. ,@registrationMoney MONEY
  1087. ,@transactionMoney MONEY
  1088. IF EXISTS (
  1089. SELECT 'X'
  1090. FROM CustomerMaster(NOLOCK)
  1091. WHERE CUSTOMERID = @sourceCustomerId
  1092. )
  1093. BEGIN
  1094. SELECT @totalCustomerCount = COUNT(destinationCustomerId)
  1095. FROM Customer_Promotion CP(NOLOCK)
  1096. WHERE 1 = 1
  1097. AND sourceCustomerId = @sourceCustomerId
  1098. AND codeType = 'REGISTRATION'
  1099. AND [status] = '1'
  1100. --SELECT @registrationMoney = ISNULL(SUM(amount), 0)
  1101. --FROM Customer_Promotion CP(NOLOCK)
  1102. --WHERE 1 = 1
  1103. -- AND sourceCustomerId = @sourceCustomerId
  1104. -- AND rewardType = 'REGISTRATION'
  1105. -- AND [status] = '1'
  1106. -- AND tranType = 'CR'
  1107. --SELECT @transactionMoney = ISNULL(SUM(amount), 0)
  1108. --FROM Customer_Promotion CP(NOLOCK)
  1109. --WHERE 1 = 1
  1110. -- AND sourceCustomerId = @sourceCustomerId
  1111. -- AND rewardType = 'TRANSACTION'
  1112. -- -- AND [status] = '1' Total
  1113. -- AND tranType = 'CR'
  1114. -- select * from customer_promotion
  1115. SELECT DISTINCT @totalCustomerCount AS [totalReferral]
  1116. ,CAST(dbo.[FNAGetRewardPoints](@sourceCustomerId) AS INT) AS [rewardMoney]
  1117. --,(isnull(@registrationMoney, 0) + isnull(@transactionMoney, 0)) AS [rewardMoney]
  1118. ,cm.membershipId AS [inviteCode]
  1119. --,'Earned ' + CAST(@registrationMoney AS VARCHAR) + ' JPY for Regisration. ' + CAST(@transactionMoney AS VARCHAR) + ' for first Txn' AS [inviteMessage]
  1120. ,customerId AS sourceCustomerId
  1121. FROM CUSTOMERMASTER CM(NOLOCK)
  1122. LEFT JOIN Customer_Promotion CP(NOLOCK) ON CM.customerId = CP.sourceCustomerId
  1123. WHERE 1 = 1
  1124. AND CM.customerId = @sourceCustomerId
  1125. IF OBJECT_ID('tempdb..#Reward') IS NOT NULL
  1126. DROP TABLE #Reward
  1127. CREATE TABLE #Reward (
  1128. DESTINATION_CUSTOMERID INT
  1129. ,REWARD_TYPE VARCHAR(50)
  1130. ,REWARD_AMOUNT INT
  1131. ,CUSTOMER_NAME VARCHAR(200)
  1132. ,CREATED_DATE VARCHAR(10)
  1133. )
  1134. INSERT INTO #Reward (
  1135. DESTINATION_CUSTOMERID
  1136. ,REWARD_TYPE
  1137. ,REWARD_AMOUNT
  1138. ,CREATED_DATE
  1139. )
  1140. SELECT destinationCustomerId
  1141. ,CASE
  1142. WHEN codeType = 'REGISTRATION'
  1143. THEN 'Successful Registration'
  1144. WHEN codeType = 'TRANSACTION'
  1145. THEN 'First Transaction Done'
  1146. WHEN codeType = 'REDEEM'
  1147. THEN 'Points Used'
  1148. WHEN codeType = 'MULTI_TXN'
  1149. THEN 'JME Reward - Multi Transaction'
  1150. END
  1151. ,CASE
  1152. WHEN trantype = 'DR'
  1153. THEN - CAST(ISNULL(AMOUNT, 0) AS INT)
  1154. ELSE CAST(ISNULL(AMOUNT, 0) AS INT)
  1155. END
  1156. ,CONVERT(VARCHAR(10), cp.createdDate, 121)
  1157. FROM Customer_Promotion CP(NOLOCK)
  1158. WHERE sourceCustomerId = @sourceCustomerId
  1159. AND [STATUS] = 1
  1160. UPDATE R
  1161. SET CUSTOMER_NAME = ISNULL(fullName, '')
  1162. FROM #Reward R
  1163. INNER JOIN customerMaster CM(NOLOCK) ON R.DESTINATION_CUSTOMERID = customerId
  1164. SELECT *
  1165. FROM #Reward
  1166. END
  1167. ELSE
  1168. BEGIN
  1169. SELECT @errorMsg = 'Customer does not exists.'
  1170. EXEC proc_errorHandler 1
  1171. ,@errorMsg
  1172. ,@sourceCustomerId
  1173. RETURN
  1174. END
  1175. END
  1176. IF @flag = 'get-reward-fee'
  1177. BEGIN
  1178. DECLARE @showRewardPoints CHAR(1) = 'N'
  1179. IF EXISTS (
  1180. SELECT 'x'
  1181. FROM Customer_Promotion(NOLOCK)
  1182. WHERE sourceCustomerId = @sourceCustomerId
  1183. )
  1184. BEGIN
  1185. SET @showRewardPoints = 'Y'
  1186. END
  1187. SELECT CAST(DBO.FNAGetRewardPoints(@sourceCustomerId) AS INT) AS [point]
  1188. ,showRewardPoint = ISNULL(@showRewardPoints, 'N')
  1189. END
  1190. IF @flag = 'get-loyalty-points'
  1191. BEGIN
  1192. DECLARE @tranCount INT = 0;
  1193. DECLARE @enable CHAR(1) = 'Y';
  1194. DECLARE @totalCount INT
  1195. ,@isFreeSc CHAR(1) = 'N'
  1196. EXEC PROC_Customer_Loyalty @flag = 'get-tranCount'
  1197. ,@customerId = @sourceCustomerId
  1198. ,@tranCount = @tranCount OUT
  1199. SELECT @totalCount = (
  1200. SELECT TOP 1 txnCount
  1201. FROM schemeSetup(NOLOCK)
  1202. WHERE isActive = 'Y'
  1203. ORDER BY createdDate DESC
  1204. )
  1205. IF @tranCount >= @totalCount
  1206. BEGIN
  1207. SET @isFreeSc = 'Y'
  1208. END
  1209. IF @totalCount IS NULL
  1210. BEGIN
  1211. SET @totalCount = 5
  1212. SET @enable = 'N';
  1213. END
  1214. SELECT ISNULL(@tranCount, 0) AS tranCount
  1215. ,ISNULL(@totalCount, 0) AS totalCount
  1216. ,@isFreeSc AS isFreeSc
  1217. ,requiredCount = CASE
  1218. WHEN (ISNULL(@totalCount, 0) - ISNULL(@tranCount, 0)) > 0
  1219. THEN (ISNULL(@totalCount, 0) - ISNULL(@tranCount, 0))
  1220. ELSE 0
  1221. END
  1222. ,@enable IsActive
  1223. END
  1224. IF @flag = 'save-profile'
  1225. BEGIN
  1226. DECLARE @fileDescription VARCHAR(10) = NULL
  1227. SET @fileDescription = 'Selfie'
  1228. SELECT @customerId = customerId FROM customerMaster (NOLOCK) WHERE username = @userName
  1229. IF EXISTS (SELECT TOP 1 1 FROM customerDocument (NOLOCK) WHERE customerId = @customerId AND fileDescription = @fileDescription)
  1230. BEGIN
  1231. UPDATE customerDocument SET fileName = @fileName , fileType = @filetype , modifiedBy = @userName , modifiedDate = GETDATE()
  1232. WHERE customerId = @customerId and fileDescription = @fileDescription
  1233. END
  1234. ELSE
  1235. BEGIN
  1236. INSERT INTO customerDocument (
  1237. customerId
  1238. ,[fileName]
  1239. ,fileDescription
  1240. ,fileType
  1241. ,createdBy
  1242. ,createdDate
  1243. ,approvedBy
  1244. ,approvedDate
  1245. ,isProfilePic
  1246. ,documentType
  1247. )
  1248. SELECT
  1249. @customerId
  1250. ,@fileName
  1251. ,@fileDescription
  1252. ,@fileType
  1253. ,@userName
  1254. ,GETDATE()
  1255. ,@userName
  1256. ,GETDATE()
  1257. ,'1'
  1258. ,'11440' -- Customer Selfie
  1259. END
  1260. IF EXISTS (
  1261. SELECT TOP 1 1
  1262. FROM customerMaster(NOLOCK)
  1263. WHERE username = @username
  1264. )
  1265. BEGIN
  1266. UPDATE customerMaster
  1267. SET SelfieDoc = @url
  1268. WHERE username = @username
  1269. SELECT '0' ErrorCode
  1270. ,'Customer profile updated successfully' Msg
  1271. ,@username Id
  1272. END
  1273. ELSE
  1274. BEGIN
  1275. SELECT '1' ErrorCode
  1276. ,'Username not found.' Msg
  1277. ,@username Id
  1278. RETURN
  1279. END
  1280. END
  1281. IF @flag = 'get-membershipId'
  1282. BEGIN
  1283. --IF EXISTS (
  1284. -- SELECT TOP 1 1
  1285. -- FROM customerMaster(NOLOCK)
  1286. -- WHERE customerid = @customerId
  1287. -- )
  1288. --BEGIN
  1289. SELECT membershipId,CONVERT(VARCHAR(10), createdDate,121) createdDate
  1290. FROM customerMaster
  1291. WHERE customerId = @userId
  1292. -- RETURN ;
  1293. --END
  1294. --SELECT NULL membershipId
  1295. END
  1296. IF @flag = 'get-ResidenceType'
  1297. BEGIN
  1298. select CASE WHEN ResidenceType='RESIDENCE' THEN 'RESIDENT' WHEN ( (ResidenceType ='0' OR ResidenceType IS NULL) AND idType='11168' ) THEN 'FOREIGNER'
  1299. WHEN ( (ResidenceType ='0' OR ResidenceType IS NULL) AND idType='11079' ) THEN 'RESIDENT'
  1300. ELSE ISNULL(ResidenceType,'') END ResidenceType , idType FROM mobile_userRegistration mu inner join
  1301. customerMaster cm on mu.customerId= cm.customerId
  1302. WHERE cm.username = @userName
  1303. UNION ALL
  1304. select CASE WHEN ResidenceType='RESIDENCE' THEN 'RESIDENT' WHEN ( (ResidenceType ='0' OR ResidenceType IS NULL) AND idType='11168' ) THEN 'FOREIGNER'
  1305. WHEN ( (ResidenceType ='0' OR ResidenceType IS NULL) AND idType='11079' ) THEN 'RESIDENT'
  1306. ELSE ISNULL(ResidenceType,'') END ResidenceType , idType FROM mobile_userRegistration mu inner join
  1307. CustomerMasterTemp cm on mu.customerId= cm.customerId
  1308. WHERE cm.username = @userName
  1309. -- RETURN ;
  1310. --END
  1311. --SELECT NULL membershipId
  1312. END
  1313. IF @flag = 'get-payment-method'
  1314. BEGIN
  1315. SELECT detailDesc, detailTitle FROM staticDataValue WHERE typeId = '8109'
  1316. RETURN
  1317. END
  1318. END TRY
  1319. BEGIN CATCH
  1320. IF @@TRANCOUNT > 0
  1321. ROLLBACK TRANSACTION
  1322. DECLARE @errorMessage VARCHAR(MAX)
  1323. SET @errorMessage = ERROR_MESSAGE()
  1324. SELECT '1' ErrorCode
  1325. ,@errorMessage Msg
  1326. ,NULL ID
  1327. END CATCH