PDC_REPORT_CreazioneDB/sql/storedCollaudo/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20180119.sql
2025-06-06 19:02:52 +02:00

110 lines
3.9 KiB
SQL

-- Schema: C6MartPeriodico
-- Stored Procedure: PL_S172ProtezioneCapitaleAreeBisogno_20180119
CREATE procedure [C6MartPeriodico].[PL_S172ProtezioneCapitaleAreeBisogno_20180119]
-- Add the parameters for the stored procedure here
@Rete char(1),
@CodiceFiscale varchar(16)
AS
BEGIN
SELECT -- PER DIVERSI DA CC ************************
case
-- modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci
--when (Isin = 'LU1106988527' and cod_interno in ('L191', 'RS', 'RM', 'RB', 'RV')) then 'INTERFUND 80' -- INTERFUND 80
when (Isin = 'LU1106988527' ) then 'INTERFUND 80' -- INTERFUND 80
-- fine modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci
when (tipo_prodotto = 'fi' and cod_sottoprodotto = 'f43' and cod_interno = '01') then 'FONDITALIA 80' -- FONDITALIA 80
when (cod_sottoprodotto = 'cs80') then 'My Blue Protection 80'
when (cod_sottoprodotto = 'ct80') then 'My White Protection 80'
when (cod_interno = 'rf') then 'Linea Multiramo'
else ''
end as nomeprod,
RETE AS RETE,
cod_fiscale AS COD_FISCALE,
POSITION_ID AS POSITIONID,
SUBSTRING(POSITION_ID,1,57) AS COD_PRODOTTO,
ID_CONTRATTO AS ID_CONTRATTO,
CASE WHEN ISDATE(data_sottoscrizione) = 0 THEN NULL
ELSE CAST(CAST(data_sottoscrizione AS VARCHAR(8)) AS DATETIME)
END AS DATA_SOTTOSCRIZIONE,
null AS COD_STATO,
NUM_POLIZZA AS NUM_POLIZZA,
COD_MAF AS COD_MAF,
COD_INTERNO AS COD_INTERNO,
COD_SOTTOPRODOTTO AS COD_SOTTOPRODOTTO,
TIPO_PRODOTTO AS TIPO_PRODOTTO,
id_area AS ID_AREA,
CTV AS ctv,
ISIN,
--CON.chiaveClientePB,
REND_NON_RAPPR,
ORDINAMENTO_PROGETTO AS ORDINAMENTO_PROGETTO,
ORIZZ_TEMP_NUM,
--CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE,
CHIAVE_PROGETTO,
convert(decimal(12,2),0) as controvalore_protetto
INTO #PATR_BF
from c6martperiodico.patrimonio_bf
WHERE
cod_fiscale = @CodiceFiscale
and rete = @rete
and
(
-- modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci
--(Isin = 'LU1106988527' and cod_interno in ('L191', 'RS', 'RM', 'RB', 'RV')) -- INTERFUND 80/CAPPROT
(Isin = 'LU1106988527' ) -- INTERFUND 80/CAPPROT
-- fine modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci
or
(tipo_prodotto = 'fi' -- FONDITALIA 80/FOI80
and cod_sottoprodotto = 'f43'
and cod_interno = '01')
or
cod_sottoprodotto in ('cs80', 'ct80') -- myblue, mywhite
or
(cod_interno = 'RF') -- LINEA MULTIRAMO PROTETTA CODPROD=RF/SUBPROD=MP
)
--------------------------------------- calcolo il capitale protetto per ogni prodotto della linea CS80/CT80
update p
set controvalore_protetto = (fvi.[controvalore_prot] * (p.ctv/fvi.somma_ctv))
from #PATR_BF p
inner join
C6MartPeriodico.capprot_fvi as fvi
on p.rete = fvi.rete and p.cod_fiscale=fvi.codfis and p.id_contratto = fvi.cod_conf and p.cod_sottoprodotto = fvi.subprod
where
p.cod_interno = 'RS' and p.cod_sottoprodotto in ('CS80','CT80')
-------------------------------------- aggiorno il capitale protetto dell'Interfund Crescita protetta 80
UPDATE patrimonio
set patrimonio.controvalore_protetto = capprot.controvalore_prot
from #PATR_BF as patrimonio
inner join
C6MartPeriodico.CAPPROT as capprot
on patrimonio.rete = capprot.rete and patrimonio.cod_fiscale=capprot.codfis
where patrimonio.id_contratto = capprot.cod_conf
----------------------------------------- aggiorno il capitale protetto del Fonditalia Crescita protetta 80
UPDATE patrimonio
set patrimonio.controvalore_protetto = foi.ctrvimpprot
from #PATR_BF as patrimonio
inner join
C6MartPeriodico.FOI80 as foi
on patrimonio.rete = foi.rete and patrimonio.cod_fiscale=foi.codfis
where pat