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.

384 lines
24 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
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/7/2024 8:29:09 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. SET @sql1 = '
  92. SELECT
  93. [IME_NO] = ''"''+ CASE WHEN ''' + ISNULL(@usertype, '') +
  94. '''=''A'' THEN ''<a href="../SearchTxnReport/SearchTransaction.aspx?commentFlag=N&showBankDetail=N&tranId=''+CAST(RT.ID AS VARCHAR)+''">''+DBO.FNADECRYPTSTRING(CONTROLNO)+''</a>''
  95. ELSE ''<a href="/Remit/Transaction/Reports/SearchTransaction.aspx?commentFlag=N&showBankDetail=N&tranId=''+CAST(RT.ID AS VARCHAR)+''">''+DBO.FNADECRYPTSTRING(CONTROLNO)+''</a>'' END
  96. ,[Serial No] = RT.id
  97. ,[TRUST_PAYMENT_ID] = RT.transactionreference
  98. ,[TXN_CHANNEL] = CASE WHEN (RT.tranType = ''M'' AND RT.isOnlineTxn = ''M'') THEN ''Mobile''
  99. WHEN (RT.tranType = ''M'' AND RT.isOnlineTxn = ''O'') THEN ''Web Online''
  100. WHEN RT.tranType = ''I'' THEN ''CR Panel''
  101. ELSE RT.tranType END
  102. ,[DATE_SEND] =CONVERT(VARCHAR,RT.createdDate,111)
  103. ,[DATE_PAID] = CONVERT(VARCHAR,RT.paidDate,111)
  104. --,[MEMBERSHIPID] = ISNULL(TS.membershipId, CM.MEMBERSHIPID)
  105. ,[MEMBERSHIPID] = ''<a href="/Remit/Administration/CustomerSetup/CustomerDetails.aspx?customerId=''+ CAST(CM.CUSTOMERID AS VARCHAR) + ''">'' + ISNULL(TS.membershipId, CM.MEMBERSHIPID) +''</a>''
  106. -- ''</a>''
  107. ,[PAYOUT_PARTNER] = RT.pAgentName
  108. ,[SENDER_NAME] = senderName
  109. ,[SENDER_MOBILE] = ''"''+ TS.MOBILE
  110. ,[RECEIVER_NAME]= receiverName
  111. ,[EX_RATE] = Cast(Round(customerRate,2,1) as decimal(18,2))
  112. ,[PAYMENT_TYPE] = paymentMethod
  113. ,[DEPOSIT_TYPE] = RT.depositType
  114. ,[COLL_AMT] = Cast(Round(cAmt,2,1) as decimal(18,2))
  115. ,[COLL_CURR] = collCurr
  116. ,[REWARD_P] = RT.rewardPoints
  117. ,[RATE_MARGIN] = RT.customerPremium
  118. ,[TRANSFER_AMT] = Cast(Round(tAmt,2,1) as decimal(18,2))
  119. ,[PAYOUT_CURR] = payoutCurr
  120. ,[SEND_CURR] = collCurr
  121. ,[SC_FEE] = serviceCharge
  122. ,[CHARGE_CURR] = collCurr
  123. ,[RECEIVED_AMT] = Cast(Round(pAmt,2,1) as decimal(18,2))
  124. ,[RECEIVED_CURR]= payoutCurr
  125. ,[APPROVED_BY] = rt.approvedBy
  126. ,TRANSTATUS = transtatus
  127. ,PAYSTATUS = CASE
  128. WHEN RT.PAYSTATUS = ''Paid'' THEN ''PAID''
  129. WHEN RT.PAYSTATUS = ''Post'' THEN ''POST''
  130. WHEN RT.PAYSTATUS = ''Cancel'' THEN ''CANCEL''
  131. ELSE RT.PAYSTATUS
  132. END
  133. ,[CREATED_DATE] = rt.createddate
  134. ,RT.sBranch
  135. ,[USD_AMT] = CASE
  136. WHEN pDateCostRate IS NOT NULL AND pDateCostRate <> 0 THEN Cast(Round(pAmt / pDateCostRate,2,1) as decimal(18,2))
  137. ELSE 0
  138. END
  139. ,[COST_RATE]=pDateCostRate
  140. FROM REMITTRANTEMP RT(NOLOCK)
  141. LEFT JOIN TRANSENDERSTEMP TS (NOLOCK) ON TS.TRANID = RT.ID
  142. LEFT JOIN CUSTOMERMASTER CM (NOLOCK) ON CM.CUSTOMERID = TS.CUSTOMERID
  143. WHERE 1=1 AND RT.PAYSTATUS<>''REJECT'''
  144. SET @sql2 = '
  145. SELECT
  146. [IME_NO] = ''"''+ CASE WHEN ''' + ISNULL(@usertype, '') +
  147. ''' = ''A'' THEN ''<a href="../SearchTxnReport/SearchTransaction.aspx?commentFlag=N&showBankDetail=N&tranId=''+CAST(RT.ID AS VARCHAR)+''">''+DBO.FNADECRYPTSTRING(CONTROLNO)+''</a>''
  148. ELSE ''<a href="/Remit/Transaction/Reports/SearchTransaction.aspx?commentFlag=N&showBankDetail=N&tranId=''+CAST(RT.ID AS VARCHAR)+''">''+DBO.FNADECRYPTSTRING(CONTROLNO)+''</a>'' END
  149. ,[Serial No] = RT.holdtranid
  150. ,[TRUST_PAYMENT_ID] = RT.transactionreference
  151. ,[TXN_CHANNEL] = CASE WHEN (RT.tranType = ''M'' AND RT.isOnlineTxn = ''M'') THEN ''Mobile''
  152. WHEN (RT.tranType = ''M'' AND RT.isOnlineTxn = ''O'') THEN ''Web Online''
  153. WHEN RT.tranType = ''I'' THEN ''CR Panel''
  154. ELSE RT.tranType END
  155. ,[DATE_SEND] =CONVERT(VARCHAR,RT.approvedDate,111)
  156. ,[DATE_PAID] = CONVERT(VARCHAR,RT.paidDate,111)
  157. --,[MEMBERSHIPID] = ISNULL(TS.membershipId, CM.MEMBERSHIPID)
  158. ,[MEMBERSHIPID] = ''<a href="/Remit/Administration/CustomerSetup/CustomerDetails.aspx?customerId='' +CAST(CM.CUSTOMERID AS VARCHAR) + ''">'' +ISNULL(TS.membershipId, CM.MEMBERSHIPID) + ''</a>''
  159. -- +CAST(CM.CUSTOMERID AS VARCHAR) +
  160. -- ''>''
  161. -- + ISNULL(TS.membershipId, CM.MEMBERSHIPID) +
  162. -- ''</a>''
  163. ,[PAYOUT_PARTNER] = RT.pAgentName
  164. ,[SENDER_NAME] = senderName
  165. ,[SENDER_MOBILE] = ''"''+ TS.MOBILE
  166. ,[RECEIVER_NAME]= receiverName
  167. ,[EX_RATE] = Cast(Round(customerRate,2,1) as decimal(18,2))
  168. ,[PAYMENT_TYPE] = paymentMethod
  169. ,[DEPOSIT_TYPE] = RT.depositType
  170. ,[COLL_AMT] = Cast(Round(cAmt,2,1) as decimal(18,2))
  171. ,[COLL_CURR] = collCurr
  172. ,[REWARD_P] = RT.rewardPoints
  173. ,[RATE_MARGIN] = RT.customerPremium
  174. ,[TRANSFER_AMT] = Cast(Round(tAmt,2,1) as decimal(18,2))
  175. ,[PAYOUT_CURR] = payoutCurr
  176. ,[SEND_CURR] = collCurr
  177. ,[SC_FEE] = serviceCharge
  178. ,[CHARGE_CURR] = collCurr
  179. ,[RECEIVED_AMT] = Cast(Round(pAmt,2,1) as decimal(18,2))
  180. ,[RECEIVED_CURR]= payoutCurr
  181. ,[APPROVED_BY] = rt.approvedBy
  182. ,TRANSTATUS = transtatus
  183. ,PAYSTATUS = CASE
  184. WHEN RT.PAYSTATUS = ''Paid'' THEN ''PAID''
  185. WHEN RT.PAYSTATUS = ''Post'' THEN ''POST''
  186. WHEN RT.PAYSTATUS = ''Cancel'' THEN ''CANCEL''
  187. ELSE RT.PAYSTATUS
  188. END
  189. ,[CREATED_DATE] = rt.createddate
  190. ,RT.sBranch
  191. ,[USD_AMT] = CASE
  192. WHEN pDateCostRate IS NOT NULL AND pDateCostRate <> 0 THEN Cast(Round(pAmt / pDateCostRate,2,1) as decimal(18,2))
  193. ELSE 0
  194. END
  195. ,[COST_RATE]=pDateCostRate
  196. FROM REMITTRAN RT(NOLOCK)
  197. LEFT JOIN TRANSENDERS TS (NOLOCK) ON TS.TRANID = RT.ID
  198. LEFT JOIN CUSTOMERMASTER CM (NOLOCK) ON CM.CUSTOMERID = TS.CUSTOMERID
  199. where 1=1 '
  200. IF isnull(@dateFrom, '') <> ''
  201. AND isnull(@dateTo, '') <> ''
  202. BEGIN
  203. SET @sql1 = @sql1 + ' and rt.createddate BETWEEN ''' + @dateFrom + ''' AND ''' + @dateTo + ' 23:59:59'''
  204. SET @sql2 = @sql2 + ' and rt.createddate BETWEEN ''' + @dateFrom + ''' AND ''' + @dateTo + ' 23:59:59'''
  205. END
  206. IF isnull(@transactionFrom, '') <> ''
  207. BEGIN
  208. SET @sql1 = @sql1 + ' and tranType = ''' + @transactionFrom + ''''
  209. SET @sql2 = @sql2 + ' and tranType = ''' + @transactionFrom + ''''
  210. END
  211. IF isnull(@paymentType, '') <> ''
  212. BEGIN
  213. SET @sql1 = @sql1 + ' and paymentMethod = ''' + @paymentType + ''''
  214. SET @sql2 = @sql2 + ' and paymentMethod =''' + @paymentType + ''''
  215. END
  216. IF isnull(@depositType, '') <> ''
  217. BEGIN
  218. SET @sql1 = @sql1 + ' and depositType =''' + @depositType + ''''
  219. SET @sql2 = @sql2 + ' and depositType = ''' + @depositType + ''''
  220. END
  221. IF isnull(@pCountry, '') <> ''
  222. BEGIN
  223. SET @sql1 = @sql1 + ' and pCountry = ''' + @pCountry + ''''
  224. SET @sql2 = @sql2 + ' and pCountry = ''' + @pCountry + ''''
  225. END
  226. IF isnull(@status, '') <> ''
  227. BEGIN
  228. SET @sql1 = @sql1 + ' and payStatus = ''' + @status + ''''
  229. SET @sql2 = @sql2 + ' and payStatus = ''' + @status + ''''
  230. END
  231. IF isnull(@transType, '') <> ''
  232. BEGIN
  233. SET @sql1 = @sql1 + ' and transtatus = ''' + @transType + ''''
  234. SET @sql2 = @sql2 + ' and transtatus = ''' + @transType + ''''
  235. END
  236. IF isnull(@sBranch, '') <> ''
  237. BEGIN
  238. SET @sql1 = @sql1 + ' and sBranch = ''' + @sBranch + ''''
  239. SET @sql2 = @sql2 + ' and sBranch = ''' + @sBranch + ''''
  240. END
  241. SET @SQL = 'select
  242. [IME_NO]
  243. ,[Serial No]
  244. ,[TRUST_PAYMENT_ID]
  245. ,[TXN_CHANNEL]
  246. ,[DATE_SEND]
  247. ,[DATE_PAID]
  248. ,[MEMBERSHIPID]
  249. ,[PAYOUT_PARTNER]
  250. ,[SENDER_NAME]
  251. ,[SENDER_MOBILE]
  252. ,[RECEIVER_NAME]
  253. ,[PAYMENT_TYPE]
  254. ,[DEPOSIT_TYPE]
  255. ,[COLL_AMT]
  256. ,[COLL_CURR]
  257. ,[SC_FEE]
  258. ,[REWARD_P]
  259. ,[TRANSFER_AMT]
  260. ,[PAYOUT_CURR]
  261. ,[EX_RATE]
  262. ,[RATE_MARGIN]
  263. ,[COST_RATE]
  264. ,[USD_AMT]
  265. ,[RECEIVED_AMT]
  266. ,[RECEIVED_CURR]
  267. ,[APPROVED_BY]
  268. ,TRANSTATUS
  269. ,PAYSTATUS
  270. ,[CREATED_DATE]
  271. from (
  272. ' + @sql1 + ' union all ' + @sql2 + '
  273. ) xyz
  274. '
  275. IF @searchByValue IS NOT NULL
  276. AND @searchBy IS NOT NULL
  277. BEGIN
  278. IF @searchBy = 'sName'
  279. SET @SQL = @SQL + 'AND SENDER_NAME like ''%' + @searchByValue + '%'''
  280. IF @searchBy = 'rName'
  281. SET @SQL = @SQL + 'AND RECEIVER_NAME like ''%' + @searchByValue + '%'''
  282. IF @searchBy = 'cid'
  283. SET @SQL = @SQL + 'AND CUSTOMER_ID = ''' + @searchByValue + ''''
  284. IF @searchBy = 'cAmt'
  285. SET @SQL = @SQL + 'AND COLL_AMT = ''' + @searchByValue + ''''
  286. IF @searchBy = 'icn'
  287. SET @SQL = @SQL + 'AND CONTROL_NO = ''' + @searchByValue + ''''
  288. END
  289. SET @SQL = @SQL + 'order by xyz.[CREATED_DATE] desc'
  290. PRINT (@SQL)
  291. EXEC (@SQL)
  292. EXEC proc_errorHandler '0'
  293. ,'Report has been prepared successfully.'
  294. ,NULL
  295. SELECT *
  296. ,NULL
  297. FROM @FilterList
  298. SELECT 'TXN Report' title
  299. END
  300. IF @flag = 'summary'
  301. BEGIN
  302. SET @sql = 'SELECT
  303. pAgent = pAgent
  304. ,pAgentName = pAgentName
  305. ,txnCount = COUNT(*)
  306. ,amt = SUM(ISNULL(pAmt,0))
  307. FROM REMITTRANTEMP rt WITH(NOLOCK)
  308. WHERE 1=1'
  309. SET @sql = @sql + '
  310. AND rt.paymentMethod = ''Bank Deposit''
  311. AND rt.tranStatus = ''Payment''
  312. AND rt.payStatus = ''Unpaid''
  313. AND rt.tranType = ''I''
  314. --AND rt.sAgent not IN (''16106'',''16106'') --to prevent remitly agent only
  315. AND tmp.tranStatus = ''Invalid''
  316. GROUP BY rt.pAgent, rt.pAgentName'
  317. PRINT (@sql)
  318. EXEC (@sql)
  319. SET @sql = 'SELECT
  320. pAgent = rt.pBank
  321. ,pAgentName = rt.pBankName
  322. ,txnCount = COUNT(*)
  323. ,amt = SUM(ISNULL(rt.pAmt,0))
  324. FROM remitTran rt WITH(NOLOCK)
  325. INNER JOIN agentMaster am on rt.pBank=am.agentId
  326. INNER JOIN InvalidBankDepositTxn tmp (NOLOCK) ON rt.id = tmp.tranId
  327. WHERE 1=1
  328. AND (am.agentGrp =''4301'' OR am.agentGrp IS NULL)
  329. AND (am.agentType=''2903'' OR am.agentType=''2905'')
  330. '
  331. SET @sql = @sql + '
  332. AND rt.paymentMethod = ''Bank Deposit''
  333. AND rt.tranStatus = ''Payment''
  334. AND rt.payStatus = ''Unpaid''
  335. AND rt.tranType = ''D''
  336. AND tmp.tranStatus = ''Invalid''
  337. GROUP BY rt.pBank, rt.pBankName'
  338. PRINT (@sql)
  339. EXEC (@sql)
  340. RETURN
  341. END
  342. END