-- Schema: C6MartPeriodico
-- Stored Procedure: PL_FD43BISDettaglioProdottiBF















--Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014)

-- [C6MartPeriodico].[PL_S43BISDettaglioProdottiBF] 'F', 'SPNTTR67T20F205D'
CREATE          procedure [C6MartPeriodico].[PL_FD43BISDettaglioProdottiBF] --'F','RBSMRC82S17F205N'
 -- Add the parameters for the stored procedure here
 @Rete char(1), 
 @CodiceFiscale varchar(16)

AS
BEGIN


-------------------------------------------------------------------------------------
--INIZIO INTERVENTI OMNIA QUIII
	DECLARE @TOTSELFLIQ AS INT
	SELECT @TOTSELFLIQ = COUNT(*)
	FROM C6MARTPERIODICO.PATRIMONIO_BF
	WHERE PATRIMONIO_BF.RETE = @Rete
		AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale
		AND ISIN in('EURO00000009', 'EURO10000007')
		AND ID_AREA = 'LIQ'

	DECLARE @TOTLIQ AS INT
	SELECT @TOTLIQ = COUNT(*)
	FROM C6MARTPERIODICO.PATRIMONIO_BF
	WHERE PATRIMONIO_BF.RETE = @Rete
		AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale
		AND ID_AREA = 'LIQ'
--FINE INTERVENTI OMNIA QUIII
--------------------------------------------------------------------------------------

select * 
into #patr_bf
from C6MartPeriodico.PATRIMONIO_BF

     WHERE PATRIMONIO_BF.RETE = @Rete
		AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale

update #patr_bf
set NOME_PROGETTO='Default'
where isnull(trim(NOME_PROGETTO),'') not like '%Direct EVO%'

SELECT
distinct

CASE 
		when ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 'Rob'--when robo.isProgettoRobo='S' then 'Rob'
		else 'ASF'
	END AS needarea,
	CASE 
		when ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 'Portafoglio Direct Evo' --when robo.isProgettoRobo='S' then 'Portafoglio Direct Evo'
		else 'Portafoglio Base'
		--WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza'
		--WHEN AREA.ID_AREA = 'Na'  THEN 'Non allocate'
		--ELSE AREA.NOME_AREA 
	END AS needareades,
CASE 
	--WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN  3 
	--ELSE AREA.ORDINAMENTO 
	--	WHEN robo.isProgettoRobo='S' THEN  1
	--ELSE 2
	WHEN ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 1
	ELSE 2
END 
 AS areasortorder,
CASE 
	WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti'
	when isnull(trim(PATRBF.NOME_PROGETTO),'') not like '%Direct EVO%' then 'Default'
	ELSE ISNULL(PATRBF.NOME_PROGETTO,'')
	
END AS nome_progetto,
PATRBF.ORDINAMENTO_PROGETTO,


--Bido
--SUM(PATRBF.CTV ) OVER (PARTITION BY PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) AS somma_controval_needarea,
SUM(PATRBF.CTV ) OVER (PARTITION BY PATRBF.NOME_PROGETTO) AS somma_controval_needarea,


--SUM(PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) AS versato_needarea,
SUM(PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY PATRBF.NOME_PROGETTO) AS versato_needarea,
CASE 
	WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY robo.isProgettoRobo) > 0 THEN 'n.d.' 
	ELSE NULL 
END as versato_needareaString,
SUM(MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY robo.isProgettoRobo) AS MinusPlusValenza_needarea,
CASE 
	WHEN COUNT( CASE 
					WHEN MONIT.UTILE_PERDITA_DA_ASSOC IS NULL THEN 1 
					ELSE NULL 
				END ) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' 
	ELSE NULL 
END AS MinusPlusValenza_needareaString,
--CASE 
--	WHEN AREA.ID_AREA = 'Inv' THEN 
	--SUM(PATRBF.CTV) OVER (PARTITION BY --robo.isProgettoRobo, 
	--PATRBF.NOME_PROGETTO,
	--PATRBF.ordinamento_progetto) 
	--SUM(PATRBF.CTV) OVER (PARTITION BY PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) 	
	SUM(PATRBF.CTV) OVER (PARTITION BY PATRBF.NOME_PROGETTO)--, PATRBF.ordinamento_progetto) 	
	AS somma_controval_need_prog,
CASE 
	WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY --robo.isProgettoRobo, 
	PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) 
	ELSE NULL
END	AS ver
