﻿-- =============================================  
-- Author:  Paolo Giovanetti  
-- Create date: 19 marzo 2009  
-- Description:   
-- =============================================  
CREATE procedure [C6MartPeriodico].[DM_CONO_PIANIFICAZIONE]  
AS  
BEGIN  
 SET NOCOUNT ON;  
 DECLARE @ID_ELAB INT  
 SET @ID_ELAB = [C6MartPeriodico].GETIDELAB()  
 -- Log esecuzione  
 INSERT INTO LOG_ESECUZIONE  
  (Nome, Inizio, Nota)  
 VALUES (  
  'DM_CONO_PIANIFICAZIONE',  
  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  
           CONSUL.INSTID AS RETE,  
           CONSUL.ADBKID AS COD_FISCALE,  
     AREA.C_NEEDAREA_v_46360 AS ID_AREA,  
           ISNULL(CASE  
    WHEN PROGETTO_BOZZA.C_PROJECTIDR_51E22 IS NULL THEN PRCONSUL.C_PROJECTNAM_11D1A  
    ELSE PROGETTO_BOZZA.NUOVO_NOME_PROGETTO  
     END, 'XXX') AS NOME_PROGETTO,  
           CONO.C_DATA_FD2A6 AS DATA_CONO,  
           CAST(CONO.C_QUANTILE5_BF710 AS DECIMAL(19,7)) * 100 AS SCENARIO_PESSIMISTICO,  
           CAST(CONO.C_QUANTILE50_C47E0 AS DECIMAL(19,7)) * 100 AS SCENARIO_MEDIO,  
           CAST(CONO.C_QUANTILE95_0D6CE AS DECIMAL(19,7)) * 100 AS SCENARIO_OTTIMISTICO,  
           @ID_ELAB,  
   wanab.codprog  
 FROM C6StagingPeriodico.TANAB AS WANAB  
 INNER JOIN C6StagingPeriodico.PRCONSUL AS PRCONSUL  
  ON WANAB.CODPROG = PRCONSUL.C_PROJECTIDM_1AF31  
 INNER JOIN C6StagingPeriodico.CONSAREA AS AREA  
  ON PRCONSUL.F_PCONSULENZ_B69E4 = AREA.OID$  
 INNER JOIN C6StagingPeriodico.CONSUL AS CONSUL  
  ON AREA.F_PCONSULENZ_7FBE3 = CONSUL.OID$  
 INNER JOIN C6StagingPeriodico.ALL_CF_STATO AS SCELTA_STATO  
  ON CONSUL.ADBKID = SCELTA_STATO.CF_CLIENTE  
  AND CONSUL.INSTID = SCELTA_STATO.RETE  
  AND CONSUL.TYPE$_TIPOCO_1EA7C = SCELTA_STATO.STATO_CONSULENZA  
 INNER JOIN C6StagingPeriodico.C_BO_453FB AS ORIZZ_TEMP  
  ON PRCONSUL.F_OID$_ORIZZ_4A868 = ORIZZ_TEMP.OID$  
 INNER JOIN C6StagingPeriodico.CONO AS CONO  
  ON PRCONSUL.OID$ = CONO.F_PPROJECT_P_46507  
 LEFT JOIN C6StagingPeriodico.NOME_PROGETTO_BOZZA AS PROGETTO_BOZZA  
  ON PRCONSUL.C_PROJECTIDR_51E22 = PROGETTO_BOZZA.C_PROJECTIDR_51E22  
 WHERE 1 = 1  
 AND WANAB.DTFINE = '99991231'  
 AND ((PRCONSUL.NEEDAREAID = 'Inv' AND PRCONSUL.TYPE$_PROJEC_14674 = 'ProgettoInvestimento')  
 OR PRCONSUL.NEEDAREAID = 'Ris')  
 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 = 'DM_CONO_PIANIFICAZIONE' AND  
  Inizio = (  
   SELECT  
    MAX(Inizio)  
   FROM  
    LOG_ESECUZIONE  
   WHERE  
    Nome = 'DM_CONO_PIANIFICAZIONE'  
  )  
END