﻿-- =============================================  
-- Author:  Paolo Giovanetti  / TRINGALI PER FIDUCIARIE  
-- Create date: <Create Date,,>  
-- Description: <Description,,>  
-- =============================================  
CREATE procedure [C6MartPeriodico].[RP_DM_W6CLIESG]  
AS  
BEGIN  
 SET NOCOUNT ON;  
 -- Log esecuzione  
 INSERT INTO LOG_ESECUZIONE  
  (Nome, Inizio, Nota)  
 VALUES (  
  'RP_DM_W6CLIESG',  
  GETDATE(),  
  'Elaborazione trimestrale'  
 )  
-- declare @data varchar(8)
--set @data= [C6MartPeriodico].[getTrimestre2](getdate(),0)
 TRUNCATE TABLE C6MartPeriodico.W6CLIESG
 INSERT INTO [C6MartPeriodico].[W6CliESG]
       ( 
	   [DTTRIM]
      ,[RETE]
      ,[CODFIS]
      ,[CODMAN]
      ,[U_PREFSOST]
      ,[FLAGSFDR]
      ,[FLAGTAXO]
      ,[FLAGPAI]
      ,[SFDR_PERC]
      ,[TAXO_PERC]
      ,[PAI_A01]
      ,[PAI_A02]
      ,[PAI_A03]
      ,[PAI_A04]
      ,[PAI_A05]
      ,[PAI_A07]
      ,[PAI_A08]
      ,[PAI_S01]
      ,[PAI_S02]
	  ,[PAI_A1]
      ,[PAI_A2]
      ,[PAI_A3]
      ,[PAI_A4]
      ,[PAI_A5]
      ,[PAI_A7]
      ,[PAI_A8]
      ,[PAI_S1]
      ,[PAI_S2]
	  ,[PAI_A]
      ,[PAI_S]
      ,[PAI_NO_DETT]
      ,[PERC1ESG]
      ,[PERCAMB]
      ,[PERCSOC]
      ,[PERCGOV]
      ,[PERCAMB_OK]
      ,[PERCSOC_OK]
      ,[PERCGOV_OK]
      ,[SFDR_PERCT]
      ,[SFDR_PERC_OK]
      ,[TAXO_PERCT]
      ,[TAXO_PERC_OK]
      ,[PAIA_PERCT]
      ,[PAIA_PERC_OK]
      ,[PAIS_PERCT]
      ,[PAIS_PERC_OK])  
 SELECT distinct 
       [DTTRIM]
      ,[RETE]
      ,case when CODMAN<>'' then 'FF@'+CODMAN
	   else CODFIS end as COD_FISCALE
	  ,[CODMAN]
      ,[U_PREFSOST]
      ,[FLAGSFDR]
      ,[FLAGTAXO]
      ,[FLAGPAI]
      ,[SFDR_PERC]
      ,[TAXO_PERC]
      ,[PAI_A01]
      ,[PAI_A02]
      ,[PAI_A03]
      ,[PAI_A04]
      ,[PAI_A05]
      ,[PAI_A07]
      ,[PAI_A08]
      ,[PAI_S01]
      ,[PAI_S02]
	  ,CASE  WHEN PAI_A01 = 'S' THEN 'Emissioni gas serra' ELSE '' END AS PAI_A1,
       CASE  WHEN PAI_A02 = 'S' THEN 'Biodiversita''' ELSE ''     END AS PAI_A2,
	   CASE  WHEN PAI_A03 = 'S' THEN 'Acqua'  ELSE ''  END AS PAI_A3,
       CASE  WHEN PAI_A04 = 'S' THEN 'Rifiuti'  ELSE ''   END AS PAI_A4,  
       CASE  WHEN PAI_A05 = 'S' THEN 'Governativi di tipo Ambientale'  ELSE ''   END AS PAI_A5,   
    --CASE 
    --    WHEN PAI_A06 = 'S' THEN 'Combustibili Fossili' 
    --    ELSE '' 
    --END AS PAI_A06,
    CASE  WHEN PAI_A07 = 'S' THEN 'Settore Immobiliare'   ELSE ''  END AS PAI_A7,-- prima era Efficienza energetica ma deprecato
    CASE  WHEN PAI_A08 = 'S' THEN 'Settore Immobiliare'   ELSE '' END AS PAI_A8,  
    CASE  WHEN PAI_S01 = 'S' THEN 'Questioni Sociali e dei Dipendenti'    ELSE ''   END AS PAI_S1,
    CASE  WHEN PAI_S02 = 'S' THEN 'Governativi di tipo Sociale'     ELSE ''   END AS PAI_S2,
         CONCAT_WS(', ',
        NULLIF(CASE WHEN PAI_A01 = 'S' THEN 'Emissioni gas serra' ELSE '' END, ''),
        NULLIF(CASE WHEN PAI_A02 = 'S' THEN 'Biodiversita''' ELSE '' END, ''),
        NULLIF(CASE WHEN PAI_A03 = 'S' THEN 'Acqua' ELSE '' END, ''),
        NULLIF(CASE WHEN PAI_A04 = 'S' THEN 'Rifiuti' ELSE '' END, ''),
        --NULLIF(CASE WHEN PAI_A06 = 'S' THEN 'Combustibili Fossili' ELSE '' END, ''), -- Commentato
        NULLIF(CASE WHEN PAI_A07 = 'S' THEN 'Settore Immobiliare' ELSE '' END, ''),-- prima era Efficienza energetica
        NULLIF(CASE WHEN PAI_A08 = 'S' THEN 'Settore Immobiliare' ELSE '' END, ''),
	    NULLIF(CASE WHEN PAI_A05 = 'S' THEN 'Governativi di tipo Ambientale' ELSE '' END, '')
    ) AS PAI_A,
    -- Concatenazione del campo PAI_S (ritorna '' se tutti i campi sono vuoti)
    CONCAT_WS(', ',
        NULLIF(CASE WHEN PAI_S01 = 'S' THEN 'Questioni Sociali e dei Dipendenti' ELSE '' END, ''),
        NULLIF(CASE WHEN PAI_S02 = 'S' THEN 'Governativi di tipo Sociale' ELSE '' END, '')
    ) AS PAI_S, 
	   [PAI_NO_DETT]
      ,[PERC1ESG]
      ,[PERCAMB]
      ,[PERCSOC]
      ,[PERCGOV]
      ,[PERCAMB_OK]
      ,[PERCSOC_OK]
      ,[PERCGOV_OK]
      ,[SFDR_PERCT]
      ,[SFDR_PERC_OK]
      ,[TAXO_PERCT]
      ,[TAXO_PERC_OK]
      ,[PAIA_PERCT]
      ,[PAIA_PERC_OK]
      ,[PAIS_PERCT]
      ,[PAIS_PERC_OK]
  FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6CliESG] 
  --where 
  --DTTRIM=@data
 -- Log esecuzione  
 UPDATE  
  LOG_ESECUZIONE  
 SET  
  Fine = GETDATE(),  
  Tipo = 'INSERT',  
  Righe = @@ROWCOUNT  
 WHERE  
  Nome = 'RP_DM_W6CliESG' AND  
  Inizio = (  
   SELECT  
    MAX(Inizio)  
   FROM  
    LOG_ESECUZIONE  
   WHERE  
    Nome = 'RP_DM_W6CliESG'  
  )  
END