﻿-- [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