USE [FastMoneyPro_Remit] GO /****** Object: StoredProcedure [dbo].[proc_Inboundsettlement] Script Date: 9/27/2019 1:30:14 PM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE [dbo].[proc_Inboundsettlement] @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 @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 ,pCurrCostRate,pCurrHoMargin ,serviceCharge,pAgentComm,pAgentCommCurrency ,senderName,receiverName,sCountry,sAgent,sAgentName ,pCountry ,pAgent,pAgentName ,collCurr,tAmt,UsdAmount,pAmt,payoutCurr,tranStatus,payStatus ,createdDate ,approvedDate = CAST(approvedDate AS DATE) ,paidDate ,cancelApprovedDate = CAST(cancelApprovedDate AS DATE) INTO #SETTLEMENT FROM INBOUND_REMIT_TRAN(NOLOCK) IRT WHERE 1=1 AND ( (SAGENT=ISNULL(@sAgent, SAGENT) AND APPROVEDDATE BETWEEN @fromDate AND @toDate + ' 23:59:59') --OR (SAGENT=ISNULL(@sAgent, SAGENT) AND CANCELAPPROVEDDATE BETWEEN @fromDate AND @toDate + ' 23:59:59' AND sCountry = isnull(@pCountry,sCountry)) --OR (PAGENT=ISNULL(@sAgent, PAGENT) AND PAIDDATE BETWEEN @fromDate AND @toDate + ' 23:59:59' AND pCountry = isnull(@pCountry,pCountry) --) ) 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 ) SELECT * FROM ( SELECT --[Remarks] = ' '+ 'Remittance Send(+)' +' ' [DATE] = convert(varchar,approvedDate,101) ,[Total Trans] = COUNT(id) ,[IN COLLECTION CURRENCY_Total Collection] = '' ,[IN COLLECTION CURRENCY_Total Charge] = '' ,[IN COLLECTION CURRENCY_Principal Amount] = '' ,[IN COLLECTION CURRENCY_Agent
Commission]= '' ,[IN COLLECTION CURRENCY_Settlement Amount] = '' ,[IN COLLECTION CURRENCY_Fx. Gain] = '' ,[IN USD_Total Collection] = (-SUM(UsdAmount))+ (-SUM(serviceCharge/1)) ,[IN USD_Total Charge] = (-SUM(serviceCharge/1)) ,[IN USD_Principal Amount] = (-SUM(UsdAmount/1)) ,[IN USD_Agent
Commission] = '' ,[IN USD_Settlement Amount] = (-SUM(UsdAmount))+ (-SUM(serviceCharge/1)) ,[IN Paying_Principal Amount] = SUM(pAmt) FROM #SETTLEMENT WHERE SAGENT = ISNULL(@sAgent, SAGENT) AND APPROVEDDATE BETWEEN @fromDate AND @toDate + ' 23:59:59' GROUP BY convert(varchar,approvedDate,101) ) x ORDER BY CAST([DATE] AS DATE) END EXEC proc_errorHandler '0', 'Report has been prepared successfully.', NULL SELECT 'Receiving Country' head, 'South Korea' value UNION ALL SELECT 'Sending Agent' head, (SELECT agentName FROM agentMaster WITH (NOLOCK) WHERE agentId=@sAgent) value UNION ALL SELECT 'From Date' head,@fromDate VALUE UNION ALL SELECT 'To Date' head,@toDate VALUE SELECT 'Settlement Report' title GO