167 lines
6.5 KiB
SQL
167 lines
6.5 KiB
SQL
--[C6MartPeriodico].[PL_S172ProtezioneCapitaleAreeBisogno] 'f', '01913040406'
|
|
CREATE procedure [C6MartPeriodico].[PL_S172ProtezioneCapitaleAreeBisogno]
|
|
-- 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(data_sottoscrizione 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,
|
|
--fix 17/7/2019 per problemi di arrotondamento
|
|
--convert(decimal(12,2),0) as controvalore_protetto
|
|
convert(decimal(12,4),0) as controvalore_protetto
|
|
--fine fix 17/7/2019 per problemi di arrotondamento
|
|
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
|
|
)
|
|
--aggiunta 20240509
|
|
and CTV>0.1
|
|
--------------------------------------- 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 patrimonio.id_contratto = foi.codconf
|
|
----------------------------------------- aggiorno il capitale protetto della linea multiramo protetta
|
|
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
|
|
where
|
|
p.cod_interno = 'RF'
|
|
------------------------------------------------------------------------raggruppo per area
|
|
-- modifica del 21/12/2017
|
|
--select id_area,round(sum(controvalore_protetto),0) as totCapProt
|
|
-- 20180717 Modificata per codificare Pre1 o Pre2 in Pre
|
|
--select id_area,sum(controvalore_protetto) as totCapProt
|
|
select
|
|
case
|
|
when id_area = 'Pre1' or id_area = 'Pre2' then 'Pre'
|
|
else id_area
|
|
end as id_area,
|
|
sum(controvalore_protetto) as totCapProt
|
|
--fine modifica del 20180717
|
|
-- fine modifica del 21/12/2017
|
|
into #capitaleProtetto
|
|
from #PATR_BF
|
|
--- modifica del 20/12/2017 per segnalazione qc
|
|
--where REND_NON_RAPPR = 0
|
|
--- fine modifica del 20/12/2017 per segnalazione qc
|
|
group by id_area
|
|
---------------------------------------------------------------
|
|
SELECT distinct [NeedArea]
|
|
,[AreaName]
|
|
,[PercentualeModello]
|
|
,[PercentualeAttuale]
|
|
,[ControvaloreAttuale]
|
|
,[ControvaloreModello]
|
|
,[Totale_Percentuale]
|
|
,[DifferenzaEuro]
|
|
,[DifferenzaPercentuale]
|
|
,[var_needarea]
|
|
,[var_needareaString]
|
|
,[copertura_needarea]
|
|
,[copertura_needareaString]
|
|
,[Nota]
|
|
,[somma_controvalAttuale]
|
|
,[somma_controvalModello]
|
|
,[somma_percentualeAttuale]
|
|
,[somma_percentualeModello]
|
|
,[var_tot]
|
|
,[var_totString]
|
|
,[var_tot_pir]
|
|
,[var_tot_pirString]
|
|
,[copertura_tot]
|
|
,[copertura_totString]
|
|
,[copertura_tot_pir]
|
|
,[copertura_tot_pirString]
|
|
,[VAR_RISFIN]
|
|
,[VAR_RISFINSTRING]
|
|
,[copertura_risfin]
|
|
,[copertura_risfinString]
|
|
,[ordinamento]
|
|
,case
|
|
when ISNULL(cap.totCapProt,0) = 0 then 0
|
|
--fix 17/7/2019 per problemi di arrotondamento
|
|
--else cap.totCapProt
|
|
else convert(decimal(12,2),cap.totCapProt)
|
|
--fine fix 17/7/2019 per problemi di arrotondamento
|
|
end as [capprot]
|
|
FROM [C6MartPeriodico].[TB_S133_S157DatiPiramide] pir
|
|
left join #capitaleProtetto cap
|
|
on pir.needarea = cap.id_area
|
|
WHERE [Rete] = @Rete
|
|
AND [CodiceFiscale] = @CodiceFiscale
|
|
order by ordinamento
|
|
END |