280 lines
10 KiB
Transact-SQL
280 lines
10 KiB
Transact-SQL
-- [C6MartPeriodico].[PL_D2_S170RischioDiversificazione] 'W','MLAMRA61P03G337F'
|
|
CREATE procedure [C6MartPeriodico].[PL_D2_FD170RischioDiversificazione]
|
|
-- Add the parameters for the stored procedure here
|
|
@Rete char(1),
|
|
@CodiceFiscale varchar(16)
|
|
AS
|
|
BEGIN
|
|
declare @contaCC as int
|
|
select @contaCC = count(*)
|
|
from c6martperiodico.patrimonio_Bf
|
|
where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete
|
|
declare @contaPOS as int
|
|
select @contaPOS = count(*)
|
|
from c6martperiodico.patrimonio_Bf
|
|
where cod_fiscale = @codiceFiscale and rete = @rete
|
|
declare @ctvbf as decimal(12,2)
|
|
SELECT @ctvbf = isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_bf
|
|
where cod_fiscale = @CodiceFiscale
|
|
and rete= @Rete
|
|
and CTV > 0
|
|
and id_area not in ('LIGHT', 'VOID')
|
|
-- modifica del 5/2/2019 per escludere i record del patr non rappresentabile (commentata ed eventualmente utilizzata ad hoc)
|
|
--and (rend_non_rappr = 0 or (id_area = 'Liq' and rend_non_rappr = 1))
|
|
--fine modifica del 5/2/2019
|
|
declare @ctvterzi as decimal (12,2)
|
|
SELECT @ctvterzi = isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_terzi
|
|
where cod_fiscale = @CodiceFiscale
|
|
and rete= @Rete
|
|
and CTV > 0
|
|
------------------------ MIFID2 - MAGGIO 2018
|
|
DECLARE @DataFineTrim VARCHAR(8)
|
|
SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0)
|
|
declare @maxComplessita as int
|
|
if @CodiceFiscale like '%FF@%'
|
|
select @maxComplessita = maxcompl from [C6StagingPeriodico].[WSEIAN2]
|
|
where
|
|
codman = substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3)
|
|
and rete= @Rete
|
|
and DTTRIM = @DataFineTrim
|
|
-- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata
|
|
-- and compl_base <> 10; commentata per MUA
|
|
else
|
|
select @maxComplessita = maxcompl from [C6StagingPeriodico].[WSEIAN2]
|
|
where
|
|
codfis= @CodiceFiscale
|
|
and rete= @Rete
|
|
and DTTRIM = @DataFineTrim
|
|
-- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata
|
|
-- and compl_base <> 10; commentata per MUA
|
|
SELECT
|
|
K.COD_FISCALE,
|
|
K.RETE,
|
|
CASE
|
|
when cod_Aggreg = 'COMPLESSIVO|BF' then @ctvbf
|
|
when cod_Aggreg = 'COMPLESSIVO|TERZI' then @ctvterzi
|
|
when cod_Aggreg = 'COMPLESSIVO' then @ctvbf + @ctvterzi
|
|
else 0
|
|
END AS CTV_AGGREG,
|
|
K.CREDITRISK,
|
|
CASE
|
|
WHEN (@contaPOS - @contacc = 0) THEN 0
|
|
ELSE VAR_PERC_PTF
|
|
END AS VAR,
|
|
CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND @contaPOS - @contacc <> 0 THEN 'n.c.' ELSE NULL END as varString,
|
|
CASE
|
|
WHEN (ISNULL(copertura,100) < 100) AND @contaPOS - @contacc <> 0
|
|
--THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%'
|
|
THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (6,2)) AS VARCHAR),'.',',') --+ '%'
|
|
ELSE null
|
|
END AS coperturaString,
|
|
-- modifica del 19/6/2018 - gestione indicatore per gli altri ptf del Diagnosi
|
|
beneficio as diversificazione,
|
|
--case
|
|
--when cod_Aggreg = 'COMPLESSIVO' then null
|
|
--when cod_Aggreg = 'COMPLESSIVO|BF' then beneficio
|
|
--when cod_Aggreg = 'COMPLESSIVO|TERZI' then null
|
|
--END AS diversificazione,
|
|
-- fine modifica del 19/6/2018
|
|
CASE
|
|
WHEN (@contaPOS - @contacc = 0) THEN 100
|
|
ELSE COPERTURA
|
|
END AS COPERTURA,
|
|
case
|
|
when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo'
|
|
when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' when k.rete = 'S' then 'Sanpaolo Invest' else 'IW Private Investments' end)
|
|
when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti'
|
|
ELSE ''
|
|
END AS PATRIMONIO,
|
|
case
|
|
when b.profilo is null then -1
|
|
else b.profilo
|
|
end as profiloCode,
|
|
isnull(b.max_var, 0) as var_profilo,
|
|
------------------------ MIFID2 - MAGGIO 2018
|
|
case @maxComplessita
|
|
when 0 then 'Non complesso'
|
|
when 1 then 'Bassa'
|
|
when 2 then 'Medio bassa'
|
|
when 3 then 'Medio alta'
|
|
when 4 then 'Alta'
|
|
else 'n.c.'
|
|
end
|
|
as complessita,
|
|
------------------------- FINE MIFID2 - MAGGIO 2018
|
|
--V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo
|
|
--V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi.
|
|
case
|
|
when cod_Aggreg = 'COMPLESSIVO' then 3
|
|
when cod_Aggreg = 'COMPLESSIVO|BF' then 1
|
|
when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2
|
|
ELSE ''
|
|
END AS Ordine
|
|
FROM
|
|
C6MARTperiodico.RISCHIO_AGGREGATO K left outer JOIN c6martperiodico.mifid a
|
|
ON k.cod_fiscale = a.cod_fiscale and
|
|
k.rete = a.rete
|
|
left outer join
|
|
C6Martperiodico.CODIFICA_RISCHIO b on
|
|
A.PROFILO_ASS=B.PROFILO
|
|
WHERE
|
|
--A.PROFILO_ASS=B.PROFILO
|
|
--AND K.RETE=A.RETE
|
|
--AND K.COD_FISCALE= A.COD_FISCALE
|
|
COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI')
|
|
AND k.COD_FISCALE = @COdiceFISCALE
|
|
AND k.RETE= @RETE
|
|
ORDER BY ordine
|
|
END
|
|
--USE [C6StampeCentralizzate]
|
|
--GO
|
|
--/****** Object: StoredProcedure [C6MartPeriodico].[PL_D2_S170RischioDiversificazione] Script Date: 09/02/2022 11:37:02 ******/
|
|
--SET ANSI_NULLS ON
|
|
--GO
|
|
--SET QUOTED_IDENTIFIER ON
|
|
--GO
|
|
---- [C6MartPeriodico].[PL_D2_S170RischioDiversificazione] 's','BRNGDI72S69L219Y'
|
|
--ALTER procedure [C6MartPeriodico].[PL_D2_S170RischioDiversificazione]
|
|
-- -- Add the parameters for the stored procedure here
|
|
-- @Rete char(1),
|
|
-- @CodiceFiscale varchar(16)
|
|
--AS
|
|
--BEGIN
|
|
-- declare @contaCC as int
|
|
-- select @contaCC = count(*)
|
|
-- from c6martperiodico.patrimonio_Bf
|
|
-- where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete
|
|
-- declare @contaPOS as int
|
|
-- select @contaPOS = count(*)
|
|
-- from c6martperiodico.patrimonio_Bf
|
|
-- where cod_fiscale = @codiceFiscale and rete = @rete
|
|
-- declare @ctvbf as decimal(12,2)
|
|
-- SELECT @ctvbf = isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_bf
|
|
-- where cod_fiscale = @CodiceFiscale
|
|
-- and rete= @Rete
|
|
-- and CTV > 0
|
|
-- and id_area not in ('LIGHT', 'VOID')
|
|
-- -- modifica del 5/2/2019 per escludere i record del patr non rappresentabile (commentata ed eventualmente utilizzata ad hoc)
|
|
-- --and (rend_non_rappr = 0 or (id_area = 'Liq' and rend_non_rappr = 1))
|
|
-- --fine modifica del 5/2/2019
|
|
-- declare @ctvterzi as decimal (12,2)
|
|
-- SELECT @ctvterzi = isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_terzi
|
|
-- where cod_fiscale = @CodiceFiscale
|
|
-- and rete= @Rete
|
|
-- and CTV > 0
|
|
-- ------------------------ MIFID2 - MAGGIO 2018
|
|
-- DECLARE @DataFineTrim VARCHAR(8)
|
|
-- SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0)
|
|
-- declare @maxComplessita as int
|
|
-- if @CodiceFiscale like '%FF@%'
|
|
-- select @maxComplessita = max(compl_base) from [C6StagingPeriodico].[WSEIAD2]
|
|
-- where
|
|
-- -- codfis like
|
|
-- -- CASE when @CodiceFiscale like '%FF@%'THEN '%%'
|
|
-- -- ELSE @CodiceFiscale
|
|
-- -- END
|
|
-- --and codman =
|
|
-- -- CASE when @CodiceFiscale like '%FF@%' THEN substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3)
|
|
-- -- ELSE ''
|
|
-- -- END
|
|
-- codman = substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3)
|
|
-- and rete= @Rete
|
|
-- and DTTRIM = @DataFineTrim
|
|
-- -- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata
|
|
-- and compl_base <> 10;
|
|
-- else
|
|
-- select @maxComplessita = max(compl_base) from [C6StagingPeriodico].[WSEIAD2]
|
|
-- where
|
|
-- -- codfis like
|
|
-- -- CASE when @CodiceFiscale like '%FF@%'THEN '%%'
|
|
-- -- ELSE @CodiceFiscale
|
|
-- -- END
|
|
-- --and codman =
|
|
-- -- CASE when @CodiceFiscale like '%FF@%' THEN substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3)
|
|
-- -- ELSE ''
|
|
-- -- END
|
|
-- codfis= @CodiceFiscale
|
|
-- and rete= @Rete
|
|
-- and DTTRIM = @DataFineTrim
|
|
-- -- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata
|
|
-- and compl_base <> 10;
|
|
--SELECT
|
|
--K.COD_FISCALE,
|
|
--K.RETE,
|
|
--CASE
|
|
-- when cod_Aggreg = 'COMPLESSIVO|BF' then @ctvbf
|
|
-- when cod_Aggreg = 'COMPLESSIVO|TERZI' then @ctvterzi
|
|
-- when cod_Aggreg = 'COMPLESSIVO' then @ctvbf + @ctvterzi
|
|
-- else 0
|
|
--END AS CTV_AGGREG,
|
|
--K.CREDITRISK,
|
|
--CASE
|
|
-- WHEN (@contaPOS - @contacc = 0) THEN 0
|
|
-- ELSE VAR_PERC_PTF
|
|
--END AS VAR,
|
|
--CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND @contaPOS - @contacc <> 0 THEN 'n.c.' ELSE NULL END as varString,
|
|
--CASE
|
|
-- WHEN (ISNULL(copertura,100) < 100) AND @contaPOS - @contacc <> 0
|
|
-- --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%'
|
|
-- THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%'
|
|
-- ELSE null
|
|
--END AS coperturaString,
|
|
---- modifica del 19/6/2018 - gestione indicatore per gli altri ptf del Diagnosi
|
|
--beneficio as diversificazione,
|
|
----case
|
|
----when cod_Aggreg = 'COMPLESSIVO' then null
|
|
----when cod_Aggreg = 'COMPLESSIVO|BF' then beneficio
|
|
----when cod_Aggreg = 'COMPLESSIVO|TERZI' then null
|
|
----END AS diversificazione,
|
|
---- fine modifica del 19/6/2018
|
|
--CASE
|
|
-- WHEN (@contaPOS - @contacc = 0) THEN 100
|
|
-- ELSE COPERTURA
|
|
--END AS COPERTURA,
|
|
--case
|
|
--when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo'
|
|
--when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' else 'Sanpaolo Invest' end)
|
|
--when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti'
|
|
--ELSE ''
|
|
--END AS PATRIMONIO,
|
|
--case
|
|
-- when b.profilo is null then -1
|
|
-- else b.profilo
|
|
--end as profiloCode,
|
|
--isnull(b.max_var, 0) as var_profilo,
|
|
-------------------------- MIFID2 - MAGGIO 2018
|
|
--case @maxComplessita
|
|
-- when 0 then '-'
|
|
-- when 1 then 'Minima'
|
|
-- when 2 then 'Bassa'
|
|
-- when 3 then 'Media'
|
|
-- when 4 then 'Alta'
|
|
-- when 5 then 'Molto alta'
|
|
-- else '-'
|
|
-- end
|
|
-- as complessita,
|
|
--------------------------- FINE MIFID2 - MAGGIO 2018
|
|
----V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo
|
|
----V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi.
|
|
--case
|
|
--when cod_Aggreg = 'COMPLESSIVO' then 3
|
|
--when cod_Aggreg = 'COMPLESSIVO|BF' then 1
|
|
--when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2
|
|
--ELSE ''
|
|
--END AS Ordine
|
|
--FROM
|
|
--C6MARTperiodico.RISCHIO_AGGREGATO K left outer JOIN c6martperiodico.mifid a
|
|
-- ON k.cod_fiscale = a.cod_fiscale and
|
|
-- k.rete = a.rete
|
|
-- left outer join
|
|
--C6Martperiodico.CODIFICA_RISCHIO b on
|
|
--A.PROFILO_ASS=B.PROFILO
|
|
--WHERE
|
|
----A.PROFILO_ASS=B.PROFILO
|
|
----AND K.RETE=A.RETE
|
|
----AND K.COD_FISCALE= A.COD_FISCALE
|
|
--COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI')
|
|
--AND k.COD_FISCALE = @COdiceFISCALE
|
|
--AND k.RETE= @RETE
|
|
--ORDER BY ordine
|
|
--END |