-- =============================================
-- Author:		Rino Le Boffe	
-- Create date: 08/08/2013
-- Description:	
-- =============================================
CREATE procedure [C6MartPeriodico].[RP_DM_CONO_PIANIFICAZIONE_pre_selective]
AS
BEGIN
	SET NOCOUNT ON;
	DECLARE @ID_ELAB INT
	SET @ID_ELAB = [C6MartPeriodico].GETIDELAB()
	-- Log esecuzione
	INSERT INTO LOG_ESECUZIONE
		(Nome, Inizio, Nota)
	VALUES (
		'RP_DM_CONO_PIANIFICAZIONE_pre_selective',
		GETDATE(),
		'Elaborazione trimestrale'
	)
	TRUNCATE TABLE [C6MartPeriodico].[CONO_PIANIFICAZIONE] 
	INSERT INTO [C6MartPeriodico].[CONO_PIANIFICAZIONE]
           ([RETE]
           ,[COD_FISCALE]
           ,[ID_AREA]
           ,[NOME_PROGETTO]
           ,[DATA_CONO]
           ,[SCENARIO_PESSIMISTICO]
           ,[SCENARIO_MEDIO]
           ,[SCENARIO_OTTIMISTICO]
           ,[ID_ELAB]
			,ordinamento_progetto)
	SELECT
           WANAB.RETE AS RETE,
           VC.COD_FISCALE AS COD_FISCALE,
		   CASE
				WHEN WANAB.CODAREA = 'INV' THEN 'Inv'
				WHEN WANAB.CODAREA = 'RIS' THEN 'Ris'
				WHEN WANAB.CODAREA = 'EXR' THEN 'Ext'
				WHEN WANAB.CODAREA = 'LIQ' THEN 'Liq'
		   END AS ID_AREA,
           ISNULL(CS.nomeProgetto, 'XXX') AS NOME_PROGETTO,
           CONO.dtRiferimento AS DATA_CONO,
           CONO.quantileInf * 100 AS SCENARIO_PESSIMISTICO,
           CONO.quantileInter * 100 AS SCENARIO_MEDIO,
           CONO.quantileSup * 100 AS SCENARIO_OTTIMISTICO,
           @ID_ELAB,
		PR.chiaveProgetto --	wanab.codprog--, 
          -- count(*)
	FROM C6StagingPeriodico.TANAB AS WANAB
	INNER JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM
        ON WANAB.CODPROG = CM.idmonitoraggio
    INNER JOIN C6StagingPeriodico.RP_Progetto PR
        ON CM.chiaveprogetto = PR.chiaveProgetto
    INNER JOIN C6StagingPeriodico.RP_ProgettiPiramideModello CS
        ON PR.chiaveprogettoMod = CS.chiaveProgettoMod
    INNER JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VC
        ON WANAB.CODFIS = CASE WHEN VC.COD_MANDATO IS NULL OR VC.COD_MANDATO = '' 
                             THEN VC.COD_FISCALE ELSE VC.COD_MANDATO
                          END  
       AND WANAB.RETE = VC.RETE
--       AND VC.DATA_FINEAVANZATO > getDate()
    INNER JOIN C6StagingPeriodico.RP_CONO CONO
	    ON CONO.CHIAVEPROGETTO = CM.chiaveProgetto
	WHERE 1 = 1
	AND WANAB.DTFINE = '99991231'
	--AND ((WANAB.CODAREA = 'Inv' AND CS.nomeProgetto = 'Progetto investimento') OR WANAB.CODAREA = 'Ris')
	AND (WANAB.CODAREA = 'Inv' OR WANAB.CODAREA = 'Ris')
	--modifiche Luca per errore mart simulazione 16/12/2015
	--and WANAB.CODFIS  not in ('GRPGLI71R45L407D','MRTGRL59B60H501T')
	---------------------------------------------------------------------------
	-- formula commentata in trimestrale di luglio 2015 perché impediva la genenerazione del grafico del rendimento cumulato per importi
	-- negativi (vedi segnalazione di FOGA' del 15/7/2015)
	--AND (WANAB.APP_INI + WANAB.NTOT_APP - WANAB.NTOT_LIQ - (WANAB.TOT_CED + WANAB.TOT_DIV))>0 -- per escludere tutto quello che ha risorse associate =0
	--AND SCELTA_STATO.FLAG_UTILIZZO_STATO = 1
	--and wanab.codfis <> 'GRVMRZ63C14L566J'
	-- Log esecuzione
	UPDATE
		LOG_ESECUZIONE
	SET
		Fine = GETDATE(),
		Tipo = 'INSERT',
		Righe = @@ROWCOUNT
	WHERE
		Nome = 'RP_DM_CONO_PIANIFICAZIONE_pre_selective' AND
		Inizio = (
			SELECT
				MAX(Inizio)
			FROM
				LOG_ESECUZIONE
			WHERE
				Nome = 'RP_DM_CONO_PIANIFICAZIONE_pre_selective'
		)
END