CREATE procedure [C6Staging].[RP_ST_Progetto] as
begin 
	-- Log esecuzione
	INSERT INTO LOG_ESECUZIONE
		(Nome, Inizio, Nota)
	VALUES (
		'RP_ST_Progetto',
		GETDATE(),
		'Elaborazione giornaliera'
	)
	--drop table c6staging.RP_Progetto
	truncate table c6staging.RP_Progetto
	insert into c6staging.RP_Progetto (
	   chiaveProgetto
      ,area
      ,chiaveConsulenza
      ,tipoProgetto
      ,dtCreazione
      ,dtUltimaModifica
      ,capLiquidoEntrata
      ,capLiquidoUscita
      ,varPianificato
      ,varProgetto
      ,coperturaProgetto
      ,profiloProgetto
      ,orizzonteTemporale
      ,ctvProgetto
      ,chiaveProgettoMod
      ,flagAvviatoMonitoraggio
      ,percProgetto
      ,ctvPianificato
      ,chiavePtfMod
      ,dtFineValidita
      ,flagCambioParametri
      ,flagPianificazione
      ,dtReset  )
	select  
	   prog.chiaveProgetto
      ,a.area
      ,chiaveConsulenza
      ,null as tipoProgetto -- sulla Progetto dovrebbero essere già stati filtrati in questo modo
      ,propirMod.dtInizioValidita as dtCreazione
      ,prog.dtaggiornamento as  dtUltimaModifica
      ,capLiquidoEntrata
      ,capLiquidoUscita
      ,varPianificato
      ,Null as varProgetto
      ,coperturaProgetto
      ,null as profiloProgetto
      ,SUBSTRING (propirMod.durata,1,1) as orizzonteTemporale
      ,null as ctvProgetto  
      ,propirMod.chiaveProgettoMod
      ,flagAvviatoMonitoraggio
      ,null as percProgetto
      ,ctvPianificato
      ,chiavePtfMod
      ,'99991231' as dtFineValidita
      ,flagCambioParametri
      ,flagPianificazione
      ,dtReset
	from CONSUNI.ConsulenzaUnica.dbo.Progetto prog
	inner join CONSUNI.ConsulenzaUnica.dbo.area a
	on a.chiaveArea = prog.chiavearea 
	inner join  CONSUNI.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod
	on propirMod.chiaveprogettomod = prog.chiaveprogettomod
	-- AGGREGO E VALORIZZO IL CTV DI PROGETTO
	select prog.chiaveprogetto, SUM(ctv) as ctvProgetto
	INTO #APPO
	from CONSUNI.ConsulenzaUnica.dbo.DettaglioPosizionePortafoglio dett
	inner join CONSUNI.ConsulenzaUnica.dbo.posizioniportafoglio pos
	on dett.chiaveposizioneptf = pos.chiaveposizioneptf
	inner join CONSUNI.ConsulenzaUnica.dbo.progetto prog
	on prog.chiaveprogetto = pos.chiaveprogetto	
	group by prog.chiaveprogetto	
	UPDATE c6staging.RP_Progetto
	SET ctvProgetto = ap.ctvProgetto
	from #APPO ap
	inner join c6staging.RP_Progetto pr
	on ap.chiaveprogetto = pr.chiaveprogetto
	-- Log esecuzione
	UPDATE
		LOG_ESECUZIONE
	SET
		Fine = GETDATE(),
		Tipo = 'INSERT',
		Righe = @@ROWCOUNT
	WHERE
		Nome = 'RP_ST_Progetto' AND
		Inizio = (
			SELECT
				MAX(Inizio)
			FROM
				LOG_ESECUZIONE
			WHERE
				Nome = 'RP_ST_Progetto'
		)
end