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
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
|