--select top 1 * from c6martperiodico.anag_prodotti
--modificata per i cc in liq Marianna & Valerio
--Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014)
CREATE VIEW [C6MartPeriodico].[RP_vTuttiIPortafogli_20181019]
AS
SELECT
		ANAG_PRODOTTI.DESCR_PRODOTTO,
		PATRIMONIO_BF.RETE						AS Rete,
		PATRIMONIO_BF.COD_FISCALE				AS CodiceFiscale,
		CASE
			WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN 
				'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID	
--			WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN 
--				'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID
			ELSE
				'COMPLESSIVO|BF|' + 
				LEFT(PATRIMONIO_BF.ID_AREA,3) + 
				CASE 
					WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO 
					+ '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'')
					ELSE '' 
				END + '|' + PATRIMONIO_BF.POSITION_ID	
		END										AS Portafoglio,
--		CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$'
--			WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA
--			ELSE ANAG_PRODOTTI.COD_ISIN
--		END										AS CodiceProdotto,
-- MODIFICA LUCA
		CASE ISNULL(ANAG_PRODOTTI.COD_ADEGUATEZZA, '') --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$'
			WHEN '' THEN ANAG_PRODOTTI.COD_ISIN
			ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA
		END										AS CodiceProdotto,
		--- 23//5/2018 ----------------------------------------
		CASE ANAG_PRODOTTI.COD_ADEGUATEZZA 
			WHEN '$' THEN ''
			ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA
		END										AS CodiceAdeguatezza,
		-----------------------------------------------------------
		-- modifica del 9/7/2018
		ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_INTERNO, ''))) AS Piazza, --codiceInterno
		ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_MAF, ''))) AS CodiceValuta, --codiceMAF
		ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_SOTTOPRODOTTO, ''))) AS Classe, --codiceSottoprodotto
		--''										AS Piazza, --codiceInterno
		--''										AS CodiceValuta, --codiceMAF
		--''										AS Classe, --codiceSottoprodotto
		-- fine modifica del 9/7/2018
		--V FRANCHIGIA CC
--		CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE <  CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT)
--			THEN 0
--			ELSE PATRIMONIO_BF.CTV_NOMINALE
--		END AS CtvNominale,
--INIZIO INTERVENTO OMNIA
--		PATRIMONIO_BF.CTV_NOMINALE				AS CtvNominale,
--		PATRIMONIO_BF.CTV						AS CtvReale
		case when PATRIMONIO_BF.ISIN in('EURO00000009', 'EURO10000007') then 0.0000
		else PATRIMONIO_BF.CTV_NOMINALE end AS CtvNominale ,
		case when PATRIMONIO_BF.ISIN in('EURO00000009', 'EURO10000007') then 0.0000
		else PATRIMONIO_BF.CTV end AS CtvReale 
--FINE INTERVENTO OMNIA
	FROM c6martperiodico.PATRIMONIO_BF
	INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI
		ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE
		AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE
	INNER JOIN c6martperiodico.ANAG_PRODOTTI  ANAG_PRODOTTI
		ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO
--INIZIO INTERVENTO OMNIA
--	WHERE PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC','ASU2')
	WHERE (PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC','ASU2')  
	AND	   PATRIMONIO_BF.ID_AREA <> 'SELF')
--FINE INTERVENTO OMNIA
	UNION ALL
	---V Modifica per calcolo VaR prodotti ASU2
	SELECT
			ANAG_PRODOTTI.DESCR_PRODOTTO,
			PATRIMONIO_BF.RETE						AS Rete,
			PATRIMONIO_BF.COD_FISCALE				AS CodiceFiscale,
			CASE
				WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN 
					'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID	
	--			WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN 
	--				'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID
				ELSE
					'COMPLESSIVO|BF|' + 
					LEFT(PATRIMONIO_BF.ID_AREA,3) + 
					CASE 
						WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO 
						+ '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'')
						ELSE '' 
					END + '|' + PATRIMONIO_BF.POSITION_ID	
			END										AS Portafoglio,
	--		CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$'
	--			WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA
	--			ELSE ANAG_PRODOTTI.COD_ISIN
	--		END										AS CodiceProdotto,
	---- MODIFICA LUCA
	--V Modifica per gli ASU2 CON IL COD_ADEGUATEZZA NON BECCA NESSUN PRODTTO PROMETEIA
	--		CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$'
	--			WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN
	--			ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA END	
			PATRIMONIO_BF.ISIN AS CodiceProdotto,
		------------------------------------------- 12/6/2018
		CASE ANAG_PRODOTTI.COD_ADEGUATEZZA 
			WHEN '$' THEN ''
			ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA
		END										AS CodiceAdeguatezza,
		------------------------------------------------------------------
		-- modifica del 9/7/2018
		ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_INTERNO, ''))) AS Piazza, --codiceInterno
		ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_MAF, ''))) AS CodiceValuta, --codiceMAF
		ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_SOTTOPRODOTTO, ''))) AS Classe, --codiceSottoprodotto
		--	''										AS Piazza,
		--	''										AS CodiceValuta,
		--	''										AS Classe,
		-- fine modifica del 9/7/2018
			--V FRANCHIGIA CC
	--		CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE <  CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT)
	--			THEN 0
	--			ELSE PATRIMONIO_BF.CTV_NOMINALE
	--		END AS CtvNominale,
		 PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale,
			--PATRIMONIO_BF.CTV_NOMINALE				AS CtvNominale,
	--		CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND  PATRIMONIO_BF.CTV <  CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT)
	--			THEN 0
	--			ELSE PATRIMONIO_BF.CTV
	--		END AS CtvReale
			PATRIMONIO_BF.CTV						AS CtvReale
		FROM C6martperiodico.PATRIMONIO_BF
		INNER JOIN C6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI
			ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE
			AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE
		INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI 
			ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO
			AND ANAG_PRODOTTI.COD_ISIN = PATRIMONIO_BF.ISIN
		WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASU2')
	UNION ALL
	-- PATRIMONIO ASUL
	SELECT 
		ANAG_PRODOTTI.DESCR_PRODOTTO,
		PATRIMONIO_BF.RETE						AS Rete,
		PATRIMONIO_BF.COD_FISCALE				AS CodiceFiscale,
		CASE
			WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN 
				'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID	
--		
--			WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN 
--				'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID
			ELSE
				'COMPLESSIVO|BF|' + 
				LEFT(PATRIMONIO_BF.ID_AREA,3) + 
				CASE 
					WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO 
					+ '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'')
					ELSE '' 
				END + '|' + PATRIMONIO_BF.POSITION_ID	
		END											AS Portafoglio,
		CASE ISNULL(DETTAGLIO_ASUL.COD_ISIN_FITTIZIO, '') --SELEZIONE DEL CODICEPRODOTTO: DETTAGLIO_ASUL.COD_ISIN_FITTIZIO, DETTAGLIO_ASUL.COD_SOTTOPRODOTTO, '$'
			WHEN '' THEN DETTAGLIO_ASUL.COD_ISIN_SOTT
			ELSE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO
		END										AS CodiceProdotto,
		--- 12/6/2018-------------------------------------------------		
		''										AS CodiceAdeguatezza,
		---------------------------------------------------------------
		-- modifica del 9/7/2018
		ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_INTERNO, ''))) AS Piazza, --codiceInterno
		ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_MAF, ''))) AS CodiceValuta, --codiceMAF
		ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_SOTTOPRODOTTO, ''))) AS Classe, --codiceSottoprodotto
		--''										AS Piazza,
		--''										AS CodiceValuta,
		-- ''										AS Classe,
		-- fine modifica del 9/7/2018
		DETTAGLIO_ASUL.CTV						AS CtvNominale,
		DETTAGLIO_ASUL.CTV						AS CtvReale
	FROM c6martperiodico.PATRIMONIO_BF
	INNER JOIN c6martperiodico.ANAG_PRODOTTI  ANAG_PRODOTTI
		ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO
	INNER JOIN c6martperiodico.DETTAGLIO_ASUL 
		ON DETTAGLIO_ASUL.ID_CONTRATTO = PATRIMONIO_BF.ID_CONTRATTO
	INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI
		ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE
		AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE
	WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASUL')
	UNION ALL
	-- PATRIMONIO TERZI
	SELECT 
		'' as descr_prodotto,
		INTERMEDIARIO.RETE					AS Rete,
		INTERMEDIARIO.CODICEFISCALE			AS CodiceFiscale,
		INTERMEDIARIO.PORTAFOGLIO			AS Portafoglio,
		INTERMEDIARIO.CODICEADEGUATEZZA		AS CodiceProdotto,
        --- 12/6/2018-------------------------------------------------		
		''										AS CodiceAdeguatezza,
		---------------------------------------------------------------
		INTERMEDIARIO.PIAZZA				AS Piazza,
		INTERMEDIARIO.CODICEVALUTA			AS CodiceValuta,
		INTERMEDIARIO.CLASSE				AS Classe,
		INTERMEDIARIO.CONTROVALORE			AS CtvNominale,
		INTERMEDIARIO.CONTROVALORE			AS CtvReale
	FROM c6martperiodico.RP_VPROMETEIATERZIINTERMEDIARIO INTERMEDIARIO
	INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport  VCONTRATTIPERSEI
		ON VCONTRATTIPERSEI.RETE = INTERMEDIARIO.RETE
		AND VCONTRATTIPERSEI.COD_FISCALE = INTERMEDIARIO.CODICEFISCALE
	UNION ALL 
	-- PATRIMONIO TERZI X TIPO PRODOTTO
	SELECT 
		'' as descr_prodotto,
		CATEGORIAPRODOTTO.RETE				AS Rete,
		CATEGORIAPRODOTTO.CODICEFISCALE		AS CodiceFiscale,
		CATEGORIAPRODOTTO.PORTAFOGLIO		AS Portafoglio,
		CATEGORIAPRODOTTO.CODICEADEGUATEZZA	AS CodiceProdotto,
		--- 12/6/2018-------------------------------------------------		
		''										AS CodiceAdeguatezza,
		---------------------------------------------------------------
		CATEGORIAPRODOTTO.PIAZZA			AS Piazza,
		CATEGORIAPRODOTTO.CODICEVALUTA		AS CodiceValuta,
		CATEGORIAPRODOTTO.CLASSE			AS Classe,
		CATEGORIAPRODOTTO.CONTROVALORE		AS CtvNominale,
		CATEGORIAPRODOTTO.CONTROVALORE		AS CtvReale
	FROM c6martperiodico.RP_VPROMETEIATERZICATEGORIAPRODOTTO CATEGORIAPRODOTTO
	INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI 
		ON VCONTRATTIPERSEI.RETE = CATEGORIAPRODOTTO.RETE
		AND VCONTRATTIPERSEI.COD_FISCALE = CATEGORIAPRODOTTO.CODICEFISCALE
--V Conti correnti Fideuram
union all
SELECT
		'CC' as descr_prodotto,
		PATRIMONIO_BF.RETE						AS Rete,
		PATRIMONIO_BF.COD_FISCALE				AS CodiceFiscale,
		CASE
--			WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN 
--				'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID	
--		
			WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN 
				'COMPLESSIVO|BF|CC'-- + PATRIMONIO_BF.POSITION_ID
			WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN 
				'COMPLESSIVO|BF|CC'
--			ELSE
--				'COMPLESSIVO|BF|' + 
--				LEFT(PATRIMONIO_BF.ID_AREA,3) + 
--				CASE 
--					WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO 
--					ELSE '' 
--				END + '|' + PATRIMONIO_BF.POSITION_ID	
		END										AS Portafoglio,
--		CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$'
--			WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA
--			ELSE ANAG_PRODOTTI.COD_ISIN
--		END										AS CodiceProdotto,
-- MODIFICA LUCA
--		CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$'
--			WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN
--			ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA
--		END										
		'EUR' AS CodiceProdotto,
		--- 12/6/2018 ----------------------------------------
		'' AS CodiceAdeguatezza,
		-----------------------------------------------------------
		-- modifica del 9/7/2018
		ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_INTERNO, ''))) AS Piazza, --codiceInterno
		ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_MAF, ''))) AS CodiceValuta, --codiceMAF
		ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_SOTTOPRODOTTO, ''))) AS Classe, --codiceSottoprodotto
		--''										AS Piazza,
		--''										AS CodiceValuta,
		-- ''										AS Classe,
		-- fine modifica del 9/7/2018
		--V FRANCHIGIA CC
--		CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE <  CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT)
--			THEN 0
--			ELSE PATRIMONIO_BF.CTV_NOMINALE
--		END AS CtvNominale,
		case when (sum(PATRIMONIO_BF.CTV_NOMINALE)	- CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV_NOMINALE)	- CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT)
			else 0.0001 end AS CtvNominale ,
--		CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND  PATRIMONIO_BF.CTV <  CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT)
--			THEN 0
--			ELSE PATRIMONIO_BF.CTV
--		END AS CtvReale
		case when (sum(PATRIMONIO_BF.CTV)	-CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then	sum(PATRIMONIO_BF.CTV)	-CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT)
		else 0.0001 end AS CtvReale 
FROM c6martperiodico.PATRIMONIO_BF
	INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI
		ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE
		AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE
	INNER JOIN c6martperiodico.ANAG_PRODOTTI 
		ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO
	WHERE PATRIMONIO_BF.TIPO_PRODOTTO  IN ('CC')
group by 
	PATRIMONIO_BF.rete,
	PATRIMONIO_BF.cod_fiscale,
	CASE ISNULL(ANAG_PRODOTTI.COD_ADEGUATEZZA, '') --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$'
			WHEN '' THEN ANAG_PRODOTTI.COD_ISIN
			ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA
	END,
	PATRIMONIO_BF.COD_INTERNO,
	PATRIMONIO_BF.COD_MAF,
	PATRIMONIO_BF.COD_SOTTOPRODOTTO,
	CASE
--			WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN 
--				'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID	
--		
			WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN 
				'COMPLESSIVO|BF|CC'-- + PATRIMONIO_BF.POSITION_ID
			WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN 
				'COMPLESSIVO|BF|CC'
--			ELSE
--				'COMPLESSIVO|BF|' + 
--				LEFT(PATRIMONIO_BF.ID_AREA,3) + 
--				CASE 
--					WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO 
--					ELSE '' 
--				END + '|' + PATRIMONIO_BF.POSITION_ID	
		END