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
28 KiB

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