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.

377 lines
35 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[PROC_SCHEDULER_PUSH_TXN_CONTACT] Script Date: 9/27/2019 1:30:14 PM ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. CREATE PROCEDURE [dbo].[PROC_SCHEDULER_PUSH_TXN_CONTACT](
  9. @flag VARCHAR(100) = NULL
  10. ,@id VARCHAR(100)= NULL
  11. ,@ControlNo VARCHAR(100)=NULL
  12. )
  13. AS
  14. SET NOCOUNT ON
  15. BEGIN
  16. IF @flag='push-list-contact'
  17. BEGIN
  18. CREATE TABLE #TEMPLIST(
  19. sIDwhom VARCHAR(20),sIDtype VARCHAR(50),sCountry VARCHAR(50),sName VARCHAR(100),sLastName VARCHAR(100),sAddress VARCHAR(100),sIDnumber VARCHAR(100),
  20. sIDdate VARCHAR(20),sBirthday VARCHAR(20),sPhone VARCHAR(20),sZipCode VARCHAR(100),sRegion VARCHAR(100),sCity VARCHAR(100),sBirthPlace VARCHAR(100),
  21. sIDexpireDate VARCHAR(20),sResident VARCHAR(100),sCountryStay VARCHAR(100),sCountryC VARCHAR(2),sIDwhomCode VARCHAR(20),
  22. bName VARCHAR(100),bLastName VARCHAR(100),bBirthday VARCHAR(100),bCountry VARCHAR(2),bIDdate VARCHAR(20),bIDwhom VARCHAR(20),
  23. bResident VARCHAR(100),bBirthPlace VARCHAR(100),bPhone VARCHAR(20),
  24. trnService VARCHAR(2),trnPickupPoint VARCHAR(10),trnAmount DECIMAL(10,2),trnDate VARCHAR(20),trnCurrency VARCHAR(3),trnSendPoint VARCHAR(10),trnRate FLOAT,trnReference VARCHAR(100),
  25. trnTerminalNumber VARCHAR(1),trnPayoutAmount FLOAT,trnPayoutCurrency VARCHAR(3),trnPayoutRate FLOAT,bAccount VARCHAR(100),bBankName VARCHAR(100),
  26. --- ONLY FOR RUS
  27. tCardNumber VARCHAR(100),trnRecipientCurrency VARCHAR(3),sResidentC VARCHAR(2),sIDtypeCode VARCHAR(100),
  28. ---ONLY FOR RUSS
  29. tRuBic VARCHAR(100),tRuAcc VARCHAR(100),
  30. pCountry VARCHAR(50),createdDate DATETIME ,controlNo VARCHAR(20)
  31. )
  32. INSERT INTO #TEMPLIST(sIDwhom,sIDtype,sCountry,sName,sLastName,sAddress,sIDnumber,sIDdate,sBirthday,sPhone,sZipCode,sRegion,sCity,sBirthPlace,sIDexpireDate,sResident
  33. ,sCountryStay,sCountryC
  34. ,bName,bLastName,bBirthday,bCountry,bIDdate,bIDwhom,bResident,bBirthPlace,bPhone
  35. ,trnService,trnPickupPoint,trnAmount,trnDate,trnCurrency,trnSendPoint,trnRate,trnReference,trnTerminalNumber,trnPayoutAmount,trnPayoutCurrency,trnPayoutRate
  36. ,pCountry,createdDate,controlNo
  37. )
  38. ----## FOR CASH PAYMENT TRANSACTION ##----
  39. SELECT TOP 10
  40. sIDwhom = 'Government'
  41. ,sIDtype = TS.idType
  42. ,sCountry = dbo.FunCountryCode(TS.country)
  43. ,sName = (SELECT FSN.lastName1 FROM dbo.FNASplitName(Ts.firstName) AS FSN) --LastName
  44. ,sLastName = (SELECT FSN.firstName FROM dbo.FNASplitName(Ts.firstName) AS FSN) ---firstName
  45. ,sAddress = ISNULL(TS.address,TS.city)
  46. ,sIDnumber = TS.idNumber
  47. ,sIDdate = FORMAT(TS.issuedDate,'yyyyMMdd')
  48. ,sBirthday = FORMAT(TS.dob,'yyyyMMdd')
  49. ,sPhone = [dbo].FunContactAPI_MobileFormat(TS.mobile)
  50. ,sZipCode = TS.zipCode
  51. ,sRegion = TS.address
  52. ,sCity = ISNULL(TS.city,'ulaanbaatar')
  53. ,sBirthPlace = TS.nativeCountry
  54. ,sIDexpireDate = FORMAT(TS.validDate,'yyyyMMdd')
  55. ,sResident = CASE WHEN TS.nativeCountry = 'South Korea' THEN 1 ELSE 0 END ------Required---0 not resident, 1 resident
  56. ,sCountryStay = dbo.FunCountryCode(TS.country)
  57. ,sCountryC = dbo.FunCountryCode(TS.nativeCountry)
  58. ,bName = TR.lastName1+ISNULL(' '+tr.lastName2,'')
  59. ,bLastName = TR.firstName+ISNULL(' '+TR.middleName,'')
  60. ,bBirthday = FORMAT(TR.dob,'yyyyMMdd')
  61. ,bCountry = dbo.FunCountryCode(TR.country)
  62. ,bIDdate = FORMAT(tr.issuedDate,'yyyyMMdd')
  63. ,bIDwhom = 'Governmnet'
  64. ,bResident = CASE WHEN TR.country = RT.pCountry THEN 1 ELSE 0 END
  65. ,bBirthPlace = TR.country
  66. ,bPhone = [dbo].FunContactAPI_MobileFormat(TR.mobile)
  67. ,trnService = '2' -- CASH PAYMENT
  68. ---,trnClAmount='456.66'
  69. ,trnPickupPoint = AM.agentCode
  70. ,trnAmount = ROUND(RT.pAmt / ISNULL(RT.pcurrcostRate,1),2)
  71. ,trnDate = FORMAT(RT.approvedDate,'yyyyMMdd')
  72. ,trnCurrency = 'USD' --- settlement currency
  73. ,trnSendPoint = 'TAWX'------Given by contact for GME
  74. ,trnRate = RT.customerRate------to be checked
  75. ,trnReference = dbo.FNADecryptString(RT.controlNo)
  76. ,trnTerminalNumber= '1'
  77. ,trnPayoutAmount = CASE WHEN RT.payoutCurr='MNT' THEN CONVERT(FLOAT,RT.pAmt) ELSE '' END
  78. ,trnPayoutCurrency = CASE WHEN RT.payoutCurr='MNT' THEN RT.payoutCurr ELSE '' END
  79. ,trnPayoutRate = CASE WHEN RT.payoutCurr='MNT' THEN RT.pcurrcostRate ELSE '' END
  80. ,RT.pCountry,RT.createdDate,rt.controlNo
  81. FROM dbo.remitTran AS RT(NOLOCK)
  82. INNER JOIN tranSenders TS (NOLOCK) ON TS.tranId = RT.id
  83. INNER JOIN tranReceivers TR (NOLOCK) ON TR.tranId = RT.id
  84. INNER JOIN agentMaster AM (NOLOCK) ON AM.agentId = RT.pBank
  85. LEFT JOIN agentMaster BM (NOLOCK) ON BM.agentId = RT.pBankBranch
  86. WHERE RT.approvedBy IS NOT NULL AND RT.payStatus = 'Unpaid'
  87. AND RT.tranStatus = 'Payment' and RT.pAgent = 393228
  88. AND RT.paymentMethod ='CASH PAYMENT'
  89. AND TS.issuedDate IS NOT NULL AND TS.dob IS NOT NULL
  90. AND ISNULL(TS.validDate,'2000-01-01') >= CASE WHEN TS.idType <> 'National ID' THEN CAST(GETDATE() AS DATE) ELSE '2000-01-01' END
  91. ----## FOR BANK DEPOSIT TRANSACTION ##----
  92. INSERT INTO #TEMPLIST(sIDwhom,sIDtype,sCountry,sName,sLastName,sAddress,sIDnumber,sIDdate,sBirthday,sPhone,sZipCode,sRegion,sCity,sBirthPlace,sIDexpireDate,sResident
  93. ,sCountryStay,sCountryC
  94. ,bName,bLastName,bBirthday,bCountry,bIDdate,bIDwhom,bResident,bBirthPlace,bPhone
  95. ,trnService,trnPickupPoint,trnAmount,trnDate,trnCurrency,trnSendPoint,trnRate,trnReference,trnTerminalNumber,trnPayoutAmount,trnPayoutCurrency,trnPayoutRate
  96. ,pCountry,createdDate,controlNo
  97. ,bAccount,bBankName,tRuBic,tRuAcc
  98. )
  99. SELECT TOP 10
  100. sIDwhom = 'Government'
  101. ,sIDtype = TS.idType
  102. ,sCountry = dbo.FunCountryCode(TS.country)
  103. ,sName = (SELECT FSN.lastName1 FROM dbo.FNASplitName(Ts.firstName) AS FSN) --LastName
  104. ,sLastName = (SELECT FSN.firstName FROM dbo.FNASplitName(Ts.firstName) AS FSN) ---firstName
  105. ,sAddress = ISNULL(TS.address,TS.city)
  106. ,sIDnumber = TS.idNumber
  107. ,sIDdate = FORMAT(TS.issuedDate,'yyyyMMdd')
  108. ,sBirthday = FORMAT(TS.dob,'yyyyMMdd')
  109. ,sPhone = [dbo].FunContactAPI_MobileFormat(TS.mobile)
  110. ,sZipCode = TS.zipCode
  111. ,sRegion = TS.address
  112. ,sCity = ISNULL(TS.city,'ulaanbaatar')
  113. ,sBirthPlace = TS.nativeCountry
  114. ,sIDexpireDate = FORMAT(TS.validDate,'yyyyMMdd')
  115. ,sResident = CASE WHEN TS.nativeCountry = 'South Korea' THEN 1 ELSE 0 END ------Required---0 not resident, 1 resident
  116. ,sCountryStay = dbo.FunCountryCode(TS.country)
  117. ,sCountryC = dbo.FunCountryCode(TS.nativeCountry)
  118. ,bName = TR.lastName1+ISNULL(' '+tr.lastName2,'')
  119. ,bLastName = TR.firstName+ISNULL(' '+TR.middleName,'')
  120. ,bBirthday = FORMAT(TR.dob,'yyyyMMdd')
  121. ,bCountry = dbo.FunCountryCode(TR.country)
  122. ,bIDdate = FORMAT(tr.issuedDate,'yyyyMMdd')
  123. ,bIDwhom = 'Governmnet'
  124. ,bResident = CASE WHEN TR.country = RT.pCountry THEN 1 ELSE 0 END
  125. ,bBirthPlace = TR.country
  126. ,bPhone = [dbo].FunContactAPI_MobileFormat(TR.mobile)
  127. ,trnService = '5' --BANK DEPOSIT
  128. ---,trnClAmount='456.66'
  129. ,trnPickupPoint = CASE WHEN RT.payoutCurr = 'MNT' THEN AM.routingCode ELSE AM.agentCode END
  130. ,trnAmount = ROUND(RT.pAmt / ISNULL(RT.pcurrcostRate,1),2)
  131. ,trnDate = FORMAT(RT.approvedDate,'yyyyMMdd')
  132. ,trnCurrency = 'USD' --- settlement currency
  133. ,trnSendPoint = 'TAWX'------Given by contact for GME
  134. ,trnRate = RT.customerRate------to be checked
  135. ,trnReference = dbo.FNADecryptString(RT.controlNo)
  136. ,trnTerminalNumber= '1'
  137. ,trnPayoutAmount = CASE WHEN RT.payoutCurr = 'MNT' THEN CONVERT(FLOAT,RT.pAmt) ELSE '' END
  138. ,trnPayoutCurrency = CASE WHEN RT.payoutCurr = 'MNT' THEN RT.payoutCurr ELSE '' END
  139. ,trnPayoutRate = CASE WHEN RT.payoutCurr = 'MNT' THEN RT.pcurrcostRate ELSE '' END
  140. ,rt.pCountry,RT.createdDate,rt.controlNo
  141. ,bAccount = RT.AccountNo
  142. ,bBankName = RT.pBankName
  143. ----ONLY FOR RUSSIA BANK DEPOSIT
  144. ,tRuBic = CASE WHEN RT.payoutCurr = 'RUB' THEN BM.agentCode ELSE '' END
  145. ,tRuAcc = CASE WHEN RT.payoutCurr = 'RUB' THEN RT.AccountNo ELSE '' END
  146. FROM dbo.remitTran AS RT(NOLOCK)
  147. INNER JOIN tranSenders TS (NOLOCK) ON TS.tranId = RT.id
  148. INNER JOIN tranReceivers TR (NOLOCK) ON TR.tranId = RT.id
  149. INNER JOIN agentMaster AM (NOLOCK) ON AM.agentId = RT.pBank
  150. LEFT JOIN agentMaster BM (NOLOCK) ON BM.agentId = RT.pBankBranch
  151. WHERE RT.approvedBy IS NOT NULL AND RT.payStatus = 'Unpaid'
  152. AND RT.tranStatus = 'Payment' and RT.pAgent = 393228
  153. AND RT.paymentMethod ='BANK DEPOSIT'
  154. AND TS.issuedDate IS NOT NULL AND TS.dob IS NOT NULL
  155. AND ISNULL(TS.validDate,'2000-01-01') >= CASE WHEN TS.idType <> 'National ID' THEN CAST(GETDATE() AS DATE) ELSE '2000-01-01' END
  156. ----## FOR CARD PAYMENT TRANSACTION ##----
  157. INSERT INTO #TEMPLIST(trnDate,trnCurrency,trnAmount,trnSendPoint,trnPickupPoint,trnService,sName,sLastName,sBirthday,sCountryC,sZipCode,sRegion,sCity,sAddress
  158. ,sPhone,sIDtype,sIDnumber,sIDdate,sIDwhom,bName,bLastName,bPhone,sIDwhomCode,sResidentC,sBirthPlace,sIDtypeCode,sCountry,tCardNumber,trnRecipientCurrency
  159. ,trnReference,trnTerminalNumber
  160. ,pCountry,createdDate,controlNo
  161. )
  162. SELECT TOP 10
  163. sIDwhom = 'Government'
  164. ,sIDwhomCode = ''
  165. ,sIDtype = TS.idType
  166. ,sCountry = dbo.FunCountryCode(TS.country)
  167. ,sName = (SELECT FSN.lastName1 FROM dbo.FNASplitName(Ts.firstName) AS FSN) --LastName
  168. ,sLastName = (SELECT FSN.firstName FROM dbo.FNASplitName(Ts.firstName) AS FSN) ---firstName
  169. ,sAddress = ISNULL(TS.address,TS.city)
  170. ,sIDnumber = TS.idNumber
  171. ,sIDdate = FORMAT(TS.issuedDate,'yyyyMMdd')
  172. ,sBirthday = FORMAT(TS.dob,'yyyyMMdd')
  173. ,sPhone = [dbo].FunContactAPI_MobileFormat(TS.mobile)
  174. ,sZipCode = TS.zipCode
  175. ,sRegion = TS.address
  176. ,sCity = ISNULL(TS.city,'ulaanbaatar')
  177. ,sBirthPlace = TS.nativeCountry
  178. ,sCountryC = dbo.FunCountryCode(TS.nativeCountry)
  179. ,bName = TR.lastName1+ISNULL(' '+tr.lastName2,'')
  180. ,bLastName = TR.firstName+ISNULL(' '+TR.middleName,'')
  181. ,bPhone = [dbo].FunContactAPI_MobileFormat(TR.mobile)
  182. ,trnService = '10' --CARD PAYMENT
  183. ---,trnClAmount='456.66'
  184. ,trnPickupPoint = CASE WHEN RT.payoutCurr = 'MNT' THEN AM.routingCode ELSE AM.agentCode END
  185. ,trnAmount = ROUND(RT.pAmt / ISNULL(RT.pcurrcostRate,1),2)
  186. ,trnDate = FORMAT(RT.approvedDate,'yyyyMMdd')
  187. ,trnCurrency = 'USD' --- settlement currency
  188. ,trnSendPoint = 'TAWX'------Given by contact for GME
  189. ,trnReference = dbo.FNADecryptString(RT.controlNo)
  190. ,trnTerminalNumber= '1'
  191. ,rt.pCountry,RT.createdDate,rt.controlNo
  192. ---- ONLY FOR RUSSIA CARD PAYMENT
  193. ,tCardNumber = RT.AccountNo
  194. ,trnRecipientCurrency = CASE WHEN RT.payoutCurr = 'RUB' THEN RT.payoutCurr ELSE '' END
  195. ,sResidentC = dbo.FunCountryCode(TS.country)
  196. ,sIDtypeCode = 'GB.1'
  197. FROM dbo.remitTran AS RT(NOLOCK)
  198. INNER JOIN tranSenders TS (NOLOCK) ON TS.tranId = RT.id
  199. INNER JOIN tranReceivers TR (NOLOCK) ON TR.tranId = RT.id
  200. INNER JOIN agentMaster AM (NOLOCK) ON AM.agentId = RT.pBank
  201. LEFT JOIN agentMaster BM (NOLOCK) ON BM.agentId = RT.pBankBranch
  202. WHERE RT.approvedBy IS NOT NULL AND RT.payStatus = 'Unpaid'
  203. AND RT.tranStatus = 'Payment' and RT.pAgent = 393228
  204. AND RT.paymentMethod ='CARD PAYMENT'
  205. AND TS.issuedDate IS NOT NULL AND TS.dob IS NOT NULL
  206. AND ISNULL(TS.validDate,'2000-01-01') >= CASE WHEN TS.idType <> 'National ID' THEN CAST(GETDATE() AS DATE) ELSE '2000-01-01' END
  207. --AND 1=2
  208. --DELETE FROM #TEMP WHERE pCountry ='MONGOLIA' AND createdDate > '2019-07-10 14:00:00'
  209. ALTER TABLE #TEMPLIST ADD IsAlreadyProcessed BIT
  210. UPDATE T SET IsAlreadyProcessed = 1 FROM #TEMPLIST T
  211. INNER JOIN (SELECT CONTROLNO FROM Application_Log.DBO.vwTpApilogs(NOLOCK)
  212. WHERE providerName='contact' AND methodName = 'PayOutgoing'
  213. GROUP BY controlNo HAVING COUNT(1) >= 1 ) V ON V.controlNo = T.trnReference
  214. UPDATE rt SET rt.tranStatus = 'Hold' FROM remitTran rt (NOLOCK)
  215. INNER JOIN #TEMPLIST T ON T.controlNo = rt.controlNo
  216. WHERE RT.payStatus = 'Unpaid' AND RT.tranStatus = 'Payment'
  217. AND RT.pAgent = 393228 AND IsAlreadyProcessed = 1
  218. DELETE FROM #TEMPLIST WHERE IsAlreadyProcessed = 1
  219. ALTER TABLE #TEMPLIST DROP COLUMN controlNo,IsAlreadyProcessed
  220. ALTER TABLE #TEMPLIST DROP COLUMN pCountry,createdDate
  221. SELECT * FROM #TEMPLIST
  222. RETURN
  223. END
  224. ELSE IF @flag='modification-request'
  225. BEGIN
  226. SELECT TOP 1
  227. sIDwhom = 'Government'
  228. ,sIDtype = TS.idType
  229. ,sCountry = dbo.FunCountryCode(TS.country)
  230. ,sName = (SELECT FSN.lastName1 FROM dbo.FNASplitName(Ts.firstName) AS FSN) --LastName
  231. ,sLastName = (SELECT FSN.firstName FROM dbo.FNASplitName(Ts.firstName) AS FSN) ---firstName
  232. ,sSurName = ''
  233. ,sAddress = ISNULL(TS.address,TS.city)
  234. ,sIDnumber = TS.idNumber
  235. ,sIDdate = FORMAT(TS.issuedDate,'yyyyMMdd')
  236. ,sBirthday = FORMAT(TS.dob,'yyyyMMdd')
  237. ,sPhone = [dbo].FunContactAPI_MobileFormat(TS.mobile)
  238. ,sZipCode = TS.zipCode
  239. ,sRegion = TS.address
  240. ,sCity = ISNULL(TS.city,'ulaanbaatar')
  241. ,sBirthPlace = TS.nativeCountry
  242. ,sIDexpireDate = FORMAT(TS.validDate,'yyyyMMdd')
  243. ,sResident = CASE WHEN TS.nativeCountry = 'South Korea' THEN 1 ELSE 0 END ------Required---0 not resident, 1 resident
  244. ,sCountryStay = dbo.FunCountryCode(TS.country)
  245. ,sCountryC = dbo.FunCountryCode(TS.nativeCountry)
  246. ,bName = TR.lastName1+ISNULL(' '+tr.lastName2,'')
  247. ,bLastName = TR.firstName+ISNULL(' '+TR.middleName,'')
  248. ,bSurName = ''
  249. ,bBirthday = FORMAT(TR.dob,'yyyyMMdd')
  250. ,bCountry = dbo.FunCountryCode(TR.country)
  251. ,bIDdate = FORMAT(tr.issuedDate,'yyyyMMdd')
  252. ,bIDwhom = 'Governmnet'
  253. ,bResident = CASE WHEN TR.country = RT.pCountry THEN 1 ELSE 0 END
  254. ,bBirthPlace = TR.country
  255. ,bPhone = [dbo].FunContactAPI_MobileFormat(TR.mobile)
  256. ,trnService = CASE WHEN RT.paymentMethod ='BANK DEPOSIT' THEN '5' WHEN RT.paymentMethod ='Transfer To Card' THEN '10' ELSE '2' END
  257. ---,trnClAmount='456.66'
  258. ,trnPickupPoint = CASE WHEN RT.paymentMethod ='BANK DEPOSIT' AND RT.payoutCurr='MNT' THEN AM.routingCode ELSE AM.agentCode END
  259. ,trnAmount = ROUND(RT.pAmt / ISNULL(RT.pcurrcostRate,1),2)
  260. ,trnDate = FORMAT(RT.approvedDate,'yyyyMMdd')
  261. ,trnCurrency = 'USD' --- settlement currency
  262. ,trnSendPoint = 'TAWX'------Given by contact for GME
  263. ,trnRate = RT.customerRate------to be checked
  264. ,trnReference = dbo.FNADecryptString(RT.controlNo)
  265. ,trnTerminalNumber= '1'
  266. ,TransactionID = RT.contNo
  267. ,trnPayoutAmount = CASE WHEN RT.payoutCurr='MNT' THEN CONVERT(FLOAT,RT.pAmt) ELSE '' END
  268. ,trnPayoutCurrency = CASE WHEN RT.payoutCurr='MNT' THEN RT.payoutCurr ELSE '' END
  269. ,trnPayoutRate = CASE WHEN RT.payoutCurr='MNT' THEN RT.pcurrcostRate ELSE '' END
  270. ,bAccount = CASE WHEN RT.paymentMethod ='BANK DEPOSIT' THEN RT.AccountNo ELSE '' END
  271. ,bBankName = CASE WHEN RT.paymentMethod ='BANK DEPOSIT' THEN RT.pBankName ELSE '' END
  272. ,providerName = 'CONTACT'
  273. ,rt.payStatus
  274. ,GmeControlNo = dbo.FNADecryptString(controlNo)
  275. ---- ONLY FOR RUSSIA CARD PAYMENT
  276. --,tCardNumber = CASE WHEN RT.paymentMethod ='Transfer To Card' THEN RT.AccountNo ELSE '' END
  277. --,trnRecipientCurrency = CASE WHEN RT.paymentMethod ='Transfer To Card' AND RT.payoutCurr = 'RUB' THEN RT.payoutCurr ELSE '' END
  278. --,sResidentC = CASE WHEN RT.paymentMethod ='Transfer To Card' THEN dbo.FunCountryCode(TS.country) ELSE '' END
  279. --,sIDtypeCode = CASE WHEN RT.payoutCurr = 'RUB' THEN 'GB.1' ELSE '' END
  280. ----ONLY FOR RUSSIA BANK DEPOSIT
  281. ,tRuBic = CASE WHEN RT.paymentMethod ='BANK DEPOSIT' AND RT.payoutCurr = 'RUB' THEN BM.agentCode ELSE '' END
  282. ,tRuAcc = CASE WHEN RT.paymentMethod ='BANK DEPOSIT' AND RT.payoutCurr = 'RUB' THEN RT.AccountNo ELSE '' END
  283. FROM dbo.remitTran AS RT(NOLOCK)
  284. INNER JOIN tranSenders TS (NOLOCK) ON TS.tranId = RT.id
  285. INNER JOIN tranReceivers TR (NOLOCK) ON TR.tranId = RT.id
  286. INNER JOIN agentMaster AM (NOLOCK) ON AM.agentId = RT.pBank
  287. LEFT JOIN agentMaster BM (NOLOCK) ON BM.agentId = RT.pBankBranch
  288. WHERE RT.approvedBy IS NOT NULL AND RT.payStatus in('Post')
  289. and RT.pAgent = 393228
  290. AND TS.issuedDate is not null and TS.dob IS NOT NULL
  291. AND RT.tranStatus = 'ModificationRequest'
  292. AND RT.controlNo = DBO.FNAEncryptString(@ControlNo)
  293. RETURN
  294. END
  295. ELSE IF @flag='sync-list-Contact'
  296. BEGIN
  297. SELECT RT.id AS TranId, RT.ContNo AS DocId
  298. FROM dbo.remitTran AS RT(NOLOCK)
  299. WHERE RT.pAgent = 393228
  300. AND RT.tranStatus='Payment'
  301. and RT.payStatus='Post'
  302. END
  303. ELSE IF @flag='mark-paid-contact'
  304. BEGIN
  305. UPDATE remitTran
  306. SET payStatus = 'Paid'
  307. ,tranStatus = 'Paid'
  308. ,paidDate = getdate()
  309. ,paidDateLocal = GETUTCDATE()
  310. ,paidBy = 'Scheduler'
  311. WHERE id = @id AND payStatus = 'Post'
  312. AND tranStatus = 'payment' AND pAgent = 393228
  313. SELECT '0' ErrorCode,'Update success' Msg, NULL Id
  314. END
  315. ELSE IF @flag='mark-post-contact'
  316. BEGIN
  317. IF EXISTS(SELECT TOP 1 'X' FROM remitTran(NOLOCK) WHERE controlNo = Dbo.FNAEncryptString(@ControlNo) AND pAgent = 393228 AND tranStatus = 'Modification')
  318. BEGIN
  319. UPDATE remitTran SET
  320. tranStatus = 'Payment'
  321. WHERE controlNo = Dbo.FNAEncryptString(@ControlNo)
  322. AND pAgent = 393228 AND tranStatus = 'Modification' AND payStatus = 'Post'
  323. END
  324. ELSE
  325. BEGIN
  326. UPDATE remitTran SET
  327. payStatus = 'Post'
  328. ,postedBy = 'system'
  329. ,postedDate = GETDATE()
  330. ,postedDateLocal= GETUTCDATE()
  331. ,controlNo2 = controlNo
  332. ,ContNo = @id
  333. WHERE controlNo = Dbo.FNAEncryptString(@ControlNo)
  334. AND pAgent = 393228 AND tranStatus = 'payment' AND payStatus = 'Unpaid'
  335. END
  336. SELECT '0' ErrorCode,'Update success' Msg, NULL Id
  337. END
  338. END
  339. GO