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

USE [FastMoneyPro_Remit]
GO
/****** Object: StoredProcedure [dbo].[proc_tranMasterReport] Script Date: 7/4/2019 11:35:48 AM ******/
DROP PROCEDURE [dbo].[proc_tranMasterReport]
GO
/****** Object: StoredProcedure [dbo].[proc_tranMasterReport] Script Date: 7/4/2019 11:35:48 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
/*
EXEC proc_tranMasterReport @flag = 'l'
EXEC proc_tranMasterReport @flag = 'r', @user = 'admin',
@sHub = null, @ssAgent = null, @sCountry = null, @sAgent = null,
@sBranch = null, @sUser = null, @sZone = null, @sDistrict = null,
@sLocation = null, @sFirstName = null, @sMiddleName = null, @sLastName1 = null,
@sLastName2 = null, @sMobile = null, @sEmail = null, @sIDNumber = null, @rHub = null,
@rsAgent = null, @rCountry = null, @rAgent = null, @rBranch = null, @rUser = null, @rZone = null,
@rDistrict = null, @rLocation = null, @rFirstName = null, @rMiddleName = null,
@rLastName1 = null, @rLastName2 = null, @rMobile = null, @rEmail = null, @rIDNumber = null,
@controlNumber = '91722496166', @tranType = null, @top = null, @topBy = null, @groupBy = null,
@sendDateFrom = null, @sendDateTo = null, @paidDateFrom = null, @paidDateTo = null,
@cancelledDateFrom = null, @cancelledDateTo = null, @approvedDateFrom = null,
@approvedDateTo = null, @collectionAmountFrom = null, @collectionAmountTo = null,
@payoutAmountFrom = null, @payoutAmountTo = null, @tranStatus = null, @sadList = null,
@sdList = null, @radList = null, @rdList = null, @tdList = null
*/
CREATE PROC [dbo].[proc_tranMasterReport] (
@flag VARCHAR(50)
,@user VARCHAR(50) = NULL
,@sHub BIGINT = NULL
,@ssAgent BIGINT = NULL
,@sCountry VARCHAR(200) = NULL
,@sAgent BIGINT = NULL
,@sBranch BIGINT = NULL
,@sUser varchar(50) = NULL
,@sZone BIGINT = NULL
,@sDistrict BIGINT = NULL
,@sLocation BIGINT = NULL
,@sFirstName VARCHAR(50) = NULL
,@sMiddleName VARCHAR(50) = NULL
,@sLastName1 VARCHAR(50) = NULL
,@sLastName2 VARCHAR(50) = NULL
,@sMobile VARCHAR(20) = NULL
,@sEmail VARCHAR(50) = NULL
,@sIDNumber VARCHAR(20) = NULL
,@rHub BIGINT = NULL
,@rsAgent BIGINT = NULL
,@rCountry VARCHAR(200) = NULL
,@rAgent BIGINT = NULL
,@rBranch BIGINT = NULL
,@rUser varchar(50) = NULL
,@rZone BIGINT = NULL
,@rDistrict BIGINT = NULL
,@rLocation BIGINT = NULL
,@rFirstName VARCHAR(50) = NULL
,@rMiddleName VARCHAR(50) = NULL
,@rLastName1 VARCHAR(50) = NULL
,@rLastName2 VARCHAR(50) = NULL
,@rMobile VARCHAR(20) = NULL
,@rEmail VARCHAR(50) = NULL
,@rIDNumber VARCHAR(20) = NULL
,@controlNumber VARCHAR(50) = NULL
,@tranType INT = NULL
,@orderBy VARCHAR(100) = NULL
,@sendDateFrom VARCHAR(20) = NULL
,@sendDateTo VARCHAR(20) = NULL
,@paidDateFrom VARCHAR(20) = NULL
,@paidDateTo VARCHAR(20) = NULL
,@cancelledDateFrom VARCHAR(20) = NULL
,@cancelledDateTo VARCHAR(20) = NULL
,@approvedDateFrom VARCHAR(20) = NULL
,@approvedDateTo VARCHAR(20) = NULL
,@collectionAmountFrom MONEY = NULL
,@collectionAmountTo MONEY = NULL
,@payoutAmountFrom MONEY = NULL
,@payoutAmountTo MONEY = NULL
,@tranStatus VARCHAR(50) = NULL
,@tranSendList VARCHAR(MAX) = NULL
,@senderList VARCHAR(MAX) = NULL
,@tranPayList VARCHAR(MAX) = NULL
,@receiverList VARCHAR(MAX) = NULL
,@pageSize VARCHAR(50) = NULL
,@pageNumber VARCHAR(50) = NULL
)
AS
SET NOCOUNT ON
declare @rZoneName varchar(200),@sZoneName varchar(200),@rDistrictName as varchar(200),@sDistrictName as varchar(200)
if @rZone is not null
select @rZoneName=stateName from countryStateMaster where stateId=@rZone
if @sZone is not null
select @sZoneName=stateName from countryStateMaster where stateId=@sZone
if @rDistrict is not null
select @rDistrictName=districtName from zoneDistrictMap where districtId=@rDistrict
if @sDistrict is not null
select @sDistrictName=districtName from zoneDistrictMap where districtId=@sDistrict
DECLARE @rptFilter TABLE (
head VARCHAR(50)
,value VARCHAR(200)
)
DECLARE @tranSend TABLE (
id INT IDENTITY(1, 1)
,title VARCHAR(50)
,alias VARCHAR(50)
)
INSERT @tranSend (title, alias)
SELECT '[Transaction Send_Agent]', 'Agent' UNION ALL
SELECT '[Transaction Send_Control No]', 'Control No' UNION ALL
SELECT '[Transaction Send_Collection Amount]', 'Collection Amount' UNION ALL
SELECT '[Transaction Send_USD Amount]', 'USD Amount' UNION ALL
SELECT '[Transaction Send_USD Rate]', 'USD Rate' UNION ALL
SELECT '[Transaction Send_Collection Currency]', 'Collection Currency' UNION ALL
SELECT '[Transaction Send_Service Charge]', 'Service Charge' UNION ALL
SELECT '[Transaction Send_Agent Commission]', 'Agent Commission' UNION ALL
SELECT '[Transaction Send_Country]', 'Agent Country' UNION ALL
SELECT '[Transaction Send_State]', 'Agent State' UNION ALL
SELECT '[Transaction Send_District]', 'Agent District' UNION ALL
SELECT '[Transaction Send_Location]', 'Agent Location' UNION ALL
SELECT '[Transaction Send_City]', 'Agent City' UNION ALL
SELECT '[Transaction Send_Address]', 'Agent Address' UNION ALL
SELECT '[Transaction Send_Payment Method]', 'Payment Method'
DECLARE @sender TABLE (
id INT IDENTITY(1, 1)
,title VARCHAR(50)
,alias VARCHAR(50)
)
INSERT @sender (title, alias)
SELECT '[Sender Information_Name]', 'Name' UNION ALL
SELECT '[Sender Information_Address]', 'Address' UNION ALL
SELECT '[Sender Information_Contact Number]', 'Contact Number'
DECLARE @tranPay TABLE (
id INT IDENTITY(1, 1)
,title VARCHAR(50)
,alias VARCHAR(50)
)
INSERT @tranPay (title, alias)
SELECT '[Transaction Pay_Agent]', 'Agent' UNION ALL
SELECT '[Transaction Pay_Payout Amount]', 'Payout Amount' UNION ALL
SELECT '[Transaction Pay_Agent Commission]', 'Agent Commission' UNION ALL
SELECT '[Transaction Pay_Payout Currency]', 'Payout Currency' UNION ALL
SELECT '[Transaction Pay_Country]', 'Agent Country' UNION ALL
SELECT '[Transaction Pay_State]', 'Agent State' UNION ALL
SELECT '[Transaction Pay_District]', 'Agent District' UNION ALL
SELECT '[Transaction Pay_Location]', 'Agent Location' UNION ALL
SELECT '[Transaction Pay_City]', 'Agent City' UNION ALL
SELECT '[Transaction Pay_Address]', 'Agent Address' UNION ALL
SELECT '[Transaction Pay_Tran Status]', 'Tran Status' UNION ALL
SELECT '[Transaction Pay_Paid By]', 'Paid By' UNION ALL
SELECT '[Transaction Pay_Paid Date]', 'Paid Date' UNION ALL
SELECT '[Transaction Pay_Approved Date]', 'Approved Date' UNION ALL
SELECT '[Transaction Pay_Requested Date]', 'Requested Date' UNION ALL
SELECT '[Transaction Pay_Requested Time]', 'Requested Time'
DECLARE @receiver TABLE (
id INT IDENTITY(1, 1)
,title VARCHAR(50)
,alias VARCHAR(50)
)
INSERT @receiver (title, alias)
SELECT '[Receiver Information_Name]', 'Name' UNION ALL
SELECT '[Receiver Information_Address]', 'Address' UNION ALL
SELECT '[Receiver Information_Contact No]', 'Contact Number'
IF @flag = 'l'
BEGIN
SELECT * FROM @tranSend
SELECT * FROM @sender
SELECT * FROM @tranPay
SELECT * FROM @receiver
RETURN
END
IF @flag = 'l2'
BEGIN
SELECT title, case when alias like '%agent%' then 'Sending '+alias else alias end as alias FROM @tranSend
union all
SELECT title, 'Sender '+ alias FROM @sender
union all
SELECT title, case when alias like '%agent%' then 'Payout '+alias else alias end as alias FROM @tranPay
union all
SELECT title, 'Receiver '+alias FROM @receiver
RETURN
END
IF @flag = 'r'
BEGIN
DECLARE
@sql VARCHAR(MAX)
,@table VARCHAR(MAX)
,@selectList VARCHAR(MAX)
,@SQL1 VARCHAR(MAX)
SET @table = '
SELECT
[Transaction Pay_Approved Date] = FORMAT(trn.approvedDate,''yyyyMMdd'')
,[Transaction Pay_Requested Date] = FORMAT(trn.createdDate,''yyyyMMdd'')
,[Transaction Pay_Requested Time] = FORMAT(trn.createdDate,''HHmmss'')
,[Transaction Send_Tran ID] = trn.id
,[Transaction Send_Control No] = dbo.FNADecryptString(trn.controlNo)
,[Transaction Send_Agent] = ISNULL(trn.sBranchName, ''-'')
,[Transaction Send_Collection Amount]=trn.cAmt
,[Transaction Send_USD Amount]=ROUND(trn.tAmt/(trn.sCurrCostRate + trn.sCurrHoMargin), 2)
,[Transaction Send_USD Rate]=trn.sCurrCostRate + trn.sCurrHoMargin
,[Transaction Send_Collection Currency]=trn.collCurr
,[Transaction Send_Transaction Amount]=trn.tAmt
,[Transaction Send_Service Charge]=trn.serviceCharge
,[Transaction Send_Handling Fee] = ISNULL(trn.handlingFee, 0)
,[Transaction Send_Agent Commission]=trn.sAgentComm
,[Transaction Send_Country] = sa.agentCountry
,[Transaction Send_State] = sa.agentState
,[Transaction Send_District] = sa.agentDistrict
,[Transaction Send_Location] = sLoc.districtName
,[Transaction Send_City] = sa.agentCity
,[Transaction Send_Address] = sa.agentAddress
,[Transaction Send_Purpose Of Remit] = ISNULL(trn.purposeOfRemit, ''-'')
,[Transaction Send_Source Of Fund] = ISNULL(trn.purposeOfRemit, ''-'')
,[Transaction Send_Collection Mode] = trn.collMode
,[Transaction Send_Payment Method] = trn.paymentMethod
,[Sender Information_Member ID] = sen.membershipId
,[Sender Information_Customer ID] = sen.customerId
,[Sender Information_Name] = sen.firstName + ISNULL( '' '' + sen.middleName, '''') + ISNULL( '' '' + sen.lastName1, '''') + ISNULL( '' '' + sen.lastName2, '''')
,[Sender Information_Country] = sen.country
,[Sender Information_State] = sen.state
,[Sender Information_District] = sen.district
,[Sender Information_City] = sen.city
,[Sender Information_Address] = sen.address
,[Sender Information_Contact Number] = COALESCE(sen.mobile, sen.homephone, sen.workphone)
,[Sender Information_ID Type] = sen.idType
,[Sender Information_ID Number] = sen.idNumber
,[Sender Information_Valid Date] = sen.validDate
,[Sender Information_Email] = sen.email
,[Transaction Pay_Agent] = ISNULL(trn.pBranchName, ''-'')
,[Transaction Pay_Payout Amount] = trn.pAmt
,[Transaction Pay_Agent Commission]=trn.pAgentComm
,[Transaction Pay_Payout Currency] = trn.payoutCurr
,[Transaction Pay_Country] = trn.pCountry
,[Transaction Pay_State] = trn.pState
,[Transaction Pay_District] = trn.pDistrict
,[Transaction Pay_Location] = pLoc.districtName
,[Transaction Pay_City] = pa.agentCity
,[Transaction Pay_Address] = pa.agentAddress
,[Transaction Pay_Relationship With Sender] = ISNULL(trn.relWithSender, ''-'')
,[Transaction Pay_Tran Status]=trn.tranStatus
,[Transaction Pay_Pay Status]=trn.payStatus
,[Transaction Pay_Payout Message] = ISNULL(trn.pMessage, ''-'')
,[Transaction Pay_Paid By] = ISNULL(trn.paidBy, ''-'')
,[Transaction Pay_Paid Date] = ISNULL(cast(trn.paidDate as varchar), ''-'')
,[Receiver Information_Member ID] = rec.membershipId
,[Receiver Information_Customer ID] = rec.customerId
,[Receiver Information_Name] = rec.firstName + ISNULL( '''' + rec.middleName, '''') + ISNULL( '' '' + rec.lastName1, '''') + ISNULL( '' '' + rec.lastName2, '' '')
,[Receiver Information_Country] = rec.country
,[Receiver Information_State] = rec.state
,[Receiver Information_District] = rec.district
,[Receiver Information_City] = rec.city
,[Receiver Information_Address] = rec.address
,[Receiver Information_Contact No] = COALESCE(rec.mobile, rec.homephone, rec.workphone)
,[Receiver Information_ID Type] = rec.idType
,[Receiver Information_ID Number] = rec.idNumber
FROM remitTran trn WITH(NOLOCK)
LEFT JOIN tranSenders sen WITH(NOLOCK) ON trn.id = sen.tranId
LEFT JOIN tranReceivers rec WITH(NOLOCK) ON trn.id = rec.tranId
LEFT JOIN agentMaster sa WITH(NOLOCK) ON trn.sBranch = sa.agentId
LEFT JOIN agentMaster pa WITH(NOLOCK) ON trn.pBranch = pa.agentId
LEFT JOIN api_districtList pLoc WITH(NOLOCK) ON trn.pLocation = pLoc.districtCode
LEFT JOIN api_districtList sLoc WITH(NOLOCK) ON sa.agentLocation = sLoc.districtCode
WHERE 1 = 1
'
SELECT
@selectList = ISNULL(@selectList + ', ', '') + title + ' ' + ISNULL(NULLIF(title, ''), title) + '' + CHAR(13)
FROM @tranSend WHERE id IN(SELECT value FROM dbo.Split(',', @tranSendList) x)
SELECT
@selectList = ISNULL(@selectList + ', ', '') + title + ' ' + ISNULL(NULLIF(title, ''), title) + '' + CHAR(13)
FROM @sender WHERE id IN(SELECT value FROM dbo.Split(',', @senderList) x)
SELECT
@selectList = ISNULL(@selectList + ', ', '') + title + ' ' + ISNULL(NULLIF(title, ''), title) + '' + CHAR(13)
FROM @tranPay WHERE id IN(SELECT value FROM dbo.Split(',', @tranPayList) x)
SELECT
@selectList = ISNULL(@selectList + ', ', '') + title + ' ' + ISNULL(NULLIF(title, ''), title) + '' + CHAR(13)
FROM @receiver WHERE id IN(SELECT value FROM dbo.Split(',', @receiverList) x)
SET @sql = ''
IF @controlNumber IS NULL
BEGIN
-- ### TRAN FILTER
-- ## SENDING TRAN
IF @ssAgent IS NOT NULL
BEGIN
SET @sql = @sql + ' AND trn.sSuperAgent = ' + CAST(@ssAgent AS VARCHAR)
INSERT INTO @rptFilter(head,value)
select 'Sending Super Agent',agentName from agentMaster where agentId=@ssAgent
END
IF @sCountry IS NOT NULL
BEGIN
SET @sql = @sql + ' AND trn.sCountry = ''' + CAST(@sCountry AS VARCHAR) + ''''
INSERT INTO @rptFilter(head,value)
select 'Sending Country',@sCountry
END
IF @sAgent IS NOT NULL
BEGIN
SET @sql = @sql + ' AND trn.sAgent = ' + CAST(@sAgent AS VARCHAR)
INSERT INTO @rptFilter(head,value)
SELECT 'Sending Agent',agentName from agentMaster where agentId=@sAgent
END
IF @sBranch IS NOT NULL
BEGIN
SET @sql = @sql + ' AND trn.sBranch = ' + CAST(@sBranch AS VARCHAR)
INSERT INTO @rptFilter(head,value)
SELECT 'Sending Branch',agentName from agentMaster where agentId=@sBranch
END
IF @tranType IS NOT NULL
begin
declare @tranTypeName as varchar(20)
select @tranTypeName=typeTitle from serviceTypeMaster where serviceTypeId=@tranType
SET @sql = @sql + ' AND trn.paymentMethod = ''' + CAST(@tranTypeName AS VARCHAR) + ''''
INSERT INTO @rptFilter(head,value)
SELECT 'Transaction Type',@tranTypeName
end
IF @sUser IS NOT NULL
BEGIN
SET @sql = @sql + ' AND trn.createdBy = ''' + CAST(@sUser AS VARCHAR) + ''''
INSERT INTO @rptFilter(head,value)
SELECT 'Send/Created By',@sUser
END
--- PAYOUT BRANCH
IF @rsAgent IS NOT NULL
BEGIN
SET @sql = @sql + ' AND trn.pSuperAgent = ' + CAST(@rsAgent AS VARCHAR)
INSERT INTO @rptFilter(head,value)
SELECT 'Receiving Super Agent',agentName from agentMaster where agentId=@rsAgent
END
IF @rCountry IS NOT NULL
BEGIN
SET @sql = @sql + ' AND trn.pCountry = ''' + CAST(@rCountry AS VARCHAR) + ''''
INSERT INTO @rptFilter(head,value)
SELECT 'Receiving Country',@rCountry
END
IF @rAgent IS NOT NULL
BEGIN
SET @sql = @sql + ' AND trn.pAgent = ' + CAST(@rAgent AS VARCHAR)
INSERT INTO @rptFilter(head,value)
SELECT 'Receiving Agent',agentName from agentMaster where agentId=@rAgent
END
IF @rBranch IS NOT NULL
BEGIN
SET @sql = @sql + ' AND trn.pBranch = ' + CAST(@rBranch AS VARCHAR)
INSERT INTO @rptFilter(head,value)
SELECT 'Receiving Branch',agentName from agentMaster where agentId=@rBranch
END
IF @rUser IS NOT NULL
BEGIN
SET @sql = @sql + ' AND trn.paidBy = ''' + CAST(@rUser AS VARCHAR) + ''''
INSERT INTO @rptFilter(head,value)
SELECT 'Paid By',@rUser
END
IF @sendDateFrom IS NOT NULL
BEGIN
SET @sql = @sql + ' AND trn.createdDate >= ''' + @sendDateFrom + ''''
INSERT INTO @rptFilter(head,value)
SELECT 'Send Date From',@sendDateFrom
END
IF @sendDateTo IS NOT NULL
BEGIN
SET @sql = @sql + ' AND trn.createdDate <= ''' + @sendDateTo + ' 23:59:59'''
INSERT INTO @rptFilter(head,value)
SELECT 'Send Date To',@sendDateTo
END
IF @paidDateFrom IS NOT NULL
BEGIN
SET @sql = @sql + ' AND trn.paidDate >= ''' + @paidDateFrom + ''''
INSERT INTO @rptFilter(head,value)
SELECT 'Paid Date From',@paidDateFrom
END
IF @paidDateTo IS NOT NULL
BEGIN
SET @sql = @sql + ' AND trn.paidDate <= ''' + @paidDateTo + ' 23:59:59'''
INSERT INTO @rptFilter(head,value)
SELECT 'Paid Date To',@paidDateFrom
END
IF @cancelledDateFrom IS NOT NULL
BEGIN
SET @sql = @sql + ' AND trn.cancelApprovedDate >= ''' + @cancelledDateFrom + ''''
INSERT INTO @rptFilter(head,value)
SELECT 'Cancel Date From',@cancelledDateFrom
END
IF @cancelledDateTo IS NOT NULL
BEGIN
SET @sql = @sql + ' AND trn.cancelApprovedDate <= ''' + @cancelledDateTo + ' 23:59:59'''
INSERT INTO @rptFilter(head,value)
SELECT 'Cancel Date To',@cancelledDateTo
END
IF @approvedDateFrom IS NOT NULL
BEGIN
SET @sql = @sql + ' AND trn.approvedDate >= ''' + @approvedDateFrom + ''''
INSERT INTO @rptFilter(head,value)
SELECT 'Approved Date From',@approvedDateFrom
END
IF @approvedDateTo IS NOT NULL
BEGIN
SET @sql = @sql + ' AND trn.approvedDate <= ''' + @approvedDateTo + ' 23:59:59'''
INSERT INTO @rptFilter(head,value)
SELECT 'Approved Date To',@approvedDateTo
END
IF @collectionAmountFrom IS NOT NULL
BEGIN
SET @sql = @sql + ' AND trn.cAmt >= ' + CAST(@collectionAmountFrom AS VARCHAR)
INSERT INTO @rptFilter(head,value)
SELECT 'Collection Amount From ',@collectionAmountFrom
END
IF @collectionAmountTo IS NOT NULL
BEGIN
SET @sql = @sql + ' AND trn.cAmt <= ' + CAST(@collectionAmountTo AS VARCHAR)
INSERT INTO @rptFilter(head,value)
SELECT 'Collection Amount To ',@collectionAmountTo
END
IF @payoutAmountFrom IS NOT NULL
BEGIN
SET @sql = @sql + ' AND trn.pAmt >= ' + CAST(@payoutAmountFrom AS VARCHAR)
INSERT INTO @rptFilter(head,value)
SELECT 'Payout Amount From ',@payoutAmountFrom
END
IF @payoutAmountTo IS NOT NULL
BEGIN
SET @sql = @sql + ' AND trn.cAmt <= ' + CAST(@payoutAmountTo AS VARCHAR)
INSERT INTO @rptFilter(head,value)
SELECT 'Payout Amount To ',@payoutAmountTo
END
IF @tranStatus IS NOT NULL
BEGIN
SET @sql = @sql + ' AND trn.tranStatus = ''' + CAST(@tranStatus AS VARCHAR)+''''
INSERT INTO @rptFilter(head,value)
SELECT 'Transaction Status',@tranStatus
END
-- ### SENDING AGENT FILTER
IF @sZone IS NOT NULL
BEGIN
SET @sql = @sql + ' AND sa.agentState = ''' + CAST(@sZoneName AS VARCHAR)+''''
INSERT INTO @rptFilter(head,value)
SELECT 'Sending Zone',@sZone
END
IF @sDistrict IS NOT NULL
BEGIN
SET @sql = @sql + ' AND sa.agentDistrict =''' + CAST(@sDistrictName AS VARCHAR)+''''
INSERT INTO @rptFilter(head,value)
SELECT 'Sending District',@sDistrict
END
IF @sLocation IS NOT NULL
BEGIN
SET @sql = @sql + ' AND sa.agentLocation = ' + CAST(@sLocation AS VARCHAR)
INSERT INTO @rptFilter(head,value)
SELECT 'Sending Location',@sLocation
END
/* Sender Filter*/
IF @sFirstName IS NOT NULL
BEGIN
SET @sql = @sql + ' AND sen.FirstName LIKE ''' + @sFirstName + '%'''
INSERT INTO @rptFilter(head,value)
SELECT 'Sending First Name',@sFirstName
END
IF @sMiddleName IS NOT NULL
BEGIN
SET @sql = @sql + ' AND sen.MiddleName LIKE ''' + @sMiddleName + '%'''
INSERT INTO @rptFilter(head,value)
SELECT 'Sending Middle Name',@sFirstName
END
IF @sLastName1 IS NOT NULL
BEGIN
SET @sql = @sql + ' AND sen.lastName1 LIKE ''' + @sLastName1 + '%'''
INSERT INTO @rptFilter(head,value)
SELECT 'Sending Last Name',@sLastName1
END
IF @sLastName2 IS NOT NULL
BEGIN
SET @sql = @sql + ' AND sen.LastName2 LIKE ''' + @sLastName2 + '%'''
INSERT INTO @rptFilter(head,value)
SELECT 'Sending Second Last Name',@sLastName2
END
IF @sMobile IS NOT NULL
BEGIN
SET @sql = @sql + ' AND sen.mobile LIKE ''' + @sMobile + '%'''
INSERT INTO @rptFilter(head,value)
SELECT 'Sending Mobile',@sMobile
END
IF @sEmail IS NOT NULL
BEGIN
SET @sql = @sql + ' AND sen.email LIKE ''' + @sEmail + '%'''
INSERT INTO @rptFilter(head,value)
SELECT 'Sending Email',@sEmail
END
IF @sIDNumber IS NOT NULL
BEGIN
SET @sql = @sql + ' AND sen.membershipId LIKE ''' + @sIDNumber + '%'''
INSERT INTO @rptFilter(head,value)
SELECT 'Sending ID Number',@sIDNumber
END
-- ### PAYOUT AGENT FILTER
IF @rZone IS NOT NULL
BEGIN
SET @sql = @sql + ' AND pa.agentState = ''' + CAST(@rZoneName AS VARCHAR)+''''
INSERT INTO @rptFilter(head,value)
SELECT 'Receiving Zone',@rZone
END
IF @rDistrict IS NOT NULL
BEGIN
SET @sql = @sql + ' AND pa.agentDistrict = ''' + CAST(@rDistrictName AS VARCHAR)+''''
INSERT INTO @rptFilter(head,value)
SELECT 'Receiving District',@rDistrict
END
IF @rLocation IS NOT NULL
BEGIN
SET @sql = @sql + ' AND pa.agentLocation = ' + CAST(@rLocation AS VARCHAR)
INSERT INTO @rptFilter(head,value)
SELECT 'Receiving Location',@rLocation
END
-- ## RECEIVER FILTER
IF @rFirstName IS NOT NULL
BEGIN
SET @sql = @sql + ' AND rec.FirstName LIKE ''' + @rFirstName + '%'''
INSERT INTO @rptFilter(head,value)
SELECT 'Receiving First Name',@rFirstName
END
IF @rMiddleName IS NOT NULL
BEGIN
SET @sql = @sql + ' AND rec.MiddleName LIKE ''' + @rMiddleName + '%'''
INSERT INTO @rptFilter(head,value)
SELECT 'Receiving Middle Name',@rMiddleName
END
IF @rLastName1 IS NOT NULL
BEGIN
SET @sql = @sql + ' AND rec.lastName1 LIKE ''' + @rLastName1 + '%'''
INSERT INTO @rptFilter(head,value)
SELECT 'Receiving Last Name',@rLastName1
END
IF @rLastName2 IS NOT NULL
BEGIN
SET @sql = @sql + ' AND rec.sLastName2 LIKE ''' + @rLastName2 + '%'''
INSERT INTO @rptFilter(head,value)
SELECT 'Receiving Second Last Name',@rLastName2
END
IF @rMobile IS NOT NULL
BEGIN
SET @sql = @sql + ' AND rec.mobile LIKE ''' + @rMobile + '%'''
INSERT INTO @rptFilter(head,value)
SELECT 'Receiving Mobile',@rMobile
END
IF @rEmail IS NOT NULL
BEGIN
SET @sql = @sql + ' AND rec.email LIKE ''' + @rEmail + '%'''
INSERT INTO @rptFilter(head,value)
SELECT 'Receiving Email',@rEmail
END
IF @rIDNumber IS NOT NULL
BEGIN
SET @sql = @sql + ' AND rec.membershipId LIKE ''' + @rIDNumber + '%'''
INSERT INTO @rptFilter(head,value)
SELECT 'Receiving ID Number',@rIDNumber
END
END
ELSE
BEGIN
SET @controlNumber = dbo.FNAEncryptString(@controlNumber)
SET @sql = @sql + ' AND trn.controlNo = ''' + CAST(@controlNumber AS VARCHAR) + ''''
INSERT INTO @rptFilter(head,value)
SELECT 'Control Number',@controlNumber
END
IF @orderBy IS NULL
BEGIN
SET @orderBy = '[Transaction Send_Tran ID]';
END
ELSE
BEGIN
INSERT INTO @rptFilter(head,value)
SELECT 'Order By',@orderBy
END
IF @selectList IS NULL
BEGIN
SET @sql1 = 'SELECT '
+
ISNULL(@selectList, ' * ') + '
FROM (
'
+ @table + @sql +
' ) x '
END
ELSE
BEGIN
SET @sql1 = 'SELECT [Transaction Send_Tran ID] ,'
+
ISNULL(@selectList, ' * ') + '
FROM (
'
+ @table + @sql +
' ) x '
END
DECLARE @SQL2 AS VARCHAR(MAX)
SET @SQL2='
SELECT COUNT(''a'') AS TXNCOUNT,'+@pageSize+' PAGESIZE,'+@pageNumber+' PAGENUMBER FROM ('+ @sql1+') AS tmp;
SELECT * FROM
(
SELECT ROW_NUMBER() OVER (ORDER BY '+@orderBy+' DESC) AS [Transaction Send_S.N.],*
FROM
(
'+ @sql1 +'
) A
) B WHERE 1 = 1 AND B.[Transaction Send_S.N.] BETWEEN (('+@pageNumber+' - 1) * '+@pageSize+' + 1) AND '+@pageNumber+' * '+@pageSize+'
'
--PRINT(@sql1)
EXEC(@SQL2)
EXEC proc_errorHandler '0', 'Report has been prepared successfully.', NULL
SELECT * FROM @rptFilter
SELECT 'Transaction Master Report' title
END
GO