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.
137 lines
10 KiB
137 lines
10 KiB
USE [FastMoneyPro_Remit]
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[proc_serviceChargeReport] Script Date: 9/27/2019 1:30:14 PM ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
/*
|
|
EXEC proc_serviceChargeReport @flag = 'master', @user = 'admin', @agent = null, @branch = null, @pCountry = null
|
|
*/
|
|
CREATE proc [dbo].[proc_serviceChargeReport]
|
|
@flag VARCHAR(50) = NULL
|
|
,@user VARCHAR(30)
|
|
,@branch INT = NULL
|
|
,@sCountry INT = NULL
|
|
,@agent INT = NULL
|
|
,@pCountry INT = NULL
|
|
,@ruleId INT = NULL
|
|
,@sortBy VARCHAR(50) = NULL
|
|
,@sortOrder VARCHAR(5) = NULL
|
|
,@pageSize INT = NULL
|
|
,@pageNumber INT = NULL
|
|
|
|
|
|
AS
|
|
SET NOCOUNT ON
|
|
SET XACT_ABORT ON
|
|
BEGIN TRY
|
|
IF @flag = 'master'
|
|
BEGIN
|
|
--DECLARE @serviceChargeRuleBranchWise TABLE(ruleId INT)
|
|
--DECLARE @serviceChargeRuleAgentWise TABLE(ruleId INT)
|
|
--DECLARE @serviceChargeRule TABLE(ruleId INT)
|
|
|
|
--INSERT @serviceChargeRuleBranchWise
|
|
--SELECT ruleId FROM agentCommissionRule WITH(NOLOCK)
|
|
-- WHERE ruleType = 'sc' AND agentId = @branch AND ISNULL(isActive, 'N') = 'Y'
|
|
|
|
--INSERT @serviceChargeRuleAgentWise
|
|
--SELECT ruleId FROM agentCommissionRule WITH(NOLOCK)
|
|
-- WHERE ruleType = 'sc' AND agentId = isnull(@agent,agentId) AND ISNULL(isActive, 'N') = 'Y'
|
|
|
|
--IF EXISTS(SELECT 'X' FROM sscMaster ssm WITH(NOLOCK)
|
|
--INNER JOIN @serviceChargeRuleBranchWise scr ON ssm.sscMasterId = scr.ruleId
|
|
--WHERE rCountry = isnull(@pCountry,rCountry) AND ISNULL(ssm.isActive, 'N') = 'Y')
|
|
--BEGIN
|
|
-- INSERT @serviceChargeRule
|
|
-- SELECT * FROM @serviceChargeRuleBranchWise
|
|
--END
|
|
--ELSE
|
|
--BEGIN
|
|
-- INSERT @serviceChargeRule
|
|
-- SELECT * FROM @serviceChargeRuleAgentWise
|
|
--END
|
|
--SELECT
|
|
-- ssm.sscMasterId
|
|
-- ,sCountryName = ISNULL(cm.countryName, 'All')
|
|
-- ,sAgentName = sam.agentName
|
|
-- ,paymentMethod = ISNULL(stm.typeTitle, 'All')
|
|
-- ,baseCurrency
|
|
--FROM sscMaster ssm WITH(NOLOCK)
|
|
--INNER JOIN @serviceChargeRule scr ON ssm.sscMasterId = scr.ruleId
|
|
--inner join agentCommissionRule acomr with(nolock) on acomr.ruleId = ssm.sscMasterId
|
|
--inner JOIN countryMaster cm WITH(NOLOCK) ON ssm.sCountry = cm.countryId
|
|
--inner JOIN agentMaster sam WITH(NOLOCK) ON acomr.agentId = sam.agentId
|
|
--LEFT JOIN serviceTypeMaster stm WITH(NOLOCK) ON ssm.tranType = stm.serviceTypeId
|
|
--WHERE rCountry = ISNULL(@pCountry,rCountry) AND ISNULL(ssm.isActive, 'N') = 'Y'
|
|
--and acomr.ruleType = 'sc'
|
|
----select * from agentCommissionRule
|
|
----select * from sscMaster
|
|
|
|
if @sCountry is not null -->> admin panel
|
|
begin
|
|
select
|
|
sc.sscMasterId
|
|
,scCode = sc.code
|
|
,sCountryName = cm.countryName
|
|
,sAgentName = am.agentName +', Payout Agent:'+isnull(am1.agentName,'All')
|
|
,paymentMethod = ISNULL(stm.typeTitle, 'All')
|
|
,baseCurrency = sc.baseCurrency
|
|
from agentCommissionRule a with(nolock)
|
|
inner join sscMaster sc with(nolock) on a.ruleId = sc.sscMasterId
|
|
inner join agentMaster am with(nolock) on a.agentId = am.agentId
|
|
left join serviceTypeMaster stm WITH(NOLOCK) ON sc.tranType = stm.serviceTypeId
|
|
left join countryMaster cm with(nolock) on cm.countryId = sc.sCountry
|
|
left join agentMaster am1 with(nolock) on sc.rAgent = am1.agentId
|
|
where a.ruleType = 'sc' and isnull(a.isActive,'Y') = 'Y'
|
|
and sc.sCountry = isnull(@sCountry,sc.sCountry)
|
|
and a.agentId = isnull(@agent,a.agentId)
|
|
order by am.agentName
|
|
end
|
|
else
|
|
begin
|
|
select
|
|
sc.sscMasterId
|
|
,scCode = sc.code
|
|
,sCountryName = cm.countryName
|
|
,pAgentName = ISNULL(am1.agentName,'All')
|
|
,paymentMethod = ISNULL(stm.typeTitle, 'All')
|
|
,baseCurrency = sc.baseCurrency
|
|
from agentCommissionRule a with(nolock)
|
|
inner join sscMaster sc with(nolock) on a.ruleId = sc.sscMasterId
|
|
inner join agentMaster am with(nolock) on a.agentId = am.agentId
|
|
left join serviceTypeMaster stm WITH(NOLOCK) ON sc.tranType = stm.serviceTypeId
|
|
left join countryMaster cm with(nolock) on cm.countryId = sc.sCountry
|
|
left join agentMaster am1 with(nolock) on sc.rAgent = am1.agentId
|
|
where a.ruleType = 'sc'
|
|
and isnull(a.isActive,'Y') = 'Y'
|
|
and isnull(sc.isActive,'Y') = 'Y'
|
|
and a.agentId = isnull(@agent,a.agentId)
|
|
order by am.agentName
|
|
|
|
end
|
|
|
|
END
|
|
|
|
ELSE IF @flag = 'detail'
|
|
BEGIN
|
|
SELECT
|
|
fromAmt
|
|
,toAmt
|
|
,serviceFee = CASE WHEN pcnt = 0 THEN minAmt ELSE pcnt END
|
|
,feeType = CASE WHEN pcnt = 0 THEN 'Flat' ELSE 'Percent' END
|
|
FROM sscDetail WITH(NOLOCK) WHERE sscMasterId = @ruleId AND ISNULL(isDeleted, 'N') = 'N' AND ISNULL(isActive, 'N') = 'Y'
|
|
ORDER BY fromAmt ASC
|
|
END
|
|
END TRY
|
|
BEGIN CATCH
|
|
IF @@TRANCOUNT > 0
|
|
ROLLBACK TRANSACTION
|
|
DECLARE @errorMessage VARCHAR(MAX)
|
|
SET @errorMessage = ERROR_MESSAGE()
|
|
EXEC proc_errorHandler 1, @errorMessage, NULL
|
|
END CATCH
|
|
|
|
|
|
GO
|