﻿-- =============================================
-- Author:		<Author,,Name>
-- Create date: <Create Date,,>
-- Description:	<Description,,>
-- =============================================
-- exec [C6MartPeriodico].[PL_S75GradoCopertura_check] 'F','LBRRMN81R48L388B'
CREATE procedure [C6MartPeriodico].[PL_S75GradoCopertura_check]
	-- Add the parameters for the stored procedure here
	@Rete char(1), 
	@CodiceFiscale varchar(16)
AS
BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	DECLARE @varCompl		decimal(15,3)
	DECLARE @coperturaCompl	decimal(15,3)
	DECLARE @ctvCompl		decimal(15,3)
	DECLARE @saldoCC		decimal(15,3)
	--CALCOLO PATRIMONI E ESTRAZIONE VAR	
	SELECT 
		@Rete AS Rete,
		@CodiceFiscale as CodiceFiscale,
		CASE @Rete      
			WHEN 'F' THEN 'Patrimonio Fideuram'
			ELSE 'Patrimonio San Paolo Invest' 
		END AS NomePatrimonio,
--		MAX(patrBF.CTV - patrBF.ContoCorrente) AS Controvalore,
--		MAX(patrBF.ContoCorrente) AS ControvaloreCC,
--		MAX(RISCHIO.VAR_PERC_PTF) AS VarPatrimonio,
--		MAX(RISCHIO.COPERTURA) AS Copertura,
---MODIFICA TRINGALI inserisco cc 
		patrBF.CTV AS Controvalore,
		--patrBF.PatrimonioSenzaCC AS Controvalore,
		--patrBF.CTV - patrBF.ContoCorrente AS Controvalore,
		patrBF.ContoCorrente AS ControvaloreCC,
		RISCHIO.VAR_PERC_PTF AS VarPatrimonio,
		RISCHIO.COPERTURA AS Copertura,
		1 AS ORDINE 
         INTO #TEMP75
	FROM 
		C6MartPeriodico.vPatrimoniobfAggregato patrBF
	LEFT JOIN 
		C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO
		ON 
			RISCHIO.RETE = patrBF.RETE
			AND RISCHIO.COD_FISCALE = patrBF.COD_FISCALE
			AND RISCHIO.COD_AGGREG = 'COMPLESSIVO|BF'
	WHERE
		patrBF.Rete = @Rete
		AND patrBF.Cod_Fiscale = @CodiceFiscale
		--and patrBF.CTV  > 0
--	UNION ALL
--
--	SELECT 
--		A.Rete,
--		A.CodiceFiscale,
--		A.NomePatrimonio,
--		A.Controvalore,
--		A.ControvaloreCC,
--		A.VarPatrimonio,
--		A.Copertura,
--		A.ORDINE
--	FROM(
--		SELECT 
--			@Rete AS Rete,
--			@CodiceFiscale as CodiceFiscale,
--			'Patrimonio Altri Istituti' AS NomePatrimonio,
--			SUM(ROUND(CASE WHEN patrTerzi.TIPO_PRODOTTO = 'Conti correnti' THEN 0 ELSE CTV END,2))  AS Controvalore,
--			SUM(ROUND(CASE WHEN patrTerzi.TIPO_PRODOTTO = 'Conti correnti' THEN patrTerzi.CTV ELSE 0 END,2)) AS ControvaloreCC,
--			MAX(RISCHIO.VAR_PERC_PTF) as VarPatrimonio,
--			MAX(RISCHIO.COPERTURA) as Copertura,
--			2 AS ORDINE
--		FROM 
--			C6MartPeriodico.PATRIMONIO_TERZI patrTerzi
--		LEFT JOIN 
--			C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO
--			ON 
--				RISCHIO.RETE = patrTerzi.RETE
--				AND RISCHIO.COD_FISCALE = patrTerzi.COD_FISCALE
--				AND RISCHIO.COD_AGGREG = 'COMPLESSIVO|TERZI'
--		WHERE
--			patrTerzi.Rete = @Rete
--			and patrTerzi.COD_FISCALE = @CodiceFiscale
--	) A
--	WHERE ISNULL(A.CONTROVALORE,0)>0
--	
--	-- SE IL PATRIMONIO È SOLO 1 NON VA CALCOLATO IL COMPLESSIVO
--	IF @@ROWCOUNT > 1
--		BEGIN
--
--			--CALCOLO IL PATRIMONIO COMPLESSIVO ED ESTRAGGO IL VAR
--			SELECT 
--				@ctvCompl=SUM(patr.CONTROVALORE),
--				@saldoCC=SUM(patr.CONTROVALORECC),
--				@varCompl=MAX(RISCHIO.VAR_PERC_PTF),
--				@coperturaCompl=MAX(RISCHIO.COPERTURA)
--			FROM 
--				#TEMP75 patr
--			LEFT JOIN 
--				C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO
--				ON 
--					RISCHIO.RETE = patr.RETE
--					AND RISCHIO.COD_FISCALE = patr.CodiceFiscale
--					AND RISCHIO.COD_AGGREG = 'COMPLESSIVO'
--		
--			--RESTITUISCO I PATRIMONI
--			SELECT	
--				Ordine,
--				Nomepatrimonio,
--				Controvalore,
--				CASE WHEN @saldoCC > 0 THEN 1 ELSE 0 END AS CCPresente,
--				(CONTROVALORE/@CTVCompl)*100 AS Percentuale,
--				VARPATRIMONIO AS VAR,
--				Copertura,
--				CASE 
--					WHEN COPERTURA IS NULL THEN 'n.c.' 
--					WHEN COPERTURA = 0 THEN 'n.c.' 
--					ELSE NULL 
--				END AS varString,
--				CASE 
--					WHEN COPERTURA IS NULL THEN 'n.c.' 
--					WHEN COPERTURA = 0 THEN 'n.c.' 
--					ELSE NULL 
--				END AS coperturaString,
--
--				-- aggiunta per valutare la presenza di controcorrente
--				CASE WHEN @saldoCC <> 0 THEN 1 ELSE 0 END as NotaCCNetto
--				-- fine aggiunta per valutare la presenza di controcorrente
--
--			FROM #TEMP75
--			WHERE CONTROVALORE IS NOT NULL
----
--			UNION ALL
--
--			SELECT	
--				3,
--				'Patrimonio Complessivo',
--				@CTVCompl,
--				CASE WHEN @saldoCC > 0 THEN 1 ELSE 0 END as CCPRESENTE,
--				100.00 as percentuale,
--				@varCompl,
--				@coperturaCompl,
--				CASE 
--					WHEN @coperturaCompl IS NULL THEN 'n.c.' 
--					WHEN @coperturaCompl = 0 THEN 'n.c.' 
--					ELSE NULL 
--				END AS varString,
--				CASE 
--					WHEN @coperturaCompl IS NULL THEN 'n.c.' 
--					WHEN @coperturaCompl = 0 THEN 'n.c.' 
--					ELSE NULL 
--				END AS coperturaString,
--
--				-- aggiunta per valutare la presenza di controcorrente
--				CASE WHEN @saldoCC <> 0 THEN 1 ELSE 0 END as NotaCCNetto
--				-- fine aggiunta per valutare la presenza di controcorrente
--
--			ORDER BY 1
--		END
--	ELSE
--		BEGIN
--			--RESTITUISCO L'UNICO PATRIMONIO PRESENTE
			SELECT	
				Nomepatrimonio,
				Controvalore,
				CASE WHEN CONTROVALORECC > 0 THEN 1 ELSE 0 END as CCPresente,
				100.00 as Percentuale,
				VARPATRIMONIO AS VAR,
				Copertura,
				CASE 
					WHEN COPERTURA IS NULL THEN 'n.c.' 
					WHEN COPERTURA = 0 THEN 'n.c.' 
					ELSE NULL 
				END AS varString,
				CASE 
					WHEN COPERTURA IS NULL THEN 'n.c.' 
					WHEN COPERTURA = 0 THEN 'n.c.' 
					ELSE NULL 
				END AS coperturaString,
				-- aggiunta per valutare la presenza di controcorrente
				CASE WHEN CONTROVALORECC <> 0 THEN 1 ELSE 0 END as NotaCCNetto
				-- fine aggiunta per valutare la presenza di controcorrente
			FROM #TEMP75
			WHERE CONTROVALORE IS NOT NULL
--		END
END