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.
260 lines
14 KiB
260 lines
14 KiB
USE [FastMoneyPro_Remit]
|
|
GO
|
|
|
|
--EXEC proc_settlement_v2 @flag = 'S', @user = 'admin', @pCountry = 'SOUTH KOREA', @sAgent = NULL, @sBranch = null, @fromDate = '09/10/2017', @toDate = '01/15/2018', @pageNumber = '1', @pageSize = '100'
|
|
|
|
ALTER PROCEDURE [dbo].[proc_settlement_v2]
|
|
@flag VARCHAR(20) = NULL,
|
|
@pCountry VARCHAR(20) = NULL,
|
|
@sAgent VARCHAR(50),
|
|
@sBranch VARCHAR(20) = NULL,
|
|
@fromDate VARCHAR(30) = NULL,
|
|
@toDate VARCHAR(50) = NULL,
|
|
@pageNumber VARCHAR(50) = NULL,
|
|
@pageSize VARCHAR(50) = NULL,
|
|
@user VARCHAR(50) = NULL
|
|
|
|
AS
|
|
SET NOCOUNT ON;
|
|
SET ANSI_NULLS ON;
|
|
|
|
IF @pCountry = 'All'
|
|
SET @pCountry = NULL
|
|
|
|
|
|
IF @flag='s'
|
|
BEGIN
|
|
IF OBJECT_ID(N'tempdb..#SETTLEMENT') IS NOT NULL
|
|
DROP TABLE #SETTLEMENT
|
|
|
|
declare @sql varchar(max),@fxGain varchar(1),@agentCountry varchar(200),@isAgentUUM char(1) = null,@cutOffDate VARCHAR(20) = '2014-10-20'
|
|
|
|
SELECT id,controlNo,holdTranId
|
|
,sCurrCostRate,sCurrHoMargin,sCurrAgentMargin
|
|
,pCurrCostRate,pCurrHoMargin,pCurrAgentMargin
|
|
,customerRate,sAgentSettRate
|
|
,pDateCostRate,agentFxGain
|
|
,serviceCharge = CASE WHEN PAGENT = 221227 THEN 0 ELSE serviceCharge END
|
|
,handlingFee,sAgentComm,sAgentCommCurrency,pAgentComm,pAgentCommCurrency
|
|
,senderName,receiverName,sCountry,sAgent,sAgentName,sBranch,sBranchName
|
|
,pCountry ,pAgent,pAgentName,pBranch,pBranchName
|
|
,collCurr,tAmt,cAmt,pAmt,payoutCurr,tranStatus,payStatus
|
|
,createdDate
|
|
,approvedDate = CAST(approvedDate AS DATE)
|
|
,paidDate
|
|
,cancelApprovedDate = CAST(cancelApprovedDate AS DATE)
|
|
INTO #SETTLEMENT
|
|
FROM remitTran WITH (NOLOCK)
|
|
WHERE 1=1
|
|
AND
|
|
(
|
|
(SAGENT=ISNULL(@sAgent, SAGENT) AND createdDate BETWEEN @fromDate AND @toDate + ' 23:59:59' AND sCountry = isnull(@pCountry,sCountry) AND sBranch = isnull(@sBranch,sBranch))
|
|
OR (SAGENT=ISNULL(@sAgent, SAGENT) AND CANCELAPPROVEDDATE BETWEEN @fromDate AND @toDate + ' 23:59:59' AND sCountry = isnull(@pCountry,sCountry) AND sBranch = isnull(@sBranch,sBranch))
|
|
OR (PAGENT=ISNULL(@sAgent, PAGENT) AND PAIDDATE BETWEEN @fromDate AND @toDate + ' 23:59:59' AND pCountry = isnull(@pCountry,pCountry) AND pBranch = isnull(@sBranch,pBranch))
|
|
)
|
|
|
|
CREATE TABLE #SETTLEMENT_MAIN
|
|
(
|
|
REMARKS VARCHAR(100) NULL,
|
|
[DATE] DATE NULL,
|
|
TOTTRAN INT NULL,
|
|
CURR VARCHAR(10) NULL,
|
|
LCYCA MONEY NULL,
|
|
LCYSC MONEY NULL,
|
|
LCYTA MONEY NULL,
|
|
LCYCOMM MONEY NULL,
|
|
LCYFX MONEY NULL,
|
|
LCYSETTL MONEY NULL,
|
|
USDCA MONEY NULL,
|
|
USDSC MONEY NULL,
|
|
USDTA MONEY NULL,
|
|
USDCOMM MONEY NULL,
|
|
USDSETTL MONEY NULL,
|
|
SUMPA MONEY NULL
|
|
)
|
|
|
|
|
|
--INSERT INTO #SETTLEMENT_MAIN(REMARKS,[DATE],TOTTRAN,LCYCA,LCYSC,LCYTA,LCYCOMM,LCYFX,LCYSETTL,USDCA,USDSC,USDTA,USDCOMM,USDSETTL,SUMPA)
|
|
SELECT * FROM
|
|
(
|
|
SELECT
|
|
[Remarks] = '<a href="Reports.aspx?reportName=irhSettDrilDwn&sAgent='+isnull(@sAgent, '')+'&pCountry='+
|
|
ISNULL(@pCountry,'')+'&sBranch='+ISNULL(CAST(@sBranch AS VARCHAR),'')+'&fromDate='+
|
|
convert(varchar,createdDate,101)+'&toDate='+convert(varchar,createdDate,101)+'&flag=Send"> '+ 'Remittance Send(+)' +' </a>'
|
|
,[DATE] = convert(varchar,createdDate,101)
|
|
,[Total Trans] = COUNT(id)
|
|
,[IN COLLECTION CURRENCY_Total Collection] = SUM(cAmt)
|
|
,[IN COLLECTION CURRENCY_Total Charge] = SUM(ISNULL(serviceCharge,0))
|
|
,[IN COLLECTION CURRENCY_Principal Amount] = SUM(tAmt)
|
|
,[IN COLLECTION CURRENCY_Agent<br /> Commission]= SUM(sAgentComm)
|
|
,[IN COLLECTION CURRENCY_Settlement Amount] = SUM(tAmt + ISNULL(sAgentComm,0))
|
|
,[IN COLLECTION CURRENCY_Fx. Gain] = SUM(agentFxGain)
|
|
,[IN USD_Total Collection] = SUM(cAmt/(sCurrCostRate+isnull(sCurrHoMargin,0)))
|
|
,[IN USD_Total Charge] = SUM(serviceCharge/sCurrCostRate)
|
|
,[IN USD_Principal Amount] = SUM(tAmt/(sCurrCostRate+isnull(sCurrHoMargin,0)))
|
|
,[IN USD_Agent <br /> Commission] = SUM(sAgentComm/sCurrCostRate)
|
|
,[IN USD_Settlement Amount] = SUM((cAmt-sAgentComm)/(sCurrCostRate+isnull(sCurrHoMargin,0)))
|
|
,[IN Paying_Principal Amount] = SUM(pAmt)
|
|
|
|
FROM #SETTLEMENT
|
|
WHERE SAGENT = ISNULL(@sAgent, SAGENT) AND createdDate BETWEEN @fromDate AND @toDate + ' 23:59:59'
|
|
GROUP BY convert(varchar,createdDate,101)
|
|
|
|
UNION ALL
|
|
|
|
SELECT
|
|
[Remarks] ='<a href="Reports.aspx?reportName=irhSettDrilDwn&sAgent='+isnull(@sAgent, '')+'&pCountry='+
|
|
ISNULL(@pCountry,'')+'&sBranch='+ISNULL(CAST(@sBranch AS VARCHAR),'')+'&fromDate='+
|
|
convert(varchar,cancelApprovedDate,101)+'&toDate='+convert(varchar,cancelApprovedDate,101)+'&flag=cancel"> '+ 'Remittance Cancel(-)'+' </a>'
|
|
,[DATE] = convert(varchar,cancelApprovedDate,101)
|
|
,[Nos] = COUNT(id) * -1
|
|
,[IN COLLECTION CURRENCY_Total Collection] = SUM(cAmt) * -1
|
|
,[IN COLLECTION CURRENCY_Total Charge] = SUM(ISNULL(serviceCharge,0)) * -1
|
|
,[IN COLLECTION CURRENCY_Principal Amount] = SUM(tAmt)* -1
|
|
,[IN COLLECTION CURRENCY_Agent<br /> Commission]= SUM(sAgentComm)* -1
|
|
,[IN COLLECTION CURRENCY_Settlement Amount] = SUM(tAmt + ISNULL(sAgentComm,0))* -1
|
|
,[IN COLLECTION CURRENCY_Fx. Gain] = SUM(agentFxGain)* -1
|
|
,[IN USD_Total Collection] = SUM(cAmt/(sCurrCostRate+isnull(sCurrHoMargin,0)))* -1
|
|
,[IN USD_Total Charge] = SUM(serviceCharge/(sCurrCostRate+isnull(sCurrHoMargin,0)))* -1
|
|
,[IN USD_Principal Amount] = SUM(tAmt/(sCurrCostRate+isnull(sCurrHoMargin,0)))* -1
|
|
,[IN USD_Agent <br /> Commission] = SUM(sAgentComm/(sCurrCostRate+isnull(sCurrHoMargin,0)))* -1
|
|
,[IN USD_Sett. Amount] = SUM((cAmt-sAgentComm)/(sCurrCostRate+isnull(sCurrHoMargin,0)))* -1
|
|
,[IN Paying_Principal Amount] = SUM(pAmt)* -1
|
|
FROM #SETTLEMENT
|
|
WHERE
|
|
SAGENT = ISNULL(@sAgent, SAGENT)
|
|
AND cancelApprovedDate BETWEEN @fromDate AND @toDate + ' 23:59:59'
|
|
GROUP BY convert(varchar,cancelApprovedDate,101)
|
|
) x ORDER BY CAST([DATE] AS DATE)
|
|
END
|
|
|
|
ELSE IF @flag='a'
|
|
BEGIN
|
|
CREATE TABLE #PartnerResult([Remarks] VARCHAR(50),[DATE] VARCHAR(500),[Total Trans] INT,[IN COLLECTION CURRENCY_Total Collection] MONEY
|
|
,[IN COLLECTION CURRENCY_Total Charge] MONEY,[IN COLLECTION CURRENCY_Principal Amount] MONEY,[IN COLLECTION CURRENCY_Agent<br /> Commission] MONEY
|
|
,[IN COLLECTION CURRENCY_Settlement Amount] MONEY,[IN USD_Principal Amount] MONEY,[IN USD_Agent Comm] MONEY,[IN USD_Settlement Amount] MONEY
|
|
,[IN Paying_Principal Amount] MONEY)
|
|
|
|
----#### ONLY FOR PULLING TRANSACTION PARTNER
|
|
IF @sAgent IN (1036,405488)
|
|
BEGIN
|
|
INSERT INTO #PartnerResult
|
|
SELECT
|
|
[Remarks] = 'Post Transactions(+)'
|
|
,[DATE] = '<a href="Reports.aspx?reportName=irhSettDrilDwn&sAgent='+@sAgent+'&pCountry='+ISNULL(@pCountry,'')
|
|
+'&sBranch='+ISNULL(CAST(@sBranch AS VARCHAR),'')+'&fromDate='+convert(varchar,approvedDate,101)+'&toDate='
|
|
+convert(varchar,approvedDate,101)+'&flag=Post"> '+convert(varchar,approvedDate,101)+' </a>'
|
|
--,[DATE] = convert(varchar,postedDate,101)
|
|
,[Total Trans] = COUNT(id)
|
|
,[IN COLLECTION CURRENCY_Total Collection] = SUM(cAmt)
|
|
,[IN COLLECTION CURRENCY_Total Charge] = SUM(ISNULL(serviceCharge,0))
|
|
,[IN COLLECTION CURRENCY_Principal Amount] = SUM(tAmt)
|
|
,[IN COLLECTION CURRENCY_Agent<br /> Commission]= SUM(case when pagentcommcurrency='LKR' then ISNULL(pAgentComm,0)/customerRate when pagentcommcurrency='USD' then ISNULL(pAgentComm,0)*(sCurrCostRate+isnull(sCurrHoMargin,0)) else ISNULL(pAgentComm,0) end)
|
|
,[IN COLLECTION CURRENCY_Settlement Amount] = 0 ----SUM(tAmt + case when pagentcommcurrency='LKR' then ISNULL(pAgentComm,0)/customerRate when pagentcommcurrency='USD' then ISNULL(pAgentComm,0)*(sCurrCostRate+isnull(sCurrHoMargin,0)) else ISNULL(pAgentComm,0) end)
|
|
,[IN USD_Principal Amount] = SUM(pAmt/pCurrCostRate)
|
|
,[IN USD_Agent Comm] = SUM(case when pagentcommcurrency='LKR' then ISNULL(pAgentComm,0)/pCurrCostRate when pagentcommcurrency='USD' then ISNULL(pAgentComm,0) else ISNULL(pAgentComm,0)/(sCurrCostRate+isnull(sCurrHoMargin,0)) end)
|
|
,[IN USD_Settlement Amount] = 0 ----SUM(pAmt/pCurrCostRate)+SUM(ISNULL(pAgentComm,0)/case when pagentcommcurrency='USD' then 1 else pCurrCostRate end)
|
|
,[IN Paying_Principal Amount] = SUM(pAmt)
|
|
|
|
FROM remitTran WITH (NOLOCK)
|
|
WHERE 1=1 AND pAgent = @sAgent --AND pCountry = @pCountry
|
|
AND postedDate BETWEEN @fromDate AND @toDate+' 23:59:59'
|
|
GROUP BY CONVERT(varchar,approvedDate,101)
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
INSERT INTO #PartnerResult
|
|
SELECT
|
|
[Remarks] = 'Post Transactions(+)'
|
|
,[DATE] = '<a href="Reports.aspx?reportName=irhSettDrilDwn&sAgent='+@sAgent+'&pCountry='+ISNULL(@pCountry,'')
|
|
+'&sBranch='+ISNULL(CAST(@sBranch AS VARCHAR),'')+'&fromDate='+convert(varchar,approvedDate,101)+'&toDate='
|
|
+convert(varchar,approvedDate,101)+'&flag=Post"> '+convert(varchar,approvedDate,101)+' </a>'
|
|
--,[DATE] = convert(varchar,postedDate,101)
|
|
,[Total Trans] = COUNT(id)
|
|
,[IN COLLECTION CURRENCY_Total Collection] = SUM(cAmt)
|
|
,[IN COLLECTION CURRENCY_Total Charge] = SUM(ISNULL(serviceCharge,0))
|
|
,[IN COLLECTION CURRENCY_Principal Amount] = SUM(tAmt)
|
|
,[IN COLLECTION CURRENCY_Agent<br /> Commission]= SUM(case when pagentcommcurrency='LKR' then ISNULL(pAgentComm,0)/customerRate when pagentcommcurrency='USD' then ISNULL(pAgentComm,0)*(sCurrCostRate+isnull(sCurrHoMargin,0)) else ISNULL(pAgentComm,0) end)
|
|
,[IN COLLECTION CURRENCY_Settlement Amount] = 0 ----SUM(tAmt + case when pagentcommcurrency='LKR' then ISNULL(pAgentComm,0)/customerRate when pagentcommcurrency='USD' then ISNULL(pAgentComm,0)*(sCurrCostRate+isnull(sCurrHoMargin,0)) else ISNULL(pAgentComm,0) end)
|
|
,[IN USD_Principal Amount] = SUM(pAmt/pCurrCostRate)
|
|
,[IN USD_Agent Comm] = SUM(case when pagentcommcurrency='LKR' then ISNULL(pAgentComm,0)/pCurrCostRate when pagentcommcurrency='USD' then ISNULL(pAgentComm,0) else ISNULL(pAgentComm,0)/(sCurrCostRate+isnull(sCurrHoMargin,0)) end)
|
|
,[IN USD_Settlement Amount] = 0 ----SUM(pAmt/pCurrCostRate)+SUM(ISNULL(pAgentComm,0)/case when pagentcommcurrency='USD' then 1 else pCurrCostRate end)
|
|
,[IN Paying_Principal Amount] = SUM(pAmt)
|
|
|
|
FROM remitTran WITH (NOLOCK)
|
|
WHERE 1=1 AND pAgent = @sAgent --AND pCountry = @pCountry
|
|
AND approvedDate BETWEEN @fromDate AND @toDate+' 23:59:59'
|
|
GROUP BY CONVERT(varchar,approvedDate,101)
|
|
END
|
|
|
|
INSERT INTO #PartnerResult
|
|
SELECT
|
|
[Remarks] = 'Reverse Transactions(-)'
|
|
,[DATE] = '<a href="Reports.aspx?reportName=irhSettDrilDwn&sAgent='+@sAgent+'&pCountry='+ISNULL(@pCountry,'')
|
|
+'&sBranch='+ISNULL(CAST(@sBranch AS VARCHAR),'')+'&fromDate='+convert(varchar,cancelapprovedDate,101)+'&toDate='
|
|
+convert(varchar,cancelapprovedDate,101)+'&flag=CANCEL"> '+convert(varchar,cancelapprovedDate,101)+' </a>'
|
|
--,[DATE] = convert(varchar,cancelapprovedDate,101)
|
|
,[Total Trans] = COUNT(id)*-1
|
|
,[IN COLLECTION CURRENCY_Total Collection] = SUM(cAmt)*-1
|
|
,[IN COLLECTION CURRENCY_Total Charge] = SUM(ISNULL(serviceCharge,0)) *-1
|
|
,[IN COLLECTION CURRENCY_Principal Amount] = SUM(tAmt)*-1
|
|
,[IN COLLECTION CURRENCY_Agent<br /> Commission]= SUM(case when pagentcommcurrency='LKR' then ISNULL(pAgentComm,0)/customerRate when pagentcommcurrency='USD' then ISNULL(pAgentComm,0)*(sCurrCostRate+isnull(sCurrHoMargin,0)) else ISNULL(pAgentComm,0) end)*-1
|
|
,[IN COLLECTION CURRENCY_Settlement Amount] = 0 ----SUM(tAmt + case when pagentcommcurrency='LKR' then ISNULL(pAgentComm,0)/customerRate when pagentcommcurrency='USD' then ISNULL(pAgentComm,0)*(sCurrCostRate+isnull(sCurrHoMargin,0)) else ISNULL(pAgentComm,0) end)*-1
|
|
,[IN USD_Principal Amount] = SUM(pAmt/pCurrCostRate) *-1
|
|
,[IN USD_Agent Comm] = SUM(case when pagentcommcurrency='LKR' then ISNULL(pAgentComm,0)/pCurrCostRate when pagentcommcurrency='USD' then ISNULL(pAgentComm,0) else ISNULL(pAgentComm,0)/(sCurrCostRate+isnull(sCurrHoMargin,0)) end)*-1
|
|
,[IN USD_Settlement Amount] = 0 ----SUM(pAmt/pCurrCostRate)+SUM(ISNULL(pAgentComm,0)/case when pagentcommcurrency='USD' then 1 else pCurrCostRate end)*-1
|
|
,[IN Paying_Principal Amount] = SUM(pAmt)*-1
|
|
|
|
FROM remitTran WITH (NOLOCK)
|
|
WHERE 1=1 AND pAgent = @sAgent --AND pCountry = @pCountry
|
|
AND cancelapprovedDate BETWEEN @fromDate AND @toDate+' 23:59:59'
|
|
GROUP BY CONVERT(varchar,cancelapprovedDate,101)
|
|
----) x order by [Remarks],[DATE]
|
|
|
|
UPDATE #PartnerResult
|
|
SET [IN COLLECTION CURRENCY_Settlement Amount] = [IN COLLECTION CURRENCY_Principal Amount]+[IN COLLECTION CURRENCY_Agent<br /> Commission]
|
|
,[IN USD_Settlement Amount] = [IN USD_Principal Amount]+[IN USD_Agent Comm]
|
|
|
|
SELECT * FROM #PartnerResult ORDER BY [Remarks],[DATE]
|
|
----## if paying agent wise settlement report then check from posted date rest approve date
|
|
END
|
|
|
|
ELSE IF @flag='PartnerD' --##
|
|
BEGIN
|
|
SELECT
|
|
[DATE] = convert(varchar,postedDate,101)
|
|
,[GME NO] = dbo.FNADecryptString(controlNo)
|
|
,[IN COLLECTION CURRENCY_Total Collection] = (cAmt)
|
|
,[IN COLLECTION CURRENCY_Total Charge] = (ISNULL(serviceCharge,0))
|
|
,[IN COLLECTION CURRENCY_Principal Amount] = (tAmt)
|
|
,[IN COLLECTION CURRENCY_Agent<br /> Commission]= (pAgentComm)
|
|
,[IN COLLECTION CURRENCY_Settlement Amount] = (tAmt + ISNULL(pAgentComm,0))
|
|
,[IN USD_Principal Amount] = (pAmt/pCurrCostRate)
|
|
,[IN USD_Agent Comm] = (ISNULL(pAgentComm,0)/(sCurrCostRate+isnull(sCurrHoMargin,0)))
|
|
,[IN USD_Settlement Amount] = (pAmt/pCurrCostRate)+(ISNULL(pAgentComm,0)/pCurrCostRate)
|
|
,[IN Paying_Principal Amount] = (pAmt)
|
|
FROM remitTran WITH (NOLOCK)
|
|
WHERE 1=1 AND pAgent = @sAgent AND pCountry = @pCountry
|
|
AND postedDate BETWEEN @fromDate AND @toDate+' 23:59:59'
|
|
ORDER BY postedDate
|
|
----## if paying agent wise settlement report then check from posted date rest approve date
|
|
END
|
|
|
|
EXEC proc_errorHandler '0', 'Report has been prepared successfully.', NULL
|
|
|
|
SELECT 'Receiving Country' head,isnull(@pCountry,'All') value
|
|
UNION ALL
|
|
SELECT 'Sending Branch' head,case when @sBranch is null then 'All' else
|
|
(SELECT agentName FROM agentMaster WITH (NOLOCK) WHERE agentId=@sBranch) end VALUE
|
|
UNION ALL
|
|
|
|
SELECT 'From Date' head,@fromDate VALUE
|
|
UNION ALL
|
|
SELECT 'To Date' head,@toDate VALUE
|
|
|
|
IF @flag='s'
|
|
SELECT 'Settlement Report(Sending Agent)' title
|
|
ELSE IF @flag='a'
|
|
SELECT 'Settlement Report(Paying Agent)' title
|
|
ELSE IF @flag='a'
|
|
SELECT 'Settlement Detail(Paying Agent)' title
|