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.

523 lines
29 KiB

3 months ago
2 months ago
3 months ago
2 months ago
3 months ago
2 months ago
3 months ago
2 months ago
3 months ago
2 months ago
3 months ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[PROC_TP_TXN_PUSH] Script Date: 7/18/2024 8:52:21 AM ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. --EXEC PROC_TP_TXN_PUSH @FLAG = 'GET-LIST'
  9. ALTER PROC [dbo].[PROC_TP_TXN_PUSH] (
  10. @FLAG VARCHAR(30)
  11. ,@TRAN_ID BIGINT = NULL
  12. ,@PROVIDER VARCHAR(30) = NULL
  13. ,@doSyncAll CHAR(1) = NULL
  14. ,@statusDate DATETIME = NULL
  15. ,@message VARCHAR(500) = NULL
  16. ,@status VARCHAR(100) = NULL
  17. ,@user VARCHAR(20) = NULL
  18. ,@pCurrCostRate VARCHAR(30) = NULL
  19. ,@control2 VARCHAR(30) = NULL
  20. )
  21. AS
  22. SET NOCOUNT ON;
  23. SET XACT_ABORT ON;
  24. -- =============================================
  25. --Modified on: 2021/08/03 -> status date for Dongav2
  26. -- remove NEW_PAID_TRACK
  27. --Change Request #394 ->Remove Instant Pay for during ProcessBank Deposit
  28. -- Add BOC
  29. -- Brac
  30. --EXEC PROC_TP_TXN_PUSH @flag='add-api-comment',@PROVIDER = 'bracBank',@TRANID = '100644605',@ControlNo = '211298008',@message = 'Cancellation Completed',@status = '407'
  31. --Added new @Flag = 'INSTANT-PAID_V2' for manual pay
  32. -- =============================================
  33. BEGIN
  34. IF ISDATE(@statusDate) = 0
  35. SET @statusDate = NULL
  36. DECLARE @CONTROLNO VARCHAR(30)
  37. ,@TRANDATE VARCHAR(30)
  38. ,@customerId VARCHAR(200)
  39. IF @FLAG = 'GET-LIST'
  40. BEGIN
  41. SELECT ID
  42. ,CONTROLNO = DBO.DECRYPTDB(rt.CONTROLNO) --+ DATEPART(SS,GETDATE())
  43. INTO #REMIT_TT
  44. FROM REMITTRAN(NOLOCK) rt
  45. LEFT JOIN tranModifyLog (NOLOCK) tml ON tml.tranId = rt.id
  46. WHERE 1 = 1
  47. AND payStatus = 'unpaid'
  48. AND tranStatus = 'Payment'
  49. AND rt.CREATEDDATE >= '2020-02-15'
  50. AND PSUPERAGENT IN (
  51. --394397,394449, 394488
  52. 394490
  53. )
  54. AND (tml.status <> 'Resolved' AND tml.fieldName ='STATUS_SYNC')
  55. SELECT ID
  56. ,CONTROLNO = DBO.DECRYPTDB(rt.CONTROLNO) --+ DATEPART(SS,GETDATE())
  57. INTO #remit_unpaid
  58. FROM REMITTRAN(NOLOCK) rt
  59. WHERE 1 = 1
  60. AND payStatus = 'unpaid'
  61. AND tranStatus = 'Payment'
  62. AND rt.CREATEDDATE >= '2020-02-15'
  63. AND PSUPERAGENT IN (
  64. --394397,394449, 394488
  65. 394490
  66. )
  67. DELETE FROM #remit_unpaid WHERE id in(
  68. select id FROM #REMIT_TT)
  69. SELECT rt.ID
  70. ,CONTROLNO = DBO.DECRYPTDB(rt.CONTROLNO) --+ DATEPART(SS,GETDATE())
  71. ,PAYMENTMETHOD
  72. ,PCOUNTRY
  73. ,rt.CREATEDDATE
  74. ,pbankname
  75. ,pbank
  76. ,pAmt
  77. FROM REMITTRAN(NOLOCK) rt
  78. INNER JOIN #remit_unpaid u on rt.id = u.id
  79. ORDER BY rt.ID DESC
  80. -- update remitTran set tranStatus='Payment', payStatus='unpaid' where controlNo = dbo.FNAEncryptString('211744466')
  81. END
  82. ELSE IF @FLAG = 'UPDATE-POST'
  83. BEGIN
  84. UPDATE dbo.remitTran
  85. SET payStatus = 'POST'
  86. ,postedBy = 'Scheduler'
  87. ,postedDate = GETDATE()
  88. ,postedDateLocal = GETDATE()
  89. ,pDateCostRate=@pCurrCostRate
  90. ,controlno2= CASE WHEN @control2 IS NOT NULL THEN dbo.encryptdb(@control2) ELSE controlno2 END
  91. WHERE id = @TRAN_ID
  92. END
  93. ELSE IF @FLAG = 'UPDATE-POST_RELEASE'
  94. BEGIN
  95. UPDATE dbo.remitTran
  96. SET
  97. --controlno2= CASE WHEN @control2 IS NOT NULL THEN dbo.encryptdb(@control2) ELSE controlno2 END
  98. downloadedDate=GETDATE()
  99. WHERE id = @TRAN_ID
  100. END
  101. ELSE IF @FLAG = 'mark-paid'
  102. BEGIN
  103. DECLARE @statusDateOld DATETIME = CAST(@statusDate AS DATETIME)
  104. --IF @PROVIDER = 'jmenepal'
  105. -- AND @statusDate IS NOT NULL
  106. -- SET @statusDate = DATEADD(HOUR, - 5, DATEADD(MINUTE, - 45, @statusDate))
  107. IF @PROVIDER = 'gmenepal'
  108. AND @statusDate IS NOT NULL
  109. SET @statusDate = DATEADD(HOUR, - 5, DATEADD(MINUTE, - 45, @statusDate))
  110. ELSE IF @PROVIDER = 'gccremit'
  111. AND @statusDate IS NOT NULL
  112. SET @statusDate = DATEADD(HOUR, - 5, DATEADD(MINUTE, - 45, @statusDate))
  113. ELSE IF @PROVIDER = 'sendMN'
  114. AND @statusDate IS NOT NULL
  115. SET @statusDate = DATEADD(HOUR, - 5, DATEADD(MINUTE, - 45, @statusDate))
  116. ELSE IF @PROVIDER = 'guavaPay'
  117. AND @statusDate IS NOT NULL
  118. SET @statusDate = DATEADD(HOUR, - 5, DATEADD(MINUTE, - 45, @statusDate))
  119. UPDATE dbo.remitTran
  120. SET tranStatus = 'Paid'
  121. ,payStatus = 'Paid'
  122. ,paidBy = 'Scheduler'
  123. ,paidDate = ISNULL(DATEADD(HOUR, + 9, @statusDate), GETDATE())
  124. ,paidDateLocal = ISNULL(@statusDate, DATEADD(HOUR, - 9, GETDATE())) -- GMT FORMAT
  125. WHERE id = @TRAN_ID
  126. SELECT @CONTROLNO = DBO.DECRYPTDB(CONTROLNO)
  127. ,@TRANDATE = PAIDDATE
  128. FROM dbo.remitTran(NOLOCK)
  129. WHERE id = @TRAN_ID
  130. UPDATE tranModifyLog set resolvedBy='Scheduler', resolvedDate=GETDATE(), status='Resolved' WHERE tranId=@TRAN_ID and fieldname='STATUS_SYNC'
  131. DECLARE @senderId INT;
  132. SELECT @senderId=customerId FROM dbo.transenders (NOLOCK)
  133. WHERE tranId = @TRAN_ID
  134. PRINT @senderId
  135. PRINT @TRAN_ID
  136. DECLARE @referralId VARCHAR(100)
  137. SELECT @referralId = ISNULL(referralId, referelCode) FROM customerMaster WHERE @customerId = @senderId
  138. IF (LEFT(@referralId, 3) NOT IN ('MOB', 'ADM', 'CRP', 'ONL'))
  139. BEGIN
  140. EXEC proc_InsertRewardPoints @Flag = 'TRANSACTION', @CustomerId = @senderId, @TranId = @TRAN_ID
  141. END
  142. ELSE
  143. BEGIN
  144. EXEC proc_InsertReferralRewardPoints @Flag = 'TRANSACTION', @CustomerId = @senderId, @TranId = @TRAN_ID
  145. IF NOT EXISTS (
  146. (SELECT 'X' FROM tranSenders WHERE customerId = @senderId) UNION (SELECT 'X' FROM tranSendersTemp WHERE customerId = @senderId))
  147. BEGIN
  148. EXEC proc_InsertRewardPoints @Flag = 'TRANSACTION', @CustomerId = @senderId, @TranId = @TRAN_ID
  149. END
  150. END
  151. EXEC FASTMONEYPRO_ACCOUNT.DBO.PROC_TRANSACTION_PAID_VOUCHER_ENTRY @controlNo = @CONTROLNO
  152. ,@tranDate = @TRANDATE
  153. --IF EXISTS(SELECT 1 FROM FASTMONEYPRO_ACCOUNT.DBO.TRAN_MASTER (NOLOCK) WHERE FIELD1 = @controlNo AND tran_type = 'j' AND FIELD2 = 'Remittance Voucher'
  154. -- AND ISNULL(ACCT_TYPE_CODE, 'Send') = 'Paid')
  155. --BEGIN
  156. -- UPDATE FASTMONEYPRO_ACCOUNT.DBO.TRAN_MASTER SET TRAN_DATE = @TRANDATE
  157. -- WHERE FIELD1 = @controlNo
  158. -- AND tran_type = 'j'
  159. -- AND FIELD2 = 'Remittance Voucher'
  160. -- AND ISNULL(ACCT_TYPE_CODE, 'Send') = 'Paid'
  161. --END
  162. END
  163. ELSE IF @FLAG = 'sync-list'
  164. BEGIN
  165. IF ISNULL(@doSyncAll, 'N') = 'N'
  166. BEGIN
  167. IF @PROVIDER = 'gccremit'
  168. BEGIN
  169. SELECT TOP 75 id
  170. ,controlNo = DBO.DECRYPTDB(CONTROLNO)
  171. ,pSuperAgent
  172. ,PCOUNTRY
  173. ,partnerPin = DBO.DECRYPTDB(CONTROLNO2)
  174. ,createdDate
  175. ,paymentMethod
  176. FROM REMITTRAN(NOLOCK)
  177. WHERE 1 = 1
  178. AND CREATEDDATE >= '2020-02-15'
  179. AND payStatus = 'Post'
  180. AND TRANSTATUS = 'Payment'
  181. AND PSUPERAGENT = 394449
  182. ORDER BY ID DESC
  183. --AND id=dbo.fnaencryptstring('211517849')
  184. END
  185. IF @PROVIDER = 'guavaPay'
  186. BEGIN
  187. SELECT TOP 75 id
  188. ,controlNo = DBO.DECRYPTDB(CONTROLNO)
  189. ,pSuperAgent
  190. ,PCOUNTRY
  191. ,partnerPin = DBO.DECRYPTDB(CONTROLNO2)
  192. ,createdDate
  193. ,paymentMethod
  194. FROM REMITTRAN(NOLOCK)
  195. WHERE 1 = 1
  196. AND CREATEDDATE >= '2020-02-15'
  197. AND payStatus = 'Post'
  198. AND TRANSTATUS = 'Payment'
  199. AND PSUPERAGENT = 394490
  200. ORDER BY ID DESC
  201. --AND id=dbo.fnaencryptstring('211517849')
  202. END
  203. IF @PROVIDER = 'guavaPay'
  204. BEGIN
  205. SELECT TOP 75 id
  206. ,controlNo = DBO.DECRYPTDB(CONTROLNO)
  207. ,pSuperAgent
  208. ,PCOUNTRY
  209. ,partnerPin = DBO.DECRYPTDB(CONTROLNO2)
  210. ,createdDate
  211. ,paymentMethod
  212. FROM REMITTRAN(NOLOCK)
  213. WHERE 1 = 1
  214. AND CREATEDDATE >= '2020-02-15'
  215. AND payStatus = 'Post'
  216. AND TRANSTATUS = 'Payment'
  217. AND PSUPERAGENT = 394490
  218. ORDER BY ID DESC
  219. --AND id=dbo.fnaencryptstring('211517849')
  220. END
  221. IF @PROVIDER = 'sendMN'
  222. BEGIN
  223. SELECT TOP 75 id
  224. ,controlNo = DBO.DECRYPTDB(CONTROLNO)
  225. ,pSuperAgent
  226. ,PCOUNTRY
  227. ,partnerPin = DBO.DECRYPTDB(CONTROLNO2)
  228. ,createdDate
  229. ,paymentMethod
  230. FROM REMITTRAN(NOLOCK)
  231. WHERE 1 = 1
  232. AND CREATEDDATE >= '2020-02-15'
  233. AND payStatus = 'Post'
  234. AND TRANSTATUS = 'Payment'
  235. AND PSUPERAGENT = 394488
  236. ORDER BY ID DESC
  237. --AND id=dbo.fnaencryptstring('211517849')
  238. END
  239. IF @PROVIDER = 'sendMN'
  240. BEGIN
  241. SELECT id
  242. ,controlNo = DBO.DECRYPTDB(CONTROLNO)
  243. ,pSuperAgent
  244. ,PCOUNTRY
  245. ,partnerPin = DBO.DECRYPTDB(CONTROLNO)
  246. ,paymentMethod
  247. FROM REMITTRAN(NOLOCK)
  248. WHERE 1 = 1
  249. AND CREATEDDATE >= '2020-03-31'
  250. AND payStatus = 'Post'
  251. AND TRANSTATUS = 'Payment'
  252. AND PSUPERAGENT = 394488
  253. END
  254. ELSE IF @PROVIDER = 'transfast'
  255. BEGIN
  256. SELECT TOP 50 id
  257. ,controlNo = DBO.DECRYPTDB(CONTROLNO)
  258. ,pSuperAgent
  259. ,PCOUNTRY
  260. ,partnerPin = DBO.DECRYPTDB(CONTROLNO)
  261. ,createdDate
  262. ,paymentMethod
  263. FROM REMITTRAN(NOLOCK)
  264. WHERE 1 = 1
  265. AND CREATEDDATE >= '2020-02-15'
  266. --AND PCOUNTRY NOT IN ('NEPAL','VIETNAM')
  267. AND payStatus = 'Post'
  268. AND TRANSTATUS = 'Payment'
  269. AND PSUPERAGENT = 394130
  270. --AND ID NOT IN (SELECT TRAN_ID FROM NEW_PAID_TRACK_NEW)
  271. --AND id = 100466789
  272. --AND CONTROLNO = DBO.FNAENCRYPTSTRING('33TF001950961')
  273. ORDER BY ID DESC
  274. END
  275. --ELSE IF @PROVIDER = 'gmenepal'
  276. --BEGIN
  277. -- SELECT TOP 75 id
  278. -- ,controlNo = DBO.DECRYPTDB(CONTROLNO)
  279. -- ,pSuperAgent
  280. -- ,PCOUNTRY
  281. -- ,partnerPin = DBO.DECRYPTDB(CONTROLNO)
  282. -- ,createdDate
  283. -- ,paymentMethod
  284. -- FROM REMITTRAN(NOLOCK)
  285. -- WHERE 1 = 1
  286. -- AND CREATEDDATE >= '2020-02-15'
  287. -- AND payStatus = 'Post'
  288. -- AND TRANSTATUS = 'Payment'
  289. -- AND PSUPERAGENT = 394397
  290. -- ORDER BY ID DESC
  291. --END
  292. END
  293. ELSE
  294. BEGIN
  295. IF @PROVIDER = 'transfast'
  296. BEGIN
  297. SELECT id
  298. ,controlNo = DBO.DECRYPTDB(CONTROLNO)
  299. ,pSuperAgent
  300. ,PCOUNTRY
  301. ,partnerPin = DBO.DECRYPTDB(CONTROLNO)
  302. ,paymentMethod
  303. FROM REMITTRAN(NOLOCK)
  304. WHERE 1 = 1
  305. AND CREATEDDATE >= '2020-03-31'
  306. AND payStatus = 'Post'
  307. AND TRANSTATUS = 'Payment'
  308. AND PSUPERAGENT = 394130
  309. END
  310. IF @PROVIDER = 'transfast'
  311. BEGIN
  312. SELECT id
  313. ,controlNo = DBO.DECRYPTDB(CONTROLNO)
  314. ,pSuperAgent
  315. ,PCOUNTRY
  316. ,partnerPin = DBO.DECRYPTDB(CONTROLNO)
  317. ,paymentMethod
  318. FROM REMITTRAN(NOLOCK)
  319. WHERE 1 = 1
  320. AND CREATEDDATE >= '2020-03-31'
  321. AND payStatus = 'Post'
  322. AND TRANSTATUS = 'Payment'
  323. AND PSUPERAGENT = 394130
  324. END
  325. ELSE IF @PROVIDER = 'gmenepal'
  326. BEGIN
  327. SELECT id
  328. ,controlNo = DBO.DECRYPTDB(CONTROLNO)
  329. ,pSuperAgent
  330. ,PCOUNTRY
  331. ,partnerPin = DBO.DECRYPTDB(CONTROLNO)
  332. ,createdDate
  333. ,paymentMethod
  334. FROM REMITTRAN(NOLOCK)
  335. WHERE 1 = 1
  336. AND CREATEDDATE >= '2020-02-15'
  337. AND payStatus = 'Post'
  338. AND TRANSTATUS = 'Payment'
  339. AND PSUPERAGENT = 394397
  340. ORDER BY ID DESC
  341. END
  342. END
  343. END
  344. ELSE IF @Flag = 'GET-RELEASE-LIST'
  345. BEGIN
  346. SELECT ID
  347. ,CONTROLNO = DBO.DECRYPTDB(CONTROLNO)
  348. ,CONTROLNO2 = DBO.DECRYPTDB(CONTROLNO2)
  349. ,PAYMENTMETHOD
  350. ,PCOUNTRY
  351. ,CREATEDDATE
  352. ,pbankname
  353. ,pbank
  354. ,sSuperAgent = pSuperAgent
  355. ,[partner] = 'gccremit'
  356. ,pagentcomm
  357. FROM REMITTRAN(NOLOCK)
  358. WHERE 1 = 1
  359. AND CREATEDDATE >= '2020-03-31'
  360. AND payStatus = 'POST'
  361. AND tranStatus = 'Payment'
  362. AND PSUPERAGENT = 394449
  363. and downloadedDate IS NULL
  364. ORDER BY ID DESC
  365. END
  366. ELSE IF @Flag = 'INSTANT-PAID'
  367. BEGIN
  368. --UPDATE dbo.remitTran SET tranStatus = 'Paid',
  369. -- payStatus = 'Paid',
  370. -- paidBy = 'Scheduler',
  371. -- paidDate = GETDATE(),
  372. -- paidDateLocal = DATEADD(HOUR, -9, GETDATE()) -- GMT FORMAT
  373. --WHERE id = @TRAN_ID
  374. --SELECT @CONTROLNO = DBO.DECRYPTDB(CONTROLNO),
  375. -- @TRANDATE = PAIDDATE
  376. --FROM dbo.remitTran (NOLOCK)
  377. --WHERE id = @TRAN_ID
  378. --EXEC FASTMONEYPRO_ACCOUNT.DBO.PROC_TRANSACTION_PAID_VOUCHER_ENTRY @controlNo = @CONTROLNO, @tranDate = @TRANDATE
  379. UPDATE dbo.remitTran
  380. SET payStatus = 'POST'
  381. ,postedBy = 'Scheduler'
  382. ,postedDate = GETDATE()
  383. ,postedDateLocal = GETDATE()
  384. WHERE id = @TRAN_ID
  385. END
  386. --ELSE IF @Flag = 'INSTANT-PAID'
  387. --BEGIN
  388. -- --UPDATE dbo.remitTran SET tranStatus = 'Paid',
  389. -- UPDATE dbo.remitTran
  390. -- SET payStatus = 'POST'
  391. -- ,postedBy = 'Scheduler'
  392. -- ,postedDate = GETDATE()
  393. -- ,postedDateLocal = GETDATE()
  394. -- WHERE id = @TRAN_ID
  395. --END
  396. ELSE IF @Flag = 'add-api-comment'
  397. BEGIN
  398. SELECT @CONTROLNO = (CONTROLNO)
  399. ----,@TRANDATE = PAIDDATE
  400. FROM dbo.remitTran(NOLOCK)
  401. WHERE id = @TRAN_ID
  402. IF NOT EXISTS (
  403. SELECT *
  404. FROM tranModifyLog
  405. WHERE tranId = @TRAN_ID
  406. AND fieldName = 'STATUS_SYNC'
  407. AND ISNULL(oldValue,'') = @status
  408. )
  409. BEGIN
  410. INSERT INTO tranModifyLog (
  411. tranId
  412. ,controlNo
  413. ,message
  414. ,createdBy
  415. ,createdDate
  416. ,MsgType
  417. ,STATUS
  418. ,needToSync
  419. ,fieldName
  420. ,oldValue
  421. )
  422. SELECT @TRAN_ID
  423. ,@CONTROLNO
  424. ,@message
  425. ,ISNULL(@user,'syncApi')
  426. ,GETDATE()
  427. ,'C'
  428. ,'Not Resolved'
  429. ,1
  430. ,'STATUS_SYNC'
  431. ,@status
  432. END
  433. ELSE
  434. BEGIN
  435. UPDATE tranModifyLog set message= @message, createdDate= GETDATE() WHERE tranId = @TRAN_ID AND fieldName = 'STATUS_SYNC'
  436. AND ISNULL(oldValue,'') = @status
  437. END
  438. SELECT '0' ErrorCode, 'Comment Added' Msg, 0 Id
  439. END
  440. ELSE IF @Flag = 'INSTANT-PAID_V2'
  441. BEGIN
  442. DECLARE @refId VARCHAR(100)
  443. SELECT @customerId = customerId FROM vwTranSenders WHERE tranId = @TRAN_ID OR holdTranId = @TRAN_ID
  444. SELECT @refId = ISNULL(referralId,referelCode) FROM customerMaster WHERE customerId = @customerId
  445. UPDATE dbo.remitTran SET tranStatus = 'Paid',
  446. payStatus = 'Paid',
  447. paidBy = 'Manual',
  448. paidDate =DATEADD(MI,10,approvedDate),
  449. paidDateLocal = DATEADD(HOUR, 1, GETDATE()) -- GMT FORMAT
  450. WHERE id = @TRAN_ID and (tranStatus <> 'CANCEL' OR payStatus <> 'PAID')
  451. IF (LEFT(@referralId, 3) NOT IN ('MOB', 'ADM', 'CRP', 'ONL'))
  452. BEGIN
  453. EXEC proc_InsertRewardPoints @Flag = 'TRANSACTION', @CustomerId = @customerId, @TranId = @TRAN_ID
  454. END
  455. ELSE
  456. BEGIN
  457. --print 'hh'
  458. --print @refId
  459. --print @customerId
  460. --print @TRAN_ID
  461. --print 'ewrqe'
  462. --return
  463. EXEC proc_InsertReferralRewardPoints @Flag = 'TRANSACTION', @CustomerId = @customerId, @TranId = @TRAN_ID, @ReferralId = @refId
  464. IF NOT EXISTS (
  465. (SELECT 'X' FROM tranSenders WHERE customerId = @customerId) UNION (SELECT 'X' FROM tranSendersTemp WHERE customerId = @customerId))
  466. BEGIN
  467. EXEC proc_InsertRewardPoints @Flag = 'TRANSACTION', @CustomerId = @customerId, @TranId = @TRAN_ID
  468. END
  469. END
  470. EXEC proc_InsertRewardPoints @Flag = 'TRANSACTION', @CustomerId = @customerId, @TranId = @TRAN_ID
  471. SELECT '0' ErrorCode, 'Transaction paid successfully' Msg, 0 Id
  472. END
  473. END
  474. --CREATE TABLE NEW_PAID_TRACK
  475. --(
  476. -- TRAN_ID BIGINT
  477. -- ,PARTNER_NAME VARCHAR(50)
  478. -- ,PAIDDATE DATETIME
  479. -- ,PAIDDATE_LOCAL DATETIME
  480. -- ,ORIGINAL_DATE DATETIME
  481. --)