-- Stored procedure
-- =============================================
-- Author:		Paolo Giovanetti
-- Create date: 15 gennaio 2009
-- Description:	riporta il valore complessivo dei prodotti attualmente destinati all'area 
--				di bisogno progetto (controvalore attuale) ed il relativo valore di rischio (VaR attuale)
-- =============================================
-- [C6MartPeriodico].[PL_S82DatiSintetici] 'S','MRCGST50D02H223T'
CREATE procedure [C6MartPeriodico].[PL_S82DatiSintetici]
	-- Add the parameters for the stored procedure here
	@Rete char(1), 
	@CodiceFiscale varchar(16)
AS
BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON;
	/*DECLARE @TOTRischio DECIMAL(20,2)
	SELECT
		@TOTRischio = SUM(ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) * PATRAREA.CTV)
	FROM
		C6MartPeriodico.vPatrimonioBFAggregatoPerArea AS PATRAREA INNER JOIN
		C6MartPeriodico.RISCHIO_AGGREGATO AS RISCHIOAREA ON
			PATRAREA.RETE = RISCHIOAREA.RETE AND
			PATRAREA.COD_FISCALE = RISCHIOAREA.COD_FISCALE
	WHERE
		PATRAREA.ID_AREA IN ('RIS','EXT','LIQ','PRE','INV') AND
		PATRAREA.RETE = @Rete AND
		PATRAREA.COD_FISCALE = @CodiceFiscale*/
	SELECT
		PATRAREA.ID_AREA AS need_area,
		ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea,
		CASE 
			WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' 
			WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' 
			ELSE NULL 
		END AS var_needareaString,
		ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea,
		CASE 
			WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' 
			WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' 
			ELSE NULL 
		END AS copertura_needareaString,
		PATRAREA.ORDINAMENTO_PROGETTO,
		/*V Calcolato a livello di codice
		CASE
			WHEN PATRAGGR.CTV = 0 THEN 0
			ELSE PATRAREA.CTV / PATRAGGR.CTV * 100
		END AS pesoPerc,*/
		PATRAREA.CTV AS ControvaloreAttuale
		/* Calcolato a livello di codice
		CASE
			WHEN @TOTRischio = 0 THEN 0
			ELSE ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) * PATRAREA.CTV / @TOTRischio * 100
		END AS rischioRelativo*/
	into #temp
	FROM C6MartPeriodico.vPatrimonioBFAggregatoPerArea AS PATRAREA
	INNER JOIN C6MartPeriodico.vPatrimonioBFAggregato AS PATRAGGR
		ON PATRAGGR.RETE = PATRAREA.Rete
		AND PATRAGGR.COD_FISCALE = PATRAREA.COD_FISCALE
	LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAREA
		ON RISCHIOAREA.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRAREA.ID_AREA,3)
		AND RISCHIOAREA.RETE = PATRAREA.Rete
		AND RISCHIOAREA.COD_FISCALE = PATRAREA.COD_FISCALE
	WHERE 1=1
			AND PATRAREA.RETE = @Rete
			AND PATRAREA.COD_FISCALE = @CodiceFiscale
			AND PATRAREA.ID_AREA IN ('RIS','EXT','LIQ','PRE')
	if exists (select 1 from #temp)
		select * from #temp
	else
		select 
			'' as need_area
		   ,0 as var_needarea
		   ,'n.c.' as var_needareaString
		   ,'n.c.' as copertura_needareaString
		   ,0 as ControvaloreAttuale
END