PDC_REPORT_CreazioneDB/sql/storedProduzione/C6MartPeriodico_RP_DM_W6CLIESG.sql
2025-06-06 19:02:52 +02:00

154 lines
4.4 KiB
Transact-SQL

-- =============================================
-- 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