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.
304 lines
19 KiB
304 lines
19 KiB
USE [FastMoneyPro_Remit]
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[proc_fraudAnalysisTxn] Script Date: 9/27/2019 1:30:14 PM ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
CREATE procEDURE [dbo].[proc_fraudAnalysisTxn](
|
|
@flag VARCHAR(100)
|
|
,@fromDate VARCHAR(30)=NULL
|
|
,@toDate VARCHAR(30)=NULL
|
|
,@count VARCHAR(30)=NULL
|
|
,@sCountry VARCHAR(30)=NULL
|
|
,@rCountry VARCHAR(30)=NULL
|
|
,@reportBy VARCHAR(30)=NULL
|
|
,@operator VARCHAR(30)=NULL
|
|
,@User varchar(50)=NULL
|
|
,@userName varchar(50) = null
|
|
,@agent VARCHAR(30)=NULL
|
|
,@agentUser VARCHAR(50)=NULL
|
|
)AS
|
|
|
|
SET NOCOUNT ON
|
|
------------------- START ######## SAME USER DIFF IP SUMMARY
|
|
--DECLARE @fromDate varchar(20)= '2014-2-22', @toDate varchar(20)='2014-2-22 23:59', @User varchar(50)
|
|
DECLARE @sql VARCHAR(MAX)
|
|
|
|
|
|
|
|
if @flag ='Same User Vs Multiple IP'
|
|
BEGIN
|
|
-- ############## SAME USER DIFF IP
|
|
SET @sql='SELECT sAgentName, createdBy
|
|
,IpUsed = ''<a href="reports.aspx?reportName=10122200_txn&reportByTxn=detail&rCountry='+ISNULL(@rCountry,'')+'&sCountry='+ISNULL(@sCountry,'')+'&fromTxnDate='+@fromDate+'&toTxnDate='+@toDate+'&UserName=''+CreatedBy+''">''+CAST(count(*) AS VARCHAR)+''</a>''
|
|
FROM
|
|
(
|
|
SELECT
|
|
distinct sAgentName, createdBy, LEFT(ipAddress,6) ipAddress,sCountry
|
|
from remitTran T WITH (NOLOCK), tranSenders S WITH (NOLOCK)
|
|
where T.id = S.tranId
|
|
AND createdDate between '''+ @fromDate +''' AND '''+ @toDate + ' 23:59:59''
|
|
AND S.ipAddress is not null
|
|
)A WHERE 1=1 '
|
|
|
|
IF @sCountry IS NOT NULL
|
|
SET @sql = @sql +' AND sCountry=''' + @sCountry + ''''
|
|
|
|
--IF @rCountry IS NOT NULL
|
|
-- SET @sql = @sql +' AND pCountry=''' + @rCountry + ''''
|
|
|
|
SET @sql = @sql +
|
|
'GROUP BY createdBy,sAgentName
|
|
HAVING COUNT(*) '+@operator +@count
|
|
|
|
|
|
-- AND sCountry=''' + @sCountry + '''' +
|
|
--' AND pCountry=''' + @rCountry + '''' +
|
|
|
|
print @sql
|
|
EXEC(@sql)
|
|
|
|
EXEC proc_errorHandler '0', 'Report has been prepared successfully.', NULL
|
|
|
|
SELECT 'rCountry' head,@rCountry VALUE
|
|
UNION ALL
|
|
SELECT 'From Date' head,@fromDate VALUE
|
|
UNION ALL
|
|
SELECT 'TO Date' head,@toDate VALUE
|
|
|
|
SELECT 'Fraud Transaction Reporting - Summary'+(@flag) title
|
|
|
|
END
|
|
|
|
|
|
if @flag ='Same User Vs Multiple Certificate'
|
|
BEGIN
|
|
|
|
-- ############## SAME USER DIFF Certificate
|
|
SET @sql='
|
|
SELECT sAgentName, createdBy
|
|
,DcUsed = ''<a href="reports.aspx?reportName=10122200_txn&reportByTxn=detail&rCountry='+ISNULL(@rCountry,'')+'&sCountry='+ISNULL(@sCountry,'')+'&fromTxnDate='+@fromDate+'&toTxnDate='+@toDate+'&UserName=''+CreatedBy+''">''+CAST(count(*) AS VARCHAR)+''</a>''
|
|
FROM
|
|
(
|
|
SELECT
|
|
distinct sAgentName, createdBy, S.dcInfo,sCountry
|
|
from remitTran T WITH (NOLOCK), tranSenders S WITH (NOLOCK)
|
|
where T.id = S.tranId
|
|
AND createdDate between '''+ @fromDate +''' AND '''+ @toDate + ' 23:59:59''
|
|
AND S.ipAddress is not null
|
|
)A where 1=1 '
|
|
|
|
IF @sCountry IS NOT NULL
|
|
SET @sql = @sql +' AND sCountry=''' + @sCountry + ''''
|
|
|
|
--IF @rCountry IS NOT NULL
|
|
-- SET @sql = @sql +' AND pCountry=''' + @rCountry + ''''
|
|
|
|
SET @sql = @sql +
|
|
'GROUP BY createdBy,sAgentName
|
|
HAVING COUNT(*) '+@operator +@count
|
|
|
|
--print @sql
|
|
EXEC(@sql)
|
|
|
|
EXEC proc_errorHandler '0', 'Report has been prepared successfully.', NULL
|
|
|
|
SELECT 'rCountry' head,@rCountry VALUE
|
|
UNION ALL
|
|
SELECT 'From Date' head,@fromDate VALUE
|
|
UNION ALL
|
|
SELECT 'TO Date' head,@toDate VALUE
|
|
|
|
SELECT 'Fraud Transaction Reporting - Summary'+(@flag) title
|
|
|
|
END
|
|
|
|
if @flag ='OffHour'
|
|
BEGIN
|
|
|
|
-- ############## Off Hour Txn Report
|
|
SET @sql='
|
|
SELECT sAgentName, createdBy
|
|
,[OffHour Txn] = ''<a href="reports.aspx?reportName=10122200_txn&reportByTxn=detailOffHrs&rCountry='+ISNULL(@rCountry,'')+'&sCountry='+ISNULL(@sCountry,'')+'&fromTxnDate='+@fromDate+'&toTxnDate='+@toDate+'&UserName=''+CreatedBy+''">''+CAST(SUM(CNT) AS VARCHAR)+''</a>''
|
|
FROM
|
|
(
|
|
SELECT
|
|
sAgentName, createdBy,sCountry,COUNT(*) CNT
|
|
from remitTran T WITH (NOLOCK), tranSenders S WITH (NOLOCK)
|
|
where T.id = S.tranId
|
|
AND createdDate between '''+ @fromDate +''' AND '''+ @toDate + ' 23:59:59''
|
|
AND (CAST(createdDate AS TIME) > ''23:00:00'' OR CAST(createdDate AS TIME) < ''08:00:00'')
|
|
AND S.ipAddress is not null
|
|
GROUP BY sAgentName, createdBy,sCountry
|
|
|
|
)A where 1=1 '
|
|
|
|
IF @sCountry IS NOT NULL
|
|
SET @sql = @sql +' AND sCountry=''' + @sCountry + ''''
|
|
|
|
--IF @rCountry IS NOT NULL
|
|
-- SET @sql = @sql +' AND pCountry=''' + @rCountry + ''''
|
|
|
|
SET @sql = @sql +
|
|
'GROUP BY createdBy,sAgentName
|
|
HAVING SUM(CNT) '+@operator +@count
|
|
|
|
--print @sql
|
|
EXEC(@sql)
|
|
|
|
EXEC proc_errorHandler '0', 'Report has been prepared successfully.', NULL
|
|
|
|
SELECT 'rCountry' head,@rCountry VALUE
|
|
UNION ALL
|
|
SELECT 'From Date' head,@fromDate VALUE
|
|
UNION ALL
|
|
SELECT 'TO Date' head,@toDate VALUE
|
|
|
|
SELECT 'Fraud Transaction Reporting - Summary'+(@flag) title
|
|
|
|
END
|
|
|
|
-->>Same day User Created and Txn Generate
|
|
if @flag ='samedayuserTXN'
|
|
BEGIN
|
|
|
|
SET @sql='
|
|
SELECT sAgentName [Sending Agent], createdBy [Created By]
|
|
,[Same day Txn] = ''<a href="reports.aspx?reportName=10122200_txn&reportByTxn=detailsamedayuserTXN&sCountry='+ISNULL(@sCountry,'')+'&fromTxnDate='+@fromDate+'&toTxnDate='+@toDate+'&UserName=''+CreatedBy+''">''+CAST(SUM(CNT) AS VARCHAR)+''</a>''
|
|
FROM
|
|
(
|
|
SELECT
|
|
sAgentName , t.createdBy ,sCountry ,COUNT(*) CNT
|
|
from remitTran T WITH (NOLOCK)
|
|
inner join tranSenders S WITH (NOLOCK) on T.id = S.tranId
|
|
inner join applicationusers u with(nolock) on u.username=t.createdby and cast(t.createdDate as date)=cast(u.createdDate as date)
|
|
where t.createdDate between '''+ @fromDate +''' AND '''+ @toDate + ' 23:59:59''
|
|
----and u.createdDate between '''+ @fromDate +''' AND '''+ @toDate + ' 23:59:59''
|
|
AND S.ipAddress is not null
|
|
GROUP BY sAgentName, t.createdBy,sCountry
|
|
|
|
)A where 1=1 '
|
|
|
|
IF @sCountry IS NOT NULL
|
|
SET @sql = @sql +' AND sCountry=''' + @sCountry + ''''
|
|
|
|
--IF @rCountry IS NOT NULL
|
|
-- SET @sql = @sql +' AND pCountry=''' + @rCountry + ''''
|
|
|
|
SET @sql = @sql +
|
|
'GROUP BY createdBy,sAgentName
|
|
HAVING SUM(CNT) '+@operator +@count
|
|
|
|
print @sql
|
|
EXEC(@sql)
|
|
|
|
EXEC proc_errorHandler '0', 'Report has been prepared successfully.', NULL
|
|
|
|
SELECT 'rCountry' head,@rCountry VALUE
|
|
UNION ALL
|
|
SELECT 'From Date' head,@fromDate VALUE
|
|
UNION ALL
|
|
SELECT 'TO Date' head,@toDate VALUE
|
|
|
|
SELECT 'Fraud Transaction Reporting - Summary'+(@flag) title
|
|
|
|
END
|
|
if @flag ='detail'
|
|
BEGIN
|
|
|
|
-- ############## SAME USER DETAIL IP And DC info
|
|
SELECT
|
|
TOP 500
|
|
[Tran No] = '<span class = "link" onclick ="ViewTranDetail(' +
|
|
CAST(T.id AS VARCHAR(50)) + ');">' + CAST(T.id AS VARCHAR(50)) + '</span>'
|
|
,sAgentName, sBranchName
|
|
,createdBy, ipAddress, dcInfo, cAmt, createdDate
|
|
,pCountry
|
|
FROM remitTran T WITH (NOLOCK)
|
|
INNER JOIN tranSenders S WITH (NOLOCK) ON T.id = S.tranId
|
|
WHERE createdDate between @fromDate AND @toDate+' 23:59:59'
|
|
AND createdBy = @userName
|
|
AND T.sCountry = ISNULL(@SCOUNTRY,T.sCountry)
|
|
|
|
|
|
EXEC proc_errorHandler '0', 'Report has been prepared successfully.', NULL
|
|
|
|
SELECT 'rCountry' head,@rCountry VALUE
|
|
UNION ALL
|
|
SELECT 'From Date' head,@fromDate VALUE
|
|
UNION ALL
|
|
SELECT 'TO Date' head,@toDate VALUE
|
|
|
|
SELECT 'Fraud Transaction Reporting - Detail' title
|
|
|
|
END
|
|
|
|
if @flag ='detailOffHrs'
|
|
BEGIN
|
|
|
|
-- ############## SAME USER DETAIL IP And DC info
|
|
SELECT
|
|
TOP 500
|
|
[Tran No] = '<span class = "link" onclick ="ViewTranDetail(' +
|
|
CAST(T.id AS VARCHAR(50)) + ');">' + CAST(T.id AS VARCHAR(50)) + '</span>'
|
|
,sAgentName, sBranchName
|
|
,createdBy, ipAddress, dcInfo, cAmt, createdDate
|
|
,pCountry
|
|
FROM remitTran T WITH (NOLOCK)
|
|
INNER JOIN tranSenders S WITH (NOLOCK) ON T.id = S.tranId
|
|
WHERE createdDate between @fromDate AND @toDate+' 23:59:59'
|
|
AND createdBy = @userName
|
|
AND T.sCountry = ISNULL(@SCOUNTRY,T.sCountry)
|
|
AND (CAST(createdDate AS TIME) > '23:00:00' OR CAST(createdDate AS TIME) < '08:00:00')
|
|
|
|
EXEC proc_errorHandler '0', 'Report has been prepared successfully.', NULL
|
|
|
|
SELECT 'rCountry' head,@rCountry VALUE
|
|
UNION ALL
|
|
SELECT 'From Date' head,@fromDate VALUE
|
|
UNION ALL
|
|
SELECT 'TO Date' head,@toDate VALUE
|
|
|
|
SELECT 'Fraud Transaction Reporting - Detail' title
|
|
|
|
END
|
|
|
|
if @flag ='detailsamedayuserTXN'
|
|
BEGIN
|
|
|
|
-- ############## SAME USER DETAIL IP And DC info
|
|
|
|
----SELECT TOP 5 sAgent,sAgentName,sBranch,sBranchName FROM remitTran
|
|
SELECT
|
|
TOP 500
|
|
[Tran No] = '<span class = "link" onclick ="ViewTranDetail(' +
|
|
CAST(T.id AS VARCHAR(50)) + ');">' + CAST(T.id AS VARCHAR(50)) + '</span>'
|
|
,sAgentName [Agent Name] , sBranchName [Branch Name]
|
|
,t.createdBy [Created by], ipAddress [Ip Address], dcInfo [Dc Info], cAmt [C.Amount],u.createdDate 'User Created Date', t.createdDate 'Txn Date'
|
|
,pCountry [Receiving Country]
|
|
FROM remitTran T WITH (NOLOCK)
|
|
INNER JOIN tranSenders S WITH (NOLOCK) ON T.id = S.tranId
|
|
inner join applicationusers u with(nolock) on u.username=t.createdby and cast(t.createdDate as date)=cast(u.createdDate as date)
|
|
WHERE t.createdDate between @fromDate AND @toDate+' 23:59:59'
|
|
--and u.createdDate between @fromDate AND @toDate+' 23:59:59'
|
|
AND t.createdBy = @userName
|
|
AND T.sCountry = ISNULL(@SCOUNTRY,T.sCountry)
|
|
|
|
|
|
EXEC proc_errorHandler '0', 'Report has been prepared successfully.', NULL
|
|
|
|
SELECT 'Sending Country' head,@sCountry VALUE
|
|
UNION ALL
|
|
SELECT 'From Date' head,@fromDate VALUE
|
|
UNION ALL
|
|
SELECT 'TO Date' head,@toDate VALUE
|
|
|
|
SELECT 'Fraud Transaction Reporting - Same Day User Created and Txn Generated Detail' title
|
|
|
|
RETURN
|
|
END
|
|
|
|
|
|
GO
|