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.
170 lines
11 KiB
170 lines
11 KiB
USE [FastMoneyPro_Remit]
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[proc_cardStockReport] Script Date: 9/27/2019 1:30:14 PM ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
CREATE proc [dbo].[proc_cardStockReport] (
|
|
|
|
@flag VARCHAR(10)
|
|
,@searchBy VARCHAR(20)=NULL
|
|
,@cardBy VARCHAR(20)=NULL
|
|
,@szone VARCHAR(20)=NULL
|
|
,@user VARCHAR(20)=NULL
|
|
,@sagent VARCHAR(20)=NULL
|
|
,@remitCardNo VARCHAR(20)=NULL
|
|
|
|
)
|
|
AS SET NOCOUNT ON;
|
|
BEGIN
|
|
|
|
DECLARE @FilterList TABLE(head VARCHAR(50), value VARCHAR(100))
|
|
IF OBJECT_ID('tempdb..#TEMP_CARDSTOCK') IS NOT NULL
|
|
DROP TABLE TEMP_CARDSTOCK
|
|
|
|
CREATE TABLE #TEMP_CARDSTOCK(remitcardNo VARCHAR(16), cardStatus CHAR(20),agentId VARCHAR(20))
|
|
DECLARE
|
|
@table VARCHAR(MAX) = NULL
|
|
,@gobalFilter VARCHAR(MAX) = ' WHERE icm.isDeleted IS NULL'
|
|
,@sql VARCHAR(MAX) = NULL
|
|
,@url VARCHAR(MAX) = NULL
|
|
|
|
IF @sZone IS NOT NULL
|
|
BEGIN
|
|
INSERT INTO @FilterList
|
|
SELECT 'Sending Zone',@sZone
|
|
SET @gobalFilter=@gobalFilter+' AND am.agentState ='''+@sZone+''''
|
|
END
|
|
|
|
IF @sAgent IS NOT NULL
|
|
BEGIN
|
|
INSERT INTO @FilterList
|
|
SELECT 'Sending Agent',agentName FROM agentMaster WITH(NOLOCK) WHERE agentId=@sAgent
|
|
SET @gobalFilter=@gobalFilter+' AND am.agentId ='''+@sAgent+''''
|
|
END
|
|
IF @remitCardNo IS NOT NULL
|
|
BEGIN
|
|
INSERT INTO @FilterList
|
|
SELECT 'Membership Id',@remitcardNo
|
|
SET @gobalFilter=@gobalFilter+' AND cast(icm.remitcardNo as varchar) ='''+@remitcardNo+''''
|
|
END
|
|
IF @cardBy IS NOT NULL
|
|
BEGIN
|
|
INSERT INTO @FilterList
|
|
SELECT 'Card Type'
|
|
,CASE WHEN @cardBy ='r' THEN 'IME Remit Card' ELSE
|
|
CASE WHEN @cardBy ='c' THEN 'Customer Card' ELSE
|
|
'IME -Pin Remit Card' END END
|
|
SET @gobalFilter=@gobalFilter+' AND icm.cardType ='''+@cardBy+''''
|
|
END
|
|
|
|
INSERT INTO @FilterList
|
|
SELECT 'Report By',CASE WHEN @flag ='sz' THEN 'ZONE WISE'
|
|
WHEN @flag ='sa' THEN 'AGENT WISE'
|
|
WHEN @flag ='s' THEN 'DETAIL'
|
|
END
|
|
SET @sql = 'insert into #TEMP_CARDSTOCK(remitcardNo,cardStatus,agentId)
|
|
select icm.remitcardNo ,cardStatus,icm.agentId
|
|
from imeremitcardmaster icm with(nolock) INNER JOIN agentMaster am WITH(NOLOCK)
|
|
ON icm.agentId=am.agentId '
|
|
+@gobalFilter +'';
|
|
|
|
IF @flag='sz'
|
|
BEGIN
|
|
SET @table='
|
|
SELECT
|
|
[S.N.] = ROW_NUMBER() OVER(ORDER BY icm.zone)
|
|
,[Zone] = ''<a href = "#" onclick=OpenInNewWindow("Reports.aspx?reportName=getcardstockreport&searchBy=sa&sZone=''+icm.zone+''&cardBy='+@cardBy+'&searchText='+ISNULL(@remitCardNo,'')+'")>''+ icm.zone +''</a>''
|
|
,[Transfered] = sum(tCount)
|
|
,[Enrolled] = sum(eCount)
|
|
,[Total] = sum(tCount) + sum(eCount)
|
|
FROM(
|
|
SELECT
|
|
zone = am.agentState
|
|
,tCount = case when icm.cardStatus = ''Transfered'' then count(''X'') else 0 end
|
|
,eCount = case when icm.cardStatus = ''Enrolled'' then count(''X'') else 0 end
|
|
FROM imeremitcardMaster icm with(nolock)
|
|
INNER JOIN agentMaster am with(nolock) ON icm.agentId = am.agentId
|
|
'+@gobalFilter+'
|
|
GROUP BY am.agentState,icm.cardStatus
|
|
) icm GROUP BY icm.zone'
|
|
PRINT @table
|
|
EXEC(@table)
|
|
|
|
END
|
|
|
|
IF @flag='sa'
|
|
BEGIN
|
|
SET @table='
|
|
SELECT
|
|
[S.N.] = ROW_NUMBER() OVER(ORDER BY am.agentState,am.agentName)
|
|
,[Zone] = am.agentState
|
|
,[Agent Name] = ''<a href = "#" onclick=OpenInNewWindow("Reports.aspx?reportName=getcardstockreport&searchBy=detail&sAgent=''+ CAST(am.agentId AS VARCHAR)+''&cardBy='+@cardBy+'&searchText='+ISNULL(@remitCardNo,'')+'")>''+ am.agentName +''</a>''
|
|
,[Transfered] = sum(tCount)
|
|
,[Enrolled] = sum(eCount)
|
|
,[Total] = sum(tCount) + sum(eCount)
|
|
FROM(
|
|
SELECT
|
|
agentId = am.agentId
|
|
,tCount = case when icm.cardStatus = ''Transfered'' then count(''X'') else 0 end
|
|
,eCount = case when icm.cardStatus = ''Enrolled'' then count(''X'') else 0 end
|
|
FROM imeremitcardMaster icm with(nolock)
|
|
INNER JOIN agentMaster am with(nolock) ON icm.agentId = am.agentId
|
|
'+@gobalFilter+'
|
|
GROUP BY am.agentId,icm.cardStatus
|
|
) icm INNER JOIN dbo.agentMaster am WITH(NOLOCK) ON icm.agentId = am.agentId
|
|
GROUP BY am.agentId,am.agentState, am.agentName'
|
|
|
|
PRINT @table
|
|
EXEC (@table)
|
|
END
|
|
|
|
IF @flag='detail'
|
|
BEGIN
|
|
SET @table='
|
|
SELECT
|
|
[S.N.] = ROW_NUMBER() OVER(ORDER BY icm.cardStatus)
|
|
,[Card Number] = remitcardNo
|
|
,[Zone] = am.agentState
|
|
,[Agent Name] = am.agentName
|
|
,[Status] = CASE WHEN icm.cardStatus=''HO'' THEN ''Available'' else icm.cardStatus END
|
|
,[Uploaded By] = icm.createdBy
|
|
,[Uploaded Date] = icm.createdDate
|
|
,[Transfered By] = icm.transferedBy
|
|
,[Transfered Date] = icm.transferedDate
|
|
,[Enrolled By] = enrolledBy
|
|
,[Enrolled Date] = enrolledDate
|
|
FROM imeremitcardmaster icm WITH(NOLOCK)
|
|
INNER JOIN agentMaster am WITH(NOLOCK) ON icm.agentId = am.agentId
|
|
'+@gobalFilter
|
|
|
|
PRINT @Table
|
|
EXEC(@Table)
|
|
|
|
END
|
|
|
|
IF @flag='s'
|
|
BEGIN
|
|
SET @gobalFilter=@gobalFilter+' ORDER BY am.agentName ASC'
|
|
SET @table='SELECT
|
|
icm.remitcardNo as [Card Number]
|
|
,CASE WHEN icm.cardStatus=''HO'' THEN ''Available'' else icm.cardStatus END AS [Status]
|
|
FROM imeremitcardmaster icm WITH(NOLOCK)
|
|
INNER JOIN agentMaster am WITH(NOLOCK) on isnull(icm.agentId,1001)=am.agentId'+ @gobalFilter
|
|
|
|
|
|
print @table
|
|
EXEC (@table)
|
|
END
|
|
|
|
EXEC proc_errorHandler '0', 'Report has been prepared successfully.', NULL
|
|
|
|
SELECT * FROM @FilterList
|
|
|
|
SELECT 'CARD STOCK REPORT' title
|
|
|
|
END
|
|
|
|
|
|
GO
|