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

196 lines
7.9 KiB
SQL

-- View
--modificata per i cc in liq Marianna
CREATE VIEW [C6Mart].[vTuttiIPortafogli_preSKANDIA]
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 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|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 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|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 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 end 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|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