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.
214 lines
17 KiB
214 lines
17 KiB
USE [FastMoneyPro_Remit]
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[proc_kycEnrollmentReport] Script Date: 9/27/2019 1:30:14 PM ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
CREATE procEDURE [dbo].[proc_kycEnrollmentReport]
|
|
(
|
|
@rptType VARCHAR(50)=NULL
|
|
,@user VARCHAR(30)=NULL
|
|
,@fromDate VARCHAR(30)=NULL
|
|
,@toDate VARCHAR(30)=NULL
|
|
,@sZone VARCHAR(30)=NULL
|
|
,@sAgent VARCHAR(10)=NULL
|
|
,@remitCardNo VARCHAR(50)=NULL
|
|
,@sDistrict VARCHAR(100)=NULL
|
|
|
|
)AS
|
|
BEGIN
|
|
DECLARE @FilterList TABLE(head VARCHAR(50), value VARCHAR(100))
|
|
|
|
DECLARE
|
|
@table VARCHAR(MAX) = NULL
|
|
,@url VARCHAR(max) = NULL
|
|
,@gobalFilter VARCHAR(MAX) = ' WHERE 1=1 '
|
|
,@groupBy VARCHAR(500) = NULL
|
|
|
|
IF @rptType = 'agent-enroll-rpt'
|
|
BEGIN
|
|
SELECT
|
|
[S.N.] = ROW_NUMBER() OVER(ORDER BY km.createdDate DESC),
|
|
[IME Remit Card No.] = km.remitCardNo,
|
|
[Customer Name] = ISNULL(' '+km.salutation,'')+' '+ isnull(' '+km.firstName,'')+ isnull(' '+km.middleName,'')+ isnull(' '+km.lastName,''),
|
|
[Created By] = km.createdBy,
|
|
[Created Date] = km.createdDate,
|
|
[Status] = CASE WHEN km.approvedDate IS NULL THEN 'Unapproved' ELSE 'Approved' end
|
|
FROM dbo.kycMaster km WITH(NOLOCK)
|
|
WHERE km.createdDate BETWEEN @fromDate AND @toDate+' 23:59:59'
|
|
AND km.agentId = @sAgent
|
|
AND ISNULL(km.isDeleted,'N') = 'N'
|
|
AND ISNULL(km.isActive,'Y') ='Y'
|
|
|
|
RETURN;
|
|
END
|
|
|
|
IF @fromDate IS NOT NULL AND @toDate IS NOT NULL
|
|
BEGIN
|
|
INSERT INTO @FilterList
|
|
SELECT 'From Date',@fromDate
|
|
INSERT INTO @FilterList
|
|
SELECT 'To Date',@toDate
|
|
SET @gobalFilter=@gobalFilter+' AND ISNULL(km.isDeleted,''N'') = ''N'' AND km.createdDate BETWEEN '''+@fromDate+''' AND '''+@toDate+' 23:59:59'''
|
|
END
|
|
IF @sZone IS NOT NULL
|
|
BEGIN
|
|
INSERT INTO @FilterList
|
|
SELECT 'Zone',@sZone
|
|
SET @gobalFilter=@gobalFilter+' AND am.agentState ='''+@sZone+''''
|
|
END
|
|
IF @sDistrict IS NOT NULL
|
|
BEGIN
|
|
INSERT INTO @FilterList
|
|
SELECT 'District',@sZone
|
|
SET @gobalFilter=@gobalFilter+' AND am.agentDistrict ='''+@sDistrict+''''
|
|
END
|
|
IF @sAgent IS NOT NULL
|
|
BEGIN
|
|
INSERT INTO @FilterList
|
|
SELECT 'Agent',agentName FROM agentMaster WITH(NOLOCK) WHERE agentId=@sAgent
|
|
SET @gobalFilter=@gobalFilter+' AND km.agentId ='''+@sAgent+''''
|
|
END
|
|
IF @remitCardNo IS NOT NULL
|
|
BEGIN
|
|
INSERT INTO @FilterList
|
|
SELECT 'IME Remit Card Number',@remitCardNo
|
|
SET @gobalFilter=@gobalFilter+' AND km.remitCardNo ='''+@remitCardNo+''''
|
|
END
|
|
|
|
IF @rptType='zone'
|
|
BEGIN
|
|
--SET @gobalFilter=@gobalFilter+' group by am.agentState order by am.agentState ASC'
|
|
--SET @table='SELECT
|
|
-- [S.N.] = row_number()over(order by am.agentState)
|
|
-- ,[Zone] = ''<a href = "#" onclick=OpenInNewWindow("Reports.aspx?reportName=20832300_enroll&rptType=district&fromDate='+ISNULL(@fromDate,'')+'&toDate='+ISNULL(@toDate,'')+'&sZone=''+am.agentState+''")>''+am.agentState+''</a>''
|
|
-- ,[Total Customer] = CAST(count(''x'') AS VARCHAR(10))
|
|
|
|
--FROM kycMaster km WITH(NOLOCK)
|
|
--inner join agentMaster am with(nolock) on km.agentId = am.agentId ' +@gobalFilter
|
|
--PRINT @table
|
|
--EXEC(@table)
|
|
|
|
SET @groupBy = ' GROUP BY km.zoneName'
|
|
SET @gobalFilter = @gobalFilter+' GROUP BY am.agentState,km.cardStatus'
|
|
SET @table='SELECT
|
|
[S.N.] = row_number()over(order by km.zoneName),
|
|
[Zone Name] = ''<a href = "#" onclick=OpenInNewWindow("Reports.aspx?reportName=20832300_enroll&rptType=district&fromDate='+ISNULL(@fromDate,'')+'&toDate='+ISNULL(@toDate,'')+'&sZone=''+km.zoneName+''")>''+km.zoneName+''</a>'',
|
|
[Enrolled] = SUM(km.appCnt+km.penCnt),
|
|
[Approved] = SUM(km.appCnt),
|
|
[Pending] = SUM(km.penCnt)
|
|
FROM
|
|
(
|
|
SELECT
|
|
zoneName = am.agentState
|
|
,appCnt = CASE WHEN cardStatus=''Approved'' THEN COUNT(''x'') ELSE ''0'' END
|
|
,penCnt = CASE WHEN cardStatus IN (''pending'',''Complain'') THEN COUNT(''x'') ELSE ''0'' END
|
|
FROM dbo.kycMaster km WITH(NOLOCK)
|
|
INNER JOIN agentMaster am WITH(NOLOCK) ON km.agentId = am.agentId '+@gobalFilter+'
|
|
)km' + @groupBy
|
|
PRINT @table
|
|
EXEC(@table)
|
|
|
|
|
|
END
|
|
|
|
IF @rptType='district'
|
|
BEGIN
|
|
--SET @gobalFilter=@gobalFilter+' group by am.agentDistrict order by am.agentDistrict ASC'
|
|
--SET @table='SELECT
|
|
-- [S.N.] = row_number()over(order by am.agentDistrict)
|
|
-- ,[District] = ''<a href = "#" onclick=OpenInNewWindow("Reports.aspx?reportName=20832300_enroll&rptType=agent&fromDate='+ISNULL(@fromDate,'')+'&toDate='+ISNULL(@toDate,'')+'&sDistrict=''+am.agentDistrict+''")>''+am.agentDistrict+''</a>''
|
|
-- ,[Total Customer] = CAST(count(''x'') AS VARCHAR(10))
|
|
--FROM kycMaster km WITH(NOLOCK)
|
|
--inner join agentMaster am with(nolock) on km.agentId = am.agentId ' +@gobalFilter
|
|
--PRINT @table
|
|
--EXEC(@table)
|
|
|
|
SET @groupBy = ' GROUP BY km.districtName'
|
|
SET @gobalFilter = @gobalFilter+' GROUP BY am.agentDistrict,km.cardStatus'
|
|
SET @table='SELECT
|
|
[S.N.] = row_number()over(order by km.districtName),
|
|
[District Name] = ''<a href = "#" onclick=OpenInNewWindow("Reports.aspx?reportName=20832300_enroll&rptType=agent&fromDate='+ISNULL(@fromDate,'')+'&toDate='+ISNULL(@toDate,'')+'&sDistrict=''+km.districtName+''")>''+km.districtName+''</a>'',
|
|
[Enrolled] = SUM(km.appCnt+km.penCnt),
|
|
[Approved] = SUM(km.appCnt),
|
|
[Pending] = SUM(km.penCnt)
|
|
FROM
|
|
(
|
|
SELECT
|
|
districtName = am.agentDistrict
|
|
,appCnt = CASE WHEN cardStatus=''Approved'' THEN COUNT(''x'') ELSE ''0'' END
|
|
,penCnt = CASE WHEN cardStatus IN (''pending'',''Complain'') THEN COUNT(''x'') ELSE ''0'' END
|
|
FROM dbo.kycMaster km WITH(NOLOCK)
|
|
INNER JOIN agentMaster am WITH(NOLOCK) ON km.agentId = am.agentId '+@gobalFilter+'
|
|
)km' + @groupBy
|
|
PRINT @table
|
|
EXEC(@table)
|
|
END
|
|
|
|
IF @rptType='agent'
|
|
BEGIN
|
|
-- SET @gobalFilter=@gobalFilter+' group by am.agentState,am.agentName,km.agentId order by am.agentState,am.agentName ASC'
|
|
-- SET @table='SELECT
|
|
-- [S.N.] = row_number()over(order by am.agentState,am.agentName)
|
|
-- ,[Zone] = am.agentState
|
|
-- ,[Agent] = ''<a href = "#" onclick=OpenInNewWindow("Reports.aspx?reportName=20832300_enroll&rptType=detail&fromDate='+ISNULL(@fromDate,'')+'&toDate='+ISNULL(@toDate,'')+'&sZone=''+am.agentState+''&sAgent=''+cast(km.agentId as varchar)+''")>''+am.agentName +''</a>
|
|
--''
|
|
-- ,[Total Customer] = CAST(count(*) AS VARCHAR(10))
|
|
-- FROM kycMaster km WITH(NOLOCK)
|
|
-- INNER JOIN agentMaster am WITH(NOLOCK) ON km.agentId = am.agentId ' +@gobalFilter
|
|
-- PRINT @table
|
|
-- EXEC(@table)
|
|
SET @groupBy = ' GROUP BY km.zoneName,km.agentName,km.agentId'
|
|
SET @gobalFilter = @gobalFilter+' GROUP BY am.agentId,am.agentState,am.agentName,km.cardStatus'
|
|
SET @table='SELECT
|
|
[S.N.] = row_number()over(order by km.zoneName,km.agentName),
|
|
[Zone Name] = km.zoneName,
|
|
[Agent Name] = ''<a href = "#" onclick=OpenInNewWindow("Reports.aspx?reportName=20832300_enroll&rptType=detail&fromDate='+ISNULL(@fromDate,'')+'&toDate='+ISNULL(@toDate,'')+'&sZone=''+km.zoneName+''&sAgent=''+cast(km.agentId as varchar)+''")>''+km.agentName+''</a>'',
|
|
[Enrolled] = SUM(km.appCnt+km.penCnt),
|
|
[Approved] = SUM(km.appCnt),
|
|
[Pending] = SUM(km.penCnt)
|
|
FROM
|
|
(
|
|
SELECT
|
|
zoneName = am.agentState
|
|
,agentId = am.agentId
|
|
,agentName = am.agentName
|
|
,appCnt = CASE WHEN cardStatus=''Approved'' THEN COUNT(''x'') ELSE ''0'' END
|
|
,penCnt = CASE WHEN cardStatus IN (''pending'',''Complain'') THEN COUNT(''x'') ELSE ''0'' END
|
|
FROM dbo.kycMaster km WITH(NOLOCK)
|
|
INNER JOIN agentMaster am WITH(NOLOCK) ON km.agentId = am.agentId '+@gobalFilter+'
|
|
)km' + @groupBy
|
|
PRINT @table
|
|
EXEC(@table)
|
|
END
|
|
|
|
IF @rptType='detail'
|
|
BEGIN
|
|
SET @table='SELECT
|
|
[S.N.] = row_number() over(order by am.agentName)
|
|
,[IME Remit Card No.] = ''<a href="#" onclick="OpenInNewWindow('''''+dbo.FNAGetURL()+'Remit/Administration/CustomerSetup/KYC/View.aspx?customerId='' + cast(km.rowId as varchar) + '''''')">'' + km.remitCardNo + ''</a>''
|
|
,[Customer Name] = isnull('' ''+km.salutation,'''')+'' ''+ isnull('' ''+km.firstName,'''')+ isnull('' ''+km.middleName,'''')+ isnull('' ''+km.lastName,'''')
|
|
,[Agent Name] = am.agentName
|
|
,[Created By] = km.createdBy
|
|
,[Created Date] = km.createdDate
|
|
,[Status] = CASE WHEN (km.approvedBy IS NULL) THEN ''Unapproved'' ELSE ''Approved'' END
|
|
FROM kycMaster km WITH(NOLOCK)
|
|
INNER JOIN agentMaster am WITH(NOLOCK) ON km.agentId = am.agentId ' +@gobalFilter
|
|
PRINT @Table
|
|
EXEC(@Table)
|
|
|
|
END
|
|
|
|
EXEC proc_errorHandler '0', 'Report has been prepared successfully.', NULL
|
|
|
|
SELECT * FROM @FilterList
|
|
|
|
SELECT 'KYC Enrollment Report' title
|
|
END
|
|
|
|
|
|
|
|
|
|
GO
|