USE [FastMoneyPro_Remit] GO /****** Object: StoredProcedure [dbo].[proc_CancelReport_Admin] Script Date: 7/4/2019 11:35:48 AM ******/ DROP PROCEDURE [dbo].[proc_CancelReport_Admin] GO /****** Object: StoredProcedure [dbo].[proc_CancelReport_Admin] Script Date: 7/4/2019 11:35:48 AM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE [dbo].[proc_CancelReport_Admin] @user VARCHAR(50), @sCountry VARCHAR(50) = NULL, @sAgent VARCHAR(50) = NULL, @sBranch VARCHAR(50) = NULL, @pCountry VARCHAR(50) = NULL, @rAgent VARCHAR(50) = NULL, @fromDate VARCHAR(10) , @toDate VARCHAR(20) , @cancelType VARCHAR(50) = NULL, @pageSize INT = 100, @pageNumber INT = 1 AS SET NOCOUNT ON; DECLARE @SQL VARCHAR(MAX) IF(DATEDIFF(D,@fromDate,@toDate))>31 BEGIN EXEC proc_errorHandler '0', 'Report has been prepared successfully.', NULL EXEC proc_errorHandler '1', 'Report can view only 31 days', NULL RETURN; END If OBJECT_ID('tempdb..#TempResult') is not null DROP TABLE #TempResult CREATE TABLE #TempResult( [Sending_Country] VARCHAR(50) ,[Sending_Agent] VARCHAR(200) ,[Sending_Branch] VARCHAR(200) ,[BRN] VARCHAR(200) ,[Sender/Receiver] VARCHAR(300) ,[Receiving_Country] VARCHAR(50) ,[Receiving_Agent] VARCHAR(200) ,[TXN Date] VARCHAR(50) ,[Deposit Amt] MONEY ,[Payout Amt] MONEY ,[Cancel Request_User] VARCHAR(50) ,[Cancel Request_Date] VARCHAR(50) ,[Cancel Approve_User] VARCHAR(50) ,[Cancel Approve_Date] VARCHAR(50) ,[Cancel Refund_User] VARCHAR(50) ,[Cancel Refund_Date] VARCHAR(50) ,[Cancel Reason] VARCHAR(500) ,[Txn
Generated By] VARCHAR(50) ) SET @SQL=' INSERT INTO #TempResult SELECT * FROM ( SELECT [Sending_Country] = ISNULL(sCountry,''-'') ,[Sending_Agent] = ISNULL(sAgentName,''-'') ,[Sending_Branch] = ISNULL(sBranchName,''-'') ,[BRN] = ''''+dbo.FNADecryptString(RT.controlNo) +'''' ,[Sender/Receiver] = rt.senderName+''/''+rt.receiverName ,[Receiving_Country] = RT.pCountry ,[Receiving_Agent] = RT.pAgentName ,[TXN Date] = RT.createdDate ,[Deposit Amt] = RT.cAmt ,[Payout Amt] = RT.pAmt ,[Cancel Request_User] = RT.cancelRequestBy ,[Cancel Request_Date] = RT.cancelRequestDate ,[Cancel Approve_User] = RT.cancelApprovedBy ,[Cancel Approve_Date] = RT.cancelApprovedDate ,[Cancel Refund_User] = RC.teller ,[Cancel Refund_Date] = RC.refundDate ,[Cancel Reason] = ISNULL(''Request :''+RC.cancelReason,'''')+''
''+ISNULL(''Approve :''+RC.approvedRemarks,'''') ,[Txn
Generated By] = RT.createdBy FROM remitTran RT WITH (NOLOCK) LEFT JOIN tranCancelrequest RC WITH (NOLOCK) ON RT.controlNo=RC.controlNo WHERE ISNULL(RC.cancelStatus, '''') <> ''Rejected'' ' IF @sCountry IS NOT NULL SET @SQL = @SQL +' AND RT.sCountry = '''+@sCountry+'''' IF @sAgent IS NOT NULL SET @SQL = @SQL +' AND RT.sAgent = '''+@sAgent+'''' IF @sBranch IS NOT NULL SET @SQL = @SQL +' AND RT.sBranch =''' +CAST(@sBranch AS VARCHAR)+ '''' IF @pCountry IS NOT NULL AND @pCountry<>'ALL' SET @SQL = @SQL +' AND RT.pCountry ='''+@pCountry+'''' IF @rAgent IS NOT NULL SET @SQL = @SQL +' AND RT.pAgent ='''+@rAgent+'''' -->> Report Type IF @cancelType IS NULL SET @SQL = @SQL +' AND RT.cancelApprovedDate BETWEEN '''+@fromDate+''' AND '''+@toDate+' 23:59:59'' and ISNULL(RC.cancelStatus, '''') <> ''CancelRequest'' ' IF @cancelType ='denied' SET @SQL = @SQL +' AND 1=2 ' IF @cancelType ='Approved' SET @SQL = @SQL +' AND RT.cancelApprovedDate BETWEEN '''+@fromDate+''' AND '''+@toDate+' 23:59:59'' and ISNULL(RC.cancelStatus, '''') not in (''CancelRequest,Rejected'') ' IF @cancelType ='Refunded' SET @SQL = @SQL +' AND RC.refundDate BETWEEN '''+@fromDate+''' AND '''+@toDate+' 23:59:59'' and RC.cancelStatus = ''Refunded'' ' IF @cancelType ='RefundPending' SET @SQL = @SQL +' AND RT.cancelApprovedDate BETWEEN '''+@fromDate+''' AND '''+@toDate+' 23:59:59'' and RC.cancelStatus = ''Approved'' and RC.tranStatus in (''Payment'',''Paid'',''Post'') and RT.sAgent = 13410 ' IF @cancelType ='PaidCancel' SET @SQL = @SQL +' AND RT.cancelApprovedDate BETWEEN '''+@fromDate+''' AND '''+@toDate+' 23:59:59'' and RT.payStatus = ''Paid''' IF @cancelType ='PostCancel' SET @SQL = @SQL +' AND RT.cancelApprovedDate BETWEEN '''+@fromDate+''' AND '''+@toDate+' 23:59:59'' and RT.payStatus = ''Post''' IF @cancelType ='Rejected' SET @SQL = @SQL +' AND RC.approvedDate BETWEEN '''+@fromDate+''' AND '''+@toDate+' 23:59:59'' and RC.tranStatus = ''Rejected''' IF @cancelType ='denied' OR @cancelType IS NULL BEGIN SET @SQL=@SQL + ' UNION ALL SELECT [Sending_Country] = ISNULL(RT.sCountry,''-'') ,[Sending_Agent] = ISNULL(RT.sAgentName,''-'') ,[Sending_Branch] = ISNULL(RT.sBranchName,''-'') ,[BRN] = ''''+dbo.FNADecryptString(RT.controlNo) +'''' ,[Sender/Receiver] = rt.senderName+''/''+rt.receiverName ,[Receiving_Country] = RT.pCountry ,[Receiving_Agent] = RT.pAgentName ,[TXN Date] = RT.createdDate ,[Deposit Amt] = RT.cAmt ,[Payout Amt] = RT.pAmt ,[Cancel Request_User] = RT.cancelRequestBy ,[Cancel Request_Date] = RT.cancelRequestDate ,[Cancel Approve_User] = RT.cancelApprovedBy ,[Cancel Approve_Date] = RT.cancelApprovedDate ,[Cancel Refund_User] = RC.teller ,[Cancel Refund_Date] = RC.refundDate ,[Cancel Reason] = ISNULL(''Request :''+RC.cancelReason,'''')+''
''+ISNULL(''Approve :''+RC.approvedRemarks,'''') ,[Txn Generated By] = RT.createdBy FROM cancelTranHistory RT WITH (NOLOCK) LEFT JOIN tranCancelrequest RC WITH (NOLOCK) ON RT.controlNo=RC.controlNo WHERE RC.cancelStatus <> ''Rejected'' and cancelapprovedDate BETWEEN '''+@fromDate+''' AND '''+@toDate+' 23:59:59''' IF @sCountry IS NOT NULL SET @SQL = @SQL +' AND RT.sCountry = '''+@sCountry+'''' IF @sAgent IS NOT NULL SET @SQL = @SQL +' AND RT.sAgent = '''+@sAgent+'''' IF @sBranch IS NOT NULL SET @SQL = @SQL +' AND RT.sBranch =''' +CAST(@sBranch AS VARCHAR)+ '''' IF @pCountry IS NOT NULL AND @pCountry<>'ALL' SET @SQL = @SQL +' AND RT.pCountry ='''+@pCountry+'''' IF @rAgent IS NOT NULL SET @SQL = @SQL +' AND RT.pAgent ='''+@rAgent+'''' END SET @SQL = @SQL +')x' PRINT @SQL EXEC(@SQL) ALTER TABLE #TempResult ADD rowId INT IDENTITY(1,1) SELECT COUNT(*) AS TXNCOUNT ,@pageSize PAGESIZE ,@pageNumber PAGENUMBER FROM #TempResult SELECT rowId [S.N.] ,[Sending_Country] ,[Sending_Agent] ,[Sending_Branch] ,[BRN] ,[Sender/Receiver] ,[Receiving_Country] ,[Receiving_Agent] ,[TXN Date] ,[Deposit Amt] ,[Payout Amt] ,[Cancel Reason] ,[Cancel Request_User] ,[Cancel Request_Date] ,[Cancel Approve_User] ,[Cancel Approve_Date] ,[Cancel Refund_User] ,[Cancel Refund_Date] ,[Txn
Generated By] FROM #TempResult WHERE rowId BETWEEN CAST(((@pageNumber - 1) * @pageSize + 1) AS VARCHAR) AND CAST(@pageNumber * @pageSize AS VARCHAR) EXEC proc_errorHandler '0', 'Report has been prepared successfully.', NULL SELECT 'Sending Country' head,isnull(@sCountry,'All') VALUE UNION ALL SELECT 'Receiving Country' head,isnull(@pCountry,'All') VALUE UNION ALL SELECT 'Sending Agent' head,isnull(@sAgent,'All') VALUE UNION ALL SELECT 'Receiving Agent' head,isnull(@rAgent,'All') VALUE UNION ALL SELECT '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 UNION ALL SELECT 'Cancel Type' head, ISNULL(UPPER(@cancelType),'All') SELECT 'Cancel Transaction Report' title GO