-- Schema: C6MartPeriodicoImmobiliare
-- Stored Procedure: PL_S76AlternativaPatrimonioNonRappresentabileAssettClass



--[C6MartPeriodicoImmobiliare].[PL_S76AlternativaPatrimonioNonRappresentabileAssettClass]   's','FLLGRG54H28A479K'
CREATE procedure [C6MartPeriodicoImmobiliare].[PL_S76AlternativaPatrimonioNonRappresentabileAssettClass]   
 -- 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 @NOMERETE VARCHAR(20)
	IF @RETE = 'F'
		SET @NOMERETE = 'Fideuram'
	ELSE
		SET @NOMERETE = 'Sanpaolo Invest'

	SELECT  
		PATRBF.ID_CONTRATTO as Contratto,
		CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END as Area,
		CASE
		WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre'
		 ELSE area.ID_AREA end as NEEDAREA,
		PATRBF.NOME_PROGETTO as Progetto,
		patrbf.chiave_progetto as ord_progetto,
		dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione,
		ANAGP.DESCR_PRODOTTO AS Descrizione,
		PATRBF.CTV as Controvalore,
		PATRBF.CTV as controvalore_contratto,
		PATRBF.PARTVIA_DISINV as PartitaViaggiante,
		@NOMERETE as Intermediario
		--patrbf.ordinamento_progetto
	FROM 
		C6MartPeriodicoImmobiliare.PATRIMONIO_BF PATRBF
	INNER JOIN
		C6MartPeriodicoImmobiliare.AREA_BISOGNO AREA
		ON
			PATRBF.ID_AREA = AREA.ID_AREA
	INNER JOIN 
		C6MartPeriodicoImmobiliare.ANAG_PRODOTTI ANAGP
		ON 
			PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO
	LEFT OUTER JOIN 
		C6MartPeriodicoImmobiliare.ASSET_PERC ASSETPERC 
		ON 
			PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO
			AND ASSETPERC.LIVELLO = 1
	WHERE 1 = 1
		AND PATRBF.RETE = @Rete
		AND PATRBF.COD_FISCALE = @CodiceFiscale
		AND PATRBF.TIPO_PRODOTTO <> 'ASUL'
		AND ASSETPERC.COD_PRODOTTO IS NULL
--INIZIO INTERVENTI OMNIA		
        AND PATRBF.CTV <> 0.00

UNION ALL

SELECT  
		PATRBF.ID_CONTRATTO as Contratto,
		CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END as Area,
		CASE
		WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre'
		 ELSE area.ID_AREA end as NEEDAREA,
		PATRBF.NOME_PROGETTO as Progetto,
		patrbf.chiave_progetto as ord_progetto,
		dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione,
		ANAGP.DESCR_PRODOTTO AS Descrizione,
		sum(ASUL.CTV) as Controvalore,
		sum(ASUL.CTV) as controvalore_contratto,
		Max(PATRBF.PARTVIA_DISINV) as PartitaViaggiante,
		@NOMERETE as Intermediario
		--patrbf.ordinamento_progetto
	FROM
		C6MartPeriodicoImmobiliare.PATRIMONIO_BF PATRBF
	INNER JOIN
		C6MartPeriodicoImmobiliare.AREA_BISOGNO AREA
		ON
			PATRBF.ID_AREA = AREA.ID_AREA
	INNER JOIN 
		C6MartPeriodicoImmobiliare.ANAG_PRODOTTI ANAGP
		ON 
			PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO
	INNER JOIN 
		C6MartPeriodicoImmobiliare.DETTAGLIO_ASUL ASUL
		ON 
			PATRBF.RETE = ASUL.RETE
			AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE
			AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO
	left JOIN 
			C6MartPeriodicoImmobiliare.ASSET_PERC ASSETPERC
			ON 
             (
				ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO
				---no SKANDIA
				AND ASUL.COD_ISIN_SOTT = ''
				AND ASSETPERC.LIVELLO = 1
              )
           or
			 (  --SKANDIA
			ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT
			AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT
			AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO
            AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO
			AND ASSETPERC.LIVELLO = 1
			 )
		WHERE
		ASSETPERC.COD_PRODOTTO IS NULL
		AND PATRBF.TIPO_PRODOTTO = 'ASUL'
		AND PATRBF.RETE = @Rete
		AND PATRBF.COD_FISCALE = @CodiceFiscale

  GROUP BY 
     PATRBF.ID_CONTRATTO,
     CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END,
		CASE
		WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre'
		 ELSE area.ID_AREA end,
        PATRBF.NOME_PROGETTO,
		patrbf.chiave_progetto,
		dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE),
		ANAGP.DESCR_PRODOTTO 

EN