-- =============================================  
-- Author:  Rino Le Boffe  
-- Create date: 16 Luglio 2013  
-- Description:   
-- =============================================  
CREATE procedure [C6MartPeriodico].[RP_DM_MONITORAGGIO_REPORT_20181214_PreMioFoglio]  
AS  
BEGIN  
 SET NOCOUNT ON;  
 DECLARE @ID_ELAB INT  
 SET @ID_ELAB = [C6MartPeriodico].GETIDELAB()  
 -- Log esecuzione  
 INSERT INTO LOG_ESECUZIONE_PERIODICO  
  (Nome, Inizio, Nota)  
 VALUES (  
  'RP_DM_MONITORAGGIO_REPORT',  
  GETDATE(),  
  'Elaborazione trimestrale'  
 )  
 TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_REPORT]   
 INSERT INTO [C6MartPeriodico].[MONITORAGGIO_REPORT]  
           ([RETE]  
           ,[COD_FISCALE]  
           ,[DATA_INVIO]  
           ,[CTV_TOTALE]  
           ,[CTV_EXT]  
           ,[CTV_INV]  
           ,[CTV_RIS]  
           ,[CTV_PRE]  
           ,[CTV_LIQ]  
           ,[CTV_CC]  
           ,[CTV_NA]  
           ,[PARTITA_VIAGGIANTE]  
           ,[VAR_COMPLESSIVO]  
           ,[VAR_COPERTURA]  
     ,[PROFILO]  
     ,[VAR_MAX_PROFILO]  
   ,riskclass  
   ,riskclassmax  
--INIZIO INTERVENTI OMNIA    
--           ,[ID_ELAB])  
           ,[ID_ELAB]  
           ,[CTV_SELF])  
--FINE INTERVENTI OMNIA    
  SELECT  
           V.RETE,  
           V.COD_FISCALE,  
           S.DATA_FASE AS DATA_INVIO,  
           SUM(S.CONTROVALORE) as CTV_TOTALE,  
           SUM(CASE WHEN S.AREA= 'EXT' THEN S.CONTROVALORE ELSE 0 END ) AS CTV_EXT,  
           SUM(CASE WHEN S.AREA= 'INV' THEN S.CONTROVALORE ELSE 0 END ) AS CTV_INV,  
            SUM(CASE WHEN S.AREA= 'RIS' THEN S.CONTROVALORE ELSE 0 END )AS CTV_RIS,  
            SUM(CASE WHEN S.AREA= 'PRE' THEN S.CONTROVALORE ELSE 0 END )AS CTV_PRE,  
            SUM(CASE WHEN S.AREA= 'LIQ' THEN S.CONTROVALORE ELSE 0 END ) AS CTV_LIQ,  
            Max(S.CONTOCORRENTE )AS CTV_CC,  
            Max(S.RISORSENONALLOCATE) AS CTV_NA,  
           MAX(S.INVESTIMENTIINCORSO) AS PARTITA_VIAGGIANTE,  
           MAX(S.VAR_PERC_PTF) AS VAR_COMPLESSIVO,  
           MAX(S.COPERTURA) as VAR_COPERTURA,  
     mAX(S.PROFILO) AS PROFILO,  
     MAX(S.MAX_VAR) AS VAR_MAX_PROFILO,  
   CASE WHEN MAX(CRISK) = 'n.a.' THEN null ELSE MAX(CRISK) END AS RISKCLASS,  
           --MAX(CRISK) AS RISKCLASS,  
     MAX(CRISKMAX) AS RISKCLASSMAX,  
           @ID_ELAB AS ID_ELAB  
--INIZIO INTERVENTI OMNIA    
    ,Max(S.lineaself)AS CTV_SELF  
--FINE INTERVENTI OMNIA    
 FROM [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] V INNER JOIN C6STAGINGPERIODICO.RP_REP_S80_EVOL_STAMPA_C6 S  
    ON V.chiaveClientePB = S.chiaveClientePB  
    GROUP BY   
           V.RETE,  
           V.COD_FISCALE,  
           S.DATA_FASE  
 -- Log esecuzione  
 UPDATE  
  LOG_ESECUZIONE_PERIODICO  
 SET  
  Fine = GETDATE(),  
  Tipo = 'INSERT',  
  Righe = @@ROWCOUNT  
 WHERE  
  Nome = 'RP_DM_MONITORAGGIO_REPORT' AND  
  Inizio = (  
   SELECT  
    MAX(Inizio)  
   FROM  
    LOG_ESECUZIONE_PERIODICO  
   WHERE  
    Nome = 'RP_DM_MONITORAGGIO_REPORT'  
  )  
END