PDC_REPORT_CreazioneDB/sql/storedCollaudo/C6MartPeriodicoImmobiliare_PL_S76AlternativaPatrimonioNonRappresentabileAssettClass.sql
2025-06-09 17:09:11 +02:00

116 lines
3.8 KiB
Transact-SQL

--[C6MartPeriodicoImmobiliare].[PL_S76AlternativaPatrimonioNonRappresentabileAssettClass] 's','FLLGRG54H28A479K'
CREATE procedure [C6MartPeriodicoImmobiliare].[PL_S76AlternativaPatrimonioNonRappresentabileAssettClass]
-- 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,
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,
patrbf.chiave_progetto as ord_progetto,
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
--patrbf.ordinamento_progetto
FROM
C6MartPeriodicoImmobiliare.PATRIMONIO_BF PATRBF
INNER JOIN
C6MartPeriodicoImmobiliare.AREA_BISOGNO AREA
ON
PATRBF.ID_AREA = AREA.ID_AREA
INNER JOIN
C6MartPeriodicoImmobiliare.ANAG_PRODOTTI ANAGP
ON
PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO
LEFT OUTER JOIN
C6MartPeriodicoImmobiliare.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
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,
patrbf.chiave_progetto as ord_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
--patrbf.ordinamento_progetto
FROM
C6MartPeriodicoImmobiliare.PATRIMONIO_BF PATRBF
INNER JOIN
C6MartPeriodicoImmobiliare.AREA_BISOGNO AREA
ON
PATRBF.ID_AREA = AREA.ID_AREA
INNER JOIN
C6MartPeriodicoImmobiliare.ANAG_PRODOTTI ANAGP
ON
PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO
INNER JOIN
C6MartPeriodicoImmobiliare.DETTAGLIO_ASUL ASUL
ON
PATRBF.RETE = ASUL.RETE
AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE
AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO
left JOIN
C6MartPeriodicoImmobiliare.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,
patrbf.chiave_progetto,
dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE),
ANAGP.DESCR_PRODOTTO
END