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.

652 lines
20 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_payDomTransaction] Script Date: 7/4/2019 11:35:48 AM ******/
  4. DROP PROCEDURE [dbo].[proc_payDomTransaction]
  5. GO
  6. /****** Object: StoredProcedure [dbo].[proc_payDomTransaction] Script Date: 7/4/2019 11:35:48 AM ******/
  7. SET ANSI_NULLS ON
  8. GO
  9. SET QUOTED_IDENTIFIER ON
  10. GO
  11. CREATE PROC [dbo].[proc_payDomTransaction](
  12. @flag VARCHAR(50)
  13. ,@user VARCHAR(30) = NULL
  14. ,@controlNo VARCHAR(20) = NULL
  15. ,@agentRefId VARCHAR(20) = NULL
  16. ,@rIdType VARCHAR(30) = NULL
  17. ,@rIdNumber VARCHAR(30) = NULL
  18. ,@rPlaceOfIssue VARCHAR(50) = NULL
  19. ,@rMobile VARCHAR(50) = NULL
  20. ,@rRelationType VARCHAR(50) = NULL
  21. ,@rRelativeName VARCHAR(100) = NULL
  22. ,@pBranch INT = NULL
  23. ,@pBranchName VARCHAR(100) = NULL
  24. ,@pAgent INT = NULL
  25. ,@pAgentName VARCHAR(100) = NULL
  26. ,@pSuperAgent INT = NULL
  27. ,@pSuperAgentName VARCHAR(100) = NULL
  28. ,@settlingAgent INT = NULL
  29. ,@mapCodeInt VARCHAR(8) = NULL
  30. ,@mapCodeDom VARCHAR(8) = NULL
  31. ,@customerId VARCHAR(50) = NULL
  32. ,@membershipId VARCHAR(50) = NULL
  33. ,@fromPayTrnTime VARCHAR(20) = NULL
  34. ,@toPayTrnTime VARCHAR(20) = NULL
  35. ,@rbankName VARCHAR(50) = NULL
  36. ,@rbankBranch VARCHAR(100) = NULL
  37. ,@rcheque VARCHAR(50) = NULL
  38. ,@rAccountNo VARCHAR(50) = NULL
  39. ,@TopupMobileNo VARCHAR(50) = NULL
  40. ,@relationship VARCHAR(100) = NULL
  41. ,@purpose VARCHAR(100) = NULL
  42. ,@dob DATETIME = NULL
  43. ,@rIssuedDate DATETIME = NULL
  44. ,@rValidDate DATETIME = NULL
  45. )
  46. AS
  47. SET NOCOUNT ON
  48. SET XACT_ABORT ON
  49. DECLARE
  50. @sBranch INT
  51. ,@pCountry VARCHAR(100)
  52. ,@pState VARCHAR(100)
  53. ,@pDistrict VARCHAR(100)
  54. ,@pLocationBranch INT
  55. ,@deliveryMethod VARCHAR(100)
  56. ,@pAmt MONEY
  57. ,@pAgentComm MONEY
  58. ,@pAgentCommCurrency VARCHAR(3)
  59. ,@pSuperAgentComm MONEY
  60. ,@pSuperAgentCommCurrency VARCHAR(3)
  61. ,@pHubComm MONEY
  62. ,@pHubCommCurrency VARCHAR(3)
  63. ,@sendingCustType INT
  64. ,@receivingCurrency INT
  65. ,@agentType INT
  66. ,@tokenId BIGINT
  67. ,@controlNoEncrypted VARCHAR(20)
  68. ,@commCheck MONEY
  69. ,@tranType CHAR(1)
  70. ,@pCountryId INT = NULL
  71. ,@deliveryMethodId INT = NULL
  72. ,@sCountryId INT = NULL
  73. ,@tranStatus VARCHAR(20) = NULL
  74. ,@pDistrictApi INT
  75. ,@pDistrictBranch INT
  76. ,@lockedBy VARCHAR(50)
  77. ,@tranId INT
  78. ,@sCountry VARCHAR(200)
  79. ,@pLocation INT
  80. ,@payTokenId VARCHAR(50)
  81. ,@payStatus VARCHAR(50)
  82. ,@receiverName VARCHAR(100)
  83. ,@complianceAction CHAR(1)
  84. ,@compApproveRemark VARCHAR(200)
  85. ,@msg VARCHAR(200)
  86. ,@IsSettlingAgent CHAR(1)
  87. SELECT @controlNo = UPPER(LTRIM(RTRIM(@controlNo)))
  88. SELECT @controlNoEncrypted = dbo.FNAEncryptString(@controlNo)
  89. IF @flag = 'payTran'
  90. BEGIN
  91. IF @user IS NULL
  92. BEGIN
  93. EXEC proc_errorHandler 1, 'Your session has expired. Please relogin to the system.', @controlNo
  94. RETURN
  95. END
  96. SELECT
  97. @tranId = id
  98. ,@deliveryMethod = paymentMethod
  99. ,@sCountry = sCountry
  100. ,@sBranch = sBranch
  101. ,@pAmt = pAmt
  102. ,@pLocation = pLocation
  103. ,@tranStatus = tranStatus
  104. ,@lockedBy = lockedBy
  105. ,@payStatus = payStatus
  106. ,@receiverName = receiverName
  107. FROM remitTran WITH(NOLOCK) WHERE controlNo = @controlNoEncrypted
  108. SELECT
  109. @pLocationBranch = agentLocation
  110. ,@pState = agentState
  111. ,@pDistrict = agentDistrict
  112. ,@IsSettlingAgent = isSettlingAgent
  113. FROM agentMaster WITH(NOLOCK) WHERE agentId = @pBranch
  114. SET @mapCodeDom = @pAgent
  115. IF @IsSettlingAgent = 'Y'
  116. SET @mapCodeDom = @pBranch
  117. IF @tranStatus IS NULL
  118. BEGIN
  119. EXEC proc_errorHandler 1, 'Cannot post transaction for invalid transaction number', NULL
  120. RETURN
  121. END
  122. IF EXISTS(SELECT 'X' FROM remitTran WITH(NOLOCK) WHERE controlNo = @controlNoEncrypted AND sBranch = @pBranch)
  123. BEGIN
  124. EXEC proc_errorHandler 1, 'Cannot process for same POS', @controlNoEncrypted
  125. RETURN
  126. END
  127. IF (@tranStatus = 'CancelRequest')
  128. BEGIN
  129. EXEC proc_errorHandler 1, 'Transaction has been requested for cancel', @controlNoEncrypted
  130. RETURN
  131. END
  132. IF (@tranStatus = 'Block')
  133. BEGIN
  134. EXEC proc_errorHandler 1, 'Transaction is blocked. Please Contact HO', @controlNoEncrypted
  135. RETURN
  136. END
  137. IF (@tranStatus = 'Paid')
  138. BEGIN
  139. EXEC proc_errorHandler 1, 'Transaction has already been paid', @controlNoEncrypted
  140. RETURN
  141. END
  142. IF (@payStatus = 'Paid')
  143. BEGIN
  144. EXEC proc_errorHandler 1, 'Transaction has already been paid', @controlNoEncrypted
  145. RETURN
  146. END
  147. IF (@tranStatus = 'Hold')
  148. BEGIN
  149. EXEC proc_errorHandler 1, 'Transaction is hold', @controlNoEncrypted
  150. RETURN
  151. END
  152. IF (@tranStatus = 'Cancel')
  153. BEGIN
  154. EXEC proc_errorHandler 1, 'Transaction is cancelled', @controlNoEncrypted
  155. RETURN
  156. END
  157. IF @tranStatus <> 'Lock'
  158. BEGIN
  159. EXEC proc_errorHandler 1, 'Your time for paying this transaction has expired. Please try again after a while.', @controlNoEncrypted
  160. RETURN
  161. END
  162. IF @lockedBy <> @user
  163. BEGIN
  164. EXEC proc_errorHandler 1, 'You are not authorised to pay this transaction at this time. Please try again after a while', @controlNoEncrypted
  165. RETURN
  166. END
  167. IF @rValidDate IS NOT NULL AND @rIdType <> 'Citizenship'
  168. BEGIN
  169. IF @rValidDate < CAST(CONVERT(VARCHAR,GETDATE(),101) AS DATETIME)
  170. BEGIN
  171. EXEC proc_errorHandler 1, 'Cannot process transaction, as Id is going to expire soon.', @customerId
  172. RETURN
  173. END
  174. END
  175. --Location Verfication
  176. SELECT @pDistrictApi = districtId FROM apiLocationMapping WITH(NOLOCK) WHERE apiDistrictCode = @pLocation
  177. SELECT @pDistrictBranch = districtId FROM apiLocationMapping WITH(NOLOCK) WHERE apiDistrictCode = @pLocationBranch
  178. IF @pDistrictApi IS NULL
  179. BEGIN
  180. EXEC proc_errorHandler 1, 'Location not found. Please Contact HO', @controlNo
  181. RETURN
  182. END
  183. IF @pDistrictBranch IS NULL
  184. BEGIN
  185. EXEC proc_errorHandler 1, 'Location not found. Please Contact HO', @controlNo
  186. RETURN
  187. END
  188. IF @pDistrictApi <> @pDistrictBranch
  189. BEGIN
  190. EXEC proc_errorHandler 1, 'You are not allowed to pay this TXN. It is not within your district.', @controlNo
  191. RETURN
  192. END
  193. --End of Location Verification
  194. --Commission Calculation Start
  195. SELECT @deliveryMethodId = serviceTypeId FROM serviceTypeMaster WITH(NOLOCK) WHERE typeTitle = @deliveryMethod AND ISNULL(isDeleted, 'N') = 'N'
  196. SELECT @pCountryId = 151
  197. SELECT @sCountryId = 151
  198. SELECT
  199. @pAgentComm = ISNULL(pAgentComm, 0)
  200. ,@pSuperAgentComm = ISNULL(psAgentComm, 0)
  201. ,@commCheck = pAgentComm
  202. FROM dbo.FNAGetDomesticPayComm(@sBranch, @pBranch, @deliveryMethodId, @pAmt)
  203. SELECT @pAgentCommCurrency = 'NPR', @pSuperAgentCommCurrency = 'NPR'
  204. IF @commCheck IS NULL
  205. BEGIN
  206. EXEC proc_errorHandler 1, 'Commission not defined. Please contact HO', @controlNo
  207. RETURN
  208. END
  209. -------Compliance Check Begin----------
  210. IF NOT EXISTS(SELECT 'X' FROM remitTranCompliancePay WITH(NOLOCK) WHERE tranId = @tranId AND approvedDate IS NOT NULL)
  211. BEGIN
  212. DECLARE @csMasterId INT, @complianceRes VARCHAR(20), @totalRows INT, @count INT, @compFinalRes VARCHAR(20), @result VARCHAR(MAX)
  213. DECLARE @csMasterRec TABLE (rowId INT IDENTITY(1,1), masterId INT)
  214. INSERT @csMasterRec(masterId)
  215. SELECT masterId FROM dbo.FNAGetComplianceRuleMaster_Pay(@pBranch, @pCountryId, NULL, @pBranch, NULL, NULL, @customerId)
  216. SELECT @totalRows = COUNT(*) FROM @csMasterRec
  217. DECLARE @denyTxn CHAR(1) = 'N'
  218. IF EXISTS(SELECT 'X' FROM @csMasterRec)
  219. BEGIN
  220. DELETE FROM remitTranCompliancePayTemp WHERE tranId = @tranId
  221. SET @count = 1
  222. WHILE(@count <= @totalRows)
  223. BEGIN
  224. SELECT @csMasterId = masterId FROM @csMasterRec WHERE rowId = @count
  225. EXEC proc_complianceRuleDetail_Pay
  226. @user = @user
  227. ,@tranId = @tranId
  228. ,@tAmt = @pAmt
  229. ,@customerId = @customerId
  230. ,@receiverId = @rIdNumber
  231. ,@receiverMemId = @membershipId
  232. ,@receiverName = @receiverName
  233. ,@receiverMobile = @rMobile
  234. ,@receiverAcNo = @rAccountNo
  235. ,@masterId = @csMasterId
  236. ,@paymentMethod = @deliveryMethodId
  237. ,@checkingFor = 'v'
  238. ,@result = @complianceRes OUTPUT
  239. SET @compFinalRes = ISNULL(@compFinalRes, '') + ISNULL(@complianceRes, '')
  240. IF @complianceRes = 'M' AND ISNULL(@complianceAction, '') <> 'C'
  241. SET @complianceAction = 'M'
  242. IF @complianceRes = 'C'
  243. SET @complianceAction = 'C'
  244. SET @count = @count + 1
  245. END
  246. END
  247. IF(ISNULL(@compFinalRes, '') <> '')
  248. BEGIN
  249. IF(@compFinalRes <> '')
  250. BEGIN
  251. IF EXISTS(SELECT 'X' FROM remitTranCompliancePayTemp WITH(NOLOCK) WHERE tranId = @tranId)
  252. BEGIN
  253. INSERT INTO remitTranCompliancePay(tranId, csDetailTranId, matchTranId)
  254. SELECT @tranId, csDetailTranId, matchTranId FROM remitTranCompliancePayTemp WITH(NOLOCK) WHERE tranId = @tranId
  255. INSERT tranPayCompliance(tranId,provider,controlNo,pBranch,receiverName,rMemId,dob,
  256. rIdType,rIdNumber,rPlaceOfIssue,rContactNo,rRelationType,rRelativeName,relWithSender,purposeOfRemit,createdBy,createdDate,bankName,branchName,chequeNo,accountNo,alternateMobileNo,IdIssuedDate,IdExpiryDate)
  257. SELECT @tranId, '1002' , @controlNoEncrypted,@pBranch,@receiverName,@membershipId,@dob,
  258. @rIdType,@rIdNumber,@rPlaceOfIssue,@rMobile,@rRelationType,@rRelativeName,@relationship,@purpose,@user,GETDATE(),@rbankName,@rbankBranch,@rcheque,@raccountNo,@TopupMobileNo,@rIssuedDate,@rValidDate
  259. DELETE FROM dbo.remitTranCompliancePayTemp WHERE tranId = @tranId
  260. END
  261. IF ISNULL(@complianceAction, '') = 'M'
  262. BEGIN
  263. UPDATE remitTran SET
  264. tranStatus = 'Hold'
  265. WHERE id = @tranId
  266. UPDATE remitTranCompliancePay SET
  267. approvedRemarks = 'Marked for Compliance'
  268. ,approvedBy = 'system'
  269. ,approvedDate = GETDATE()
  270. WHERE tranId = @tranId
  271. UPDATE tranPayCompliance SET
  272. approvedRemarks = 'Marked for Compliance'
  273. ,approvedBy = 'system'
  274. ,approvedDate = GETDATE()
  275. WHERE tranId = @tranId
  276. END
  277. ELSE
  278. BEGIN
  279. UPDATE remitTran SET
  280. tranStatus = 'Compliance Hold Pay'
  281. WHERE id = @tranId
  282. END
  283. END
  284. IF ISNULL(@complianceAction, '') = 'C'
  285. BEGIN
  286. SET @msg = 'Sorry, This transaction is in compliance hold and cannot processed further. Please contact HO.'
  287. END
  288. SELECT 101 errorCode,@msg msg, NULL id
  289. RETURN
  290. END
  291. END
  292. -------Compliance Check End----------
  293. BEGIN TRANSACTION
  294. UPDATE remitTran SET
  295. pAgentComm = @pAgentComm
  296. ,pAgentCommCurrency = @pAgentCommCurrency
  297. ,pSuperAgentComm = @pSuperAgentComm
  298. ,pSuperAgentCommCurrency = @pSuperAgentCommCurrency
  299. ,pHubComm = @pHubComm
  300. ,pHubCommCurrency = @pHubCommCurrency
  301. ,pBranch = @pBranch
  302. ,pBranchName = @pBranchName
  303. ,pAgent = @pAgent
  304. ,pAgentName = @pAgentName
  305. ,pSuperAgent = @pSuperAgent
  306. ,pSuperAgentName = @pSuperAgentName
  307. ,pState = @pState
  308. ,pLocation = @pLocation
  309. ,pDistrict = @pDistrict
  310. ,tranStatus = 'Paid'
  311. ,payStatus = 'Paid'
  312. ,paidDate = dbo.FNAGetDateInNepalTZ()
  313. ,paidDateLocal = GETDATE()
  314. ,paidBy = @user
  315. WHERE controlNo = @controlNoEncrypted
  316. UPDATE tranReceivers SET
  317. idType2 = @rIdType
  318. ,idNumber2 = @rIdNumber
  319. ,idPlaceOfIssue2 = @rPlaceOfIssue
  320. ,mobile = @rMobile
  321. ,homePhone = @rMobile
  322. ,relationType = @rRelationType
  323. ,relativeName = @rRelativeName
  324. ,customerId = @customerId
  325. ,membershipId = @membershipId
  326. ,bankName = @rbankName
  327. ,branchName = @rbankBranch
  328. ,chequeNo = @rcheque
  329. ,accountNo = @raccountNo
  330. ,relWithSender = @relationship
  331. ,purposeOfRemit = @purpose
  332. ,dob = @dob
  333. ,issuedDate2 = @rIssuedDate
  334. ,validDate2 = @rValidDate
  335. WHERE tranId = @tranId
  336. IF @membershipId IS NOT NULL
  337. BEGIN
  338. UPDATE dbo.customerMaster SET
  339. paidTxn = ISNULL(paidTxn,0)+1,
  340. firstTxnDate = ISNULL(firstTxnDate,GETDATE())
  341. WHERE membershipId = @membershipId
  342. END
  343. EXEC FastMoneyPro_Account.dbo.PROC_REMIT_DATA_UPDATE
  344. @flag = 'p'
  345. ,@mapCode = @mapCodeDom
  346. ,@user = @user
  347. ,@pAgentComm = @pAgentComm
  348. ,@controlNo = @controlNo
  349. -- ## Limit Update
  350. EXEC Proc_AgentBalanceUpdate @flag = 'p',@tAmt = @pAmt ,@settlingAgent = @pBranch
  351. IF @@TRANCOUNT > 0
  352. COMMIT TRANSACTION
  353. EXEC [proc_errorHandler] 0, 'Transaction has been paid successfully', @controlNo
  354. END
  355. IF @flag = 'paySearch'
  356. BEGIN
  357. IF(DATEDIFF(MI,CAST(dbo.FNAGetDateInNepalTZ() AS TIME), CAST(@fromPayTrnTime AS TIME))) > 0
  358. BEGIN
  359. EXEC proc_errorHandler 1, 'You are not authorized to pay at this time', NULL
  360. RETURN
  361. END
  362. IF(DATEDIFF(MI,CAST(dbo.FNAGetDateInNepalTZ() AS TIME), CAST(@toPayTrnTime AS TIME))) < 0
  363. BEGIN
  364. EXEC proc_errorHandler 1, 'You are not authorized to pay at this time', NULL
  365. RETURN
  366. END
  367. DECLARE @hasRight CHAR(1), @payDomesticFunctionId VARCHAR(50)
  368. SET @payDomesticFunctionId = '40101311,40101520'
  369. SELECT @hasRight = dbo.FNAHasRight(@user, @payDomesticFunctionId)
  370. IF(@hasRight = 'N')
  371. BEGIN
  372. EXEC proc_errorHandler 1, 'You are not authorized to pay domestic transaction.', NULL
  373. RETURN
  374. END
  375. IF @user IS NULL
  376. BEGIN
  377. EXEC proc_errorHandler 1, 'Your session has expired. Please relogin to the system.', @controlNo
  378. RETURN
  379. END
  380. SELECT @mapCodeDom = mapCodeDom
  381. ,@agentType = agentType
  382. ,@pLocation = agentLocation
  383. FROM agentMaster WITH(NOLOCK) WHERE agentId = @pBranch
  384. IF (@mapCodeDom IS NULL OR @mapCodeDom = '' OR @mapCodeDom = 0)
  385. BEGIN
  386. EXEC proc_errorHandler 1, 'Invalid Map Code', NULL
  387. RETURN
  388. END
  389. SELECT
  390. @tranStatus = tranStatus,
  391. @tranId = id,
  392. @payStatus = payStatus
  393. FROM remitTran WITH(NOLOCK)
  394. WHERE controlNo = @controlNoEncrypted
  395. IF @tranStatus IS NULL
  396. BEGIN
  397. EXEC proc_errorHandler 1000, 'Transaction not found', NULL
  398. RETURN
  399. END
  400. IF @agentType = 2903
  401. BEGIN
  402. SET @pAgent = @pBranch
  403. END
  404. IF @tranStatus IS NOT NULL
  405. BEGIN
  406. INSERT INTO tranViewHistory(
  407. controlNumber
  408. ,tranViewType
  409. ,agentId
  410. ,createdBy
  411. ,createdDate
  412. ,tranId
  413. )
  414. SELECT
  415. @controlNoEncrypted
  416. ,'PAY'
  417. ,@pBranch
  418. ,@user
  419. ,GETDATE()
  420. ,@tranId
  421. SET @payTokenId = SCOPE_IDENTITY()
  422. IF EXISTS(SELECT 'X' FROM remitTran WITH(NOLOCK) WHERE controlNo = @controlNoEncrypted AND paymentMethod = 'Bank Deposit')
  423. BEGIN
  424. EXEC proc_errorHandler 1, 'Cannot process payment for Payment Type Bank Deposit', NULL
  425. RETURN
  426. END
  427. IF EXISTS(SELECT 'X' FROM remitTran WITH(NOLOCK) WHERE controlNo = @controlNoEncrypted AND sBranch = @pBranch)
  428. BEGIN
  429. EXEC proc_errorHandler 1, 'Cannot process payment for same POS', @tranId
  430. RETURN
  431. END
  432. IF (@tranStatus = 'CancelRequest')
  433. BEGIN
  434. EXEC proc_errorHandler 1, 'Transaction has been requested for cancel', @controlNoEncrypted
  435. RETURN
  436. END
  437. IF (@tranStatus = 'Lock' )
  438. BEGIN
  439. EXEC proc_errorHandler 1, 'Transaction is locked', @controlNoEncrypted
  440. RETURN
  441. END
  442. IF (@tranStatus = 'Block')
  443. BEGIN
  444. EXEC proc_errorHandler 1, 'Transaction is blocked. Please Contact HO', @controlNoEncrypted
  445. RETURN
  446. END
  447. IF (@tranStatus = 'Paid')
  448. BEGIN
  449. EXEC proc_errorHandler 1, 'Transaction has already been paid', @controlNoEncrypted
  450. RETURN
  451. END
  452. IF (@payStatus = 'Paid')
  453. BEGIN
  454. EXEC proc_errorHandler 1, 'Transaction has already been paid', @controlNoEncrypted
  455. RETURN
  456. END
  457. IF (@tranStatus = 'Hold')
  458. BEGIN
  459. EXEC proc_errorHandler 1, 'Transaction is hold', @controlNoEncrypted
  460. RETURN
  461. END
  462. IF (@tranStatus = 'Cancel')
  463. BEGIN
  464. EXEC proc_errorHandler 1, 'Transaction is cancelled', @controlNoEncrypted
  465. RETURN
  466. END
  467. IF (@tranStatus <> 'Payment')
  468. BEGIN
  469. EXEC proc_errorHandler 1, 'Transaction is not in authorized mode', @controlNoEncrypted
  470. RETURN
  471. END
  472. DECLARE @tranDistrictId INT, @payAgentDistrictId INT
  473. --Checking payout location for domestic txn
  474. SELECT @payAgentDistrictId = districtId FROM apiLocationMapping WHERE apiDistrictCode = @pLocation
  475. SELECT @tranDistrictId = districtId FROM apiLocationMapping WHERE apiDistrictCode = (SELECT pLocation FROM remitTran WITH(NOLOCK) WHERE controlNo = @controlNoEncrypted)
  476. IF @payAgentDistrictId IS NULL
  477. BEGIN
  478. EXEC proc_errorHandler 1, 'Location not found. Please Contact HO', @controlNo
  479. RETURN
  480. END
  481. IF @tranDistrictId IS NULL
  482. BEGIN
  483. EXEC proc_errorHandler 1, 'Location not found. Please Contact HO', @controlNo
  484. RETURN
  485. END
  486. IF(@tranDistrictId <> @payAgentDistrictId)
  487. BEGIN
  488. EXEC proc_errorHandler 1, 'You are not allowed to pay this TXN. It is not within your district.', @controlNoEncrypted
  489. RETURN
  490. END
  491. EXEC proc_errorHandler 0, 'Transaction Verification Successful', @tranId
  492. -->>Start:Checking pay tran for 30 days expiry days & more than 3,00,000 transaction
  493. DECLARE @checkPayTran TABLE(tSetFlag VARCHAR(10), eSetFlag VARCHAR(10))
  494. DECLARE @tSetFlag VARCHAR(10), @eSetFlag VARCHAR(10)
  495. --INSERT INTO @checkPayTran(tSetFlag, eSetFlag)
  496. --EXEC proc_checkPayLock @user ='admin', @controlNo = @controlNoEncrypted, @agentId = @pBranch
  497. SELECT @tSetFlag = tSetFlag, @eSetFlag = eSetFlag FROM @checkPayTran
  498. --<<End:Checking pay tran for 30 days expiry days & more than 3,00,000 transaction
  499. --End of Validation
  500. SELECT
  501. trn.id
  502. ,controlNo = dbo.FNADecryptString(trn.controlNo)
  503. ,sMemId = sen.membershipId
  504. ,sCustomerId = sen.customerId
  505. ,senderName = sen.firstName + ISNULL( ' ' + sen.middleName, '') + ISNULL( ' ' + sen.lastName1, '') + ISNULL( ' ' + sen.lastName2, '')
  506. ,sCountryName = sen.country
  507. ,sStateName = sen.state
  508. ,sDistrict = sen.district
  509. ,sCity = sen.city
  510. ,sAddress = sen.address
  511. ,sContactNo = COALESCE(sen.mobile, sen.homephone, sen.workphone)
  512. ,sIdType = sen.idType
  513. ,sIdNo = sen.idNumber
  514. ,sValidDate = sen.validDate
  515. ,sEmail = sen.email
  516. ,rMemId = rec.membershipId
  517. ,rCustomerId = rec.customerId
  518. ,receiverName = rec.firstName + ISNULL( ' ' + rec.middleName, '') + ISNULL( ' ' + rec.lastName1, '') + ISNULL( ' ' + rec.lastName2, '')
  519. ,rCountryName = rec.country
  520. ,rStateName = rec.state
  521. ,rDistrict = rec.district
  522. ,rCity = rec.city
  523. ,rAddress = rec.address
  524. ,rContactNo = COALESCE(rec.mobile, rec.homephone, rec.workphone)
  525. ,rIdType = rec.idType
  526. ,rIdNo = rec.idNumber
  527. ,sAgent = trn.sBranchName
  528. ,sAgentCountry = sa.agentCountry
  529. ,pBranchName = ISNULL(trn.pBranchName, 'Any')
  530. ,pCountryName = trn.pCountry
  531. ,pStateName = trn.pState
  532. ,pDistrictName = trn.pDistrict
  533. ,pLocationName = pLoc.districtName
  534. ,pAddress = pa.agentAddress
  535. ,trn.tAmt
  536. ,trn.serviceCharge
  537. ,handlingFee = ISNULL(trn.handlingFee, 0)
  538. ,trn.cAmt
  539. ,trn.pAmt
  540. ,relationship = ISNULL(trn.relWithSender, '-')
  541. ,purpose = ISNULL(trn.purposeOfRemit, '-')
  542. ,sourceOfFund = ISNULL(trn.sourceOfFund, '-')
  543. ,trn.pAmt
  544. ,collMode = trn.collMode
  545. ,paymentMethod = trn.paymentMethod
  546. ,trn.payoutCurr
  547. ,trn.tranStatus
  548. ,trn.payStatus
  549. ,payoutMsg = ISNULL(trn.pMessage, '-')
  550. ,send_agent = COALESCE(trn.sBranchName, trn.sAgentName)
  551. ,txn_date = trn.createdDateLocal
  552. ,payTokenId = @payTokenId
  553. ,tSetFlag = @tSetFlag
  554. ,eSetFlag = @eSetFlag
  555. FROM remitTran trn WITH(NOLOCK)
  556. LEFT JOIN tranSenders sen WITH(NOLOCK) ON trn.id = sen.tranId
  557. LEFT JOIN tranReceivers rec WITH(NOLOCK) ON trn.id = rec.tranId
  558. LEFT JOIN agentMaster sa WITH(NOLOCK) ON trn.sBranch = sa.agentId
  559. LEFT JOIN agentMaster pa WITH(NOLOCK) ON trn.pBranch = pa.agentId
  560. LEFT JOIN api_districtList pLoc WITH(NOLOCK) ON trn.pLocation = pLoc.districtCode
  561. WHERE trn.controlNo = @controlNoEncrypted
  562. --End of Select payout details
  563. --Lock Transaction
  564. UPDATE remitTran SET
  565. payTokenId = @payTokenId
  566. ,tranStatus = 'Lock'
  567. ,lockedBy = @user
  568. ,lockedDate = GETDATE()
  569. ,lockedDateLocal = GETDATE()
  570. WHERE controlNo = @controlNoEncrypted
  571. --End of Lock Transaction
  572. --Log Details
  573. SELECT
  574. [message]
  575. ,trn.createdBy
  576. ,trn.createdDate
  577. FROM tranModifyLog trn WITH(NOLOCK)
  578. WHERE trn.tranId = @tranId OR ISNULL(trn.controlNo,'') = ISNULL(@controlNoEncrypted, '')
  579. ORDER BY trn.createdDate DESC
  580. --End of Log Details
  581. END
  582. END
  583. GO