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.

703 lines
24 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_tranMasterReport] Script Date: 7/4/2019 11:35:48 AM ******/
  4. DROP PROCEDURE [dbo].[proc_tranMasterReport]
  5. GO
  6. /****** Object: StoredProcedure [dbo].[proc_tranMasterReport] Script Date: 7/4/2019 11:35:48 AM ******/
  7. SET ANSI_NULLS ON
  8. GO
  9. SET QUOTED_IDENTIFIER ON
  10. GO
  11. /*
  12. EXEC proc_tranMasterReport @flag = 'l'
  13. EXEC proc_tranMasterReport @flag = 'r', @user = 'admin',
  14. @sHub = null, @ssAgent = null, @sCountry = null, @sAgent = null,
  15. @sBranch = null, @sUser = null, @sZone = null, @sDistrict = null,
  16. @sLocation = null, @sFirstName = null, @sMiddleName = null, @sLastName1 = null,
  17. @sLastName2 = null, @sMobile = null, @sEmail = null, @sIDNumber = null, @rHub = null,
  18. @rsAgent = null, @rCountry = null, @rAgent = null, @rBranch = null, @rUser = null, @rZone = null,
  19. @rDistrict = null, @rLocation = null, @rFirstName = null, @rMiddleName = null,
  20. @rLastName1 = null, @rLastName2 = null, @rMobile = null, @rEmail = null, @rIDNumber = null,
  21. @controlNumber = '91722496166', @tranType = null, @top = null, @topBy = null, @groupBy = null,
  22. @sendDateFrom = null, @sendDateTo = null, @paidDateFrom = null, @paidDateTo = null,
  23. @cancelledDateFrom = null, @cancelledDateTo = null, @approvedDateFrom = null,
  24. @approvedDateTo = null, @collectionAmountFrom = null, @collectionAmountTo = null,
  25. @payoutAmountFrom = null, @payoutAmountTo = null, @tranStatus = null, @sadList = null,
  26. @sdList = null, @radList = null, @rdList = null, @tdList = null
  27. */
  28. CREATE PROC [dbo].[proc_tranMasterReport] (
  29. @flag VARCHAR(50)
  30. ,@user VARCHAR(50) = NULL
  31. ,@sHub BIGINT = NULL
  32. ,@ssAgent BIGINT = NULL
  33. ,@sCountry VARCHAR(200) = NULL
  34. ,@sAgent BIGINT = NULL
  35. ,@sBranch BIGINT = NULL
  36. ,@sUser varchar(50) = NULL
  37. ,@sZone BIGINT = NULL
  38. ,@sDistrict BIGINT = NULL
  39. ,@sLocation BIGINT = NULL
  40. ,@sFirstName VARCHAR(50) = NULL
  41. ,@sMiddleName VARCHAR(50) = NULL
  42. ,@sLastName1 VARCHAR(50) = NULL
  43. ,@sLastName2 VARCHAR(50) = NULL
  44. ,@sMobile VARCHAR(20) = NULL
  45. ,@sEmail VARCHAR(50) = NULL
  46. ,@sIDNumber VARCHAR(20) = NULL
  47. ,@rHub BIGINT = NULL
  48. ,@rsAgent BIGINT = NULL
  49. ,@rCountry VARCHAR(200) = NULL
  50. ,@rAgent BIGINT = NULL
  51. ,@rBranch BIGINT = NULL
  52. ,@rUser varchar(50) = NULL
  53. ,@rZone BIGINT = NULL
  54. ,@rDistrict BIGINT = NULL
  55. ,@rLocation BIGINT = NULL
  56. ,@rFirstName VARCHAR(50) = NULL
  57. ,@rMiddleName VARCHAR(50) = NULL
  58. ,@rLastName1 VARCHAR(50) = NULL
  59. ,@rLastName2 VARCHAR(50) = NULL
  60. ,@rMobile VARCHAR(20) = NULL
  61. ,@rEmail VARCHAR(50) = NULL
  62. ,@rIDNumber VARCHAR(20) = NULL
  63. ,@controlNumber VARCHAR(50) = NULL
  64. ,@tranType INT = NULL
  65. ,@orderBy VARCHAR(100) = NULL
  66. ,@sendDateFrom VARCHAR(20) = NULL
  67. ,@sendDateTo VARCHAR(20) = NULL
  68. ,@paidDateFrom VARCHAR(20) = NULL
  69. ,@paidDateTo VARCHAR(20) = NULL
  70. ,@cancelledDateFrom VARCHAR(20) = NULL
  71. ,@cancelledDateTo VARCHAR(20) = NULL
  72. ,@approvedDateFrom VARCHAR(20) = NULL
  73. ,@approvedDateTo VARCHAR(20) = NULL
  74. ,@collectionAmountFrom MONEY = NULL
  75. ,@collectionAmountTo MONEY = NULL
  76. ,@payoutAmountFrom MONEY = NULL
  77. ,@payoutAmountTo MONEY = NULL
  78. ,@tranStatus VARCHAR(50) = NULL
  79. ,@tranSendList VARCHAR(MAX) = NULL
  80. ,@senderList VARCHAR(MAX) = NULL
  81. ,@tranPayList VARCHAR(MAX) = NULL
  82. ,@receiverList VARCHAR(MAX) = NULL
  83. ,@pageSize VARCHAR(50) = NULL
  84. ,@pageNumber VARCHAR(50) = NULL
  85. )
  86. AS
  87. SET NOCOUNT ON
  88. declare @rZoneName varchar(200),@sZoneName varchar(200),@rDistrictName as varchar(200),@sDistrictName as varchar(200)
  89. if @rZone is not null
  90. select @rZoneName=stateName from countryStateMaster where stateId=@rZone
  91. if @sZone is not null
  92. select @sZoneName=stateName from countryStateMaster where stateId=@sZone
  93. if @rDistrict is not null
  94. select @rDistrictName=districtName from zoneDistrictMap where districtId=@rDistrict
  95. if @sDistrict is not null
  96. select @sDistrictName=districtName from zoneDistrictMap where districtId=@sDistrict
  97. DECLARE @rptFilter TABLE (
  98. head VARCHAR(50)
  99. ,value VARCHAR(200)
  100. )
  101. DECLARE @tranSend TABLE (
  102. id INT IDENTITY(1, 1)
  103. ,title VARCHAR(50)
  104. ,alias VARCHAR(50)
  105. )
  106. INSERT @tranSend (title, alias)
  107. SELECT '[Transaction Send_Agent]', 'Agent' UNION ALL
  108. SELECT '[Transaction Send_Control No]', 'Control No' UNION ALL
  109. SELECT '[Transaction Send_Collection Amount]', 'Collection Amount' UNION ALL
  110. SELECT '[Transaction Send_USD Amount]', 'USD Amount' UNION ALL
  111. SELECT '[Transaction Send_USD Rate]', 'USD Rate' UNION ALL
  112. SELECT '[Transaction Send_Collection Currency]', 'Collection Currency' UNION ALL
  113. SELECT '[Transaction Send_Service Charge]', 'Service Charge' UNION ALL
  114. SELECT '[Transaction Send_Agent Commission]', 'Agent Commission' UNION ALL
  115. SELECT '[Transaction Send_Country]', 'Agent Country' UNION ALL
  116. SELECT '[Transaction Send_State]', 'Agent State' UNION ALL
  117. SELECT '[Transaction Send_District]', 'Agent District' UNION ALL
  118. SELECT '[Transaction Send_Location]', 'Agent Location' UNION ALL
  119. SELECT '[Transaction Send_City]', 'Agent City' UNION ALL
  120. SELECT '[Transaction Send_Address]', 'Agent Address' UNION ALL
  121. SELECT '[Transaction Send_Payment Method]', 'Payment Method'
  122. DECLARE @sender TABLE (
  123. id INT IDENTITY(1, 1)
  124. ,title VARCHAR(50)
  125. ,alias VARCHAR(50)
  126. )
  127. INSERT @sender (title, alias)
  128. SELECT '[Sender Information_Name]', 'Name' UNION ALL
  129. SELECT '[Sender Information_Address]', 'Address' UNION ALL
  130. SELECT '[Sender Information_Contact Number]', 'Contact Number'
  131. DECLARE @tranPay TABLE (
  132. id INT IDENTITY(1, 1)
  133. ,title VARCHAR(50)
  134. ,alias VARCHAR(50)
  135. )
  136. INSERT @tranPay (title, alias)
  137. SELECT '[Transaction Pay_Agent]', 'Agent' UNION ALL
  138. SELECT '[Transaction Pay_Payout Amount]', 'Payout Amount' UNION ALL
  139. SELECT '[Transaction Pay_Agent Commission]', 'Agent Commission' UNION ALL
  140. SELECT '[Transaction Pay_Payout Currency]', 'Payout Currency' UNION ALL
  141. SELECT '[Transaction Pay_Country]', 'Agent Country' UNION ALL
  142. SELECT '[Transaction Pay_State]', 'Agent State' UNION ALL
  143. SELECT '[Transaction Pay_District]', 'Agent District' UNION ALL
  144. SELECT '[Transaction Pay_Location]', 'Agent Location' UNION ALL
  145. SELECT '[Transaction Pay_City]', 'Agent City' UNION ALL
  146. SELECT '[Transaction Pay_Address]', 'Agent Address' UNION ALL
  147. SELECT '[Transaction Pay_Tran Status]', 'Tran Status' UNION ALL
  148. SELECT '[Transaction Pay_Paid By]', 'Paid By' UNION ALL
  149. SELECT '[Transaction Pay_Paid Date]', 'Paid Date' UNION ALL
  150. SELECT '[Transaction Pay_Approved Date]', 'Approved Date' UNION ALL
  151. SELECT '[Transaction Pay_Requested Date]', 'Requested Date' UNION ALL
  152. SELECT '[Transaction Pay_Requested Time]', 'Requested Time'
  153. DECLARE @receiver TABLE (
  154. id INT IDENTITY(1, 1)
  155. ,title VARCHAR(50)
  156. ,alias VARCHAR(50)
  157. )
  158. INSERT @receiver (title, alias)
  159. SELECT '[Receiver Information_Name]', 'Name' UNION ALL
  160. SELECT '[Receiver Information_Address]', 'Address' UNION ALL
  161. SELECT '[Receiver Information_Contact No]', 'Contact Number'
  162. IF @flag = 'l'
  163. BEGIN
  164. SELECT * FROM @tranSend
  165. SELECT * FROM @sender
  166. SELECT * FROM @tranPay
  167. SELECT * FROM @receiver
  168. RETURN
  169. END
  170. IF @flag = 'l2'
  171. BEGIN
  172. SELECT title, case when alias like '%agent%' then 'Sending '+alias else alias end as alias FROM @tranSend
  173. union all
  174. SELECT title, 'Sender '+ alias FROM @sender
  175. union all
  176. SELECT title, case when alias like '%agent%' then 'Payout '+alias else alias end as alias FROM @tranPay
  177. union all
  178. SELECT title, 'Receiver '+alias FROM @receiver
  179. RETURN
  180. END
  181. IF @flag = 'r'
  182. BEGIN
  183. DECLARE
  184. @sql VARCHAR(MAX)
  185. ,@table VARCHAR(MAX)
  186. ,@selectList VARCHAR(MAX)
  187. ,@SQL1 VARCHAR(MAX)
  188. SET @table = '
  189. SELECT
  190. [Transaction Pay_Approved Date] = FORMAT(trn.approvedDate,''yyyyMMdd'')
  191. ,[Transaction Pay_Requested Date] = FORMAT(trn.createdDate,''yyyyMMdd'')
  192. ,[Transaction Pay_Requested Time] = FORMAT(trn.createdDate,''HHmmss'')
  193. ,[Transaction Send_Tran ID] = trn.id
  194. ,[Transaction Send_Control No] = dbo.FNADecryptString(trn.controlNo)
  195. ,[Transaction Send_Agent] = ISNULL(trn.sBranchName, ''-'')
  196. ,[Transaction Send_Collection Amount]=trn.cAmt
  197. ,[Transaction Send_USD Amount]=ROUND(trn.tAmt/(trn.sCurrCostRate + trn.sCurrHoMargin), 2)
  198. ,[Transaction Send_USD Rate]=trn.sCurrCostRate + trn.sCurrHoMargin
  199. ,[Transaction Send_Collection Currency]=trn.collCurr
  200. ,[Transaction Send_Transaction Amount]=trn.tAmt
  201. ,[Transaction Send_Service Charge]=trn.serviceCharge
  202. ,[Transaction Send_Handling Fee] = ISNULL(trn.handlingFee, 0)
  203. ,[Transaction Send_Agent Commission]=trn.sAgentComm
  204. ,[Transaction Send_Country] = sa.agentCountry
  205. ,[Transaction Send_State] = sa.agentState
  206. ,[Transaction Send_District] = sa.agentDistrict
  207. ,[Transaction Send_Location] = sLoc.districtName
  208. ,[Transaction Send_City] = sa.agentCity
  209. ,[Transaction Send_Address] = sa.agentAddress
  210. ,[Transaction Send_Purpose Of Remit] = ISNULL(trn.purposeOfRemit, ''-'')
  211. ,[Transaction Send_Source Of Fund] = ISNULL(trn.purposeOfRemit, ''-'')
  212. ,[Transaction Send_Collection Mode] = trn.collMode
  213. ,[Transaction Send_Payment Method] = trn.paymentMethod
  214. ,[Sender Information_Member ID] = sen.membershipId
  215. ,[Sender Information_Customer ID] = sen.customerId
  216. ,[Sender Information_Name] = sen.firstName + ISNULL( '' '' + sen.middleName, '''') + ISNULL( '' '' + sen.lastName1, '''') + ISNULL( '' '' + sen.lastName2, '''')
  217. ,[Sender Information_Country] = sen.country
  218. ,[Sender Information_State] = sen.state
  219. ,[Sender Information_District] = sen.district
  220. ,[Sender Information_City] = sen.city
  221. ,[Sender Information_Address] = sen.address
  222. ,[Sender Information_Contact Number] = COALESCE(sen.mobile, sen.homephone, sen.workphone)
  223. ,[Sender Information_ID Type] = sen.idType
  224. ,[Sender Information_ID Number] = sen.idNumber
  225. ,[Sender Information_Valid Date] = sen.validDate
  226. ,[Sender Information_Email] = sen.email
  227. ,[Transaction Pay_Agent] = ISNULL(trn.pBranchName, ''-'')
  228. ,[Transaction Pay_Payout Amount] = trn.pAmt
  229. ,[Transaction Pay_Agent Commission]=trn.pAgentComm
  230. ,[Transaction Pay_Payout Currency] = trn.payoutCurr
  231. ,[Transaction Pay_Country] = trn.pCountry
  232. ,[Transaction Pay_State] = trn.pState
  233. ,[Transaction Pay_District] = trn.pDistrict
  234. ,[Transaction Pay_Location] = pLoc.districtName
  235. ,[Transaction Pay_City] = pa.agentCity
  236. ,[Transaction Pay_Address] = pa.agentAddress
  237. ,[Transaction Pay_Relationship With Sender] = ISNULL(trn.relWithSender, ''-'')
  238. ,[Transaction Pay_Tran Status]=trn.tranStatus
  239. ,[Transaction Pay_Pay Status]=trn.payStatus
  240. ,[Transaction Pay_Payout Message] = ISNULL(trn.pMessage, ''-'')
  241. ,[Transaction Pay_Paid By] = ISNULL(trn.paidBy, ''-'')
  242. ,[Transaction Pay_Paid Date] = ISNULL(cast(trn.paidDate as varchar), ''-'')
  243. ,[Receiver Information_Member ID] = rec.membershipId
  244. ,[Receiver Information_Customer ID] = rec.customerId
  245. ,[Receiver Information_Name] = rec.firstName + ISNULL( '''' + rec.middleName, '''') + ISNULL( '' '' + rec.lastName1, '''') + ISNULL( '' '' + rec.lastName2, '' '')
  246. ,[Receiver Information_Country] = rec.country
  247. ,[Receiver Information_State] = rec.state
  248. ,[Receiver Information_District] = rec.district
  249. ,[Receiver Information_City] = rec.city
  250. ,[Receiver Information_Address] = rec.address
  251. ,[Receiver Information_Contact No] = COALESCE(rec.mobile, rec.homephone, rec.workphone)
  252. ,[Receiver Information_ID Type] = rec.idType
  253. ,[Receiver Information_ID Number] = rec.idNumber
  254. FROM remitTran trn WITH(NOLOCK)
  255. LEFT JOIN tranSenders sen WITH(NOLOCK) ON trn.id = sen.tranId
  256. LEFT JOIN tranReceivers rec WITH(NOLOCK) ON trn.id = rec.tranId
  257. LEFT JOIN agentMaster sa WITH(NOLOCK) ON trn.sBranch = sa.agentId
  258. LEFT JOIN agentMaster pa WITH(NOLOCK) ON trn.pBranch = pa.agentId
  259. LEFT JOIN api_districtList pLoc WITH(NOLOCK) ON trn.pLocation = pLoc.districtCode
  260. LEFT JOIN api_districtList sLoc WITH(NOLOCK) ON sa.agentLocation = sLoc.districtCode
  261. WHERE 1 = 1
  262. '
  263. SELECT
  264. @selectList = ISNULL(@selectList + ', ', '') + title + ' ' + ISNULL(NULLIF(title, ''), title) + '' + CHAR(13)
  265. FROM @tranSend WHERE id IN(SELECT value FROM dbo.Split(',', @tranSendList) x)
  266. SELECT
  267. @selectList = ISNULL(@selectList + ', ', '') + title + ' ' + ISNULL(NULLIF(title, ''), title) + '' + CHAR(13)
  268. FROM @sender WHERE id IN(SELECT value FROM dbo.Split(',', @senderList) x)
  269. SELECT
  270. @selectList = ISNULL(@selectList + ', ', '') + title + ' ' + ISNULL(NULLIF(title, ''), title) + '' + CHAR(13)
  271. FROM @tranPay WHERE id IN(SELECT value FROM dbo.Split(',', @tranPayList) x)
  272. SELECT
  273. @selectList = ISNULL(@selectList + ', ', '') + title + ' ' + ISNULL(NULLIF(title, ''), title) + '' + CHAR(13)
  274. FROM @receiver WHERE id IN(SELECT value FROM dbo.Split(',', @receiverList) x)
  275. SET @sql = ''
  276. IF @controlNumber IS NULL
  277. BEGIN
  278. -- ### TRAN FILTER
  279. -- ## SENDING TRAN
  280. IF @ssAgent IS NOT NULL
  281. BEGIN
  282. SET @sql = @sql + ' AND trn.sSuperAgent = ' + CAST(@ssAgent AS VARCHAR)
  283. INSERT INTO @rptFilter(head,value)
  284. select 'Sending Super Agent',agentName from agentMaster where agentId=@ssAgent
  285. END
  286. IF @sCountry IS NOT NULL
  287. BEGIN
  288. SET @sql = @sql + ' AND trn.sCountry = ''' + CAST(@sCountry AS VARCHAR) + ''''
  289. INSERT INTO @rptFilter(head,value)
  290. select 'Sending Country',@sCountry
  291. END
  292. IF @sAgent IS NOT NULL
  293. BEGIN
  294. SET @sql = @sql + ' AND trn.sAgent = ' + CAST(@sAgent AS VARCHAR)
  295. INSERT INTO @rptFilter(head,value)
  296. SELECT 'Sending Agent',agentName from agentMaster where agentId=@sAgent
  297. END
  298. IF @sBranch IS NOT NULL
  299. BEGIN
  300. SET @sql = @sql + ' AND trn.sBranch = ' + CAST(@sBranch AS VARCHAR)
  301. INSERT INTO @rptFilter(head,value)
  302. SELECT 'Sending Branch',agentName from agentMaster where agentId=@sBranch
  303. END
  304. IF @tranType IS NOT NULL
  305. begin
  306. declare @tranTypeName as varchar(20)
  307. select @tranTypeName=typeTitle from serviceTypeMaster where serviceTypeId=@tranType
  308. SET @sql = @sql + ' AND trn.paymentMethod = ''' + CAST(@tranTypeName AS VARCHAR) + ''''
  309. INSERT INTO @rptFilter(head,value)
  310. SELECT 'Transaction Type',@tranTypeName
  311. end
  312. IF @sUser IS NOT NULL
  313. BEGIN
  314. SET @sql = @sql + ' AND trn.createdBy = ''' + CAST(@sUser AS VARCHAR) + ''''
  315. INSERT INTO @rptFilter(head,value)
  316. SELECT 'Send/Created By',@sUser
  317. END
  318. --- PAYOUT BRANCH
  319. IF @rsAgent IS NOT NULL
  320. BEGIN
  321. SET @sql = @sql + ' AND trn.pSuperAgent = ' + CAST(@rsAgent AS VARCHAR)
  322. INSERT INTO @rptFilter(head,value)
  323. SELECT 'Receiving Super Agent',agentName from agentMaster where agentId=@rsAgent
  324. END
  325. IF @rCountry IS NOT NULL
  326. BEGIN
  327. SET @sql = @sql + ' AND trn.pCountry = ''' + CAST(@rCountry AS VARCHAR) + ''''
  328. INSERT INTO @rptFilter(head,value)
  329. SELECT 'Receiving Country',@rCountry
  330. END
  331. IF @rAgent IS NOT NULL
  332. BEGIN
  333. SET @sql = @sql + ' AND trn.pAgent = ' + CAST(@rAgent AS VARCHAR)
  334. INSERT INTO @rptFilter(head,value)
  335. SELECT 'Receiving Agent',agentName from agentMaster where agentId=@rAgent
  336. END
  337. IF @rBranch IS NOT NULL
  338. BEGIN
  339. SET @sql = @sql + ' AND trn.pBranch = ' + CAST(@rBranch AS VARCHAR)
  340. INSERT INTO @rptFilter(head,value)
  341. SELECT 'Receiving Branch',agentName from agentMaster where agentId=@rBranch
  342. END
  343. IF @rUser IS NOT NULL
  344. BEGIN
  345. SET @sql = @sql + ' AND trn.paidBy = ''' + CAST(@rUser AS VARCHAR) + ''''
  346. INSERT INTO @rptFilter(head,value)
  347. SELECT 'Paid By',@rUser
  348. END
  349. IF @sendDateFrom IS NOT NULL
  350. BEGIN
  351. SET @sql = @sql + ' AND trn.createdDate >= ''' + @sendDateFrom + ''''
  352. INSERT INTO @rptFilter(head,value)
  353. SELECT 'Send Date From',@sendDateFrom
  354. END
  355. IF @sendDateTo IS NOT NULL
  356. BEGIN
  357. SET @sql = @sql + ' AND trn.createdDate <= ''' + @sendDateTo + ' 23:59:59'''
  358. INSERT INTO @rptFilter(head,value)
  359. SELECT 'Send Date To',@sendDateTo
  360. END
  361. IF @paidDateFrom IS NOT NULL
  362. BEGIN
  363. SET @sql = @sql + ' AND trn.paidDate >= ''' + @paidDateFrom + ''''
  364. INSERT INTO @rptFilter(head,value)
  365. SELECT 'Paid Date From',@paidDateFrom
  366. END
  367. IF @paidDateTo IS NOT NULL
  368. BEGIN
  369. SET @sql = @sql + ' AND trn.paidDate <= ''' + @paidDateTo + ' 23:59:59'''
  370. INSERT INTO @rptFilter(head,value)
  371. SELECT 'Paid Date To',@paidDateFrom
  372. END
  373. IF @cancelledDateFrom IS NOT NULL
  374. BEGIN
  375. SET @sql = @sql + ' AND trn.cancelApprovedDate >= ''' + @cancelledDateFrom + ''''
  376. INSERT INTO @rptFilter(head,value)
  377. SELECT 'Cancel Date From',@cancelledDateFrom
  378. END
  379. IF @cancelledDateTo IS NOT NULL
  380. BEGIN
  381. SET @sql = @sql + ' AND trn.cancelApprovedDate <= ''' + @cancelledDateTo + ' 23:59:59'''
  382. INSERT INTO @rptFilter(head,value)
  383. SELECT 'Cancel Date To',@cancelledDateTo
  384. END
  385. IF @approvedDateFrom IS NOT NULL
  386. BEGIN
  387. SET @sql = @sql + ' AND trn.approvedDate >= ''' + @approvedDateFrom + ''''
  388. INSERT INTO @rptFilter(head,value)
  389. SELECT 'Approved Date From',@approvedDateFrom
  390. END
  391. IF @approvedDateTo IS NOT NULL
  392. BEGIN
  393. SET @sql = @sql + ' AND trn.approvedDate <= ''' + @approvedDateTo + ' 23:59:59'''
  394. INSERT INTO @rptFilter(head,value)
  395. SELECT 'Approved Date To',@approvedDateTo
  396. END
  397. IF @collectionAmountFrom IS NOT NULL
  398. BEGIN
  399. SET @sql = @sql + ' AND trn.cAmt >= ' + CAST(@collectionAmountFrom AS VARCHAR)
  400. INSERT INTO @rptFilter(head,value)
  401. SELECT 'Collection Amount From ',@collectionAmountFrom
  402. END
  403. IF @collectionAmountTo IS NOT NULL
  404. BEGIN
  405. SET @sql = @sql + ' AND trn.cAmt <= ' + CAST(@collectionAmountTo AS VARCHAR)
  406. INSERT INTO @rptFilter(head,value)
  407. SELECT 'Collection Amount To ',@collectionAmountTo
  408. END
  409. IF @payoutAmountFrom IS NOT NULL
  410. BEGIN
  411. SET @sql = @sql + ' AND trn.pAmt >= ' + CAST(@payoutAmountFrom AS VARCHAR)
  412. INSERT INTO @rptFilter(head,value)
  413. SELECT 'Payout Amount From ',@payoutAmountFrom
  414. END
  415. IF @payoutAmountTo IS NOT NULL
  416. BEGIN
  417. SET @sql = @sql + ' AND trn.cAmt <= ' + CAST(@payoutAmountTo AS VARCHAR)
  418. INSERT INTO @rptFilter(head,value)
  419. SELECT 'Payout Amount To ',@payoutAmountTo
  420. END
  421. IF @tranStatus IS NOT NULL
  422. BEGIN
  423. SET @sql = @sql + ' AND trn.tranStatus = ''' + CAST(@tranStatus AS VARCHAR)+''''
  424. INSERT INTO @rptFilter(head,value)
  425. SELECT 'Transaction Status',@tranStatus
  426. END
  427. -- ### SENDING AGENT FILTER
  428. IF @sZone IS NOT NULL
  429. BEGIN
  430. SET @sql = @sql + ' AND sa.agentState = ''' + CAST(@sZoneName AS VARCHAR)+''''
  431. INSERT INTO @rptFilter(head,value)
  432. SELECT 'Sending Zone',@sZone
  433. END
  434. IF @sDistrict IS NOT NULL
  435. BEGIN
  436. SET @sql = @sql + ' AND sa.agentDistrict =''' + CAST(@sDistrictName AS VARCHAR)+''''
  437. INSERT INTO @rptFilter(head,value)
  438. SELECT 'Sending District',@sDistrict
  439. END
  440. IF @sLocation IS NOT NULL
  441. BEGIN
  442. SET @sql = @sql + ' AND sa.agentLocation = ' + CAST(@sLocation AS VARCHAR)
  443. INSERT INTO @rptFilter(head,value)
  444. SELECT 'Sending Location',@sLocation
  445. END
  446. /* Sender Filter*/
  447. IF @sFirstName IS NOT NULL
  448. BEGIN
  449. SET @sql = @sql + ' AND sen.FirstName LIKE ''' + @sFirstName + '%'''
  450. INSERT INTO @rptFilter(head,value)
  451. SELECT 'Sending First Name',@sFirstName
  452. END
  453. IF @sMiddleName IS NOT NULL
  454. BEGIN
  455. SET @sql = @sql + ' AND sen.MiddleName LIKE ''' + @sMiddleName + '%'''
  456. INSERT INTO @rptFilter(head,value)
  457. SELECT 'Sending Middle Name',@sFirstName
  458. END
  459. IF @sLastName1 IS NOT NULL
  460. BEGIN
  461. SET @sql = @sql + ' AND sen.lastName1 LIKE ''' + @sLastName1 + '%'''
  462. INSERT INTO @rptFilter(head,value)
  463. SELECT 'Sending Last Name',@sLastName1
  464. END
  465. IF @sLastName2 IS NOT NULL
  466. BEGIN
  467. SET @sql = @sql + ' AND sen.LastName2 LIKE ''' + @sLastName2 + '%'''
  468. INSERT INTO @rptFilter(head,value)
  469. SELECT 'Sending Second Last Name',@sLastName2
  470. END
  471. IF @sMobile IS NOT NULL
  472. BEGIN
  473. SET @sql = @sql + ' AND sen.mobile LIKE ''' + @sMobile + '%'''
  474. INSERT INTO @rptFilter(head,value)
  475. SELECT 'Sending Mobile',@sMobile
  476. END
  477. IF @sEmail IS NOT NULL
  478. BEGIN
  479. SET @sql = @sql + ' AND sen.email LIKE ''' + @sEmail + '%'''
  480. INSERT INTO @rptFilter(head,value)
  481. SELECT 'Sending Email',@sEmail
  482. END
  483. IF @sIDNumber IS NOT NULL
  484. BEGIN
  485. SET @sql = @sql + ' AND sen.membershipId LIKE ''' + @sIDNumber + '%'''
  486. INSERT INTO @rptFilter(head,value)
  487. SELECT 'Sending ID Number',@sIDNumber
  488. END
  489. -- ### PAYOUT AGENT FILTER
  490. IF @rZone IS NOT NULL
  491. BEGIN
  492. SET @sql = @sql + ' AND pa.agentState = ''' + CAST(@rZoneName AS VARCHAR)+''''
  493. INSERT INTO @rptFilter(head,value)
  494. SELECT 'Receiving Zone',@rZone
  495. END
  496. IF @rDistrict IS NOT NULL
  497. BEGIN
  498. SET @sql = @sql + ' AND pa.agentDistrict = ''' + CAST(@rDistrictName AS VARCHAR)+''''
  499. INSERT INTO @rptFilter(head,value)
  500. SELECT 'Receiving District',@rDistrict
  501. END
  502. IF @rLocation IS NOT NULL
  503. BEGIN
  504. SET @sql = @sql + ' AND pa.agentLocation = ' + CAST(@rLocation AS VARCHAR)
  505. INSERT INTO @rptFilter(head,value)
  506. SELECT 'Receiving Location',@rLocation
  507. END
  508. -- ## RECEIVER FILTER
  509. IF @rFirstName IS NOT NULL
  510. BEGIN
  511. SET @sql = @sql + ' AND rec.FirstName LIKE ''' + @rFirstName + '%'''
  512. INSERT INTO @rptFilter(head,value)
  513. SELECT 'Receiving First Name',@rFirstName
  514. END
  515. IF @rMiddleName IS NOT NULL
  516. BEGIN
  517. SET @sql = @sql + ' AND rec.MiddleName LIKE ''' + @rMiddleName + '%'''
  518. INSERT INTO @rptFilter(head,value)
  519. SELECT 'Receiving Middle Name',@rMiddleName
  520. END
  521. IF @rLastName1 IS NOT NULL
  522. BEGIN
  523. SET @sql = @sql + ' AND rec.lastName1 LIKE ''' + @rLastName1 + '%'''
  524. INSERT INTO @rptFilter(head,value)
  525. SELECT 'Receiving Last Name',@rLastName1
  526. END
  527. IF @rLastName2 IS NOT NULL
  528. BEGIN
  529. SET @sql = @sql + ' AND rec.sLastName2 LIKE ''' + @rLastName2 + '%'''
  530. INSERT INTO @rptFilter(head,value)
  531. SELECT 'Receiving Second Last Name',@rLastName2
  532. END
  533. IF @rMobile IS NOT NULL
  534. BEGIN
  535. SET @sql = @sql + ' AND rec.mobile LIKE ''' + @rMobile + '%'''
  536. INSERT INTO @rptFilter(head,value)
  537. SELECT 'Receiving Mobile',@rMobile
  538. END
  539. IF @rEmail IS NOT NULL
  540. BEGIN
  541. SET @sql = @sql + ' AND rec.email LIKE ''' + @rEmail + '%'''
  542. INSERT INTO @rptFilter(head,value)
  543. SELECT 'Receiving Email',@rEmail
  544. END
  545. IF @rIDNumber IS NOT NULL
  546. BEGIN
  547. SET @sql = @sql + ' AND rec.membershipId LIKE ''' + @rIDNumber + '%'''
  548. INSERT INTO @rptFilter(head,value)
  549. SELECT 'Receiving ID Number',@rIDNumber
  550. END
  551. END
  552. ELSE
  553. BEGIN
  554. SET @controlNumber = dbo.FNAEncryptString(@controlNumber)
  555. SET @sql = @sql + ' AND trn.controlNo = ''' + CAST(@controlNumber AS VARCHAR) + ''''
  556. INSERT INTO @rptFilter(head,value)
  557. SELECT 'Control Number',@controlNumber
  558. END
  559. IF @orderBy IS NULL
  560. BEGIN
  561. SET @orderBy = '[Transaction Send_Tran ID]';
  562. END
  563. ELSE
  564. BEGIN
  565. INSERT INTO @rptFilter(head,value)
  566. SELECT 'Order By',@orderBy
  567. END
  568. IF @selectList IS NULL
  569. BEGIN
  570. SET @sql1 = 'SELECT '
  571. +
  572. ISNULL(@selectList, ' * ') + '
  573. FROM (
  574. '
  575. + @table + @sql +
  576. ' ) x '
  577. END
  578. ELSE
  579. BEGIN
  580. SET @sql1 = 'SELECT [Transaction Send_Tran ID] ,'
  581. +
  582. ISNULL(@selectList, ' * ') + '
  583. FROM (
  584. '
  585. + @table + @sql +
  586. ' ) x '
  587. END
  588. DECLARE @SQL2 AS VARCHAR(MAX)
  589. SET @SQL2='
  590. SELECT COUNT(''a'') AS TXNCOUNT,'+@pageSize+' PAGESIZE,'+@pageNumber+' PAGENUMBER FROM ('+ @sql1+') AS tmp;
  591. SELECT * FROM
  592. (
  593. SELECT ROW_NUMBER() OVER (ORDER BY '+@orderBy+' DESC) AS [Transaction Send_S.N.],*
  594. FROM
  595. (
  596. '+ @sql1 +'
  597. ) A
  598. ) B WHERE 1 = 1 AND B.[Transaction Send_S.N.] BETWEEN (('+@pageNumber+' - 1) * '+@pageSize+' + 1) AND '+@pageNumber+' * '+@pageSize+'
  599. '
  600. --PRINT(@sql1)
  601. EXEC(@SQL2)
  602. EXEC proc_errorHandler '0', 'Report has been prepared successfully.', NULL
  603. SELECT * FROM @rptFilter
  604. SELECT 'Transaction Master Report' title
  605. END
  606. GO