71 lines
2.3 KiB
Transact-SQL
71 lines
2.3 KiB
Transact-SQL
-- [C6Mart].[PL_S42RischioDiversificazione] 'F', 'RSSRRT43L14E591E'
|
|
CREATE procedure [C6Mart].[PL_S42RischioDiversificazione]
|
|
-- Add the parameters for the stored procedure here
|
|
@Rete char(1),
|
|
@CodiceFiscale varchar(16)
|
|
AS
|
|
BEGIN
|
|
--V VARIABILI DI APPOGGIO PER LA VERIFICA SE IL CLIENTE HA SOLO CC
|
|
DECLARE @ESISTECC INT
|
|
DECLARE @NUMPOSIZIONI INT
|
|
SELECT @ESISTECC = COUNT(DISTINCT COD_FISCALE)
|
|
FROM C6MART.PATRIMONIO_BF
|
|
WHERE ID_AREA = 'CC'
|
|
AND COD_FISCALE = @CodiceFiscale
|
|
GROUP BY ID_AREA
|
|
SELECT @NUMPOSIZIONI = COUNT(*)
|
|
FROM C6MART.PATRIMONIO_BF
|
|
WHERE ID_AREA <> 'CC'
|
|
AND COD_FISCALE = @CodiceFiscale
|
|
SELECT
|
|
K.COD_FISCALE,
|
|
K.RETE,
|
|
VAR_PERC_PTF AS VAR,
|
|
CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as varString,
|
|
CASE
|
|
WHEN (ISNULL(copertura,100) < 100)
|
|
--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,
|
|
beneficio as diversificazione,
|
|
--V solo CC allora la copertura è 100
|
|
CASE
|
|
WHEN (@ESISTECC - @NUMPOSIZIONI) > 0 THEN 100
|
|
ELSE ISNULL(COPERTURA,0.00)
|
|
END AS COPERTURA,
|
|
case
|
|
when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo'
|
|
when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Banca 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,
|
|
b.max_var as var_profilo,
|
|
--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
|
|
C6MART.RISCHIO_AGGREGATO K left outer JOIN c6mart.mifid a
|
|
ON k.cod_fiscale = a.cod_fiscale and
|
|
k.rete = a.rete
|
|
left outer join
|
|
C6Mart.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 11
|
|
END |