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.

490 lines
29 KiB

3 months ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[PROC_DAILYPAID_AND_SENDING] Script Date: 4/12/2024 5:19:27 AM ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. ALTER PROC [dbo].[PROC_DAILYPAID_AND_SENDING] @flag VARCHAR(20)
  9. ,@user VARCHAR(30) = NULL
  10. ,@startDate VARCHAR(10) = NULL
  11. ,@endDate VARCHAR(10) = NULL
  12. ,@sAgentId BIGINT = NULL
  13. ,@payoutPartnerId BIGINT = NULL
  14. ,@payoutPartnerName VARCHAR(100) = NULL
  15. ,@sortBy VARCHAR(50) = NULL
  16. ,@sortOrder VARCHAR(5) = NULL
  17. ,@pageSize INT = NULL
  18. ,@pageNumber INT = NULL
  19. ,@trantype VARCHAR(5) = NULL
  20. ,@verificationType VARCHAR(50) = NULL
  21. AS
  22. --------------------------------------
  23. --July 20 @JME-562 -> add customerid column
  24. -- #509 - Add transactionType column
  25. -- #718 - @flag = 'send'
  26. -- #1254 - @flag = 'send' , add source of deposit
  27. -- #1440 - Payment type , @flag = 'send'
  28. --------------------------------------
  29. BEGIN TRY
  30. DECLARE @select_field_list VARCHAR(MAX)
  31. ,@extra_field_list VARCHAR(MAX)
  32. ,@table VARCHAR(MAX)
  33. ,@sql_filter VARCHAR(MAX)
  34. ,@sAgentName VARCHAR(150)
  35. ,@pAgentName VARCHAR(150)
  36. ,@endDateNew VARCHAR(20)
  37. ,@usertype VARCHAR(20)
  38. SELECT @sAgentName = agentName
  39. FROM dbo.agentMaster
  40. WHERE agentid = @sAgentId
  41. SELECT @pAgentName = agentName
  42. FROM dbo.agentMaster
  43. WHERE agentid = @payoutPartnerId
  44. SET @endDateNew = @endDate + ' 23:59:59'
  45. IF @flag = 'PAID'
  46. BEGIN
  47. SELECT ROW_NUMBER() OVER (
  48. ORDER BY rt.id
  49. ) SN
  50. ,rt.id [Receipt No]
  51. ,convert(VARCHAR, rt.createdDate, 121) [Creation Date]
  52. ,convert(VARCHAR, rt.paidDate, 121) [Payment Date]
  53. ,rt.createdBy [User Name]
  54. ,rt.pSuperAgentName [Payment Office]
  55. ,rt.sCountry [Country Of Origin]
  56. ,rt.receiverName [Beneficiary]
  57. ,tr.mobile [Receiver Mobile]
  58. ,rt.tAmt [Amount To Send]
  59. ,rt.collCurr [Coll Currency]
  60. ,rt.pAmt [Amount to Receive]
  61. ,rt.payoutCurr [Pay Currency]
  62. ,rt.pCountry [Receiver country]
  63. ,CASE rt.paymentMethod
  64. WHEN 'BANK DEPOSIT'
  65. THEN 'BT'
  66. WHEN 'CASH PAYMENT'
  67. THEN 'CPU'
  68. END [Payment Type]
  69. ,dbo.FNADecryptString(rt.controlNo) [Control Number]
  70. INTO #PAID_RPT
  71. FROM remittran rt(NOLOCK)
  72. INNER JOIN dbo.tranReceivers tr(NOLOCK) ON tr.tranId = rt.id
  73. WHERE pSuperAgent = ISNULL(@payoutPartnerId, pSuperAgent)
  74. AND sAgent = ISNULL(@sAgentId, sAgent)
  75. AND paidDate BETWEEN @startDate
  76. AND @endDateNew
  77. AND (
  78. PAYSTATUS = 'PAID'
  79. OR transtatus = 'Paid'
  80. )
  81. AND tranType = ISNULL(@trantype,tranType)
  82. ORDER BY rt.createdDate
  83. SELECT *
  84. FROM #PAID_RPT
  85. UNION ALL
  86. SELECT ROW_NUMBER() OVER (
  87. ORDER BY rt.id
  88. ) SN
  89. ,rt.id [Receipt No]
  90. ,convert(VARCHAR, rt.createdDate, 121) [Creation Date]
  91. ,[Payment Date] = 'Previously paid but cancelled'
  92. ,rt.createdBy [User Name]
  93. ,rt.pSuperAgentName [Payment Office]
  94. ,rt.sCountry [Country Of Origin]
  95. ,rt.receiverName [Beneficiary]
  96. ,tr.mobile [Receiver Mobile]
  97. ,rt.tAmt * - 1 [Amount To Send]
  98. ,rt.collCurr [Coll Currency]
  99. ,rt.pAmt [Amount to Receive]
  100. ,rt.payoutCurr [Pay Currency]
  101. ,rt.pCountry [Receiver country]
  102. ,CASE rt.paymentMethod
  103. WHEN 'BANK DEPOSIT'
  104. THEN 'BT'
  105. WHEN 'CASH PAYMENT'
  106. THEN 'CPU'
  107. END [Payment Type]
  108. ,dbo.FNADecryptString(rt.controlNo) [Control Number]
  109. FROM remittran rt(NOLOCK)
  110. INNER JOIN dbo.tranReceivers tr(NOLOCK) ON tr.tranId = rt.id
  111. WHERE pSuperAgent = ISNULL(@payoutPartnerId, pSuperAgent)
  112. AND sAgent = ISNULL(@sAgentId, sAgent)
  113. AND incrRpt = 'c'
  114. AND CANCELAPPROVEDDATE BETWEEN @startDate
  115. AND @endDateNew
  116. AND tranType =ISNULL(@trantype,tranType)
  117. UNION ALL
  118. SELECT ROW_NUMBER() OVER (
  119. ORDER BY rt.id
  120. ) SN
  121. ,rt.id [Receipt No]
  122. ,convert(VARCHAR, '2023-01-06 9:45:35 AM', 121) [Creation Date]
  123. ,[Payment Date] = 'Previously paid but cancelled'
  124. ,rt.createdBy [User Name]
  125. ,rt.pSuperAgentName [Payment Office]
  126. ,rt.sCountry [Country Of Origin]
  127. ,rt.receiverName [Beneficiary]
  128. ,tr.mobile [Receiver Mobile]
  129. ,rt.tAmt * - 1 [Amount To Send]
  130. ,rt.collCurr [Coll Currency]
  131. ,rt.pAmt [Amount to Receive]
  132. ,rt.payoutCurr [Pay Currency]
  133. ,rt.pCountry [Receiver country]
  134. ,CASE rt.paymentMethod
  135. WHEN 'BANK DEPOSIT'
  136. THEN 'BT'
  137. WHEN 'CASH PAYMENT'
  138. THEN 'CPU'
  139. END [Payment Type]
  140. ,dbo.FNADecryptString(rt.controlNo) [Control Number]
  141. FROM remittran rt(NOLOCK)
  142. INNER JOIN dbo.tranReceivers tr(NOLOCK) ON tr.tranId = rt.id
  143. WHERE controlNo= dbo.encryptDb('33TF113141256')
  144. AND CASE WHEN '2023-01-06' BETWEEN @startDate AND @endDateNew THEN 1 ELSE 0 END= 1
  145. --AND incrRpt = 'c'
  146. PRINT @startDate;
  147. PRINT @endDateNew;
  148. EXEC proc_errorHandler '0'
  149. ,'Report has been prepared successfully.'
  150. ,NULL
  151. SELECT 'Paying Agent' head
  152. ,ISNULL(@pAgentName, 'All') value
  153. UNION ALL
  154. SELECT 'From Date' head
  155. ,@startDate value
  156. UNION ALL
  157. SELECT 'To Date' head
  158. ,@endDate value
  159. SELECT 'Daily Paid Report Agent' title
  160. END
  161. IF @flag = 'SEND'
  162. BEGIN
  163. DECLARE @sql1 VARCHAR(max)
  164. ,@sql2 VARCHAR(max)
  165. ,@SQL VARCHAR(MAX)
  166. SELECT @usertype = usertype
  167. FROM applicationusers
  168. WHERE username = @user
  169. SET @sql1 = '
  170. SELECT
  171. [IME_NO] = ''"''+ CASE WHEN ''' + ISNULL(@usertype, '') +
  172. '''=''A'' THEN ''<a href="../SearchTxnReport/SearchTransaction.aspx?commentFlag=N&showBankDetail=N&tranId=''+CAST(RT.ID AS VARCHAR)+''">''+DBO.FNADECRYPTSTRING(CONTROLNO)+''</a>''
  173. ELSE ''<a href="/Remit/Transaction/Reports/SearchTransaction.aspx?commentFlag=N&showBankDetail=N&tranId=''+CAST(RT.ID AS VARCHAR)+''">''+DBO.FNADECRYPTSTRING(CONTROLNO)+''</a>'' END
  174. ,[Serial No] = RT.id
  175. ,[TRUST_PAYMENT_ID] = RT.transactionreference
  176. ,[TXN_CHANNEL] = CASE WHEN (RT.tranType = ''M'' AND RT.isOnlineTxn = ''M'') THEN ''Mobile''
  177. WHEN (RT.tranType = ''M'' AND RT.isOnlineTxn = ''O'') THEN ''Web Online''
  178. WHEN RT.tranType = ''I'' THEN ''CR Panel''
  179. ELSE RT.tranType END
  180. ,[DATE_SEND] =CONVERT(VARCHAR,RT.createdDate,111)
  181. ,[DATE_PAID] = CONVERT(VARCHAR,RT.paidDate,111)
  182. --,[MEMBERSHIPID] = ISNULL(TS.membershipId, CM.MEMBERSHIPID)
  183. ,[MEMBERSHIPID] = ''<a href="/Remit/Administration/CustomerSetup/CustomerDetails.aspx?customerId=''
  184. + CAST(CM.CUSTOMERID AS VARCHAR) + ''">''
  185. + ISNULL(TS.membershipId, CM.MEMBERSHIPID) +
  186. ''</a>''
  187. -- ''</a>''
  188. ,[PAYOUT_PARTNER] = RT.pAgentName
  189. ,[SENDER_NAME] = senderName
  190. ,[SENDER_MOBILE] = ''"''+ TS.MOBILE
  191. ,[RECEIVER_NAME]= receiverName
  192. ,[EX_RATE] = customerRate
  193. ,[PAYMENT_TYPE] = paymentMethod
  194. ,[DEPOSIT_TYPE] = RT.depositType
  195. ,[COLL_AMT] = cAmt
  196. ,[COLL_CURR] = collCurr
  197. ,[REWARD_P] = RT.rewardPoints
  198. ,[RATE_MARGIN] = RT.customerPremium
  199. ,[TRANSFER_AMT] = tAmt
  200. ,[SEND_CURR] = collCurr
  201. ,[SC_FEE] = serviceCharge
  202. ,[CHARGE_CURR] = collCurr
  203. ,[RECEIVED_AMT] = pAmt
  204. ,[RECEIVED_CURR]= payoutCurr
  205. ,[APPROVED_BY] = rt.approvedBy
  206. ,TRANSTATUS = transtatus
  207. ,PAYSTATUS = CASE
  208. WHEN RT.PAYSTATUS = ''Paid'' THEN ''PAID''
  209. WHEN RT.PAYSTATUS = ''Post'' THEN ''POST''
  210. WHEN RT.PAYSTATUS = ''Cancel'' THEN ''CANCEL''
  211. ELSE RT.PAYSTATUS
  212. END
  213. ,[CREATED_DATE] = rt.createddate
  214. ,[VERFIY_DATE] = rt.verifiedDate
  215. ,[VERFIY_BY] = rt.verifiedBy
  216. ,RT.sBranch
  217. ,[COST_RATE] =pDateCostRate
  218. FROM REMITTRANTEMP RT(NOLOCK)
  219. LEFT JOIN TRANSENDERSTEMP TS (NOLOCK) ON TS.TRANID = RT.ID
  220. LEFT JOIN CUSTOMERMASTER CM (NOLOCK) ON CM.CUSTOMERID = TS.CUSTOMERID
  221. WHERE 1=1'
  222. SET @sql2 = '
  223. SELECT
  224. [IME_NO] = ''"''+ CASE WHEN ''' + ISNULL(@usertype, '') +
  225. ''' = ''A'' THEN ''<a href="../SearchTxnReport/SearchTransaction.aspx?commentFlag=N&showBankDetail=N&tranId=''+CAST(RT.ID AS VARCHAR)+''">''+DBO.FNADECRYPTSTRING(CONTROLNO)+''</a>''
  226. ELSE ''<a href="/Remit/Transaction/Reports/SearchTransaction.aspx?commentFlag=N&showBankDetail=N&tranId=''+CAST(RT.ID AS VARCHAR)+''">''+DBO.FNADECRYPTSTRING(CONTROLNO)+''</a>'' END
  227. ,[Serial No] = RT.holdtranid
  228. ,[TRUST_PAYMENT_ID] = RT.transactionreference
  229. ,[TXN_CHANNEL] = CASE WHEN (RT.tranType = ''M'' AND RT.isOnlineTxn = ''M'') THEN ''Mobile''
  230. WHEN (RT.tranType = ''M'' AND RT.isOnlineTxn = ''O'') THEN ''Web Online''
  231. WHEN RT.tranType = ''I'' THEN ''CR Panel''
  232. ELSE RT.tranType END
  233. ,[DATE_SEND] =CONVERT(VARCHAR,RT.approvedDate,111)
  234. ,[DATE_PAID] = CONVERT(VARCHAR,RT.paidDate,111)
  235. --,[MEMBERSHIPID] = ISNULL(TS.membershipId, CM.MEMBERSHIPID)
  236. ,[MEMBERSHIPID] = ''<a href="/Remit/Administration/CustomerSetup/CustomerDetails.aspx?customerId='' +CAST(CM.CUSTOMERID AS VARCHAR) + ''">'' +ISNULL(TS.membershipId, CM.MEMBERSHIPID) + ''</a>''
  237. -- +CAST(CM.CUSTOMERID AS VARCHAR) +
  238. -- ''>''
  239. -- + ISNULL(TS.membershipId, CM.MEMBERSHIPID) +
  240. -- ''</a>''
  241. ,[PAYOUT_PARTNER] = RT.pAgentName
  242. ,[SENDER_NAME] = senderName
  243. ,[SENDER_MOBILE] = ''"''+ TS.MOBILE
  244. ,[RECEIVER_NAME]= receiverName
  245. ,[EX_RATE] = customerRate
  246. ,[PAYMENT_TYPE] = paymentMethod
  247. ,[DEPOSIT_TYPE] = RT.depositType
  248. ,[COLL_AMT] = cAmt
  249. ,[COLL_CURR] = collCurr
  250. ,[REWARD_P] = RT.rewardPoints
  251. ,[RATE_MARGIN] = RT.customerPremium
  252. ,[TRANSFER_AMT] = tAmt
  253. ,[SEND_CURR] = collCurr
  254. ,[SC_FEE] = serviceCharge
  255. ,[CHARGE_CURR] = collCurr
  256. ,[RECEIVED_AMT] = pAmt
  257. ,[RECEIVED_CURR]= payoutCurr
  258. ,[APPROVED_BY] = rt.approvedBy
  259. ,TRANSTATUS = transtatus
  260. ,PAYSTATUS = CASE
  261. WHEN RT.PAYSTATUS = ''Paid'' THEN ''PAID''
  262. WHEN RT.PAYSTATUS = ''Post'' THEN ''POST''
  263. WHEN RT.PAYSTATUS = ''Cancel'' THEN ''CANCEL''
  264. ELSE RT.PAYSTATUS
  265. END
  266. ,[CREATED_DATE] = rt.createddate
  267. ,[VERFIY_DATE] = rt.verifiedDate
  268. ,[VERFIY_BY] = rt.verifiedBy
  269. ,RT.sBranch
  270. ,[COST_RATE] =pDateCostRate
  271. FROM REMITTRAN RT(NOLOCK)
  272. LEFT JOIN TRANSENDERS TS (NOLOCK) ON TS.TRANID = RT.ID
  273. LEFT JOIN CUSTOMERMASTER CM (NOLOCK) ON CM.CUSTOMERID = TS.CUSTOMERID
  274. where 1=1 '
  275. IF isnull(@startDate, '') <> ''
  276. AND isnull(@endDate, '') <> ''
  277. BEGIN
  278. SET @sql1 = @sql1 + ' and rt.createddate BETWEEN ''' + @startDate + ''' AND ''' + @endDate + '''+'' 23:59:59'''
  279. SET @sql2 = @sql2 + ' and rt.createddate BETWEEN ''' + @startDate + ''' AND ''' + @endDate + '''+'' 23:59:59'''
  280. END
  281. IF ISNULL(@verificationType, '') <> ''
  282. BEGIN
  283. IF @verificationType = 'verified'
  284. BEGIN
  285. SET @sql1 = @sql1 + ' AND rt.verifiedDate IS NOT NULL AND rt.verifiedBy IS NOT NULL'
  286. SET @sql2 = @sql2 + ' AND rt.verifiedDate IS NOT NULL AND rt.verifiedBy IS NOT NULL'
  287. END
  288. ELSE IF @verificationType = 'unverified'
  289. BEGIN
  290. SET @sql1 = @sql1 + ' AND rt.verifiedDate IS NULL AND rt.verifiedBy IS NULL'
  291. SET @sql2 = @sql2 + ' AND rt.verifiedDate IS NULL AND rt.verifiedBy IS NULL'
  292. END
  293. END
  294. SET @SQL = 'select
  295. [IME_NO]
  296. ,[Serial No]
  297. ,[TRUST_PAYMENT_ID]
  298. ,[TXN_CHANNEL]
  299. ,[DATE_SEND]
  300. --,[DATE_PAID]
  301. ,[MEMBERSHIPID]
  302. ,[PAYOUT_PARTNER]
  303. ,[SENDER_NAME]
  304. ,[SENDER_MOBILE]
  305. ,[RECEIVER_NAME]
  306. ,[PAYMENT_TYPE]
  307. ,[DEPOSIT_TYPE]
  308. ,[COLL_AMT]
  309. ,[COLL_CURR]
  310. ,[SC_FEE]
  311. ,[REWARD_P]
  312. ,[TRANSFER_AMT]
  313. ,[EX_RATE]
  314. ,[RATE_MARGIN]
  315. --,[COST_RATE]
  316. ,[RECEIVED_AMT]
  317. ,[RECEIVED_CURR]
  318. ,[VERFIY_DATE]
  319. ,[VERFIY_BY]
  320. ,[APPROVED_BY]
  321. ,TRANSTATUS
  322. ,PAYSTATUS
  323. from (
  324. ' + @sql1 + ' union all ' + @sql2 + '
  325. ) xyz
  326. '
  327. SET @SQL = @SQL + 'order by xyz.[CREATED_DATE] desc'
  328. PRINT (@SQL)
  329. EXEC (@SQL)
  330. EXEC proc_errorHandler '0'
  331. ,'Report has been prepared successfully.'
  332. ,NULL
  333. SELECT 'Verification Type' head
  334. ,@verificationType value
  335. UNION ALL
  336. SELECT 'From Date' head
  337. ,@startDate value
  338. UNION ALL
  339. SELECT 'To Date' head
  340. ,@endDate value
  341. SELECT 'Verified/ Unverified txn report' title
  342. END
  343. IF @flag = 'NoWorkPermit'
  344. BEGIN
  345. SELECT ROW_NUMBER() OVER (
  346. ORDER BY RT.id
  347. ) SN
  348. ,RT.id [Transaction No]
  349. ,dbo.FNADecryptString(controlNo) [Control Number]
  350. ,collMode [Deposit Type]
  351. ,'Sent' [Tran Status]
  352. ,CASE paymentMethod
  353. WHEN 'BANK DEPOSIT'
  354. THEN 'BT'
  355. WHEN 'CASH PAYMENT'
  356. THEN 'CPU'
  357. END [Payment Type]
  358. ,createdDate [Date]
  359. ,pSuperAgentName [Corresponding]
  360. ,senderName [Sender]
  361. ,createdBy [Cashier]
  362. ,tAmt [Money Send]
  363. ,collCurr [Currency]
  364. ,serviceCharge [Commision]
  365. ,cAmt [Total Amount]
  366. ,pAmt [Money Received]
  367. ,payoutCurr [PayCCY]
  368. ,pCurrCostRate [Settlement Rate]
  369. ,customerRate [CustRate]
  370. ,payoutCurr [Currency Type]
  371. ,pCountry [Receiver Country]
  372. FROM remittran RT(NOLOCK)
  373. INNER JOIN TRANSENDERS TS(NOLOCK) ON TS.TRANID = RT.ID
  374. WHERE pSuperAgent = ISNULL(@payoutPartnerId, pSuperAgent)
  375. AND sAgent = ISNULL(@sAgentId, sAgent)
  376. AND createdDate BETWEEN @startDate
  377. AND @endDateNew
  378. AND TS.VISASTATUS IN (
  379. '11387'
  380. ,'11418'
  381. ,'11419'
  382. )
  383. UNION ALL
  384. SELECT ROW_NUMBER() OVER (
  385. ORDER BY RT.id
  386. ) SN
  387. ,RT.id [Transaction No]
  388. ,dbo.FNADecryptString(controlNo) [Control Number]
  389. ,collMode [Deposit Type]
  390. ,'Cancel' [Tran Status]
  391. ,CASE paymentMethod
  392. WHEN 'BANK DEPOSIT'
  393. THEN 'BT'
  394. WHEN 'CASH PAYMENT'
  395. THEN 'CPU'
  396. END [Payment Type]
  397. ,createdDate [Date]
  398. ,pSuperAgentName [Corresponding]
  399. ,senderName [Sender]
  400. ,createdBy [Cashier]
  401. ,- 1 * tAmt [Money Send]
  402. ,collCurr [Currency]
  403. ,- 1 * serviceCharge [Commision]
  404. ,- 1 * cAmt [Total Amount]
  405. ,- 1 * pAmt [Money Received]
  406. ,payoutCurr [PayCCY]
  407. ,pCurrCostRate [Settlement Rate]
  408. ,customerRate [CustRate]
  409. ,payoutCurr [Currency Type]
  410. ,pCountry [Receiver Country]
  411. FROM remittran RT(NOLOCK)
  412. INNER JOIN TRANSENDERS TS(NOLOCK) ON TS.TRANID = RT.ID
  413. WHERE pSuperAgent = ISNULL(@payoutPartnerId, pSuperAgent)
  414. AND sAgent = ISNULL(@sAgentId, sAgent)
  415. AND cancelApprovedDate BETWEEN @startDate
  416. AND @endDateNew
  417. AND tranStatus IN ('Cancel')
  418. AND TS.VISASTATUS IN (
  419. '11387'
  420. ,'11418'
  421. ,'11419'
  422. )
  423. EXEC proc_errorHandler '0'
  424. ,'Report has been prepared successfully.'
  425. ,NULL
  426. SELECT 'Sending Agent' head
  427. ,@sAgentName value
  428. UNION ALL
  429. SELECT 'From Date' head
  430. ,@startDate value
  431. UNION ALL
  432. SELECT 'To Date' head
  433. ,@endDate value
  434. SELECT 'Transaction Report (No Work Permit)' title
  435. END
  436. END TRY
  437. BEGIN CATCH
  438. IF @@TRANCOUNT > 0
  439. ROLLBACK TRANSACTION
  440. SELECT 1 ERRORCODE
  441. ,ERROR_MESSAGE() MSG
  442. ,NULL ID
  443. END CATCH