﻿-- View
-- View
--modificata per i cc in liq Marianna & Valerio
CREATE VIEW [C6MartPeriodico].[vTuttiIPortafogli_ccLiq]
AS
SELECT
		PATRIMONIO_BF.RETE						AS Rete,
		PATRIMONIO_BF.COD_FISCALE				AS CodiceFiscale,
		CASE
			WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN 
				'RISFIN|NA|' + PATRIMONIO_BF.POSITION_ID	
			ELSE
				'RISFIN|PIRAMIDE|' + 
				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_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$'
			WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN
			ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA
		END										AS CodiceProdotto,
		''										AS Piazza,
		''										AS CodiceValuta,
		''										AS Classe,
     PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale,
		PATRIMONIO_BF.CTV						AS CtvReale
	FROM c6martperiodico.PATRIMONIO_BF
	INNER JOIN c6martperiodico.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 NOT IN ('ASUL','CC','ASU2')
	UNION ALL
	---V Modifica per calcolo VaR prodotti ASU2
		SELECT
			PATRIMONIO_BF.RETE						AS Rete,
			PATRIMONIO_BF.COD_FISCALE				AS CodiceFiscale,
			CASE
				WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN 
					'RISFIN|NA|' + PATRIMONIO_BF.POSITION_ID	
				ELSE
					'RISFIN|PIRAMIDE|' + 
					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,
		 PATRIMONIO_BF.ISIN AS CodiceProdotto,
			''										AS Piazza,
			''										AS CodiceValuta,
			''										AS Classe,
		 PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale,
		 PATRIMONIO_BF.CTV						AS CtvReale
		FROM C6Martperiodico.PATRIMONIO_BF
		INNER JOIN C6Martperiodico.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 
		PATRIMONIO_BF.RETE						AS Rete,
		PATRIMONIO_BF.COD_FISCALE				AS CodiceFiscale,
		CASE
			WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN 
				'RISFIN|NA|' + PATRIMONIO_BF.POSITION_ID	
			ELSE
				'RISFIN|PIRAMIDE|' + 
				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 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,
		''										AS Piazza,
		''										AS CodiceValuta,
		''										AS Classe,
		DETTAGLIO_ASUL.CTV						AS CtvNominale,
		DETTAGLIO_ASUL.CTV						AS CtvReale
	FROM c6martperiodico.PATRIMONIO_BF
	INNER JOIN c6martperiodico.DETTAGLIO_ASUL 
		ON DETTAGLIO_ASUL.ID_CONTRATTO = PATRIMONIO_BF.ID_CONTRATTO
	INNER JOIN c6martperiodico.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
SELECT
		PATRIMONIO_BF.RETE						AS Rete,
		PATRIMONIO_BF.COD_FISCALE				AS CodiceFiscale,
		CASE
			WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN 
				'RISFIN|PIRAMIDE|Liq'+ '|Cc|'--V TOGLIERE + PATRIMONIO_BF.POSITION_ID
		END										AS Portafoglio,
		'EUR' AS CodiceProdotto,
		''										AS Piazza,
		''										AS CodiceValuta,
		''										AS Classe,
		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 ,
		--PATRIMONIO_BF.CTV_NOMINALE,
		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 
		--PATRIMONIO_BF.CTV
FROM c6martperiodico.PATRIMONIO_BF
	INNER JOIN c6martperiodico.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') and patrimonio_bf.ctv>0
group by 
	PATRIMONIO_BF.rete,
	PATRIMONIO_BF.cod_fiscale,
	CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$'
			WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN
			ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA
	END,
	CASE
			WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN 
				'RISFIN|PIRAMIDE|Liq'+ '|Cc|' --V TOGLIEREEEEEE + PATRIMONIO_BF.POSITION_ID
		END