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.

418 lines
27 KiB

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
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_TRANSACTION_REPORT] Script Date: 1/4/2024 12:11:34 PM ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. ALTER PROC [dbo].[PROC_TRANSACTION_REPORT] @flag VARCHAR(10) = NULL
  9. ,@user VARCHAR(30) = NULL
  10. ,@pCountry VARCHAR(100) = NULL
  11. ,@pAgent VARCHAR(40) = NULL
  12. ,@pBranch VARCHAR(40) = NULL
  13. ,@sBranch VARCHAR(40) = NULL
  14. ,@depositType VARCHAR(40) = NULL
  15. ,@searchBy VARCHAR(40) = NULL
  16. ,@searchByValue VARCHAR(40) = NULL
  17. ,@orderBy VARCHAR(40) = NULL
  18. ,@status VARCHAR(40) = NULL
  19. ,@paymentType VARCHAR(40) = NULL
  20. ,@dateField VARCHAR(50) = NULL
  21. ,@dateFrom VARCHAR(20) = NULL
  22. ,@dateTo VARCHAR(20) = NULL
  23. ,@transType VARCHAR(40) = NULL
  24. ,@displayTranNo CHAR(1) = NULL
  25. ,@pageNumber INT = NULL
  26. ,@pageSize INT = NULL
  27. ,@rptType CHAR(1) = NULL
  28. ,@transactionFrom CHAR(1) = NULL
  29. AS
  30. --------------------------------------
  31. -- #509 - Add transactionType column
  32. -- #19331 - Change for transaction report
  33. -- selected tranType in @rptType = 's'
  34. --------------------------------------
  35. SET NOCOUNT ON;
  36. SET CONCAT_NULL_YIELDS_NULL OFF;
  37. BEGIN
  38. DECLARE @FilterList TABLE (
  39. head VARCHAR(50)
  40. ,value VARCHAR(5000)
  41. )
  42. DECLARE @SQL VARCHAR(MAX)
  43. ,@usertype VARCHAR(5)
  44. ,@depositTypeText VARCHAR(50)
  45. ,@pAgentFilter VARCHAR(100)
  46. ,@depositTypeFilter VARCHAR(100)
  47. IF @sBranch IS NOT NULL
  48. INSERT INTO @FilterList
  49. SELECT 'Branch Name'
  50. ,agentName
  51. FROM agentMaster WITH (NOLOCK)
  52. WHERE agentId = @sBranch
  53. IF @searchByValue IS NOT NULL
  54. AND @searchBy IS NOT NULL
  55. BEGIN
  56. INSERT INTO @FilterList
  57. SELECT CASE @searchBy
  58. WHEN 'cid'
  59. THEN 'Customer ID'
  60. WHEN 'sName'
  61. THEN 'Sender Name'
  62. WHEN 'rName'
  63. THEN 'Receiver Name'
  64. WHEN 'icn'
  65. THEN 'Control No'
  66. END
  67. ,@searchByValue
  68. END
  69. SET @paymentType = CASE
  70. WHEN @paymentType = '1'
  71. THEN 'CASH PAYMENT'
  72. WHEN @paymentType = '2'
  73. THEN 'BANK DEPOSIT'
  74. WHEN @paymentType IS NULL
  75. THEN ''
  76. ELSE @paymentType
  77. END
  78. --ISNULL(@paymentType,'')
  79. SELECT @depositTypeText = detailTitle
  80. FROM staticDataValue
  81. WHERE typeID = '8109'
  82. AND detailDesc = @depositType
  83. SET @depositType = @depositTypeText
  84. SELECT @usertype = usertype
  85. FROM applicationusers
  86. WHERE username = @user
  87. IF @rptType = 's'
  88. BEGIN
  89. DECLARE @sql1 VARCHAR(max)
  90. ,@sql2 VARCHAR(max)
  91. DECLARE @TotalCount INT
  92. SET @sql1 = '
  93. SELECT
  94. [IME_NO] = ''"''+ CASE WHEN ''' + ISNULL(@usertype, '') +
  95. '''=''A'' THEN ''<a href="../SearchTxnReport/SearchTransaction.aspx?commentFlag=N&showBankDetail=N&tranId=''+CAST(RT.ID AS VARCHAR)+''">''+DBO.FNADECRYPTSTRING(CONTROLNO)+''</a>''
  96. ELSE ''<a href="/Remit/Transaction/Reports/SearchTransaction.aspx?commentFlag=N&showBankDetail=N&tranId=''+CAST(RT.ID AS VARCHAR)+''">''+DBO.FNADECRYPTSTRING(CONTROLNO)+''</a>'' END
  97. ,[Serial No] = RT.id
  98. ,[TRUST_PAYMENT_ID] = RT.transactionreference
  99. ,[TXN_CHANNEL] = CASE WHEN (RT.tranType = ''M'' AND RT.isOnlineTxn = ''M'') THEN ''Mobile''
  100. WHEN (RT.tranType = ''M'' AND RT.isOnlineTxn = ''O'') THEN ''Web Online''
  101. WHEN RT.tranType = ''I'' THEN ''CR Panel''
  102. ELSE RT.tranType END
  103. ,[DATE_SEND] =CONVERT(VARCHAR,RT.createdDate,111)
  104. ,[DATE_PAID] = CONVERT(VARCHAR,RT.paidDate,111)
  105. --,[MEMBERSHIPID] = ISNULL(TS.membershipId, CM.MEMBERSHIPID)
  106. ,[MEMBERSHIPID] = ''<a href="/Remit/Administration/CustomerSetup/CustomerDetails.aspx?customerId=''+ CAST(CM.CUSTOMERID AS VARCHAR) + ''">'' + ISNULL(TS.membershipId, CM.MEMBERSHIPID) +''</a>''
  107. -- ''</a>''
  108. ,[PAYOUT_PARTNER] = RT.pAgentName
  109. ,[SENDER_NAME] = senderName
  110. ,[SENDER_MOBILE] = ''"''+ TS.MOBILE
  111. ,[RECEIVER_NAME]= receiverName
  112. ,[EX_RATE] = Cast(Round(customerRate,2,1) as decimal(18,2))
  113. ,[PAYMENT_TYPE] = paymentMethod
  114. ,[DEPOSIT_TYPE] = RT.depositType
  115. ,[COLL_AMT] = Cast(Round(cAmt,2,1) as decimal(18,2))
  116. ,[COLL_CURR] = collCurr
  117. ,[REWARD_P] = RT.rewardPoints
  118. ,[RATE_MARGIN] = RT.customerPremium
  119. ,[TRANSFER_AMT] = Cast(Round(tAmt,2,1) as decimal(18,2))
  120. ,[PAYOUT_CURR] = payoutCurr
  121. ,[SEND_CURR] = collCurr
  122. ,[SC_FEE] = serviceCharge
  123. ,[CHARGE_CURR] = collCurr
  124. ,[RECEIVED_AMT] = Cast(Round(pAmt,2,1) as decimal(18,2))
  125. ,[RECEIVED_CURR]= payoutCurr
  126. ,[APPROVED_BY] = rt.approvedBy
  127. ,TRANSTATUS = transtatus
  128. ,PAYSTATUS = CASE
  129. WHEN RT.PAYSTATUS = ''Paid'' THEN ''PAID''
  130. WHEN RT.PAYSTATUS = ''Post'' THEN ''POST''
  131. WHEN RT.PAYSTATUS = ''Cancel'' THEN ''CANCEL''
  132. ELSE RT.PAYSTATUS
  133. END
  134. ,[CREATED_DATE] = rt.createddate
  135. ,RT.sBranch
  136. ,[USD_AMT] = CASE
  137. WHEN pDateCostRate IS NOT NULL AND pDateCostRate <> 0 THEN Cast(Round(pAmt / pDateCostRate,2,1) as decimal(18,2))
  138. ELSE 0
  139. END
  140. ,[COST_RATE]=pDateCostRate
  141. FROM REMITTRANTEMP RT(NOLOCK)
  142. LEFT JOIN TRANSENDERSTEMP TS (NOLOCK) ON TS.TRANID = RT.ID
  143. LEFT JOIN CUSTOMERMASTER CM (NOLOCK) ON CM.CUSTOMERID = TS.CUSTOMERID
  144. WHERE 1=1 AND RT.PAYSTATUS<>''REJECT'''
  145. SET @sql2 = '
  146. SELECT
  147. [IME_NO] = ''"''+ CASE WHEN ''' + ISNULL(@usertype, '') +
  148. ''' = ''A'' THEN ''<a href="../SearchTxnReport/SearchTransaction.aspx?commentFlag=N&showBankDetail=N&tranId=''+CAST(RT.ID AS VARCHAR)+''">''+DBO.FNADECRYPTSTRING(CONTROLNO)+''</a>''
  149. ELSE ''<a href="/Remit/Transaction/Reports/SearchTransaction.aspx?commentFlag=N&showBankDetail=N&tranId=''+CAST(RT.ID AS VARCHAR)+''">''+DBO.FNADECRYPTSTRING(CONTROLNO)+''</a>'' END
  150. ,[Serial No] = RT.holdtranid
  151. ,[TRUST_PAYMENT_ID] = RT.transactionreference
  152. ,[TXN_CHANNEL] = CASE WHEN (RT.tranType = ''M'' AND RT.isOnlineTxn = ''M'') THEN ''Mobile''
  153. WHEN (RT.tranType = ''M'' AND RT.isOnlineTxn = ''O'') THEN ''Web Online''
  154. WHEN RT.tranType = ''I'' THEN ''CR Panel''
  155. ELSE RT.tranType END
  156. ,[DATE_SEND] =CONVERT(VARCHAR,RT.approvedDate,111)
  157. ,[DATE_PAID] = CONVERT(VARCHAR,RT.paidDate,111)
  158. --,[MEMBERSHIPID] = ISNULL(TS.membershipId, CM.MEMBERSHIPID)
  159. ,[MEMBERSHIPID] = ''<a href="/Remit/Administration/CustomerSetup/CustomerDetails.aspx?customerId='' +CAST(CM.CUSTOMERID AS VARCHAR) + ''">'' +ISNULL(TS.membershipId, CM.MEMBERSHIPID) + ''</a>''
  160. -- +CAST(CM.CUSTOMERID AS VARCHAR) +
  161. -- ''>''
  162. -- + ISNULL(TS.membershipId, CM.MEMBERSHIPID) +
  163. -- ''</a>''
  164. ,[PAYOUT_PARTNER] = RT.pAgentName
  165. ,[SENDER_NAME] = senderName
  166. ,[SENDER_MOBILE] = ''"''+ TS.MOBILE
  167. ,[RECEIVER_NAME]= receiverName
  168. ,[EX_RATE] = Cast(Round(customerRate,2,1) as decimal(18,2))
  169. ,[PAYMENT_TYPE] = paymentMethod
  170. ,[DEPOSIT_TYPE] = RT.depositType
  171. ,[COLL_AMT] = Cast(Round(cAmt,2,1) as decimal(18,2))
  172. ,[COLL_CURR] = collCurr
  173. ,[REWARD_P] = RT.rewardPoints
  174. ,[RATE_MARGIN] = RT.customerPremium
  175. ,[TRANSFER_AMT] = Cast(Round(tAmt,2,1) as decimal(18,2))
  176. ,[PAYOUT_CURR] = payoutCurr
  177. ,[SEND_CURR] = collCurr
  178. ,[SC_FEE] = serviceCharge
  179. ,[CHARGE_CURR] = collCurr
  180. ,[RECEIVED_AMT] = Cast(Round(pAmt,2,1) as decimal(18,2))
  181. ,[RECEIVED_CURR]= payoutCurr
  182. ,[APPROVED_BY] = rt.approvedBy
  183. ,TRANSTATUS = transtatus
  184. ,PAYSTATUS = CASE
  185. WHEN RT.PAYSTATUS = ''Paid'' THEN ''PAID''
  186. WHEN RT.PAYSTATUS = ''Post'' THEN ''POST''
  187. WHEN RT.PAYSTATUS = ''Cancel'' THEN ''CANCEL''
  188. ELSE RT.PAYSTATUS
  189. END
  190. ,[CREATED_DATE] = rt.createddate
  191. ,RT.sBranch
  192. ,[USD_AMT] = CASE
  193. WHEN pDateCostRate IS NOT NULL AND pDateCostRate <> 0 THEN Cast(Round(pAmt / pDateCostRate,2,1) as decimal(18,2))
  194. ELSE 0
  195. END
  196. ,[COST_RATE]=pDateCostRate
  197. FROM REMITTRAN RT(NOLOCK)
  198. LEFT JOIN TRANSENDERS TS (NOLOCK) ON TS.TRANID = RT.ID
  199. LEFT JOIN CUSTOMERMASTER CM (NOLOCK) ON CM.CUSTOMERID = TS.CUSTOMERID
  200. where 1=1 '
  201. IF isnull(@dateFrom, '') <> ''
  202. AND isnull(@dateTo, '') <> ''
  203. BEGIN
  204. SET @sql1 = @sql1 + ' and rt.createddate BETWEEN ''' + @dateFrom + ''' AND ''' + @dateTo + ' 23:59:59'''
  205. SET @sql2 = @sql2 + ' and rt.createddate BETWEEN ''' + @dateFrom + ''' AND ''' + @dateTo + ' 23:59:59'''
  206. END
  207. IF isnull(@transactionFrom, '') <> ''
  208. BEGIN
  209. SET @sql1 = @sql1 + ' and tranType = ''' + @transactionFrom + ''''
  210. SET @sql2 = @sql2 + ' and tranType = ''' + @transactionFrom + ''''
  211. END
  212. IF isnull(@paymentType, '') <> ''
  213. BEGIN
  214. SET @sql1 = @sql1 + ' and paymentMethod = ''' + @paymentType + ''''
  215. SET @sql2 = @sql2 + ' and paymentMethod =''' + @paymentType + ''''
  216. END
  217. IF isnull(@depositType, '') <> ''
  218. BEGIN
  219. SET @sql1 = @sql1 + ' and depositType =''' + @depositType + ''''
  220. SET @sql2 = @sql2 + ' and depositType = ''' + @depositType + ''''
  221. END
  222. IF isnull(@pCountry, '') <> ''
  223. BEGIN
  224. SET @sql1 = @sql1 + ' and pCountry = ''' + @pCountry + ''''
  225. SET @sql2 = @sql2 + ' and pCountry = ''' + @pCountry + ''''
  226. END
  227. IF isnull(@status, '') <> ''
  228. BEGIN
  229. SET @sql1 = @sql1 + ' and payStatus = ''' + @status + ''''
  230. SET @sql2 = @sql2 + ' and payStatus = ''' + @status + ''''
  231. END
  232. IF isnull(@transType, '') <> ''
  233. BEGIN
  234. SET @sql1 = @sql1 + ' and transtatus = ''' + @transType + ''''
  235. SET @sql2 = @sql2 + ' and transtatus = ''' + @transType + ''''
  236. END
  237. IF isnull(@sBranch, '') <> ''
  238. BEGIN
  239. SET @sql1 = @sql1 + ' and sBranch = ''' + @sBranch + ''''
  240. SET @sql2 = @sql2 + ' and sBranch = ''' + @sBranch + ''''
  241. END
  242. SET @SQL =
  243. '
  244. SELECT
  245. [IME_NO],
  246. [Serial No],
  247. [TRUST_PAYMENT_ID],
  248. [TXN_CHANNEL],
  249. [DATE_SEND],
  250. [DATE_PAID],
  251. [MEMBERSHIPID],
  252. [PAYOUT_PARTNER],
  253. [SENDER_NAME],
  254. [SENDER_MOBILE],
  255. [RECEIVER_NAME],
  256. [PAYMENT_TYPE],
  257. [DEPOSIT_TYPE],
  258. [COLL_AMT],
  259. [COLL_CURR],
  260. [SC_FEE],
  261. [REWARD_P],
  262. [TRANSFER_AMT],
  263. [PAYOUT_CURR],
  264. [EX_RATE],
  265. [RATE_MARGIN],
  266. [COST_RATE],
  267. [USD_AMT],
  268. [RECEIVED_AMT],
  269. [RECEIVED_CURR],
  270. [APPROVED_BY],
  271. [TRANSTATUS],
  272. [PAYSTATUS],
  273. [CREATED_DATE],
  274. COUNT(*) OVER() AS TotalCount
  275. FROM (
  276. SELECT
  277. [IME_NO],
  278. [Serial No],
  279. [TRUST_PAYMENT_ID],
  280. [TXN_CHANNEL],
  281. [DATE_SEND],
  282. [DATE_PAID],
  283. [MEMBERSHIPID],
  284. [PAYOUT_PARTNER],
  285. [SENDER_NAME],
  286. [SENDER_MOBILE],
  287. [RECEIVER_NAME],
  288. [PAYMENT_TYPE],
  289. [DEPOSIT_TYPE],
  290. [COLL_AMT],
  291. [COLL_CURR],
  292. [SC_FEE],
  293. [REWARD_P],
  294. [TRANSFER_AMT],
  295. [PAYOUT_CURR],
  296. [EX_RATE],
  297. [RATE_MARGIN],
  298. [COST_RATE],
  299. [USD_AMT],
  300. [RECEIVED_AMT],
  301. [RECEIVED_CURR],
  302. [APPROVED_BY],
  303. [TRANSTATUS],
  304. [PAYSTATUS],
  305. [CREATED_DATE]
  306. FROM (
  307. '
  308. + @sql1 + ' UNION ALL ' + @sql2 + '
  309. ) xyz
  310. ) Result '
  311. IF @searchByValue IS NOT NULL
  312. AND @searchBy IS NOT NULL
  313. BEGIN
  314. IF @searchBy = 'sName'
  315. SET @SQL = @SQL + 'AND SENDER_NAME like ''%' + @searchByValue + '%'''
  316. IF @searchBy = 'rName'
  317. SET @SQL = @SQL + 'AND RECEIVER_NAME like ''%' + @searchByValue + '%'''
  318. IF @searchBy = 'cid'
  319. SET @SQL = @SQL + 'AND CUSTOMER_ID = ''' + @searchByValue + ''''
  320. IF @searchBy = 'cAmt'
  321. SET @SQL = @SQL + 'AND COLL_AMT = ''' + @searchByValue + ''''
  322. IF @searchBy = 'icn'
  323. SET @SQL = @SQL + 'AND CONTROL_NO = ''' + @searchByValue + ''''
  324. END
  325. SET @SQL = @SQL + 'order by Result.[CREATED_DATE] desc'
  326. PRINT (@SQL)
  327. EXEC (@SQL)
  328. EXEC proc_errorHandler '0'
  329. ,'Report has been prepared successfully.'
  330. ,NULL
  331. SELECT *
  332. ,NULL
  333. FROM @FilterList
  334. SELECT 'TXN Report' title
  335. END
  336. IF @flag = 'summary'
  337. BEGIN
  338. SET @sql = 'SELECT
  339. pAgent = pAgent
  340. ,pAgentName = pAgentName
  341. ,txnCount = COUNT(*)
  342. ,amt = SUM(ISNULL(pAmt,0))
  343. FROM REMITTRANTEMP rt WITH(NOLOCK)
  344. WHERE 1=1'
  345. SET @sql = @sql + '
  346. AND rt.paymentMethod = ''Bank Deposit''
  347. AND rt.tranStatus = ''Payment''
  348. AND rt.payStatus = ''Unpaid''
  349. AND rt.tranType = ''I''
  350. --AND rt.sAgent not IN (''16106'',''16106'') --to prevent remitly agent only
  351. AND tmp.tranStatus = ''Invalid''
  352. GROUP BY rt.pAgent, rt.pAgentName'
  353. PRINT (@sql)
  354. EXEC (@sql)
  355. SET @sql = 'SELECT
  356. pAgent = rt.pBank
  357. ,pAgentName = rt.pBankName
  358. ,txnCount = COUNT(*)
  359. ,amt = SUM(ISNULL(rt.pAmt,0))
  360. FROM remitTran rt WITH(NOLOCK)
  361. INNER JOIN agentMaster am on rt.pBank=am.agentId
  362. INNER JOIN InvalidBankDepositTxn tmp (NOLOCK) ON rt.id = tmp.tranId
  363. WHERE 1=1
  364. AND (am.agentGrp =''4301'' OR am.agentGrp IS NULL)
  365. AND (am.agentType=''2903'' OR am.agentType=''2905'')
  366. '
  367. SET @sql = @sql + '
  368. AND rt.paymentMethod = ''Bank Deposit''
  369. AND rt.tranStatus = ''Payment''
  370. AND rt.payStatus = ''Unpaid''
  371. AND rt.tranType = ''D''
  372. AND tmp.tranStatus = ''Invalid''
  373. GROUP BY rt.pBank, rt.pBankName'
  374. PRINT (@sql)
  375. EXEC (@sql)
  376. RETURN
  377. END
  378. END