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

10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[PROC_DAILYPAID_AND_SENDING] Script Date: 11/28/2023 11:58:33 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