PDC_REPORT_CreazioneDB/sql/Produzione/viste/C6Mart_vTuttiIPortafogli_old.sql
2025-06-10 16:47:41 +02:00

184 lines
7.3 KiB
SQL

CREATE VIEW [C6Mart].[vTuttiIPortafogli_old]
AS
SELECT
PATRIMONIO_BF.RETE AS Rete,
PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale,
CASE
WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN
'COMPLESSIVO|BF|RISFIN|NA|' + PATRIMONIO_BF.POSITION_ID
WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN
'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID
ELSE
'COMPLESSIVO|BF|RISFIN|' +
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,
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 C6Mart.PATRIMONIO_BF
INNER JOIN C6MART.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
WHERE PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC')
-- levato 'cc'
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|RISFIN|NA|' + PATRIMONIO_BF.POSITION_ID
WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN
'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID
ELSE
'COMPLESSIVO|BF|RISFIN|' +
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 C6Mart.PATRIMONIO_BF
INNER JOIN C6MART.DETTAGLIO_ASUL
ON DETTAGLIO_ASUL.ID_CONTRATTO = PATRIMONIO_BF.ID_CONTRATTO
INNER JOIN C6MART.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 C6MART.VPROMETEIATERZIINTERMEDIARIO INTERMEDIARIO
INNER JOIN C6MART.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 C6MART.VPROMETEIATERZICATEGORIAPRODOTTO CATEGORIAPRODOTTO
INNER JOIN C6MART.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|RISFIN|NA|' + PATRIMONIO_BF.POSITION_ID
WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN
'COMPLESSIVO|BF|CC'-- + PATRIMONIO_BF.POSITION_ID
ELSE
'COMPLESSIVO|BF|RISFIN|' +
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,
sum(PATRIMONIO_BF.CTV_NOMINALE) - CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) 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
sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT) AS CtvReale
FROM C6Mart.PATRIMONIO_BF
INNER JOIN C6MART.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
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|RISFIN|NA|' + PATRIMONIO_BF.POSITION_ID
WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN
'COMPLESSIVO|BF|CC'
ELSE
'COMPLESSIVO|BF|RISFIN|' +
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