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.

1027 lines
61 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_kyc] Script Date: 9/27/2019 1:30:14 PM ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER OFF
  7. GO
  8. CREATE proc [dbo].[proc_kyc]
  9. @flag VARCHAR(50)
  10. ,@user VARCHAR(30)
  11. ,@rowId BIGINT = NULL
  12. ,@kycId BIGINT = NULL
  13. ,@remitCardNo VARCHAR(20) = NULL
  14. ,@branch VARCHAR(100) = NULL
  15. ,@clientCode VARCHAR(100) = NULL
  16. ,@accountNo VARCHAR(100) = NULL
  17. ,@amlRefNo VARCHAR(100) = NULL
  18. ,@currOfAccount VARCHAR(5) = NULL
  19. ,@typeOfAccount VARCHAR(10) = NULL
  20. ,@accountTypeOther VARCHAR(100) = NULL
  21. ,@salutation VARCHAR(50) = NULL
  22. ,@firstName VARCHAR(150) = NULL
  23. ,@middleName VARCHAR(150) = NULL
  24. ,@lastName VARCHAR(150) = NULL
  25. ,@pAddress VARCHAR(150) = NULL
  26. ,@tAddress VARCHAR(150) = NULL
  27. ,@hNoP VARCHAR(15) = NULL
  28. ,@hNoT VARCHAR(15) = NULL
  29. ,@wardNoP VARCHAR(2) = NULL
  30. ,@wardNoT VARCHAR(2) = NULL
  31. ,@streetP VARCHAR(100) = NULL
  32. ,@streetT VARCHAR(100) = NULL
  33. ,@vdcMP VARCHAR(100) = NULL
  34. ,@vdcMT VARCHAR(100) = NULL
  35. ,@districtP VARCHAR(100) = NULL
  36. ,@districtT VARCHAR(100) = NULL
  37. ,@zoneP VARCHAR(100) = NULL
  38. ,@zoneT VARCHAR(100) = NULL
  39. ,@countryP VARCHAR(50) = NULL
  40. ,@countryT VARCHAR(50) = NULL
  41. ,@phoneNoP VARCHAR(20) = NULL
  42. ,@phoneNoT VARCHAR(20) = NULL
  43. ,@mobileP VARCHAR(20) = NULL
  44. ,@mobileT VARCHAR(20) = NULL
  45. ,@emailP VARCHAR(150) = NULL
  46. ,@emailT VARCHAR(150) = NULL
  47. ,@maritalStatus VARCHAR(50) = NULL
  48. ,@maritalStatusOther VARCHAR(50) = NULL
  49. ,@nationality VARCHAR(100) = NULL
  50. ,@dobAd DATETIME = NULL
  51. ,@dboBs VARCHAR(10) = NULL
  52. ,@citizenshipNo VARCHAR(50) = NULL
  53. ,@placeOfIssue VARCHAR(100) = NULL
  54. ,@dateOfIssue VARCHAR(10) = NULL
  55. ,@passportNo VARCHAR(50) = NULL
  56. ,@pasportIssuePlace VARCHAR(100) = NULL
  57. ,@pasportIssueDate DATETIME = NULL
  58. ,@visaIssueDate DATETIME = NULL
  59. ,@visValidity DATETIME = NULL
  60. ,@idCardType VARCHAR(50) = NULL
  61. ,@idCardNo VARCHAR(50) = NULL
  62. ,@issuanceOffice VARCHAR(150) = NULL
  63. ,@idCarcharIssueDate DATETIME = NULL
  64. ,@mDateOfBirth DATETIME = NULL
  65. ,@attMojorityDate DATETIME = NULL
  66. ,@nameOfGrudian VARCHAR(150) = NULL
  67. ,@relWithMinor VARCHAR(150) = NULL
  68. ,@occupation VARCHAR(100) = NULL
  69. ,@oocupationOther VARCHAR(100) = NULL
  70. ,@natureOfBusiness VARCHAR(100) = NULL
  71. ,@natureOfBusinessOther VARCHAR(100) = NULL
  72. ,@isTaxassessed CHAR(1) = NULL
  73. ,@panVatNo VARCHAR(50) = NULL
  74. ,@purposeOfAccount VARCHAR(100) = NULL
  75. ,@purposeAcOther VARCHAR(100) = NULL
  76. ,@sourceOfFunds VARCHAR(100) = NULL
  77. ,@sourceOther VARCHAR(100) = NULL
  78. ,@spousesName VARCHAR(150) = NULL
  79. ,@fathersName VARCHAR(150) = NULL
  80. ,@mothersName VARCHAR(150) = NULL
  81. ,@grandFathersName VARCHAR(150) = NULL
  82. ,@grandMothersName VARCHAR(150) = NULL
  83. ,@sonsName VARCHAR(300) = NULL
  84. ,@daughtersName VARCHAR(300) = NULL
  85. ,@daughterInLawsName VARCHAR(300) = NULL
  86. ,@fatherInLaw VARCHAR(150) = NULL
  87. ,@motherInLaw VARCHAR(150) = NULL
  88. ,@nomineesName VARCHAR(150) = NULL
  89. ,@nomineesRel VARCHAR(150) = NULL
  90. ,@nomineesAge INT = NULL
  91. ,@nomineesFMName VARCHAR(200) = NULL
  92. ,@nomineesFullAddress VARCHAR(200) = NULL
  93. ,@nomineesPhoneNo VARCHAR(20) = NULL
  94. ,@guardiansName VARCHAR(200) = NULL
  95. ,@relWithGuardian VARCHAR(150) = NULL
  96. ,@guardianAddress VARCHAR(150) = NULL
  97. ,@isPolitician CHAR(1) = NULL
  98. ,@beneficiaryOwner CHAR(1) = NULL
  99. ,@benificiaryDetail VARCHAR(150) = NULL
  100. ,@isNrn CHAR(1) = NULL
  101. ,@aapy VARCHAR(150) = NULL
  102. ,@anotpy VARCHAR(150) = NULL
  103. ,@isAssociatedWithUsa CHAR(1) = NULL
  104. ,@usAssociateType VARCHAR(150) = NULL
  105. ,@bankBranch VARCHAR(150) = NULL
  106. ,@accountType VARCHAR(50) = NULL
  107. ,@remarks VARCHAR(150) = NULL
  108. ,@institute VARCHAR(100) = NULL
  109. ,@address VARCHAR(150) = NULL
  110. ,@designation VARCHAR(50) = NULL
  111. ,@anualIncome MONEY = NULL
  112. ,@createdBy VARCHAR(30) = NULL
  113. ,@createdDate DATETIME = NULL
  114. ,@modifiedBy VARCHAR(30) = NULL
  115. ,@modifiedDate DATETIME = NULL
  116. ,@sessionId VARCHAR(60) = NULL
  117. ,@valueType CHAR(1) = NULL
  118. ,@sortBy VARCHAR(50) = NULL
  119. ,@sortOrder VARCHAR(5) = NULL
  120. ,@pageSize INT = NULL
  121. ,@pageNumber INT = NULL
  122. ,@fileType VARCHAR(20) = NULL
  123. ,@fileDescription VARCHAR(200) = NULL
  124. ,@agentId VARCHAR(50) = NULL
  125. ,@branchId VARCHAR(50) = NULL
  126. ,@hasChanged CHAR(1) = NULL
  127. ,@isActive CHAR(1) = NULL
  128. ,@isApprove CHAR(1) = NULL
  129. ,@fullName VARCHAR(200) = NULL
  130. ,@fromDate VARCHAR(20) = NULL
  131. ,@toDate VARCHAR(20) = NULL
  132. ,@status VARCHAR(50) = NULL
  133. AS
  134. SET NOCOUNT ON
  135. SET XACT_ABORT ON
  136. BEGIN TRY
  137. DECLARE
  138. @sql VARCHAR(MAX)
  139. ,@oldValue VARCHAR(MAX)
  140. ,@newValue VARCHAR(MAX)
  141. ,@module VARCHAR(10)
  142. ,@tableAlias VARCHAR(100)
  143. ,@logIdentifier VARCHAR(50)
  144. ,@logParamMod VARCHAR(100)
  145. ,@logParamMain VARCHAR(100)
  146. ,@table VARCHAR(MAX)
  147. ,@select_field_list VARCHAR(MAX)
  148. ,@extra_field_list VARCHAR(MAX)
  149. ,@sql_filter VARCHAR(MAX)
  150. ,@modType VARCHAR(6)
  151. ,@errorMsg VARCHAR(MAX)
  152. ,@doiCitizen DATETIME
  153. BEGIN
  154. DECLARE @tempTbl TABLE(doi DATETIME)
  155. IF @flag = 'i'
  156. BEGIN
  157. IF @user IS NULL
  158. BEGIN
  159. EXEC proc_errorHandler 1, 'Your session has expired. Cannot register the customer.', NULL
  160. RETURN
  161. END
  162. IF @branch IS NULL
  163. SELECT @branch = agentId FROM dbo.applicationUsers WITH(NOLOCK) WHERE userName = @user
  164. SET @remitCardNo = REPLACE(@remitCardNo,'-','')
  165. IF LEN(@remitCardNo) <> '16'
  166. BEGIN
  167. EXEC proc_errorHandler 1, 'IME Remit Card Number should be 16 digits.', @remitCardNo
  168. RETURN;
  169. END
  170. IF NOT EXISTS(SELECT 'X' FROM imeRemitCardMaster WITH(NOLOCK)
  171. WHERE remitCardNo = @remitCardNo AND cardStatus ='Available')
  172. BEGIN
  173. EXEC proc_errorHandler 1, 'Remit Card Number does not exists.', @remitCardNo
  174. RETURN;
  175. END
  176. IF EXISTS(SELECT 'X' FROM kycMaster WITH(NOLOCK)
  177. WHERE remitCardNo = @remitCardNo AND ISNULL(isDeleted,'N') = 'N')
  178. BEGIN
  179. EXEC proc_errorHandler 1, 'Already Exists Customer With Same Remit Card Number.', @remitCardNo
  180. RETURN;
  181. END
  182. IF (LEN(LTRIM(RTRIM(@mobileP))) <> '10')
  183. BEGIN
  184. EXEC proc_errorHandler 1, 'Mobile Number Should Be 10 Digits.', NULL
  185. RETURN
  186. END
  187. IF @dobAd > = GETDATE()
  188. BEGIN
  189. EXEC proc_errorHandler 1, 'Invalid Date Of Birth.', NULL
  190. RETURN
  191. END
  192. INSERT INTO @tempTbl
  193. EXEC proc_convertDate @flag='A',@nepDate = @dateOfIssue
  194. SELECT @doiCitizen = doi FROM @tempTbl
  195. IF @doiCitizen IS NOT NULL
  196. BEGIN
  197. IF @doiCitizen > = GETDATE()
  198. BEGIN
  199. EXEC proc_errorHandler 1, 'Invalid Date Of Issue - Citizenship.', NULL
  200. RETURN
  201. END
  202. IF @dobAd > = @doiCitizen
  203. BEGIN
  204. EXEC proc_errorHandler 1, 'Invalid Date Of Issue (Citizenship), Can not be greater than DOB.', NULL
  205. RETURN
  206. END
  207. END
  208. IF @pasportIssueDate IS NOT NULL
  209. BEGIN
  210. IF @pasportIssueDate > = GETDATE()
  211. BEGIN
  212. EXEC proc_errorHandler 1, 'Invalid Date Of Issue - Passport.', NULL
  213. RETURN
  214. END
  215. IF @dobAd > = @pasportIssueDate
  216. BEGIN
  217. EXEC proc_errorHandler 1, 'Invalid Date Of Issue (Passport), Can not be greater than DOB.', NULL
  218. RETURN
  219. END
  220. END
  221. INSERT INTO kycMaster(
  222. remitCardNo
  223. ,agentId
  224. ,salutation
  225. ,firstName
  226. ,middleName
  227. ,lastName
  228. ,hNoP
  229. ,hNoT
  230. ,wardNoP
  231. ,wardNoT
  232. ,streetP
  233. ,streetT
  234. ,vdcMP
  235. ,vdcMT
  236. ,districtP
  237. ,districtT
  238. ,zoneP
  239. ,zoneT
  240. ,countryP
  241. ,countryT
  242. ,phoneNoP
  243. ,phoneNoT
  244. ,mobileP
  245. ,mobileT
  246. ,emailP
  247. ,emailT
  248. ,maritalStatus
  249. ,maritalStatusOther
  250. ,nationality
  251. ,dobAd
  252. ,dboBs
  253. ,citizenshipNo
  254. ,placeOfIssue
  255. ,dateOfIssue
  256. ,passportNo
  257. ,pasportIssuePlace
  258. ,pasportIssueDate
  259. ,visaIssueDate
  260. ,visValidity
  261. ,idCardType
  262. ,idCardNo
  263. ,issuanceOffice
  264. ,idCarcharIssueDate
  265. ,mDateOfBirth
  266. ,attMojorityDate
  267. ,nameOfGrudian
  268. ,relWithMinor
  269. ,occupation
  270. ,oocupationOther
  271. ,natureOfBusiness
  272. ,natureOfBusinessOther
  273. ,isTaxassessed
  274. ,panVatNo
  275. ,purposeOfAccount
  276. ,purposeAcOther
  277. ,sourceOfFunds
  278. ,sourceOther
  279. ,spousesName
  280. ,fathersName
  281. ,mothersName
  282. ,grandFathersName
  283. ,grandMothersName
  284. ,sonsName
  285. ,daughtersName
  286. ,daughterInLawsName
  287. ,fatherInLaw
  288. ,motherInLaw
  289. ,nomineesName
  290. ,nomineesRel
  291. ,nomineesAge
  292. ,nomineesFMName
  293. ,nomineesFullAddress
  294. ,nomineesPhoneNo
  295. ,guardiansName
  296. ,relWithGuardian
  297. ,guardianAddress
  298. ,isPolitician
  299. ,beneficiaryOwner
  300. ,benificiaryDetail
  301. ,isNrn
  302. ,aapy
  303. ,anotpy
  304. ,isAssociatedWithUsa
  305. ,usAssociateType
  306. ,createdBy
  307. ,createdDate
  308. ,isActive
  309. ,cardStatus
  310. )
  311. SELECT
  312. @remitCardNo
  313. ,@branch
  314. ,@salutation
  315. ,@firstName
  316. ,@middleName
  317. ,@lastName
  318. ,@hNoP
  319. ,@hNoT
  320. ,@wardNoP
  321. ,@wardNoT
  322. ,@streetP
  323. ,@streetT
  324. ,@vdcMP
  325. ,@vdcMT
  326. ,@districtP
  327. ,@districtT
  328. ,@zoneP
  329. ,@zoneT
  330. ,@countryP
  331. ,@countryT
  332. ,@phoneNoP
  333. ,@phoneNoT
  334. ,@mobileP
  335. ,@mobileT
  336. ,@emailP
  337. ,@emailT
  338. ,@maritalStatus
  339. ,@maritalStatusOther
  340. ,@nationality
  341. ,@dobAd
  342. ,@dboBs
  343. ,@citizenshipNo
  344. ,@placeOfIssue
  345. ,@dateOfIssue
  346. ,@passportNo
  347. ,@pasportIssuePlace
  348. ,@pasportIssueDate
  349. ,@visaIssueDate
  350. ,@visValidity
  351. ,@idCardType
  352. ,@idCardNo
  353. ,@issuanceOffice
  354. ,@idCarcharIssueDate
  355. ,@mDateOfBirth
  356. ,@attMojorityDate
  357. ,@nameOfGrudian
  358. ,@relWithMinor
  359. ,@occupation
  360. ,@oocupationOther
  361. ,@natureOfBusiness
  362. ,@natureOfBusinessOther
  363. ,@isTaxassessed
  364. ,@panVatNo
  365. ,@purposeOfAccount
  366. ,@purposeAcOther
  367. ,@sourceOfFunds
  368. ,@sourceOther
  369. ,@spousesName
  370. ,@fathersName
  371. ,@mothersName
  372. ,@grandFathersName
  373. ,@grandMothersName
  374. ,@sonsName
  375. ,@daughtersName
  376. ,@daughterInLawsName
  377. ,@fatherInLaw
  378. ,@motherInLaw
  379. ,@nomineesName
  380. ,@nomineesRel
  381. ,@nomineesAge
  382. ,@nomineesFMName
  383. ,@nomineesFullAddress
  384. ,@nomineesPhoneNo
  385. ,@guardiansName
  386. ,@relWithGuardian
  387. ,@guardianAddress
  388. ,@isPolitician
  389. ,@beneficiaryOwner
  390. ,@benificiaryDetail
  391. ,@isNrn
  392. ,@aapy
  393. ,@anotpy
  394. ,@isAssociatedWithUsa
  395. ,@usAssociateType
  396. ,@user
  397. ,GETDATE()
  398. ,@isActive
  399. ,'Pending'
  400. SET @kycId = SCOPE_IDENTITY()
  401. UPDATE imeRemitCardMaster SET cardStatus = 'Reserved' WHERE remitCardNo = @remitCardNo
  402. INSERT INTO kycBusinessNature(kycId,institute,address,designation,anualIncome)
  403. SELECT @kycId, institute,address,designation,anualIncome FROM temp_kycNormalise WITH(NOLOCK)
  404. WHERE valueType='N' AND userName = @user AND sessionId =@sessionId
  405. -- ## Send SMS
  406. IF @mobileP <> '' OR @mobileP IS NOT NULL
  407. BEGIN
  408. INSERT INTO smsqueue(mobileNo,msg,createdDate,createdBy,country,agentId,branchId)
  409. SELECT @mobileP,'Thank You for enrolling into IME Remit Card. For more Information Contact: 01-4430600',GETDATE(),@user,'Nepal',@agentId,@agentId
  410. END
  411. DELETE FROM temp_kycNormalise WHERE userName = @user AND sessionId =@sessionId
  412. EXEC proc_errorHandler 0, 'KYC Customer has been saved successfully, Now please upload the customer documents.', @kycId
  413. END
  414. ELSE IF @flag = 'u'
  415. BEGIN
  416. IF @user IS NULL
  417. BEGIN
  418. EXEC proc_errorHandler 1, 'Your session has expired. Cannot register the customer.', NULL
  419. RETURN
  420. END
  421. SET @remitCardNo = REPLACE(@remitCardNo,'-','')
  422. IF LEN(@remitCardNo) <> '16'
  423. BEGIN
  424. EXEC proc_errorHandler 1, 'IME Remit Card Number should be 16 digits.', @remitCardNo
  425. RETURN;
  426. END
  427. IF NOT EXISTS(SELECT 'X' FROM imeRemitCardMaster WITH(NOLOCK)
  428. WHERE remitCardNo = @remitCardNo)
  429. BEGIN
  430. EXEC proc_errorHandler 1, 'Remit Card Number does not exists.', @remitCardNo
  431. RETURN;
  432. END
  433. IF EXISTS(SELECT 'X' FROM kycMaster WITH(NOLOCK)
  434. WHERE remitCardNo = @remitCardNo AND ISNULL(isDeleted,'N') = 'N' AND rowId <> @rowId)
  435. BEGIN
  436. EXEC proc_errorHandler 1, 'Already Exists Customer With Same Remit Card Number.', @remitCardNo
  437. RETURN;
  438. END
  439. IF (LEN(LTRIM(RTRIM(@mobileP))) <> '10')
  440. BEGIN
  441. EXEC proc_errorHandler 1, 'Mobile Number Should Be 10 Digits.', NULL
  442. RETURN
  443. END
  444. IF @dobAd > = GETDATE()
  445. BEGIN
  446. EXEC proc_errorHandler 1, 'Invalid Date Of Birth.', NULL
  447. RETURN
  448. END
  449. INSERT INTO @tempTbl
  450. EXEC proc_convertDate @flag='A',@nepDate=@dateOfIssue
  451. SELECT @doiCitizen = doi FROM @tempTbl
  452. IF @doiCitizen IS NOT NULL
  453. BEGIN
  454. IF @doiCitizen > = GETDATE()
  455. BEGIN
  456. EXEC proc_errorHandler 1, 'Invalid Date Of Issue - Citizenship.', NULL
  457. RETURN
  458. END
  459. END
  460. IF @pasportIssueDate IS NOT NULL
  461. BEGIN
  462. IF @pasportIssueDate > = GETDATE()
  463. BEGIN
  464. EXEC proc_errorHandler 1, 'Invalid Date Of Issue - Passport.', NULL
  465. RETURN
  466. END
  467. END
  468. UPDATE kycMaster SET
  469. remitCardNo = @remitCardNo
  470. --,agentId = @branch
  471. ,salutation = @salutation
  472. ,firstName = @firstName
  473. ,middleName = @middleName
  474. ,lastName = @lastName
  475. ,hNoP = @hNoP
  476. ,hNoT = @hNoT
  477. ,wardNoP = @wardNoP
  478. ,wardNoT = @wardNoT
  479. ,streetP = @streetP
  480. ,streetT = @streetT
  481. ,vdcMP = @vdcMP
  482. ,vdcMT = @vdcMT
  483. ,districtP = @districtP
  484. ,districtT = @districtT
  485. ,zoneP = @zoneP
  486. ,zoneT = @zoneT
  487. ,countryP = @countryP
  488. ,countryT = @countryT
  489. ,phoneNoP = @phoneNoP
  490. ,phoneNoT = @phoneNoT
  491. ,mobileP = @mobileP
  492. ,mobileT = @mobileT
  493. ,emailP = @emailP
  494. ,emailT = @emailT
  495. ,maritalStatus = @maritalStatus
  496. ,maritalStatusOther = @maritalStatusOther
  497. ,nationality = @nationality
  498. ,dobAd = @dobAd
  499. ,dboBs = @dboBs
  500. ,citizenshipNo = @citizenshipNo
  501. ,placeOfIssue = @placeOfIssue
  502. ,dateOfIssue = @dateOfIssue
  503. ,passportNo = @passportNo
  504. ,pasportIssuePlace = @pasportIssuePlace
  505. ,pasportIssueDate = @pasportIssueDate
  506. ,visaIssueDate = @visaIssueDate
  507. ,visValidity = @visValidity
  508. ,idCardType = @idCardType
  509. ,idCardNo = @idCardNo
  510. ,issuanceOffice = @issuanceOffice
  511. ,idCarcharIssueDate = @idCarcharIssueDate
  512. ,mDateOfBirth = @mDateOfBirth
  513. ,attMojorityDate = @attMojorityDate
  514. ,nameOfGrudian = @nameOfGrudian
  515. ,relWithMinor = @relWithMinor
  516. ,occupation = @occupation
  517. ,oocupationOther = @oocupationOther
  518. ,natureOfBusiness = @natureOfBusiness
  519. ,natureOfBusinessOther = @natureOfBusinessOther
  520. ,isTaxassessed = @isTaxassessed
  521. ,panVatNo = @panVatNo
  522. ,purposeOfAccount = @purposeOfAccount
  523. ,purposeAcOther = @purposeAcOther
  524. ,sourceOfFunds = @sourceOfFunds
  525. ,sourceOther = @sourceOther
  526. ,spousesName = @spousesName
  527. ,fathersName = @fathersName
  528. ,mothersName = @mothersName
  529. ,grandFathersName = @grandFathersName
  530. ,grandMothersName = @grandMothersName
  531. ,sonsName = @sonsName
  532. ,daughtersName = @daughtersName
  533. ,daughterInLawsName = @daughterInLawsName
  534. ,fatherInLaw = @fatherInLaw
  535. ,motherInLaw = @motherInLaw
  536. ,nomineesName = @nomineesName
  537. ,nomineesRel = @nomineesRel
  538. ,nomineesAge = @nomineesAge
  539. ,nomineesFMName = @nomineesFMName
  540. ,nomineesFullAddress = @nomineesFullAddress
  541. ,nomineesPhoneNo = @nomineesPhoneNo
  542. ,guardiansName = @guardiansName
  543. ,relWithGuardian = @relWithGuardian
  544. ,guardianAddress = @guardianAddress
  545. ,isPolitician = @isPolitician
  546. ,beneficiaryOwner = @beneficiaryOwner
  547. ,benificiaryDetail = @benificiaryDetail
  548. ,isNrn = @isNrn
  549. ,aapy = @aapy
  550. ,anotpy = @anotpy
  551. ,isAssociatedWithUsa = @isAssociatedWithUsa
  552. ,usAssociateType = @usAssociateType
  553. ,modifiedBy = @user
  554. ,modifiedDate = GETDATE()
  555. WHERE rowId = @rowId
  556. EXEC proc_errorHandler 0, 'Record updated successfully', @rowId
  557. END
  558. ELSE IF @flag='d'
  559. BEGIN
  560. IF EXISTS(SELECT 'x' FROM kycMaster WITH(NOLOCK) WHERE approvedDate IS NOT NULL AND rowId = @rowId)
  561. BEGIN
  562. SELECT '1' errorCode,'Sorry, You can not delete. Already approved KYC customer.' msg,@rowId
  563. RETURN;
  564. END
  565. UPDATE kycMaster SET isDeleted='Y',modifiedBy = @user,modifiedDate = GETDATE() WHERE rowId = @rowId
  566. EXEC proc_errorHandler 0, 'Record deleted successfully', @rowId
  567. RETURN;
  568. END
  569. ELSE IF @flag = 's_admin'
  570. BEGIN
  571. IF @sortBy IS NULL
  572. SET @sortBy = 'customerId'
  573. IF @sortOrder IS NULL
  574. SET @sortOrder = 'ASC'
  575. SET @table = '
  576. SELECT
  577. main.rowId
  578. ,main.remitCardNo
  579. ,fullName = isnull('' ''+main.salutation,'''')+'' ''+ isnull('' ''+main.firstName,'''')+ isnull('' ''+main.middleName,'''')+ isnull('' ''+main.lastName,'''')
  580. ,main.accountNo
  581. ,main.createdBy
  582. ,main.createdDate
  583. ,haschanged = CASE WHEN (main.approvedBy IS NULL) THEN ''Y'' ELSE ''N'' END
  584. ,isApprove = CASE WHEN (main.approvedBy IS NULL) THEN ''N'' ELSE ''Y'' END
  585. ,isActive = CASE WHEN (main.isActive IS NULL OR main.isActive = ''Y'') THEN ''Y'' ELSE ''N'' END
  586. ,modifiedBy = main.createdBy
  587. ,agentName = case when main.agentId is null then ''Head Office'' else am.agentName END
  588. ,mobile = main.mobileP
  589. FROM kycMaster main WITH(NOLOCK)
  590. LEFT JOIN agentMaster am WITH(NOLOCK) ON main.agentId = am.agentId
  591. WHERE ISNULL(main.isDeleted,''N'')<>''Y''
  592. '
  593. SET @sql_filter = ''
  594. IF @remitCardNo IS NOT NULL
  595. SET @sql_filter=@sql_filter + ' AND remitCardNo = '''+@remitCardNo+''''
  596. IF @accountNo IS NOT NULL
  597. SET @sql_filter=@sql_filter + ' AND accountNo = '''+@accountNo+''''
  598. IF @fullName IS NOT NULL
  599. SET @sql_filter=@sql_filter + ' AND fullName like ''%'+@fullName+'%'''
  600. IF @isApprove IS NOT NULL
  601. SET @sql_filter=@sql_filter + ' AND isApprove = '''+@isApprove+''''
  602. IF @isActive IS NOT NULL
  603. SET @sql_filter=@sql_filter + ' AND isActive = '''+@isActive+''''
  604. SET @sql = '('+ @table+')X'
  605. SET @select_field_list ='
  606. rowId
  607. ,remitCardNo
  608. ,fullName
  609. ,accountNo
  610. ,createdBy
  611. ,createdDate
  612. ,haschanged
  613. ,isActive
  614. ,modifiedBy
  615. ,agentName
  616. ,isApprove
  617. ,mobile'
  618. EXEC dbo.proc_paging
  619. @sql
  620. ,@sql_filter
  621. ,@select_field_list
  622. ,@extra_field_list
  623. ,@sortBy
  624. ,@sortOrder
  625. ,@pageSize
  626. ,@pageNumber
  627. END
  628. ELSE IF @flag = 's'
  629. BEGIN
  630. IF @sortBy IS NULL
  631. SET @sortBy = 'customerId'
  632. IF @sortOrder IS NULL
  633. SET @sortOrder = 'ASC'
  634. SET @table = 'SELECT
  635. rowId
  636. ,agentId
  637. ,remitCardNo
  638. ,fullName = isnull('' ''+main.salutation,'''')+'' ''+ isnull('' ''+main.firstName,'''')+ isnull('' ''+main.middleName,'''')+ isnull('' ''+main.lastName,'''')
  639. ,accountNo
  640. ,main.createdBy
  641. ,main.createdDate
  642. ,mobile = mobileP
  643. ,cardStatus
  644. ,complain = ''<font color="red"><i>''+kc.description+''</i></font>''
  645. FROM kycMaster main with(nolock)
  646. LEFT JOIN kycComplain kc WITH(NOLOCK) ON kc.customerId = main.rowId and kc.setPrimary = ''Y''
  647. WHERE ISNULL(main.isDeleted,''N'')<>''Y'' AND main.cardStatus <> ''Approved''
  648. '
  649. SET @sql_filter = ''
  650. IF @agentId IS NOT NULL
  651. SET @sql_filter=@sql_filter + ' AND agentId = '''+@agentId+''''
  652. IF @remitCardNo IS NOT NULL
  653. SET @sql_filter=@sql_filter + ' AND remitCardNo = '''+@remitCardNo+''''
  654. IF @fullName IS NOT NULL
  655. SET @sql_filter=@sql_filter + ' AND fullName like ''%'+@fullName+'%'''
  656. SET @sql = '('+ @table+')X'
  657. SET @select_field_list ='
  658. rowId
  659. ,agentId
  660. ,remitCardNo
  661. ,fullName
  662. ,accountNo
  663. ,createdBy
  664. ,createdDate
  665. ,mobile
  666. ,cardStatus
  667. ,complain'
  668. EXEC dbo.proc_paging
  669. @sql
  670. ,@sql_filter
  671. ,@select_field_list
  672. ,@extra_field_list
  673. ,@sortBy
  674. ,@sortOrder
  675. ,@pageSize
  676. ,@pageNumber
  677. END
  678. ELSE IF @flag = 'a'
  679. BEGIN
  680. SELECT
  681. km.*
  682. ,pCountryName=cmp.countryName
  683. ,tCountryName=cmt.countryName
  684. ,pZone=sp.stateName
  685. ,tZone=st.stateName
  686. FROM kycMaster km WITH(NOLOCK)
  687. LEFT JOIN countryMaster cmp WITH(NOLOCK) ON km.countryP=cmp.countryId
  688. LEFT JOIN countryMaster cmt WITH(NOLOCK) ON km.countryT=cmt.countryId
  689. LEFT JOIN countryStateMaster sp WITH(NOLOCK) ON sp.stateId=zoneP
  690. LEFT JOIN countryStateMaster st WITH(NOLOCK) ON st.stateId=zoneT
  691. WHERE rowId = @rowId
  692. END
  693. ELSE IF @flag = 'confirm-page'
  694. BEGIN
  695. SELECT
  696. km.*
  697. ,pCountryName=cmp.countryName
  698. ,tCountryName=cmt.countryName
  699. ,pZone=sp.stateName
  700. ,tZone=st.stateName
  701. ,CNT = ISNULL(cd.CNT,0)
  702. ,fullName = ISNULL(' '+km.salutation,'')+' '+ ISNULL(' '+km.firstName,'')+ ISNULL(' '+km.middleName,'')+ ISNULL(' '+km.lastName,'')
  703. FROM kycMaster km WITH(NOLOCK)
  704. LEFT JOIN countryMaster cmp WITH(NOLOCK) ON km.countryP=cmp.countryId
  705. LEFT JOIN countryMaster cmt WITH(NOLOCK) ON km.countryT=cmt.countryId
  706. LEFT JOIN countryStateMaster sp WITH(NOLOCK) ON sp.stateId=zoneP
  707. LEFT JOIN countryStateMaster st WITH(NOLOCK) ON st.stateId=zoneT
  708. LEFT JOIN
  709. (
  710. SELECT customerId,CNT = COUNT('X') FROM customerDocument cd WITH(NOLOCK) WHERE customerId = @rowId AND ISNULL(isDeleted,'N') = 'N'
  711. GROUP BY customerId
  712. )cd ON km.rowId = cd.customerId
  713. WHERE km.rowId = @rowId
  714. END
  715. ELSE IF @flag = 'insertInTemp'
  716. BEGIN
  717. INSERT INTO temp_kycNormalise (
  718. institute
  719. ,address
  720. ,designation
  721. ,anualIncome
  722. ,accountType
  723. ,remarks
  724. ,userName
  725. ,sessionId
  726. ,valueType
  727. )
  728. SELECT
  729. @institute
  730. ,@address
  731. ,@designation
  732. ,@anualIncome
  733. ,@accountType
  734. ,@remarks
  735. ,@user
  736. ,@sessionId
  737. ,@valueType
  738. SET @rowId = SCOPE_IDENTITY()
  739. EXEC proc_errorHandler 0, 'Record added successfully', @rowId
  740. END
  741. ELSE IF @flag='dTemp'
  742. BEGIN
  743. SELECT @valueType = valueType FROM temp_kycNormalise WHERE rowId = @rowId
  744. DELETE FROM temp_kycNormalise WHERE rowId = @rowId AND userName = @user AND sessionId = @sessionId
  745. EXEC proc_errorHandler 0, 'Record deleted successfully', @valueType
  746. END
  747. ELSE IF @flag = 'aTemp'
  748. BEGIN
  749. SELECT rowId,institute,address,designation,anualIncome = dbo.ShowDecimal(anualIncome) FROM temp_kycNormalise WITH(NOLOCK)
  750. WHERE userName=@user AND sessionId = @sessionId AND valueType = @valueType
  751. END
  752. ELSE IF @flag ='saveBusinessNature'
  753. BEGIN
  754. INSERT INTO kycBusinessNature(kycId,institute,address,designation,anualIncome,createdBy,createdDate)
  755. SELECT @kycId, @institute,@address,@designation,@anualIncome,@user,GETDATE()
  756. EXEC proc_errorHandler 0, 'Record added successfully.', @valueType
  757. END
  758. ELSE IF @flag = 'deleteBuzNature'
  759. BEGIN
  760. DELETE FROM kycBusinessNature WHERE rowId = @rowId
  761. EXEC proc_errorHandler 0, 'Record deleted successfully', @valueType
  762. END
  763. ELSE IF @flag = 'showOrg'
  764. BEGIN
  765. SELECT
  766. rowId,
  767. institute,
  768. address,
  769. designation,
  770. anualIncome = dbo.ShowDecimal(anualIncome)
  771. FROM kycBusinessNature WITH(NOLOCK) WHERE kycId = @kycId
  772. END
  773. ELSE IF @flag='approveCustomer'
  774. BEGIN
  775. SELECT @remitCardNo = remitCardNo,
  776. @createdBy = createdBy,
  777. @mobileP = mobileP,
  778. @agentId = agentId
  779. FROM kycMaster WITH(NOLOCK) WHERE rowId = @rowId
  780. IF @createdBy = @user
  781. BEGIN
  782. EXEC proc_errorHandler 1, 'Sorry, You have created this record so you can not approve.', @valueType
  783. RETURN;
  784. END
  785. IF EXISTS(SELECT 'X' FROM customerMaster WITH(NOLOCK) WHERE membershipId = @remitCardNo AND ISNULL(isDeleted,'N') ='Y')
  786. BEGIN
  787. EXEC proc_errorHandler 1, 'KYC customer has already been made with same Remit Card Number.', @valueType
  788. RETURN;
  789. END
  790. DECLARE @docCount INT
  791. SELECT @docCount = COUNT('X') FROM customerDocument cd WITH(NOLOCK)
  792. WHERE customerId = @rowId AND ISNULL(isDeleted,'N') = 'N'
  793. IF @docCount < 6
  794. BEGIN
  795. EXEC proc_errorHandler 1, 'Sorry, Incomplete documents: Please upload complete document & Approve KYC.', @valueType
  796. RETURN;
  797. END
  798. SELECT @accountNo = accountNo FROM imeRemitCardMaster WHERE remitCardNo = @remitCardNo
  799. UPDATE kycMaster SET
  800. approvedBy=@user
  801. ,approvedDate=GETDATE()
  802. ,accountNo = @accountNo
  803. ,cardStatus = 'Approved'
  804. WHERE rowId=@rowId
  805. /*
  806. -- ## Send SMS
  807. IF @mobileP <> '' OR @mobileP IS NOT NULL
  808. BEGIN
  809. INSERT INTO smsqueue(mobileNo,msg,createdDate,createdBy,country,agentId,branchId)
  810. SELECT @mobileP,'Thank You for enrolling into IME Remit Card. For more Information Contact: 01-4430600',GETDATE(),@user,'Nepal',@agentId,@agentId
  811. END
  812. */
  813. -- ## Create IME Customer
  814. IF NOT EXISTS(SELECT 'X' FROM customerMaster WITH(NOLOCK) WHERE membershipId = @remitCardNo AND ISNULL(isDeleted,'N') ='N')
  815. BEGIN
  816. INSERT INTO customerMaster (membershipId,firstName,middleName,lastName,maritalStatus,dobEng,dobNep,citizenshipNo,placeOfIssue,
  817. pTole,pHouseNo,pMunicipality,pWardNo,pCountry,pZone,pDistrict,
  818. tTole,tHouseNo,tMunicipality,tWardNo,tCountry,tZone,tDistrict,
  819. fatherName,motherName,grandFatherName,occupation,email,phone,mobile,
  820. createdBy,createdDate,approvedBy,approvedDate,isActive,agentId,customerStatus,isKyc,gender)
  821. SELECT remitCardNo,firstName,middleName,lastName,maritalStatus,dbo.FNANepDateConversion(dboBs),dboBs,citizenshipNo,placeOfIssue,
  822. streetP,hNoP,vdcMP,wardNoP,cm.countryName, sm.stateName, districtP,
  823. streetT,hNoT,vdcMT,wardNoT,cm1.countryName, sm1.stateName,districtT,
  824. fathersName,mothersName,grandFathersName,occupation,emailP,phoneNoP,
  825. mobileP,kyc.createdBy,kyc.createdDate,@user,GETDATE(),'Y',agentId,'Approved','Y',
  826. case when salutation = 'Mr.' then '1801' else '1802' end
  827. FROM kycMaster kyc WITH(NOLOCK)
  828. LEFT JOIN countryMaster cm WITH(NOLOCK) ON kyc.countryP = cm.countryId
  829. LEFT JOIN countryMaster cm1 WITH(NOLOCK) ON kyc.countryT = cm1.countryId
  830. LEFT JOIN countryStateMaster sm WITH(NOLOCK) ON sm.stateId = kyc.zoneP
  831. LEFT JOIN countryStateMaster sm1 WITH(NOLOCK) ON sm1.stateId = kyc.zoneT
  832. WHERE kyc.rowId=@rowId
  833. END
  834. SELECT '0' errorCode,'KYC Customer has been approved successfully.' msg, NULL
  835. END
  836. ELSE IF @flag='uploadDoc'
  837. BEGIN
  838. DECLARE @fileName VARCHAR(250)
  839. SELECT @fileName = REPLACE(NEWID(), '-', '_') + '.' + @fileType
  840. INSERT INTO customerDocument (
  841. customerId
  842. ,agentId
  843. ,branchId
  844. ,[fileName]
  845. ,fileDescription
  846. ,fileType
  847. ,createdBy
  848. ,createdDate
  849. ,isKycDoc
  850. )
  851. SELECT
  852. @kycId
  853. ,@agentId
  854. ,@branchId
  855. ,@fileName
  856. ,@fileDescription
  857. ,@fileType
  858. ,@user
  859. ,GETDATE()
  860. ,'Y'
  861. SELECT '0' errorCode,'Document Upload Successfully' msg,@fileName
  862. END
  863. ELSE IF @flag = 'displayDoc'
  864. BEGIN
  865. SELECT
  866. cdId,
  867. fileName = fileDescription,
  868. createdBy,
  869. createdDate
  870. FROM customerDocument WITH(NOLOCK)
  871. WHERE customerId = @kycId AND ISNULL(isKycDoc,'N') = 'Y' AND ISNULL(isDeleted,'N')<>'Y'
  872. END
  873. ELSE IF @flag = 'deleteDoc'
  874. BEGIN
  875. SELECT @kycId = customerId FROM customerDocument WITH(NOLOCK) WHERE cdId = @rowId
  876. --IF EXISTS(SELECT 'x' FROM kycMaster WITH(NOLOCK)
  877. --WHERE approvedDate IS NOT NULL AND rowId = @kycId)
  878. --BEGIN
  879. -- SELECT '1' errorCode,'Sorry, You can not delete document. Already approved KYC customer.' msg,@rowId
  880. -- RETURN;
  881. --END
  882. UPDATE customerDocument SET isDeleted='Y' WHERE cdId = @rowId
  883. SELECT '0' errorCode,'Document Delete Successfully' msg,@rowId
  884. RETURN;
  885. END
  886. ELSE IF @flag = 'file-type'
  887. BEGIN
  888. SELECT VALUE,TEXTVALUE FROM
  889. (
  890. SELECT 'FORM-1' value,'FORM-1' TEXTVALUE UNION ALL
  891. SELECT 'FORM-2' value,'FORM-2' TEXTVALUE UNION ALL
  892. SELECT 'FORM-3' value,'FORM-3' TEXTVALUE UNION ALL
  893. SELECT 'APPLICATION FORM-1' value,'APPLICATION FORM-1' TEXTVALUE UNION ALL
  894. SELECT 'APPLICATION FORM-2' value,'APPLICATION FORM-2' TEXTVALUE UNION ALL
  895. SELECT 'ID CARD' value,'ID CARD' textVaue
  896. )X WHERE VALUE NOT IN (SELECT ISNULL(fileDescription,'') FROM customerDocument
  897. WITH(NOLOCK) WHERE customerId = @rowId AND ISNULL(isDeleted,'N') = 'N')
  898. END
  899. ELSE IF @flag = 'pending-list'
  900. BEGIN
  901. SET @table ='
  902. SELECT
  903. main.rowId
  904. ,[IME Remit Card Number] = main.remitCardNo +'' ''+ CASE WHEN gh.tranStatus = ''Unpaid'' THEN ''&nbsp;&nbsp;<b><font color="red"><i><span onclick="PayTransaction(''+main.remitCardNo+'');"><a href="#">View Txn</a></span> Already Sent Transaction</i></
  905. b></font>'' ELSE '''' END
  906. ,[Customer Name] = isnull('' ''+main.salutation,'''')+'' ''+ isnull('' ''+main.firstName,'''')+ isnull('' ''+main.middleName,'''')+ isnull('' ''+main.lastName,'''')
  907. ,[Agent Name] = case when main.agentId is null then ''Head Office'' else am.agentName END
  908. ,[Created By] = main.createdBy
  909. ,[Created Date] = main.createdDate
  910. ,[Status] = main.cardStatus
  911. ,[Complain Detail] = ''<font color="red"><i>''+kc.description+''</i></font>''
  912. FROM kycMaster main WITH(NOLOCK)
  913. LEFT JOIN agentMaster am WITH(NOLOCK) ON main.agentId = am.agentId
  914. LEFT JOIN globalCardServiceHistory gh WITH(NOLOCK) ON main.remitCardNo = gh.remitCardNo
  915. LEFT JOIN kycComplain kc WITH(NOLOCK) ON kc.customerId = main.rowId and kc.setPrimary = ''Y''
  916. WHERE ISNULL(main.isDeleted,''N'')<>''Y''
  917. AND (main.approvedDate IS NULL or gh.tranStatus =''Unpaid'')
  918. AND ISNULL(main.isDeleted,''N'') = ''N''
  919. AND main.createdDate BETWEEN '''+@fromDate+''' AND '''+@toDate+' 23:59:59'''
  920. IF @remitCardNo IS NOT NULL
  921. SET @table=@table + ' AND main.remitCardNo = '''+@remitCardNo+''''
  922. IF @agentId IS NOT NULL
  923. SET @table=@table + ' AND main.agentId = '''+@agentId+''''
  924. SET @table=@table + ' order by gh.tranStatus desc'
  925. EXEC(@table)
  926. PRINT(@table)
  927. RETURN;
  928. END
  929. ELSE IF @flag = 'unpaid-txn'
  930. BEGIN
  931. SELECT
  932. rt.id,
  933. [S.N.] = ROW_NUMBER()OVER(ORDER BY rt.approvedDate),
  934. [Control No] = dbo.fnadecryptstring(rt.controlNo),
  935. [Sending Agent] = rt.sBranchName,
  936. [Sender Name] = rt.senderName,
  937. [Receiver Name] = rt.receiverName,
  938. [Amount] = dbo.ShowDecimal(rt.pAmt),
  939. [TXN Date] = rt.approvedDate
  940. FROM dbo.remitTran rt WITH(NOLOCK)
  941. INNER JOIN dbo.tranReceivers rec WITH(NOLOCK) ON rt.id = rec.tranId
  942. WHERE
  943. rt.paymentMethod ='IME Remit Card'
  944. AND rt.payStatus = 'Unpaid'
  945. AND rec.membershipId = @remitCardNo
  946. END
  947. END
  948. END TRY
  949. BEGIN CATCH
  950. IF @@TRANCOUNT > 0
  951. ROLLBACK TRANSACTION
  952. SELECT 1 errCode, ERROR_MESSAGE() + ERROR_LINE() mes, NULL id
  953. END CATCH
  954. GO