--se nella generazione del report da errore molto probabilmente ci sta una chiaveclientePB diversa sulla appocontratti dalla vinfocliente
--cambiala sull'appo contratti e contrattipretrimestrale
-- Stored procedure
-- =============================================
-- Author:		Simone D'Elia
-- Create date: Aprile 2022
-- Description: 
-- =============================================
-- [C6MartPeriodico].[PL_S182BISDettaglioProdottiESG] 'F', '98196710176'
CREATE procedure [C6MartPeriodico].[PL_S182BISDettaglioProdottiESG] --'S','DGSMHL70H08Z404F'
 -- Add the parameters for the stored procedure here
 @Rete char(1), 
 @CodiceFiscale varchar(16)
AS
BEGIN
---
	SELECT distinct
		[NeedArea]
      ,[AreaName]
      ,[PercentualeModello]
      ,[PercentualeAttuale]
      ,[ControvaloreAttuale]
      ,[ControvaloreModello]
      ,[Totale_Percentuale]
      ,[DifferenzaEuro]
      ,[DifferenzaPercentuale]
      ,[var_needarea]
      ,[var_needareaString]
      ,[copertura_needarea]
      ,[copertura_needareaString]
      ,[Nota]
      ,[somma_controvalAttuale]
      ,[somma_controvalModello]
      ,[somma_percentualeAttuale]
      ,[somma_percentualeModello]
      ,[var_tot]
      ,[var_totString]
      ,[var_tot_pir]
      ,[var_tot_pirString]
      ,[copertura_tot]
      ,[copertura_totString]
      ,[copertura_tot_pir]
      ,[copertura_tot_pirString]
      ,[VAR_RISFIN]
      ,[VAR_RISFINSTRING]
      ,[copertura_risfin]
      ,[copertura_risfinString]
      ,[ordinamento]
	  into #temp
  FROM [C6StampeCentralizzate].[C6MartPeriodico].[TB_S133_S157DatiPiramide]
  WHERE	[Rete] 	= @rete
  AND	[CodiceFiscale] = @codicefiscale
  order by ordinamento
	declare @totale_risorse_finanziarie decimal(38,3)
	declare @totale_patrimonio decimal(38,3)
	declare @partite_viaggianti decimal(38,3)
	 select @totale_risorse_finanziarie = SUM(controvaloreAttuale) from #temp where needarea in ('Ext','Inv','Pre','Ris','Liq','Na')
 having SUM(controvaloreAttuale) is not null and SUM(controvaloreattuale)<>0.000
  select @totale_patrimonio = SUM(controvaloreAttuale) from #temp 
  having SUM(controvaloreAttuale) is not null and SUM(controvaloreattuale)<>0.000
  select @partite_viaggianti= PartiteViaggiantiInv from wh.Maledetti
 where i_Rete=@Rete and i_CodiceFiscale=@CodiceFiscale
  set @totale_patrimonio=@totale_patrimonio + @partite_viaggianti
 select 
	case when @totale_risorse_finanziarie=@totale_patrimonio then 'Tot_P' else 'Tot_F' end as needarea,
	case when @totale_risorse_finanziarie=@totale_patrimonio then 'TOTALE PATRIMONIO' else 'TOTALE RISORSE FINANZIARIE' end as needareades,
	'100' as areasortorder,
	'' as nome_progetto,
	0 as ordinamento_progetto,
	0.00 as somma_controval_needarea,
	0.00 as somma_controval_need_prog,
	0.00 as versato_need_prog,
	'' as dataSottoscrizione,
	'' as ContrattoDossier,
	'' as Descrizione,
	'' as ESG_E,
	'' as ESG_S,
	'' as ESG_G,
	'' as CatSFDR,
	'' as ESGRating,
	'' as TrendESGRating,
	SUM(controvaloreattuale) as Controvalore,
	0.00 as PerformanceYTD,
	0.00 as PerformanceDS,
	'' as TipoProdotto
from #temp 
where needarea in ('Ext','Inv','Pre','Ris','Liq','Na')
having SUM(controvaloreAttuale) is not null and SUM(controvaloreattuale)<>0.000
 union all
 select 
	'Tot_F' as needarea,
	'' as needareades,
	'101' as areasortorder,
	'' as nome_progetto,
	0 as ordinamento_progetto,
	0.00 as somma_controval_needarea,
	0.00 as somma_controval_need_prog,
	0.00 as versato_need_prog,
	'' as dataSottoscrizione,
	'' as ContrattoDossier,
	'C/C a saldo negativo' as Descrizione,
	'' as ESG_E,
	'' as ESG_S,
	'' as ESG_G,
	'' as CatSFDR,
	'' as ESGRating,
	'' as TrendESGRating,
	SUM(controvaloreattuale) as Controvalore,
	0.00 as PerformanceYTD,
	0.00 as PerformanceDS,
	'' as TipoProdotto
 from #temp 
 where needarea in ('CC')
 having SUM(controvaloreAttuale) is not null and SUM(controvaloreattuale)<>0.000
 union all
 select 
	'Tot_F' as needarea,
	'' as needareades,
	'102' as areasortorder,
	'' as nome_progetto,
	0 as ordinamento_progetto,
	0.00 as somma_controval_needarea,
	0.00 as somma_controval_need_prog,
	0.00 as versato_need_prog,
	'' as dataSottoscrizione,
	'' as ContrattoDossier,
	'Operazioni in corso' as Descrizione,
	'' as ESG_E,
	'' as ESG_S,
	'' as ESG_G,
	'' as CatSFDR,
	'' as ESGRating,
	'' as TrendESGRating,
	PartiteViaggiantiInv as Controvalore,
	0.00 as PerformanceYTD,
	0.00 as PerformanceDS,
	'' as TipoProdotto
 from wh.Maledetti
 where i_Rete=@Rete and i_CodiceFiscale=@CodiceFiscale
 and PartiteViaggiantiInv<>'0.000'
 union all 
 select top (1)
	'Tot_P' as needarea,
	'TOTALE PATRIMONIO' as needareades,
	'103' as areasortorder,
	'' as nome_progetto,
	0 as ordinamento_progetto,
	0.00 as somma_controval_needarea,
	0.00 as somma_controval_need_prog,
	0.00 as versato_need_prog,
	'' as dataSottoscrizione,
	'' as ContrattoDossier,
	'' as Descrizione,
	'' as ESG_E,
	'' as ESG_S,
	'' as ESG_G,
	'' as CatSFDR,
	'' as ESGRating,
	'' as TrendESGRating,
	@totale_patrimonio as Controvalore,
	0.00 as PerformanceYTD,
	0.00 as PerformanceDS,
	'' as TipoProdotto
 from #temp 
 where @totale_risorse_finanziarie<>@totale_patrimonio
 --having SUM(controvaloreAttuale) is not null and SUM(controvaloreattuale)<>0.000 and SUM(controvaloreAttuale) <> @totale_risorse_finanziarie
END