PDC_REPORT_CreazioneDB/sql/Produzione/procedure/C6MartPeriodico_PL_S76PatrimonioNonRappresentabileAssettClass.sql
2025-06-10 15:29:00 +02:00

364 lines
12 KiB
Transact-SQL

-- =============================================
-- Author: Luca De Lisio
-- Create date: 04/12/2008
-- Description: <Description,,>
-- =============================================
--[C6MartPeriodico].[PL_S76PatrimonioNonRappresentabileAssettClass] 'F','GSPNGL31C04B157Q'
CREATE procedure [C6MartPeriodico].[PL_S76PatrimonioNonRappresentabileAssettClass] --'S','GLLLCN29H16I829A'
-- Add the parameters for the stored procedure here
@Rete char(1),
@CodiceFiscale varchar(16)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
DECLARE @NOMERETE VARCHAR(20)
IF @RETE = 'F'
SET @NOMERETE = 'Fideuram'
ELSE IF @RETE = 'S'
SET @NOMERETE = 'Sanpaolo Invest'
ELSE SET @NOMERETE = 'IW Private Investments'
SELECT
PATRBF.ID_CONTRATTO as Contratto,
dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione,
ANAGP.DESCR_PRODOTTO AS Descrizione,
PATRBF.CTV as Controvalore,
PATRBF.CTV as controvalore_contratto,
PATRBF.PARTVIA_DISINV as PartitaViaggiante,
@NOMERETE as Intermediario,
-- savingmap - Novembre 2019
patrbf.tipo_prodotto as Tipo_Prodotto,
NULL as isAPC
FROM
C6MartPeriodico.PATRIMONIO_BF PATRBF
INNER JOIN
C6MartPeriodico.ANAG_PRODOTTI ANAGP
ON
PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO
LEFT OUTER JOIN
C6MartPeriodico.ASSET_PERC ASSETPERC
ON
PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO
AND ASSETPERC.LIVELLO = 1
WHERE 1 = 1
AND PATRBF.RETE = @Rete
AND PATRBF.COD_FISCALE = @CodiceFiscale
AND PATRBF.TIPO_PRODOTTO <> 'ASUL'
AND ASSETPERC.COD_PRODOTTO IS NULL
--INIZIO INTERVENTI OMNIA
AND PATRBF.CTV <>0.00
--INIZIO INTERVENTI OMNIA
UNION ALL
SELECT
PATRBF.ID_CONTRATTO as Contratto,
-- CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END as Area,
-- CASE
-- WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre'
-- ELSE area.ID_AREA end as NEEDAREA,
-- PATRBF.NOME_PROGETTO as Progetto,
dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione,
ANAGP.DESCR_PRODOTTO AS Descrizione,
sum(ASUL.CTV) as Controvalore,
sum(ASUL.CTV) as controvalore_contratto,
Max(PATRBF.PARTVIA_DISINV) as PartitaViaggiante,
@NOMERETE as Intermediario,
-- savingmap - Novembre 2019
patrbf.tipo_prodotto as Tipo_Prodotto,
NULL as isAPC
FROM
C6MartPeriodico.PATRIMONIO_BF PATRBF
INNER JOIN
C6MartPeriodico.AREA_BISOGNO AREA
ON
PATRBF.ID_AREA = AREA.ID_AREA
INNER JOIN
C6MartPeriodico.ANAG_PRODOTTI ANAGP
ON
PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO
INNER JOIN
C6MartPeriodico.DETTAGLIO_ASUL ASUL
ON
PATRBF.RETE = ASUL.RETE
AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE
AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO
left JOIN
C6MartPeriodico.ASSET_PERC ASSETPERC
ON
(
ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO
---no SKANDIA
AND ASUL.COD_ISIN_SOTT = ''
AND ASSETPERC.LIVELLO = 1
)
or
( --SKANDIA
ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT
AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT
AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO
AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO
AND ASSETPERC.LIVELLO = 1
)
WHERE
ASSETPERC.COD_PRODOTTO IS NULL
AND PATRBF.TIPO_PRODOTTO = 'ASUL'
AND PATRBF.RETE = @Rete
AND PATRBF.COD_FISCALE = @CodiceFiscale
GROUP BY
PATRBF.ID_CONTRATTO,
CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END,
CASE
WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre'
ELSE area.ID_AREA end,
PATRBF.NOME_PROGETTO,
dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE),
ANAGP.DESCR_PRODOTTO,
-- savingmap - Novembre 2019
patrbf.tipo_prodotto
--union all
--SELECT
-- PATRBF.ID_CONTRATTO as Contratto,
-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione,
-- ANAGP.DESCR_PRODOTTO AS Descrizione,
-- SUM(ASUL.CTV) as Controvalore,
-- MAX(PATRBF.CTV) as controvalore_contratto,
-- SUM(PATRBF.PARTVIA_DISINV) as PartitaViaggiante,
-- @NOMERETE as Intermediario
-- FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF
-- INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAGP
-- ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO
-- INNER JOIN C6MARTPERIODICO.DETTAGLIO_ASUL ASUL
-- ON PATRBF.RETE = ASUL.RETE
-- AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE
-- AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO
-- LEFT OUTER JOIN C6MARTPERIODICO.ASSET_PERC ASSETPERC
-- ON ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO
-- AND ASSETPERC.LIVELLO = 1
-- WHERE 1 = 1
-- AND PATRBF.RETE = @Rete
-- AND PATRBF.COD_FISCALE = @CodiceFiscale
-- AND PATRBF.TIPO_PRODOTTO = 'ASUL'
-- AND ASSETPERC.COD_PRODOTTO IS NULL
-- GROUP BY
-- PATRBF.ID_CONTRATTO,
-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) ,
-- ANAGP.DESCR_PRODOTTO
-- ORDER BY CONTROVALORE DESC
--
--
-- UNION ALL
--
-- SELECT
-- PATRBF.ID_CONTRATTO as Contratto,
-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione,
-- ANAGP.DESCR_PRODOTTO AS Descrizione,
-- ASUL.CTV as Controvalore,
-- PATRBF.CTV as controvalore_contratto,
-- PATRBF.PARTVIA_DISINV as PartitaViaggiante,
-- @NOMERETE as Intermediario
-- FROM
-- C6MartPeriodico.PATRIMONIO_BF PATRBF
-- INNER JOIN
-- C6MartPeriodico.ANAG_PRODOTTI ANAGP
-- ON
-- PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO
-- INNER JOIN
-- C6MartPeriodico.DETTAGLIO_ASUL ASUL
-- ON
-- PATRBF.RETE = ASUL.RETE
-- AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE
-- AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO
-- LEFT OUTER JOIN
-- C6MartPeriodico.ASSET_PERC ASSETPERC
-- ON
-- ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO
-- AND ASSETPERC.LIVELLO = 1
-- WHERE 1 = 1
-- AND PATRBF.RETE = @Rete
-- AND PATRBF.COD_FISCALE = @CodiceFiscale
-- AND PATRBF.TIPO_PRODOTTO = 'ASUL'
-- AND ASSETPERC.COD_PRODOTTO IS NULL
END
--USE [C6StampeCentralizzate]
--GO
--/****** Object: StoredProcedure [C6MartPeriodico].[PL_S76PatrimonioNonRappresentabileAssettClass] Script Date: 10/02/2022 16:34:12 ******/
--SET ANSI_NULLS ON
--GO
--SET QUOTED_IDENTIFIER ON
--GO
---- =============================================
---- Author: Luca De Lisio
---- Create date: 04/12/2008
---- Description: <Description,,>
---- =============================================
----[C6MartPeriodico].[PL_S76PatrimonioNonRappresentabileAssettClass] 'F','GSPNGL31C04B157Q'
--ALTER procedure [C6MartPeriodico].[PL_S76PatrimonioNonRappresentabileAssettClass]
-- -- Add the parameters for the stored procedure here
-- @Rete char(1),
-- @CodiceFiscale varchar(16)
--AS
--BEGIN
-- -- SET NOCOUNT ON added to prevent extra result sets from
-- -- interfering with SELECT statements.
-- DECLARE @NOMERETE VARCHAR(20)
-- IF @RETE = 'F'
-- SET @NOMERETE = 'Fideuram'
-- ELSE
-- SET @NOMERETE = 'Sanpaolo Invest'
-- SELECT
-- PATRBF.ID_CONTRATTO as Contratto,
-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione,
-- ANAGP.DESCR_PRODOTTO AS Descrizione,
-- PATRBF.CTV as Controvalore,
-- PATRBF.CTV as controvalore_contratto,
-- PATRBF.PARTVIA_DISINV as PartitaViaggiante,
-- @NOMERETE as Intermediario,
-- -- savingmap - Novembre 2019
-- patrbf.tipo_prodotto as Tipo_Prodotto
-- FROM
-- C6MartPeriodico.PATRIMONIO_BF PATRBF
-- INNER JOIN
-- C6MartPeriodico.ANAG_PRODOTTI ANAGP
-- ON
-- PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO
-- LEFT OUTER JOIN
-- C6MartPeriodico.ASSET_PERC ASSETPERC
-- ON
-- PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO
-- AND ASSETPERC.LIVELLO = 1
-- WHERE 1 = 1
-- AND PATRBF.RETE = @Rete
-- AND PATRBF.COD_FISCALE = @CodiceFiscale
-- AND PATRBF.TIPO_PRODOTTO <> 'ASUL'
-- AND ASSETPERC.COD_PRODOTTO IS NULL
-- --INIZIO INTERVENTI OMNIA
-- AND PATRBF.CTV <> 0.00
----INIZIO INTERVENTI OMNIA
--UNION ALL
--SELECT
-- PATRBF.ID_CONTRATTO as Contratto,
-- -- CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END as Area,
---- CASE
---- WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre'
---- ELSE area.ID_AREA end as NEEDAREA,
---- PATRBF.NOME_PROGETTO as Progetto,
-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione,
-- ANAGP.DESCR_PRODOTTO AS Descrizione,
-- sum(ASUL.CTV) as Controvalore,
-- sum(ASUL.CTV) as controvalore_contratto,
-- Max(PATRBF.PARTVIA_DISINV) as PartitaViaggiante,
-- @NOMERETE as Intermediario,
-- -- savingmap - Novembre 2019
-- patrbf.tipo_prodotto as Tipo_Prodotto
-- FROM
-- C6MartPeriodico.PATRIMONIO_BF PATRBF
-- INNER JOIN
-- C6MartPeriodico.AREA_BISOGNO AREA
-- ON
-- PATRBF.ID_AREA = AREA.ID_AREA
-- INNER JOIN
-- C6MartPeriodico.ANAG_PRODOTTI ANAGP
-- ON
-- PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO
-- INNER JOIN
-- C6MartPeriodico.DETTAGLIO_ASUL ASUL
-- ON
-- PATRBF.RETE = ASUL.RETE
-- AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE
-- AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO
-- left JOIN
-- C6MartPeriodico.ASSET_PERC ASSETPERC
-- ON
-- (
-- ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO
-- ---no SKANDIA
-- AND ASUL.COD_ISIN_SOTT = ''
-- AND ASSETPERC.LIVELLO = 1
-- )
-- or
-- ( --SKANDIA
-- ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT
-- AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT
-- AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO
-- AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO
-- AND ASSETPERC.LIVELLO = 1
-- )
-- WHERE
-- ASSETPERC.COD_PRODOTTO IS NULL
-- AND PATRBF.TIPO_PRODOTTO = 'ASUL'
-- AND PATRBF.RETE = @Rete
-- AND PATRBF.COD_FISCALE = @CodiceFiscale
-- GROUP BY
-- PATRBF.ID_CONTRATTO,
-- CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END,
-- CASE
-- WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre'
-- ELSE area.ID_AREA end,
-- PATRBF.NOME_PROGETTO,
-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE),
-- ANAGP.DESCR_PRODOTTO,
-- -- savingmap - Novembre 2019
-- patrbf.tipo_prodotto
----union all
----SELECT
---- PATRBF.ID_CONTRATTO as Contratto,
---- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione,
---- ANAGP.DESCR_PRODOTTO AS Descrizione,
---- SUM(ASUL.CTV) as Controvalore,
---- MAX(PATRBF.CTV) as controvalore_contratto,
---- SUM(PATRBF.PARTVIA_DISINV) as PartitaViaggiante,
---- @NOMERETE as Intermediario
---- FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF
---- INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAGP
---- ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO
---- INNER JOIN C6MARTPERIODICO.DETTAGLIO_ASUL ASUL
---- ON PATRBF.RETE = ASUL.RETE
---- AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE
---- AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO
---- LEFT OUTER JOIN C6MARTPERIODICO.ASSET_PERC ASSETPERC
---- ON ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO
---- AND ASSETPERC.LIVELLO = 1
---- WHERE 1 = 1
---- AND PATRBF.RETE = @Rete
---- AND PATRBF.COD_FISCALE = @CodiceFiscale
---- AND PATRBF.TIPO_PRODOTTO = 'ASUL'
---- AND ASSETPERC.COD_PRODOTTO IS NULL
---- GROUP BY
---- PATRBF.ID_CONTRATTO,
---- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) ,
---- ANAGP.DESCR_PRODOTTO
---- ORDER BY CONTROVALORE DESC
----
----
---- UNION ALL
----
---- SELECT
---- PATRBF.ID_CONTRATTO as Contratto,
---- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione,
---- ANAGP.DESCR_PRODOTTO AS Descrizione,
---- ASUL.CTV as Controvalore,
---- PATRBF.CTV as controvalore_contratto,
---- PATRBF.PARTVIA_DISINV as PartitaViaggiante,
---- @NOMERETE as Intermediario
---- FROM
---- C6MartPeriodico.PATRIMONIO_BF PATRBF
---- INNER JOIN
---- C6MartPeriodico.ANAG_PRODOTTI ANAGP
---- ON
---- PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO
---- INNER JOIN
---- C6MartPeriodico.DETTAGLIO_ASUL ASUL
---- ON
---- PATRBF.RETE = ASUL.RETE
---- AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE
---- AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO
---- LEFT OUTER JOIN
---- C6MartPeriodico.ASSET_PERC ASSETPERC
---- ON
---- ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO
---- AND ASSETPERC.LIVELLO = 1
---- WHERE 1 = 1
---- AND PATRBF.RETE = @Rete
---- AND PATRBF.COD_FISCALE = @CodiceFiscale
---- AND PATRBF.TIPO_PRODOTTO = 'ASUL'
---- AND ASSETPERC.COD_PRODOTTO IS NULL
--END