PDC_REPORT_CreazioneDB/sql/Collaudo/viste/C6MartPeriodicoImmobiliare_RP_vTuttiIPortafogli.sql
2025-06-10 15:29:00 +02:00

263 lines
11 KiB
SQL

--select top 1 * from C6MartPeriodicoImmobiliare.anag_prodotti
--modificata per i cc in liq Marianna & Valerio
--Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014)
CREATE VIEW [C6MartPeriodicoImmobiliare].[RP_vTuttiIPortafogli]
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,
'' 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,
--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 C6MartPeriodicoImmobiliare.PATRIMONIO_BF
INNER JOIN C6MartPeriodicoImmobiliare.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI
ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE
AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE
INNER JOIN C6MartPeriodicoImmobiliare.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,
'' 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 C6MartPeriodicoImmobiliare.PATRIMONIO_BF
INNER JOIN C6MartPeriodicoImmobiliare.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI
ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE
AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE
INNER JOIN C6MartPeriodicoImmobiliare.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,
'' AS Piazza,
'' AS CodiceValuta,
'' AS Classe,
DETTAGLIO_ASUL.CTV AS CtvNominale,
DETTAGLIO_ASUL.CTV AS CtvReale
FROM C6MartPeriodicoImmobiliare.PATRIMONIO_BF
INNER JOIN C6MartPeriodicoImmobiliare.ANAG_PRODOTTI ANAG_PRODOTTI
ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO
INNER JOIN C6MartPeriodicoImmobiliare.DETTAGLIO_ASUL
ON DETTAGLIO_ASUL.ID_CONTRATTO = PATRIMONIO_BF.ID_CONTRATTO
INNER JOIN C6MartPeriodicoImmobiliare.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,
INTERMEDIARIO.PIAZZA AS Piazza,
INTERMEDIARIO.CODICEVALUTA AS CodiceValuta,
INTERMEDIARIO.CLASSE AS Classe,
INTERMEDIARIO.CONTROVALORE AS CtvNominale,
INTERMEDIARIO.CONTROVALORE AS CtvReale
FROM C6MartPeriodicoImmobiliare.RP_VPROMETEIATERZIINTERMEDIARIO INTERMEDIARIO
INNER JOIN C6MartPeriodicoImmobiliare.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,
CATEGORIAPRODOTTO.PIAZZA AS Piazza,
CATEGORIAPRODOTTO.CODICEVALUTA AS CodiceValuta,
CATEGORIAPRODOTTO.CLASSE AS Classe,
CATEGORIAPRODOTTO.CONTROVALORE AS CtvNominale,
CATEGORIAPRODOTTO.CONTROVALORE AS CtvReale
FROM C6MartPeriodicoImmobiliare.RP_VPROMETEIATERZICATEGORIAPRODOTTO CATEGORIAPRODOTTO
INNER JOIN C6MartPeriodicoImmobiliare.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,
'' 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 sum(PATRIMONIO_BF.CTV_NOMINALE) end AS CtvNominale , --0505020 tolto 0.0001 per anomalie Levi
-- 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 sum(PATRIMONIO_BF.CTV_NOMINALE) end AS CtvReale --0505020 tolto 0.0001 per anomalie Levi
FROM C6MartPeriodicoImmobiliare.PATRIMONIO_BF
INNER JOIN C6MartPeriodicoImmobiliare.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI
ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE
AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE
INNER JOIN C6MartPeriodicoImmobiliare.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,
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