-- [C6martPeriodico].PL_MP_S143DistibuzionePerEmittente 'f','SLBBRT27A42Z127N'
CREATE procedure [C6MartPeriodico].[PL_MP_S143DistibuzionePerEmittente] --'F','SRGFRC62H07C933N'
	@Rete char(1), 
	@CodiceFiscale varchar(16)
AS
BEGIN
	SET NOCOUNT ON;
	DECLARE @sumCTV Decimal(15,3) =
	   (SELECT isnull(sum(BF.ctv), 0.0)
		FROM c6MartPeriodico.ANAG_PRODOTTI ANAG
		INNER JOIN c6MartPeriodico.patrimonio_BF BF
		ON ANAG.COD_PRODOTTO = BF.COD_PRODOTTO
		AND BF.rete = @Rete
		AND BF.cod_fiscale = @CodiceFiscale
		AND NOT ANAG.TIPO_EMITTENTE is null
		AND ANAG.FLG_OB='S')
-- Fc17/12/2013 Ridistribuita la percentuale 
SELECT   
   isnull(ANAG.TIPO_EMITTENTE,'Altro') as TIPOEMITTENTE,  
   isnull(sum(BF.ctv),0) as CONTROVALORE,
    CASE 
    when ANAG.TIPO_EMITTENTE is null then 0
    else 
      -- FerAcu 20240803 errore divisione per zero
      --isnull(sum(BF.ctv) / ((SELECT sum(BF.ctv)
	  --				FROM c6MartPeriodico.ANAG_PRODOTTI ANAG
	  --				INNER JOIN c6MartPeriodico.patrimonio_BF BF
	  --				ON ANAG.COD_PRODOTTO = BF.COD_PRODOTTO
	  --				AND BF.rete = @Rete
	  --				AND BF.cod_fiscale = @CodiceFiscale
	  --				AND NOT ANAG.TIPO_EMITTENTE is null
	  --				AND ANAG.FLG_OB='S')/100),0)  
	  CASE WHEN @sumCTV = 0.0 Then 0.000
	       ELSE isNull(sum(BF.ctv), 0.000) / (@sumCTV / 100)
	  END
	End				
	AS Percentage,
    CASE ANAG.TIPO_EMITTENTE
 		WHEN 'Agency' THEN  93
		WHEN 'Governativo' THEN 123 
		WHEN 'Emergente' THEN 200 
		WHEN 'Sovranazionale' THEN  221
		WHEN 'Corporate' THEN 255 
		ELSE 235 
    END AS Red,
    CASE ANAG.TIPO_EMITTENTE
		WHEN 'Agency' THEN  132
		WHEN 'Governativo' THEN 168 
		WHEN 'Emergente' THEN 126 
		WHEN 'Sovranazionale' THEN 192 
		WHEN 'Corporate' THEN 245 
		ELSE 235 
    END AS Green,
    CASE ANAG.TIPO_EMITTENTE
		WHEN 'Agency' THEN 111 
		WHEN 'Governativo' THEN 145 
		WHEN 'Emergente' THEN 99 
		WHEN 'Sovranazionale' THEN 115  
		WHEN 'Corporate' THEN 210 
		ELSE 236
    END AS Blue
 FROM c6MartPeriodico.ANAG_PRODOTTI ANAG
	INNER JOIN c6MartPeriodico.patrimonio_BF BF
	ON ANAG.COD_PRODOTTO = BF.COD_PRODOTTO
	AND BF.rete = @Rete
	AND BF.cod_fiscale = @CodiceFiscale
	AND ANAG.FLG_OB='S'
GROUP BY ANAG.TIPO_EMITTENTE 
ORDER BY TIPOEMITTENTE
END