﻿--modificata per i cc in liq Marianna & Valerio
CREATE VIEW [C6MartPeriodico].[vTuttiIPortafogli_asu2]
AS
SELECT
		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 
					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										AS CodiceProdotto,
		''										AS Piazza,
		''										AS CodiceValuta,
		''										AS Classe,
		--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.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 
					'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 
						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,
			''										AS Piazza,
			''										AS CodiceValuta,
			''										AS Classe,
			--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.vContrattiPerGenerazioneReport VCONTRATTIPERSEI
			ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE
			AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE
		INNER JOIN C6MART.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 
				'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 
					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
	-- PATRIMONIO TERZI
	SELECT 
		INTERMEDIARIO.RETE					AS Rete,
		INTERMEDIARIO.CODICEFISCALE			AS CodiceFiscale,
		INTERMEDIARIO.PORTAFOGLIO			AS Portafoglio,
		INTERMEDIARIO.CODICEADEGUATEZZA		AS CodiceProdotto,
		INTERMEDIARIO.PIAZZA				AS Piazza,
		INTERMEDIARIO.CODICEVALUTA			AS CodiceValuta,
		INTERMEDIARIO.CLASSE				AS Classe,
		INTERMEDIARIO.CONTROVALORE			AS CtvNominale,
		INTERMEDIARIO.CONTROVALORE			AS CtvReale
	FROM c6martperiodico.VPROMETEIATERZIINTERMEDIARIO INTERMEDIARIO
	INNER JOIN c6martperiodico.vContrattiPerGenerazioneReport  VCONTRATTIPERSEI
		ON VCONTRATTIPERSEI.RETE = INTERMEDIARIO.RETE
		AND VCONTRATTIPERSEI.COD_FISCALE = INTERMEDIARIO.CODICEFISCALE
	UNION ALL 
	-- PATRIMONIO TERZI X TIPO PRODOTTO
	SELECT 
		CATEGORIAPRODOTTO.RETE				AS Rete,
		CATEGORIAPRODOTTO.CODICEFISCALE		AS CodiceFiscale,
		CATEGORIAPRODOTTO.PORTAFOGLIO		AS Portafoglio,
		CATEGORIAPRODOTTO.CODICEADEGUATEZZA	AS CodiceProdotto,
		CATEGORIAPRODOTTO.PIAZZA			AS Piazza,
		CATEGORIAPRODOTTO.CODICEVALUTA		AS CodiceValuta,
		CATEGORIAPRODOTTO.CLASSE			AS Classe,
		CATEGORIAPRODOTTO.CONTROVALORE		AS CtvNominale,
		CATEGORIAPRODOTTO.CONTROVALORE		AS CtvReale
	FROM c6martperiodico.VPROMETEIATERZICATEGORIAPRODOTTO CATEGORIAPRODOTTO
	INNER JOIN c6martperiodico.vContrattiPerGenerazioneReport VCONTRATTIPERSEI 
		ON VCONTRATTIPERSEI.RETE = CATEGORIAPRODOTTO.RETE
		AND VCONTRATTIPERSEI.COD_FISCALE = CATEGORIAPRODOTTO.CODICEFISCALE
--V Conti correnti Fideuram
union all
SELECT
		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,
		''										AS Piazza,
		''										AS CodiceValuta,
		''										AS Classe,
		--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.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 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 = '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