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.

494 lines
29 KiB

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: 4/4/2024 9:52:08 PM ******/
  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. ,[EMAIL] = ISNULL(CM.email, CM.username)
  219. FROM REMITTRANTEMP RT(NOLOCK)
  220. LEFT JOIN TRANSENDERSTEMP TS (NOLOCK) ON TS.TRANID = RT.ID
  221. LEFT JOIN CUSTOMERMASTER CM (NOLOCK) ON CM.CUSTOMERID = TS.CUSTOMERID
  222. WHERE 1=1'
  223. SET @sql2 = '
  224. SELECT
  225. [IME_NO] = ''"''+ CASE WHEN ''' + ISNULL(@usertype, '') +
  226. ''' = ''A'' THEN ''<a href="../SearchTxnReport/SearchTransaction.aspx?commentFlag=N&showBankDetail=N&tranId=''+CAST(RT.ID AS VARCHAR)+''">''+DBO.FNADECRYPTSTRING(CONTROLNO)+''</a>''
  227. ELSE ''<a href="/Remit/Transaction/Reports/SearchTransaction.aspx?commentFlag=N&showBankDetail=N&tranId=''+CAST(RT.ID AS VARCHAR)+''">''+DBO.FNADECRYPTSTRING(CONTROLNO)+''</a>'' END
  228. ,[Serial No] = RT.holdtranid
  229. ,[TRUST_PAYMENT_ID] = RT.transactionreference
  230. ,[TXN_CHANNEL] = CASE WHEN (RT.tranType = ''M'' AND RT.isOnlineTxn = ''M'') THEN ''Mobile''
  231. WHEN (RT.tranType = ''M'' AND RT.isOnlineTxn = ''O'') THEN ''Web Online''
  232. WHEN RT.tranType = ''I'' THEN ''CR Panel''
  233. ELSE RT.tranType END
  234. ,[DATE_SEND] =CONVERT(VARCHAR,RT.approvedDate,111)
  235. ,[DATE_PAID] = CONVERT(VARCHAR,RT.paidDate,111)
  236. --,[MEMBERSHIPID] = ISNULL(TS.membershipId, CM.MEMBERSHIPID)
  237. ,[MEMBERSHIPID] = ''<a href="/Remit/Administration/CustomerSetup/CustomerDetails.aspx?customerId='' +CAST(CM.CUSTOMERID AS VARCHAR) + ''">'' +ISNULL(TS.membershipId, CM.MEMBERSHIPID) + ''</a>''
  238. -- +CAST(CM.CUSTOMERID AS VARCHAR) +
  239. -- ''>''
  240. -- + ISNULL(TS.membershipId, CM.MEMBERSHIPID) +
  241. -- ''</a>''
  242. ,[PAYOUT_PARTNER] = RT.pAgentName
  243. ,[SENDER_NAME] = senderName
  244. ,[SENDER_MOBILE] = ''"''+ TS.MOBILE
  245. ,[RECEIVER_NAME]= receiverName
  246. ,[EX_RATE] = customerRate
  247. ,[PAYMENT_TYPE] = paymentMethod
  248. ,[DEPOSIT_TYPE] = RT.depositType
  249. ,[COLL_AMT] = cAmt
  250. ,[COLL_CURR] = collCurr
  251. ,[REWARD_P] = RT.rewardPoints
  252. ,[RATE_MARGIN] = RT.customerPremium
  253. ,[TRANSFER_AMT] = tAmt
  254. ,[SEND_CURR] = collCurr
  255. ,[SC_FEE] = serviceCharge
  256. ,[CHARGE_CURR] = collCurr
  257. ,[RECEIVED_AMT] = pAmt
  258. ,[RECEIVED_CURR]= payoutCurr
  259. ,[APPROVED_BY] = rt.approvedBy
  260. ,TRANSTATUS = transtatus
  261. ,PAYSTATUS = CASE
  262. WHEN RT.PAYSTATUS = ''Paid'' THEN ''PAID''
  263. WHEN RT.PAYSTATUS = ''Post'' THEN ''POST''
  264. WHEN RT.PAYSTATUS = ''Cancel'' THEN ''CANCEL''
  265. ELSE RT.PAYSTATUS
  266. END
  267. ,[CREATED_DATE] = rt.createddate
  268. ,[VERFIY_DATE] = rt.verifiedDate
  269. ,[VERFIY_BY] = rt.verifiedBy
  270. ,RT.sBranch
  271. ,[COST_RATE] =pDateCostRate
  272. ,[EMAIL] = ISNULL(CM.email, CM.username)
  273. FROM REMITTRAN RT(NOLOCK)
  274. LEFT JOIN TRANSENDERS TS (NOLOCK) ON TS.TRANID = RT.ID
  275. LEFT JOIN CUSTOMERMASTER CM (NOLOCK) ON CM.CUSTOMERID = TS.CUSTOMERID
  276. where 1=1 '
  277. IF isnull(@startDate, '') <> ''
  278. AND isnull(@endDate, '') <> ''
  279. BEGIN
  280. SET @sql1 = @sql1 + ' and rt.createddate BETWEEN ''' + @startDate + ''' AND ''' + @endDate + '''+'' 23:59:59'''
  281. SET @sql2 = @sql2 + ' and rt.createddate BETWEEN ''' + @startDate + ''' AND ''' + @endDate + '''+'' 23:59:59'''
  282. END
  283. IF ISNULL(@verificationType, '') <> ''
  284. BEGIN
  285. IF @verificationType = 'verified'
  286. BEGIN
  287. SET @sql1 = @sql1 + ' AND rt.verifiedDate IS NOT NULL AND rt.verifiedBy IS NOT NULL'
  288. SET @sql2 = @sql2 + ' AND rt.verifiedDate IS NOT NULL AND rt.verifiedBy IS NOT NULL'
  289. END
  290. ELSE IF @verificationType = 'unverified'
  291. BEGIN
  292. SET @sql1 = @sql1 + ' AND rt.verifiedDate IS NULL AND rt.verifiedBy IS NULL'
  293. SET @sql2 = @sql2 + ' AND rt.verifiedDate IS NULL AND rt.verifiedBy IS NULL'
  294. END
  295. END
  296. SET @SQL = 'select
  297. [SN] = ROW_NUMBER() OVER (ORDER BY xyz.[CREATED_DATE] DESC)
  298. ,[IME_NO]
  299. ,[Serial No]
  300. ,[TRUST_PAYMENT_ID]
  301. ,[TXN_CHANNEL]
  302. ,[DATE_SEND]
  303. --,[DATE_PAID]
  304. ,[MEMBERSHIPID]
  305. ,[PAYOUT_PARTNER]
  306. ,[SENDER_NAME]
  307. ,[SENDER_MOBILE]
  308. ,[RECEIVER_NAME]
  309. ,[PAYMENT_TYPE]
  310. ,[DEPOSIT_TYPE]
  311. ,[COLL_AMT]
  312. ,[COLL_CURR]
  313. ,[SC_FEE]
  314. ,[REWARD_P]
  315. ,[TRANSFER_AMT]
  316. ,[EX_RATE]
  317. ,[RATE_MARGIN]
  318. --,[COST_RATE]
  319. ,[RECEIVED_AMT]
  320. ,[RECEIVED_CURR]
  321. ,[VERFIY_DATE]
  322. ,[VERFIY_BY]
  323. ,[APPROVED_BY]
  324. ,TRANSTATUS
  325. ,PAYSTATUS
  326. ,[EMAIL]
  327. from (
  328. ' + @sql1 + ' union all ' + @sql2 + '
  329. ) xyz
  330. '
  331. SET @SQL = @SQL + 'order by xyz.[CREATED_DATE] desc'
  332. PRINT (@SQL)
  333. EXEC (@SQL)
  334. EXEC proc_errorHandler '0'
  335. ,'Report has been prepared successfully.'
  336. ,NULL
  337. SELECT 'Verification Type' head
  338. ,@verificationType value
  339. UNION ALL
  340. SELECT 'From Date' head
  341. ,@startDate value
  342. UNION ALL
  343. SELECT 'To Date' head
  344. ,@endDate value
  345. SELECT 'Verified/ Unverified txn report' title
  346. END
  347. IF @flag = 'NoWorkPermit'
  348. BEGIN
  349. SELECT ROW_NUMBER() OVER (
  350. ORDER BY RT.id
  351. ) SN
  352. ,RT.id [Transaction No]
  353. ,dbo.FNADecryptString(controlNo) [Control Number]
  354. ,collMode [Deposit Type]
  355. ,'Sent' [Tran Status]
  356. ,CASE paymentMethod
  357. WHEN 'BANK DEPOSIT'
  358. THEN 'BT'
  359. WHEN 'CASH PAYMENT'
  360. THEN 'CPU'
  361. END [Payment Type]
  362. ,createdDate [Date]
  363. ,pSuperAgentName [Corresponding]
  364. ,senderName [Sender]
  365. ,createdBy [Cashier]
  366. ,tAmt [Money Send]
  367. ,collCurr [Currency]
  368. ,serviceCharge [Commision]
  369. ,cAmt [Total Amount]
  370. ,pAmt [Money Received]
  371. ,payoutCurr [PayCCY]
  372. ,pCurrCostRate [Settlement Rate]
  373. ,customerRate [CustRate]
  374. ,payoutCurr [Currency Type]
  375. ,pCountry [Receiver Country]
  376. FROM remittran RT(NOLOCK)
  377. INNER JOIN TRANSENDERS TS(NOLOCK) ON TS.TRANID = RT.ID
  378. WHERE pSuperAgent = ISNULL(@payoutPartnerId, pSuperAgent)
  379. AND sAgent = ISNULL(@sAgentId, sAgent)
  380. AND createdDate BETWEEN @startDate
  381. AND @endDateNew
  382. AND TS.VISASTATUS IN (
  383. '11387'
  384. ,'11418'
  385. ,'11419'
  386. )
  387. UNION ALL
  388. SELECT ROW_NUMBER() OVER (
  389. ORDER BY RT.id
  390. ) SN
  391. ,RT.id [Transaction No]
  392. ,dbo.FNADecryptString(controlNo) [Control Number]
  393. ,collMode [Deposit Type]
  394. ,'Cancel' [Tran Status]
  395. ,CASE paymentMethod
  396. WHEN 'BANK DEPOSIT'
  397. THEN 'BT'
  398. WHEN 'CASH PAYMENT'
  399. THEN 'CPU'
  400. END [Payment Type]
  401. ,createdDate [Date]
  402. ,pSuperAgentName [Corresponding]
  403. ,senderName [Sender]
  404. ,createdBy [Cashier]
  405. ,- 1 * tAmt [Money Send]
  406. ,collCurr [Currency]
  407. ,- 1 * serviceCharge [Commision]
  408. ,- 1 * cAmt [Total Amount]
  409. ,- 1 * pAmt [Money Received]
  410. ,payoutCurr [PayCCY]
  411. ,pCurrCostRate [Settlement Rate]
  412. ,customerRate [CustRate]
  413. ,payoutCurr [Currency Type]
  414. ,pCountry [Receiver Country]
  415. FROM remittran RT(NOLOCK)
  416. INNER JOIN TRANSENDERS TS(NOLOCK) ON TS.TRANID = RT.ID
  417. WHERE pSuperAgent = ISNULL(@payoutPartnerId, pSuperAgent)
  418. AND sAgent = ISNULL(@sAgentId, sAgent)
  419. AND cancelApprovedDate BETWEEN @startDate
  420. AND @endDateNew
  421. AND tranStatus IN ('Cancel')
  422. AND TS.VISASTATUS IN (
  423. '11387'
  424. ,'11418'
  425. ,'11419'
  426. )
  427. EXEC proc_errorHandler '0'
  428. ,'Report has been prepared successfully.'
  429. ,NULL
  430. SELECT 'Sending Agent' head
  431. ,@sAgentName value
  432. UNION ALL
  433. SELECT 'From Date' head
  434. ,@startDate value
  435. UNION ALL
  436. SELECT 'To Date' head
  437. ,@endDate value
  438. SELECT 'Transaction Report (No Work Permit)' title
  439. END
  440. END TRY
  441. BEGIN CATCH
  442. IF @@TRANCOUNT > 0
  443. ROLLBACK TRANSACTION
  444. SELECT 1 ERRORCODE
  445. ,ERROR_MESSAGE() MSG
  446. ,NULL ID
  447. END CATCH