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.
547 lines
40 KiB
547 lines
40 KiB
USE [FastMoneyPro_Remit]
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[proc_GetOverseasTxnSummaryRpt] Script Date: 9/27/2019 1:30:14 PM ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
CREATE procEDURE [dbo].[proc_GetOverseasTxnSummaryRpt]
|
|
@flag VARCHAR(50),
|
|
@user VARCHAR(50) = NULL,
|
|
@sBranch VARCHAR(10) = NULL,
|
|
@sAgent VARCHAR(10) = NULL,
|
|
@pCountry VARCHAR(50) = NULL,
|
|
@pAgentId VARCHAR(10) = NULL,
|
|
@status VARCHAR(50) = NULL,
|
|
@DateType VARCHAR(20) = NULL,
|
|
@fromDate VARCHAR(10) = NULL,
|
|
@toDate VARCHAR(10) = NULL,
|
|
@countryBankId VARCHAR(10) = NULL,
|
|
@pageNumber INT = NULL,
|
|
@pageSize INT = NULL
|
|
|
|
AS
|
|
SET NOCOUNT ON;
|
|
|
|
IF(DATEDIFF(D,@fromDate,GETDATE())>90 )
|
|
BEGIN
|
|
EXEC proc_errorHandler '0', 'Report has been prepared successfully.', NULL
|
|
EXEC proc_errorHandler '1', '<font color="red"><b>Date Rage is not valid, You can only view transaction upto 90 days.</b></font>', NULL
|
|
RETURN;
|
|
END
|
|
|
|
IF(DATEDIFF(D,@fromDate,@toDate))>32
|
|
BEGIN
|
|
EXEC proc_errorHandler '0', 'Report has been prepared successfully.', NULL
|
|
EXEC proc_errorHandler '1', '<font color="red"><b>Date Rage is not valid, Please select date range of 32 days.</b></font>', NULL
|
|
RETURN;
|
|
END
|
|
|
|
IF OBJECT_ID('tempdb..#listBranch') IS NOT NULL
|
|
DROP TABLE #listBranch
|
|
DECLARE @SQL VARCHAR(MAX),@userType varchar(2),@regionalBranchId INT,@branchId INT
|
|
CREATE TABLE #listBranch (branchId INT,branchName VARCHAR(200))
|
|
|
|
IF @userType IS NULL
|
|
SELECT @userType=usertype,@regionalBranchId=agentId
|
|
FROM applicationUsers WITH(NOLOCK) WHERE userName=@user
|
|
|
|
IF @userType = 'RH'
|
|
BEGIN
|
|
INSERT INTO #listBranch
|
|
SELECT DISTINCT b.agentId branchId, b.agentName branchName
|
|
FROM (
|
|
SELECT
|
|
am.agentId
|
|
,am.agentName
|
|
FROM agentMaster am WITH(NOLOCK)
|
|
INNER JOIN regionalBranchAccessSetup rba WITH(NOLOCK) ON am.agentId = rba.memberAgentId
|
|
WHERE rba.agentId = @regionalBranchId
|
|
AND ISNULL(rba.isDeleted, 'N') = 'N'
|
|
AND ISNULL(rba.isActive, 'N') = 'Y'
|
|
AND am.isInternal ='Y'
|
|
AND am.agentType = '2904'
|
|
UNION ALL
|
|
SELECT agentId, agentName
|
|
FROM agentMaster WITH(NOLOCK) WHERE agentId = @regionalBranchId
|
|
|
|
) b WHERE b.agentId=ISNULL(@sBranch,b.agentId)
|
|
ORDER BY agentName ASC
|
|
END
|
|
ELSE IF @userType ='HO'
|
|
BEGIN
|
|
INSERT INTO #listBranch
|
|
SELECT b.agentId branchId, b.agentName branchName
|
|
FROM agentMaster a WITH(NOLOCK)
|
|
INNER JOIN agentMaster b WITH(NOLOCK) ON b.parentId = a.agentId
|
|
WHERE ISNULL(b.isDeleted, 'N') <> 'Y'
|
|
AND b.agentType = '2904'
|
|
AND ISNULL(a.isActive, 'N') = 'Y'
|
|
AND b.agentId = @sBranch
|
|
--AND a.agentId = @sAgent
|
|
END
|
|
ELSE IF @userType ='AH'
|
|
BEGIN
|
|
INSERT INTO #listBranch
|
|
SELECT DISTINCT A.agentId,A.agentName
|
|
FROM agentMaster A WITH(NOLOCK)
|
|
INNER JOIN applicationUsers U WITH (NOLOCK) ON A.agentId = U.agentId
|
|
WHERE parentId = (SELECT parentId FROM agentMaster B WITH (NOLOCK)
|
|
INNER JOIN applicationUsers AU WITH (NOLOCK) ON B.agentId=AU.agentId WHERE AU.userName = @user)
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
INSERT INTO #listBranch
|
|
SELECT agentId , agentName
|
|
FROM agentMaster a WITH(NOLOCK) WHERE agentId = @regionalBranchId
|
|
END
|
|
|
|
IF @flag = 'Detail'
|
|
BEGIN
|
|
create table #SettlementReport (remarks VARCHAR(100),qty INT,settAmount MONEY,collCurr VARCHAR(5),sn INT)
|
|
SET @SQL = '
|
|
INSERT INTO #SettlementReport
|
|
SELECT ''Remittance Send(+)'' remarks
|
|
,COUNT(*) QTY
|
|
,SUM(camt) - SUM(ISNULL(sAgentComm,0)) - SUM(ISNULL(agentFxGain,0)) [settAmt]
|
|
,collCurr Currency
|
|
,1 sn
|
|
FROM vwRemitTran Rt
|
|
INNER JOIN #listBranch T ON RT.sBranch=T.branchId
|
|
WHERE approvedDate BETWEEN '''+@fromDate+''' AND '''+@toDate+' 23:59:59''
|
|
GROUP BY collCurr
|
|
UNION ALL
|
|
SELECT ''Remittance Paid(-)'' remarks
|
|
|
|
,COUNT(*) QTY
|
|
,[settAmt] = SUM(pamt) + SUM((ISNULL(pAgentComm,0) / (sCurrCostRate+ISNULL(sCurrHoMargin,0)))*ISNULL(pDateCostRate, (pCurrCostRate - ISNULL(pCurrHoMargin,0))))
|
|
,payoutCurr Currency
|
|
, 2 sn
|
|
FROM vwRemitTran Rt
|
|
INNER JOIN #listBranch T ON RT.pBranch=T.branchId
|
|
WHERE paidDate BETWEEN '''+@fromDate+''' AND '''+@toDate+' 23:59:59''
|
|
GROUP BY payoutCurr
|
|
UNION ALL
|
|
SELECT ''Remittance Cancel(-)'' remarks
|
|
|
|
,COUNT(*) QTY
|
|
,[settAmt] = SUM(camt) - SUM(ISNULL(sAgentComm,0)) - SUM(ISNULL(agentFxGain,0))
|
|
,collCurr Currency
|
|
, 3 sn
|
|
FROM vwRemitTran Rt
|
|
INNER JOIN #listBranch T ON RT.sBranch=T.branchId
|
|
WHERE cancelApprovedDate BETWEEN '''+@fromDate+''' AND '''+@toDate+' 23:59:59''
|
|
GROUP BY collCurr
|
|
|
|
'
|
|
|
|
PRINT @SQL
|
|
EXEC(@SQL)
|
|
DECLARE @CNT INT=2,@holdAmt MONEY,@process MONEY,@setCurr VARCHAR(5)
|
|
select @holdAmt=settAmount,@setCurr=COLLCURR from #SettlementReport where SN=1
|
|
WHILE @CNT<=3
|
|
BEGIN
|
|
select @process=settAmount from #SettlementReport where sn=@CNT
|
|
SET @holdAmt = @holdAmt -ISNULL(@process,0)
|
|
SET @CNT = @CNT+1
|
|
END
|
|
|
|
SELECT Remarks,Qty,settAmount [Settlement Amount],COLLCURR [Settlement Curr] FROM (
|
|
SELECT remarks,QTY,settAmount,COLLCURR,SN FROM #SettlementReport
|
|
UNION ALL
|
|
SELECT 'Net Settlement' ,0,@holdAmt,@setCurr,10
|
|
) X ORDER BY SN
|
|
|
|
|
|
-->>SUMMARY REPORT
|
|
SET @SQL ='SELECT
|
|
[TRN Date] = CAST(CAST(RT.createdDate AS DATE) AS VARCHAR)
|
|
,[Approved Date] = CAST(CAST(RT.approvedDate AS DATE)AS VARCHAR)
|
|
,[Status] = CASE WHEN CAST(RT.createdDate AS DATE)=CAST(RT.approvedDate AS DATE) THEN ''<b><span style="color:blue;"> Same Day Confirmed </span></b>'' WHEN CAST(RT.approvedDate AS DATE) IS NULL THEN ''<b><span style="color:red;">Not Confirmed </span></b>'' ELSE ''<b><span style="color:red;">Not Same Day Confirmed </span></b>'' END
|
|
,[No of Txn.] = COUNT(*)
|
|
,[Collected Amt(LCY)]= SUM(cAmt)
|
|
FROM vwremitTran RT WITH (NOLOCK)
|
|
INNER JOIN #listBranch T ON RT.sBranch=T.branchId
|
|
WHERE RT.'+@DateType+' BETWEEN '''+@fromDate+''' AND '''+@toDate+' 23:59:59'''
|
|
|
|
IF @sBranch IS NOT NULL
|
|
SET @SQL = @SQL +' AND RT.sBranch='''+@sBranch+''''
|
|
|
|
IF @pCountry <>'all'
|
|
SET @SQL = @SQL +' AND pCountry='''+@pCountry+''''
|
|
IF @pAgentId IS NOT NULL
|
|
SET @SQL = @SQL +' AND pAgent='''+@pAgentId+''''
|
|
IF @status IS NOT NULL
|
|
SET @SQL = @SQL +' AND payStatus IN ('''+@status+''')'
|
|
ELSE
|
|
SET @SQL = @SQL +' AND RT.payStatus IN (''Unpaid'',''Paid'',''Post'')'
|
|
SET @SQL = @SQL +' GROUP BY CAST(RT.createdDate AS DATE),CAST(RT.approvedDate AS DATE)'
|
|
|
|
PRINT @SQL
|
|
EXEC(@SQL)
|
|
|
|
END
|
|
|
|
IF @flag = 'BranchWise'
|
|
BEGIN
|
|
|
|
SET @SQL =' SELECT
|
|
[Agent] = sAgentName
|
|
,[Branch] = sBranchName
|
|
,[NOs] = COUNT(*)
|
|
,[Total <BR/>Collected(LCY)] = SUM(RT.cAmt)
|
|
,[Agent <BR/>Comm(LCY)] = ISNULL(SUM(RT.sAgentComm),0)
|
|
,[Total <BR/>SCharge(LCY)] = SUM(RT.serviceCharge)
|
|
,[Total <BR/>Payable(LCY)] = SUM(RT.tAmt)
|
|
FROM vwremitTran RT WITH (NOLOCK)
|
|
INNER JOIN #listBranch T ON RT.sBranch=T.branchId
|
|
WHERE RT.'+@DateType+' BETWEEN '''+@fromDate+''' AND '''+@toDate+' 23:59:59'''
|
|
|
|
IF @pCountry <>'all'
|
|
SET @SQL = @SQL +' AND RT.pCountry='''+@pCountry+''''
|
|
|
|
IF @sBranch IS NOT NULL
|
|
SET @SQL = @SQL +' AND RT.sBranch='''+@sBranch+''''
|
|
|
|
IF @pAgentId IS NOT NULL
|
|
SET @SQL = @SQL +' AND RT.pAgent='''+@pAgentId+''''
|
|
IF @status IS NOT NULL
|
|
SET @SQL = @SQL +' AND RT.payStatus IN ('''+@status+''')'
|
|
ELSE
|
|
SET @SQL = @SQL +' AND RT.payStatus IN (''Unpaid'',''Paid'',''Post'')'
|
|
SET @SQL = @SQL +' GROUP BY RT.sAgentName,RT.sBranchName'
|
|
|
|
PRINT @SQL
|
|
EXEC(@SQL)
|
|
|
|
SET @SQL =' SELECT [Agent] = sAgentName
|
|
,[Branch] = sBranchName
|
|
,[NOs] = COUNT(*)
|
|
,[Total <BR/>Collected(LCY)] = SUM(RT.cAmt)
|
|
,[Agent <BR/>Comm(LCY)] = ISNULL(SUM(RT.sAgentComm),0)
|
|
,[Total <BR/>SCharge(LCY)] = SUM(RT.serviceCharge)
|
|
,[Total Cancel <BR/>To Agent(LCY)]= SUM(X.tAmt)
|
|
FROM vwremitTran RT WITH (NOLOCK)
|
|
INNER JOIN #listBranch T ON RT.sBranch=T.branchId
|
|
LEFT JOIN
|
|
(
|
|
SELECT SUM(tAmt) tAmt,sBranch FROM vwremitTran WITH (NOLOCK)
|
|
WHERE sBranch = '''+@sBranch+''' AND payStatus=''Cancel''
|
|
GROUP BY sBranch
|
|
)X ON X.sBranch = RT.sBranch
|
|
WHERE RT.cancelApprovedDate BETWEEN '''+@fromDate+''' AND '''+@toDate+' 23:59:59'' AND RT.payStatus IN (''Cancel'')'
|
|
|
|
IF @sBranch IS NOT NULL
|
|
SET @SQL = @SQL +' AND RT.sBranch='''+@sBranch+''''
|
|
|
|
IF @pCountry <>'all'
|
|
SET @SQL = @SQL +' AND RT.pCountry='''+@pCountry+''''
|
|
|
|
IF @pAgentId IS NOT NULL
|
|
SET @SQL = @SQL +' AND (RT.pAgent='''+@pAgentId+''' OR rt.pAgent IS NULL)'
|
|
|
|
SET @SQL = @SQL +' GROUP BY RT.sAgentName,RT.sBranchName'
|
|
|
|
|
|
SET @SQL =@SQL+ ' UNION ALL
|
|
SELECT sAgentName [Agent]
|
|
,sBranchName [Branch]
|
|
,COUNT(*) [NOs]
|
|
,SUM(RT.cAmt)[Total <BR/>Collected(LCY)]
|
|
,ISNULL(SUM(RT.sAgentComm),0) [Agent <BR/>Comm(LCY)]
|
|
,SUM(RT.serviceCharge) [Total <BR/>SCharge(LCY)]
|
|
,SUM(X.tAmt) [Total Cancel <BR/>To Agent(LCY)]
|
|
FROM cancelTranHistory RT WITH (NOLOCK)
|
|
INNER JOIN #listBranch T ON RT.sBranch=T.branchId
|
|
LEFT JOIN
|
|
(
|
|
SELECT SUM(tAmt) tAmt,sBranch FROM cancelTranHistory WITH (NOLOCK)
|
|
WHERE sBranch = '''+@sBranch+''' AND payStatus=''Unpaid''
|
|
AND cancelApprovedDate BETWEEN '''+@fromDate+''' AND '''+@toDate+' 23:59:59''
|
|
GROUP BY sBranch
|
|
)X ON X.sBranch = RT.sBranch
|
|
|
|
WHERE RT.cancelApprovedDate BETWEEN '''+@fromDate+''' AND '''+@toDate+' 23:59:59'' AND RT.payStatus IN (''Unpaid'')'
|
|
|
|
IF @sBranch IS NOT NULL
|
|
SET @SQL = @SQL +' AND RT.sBranch='''+@sBranch+''''
|
|
|
|
IF @pCountry <>'all'
|
|
SET @SQL = @SQL +' AND RT.pCountry='''+@pCountry+''''
|
|
|
|
IF @pAgentId IS NOT NULL
|
|
SET @SQL = @SQL +' AND (RT.pAgent='''+@pAgentId+''' OR rt.pAgent IS NULL)'
|
|
|
|
SET @SQL = @SQL +' GROUP BY RT.sAgentName,RT.sBranchName'
|
|
|
|
PRINT @SQL
|
|
EXEC(@SQL)
|
|
END
|
|
|
|
IF @flag = 'ReceivingAgentCountryWise'
|
|
BEGIN
|
|
|
|
SET @SQL = 'SELECT [Agent Name]=
|
|
''<a href="Reports.aspx?reportName=40112500txnsummaryrpt&pCountry=''+RT.pCountry+''&sAgent='+ @sAgent+'&sBranch='+ ISNULL(@sBranch,'') +'&dateType='+@DateType+'&fromDate='+@fromDate+'&toDate='+@toDate+'&rptType=ReceivingAgentWise&status='+ISNULL(@status,'')+'"> ''+RT.pCountry+'' </a>''
|
|
,[Total <BR/>Send TRN] = COUNT(*)
|
|
,[Total Collection <BR/>Amount(LCY)] = SUM(RT.cAmt)
|
|
,[Total <BR/>SCharge(LCY)] = SUM(RT.serviceCharge)
|
|
,[Customer <BR/>Rec. Amount] = SUM(RT.pAmt)
|
|
,[Rec.<br/> Curr] = RT.payoutCurr
|
|
,[Total Payable <BR/>to Agent(LCY)] = ISNULL(SUM(RT.tAmt),0)
|
|
FROM vwremitTran RT WITH (NOLOCK)
|
|
INNER JOIN #listBranch T ON RT.sBranch=T.branchId
|
|
WHERE RT.'+@DateType+' BETWEEN '''+@fromDate+''' AND '''+@toDate+' 23:59:59'''
|
|
|
|
IF @sBranch IS NOT NULL
|
|
SET @SQL = @SQL +' AND RT.sBranch='''+@sBranch+''''
|
|
|
|
IF @pCountry <>'all'
|
|
SET @SQL = @SQL +' AND RT.pCountry='''+@pCountry+''''
|
|
|
|
IF @pAgentId IS NOT NULL
|
|
SET @SQL = @SQL +' AND RT.pAgent='''+@pAgentId+''''
|
|
|
|
IF @status IS NOT NULL
|
|
SET @SQL = @SQL +' AND RT.payStatus IN ('''+@status+''')'
|
|
ELSE
|
|
SET @SQL = @SQL +' AND RT.payStatus IN (''Unpaid'',''Paid'',''Post'')'
|
|
SET @SQL = @SQL +' GROUP BY RT.pCountry,RT.payoutCurr'
|
|
|
|
PRINT @SQL
|
|
EXEC(@SQL)
|
|
END
|
|
|
|
IF @flag = 'ReceivingAgentWise'
|
|
BEGIN
|
|
SET @SQL = 'SELECT [Country Name]=
|
|
''<a href="Reports.aspx?reportName=40112500txnsummaryrpt&pCountry=''+RT.pCountry+''&sBranch='+ ISNULL(@sBranch,'') +'&dateType='+@DateType+'&fromDate='+@fromDate+'&toDate='+@toDate+'&rptType=ReceivingAgentDetail&pAgent=''+CAST(ISNULL(pAgent,'''') AS VARCHAR)+''&status='+ISNULL(@status,'')+'"> ''+ISNULL(RT.pAgentName,''Anywhere'')+''-''+RT.pCountry+'' </a>''
|
|
,[Total <BR/>Send TRN] = COUNT(*)
|
|
,[Total Collection <BR/>Amount(LCY)] = SUM(RT.cAmt)
|
|
,[Total <BR/>SCharge(LCY)] = SUM(RT.serviceCharge)
|
|
,[Customer <BR/>Rec. Amount] = SUM(RT.pAmt)
|
|
,[Rec.<br/> Curr] = RT.payoutCurr
|
|
,[Total Payable <BR/>to Agent(LCY)] = ISNULL(SUM(RT.tAmt),0)
|
|
FROM vwremitTran RT WITH (NOLOCK)
|
|
INNER JOIN #listBranch T ON RT.sBranch=T.branchId
|
|
WHERE RT.'+@DateType+' BETWEEN '''+@fromDate+''' AND '''+@toDate+' 23:59:59'''
|
|
|
|
IF @sBranch IS NOT NULL
|
|
SET @SQL = @SQL +' AND RT.sBranch='''+@sBranch+''''
|
|
|
|
IF @pCountry <>'all'
|
|
SET @SQL = @SQL +' AND RT.pCountry='''+@pCountry+''''
|
|
|
|
IF @pAgentId IS NOT NULL
|
|
SET @SQL = @SQL +' AND RT.pAgent='''+@pAgentId+''''
|
|
IF @status IS NOT NULL
|
|
SET @SQL = @SQL +' AND RT.payStatus IN ('''+@status+''')'
|
|
ELSE
|
|
SET @SQL = @SQL +' AND RT.payStatus IN (''Unpaid'',''Paid'',''Post'')'
|
|
SET @SQL = @SQL +' GROUP BY pAgentName,pAgent,RT.pCountry,RT.payoutCurr ORDER BY RT.pCountry'
|
|
|
|
PRINT @SQL
|
|
EXEC(@SQL)
|
|
END
|
|
|
|
IF @flag = 'ReceivingAgentDetail'
|
|
BEGIN
|
|
|
|
SET @SQL = 'SELECT
|
|
[TRN Date] = ''<a href="Reports.aspx?reportName=40112500txnsummaryrpt&pCountry='+@pCountry+'&dateType='+@DateType+'&fromDate=''+CAST(CAST(RT.createdDate AS DATE) AS VARCHAR)+''&toDate=''+CAST(CAST(RT.createdDate AS DATE) AS VARCHAR)+''&rptType=ReceivingDateWise&sBranch='+ ISNULL(@sBranch,'') +'&pAgent=''+CAST(ISNULL(pAgent,0) AS VARCHAR)+''&status='+ISNULL(@status,'')+'"> ''+CAST(CAST(RT.createdDate AS DATE) AS VARCHAR)+'' </a>''
|
|
,[Agent Name] = ISNULL(RT.pAgentName,''Anywhere-''+'''+@pCountry+''')
|
|
,[Total <BR/>Send TRN] = COUNT(*)
|
|
,[Total Collection <BR/>Amount(LCY)] = SUM(RT.cAmt)
|
|
,[Total <BR/>SCharge(LCY)] = SUM(RT.serviceCharge)
|
|
,[Agent <BR/>Comm(LCY)] = ISNULL(SUM(RT.sAgentComm),0)
|
|
,[Customer Rate] = RT.customerRate
|
|
,[Customer <BR/>Rec. Amount] = SUM(RT.pAmt)
|
|
,[Rec.<br/> Curr] = RT.payoutCurr
|
|
,[Total Payable <BR/>to Agent(LCY)] = ISNULL(SUM(RT.tAmt),0)
|
|
FROM vwremitTran RT WITH (NOLOCK)
|
|
INNER JOIN #listBranch T ON RT.sBranch=T.branchId
|
|
WHERE RT.'+@DateType+' BETWEEN '''+@fromDate+''' AND '''+@toDate+' 23:59:59'''
|
|
|
|
|
|
|
|
IF @sAgent IS NOT NULL AND @sAgent > 0
|
|
SET @SQL = @SQL +' AND RT.sAgent = '''+ @sAgent+''''
|
|
|
|
|
|
IF @sBranch IS NOT NULL
|
|
SET @SQL = @SQL +' AND RT.sBranch='''+@sBranch+''''
|
|
|
|
|
|
IF @pCountry <>'all'
|
|
SET @SQL = @SQL +' AND RT.pCountry='''+@pCountry+''''
|
|
|
|
|
|
IF @pAgentId IS NOT NULL AND @pAgentId > 0
|
|
SET @SQL = @SQL +' AND RT.pAgent='''+@pAgentId+''''
|
|
|
|
|
|
IF @pAgentId =0
|
|
SET @SQL = @SQL +' AND RT.pAgent IS NULL'
|
|
|
|
|
|
IF @status IS NOT NULL
|
|
SET @SQL = @SQL +' AND RT.payStatus IN ('''+@status+''')'
|
|
ELSE
|
|
SET @SQL = @SQL +' AND RT.payStatus IN (''Unpaid'',''Paid'',''Post'')'
|
|
SET @SQL = @SQL +' GROUP BY pAgentName,CAST(CAST(RT.createdDate AS DATE) AS VARCHAR),RT.customerRate
|
|
,RT.pAgent,RT.payoutCurr'
|
|
|
|
|
|
|
|
EXEC(@SQL)
|
|
|
|
--Cancel datewise trn
|
|
|
|
SET @SQL = 'SELECT [TRN Date(CancelDate)] = CAST(CAST(RT.cancelApprovedDate AS DATE) AS VARCHAR)
|
|
,[Agent Name] = RT.pAgentName
|
|
,[Total <BR/>Cancel TRN] = COUNT(*)
|
|
,[Total Collection <BR/>Amount(LCY)] = SUM(RT.cAmt)
|
|
,[Total <BR/>SCharge(LCY)] = SUM(RT.serviceCharge)
|
|
,[Agent <BR/>Comm(LCY)] = ISNULL(SUM(RT.sAgentComm),0)
|
|
,[ExRate] = RT.customerRate
|
|
,[Customer <BR/>Rec. Amount] = SUM(RT.pAmt)
|
|
,[Rec.<br/> Curr] = RT.payoutCurr
|
|
,[Total Cancel <BR/>to Agent] = ISNULL(SUM(X.tAmt),0)
|
|
FROM vwremitTran RT WITH (NOLOCK)
|
|
INNER JOIN #listBranch T ON RT.sBranch=T.branchId
|
|
LEFT JOIN (
|
|
SELECT ISNULL(SUM(tAmt),0) tAmt,sBranch FROM vwremitTran WITH (NOLOCK)
|
|
WHERE payStatus=''Cancel''
|
|
GROUP BY sBranch
|
|
)X ON X.sBranch = RT.sBranch
|
|
WHERE
|
|
RT.cancelApprovedDate BETWEEN '''+@fromDate+''' AND '''+@toDate+' 23:59:59'' AND RT.payStatus IN (''Cancel'')'
|
|
|
|
IF @sAgent IS NOT NULL AND @sAgent > 0
|
|
SET @SQL = @SQL +' AND RT.sAgent = '''+@sAgent+''''
|
|
|
|
IF @sBranch IS NOT NULL
|
|
SET @SQL = @SQL +' AND RT.sBranch='''+@sBranch+''''
|
|
|
|
|
|
IF @pCountry <>'all'
|
|
SET @SQL = @SQL +' AND RT.pCountry='''+@pCountry+''''
|
|
IF @pAgentId IS NOT NULL AND @pAgentId > 0
|
|
SET @SQL = @SQL +' AND (RT.pAgent='''+@pAgentId+''' OR RT.pAgent IS NULL)'
|
|
|
|
IF @pAgentId =0
|
|
SET @SQL = @SQL +' AND RT.pAgent IS NULL'
|
|
|
|
SET @SQL = @SQL +' GROUP BY pAgentName,CAST(RT.cancelApprovedDate AS DATE),RT.customerRate
|
|
,RT.payoutCurr'
|
|
|
|
-------------------------------------------------------
|
|
|
|
SET @SQL =@SQL+ ' UNION ALL
|
|
SELECT [TRN Date(CancelDate)] = CAST(CAST(RT.cancelApprovedDate AS DATE) AS VARCHAR)
|
|
,[Agent Name] = ISNULL(RT.pAgentName,''Anywhere-''+rt.pcountry)
|
|
,[Total <BR/>Cancel TRN] = COUNT(*)
|
|
,[Total Collection <BR/>Amount(LCY)] = SUM(RT.cAmt)
|
|
,[Total <BR/>SCharge(LCY)] = SUM(RT.serviceCharge)
|
|
,[Agent <BR/>Comm(LCY)] = ISNULL(SUM(RT.sAgentComm),0)
|
|
,[ExRate] = RT.customerRate
|
|
,[Customer <BR/>Rec. Amount] = SUM(RT.pAmt)
|
|
,[Rec.<br/> Curr] = RT.payoutCurr
|
|
,[Total Cancel <BR/>to Agent] = ISNULL(SUM(X.tAmt),0)
|
|
FROM cancelTranHistory RT WITH (NOLOCK)
|
|
INNER JOIN #listBranch T ON RT.sBranch=T.branchId
|
|
LEFT JOIN (
|
|
SELECT ISNULL(SUM(tAmt),0) tAmt,sBranch FROM cancelTranHistory WITH (NOLOCK)
|
|
WHERE payStatus=''Unpaid''
|
|
AND cancelApprovedDate BETWEEN '''+@fromDate+''' AND '''+@toDate+' 23:59:59''
|
|
GROUP BY sBranch
|
|
)X ON X.sBranch = RT.sBranch
|
|
WHERE RT.cancelApprovedDate BETWEEN '''+@fromDate+''' AND '''+@toDate+' 23:59:59'' AND RT.payStatus IN (''Unpaid'')'
|
|
|
|
IF @sAgent IS NOT NULL AND @sAgent > 0
|
|
SET @SQL = @SQL +' AND RT.sAgent = '''+@sAgent+''''
|
|
|
|
IF @sBranch IS NOT NULL
|
|
SET @SQL = @SQL +' AND RT.sBranch='''+@sBranch+''''
|
|
|
|
|
|
IF @pCountry <>'all'
|
|
SET @SQL = @SQL +' AND RT.pCountry='''+@pCountry+''''
|
|
|
|
IF @pAgentId IS NOT NULL AND @pAgentId > 0
|
|
SET @SQL = @SQL +' AND (RT.pAgent='''+@pAgentId+''' OR RT.pAgent IS NULL)'
|
|
IF @pAgentId =0
|
|
SET @SQL = @SQL +' AND RT.pAgent IS NULL'
|
|
|
|
SET @SQL = @SQL +' GROUP BY pAgentName,CAST(RT.cancelApprovedDate AS DATE),RT.customerRate,rt.pcountry
|
|
,RT.payoutCurr'
|
|
|
|
--PRINT @SQL
|
|
EXEC(@SQL)
|
|
|
|
END
|
|
|
|
IF @flag = 'ReceivingDateWise'
|
|
BEGIN
|
|
|
|
SET @SQL ='
|
|
SELECT
|
|
[ICN] = DBO.FNADecryptstring(RT.controlNo)
|
|
,[Sender Name] = RT.senderName
|
|
,[Receiver Name] = RT.receiverName
|
|
,[Tran Status] = CASE WHEN RT.tranStatus=''Payment'' THEN ''Unpaid'' ELSE RT.tranStatus END
|
|
,[DOT/Paid Date] = CONVERT(VARCHAR,RT.createdDate,101)+ISNULL(''/''+CONVERT(VARCHAR,RT.paidDate,101),'''')
|
|
,[ExRate] = RT.customerRate
|
|
,[Total Collection <BR/>Amount(LCY)] = CAST(RT.cAmt AS VARCHAR)
|
|
,[Total Sent <BR/>Amount(LCY)] = CAST(RT.tAmt AS VARCHAR)
|
|
,[Charge<BR/>(MYR)] = CAST(RT.serviceCharge AS VARCHAR)
|
|
,[Customer <BR/>Rec. Amount] = CAST(RT.pAmt AS VARCHAR)
|
|
,[Rec.<br/> Curr] = RT.payoutCurr
|
|
,[User Name] = RT.createdBy
|
|
FROM vwremitTran RT WITH (NOLOCK)
|
|
INNER JOIN #listBranch T ON RT.sBranch=T.branchId
|
|
WHERE RT.'+@DateType+' BETWEEN '''+@fromDate+''' AND '''+@fromDate+' 23:59:59'''
|
|
|
|
|
|
IF @sBranch IS NOT NULL
|
|
SET @SQL = @SQL +' AND RT.sBranch='''+@sBranch+''''
|
|
|
|
IF @pAgentId = 0
|
|
SET @SQL = @SQL +' AND RT.pAgent IS NULL'
|
|
|
|
IF @pCountry <>'all'
|
|
SET @SQL = @SQL +' AND RT.pCountry='''+@pCountry+''''
|
|
|
|
IF @pAgentId IS NOT NULL AND @pAgentId > 0
|
|
SET @SQL = @SQL +' AND RT.pAgent='''+@pAgentId+''''
|
|
|
|
IF @status IS NOT NULL
|
|
SET @SQL = @SQL +' AND RT.payStatus IN ('''+@status+''')'
|
|
ELSE
|
|
SET @SQL = @SQL +' AND RT.payStatus IN (''Unpaid'',''Paid'',''Post'')'
|
|
|
|
PRINT @SQL
|
|
EXEC(@SQL)
|
|
END
|
|
|
|
EXEC proc_errorHandler '0', 'Report has been prepared successfully.', NULL
|
|
SELECT 'Beneficiary' head,isnull(@pCountry,'All') VALUE
|
|
UNION ALL
|
|
SELECT 'Sending Agent' head,ISNULL((SELECT agentName FROM agentMaster WITH(NOLOCK) WHERE agentid=@sAgent),'ALL') VALUE
|
|
UNION ALL
|
|
SELECT 'Sending Branch' head,(SELECT agentName FROM agentMaster WITH(NOLOCK) WHERE agentid=@sBranch) VALUE
|
|
UNION ALL
|
|
SELECT 'Date Type ' head, CASE WHEN @DateType='createdDate' THEN 'By TRN Date'
|
|
WHEN @DateType='approvedDate' THEN 'By Confirm Date'
|
|
WHEN @DateType='PaidDate' THEN 'By Paid Date' END value
|
|
UNION ALL
|
|
SELECT 'From Date' head,@fromDate value
|
|
UNION ALL
|
|
SELECT 'To Date' head, @toDate
|
|
|
|
SELECT 'Transaction Summary Report : '+@flag title
|
|
|
|
|
|
|
|
|
|
GO
|