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

51 lines
3.0 KiB
Transact-SQL

-- Stored procedure
-- =============================================
-- Author: Simone D'Elia
-- Create date: Aprile 2022
-- Description:
-- =============================================
-- [C6MartPeriodico].[PL_S172PreferenzeESG] 'S', 'BCCNDR69P21A462P'
CREATE procedure [C6MartPeriodico].[PL_FD181PreferenzeESG]--'F','BBLCMS66M11F960M'
-- Add the parameters for the stored procedure here
@Rete char(1),
@CodiceFiscale varchar(16)
AS
BEGIN
DECLARE @SCADUTO_PARZIALE varchar(16)
SET @SCADUTO_PARZIALE= (select distinct FLGPROF from C6MartPeriodico.wseirpf where rete=@rete and CODFIS=@CodiceFiscale)
SELECT esg.[rete]
,[cod_fiscale]
--,case
--when @SCADUTO_PARZIALE='P' then 0 else [Preferenza_esg_cliente]
--end as
,[Preferenza_esg_cliente]
,[ESG_E]
,[ESG_S]
,[ESG_G]
,CAST(ROUND(ISNULL(obiettivo_ESG_minimo, 0.00), 2) AS decimal(6, 2)) AS obiettivo_ESG_minimo
,[ESG_Rating]
,CAST(ROUND(ISNULL(ESG_E_perc, 0.00), 2) AS decimal(6, 2)) AS ESG_E_perc
,CAST(ROUND(ISNULL(ESG_S_perc, 0.00), 2) AS decimal(6, 2)) AS ESG_S_perc
,CAST(ROUND(ISNULL(ESG_G_perc, 0.00), 2) AS decimal(6, 2)) AS ESG_G_perc
,case when coerenza<>'Z' and isnull(ind.SOGLIAESG,'0.00')>=25 and isnull(ind.SOGLIAESG,'0.00')<50 then 'Almeno pari al 25%'
when coerenza<>'Z' and isnull(ind.SOGLIAESG,'0.00')>=50 and isnull(ind.SOGLIAESG,'0.00')<75 then 'Almeno pari al 50%'
when coerenza<>'Z' and isnull(ind.SOGLIAESG,'0.00')>=75 then 'Almeno pari al 75%' else '-' end as Pref_Sost
,case when cle.U_PREFSOST='S' then 'Y'
when cle.U_PREFSOST='N' then 'N' else 'N' end as U_PREFSOST --Ulteriori Preferenze di Sostenibilità ----decommenta per ESG 2024
,case when cle.FLAGSFDR='S' then replace(cast(cle.SFDR_PERC as varchar(12)),'.00','')+'%' else '-' end as SFDR_PERC ----decommenta per ESG 2024
,case when cle.FLAGTAXO='S' then replace(cast(cle.TAXO_PERC as varchar(12)),'.00','')+'%' else '-' end as TAXO_PERC ----decommenta per ESG 2024
,case when isnull(cle.PAI_A,'')='' then '-' else cle.PAI_A end as PAI_A
,case when isnull(cle.PAI_S,'')='' then '-' else cle.PAI_S end as PAI_S
,case when ESG_E='Y' then cle.PERCAMB_OK ELSE NULL END AS E_PERC_OK--,CAST(ROUND(ISNULL(ESG_E_perc, 0.00), 2) AS decimal(6, 2)) AS E_PERC_OK ----decommenta per ESG 2024
,case when ESG_S='Y' then cle.PERCSOC_OK ELSE NULL END AS S_PERC_OK--,CAST(ROUND(ISNULL(ESG_S_perc, 0.00), 2) AS decimal(6, 2)) AS S_PERC_OK ----decommenta per ESG 2024
,case when ESG_G='Y' then cle.PERCGOV_OK ELSE NULL END AS G_PERC_OK--,CAST(ROUND(ISNULL(ESG_G_perc, 0.00), 2) AS decimal(6, 2)) AS G_PERC_OK ----decommenta per ESG 2024
FROM [C6StampeCentralizzate].[C6MartPeriodico].[BrsClienteESG] esg
left join C6MartPeriodico.wseian2 ind
on ind.rete=esg.rete and ind.CODFIS=esg.cod_fiscale
left join C6MartPeriodico.W6CLIESG cle
on ind.rete=cle.rete and ind.CODFIS=cle.CODFIS
WHERE 1 = 1
AND esg.RETE = @Rete
AND esg.COD_FISCALE = @CodiceFiscale
--AND ISNULL(@SCADUTO_PARZIALE,'') <>'P' non valida x i direct
END