-- Schema: C6MartPeriodico -- Stored Procedure: PL_MP_S144DistibuzionePerScadenze -- [C6martPeriodico].PL_MP_S144DistibuzionePerScadenze 'f','00164770307' CREATE procedure [C6MartPeriodico].[PL_MP_S144DistibuzionePerScadenze] @Rete char(1), @CodiceFiscale varchar(16) AS BEGIN SET NOCOUNT ON; DECLARE @DTTRIM datetime SET @DTTRIM = c6martperiodico.gettrimestre2(getdate(),0) SELECT T.SCADENZA, T.CONTROVALORE , ISNULL(sum(CONTROVALORE) / ((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 ANAG.FLG_OB='S' AND ANAG.DT_SCADENZA >= @DTTRIM)/100),0) AS Percentage, CASE T.SCADENZA WHEN 'Meno di 1 anno' THEN 128 WHEN 'Da 1 a 3 anni' THEN 161 WHEN 'Da 3 a 7 anni' THEN 193 WHEN 'Pił di 7 anni' THEN 224 ELSE 255 END AS Red, CASE T.SCADENZA WHEN 'Meno di 1 anno' THEN 153 WHEN 'Da 1 a 3 anni' THEN 177 WHEN 'Da 3 a 7 anni' THEN 202 WHEN 'Pił di 7 anni' THEN 228 ELSE 255 END AS Green, CASE T.SCADENZA WHEN 'Meno di 1 anno' THEN 136 WHEN 'Da 1 a 3 anni' THEN 163 WHEN 'Da 3 a 7 anni' THEN 193 WHEN 'Pił di 7 anni' THEN 223 ELSE 255 END AS Blue FROM ( SELECT 'Meno di 1 anno' as SCADENZA, ISNULL(sum(BF.ctv),0) as CONTROVALORE, 1 AS ORDINE 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 DATEDIFF(d, GETDATE(),ANAG.DT_SCADENZA) <= 365 AND ANAG.FLG_OB='S' AND ANAG.DT_SCADENZA >= @DTTRIM UNION SELECT 'Da 1 a 3 anni' as SCADENZA, ISNULL(sum(BF.ctv),0) as CONTROVALORE, 2 AS ORDINE 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 DATEDIFF(d, GETDATE(),ANAG.DT_SCADENZA) BETWEEN 365+1 and 365*3 AND ANAG.FLG_OB='S' AND ANAG.DT_SCADENZA >= @DTTRIM UNION SELECT 'Da 3 a 7 anni' as SCADENZA, ISNULL(sum(BF.ctv),0) as CONTROVALORE, 3 AS ORDINE 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 DATEDIFF(d, GETDATE(),ANAG.DT_SCADENZA) BETWEEN 365*3+1 and 365*7 AND ANAG.FLG_OB='S' AND ANAG.DT_SCADENZA >= @DTTRIM UNION SELECT 'Pił di 7 anni' as SCADENZA, ISNULL(sum(BF.ctv),0) as CONTROVALORE, 4 AS ORDINE 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 DATEDIFF(d, GETDATE(),ANAG.DT_SCADENZA) >= 365*7+1 AND ANAG.FLG_OB='S' AND ANAG.DT_SCADENZA >= @DTTRIM ) T WHERE T.CONTROVALORE > 0 GROUP BY T.SCADENZA,T.CONTROVALORE,T.ORDINE ORDER BY T.ORDINE END