--[C6MartPeriodico].[PL_D_S177ProfiloDiRischio_Adeguatezza] 'F', 'DVTMRA58B09F839W'
CREATE procedure [C6MartPeriodico].[PL_D_S177ProfiloDiRischio_Adeguatezza_BKP_20231114_PRE_RAFFORZAMENTO]-- 'F', 'SPNTTR67T20F205D'
	-- Add the parameters for the stored procedure here
	@Rete char(1), 
	@CodiceFiscale varchar(16)
AS
BEGIN
	SET NOCOUNT ON;
	DECLARE @varBF DECIMAL(12,2)
	DECLARE @coperturaBF DECIMAL(12,2)
	DECLARE @codiceProfilo SMALLINT
	DECLARE @dataProfilo DATETIME
	DECLARE @dataScadenza DATETIME
	DECLARE @varProfilo DECIMAL(5,2)
	DECLARE @nomeProfilo VARCHAR(50)
	declare @descrizioneProfilo varchar(500)
    DECLARE @riskclass VARCHAR(50)
    DECLARE @riskclassDescr VARCHAR(250)
    DECLARE @experience SMALLINT
	declare @descrizioneEsperienza varchar(20)
	DECLARE @riserva decimal(13,2)
	DECLARE @inv_l_p decimal(5,2)
	SELECT
        @codiceProfilo = M.PROFILO_ASS,
		@dataProfilo = M.DATA_INIZIO_VAL,
		@dataScadenza = M.DATA_INIZIO_VAL,
		@varProfilo = CR.MAX_VAR,
		@nomeProfilo = ProfiliDiRischio.NOMEPROFILO,
		@descrizioneProfilo = ProfiliDiRischio.DescrizioneProfilo,
        @riskclass =  m.riskclass,
        @experience = m.experience,
		@descrizioneEsperienza =	
		case m.experience
			when 0 then 'Minimo'
				when 1 then 'Basso'
				when 2 then 'Medio basso'
				when 3 then 'Medio alto'
				when 4 then 'Alto'
				--when 5 then 'Alta'
				else '-'
		end
	FROM
		C6MartPERIODICO.MIFID AS M
		INNER JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR
		ON M.PROFILO_ASS = CR.PROFILO
		INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio
		ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO
	WHERE
		M.RETE = @Rete AND
		M.COD_FISCALE = @CodiceFiscale
	-- RICERCA DATA FINE VALIDITA'		
	declare @dtfinval decimal(9,0)
	declare @codman varchar(6)
	set @codman = ''
	if upper(left(@CodiceFiscale,3)) = 'FF@'
	    begin
			set @codman = substring(@CodiceFiscale,4,len(@CodiceFiscale)-3)
			select @dtfinval = dtfinval,@riserva=isnull(IMP_RISERVA,0.00),@inv_l_p=isnull(PERC_ILP,0.00) from C6StagingPeriodico.WSEIAN2
			where codman = @codman and  DTTRIM = (SELECT MAX(DTTRIM) FROM C6StagingPeriodico.WSEIAN2) 
			print 'codice mandato'
		end
	else
		begin
			select @dtfinval = dtfinval,@riserva=isnull(IMP_RISERVA,0.00),@inv_l_p=isnull(PERC_ILP,0.00) from C6StagingPeriodico.WSEIAN2
			where codfis = @CodiceFiscale and  DTTRIM = (SELECT MAX(DTTRIM) FROM C6StagingPeriodico.WSEIAN2) 
			print 'codice fiscale'
		end
		--
		if @dtfinval <> 0 and @dtfinval is not null and ltrim(rtrim(@dtfinval)) <> ''
			set @dataScadenza = CONVERT(datetime, CONVERT(varchar,CONVERT(int,@dtfinval)), 0)
		else
			set @dataScadenza = null
	SELECT
        @codiceProfilo as codiceProfilo,
		DBO.TOSHORTDATESTRING (@dataProfilo) as dataInizioValidita,
		DBO.TOSHORTDATESTRING (@dataScadenza) as dataScadenzaProfilo,
		@varProfilo as varMassimo,
		ISNULL(@varBF,0) as varBF,
		ISNULL(@coperturaBF,0) as coperturaBF,
		@nomeProfilo as nomeProfilo,
		@descrizioneProfilo as DescrizioneProfilo,
        @riskclass as riskclass,
        @experience as experince,
		@descrizioneEsperienza as descrizioneEsperienza,
		@riserva as riserva,
		@inv_l_p as investimento_l_periodo
END