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.
758 lines
57 KiB
758 lines
57 KiB
USE [FastMoneyPro_Remit]
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[proc_rbaReport] Script Date: 9/27/2019 1:30:14 PM ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
CREATE PROC [dbo].[proc_rbaReport]
|
|
@user VARCHAR(50) = NULL ,
|
|
@reportFor VARCHAR(50) = NULL ,
|
|
@sCountry VARCHAR(100) = NULL ,
|
|
@sAgent INT = NULL ,
|
|
@sBranch INT = NULL ,
|
|
@sNativeCountry VARCHAR(100) = NULL ,
|
|
@sIDNumber VARCHAR(100) = NULL ,
|
|
@fDate VARCHAR(10) = NULL ,
|
|
@tDate VARCHAR(10) = NULL ,
|
|
@fRBA MONEY = NULL ,
|
|
@tRBA MONEY = NULL ,
|
|
@slabGroup MONEY = NULL ,
|
|
@reportType VARCHAR(50) = NULL ,
|
|
@rCountry VARCHAR(100) = NULL ,
|
|
@nonnativetxn VARCHAR(1) = NULL ,
|
|
@fTXNAmount MONEY = NULL ,
|
|
@tTXNAmount MONEY = NULL ,
|
|
@fTXNCount INT = NULL ,
|
|
@tTXNCount INT = NULL ,
|
|
@fBnfCountryCount INT = NULL ,
|
|
@tBnfCountryCount INT = NULL ,
|
|
@fBnfCount INT = NULL ,
|
|
@tBnfCount INT = NULL ,
|
|
@fOutletCount INT = NULL ,
|
|
@tOutletCount INT = NULL ,
|
|
@pagesize VARCHAR(10) = NULL ,
|
|
@pageNumber VARCHAR(10) = NULL
|
|
AS
|
|
DECLARE @nativecountryid INT ,
|
|
@customerid INT ,
|
|
@SQL VARCHAR(MAX)
|
|
|
|
DECLARE @LOWrFrom MONEY ,
|
|
@LOWrTo MONEY ,
|
|
@MEDIUMrFrom MONEY ,
|
|
@MEDIUMrTo MONEY ,
|
|
@HIGHrFrom MONEY ,
|
|
@HIGHrTo MONEY
|
|
|
|
DECLARE @constString VARCHAR(MAX)
|
|
|
|
SELECT @LOWrFrom = rFrom ,
|
|
@LOWrTo = rTo
|
|
FROM RBAScoreMaster
|
|
WHERE TYPE = 'LOW'
|
|
SELECT @MEDIUMrFrom = rFrom ,
|
|
@MEDIUMrTo = rTo
|
|
FROM RBAScoreMaster
|
|
WHERE TYPE = 'MEDIUM'
|
|
SELECT @HIGHrFrom = rFrom ,
|
|
@HIGHrTo = rTo
|
|
FROM RBAScoreMaster
|
|
WHERE TYPE = 'HIGH'
|
|
|
|
SELECT @nativecountryid = countryid
|
|
FROM countrymaster
|
|
WHERE countryname = @sNativeCountry
|
|
|
|
SELECT @customerid = customerid
|
|
FROM customeridentity
|
|
WHERE idnumber = @sIDNumber
|
|
|
|
SET @reportFor = REPLACE(@reportFor, '_', ' ')
|
|
SET @reportType = REPLACE(@reportType, '_', ' ')
|
|
IF @reportFor = 'TXN RBA-V2'
|
|
BEGIN
|
|
IF @reportType = 'Summary Report-Agent'
|
|
BEGIN
|
|
|
|
IF OBJECT_ID(N'tempdb..##TEMPRBAREPORTA1') IS NOT NULL
|
|
DROP TABLE ##TEMPRBAREPORTA1
|
|
|
|
SET @SQl = '
|
|
SELECT
|
|
sagentname,
|
|
LOW = SUM(CASE WHEN ts.RBA > 0.00 AND ts.RBA <= 40.00 THEN 1 ELSE 0 END ),
|
|
MEDIUM = SUM(CASE WHEN ts.RBA > 40.00 AND ts.RBA <= 50.00 THEN 1 ELSE 0 END ),
|
|
HIGH = SUM(CASE WHEN ts.RBA > 50.00 AND ts.RBA <= 99.99 THEN 1 ELSE 0 END ),
|
|
VERYHIGH = SUM(CASE WHEN ts.RBA > 99.99 THEN 1 ELSE 0 END ),
|
|
TOTAL = SUM(1)
|
|
INTO ##TEMPRBAREPORTA1
|
|
FROM remittran r WITH (NOLOCK) INNER JOIN transenders ts WITH (NOLOCK) ON r.ID=ts.TRANID
|
|
INNER JOIN customers c WITH (NOLOCK) ON ts.CustomerId=c.CustomerId
|
|
AND sCountry=''' + @sCountry + '''
|
|
AND r.approvedDate BETWEEN ''' + @fDate + ''' AND ''' + @tDate+ ' 23:59:59:998'''
|
|
|
|
END
|
|
IF @reportType = 'Summary Report-Branch'
|
|
BEGIN
|
|
|
|
IF OBJECT_ID(N'tempdb..##TEMPRBAREPORTB1') IS NOT NULL
|
|
DROP TABLE ##TEMPRBAREPORTB1
|
|
|
|
SET @SQl = '
|
|
SELECT
|
|
sagentname,
|
|
sbranchname,
|
|
LOW = SUM(CASE WHEN ts.RBA > 0.00 AND ts.RBA <= 40.00 THEN 1 ELSE 0 END ),
|
|
MEDIUM = SUM(CASE WHEN ts.RBA > 40.00 AND ts.RBA <= 50.00 THEN 1 ELSE 0 END ),
|
|
HIGH = SUM(CASE WHEN ts.RBA > 50.00 AND ts.RBA <= 99.99 THEN 1 ELSE 0 END ),
|
|
VERYHIGH = SUM(CASE WHEN ts.RBA > 99.99 THEN 1 ELSE 0 END ),
|
|
TOTAL = SUM(1)
|
|
INTO ##TEMPRBAREPORTB1
|
|
FROM remittran r WITH (NOLOCK) INNER JOIN transenders ts WITH (NOLOCK) ON r.ID=ts.TRANID
|
|
INNER JOIN customers c WITH (NOLOCK) ON ts.CustomerId=c.CustomerId
|
|
AND sCountry=''' + @sCountry + '''
|
|
AND r.approvedDate BETWEEN ''' + @fDate + ''' AND ''' + @tDate+ ' 23:59:59:998'''
|
|
|
|
END
|
|
IF @reportType = 'Summary Report-Monthly'
|
|
BEGIN
|
|
|
|
IF OBJECT_ID(N'tempdb..##TEMPRBAREPORTS1') IS NOT NULL
|
|
DROP TABLE ##TEMPRBAREPORTS1
|
|
|
|
SET @SQl = '
|
|
SELECT
|
|
MONTH = CONVERT(VARCHAR(7),R.approvedDate, 102),
|
|
LOW = SUM(CASE WHEN ts.RBA > 0.00 AND ts.RBA <= 40.00 THEN 1 ELSE 0 END ),
|
|
MEDIUM = SUM(CASE WHEN ts.RBA > 40.00 AND ts.RBA <= 50.00 THEN 1 ELSE 0 END ),
|
|
HIGH = SUM(CASE WHEN ts.RBA > 50.00 AND ts.RBA <= 99.99 THEN 1 ELSE 0 END ),
|
|
VERYHIGH = SUM(CASE WHEN ts.RBA > 99.99 THEN 1 ELSE 0 END ),
|
|
TOTAL = SUM(1)
|
|
INTO ##TEMPRBAREPORTS1
|
|
FROM remittran r WITH (NOLOCK) INNER JOIN transenders ts WITH (NOLOCK) ON r.ID=ts.TRANID
|
|
INNER JOIN customers c WITH (NOLOCK) ON ts.CustomerId=c.CustomerId
|
|
AND sCountry=''' + @sCountry + '''
|
|
AND r.approvedDate BETWEEN ''' + @fDate + ''' AND ''' + @tDate+ ' 23:59:59:998'''
|
|
|
|
END
|
|
IF @sAgent IS NOT NULL
|
|
SET @SQl = @SQl + ' AND sagent= ' + CAST(@sAgent AS VARCHAR)
|
|
|
|
IF @sbranch IS NOT NULL
|
|
SET @SQl = @SQl + ' AND sbranch= ' + CAST(@sbranch AS VARCHAR)
|
|
|
|
IF @sNativeCountry IS NOT NULL
|
|
SET @SQl = @SQl + ' AND ts.NativeCountry= '''
|
|
+ CAST(@sNativeCountry AS VARCHAR) + ''''
|
|
|
|
IF @sIDNumber IS NOT NULL
|
|
SET @SQl = @SQl + ' AND ts.idnumber= '''
|
|
+ CAST(@sIDNumber AS VARCHAR) + ''''
|
|
|
|
IF @fRBA IS NOT NULL AND @tRBA IS NOT NULL
|
|
SET @SQl = @SQl + ' AND ts.RBA BETWEEN '
|
|
+ CAST(@fRBA AS VARCHAR) + ' AND '
|
|
+ CAST(@tRBA AS VARCHAR) + ''
|
|
|
|
IF @rCountry IS NOT NULL
|
|
SET @SQl = @SQl + ' AND pcountry= '''
|
|
+ CAST(@rCountry AS VARCHAR) + ''''
|
|
|
|
IF @fTXNAmount IS NOT NULL
|
|
AND @TTXNAmount IS NOT NULL
|
|
SET @SQl = @SQl + ' AND camt BETWEEN '
|
|
+ CAST(@fTXNAmount AS VARCHAR) + ' AND '
|
|
+ CAST(@TTXNAmount AS VARCHAR) + ''
|
|
|
|
IF @nonnativetxn IS NOT NULL
|
|
BEGIN
|
|
IF @nonnativetxn = 'Y'
|
|
BEGIN
|
|
SET @SQl = @SQl
|
|
+ ' AND R.PCOUNTRY=ISNULL(TS.NATIVECOUNTRY,R.PCOUNTRY) '
|
|
END
|
|
|
|
IF @nonnativetxn = 'N'
|
|
BEGIN
|
|
SET @SQl = @SQl
|
|
+ ' AND R.PCOUNTRY<>ISNULL(TS.NATIVECOUNTRY,R.PCOUNTRY) '
|
|
END
|
|
END
|
|
IF @reportType = 'Summary Report-Agent'
|
|
BEGIN
|
|
|
|
SET @SQl = @SQl
|
|
+ 'GROUP BY sagentname ORDER BY sagentname '
|
|
END
|
|
|
|
IF @reportType = 'Summary Report-Branch'
|
|
BEGIN
|
|
|
|
SET @SQl = @SQl
|
|
+ 'GROUP BY sagentname,sbranchname ORDER BY sagentname,sbranchname'
|
|
END
|
|
|
|
IF @reportType = 'Summary Report-Monthly'
|
|
BEGIN
|
|
|
|
SET @SQl = @SQl
|
|
+ 'GROUP BY CONVERT(VARCHAR(7),R.approvedDate, 102) ORDER BY CONVERT(VARCHAR(7),R.approvedDate, 102) '
|
|
END
|
|
|
|
PRINT ( @SQL )
|
|
EXEC (@SQL)
|
|
|
|
|
|
IF @reportType = 'Summary Report-Agent'
|
|
BEGIN
|
|
SELECT [SN] = ROW_NUMBER()OVER(order BY sAgentName),
|
|
[Sending Agent] = sagentname ,
|
|
[LOW_TXN] = LOW,
|
|
[LOW_%] = CAST(LOW AS MONEY) / CAST(TOTAL AS MONEY) * 100 ,
|
|
[MEDIUM_TXN] = MEDIUM,
|
|
[MEDIUM_%] = CAST(MEDIUM AS MONEY) / CAST(TOTAL AS MONEY) * 100,
|
|
[HIGH_TXN] = HIGH,
|
|
[HIGH_%] = CAST(HIGH AS MONEY) / CAST(TOTAL AS MONEY) * 100,
|
|
[VERY HIGH_TXN] = VERYHIGH ,
|
|
[VERY HIGH_%] = CAST(VERYHIGH AS MONEY) / CAST(TOTAL AS MONEY) * 100,
|
|
[TOTAL TXN] = TOTAL
|
|
FROM ##TEMPRBAREPORTA1
|
|
END
|
|
IF @reportType = 'Summary Report-Branch'
|
|
BEGIN
|
|
SELECT
|
|
[SN] = ROW_NUMBER()OVER(order BY sAgentName, sbranchname),
|
|
[Sending Agent] = sagentname ,
|
|
[Sending Branch] = sbranchname ,
|
|
[LOW_TXN] = LOW,
|
|
[LOW_%] = CAST(LOW AS MONEY) / CAST(TOTAL AS MONEY) * 100 ,
|
|
[MEDIUM_TXN] = MEDIUM,
|
|
[MEDIUM_%] = CAST(MEDIUM AS MONEY) / CAST(TOTAL AS MONEY) * 100,
|
|
[HIGH_TXN] = HIGH,
|
|
[HIGH_%] = CAST(HIGH AS MONEY) / CAST(TOTAL AS MONEY) * 100,
|
|
[VERY HIGH_TXN] = VERYHIGH ,
|
|
[VERY HIGH_%] = CAST(VERYHIGH AS MONEY) / CAST(TOTAL AS MONEY) * 100,
|
|
[TOTAL TXN] = TOTAL
|
|
FROM ##TEMPRBAREPORTB1
|
|
END
|
|
IF @reportType = 'Summary Report-Monthly'
|
|
BEGIN
|
|
SELECT
|
|
[SN] = ROW_NUMBER()OVER(order BY [MONTH]),
|
|
[MONTH],
|
|
[LOW_TXN] = LOW,
|
|
[LOW_%] = CAST(LOW AS MONEY) / CAST(TOTAL AS MONEY) * 100 ,
|
|
[MEDIUM_TXN] = MEDIUM,
|
|
[MEDIUM_%] = CAST(MEDIUM AS MONEY) / CAST(TOTAL AS MONEY) * 100,
|
|
[HIGH_TXN] = HIGH,
|
|
[HIGH_%] = CAST(HIGH AS MONEY) / CAST(TOTAL AS MONEY) * 100,
|
|
[VERY HIGH_TXN] = VERYHIGH ,
|
|
[VERY HIGH_%] = CAST(VERYHIGH AS MONEY) / CAST(TOTAL AS MONEY) * 100,
|
|
[TOTAL TXN] = TOTAL
|
|
FROM ##TEMPRBAREPORTS1
|
|
|
|
END
|
|
EXEC proc_errorHandler '0', 'Report has been prepared successfully.', NULL
|
|
SELECT 'From Date ' head ,
|
|
CONVERT(VARCHAR(10), @fDate, 101) VALUE
|
|
UNION ALL
|
|
SELECT 'To Date ' head ,
|
|
CONVERT(VARCHAR(10), @tDate, 101) value
|
|
UNION ALL
|
|
SELECT 'Sending Country ' head ,
|
|
@sCountry value
|
|
UNION ALL
|
|
SELECT 'Sending Agent ' head ,
|
|
( SELECT agentName
|
|
FROM agentmaster WITH ( NOLOCK )
|
|
WHERE agentId = @sAgent
|
|
) VALUE
|
|
UNION ALL
|
|
SELECT 'Sending Branch ' head ,
|
|
( SELECT agentName
|
|
FROM agentmaster WITH ( NOLOCK )
|
|
WHERE agentId = @sBranch
|
|
) VALUE
|
|
UNION ALL
|
|
SELECT 'Report Type ' head ,
|
|
value = @reportType
|
|
|
|
SELECT 'RBA TXN Report' title
|
|
|
|
RETURN;
|
|
END
|
|
IF @reportFor = 'TXN RBA'
|
|
BEGIN
|
|
IF @reportType = 'Detail Report'
|
|
BEGIN
|
|
DECLARE @txnRBALink VARCHAR(5000),@cusRBALink VARCHAR(5000)
|
|
SET @constString = '<a href="#" onclick="OpenInNewWindow(''''/SwiftSystem/Reports/Reports.aspx?reportName=rbareport&reportFor=TXN RBA&rptType=Detail Report&fromDate=' + @fDate + '&toDate=' + @tDate + '&sCountry=' + @sCountry
|
|
SET @txnRBALink = '<a href="#" onclick="OpenInNewWindow(''''/Remit/RiskBaseAnalysis/txnRBACalcDetails.aspx?'
|
|
SET @cusRBALink='<a href="#" onclick="OpenInNewWindow(''''/Remit/RiskBaseAnalysis/cusRBACalcDetails.aspx?'
|
|
|
|
SET @SQl = '
|
|
SELECT
|
|
[Sending Agent] = sagentname
|
|
,[Sending Branch] = sbranchname
|
|
,[Confirmed Date] = r.approveddate
|
|
,ICN = dbo.decryptdb(CONTROLNO)
|
|
,[Sender Name] = SenderName
|
|
,[Id Number] = ts.IDNumber
|
|
,[Date Of Birth] = ts.DOB
|
|
,[Occupation] = ts.Occupation
|
|
,[Native Country] = ts.NativeCountry
|
|
,[Receiver Name] = ReceiverName
|
|
,[Receiver Country] = pCountry
|
|
,[Payment Type] = paymentMethod
|
|
,[TXN Amount] = cAmt
|
|
,[TXN RBA] = ''' + @txnRBALink + 'tranId='' + CAST(r.id AS VARCHAR) + ''&customerId=''+ CAST(ts.customerId AS VARCHAR)+''&dt=''+ LEFT(CONVERT(VARCHAR,r.createdDate,102), 7) +'''''')">'' + CONVERT(VARCHAR, ts.RBA, 2) + ''</a>''
|
|
,[Customer RBA] = ''' + @cusRBALink + 'tranId='' + CAST(r.id AS VARCHAR) + ''&customerId=''+ CAST(ts.customerId AS VARCHAR)+''&dt=''+ LEFT(CONVERT(VARCHAR,r.createdDate,102), 7) +'''''')">'' + CONVERT(VARCHAR, c.RBA, 2) + ''</a>''
|
|
,txnRBA = ts.RBA
|
|
,customerRBA = c.RBA
|
|
FROM remittran r WITH (NOLOCK)
|
|
INNER JOIN transenders ts WITH (NOLOCK) ON r.ID = ts.TRANID
|
|
INNER JOIN customers c WITH (NOLOCK) ON ts.CustomerId = c.CustomerId
|
|
AND sCountry = ''' + @sCountry + '''
|
|
AND r.approvedDate BETWEEN ''' + @fDate + ''' AND ''' + @tDate
|
|
+ ' 23:59:59:998'''
|
|
END
|
|
IF @reportType = 'Summary Report-Agent'
|
|
BEGIN
|
|
|
|
IF OBJECT_ID(N'tempdb..##TEMPRBAREPORTA') IS NOT NULL
|
|
DROP TABLE ##TEMPRBAREPORTA
|
|
|
|
SET @SQl = '
|
|
SELECT
|
|
sagentname
|
|
,SUM(CASE WHEN ts.RBA BETWEEN ' + CAST(@LOWrFrom AS VARCHAR)
|
|
+ ' AND ' + CAST(@LOWrTo AS VARCHAR)
|
|
+ ' THEN 1 ELSE 0 END ) AS LOW
|
|
,SUM(CASE WHEN ts.RBA BETWEEN ' + CAST(@MEDIUMrFrom AS VARCHAR)
|
|
+ ' AND ' + CAST(@MEDIUMrTo AS VARCHAR)
|
|
+ ' THEN 1 ELSE 0 END ) AS MEDIUM
|
|
,SUM(CASE WHEN ts.RBA BETWEEN ' + CAST(@HIGHrFrom AS VARCHAR)
|
|
+ ' AND ' + CAST(@HIGHrTo AS VARCHAR)
|
|
+ ' THEN 1 ELSE 0 END ) AS HIGH
|
|
,SUM(1) TOTAL INTO ##TEMPRBAREPORTA
|
|
FROM remittran r WITH (NOLOCK) INNER JOIN transenders ts WITH (NOLOCK) ON r.ID=ts.TRANID
|
|
INNER JOIN customers c WITH (NOLOCK) ON ts.CustomerId=c.CustomerId
|
|
AND sCountry=''' + @sCountry + '''
|
|
AND r.approvedDate BETWEEN ''' + @fDate + ''' AND ''' + @tDate
|
|
+ ' 23:59:59:998'''
|
|
|
|
END
|
|
IF @reportType = 'Summary Report-Branch'
|
|
BEGIN
|
|
|
|
IF OBJECT_ID(N'tempdb..##TEMPRBAREPORTB') IS NOT NULL
|
|
DROP TABLE ##TEMPRBAREPORTB
|
|
|
|
SET @SQl = 'SELECT sagentname,sbranchname
|
|
,SUM(CASE WHEN ts.RBA BETWEEN ' + CAST(@LOWrFrom AS VARCHAR)
|
|
+ ' AND ' + CAST(@LOWrTo AS VARCHAR)
|
|
+ ' THEN 1 ELSE 0 END ) AS LOW
|
|
,SUM(CASE WHEN ts.RBA BETWEEN ' + CAST(@MEDIUMrFrom AS VARCHAR)
|
|
+ ' AND ' + CAST(@MEDIUMrTo AS VARCHAR)
|
|
+ ' THEN 1 ELSE 0 END ) AS MEDIUM
|
|
,SUM(CASE WHEN ts.RBA BETWEEN ' + CAST(@HIGHrFrom AS VARCHAR)
|
|
+ ' AND ' + CAST(@HIGHrTo AS VARCHAR)
|
|
+ ' THEN 1 ELSE 0 END ) AS HIGH
|
|
,SUM(1) TOTAL INTO ##TEMPRBAREPORTB
|
|
FROM remittran r WITH (NOLOCK) INNER JOIN transenders ts WITH (NOLOCK) ON r.ID=ts.TRANID
|
|
INNER JOIN customers c WITH (NOLOCK) ON ts.CustomerId=c.CustomerId
|
|
AND sCountry=''' + @sCountry + '''
|
|
AND r.approvedDate BETWEEN ''' + @fDate + ''' AND ''' + @tDate
|
|
+ ' 23:59:59:998'''
|
|
|
|
END
|
|
IF @reportType = 'Summary Report-Monthly'
|
|
BEGIN
|
|
|
|
IF OBJECT_ID(N'tempdb..##TEMPRBAREPORTS') IS NOT NULL
|
|
DROP TABLE ##TEMPRBAREPORTS
|
|
|
|
SET @SQl = 'SELECT CONVERT(VARCHAR(7),R.approvedDate, 102) MONTH
|
|
,SUM(CASE WHEN ts.RBA BETWEEN ' + CAST(@LOWrFrom AS VARCHAR)
|
|
+ ' AND ' + CAST(@LOWrTo AS VARCHAR)
|
|
+ ' THEN 1 ELSE 0 END ) AS LOW
|
|
,SUM(CASE WHEN ts.RBA BETWEEN ' + CAST(@MEDIUMrFrom AS VARCHAR)
|
|
+ ' AND ' + CAST(@MEDIUMrTo AS VARCHAR)
|
|
+ ' THEN 1 ELSE 0 END ) AS MEDIUM
|
|
,SUM(CASE WHEN ts.RBA BETWEEN ' + CAST(@HIGHrFrom AS VARCHAR)
|
|
+ ' AND ' + CAST(@HIGHrTo AS VARCHAR)
|
|
+ ' THEN 1 ELSE 0 END ) AS HIGH
|
|
,SUM(1) TOTAL INTO ##TEMPRBAREPORTS
|
|
FROM remittran r WITH (NOLOCK) INNER JOIN transenders ts WITH (NOLOCK) ON r.ID=ts.TRANID
|
|
INNER JOIN customers c WITH (NOLOCK) ON ts.CustomerId=c.CustomerId
|
|
AND sCountry=''' + @sCountry + '''
|
|
AND r.approvedDate BETWEEN ''' + @fDate + ''' AND ''' + @tDate
|
|
+ ' 23:59:59:998'''
|
|
|
|
END
|
|
IF @sAgent IS NOT NULL
|
|
SET @SQl = @SQl + ' AND sagent= ' + CAST(@sAgent AS VARCHAR)
|
|
|
|
IF @sbranch IS NOT NULL
|
|
SET @SQl = @SQl + ' AND sbranch= ' + CAST(@sbranch AS VARCHAR)
|
|
|
|
IF @sNativeCountry IS NOT NULL
|
|
SET @SQl = @SQl + ' AND ts.NativeCountry= '''
|
|
+ CAST(@sNativeCountry AS VARCHAR) + ''''
|
|
|
|
IF @sIDNumber IS NOT NULL
|
|
SET @SQl = @SQl + ' AND ts.idnumber= '''
|
|
+ CAST(@sIDNumber AS VARCHAR) + ''''
|
|
|
|
IF @fRBA IS NOT NULL
|
|
AND @tRBA IS NOT NULL
|
|
SET @SQl = @SQl + ' AND ts.RBA BETWEEN '
|
|
+ CAST(@fRBA AS VARCHAR) + ' AND '
|
|
+ CAST(@tRBA AS VARCHAR) + ''
|
|
|
|
IF @rCountry IS NOT NULL
|
|
SET @SQl = @SQl + ' AND pcountry= '''
|
|
+ CAST(@rCountry AS VARCHAR) + ''''
|
|
|
|
IF @fTXNAmount IS NOT NULL
|
|
AND @TTXNAmount IS NOT NULL
|
|
SET @SQl = @SQl + ' AND camt BETWEEN '
|
|
+ CAST(@fTXNAmount AS VARCHAR) + ' AND '
|
|
+ CAST(@TTXNAmount AS VARCHAR) + ''
|
|
|
|
IF @nonnativetxn IS NOT NULL
|
|
BEGIN
|
|
IF @nonnativetxn = 'Y'
|
|
BEGIN
|
|
SET @SQl = @SQl
|
|
+ ' AND R.PCOUNTRY=ISNULL(TS.NATIVECOUNTRY,R.PCOUNTRY) '
|
|
END
|
|
|
|
IF @nonnativetxn = 'N'
|
|
BEGIN
|
|
SET @SQl = @SQl
|
|
+ ' AND R.PCOUNTRY<>ISNULL(TS.NATIVECOUNTRY,R.PCOUNTRY) '
|
|
END
|
|
END
|
|
|
|
IF @reportType = 'Summary Report-Agent'
|
|
BEGIN
|
|
|
|
SET @SQl = @SQl
|
|
+ 'GROUP BY sagentname ORDER BY sagentname '
|
|
END
|
|
|
|
IF @reportType = 'Summary Report-Branch'
|
|
BEGIN
|
|
|
|
SET @SQl = @SQl
|
|
+ 'GROUP BY sagentname,sbranchname ORDER BY sagentname,sbranchname'
|
|
END
|
|
|
|
IF @reportType = 'Summary Report-Monthly'
|
|
BEGIN
|
|
|
|
SET @SQl = @SQl
|
|
+ 'GROUP BY CONVERT(VARCHAR(7),R.approvedDate, 102) ORDER BY CONVERT(VARCHAR(7),R.approvedDate, 102) '
|
|
END
|
|
IF @reportType = 'Detail Report'
|
|
BEGIN
|
|
DECLARE @SQL1 VARCHAR(MAX)
|
|
SET @SQL1='
|
|
SELECT COUNT(''X'') AS TXNCOUNT,'+@pageSize+' PAGESIZE,'+@pageNumber+' PAGENUMBER FROM ('+ @SQL +') AS tmp;
|
|
|
|
SELECT * FROM
|
|
(
|
|
SELECT ROW_NUMBER() OVER (ORDER BY txnRBA DESC) AS [S.N.],
|
|
[Sending Agent]
|
|
,[Sending Branch]
|
|
,[Confirmed Date]
|
|
,ICN
|
|
,[Sender Name]
|
|
,[Id Number]
|
|
,[Date Of Birth]
|
|
,[Occupation]
|
|
,[Native Country]
|
|
,[Receiver Name]
|
|
,[Receiver Country]
|
|
,[Payment Type]
|
|
,[TXN Amount]
|
|
,[TXN RBA]
|
|
,[Customer RBA]
|
|
FROM
|
|
(
|
|
'+ @SQL +'
|
|
) AS aa
|
|
) AS tmp WHERE 1 = 1 AND tmp.[S.N.] BETWEEN (('+@pageNumber+' - 1) '+@pageSize+' + 1) AND '+@pageNumber+' '+@pageSize+''
|
|
|
|
PRINT (@SQL1)
|
|
EXEC (@SQL1)
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
PRINT ( @SQL )
|
|
EXEC (@SQL)
|
|
END
|
|
|
|
IF @reportType = 'Summary Report-Agent'
|
|
BEGIN
|
|
SELECT [Sending Agent] = sagentname ,
|
|
LOW ,
|
|
CAST(LOW AS MONEY) / CAST(TOTAL AS MONEY) * 100 [LOW %] ,
|
|
MEDIUM ,
|
|
CAST(MEDIUM AS MONEY) / CAST(TOTAL AS MONEY) * 100 [MEDIUM %] ,
|
|
HIGH ,
|
|
CAST(HIGH AS MONEY) / CAST(TOTAL AS MONEY) * 100 [HIGH %] ,
|
|
TOTAL
|
|
FROM ##TEMPRBAREPORTA
|
|
END
|
|
IF @reportType = 'Summary Report-Branch'
|
|
BEGIN
|
|
SELECT [Sending Agent] = sagentname ,
|
|
[Sending Branch] = sbranchname ,
|
|
LOW ,
|
|
CAST(LOW AS MONEY) / CAST(TOTAL AS MONEY) * 100 [LOW %] ,
|
|
MEDIUM ,
|
|
CAST(MEDIUM AS MONEY) / CAST(TOTAL AS MONEY) * 100 [MEDIUM %] ,
|
|
HIGH ,
|
|
CAST(HIGH AS MONEY) / CAST(TOTAL AS MONEY) * 100 [HIGH %] ,
|
|
TOTAL
|
|
FROM ##TEMPRBAREPORTB
|
|
END
|
|
|
|
IF @reportType = 'Summary Report-Monthly'
|
|
BEGIN
|
|
SELECT MONTH ,
|
|
LOW ,
|
|
CAST(LOW AS MONEY) / CAST(TOTAL AS MONEY) * 100 [LOW %] ,
|
|
MEDIUM ,
|
|
CAST(MEDIUM AS MONEY) / CAST(TOTAL AS MONEY) * 100 [MEDIUM %] ,
|
|
HIGH ,
|
|
CAST(HIGH AS MONEY) / CAST(TOTAL AS MONEY) * 100 [HIGH %] ,
|
|
TOTAL
|
|
FROM ##TEMPRBAREPORTS
|
|
|
|
END
|
|
END
|
|
IF @reportFor NOT IN ('TXN RBA','TXN RBA-V2')
|
|
BEGIN
|
|
DECLARE @PERIODICRBA VARCHAR(20)
|
|
|
|
IF @reportfor = 'TXN Average RBA'
|
|
SET @PERIODICRBA = 'TXNRBA'
|
|
IF @reportfor = 'TXN Periodic RBA'
|
|
SET @PERIODICRBA = 'TXNRBA'
|
|
IF @reportfor = 'Final RBA'
|
|
SET @PERIODICRBA = 'FINALRBA'
|
|
|
|
IF @reportType = 'Detail Report'
|
|
BEGIN
|
|
SET @constString = '<a href="#" onclick="OpenInNewWindow(''''/SwiftSystem/Reports/Reports.aspx?reportName=rbareport&reportFor=TXN RBA&rptType=Detail Report&fromDate=' + @fDate + '&toDate=' + @tDate + '&sCountry=' + @sCountry
|
|
SET @txnRBALink = '<a href="#" onclick="OpenInNewWindow(''''/Remit/RiskBaseAnalysis/txnRBACalcDetails.aspx?'
|
|
SET @cusRBALink='<a href="#" onclick="OpenInNewWindow(''''/Remit/RiskBaseAnalysis/cusRBACalcDetails.aspx?'
|
|
SET @SQl = '
|
|
SELECT
|
|
[Date] = DT
|
|
,[Customer Name] = fullName
|
|
,[Native Country] = countryName
|
|
,[Id Type] = X.detailtitle
|
|
,[Id Number] = idNumber
|
|
,[Date of Birth] = CONVERT(DATE,DOB ,101)
|
|
,[Occupation] = O.DETAILTITLE
|
|
,[Txn Amount] = txnamount
|
|
,[Txn Count] = ''' + @constString + '&sIdNumber='' + c.idNumber + '''''')">'' + CAST(txncount AS VARCHAR) + ''</a>''
|
|
,[Outlets used] = outletsused
|
|
,[Beneficiary Country Count] = bnfcountrycount
|
|
,[Beneficiary Count] = bnfcount
|
|
,[Txn RBA] = txnrba
|
|
,[Customer RBA] = p.rba
|
|
,[Final RBA] = ''' + @cusRBALink + 'customerId=''+ CAST(C.customerId AS VARCHAR)+''&dt=''+ P.dt +'''''')">'' + CONVERT(VARCHAR, finalrba, 2) + ''</a>''
|
|
,finalRBA = finalrba
|
|
FROM PERIODICRBA P WITH (NOLOCK)
|
|
INNER JOIN CUSTOMERS C WITH (NOLOCK) ON C.CUSTOMERID = P.CUSTOMERID
|
|
INNER JOIN (
|
|
SELECT valueid,detailtitle
|
|
FROM STATICDATAvalue WITH(NOLOCK)
|
|
WHERE typeid = 1300 and isactive = ''Y''
|
|
) X ON C.IDTYPE = X.VALUEID
|
|
INNER JOIN OCCUPATIONMASTER O WITH (NOLOCK) ON ISNULL(C.OCCUPATION,1) = O.OCCUPATIONID
|
|
LEFT JOIN COUNTRYMASTER CM WITH (NOLOCK) ON C.NATIVECOUNTRY=CM.COUNTRYID
|
|
WHERE REPLACE(DT,''.'',''-'') + ''-01'' BETWEEN ''' + @fDate
|
|
+ ''' AND ''' + @tDate + ' 23:59:59:998'''
|
|
|
|
END
|
|
IF @reportType = 'Summary Report-Monthly'
|
|
BEGIN
|
|
IF OBJECT_ID(N'tempdb..##TEMPRBAFINAL') IS NOT NULL
|
|
DROP TABLE ##TEMPRBAFINAL
|
|
|
|
SET @SQl = '
|
|
SELECT DT
|
|
,SUM(CASE WHEN ' + @PERIODICRBA + ' BETWEEN '
|
|
+ CAST(@LOWrFrom AS VARCHAR) + ' AND '
|
|
+ CAST(@LOWrTo AS VARCHAR)
|
|
+ ' THEN 1 ELSE 0 END ) AS LOW
|
|
,SUM(CASE WHEN ' + @PERIODICRBA + ' BETWEEN '
|
|
+ CAST(@MEDIUMrFrom AS VARCHAR) + ' AND '
|
|
+ CAST(@MEDIUMrTo AS VARCHAR)
|
|
+ ' THEN 1 ELSE 0 END ) AS MEDIUM
|
|
,SUM(CASE WHEN ' + @PERIODICRBA + ' BETWEEN '
|
|
+ CAST(@HIGHrFrom AS VARCHAR) + ' AND '
|
|
+ CAST(@HIGHrTo AS VARCHAR)
|
|
+ ' THEN 1 ELSE 0 END ) AS HIGH
|
|
,SUM(1) TOTAL INTO ##TEMPRBAFINAL
|
|
FROM PERIODICRBA P WITH (NOLOCK) INNER JOIN CUSTOMERS C WITH (NOLOCK) ON C.CUSTOMERID=P.CUSTOMERID
|
|
WHERE REPLACE(DT,''.'',''-'')+''-01'' BETWEEN ''' + @fDate
|
|
+ ''' AND ''' + @tDate + ' 23:59:59:998'''
|
|
END
|
|
|
|
IF @sNativeCountry IS NOT NULL
|
|
SET @SQl = @SQl + ' AND c.NativeCountry= '''
|
|
+ CAST(@nativecountryid AS VARCHAR) + ''''
|
|
|
|
IF @sIDNumber IS NOT NULL
|
|
SET @SQl = @SQl + ' AND p.customerid= '''
|
|
+ CAST(@customerid AS VARCHAR) + ''''
|
|
|
|
IF @fRBA IS NOT NULL
|
|
AND @tRBA IS NOT NULL
|
|
SET @SQl = @SQl + ' AND ' + @PERIODICRBA + ' BETWEEN '
|
|
+ CAST(@fRBA AS VARCHAR) + ' AND '
|
|
+ CAST(@tRBA AS VARCHAR) + ''
|
|
|
|
IF @fTXNAmount IS NOT NULL
|
|
AND @TTXNAmount IS NOT NULL
|
|
SET @SQl = @SQl + ' AND TXNAMOUNT BETWEEN '
|
|
+ CAST(@fTXNAmount AS VARCHAR) + ' AND '
|
|
+ CAST(@TTXNAmount AS VARCHAR) + ''
|
|
|
|
IF @fTXNCount IS NOT NULL
|
|
AND @TTXNCount IS NOT NULL
|
|
SET @SQl = @SQl + ' AND TXNCOUNT BETWEEN '
|
|
+ CAST(@fTXNCount AS VARCHAR) + ' AND '
|
|
+ CAST(@TTXNCount AS VARCHAR) + ''
|
|
|
|
|
|
IF @fBnfCountryCount IS NOT NULL
|
|
AND @TBnfCountryCount IS NOT NULL
|
|
SET @SQl = @SQl + ' AND BNFCOUNTRYCOUNT BETWEEN '
|
|
+ CAST(@fBnfCountryCount AS VARCHAR) + ' AND '
|
|
+ CAST(@TBnfCountryCount AS VARCHAR) + ''
|
|
|
|
IF @fBnfCount IS NOT NULL
|
|
AND @tBnfCount IS NOT NULL
|
|
SET @SQl = @SQl + ' AND BNFCOUNT BETWEEN '
|
|
+ CAST(@fBnfCount AS VARCHAR) + ' AND '
|
|
+ CAST(@tBnfCount AS VARCHAR) + ''
|
|
|
|
IF @fOutletCount IS NOT NULL
|
|
AND @tOutletCount IS NOT NULL
|
|
SET @SQl = @SQl + ' AND OUTLETSUSED BETWEEN '
|
|
+ CAST(@fOutletCount AS VARCHAR) + ' AND '
|
|
+ CAST(@tOutletCount AS VARCHAR) + ''
|
|
|
|
IF @nonnativetxn IS NOT NULL
|
|
BEGIN
|
|
IF @nonnativetxn = 'Y'
|
|
BEGIN
|
|
SET @SQl = @SQl
|
|
+ ' AND ISNULL(nonnativetxn,''N'')=''Y'' '
|
|
END
|
|
|
|
IF @nonnativetxn = 'N'
|
|
BEGIN
|
|
SET @SQl = @SQl
|
|
+ ' AND ISNULL(nonnativetxn,''N'')=''N'' '
|
|
END
|
|
|
|
END
|
|
|
|
|
|
IF @reportType = 'Summary Report-Monthly'
|
|
BEGIN
|
|
SET @SQL = @SQL + ' GROUP BY DT ORDER BY DT'
|
|
END
|
|
IF @reportType = 'Detail Report'
|
|
BEGIN
|
|
SET @SQL1='
|
|
SELECT COUNT(''X'') AS TXNCOUNT,'+@pageSize+' PAGESIZE,'+@pageNumber+' PAGENUMBER FROM ('+ @SQL +') AS tmp;
|
|
|
|
SELECT * FROM
|
|
(
|
|
SELECT ROW_NUMBER() OVER (ORDER BY [finalRBA] DESC) AS [S.N.],
|
|
[Date]
|
|
,[Customer Name]
|
|
,[Native Country]
|
|
,[Id Type]
|
|
,[Id Number]
|
|
,[Date of Birth]
|
|
,[Occupation]
|
|
,[Txn Amount]
|
|
,[Txn Count]
|
|
,[Outlets used]
|
|
,[Beneficiary Country Count]
|
|
,[Beneficiary Count]
|
|
,[Txn RBA]
|
|
,[Customer RBA]
|
|
,[Final RBA]
|
|
FROM
|
|
(
|
|
'+ @SQL +'
|
|
) AS aa
|
|
) AS tmp WHERE 1 = 1 AND tmp.[S.N.] BETWEEN (('+@pageNumber+' - 1) '+@pageSize+' + 1) AND '+@pageNumber+' '+@pageSize+''
|
|
|
|
PRINT (@SQL1)
|
|
EXEC (@SQL1)
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
PRINT ( @SQL )
|
|
EXEC (@SQL)
|
|
END
|
|
|
|
IF @reportType = 'Summary Report-Monthly'
|
|
BEGIN
|
|
SET @constString = '<a href="#" onclick="OpenInNewWindow(''/SwiftSystem/Reports/Reports.aspx?reportName=rbaReport&rptType=Detail Report&reportFor=' + @reportFor + '&sCountry=' + @sCountry
|
|
SELECT
|
|
[Date] = DT
|
|
,LOW = @constString + '&fromDate=' + REPLACE(DT, '.', '-') + '-01' + '&toDate=' + CONVERT(VARCHAR,DATEADD(s, -1, DATEADD(mm, DATEDIFF(m, 0, CAST(REPLACE(DT, '.', '-') + '-01' AS DATETIME)) + 1, 0)),120) + '&rbaRangeFrom=0&rbaRangeTo=40'')">' + CAST(LOW AS VARCHAR) + '</a>'
|
|
,[LOW %] = CAST(LOW AS MONEY) / CAST(TOTAL AS MONEY) * 100
|
|
,MEDIUM = @constString + '&fromDate=' + REPLACE(DT, '.', '-') + '-01' + '&toDate=' + CONVERT(VARCHAR,DATEADD(s, -1, DATEADD(mm, DATEDIFF(m, 0, CAST(REPLACE(DT, '.', '-') + '-01' AS DATETIME)) + 1, 0)),120) + '&rbaRangeFrom=40&rbaRangeTo=50'')">' + CAST(MEDIUM AS VARCHAR) + '</a>'
|
|
,[MEDIUM %] = CAST(MEDIUM AS MONEY) / CAST(TOTAL AS MONEY) * 100
|
|
,HIGH = @constString + '&fromDate=' + REPLACE(DT, '.', '-') + '-01' + '&toDate=' + CONVERT(VARCHAR,DATEADD(s, -1, DATEADD(mm, DATEDIFF(m, 0, CAST(REPLACE(DT, '.', '-') + '-01' AS DATETIME)) + 1, 0)),120) + '&rbaRangeFrom=50&rbaRangeTo=100'')">' + CAST(HIGH AS VARCHAR) + '</a>'
|
|
,[HIGH %] = CAST(HIGH AS MONEY) / CAST(TOTAL AS MONEY) * 100
|
|
,TOTAL
|
|
FROM ##TEMPRBAFINAL
|
|
END
|
|
END
|
|
EXEC proc_errorHandler '0', 'Report has been prepared successfully.', NULL
|
|
SELECT 'From Date ' head ,
|
|
CONVERT(VARCHAR(10), @fDate, 101) VALUE
|
|
UNION ALL
|
|
SELECT 'To Date ' head ,
|
|
CONVERT(VARCHAR(10), @tDate, 101) value
|
|
UNION ALL
|
|
SELECT 'Report For ' head,
|
|
@reportFor value
|
|
UNION ALL
|
|
SELECT 'Sending Country ' head ,
|
|
@sCountry value
|
|
UNION ALL
|
|
SELECT 'Sending Agent ' head ,
|
|
( SELECT agentName
|
|
FROM agentmaster WITH ( NOLOCK )
|
|
WHERE agentId = @sAgent
|
|
) VALUE
|
|
UNION ALL
|
|
SELECT 'Sending Branch ' head ,
|
|
( SELECT agentName
|
|
FROM agentmaster WITH ( NOLOCK )
|
|
WHERE agentId = @sBranch
|
|
) VALUE
|
|
UNION ALL
|
|
SELECT 'Report Type ' head ,
|
|
value = @reportType
|
|
|
|
SELECT 'Risk Based Assessment Report' title
|
|
GO
|