PDC_REPORT_CreazioneDB/sql/Produzione/procedure/C6MartPeriodico_PL_D_S158PiramideModello.sql
2025-06-10 15:29:00 +02:00

51 lines
2.5 KiB
SQL

-- =============================================
-- Author: Paolo Giovanetti
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
-- [C6MartPeriodico].[PL_D_S158PiramideModello] 'F','CLRLCU75R04B573X'
CREATE procedure [C6MartPeriodico].[PL_D_S158PiramideModello]
@Rete char(1),
@CodiceFiscale varchar(16)
AS
BEGIN
SELECT BF.NOME_PROGETTO AS NomePrg,
PIRMOD.ORIZZ_TEMP AS OrizzTempPrg,
AGGR.VAR_PERC_PTF as VarPrg,
SUM(BF.CTV)AS ControvalorePrg
FROM C6MartPeriodico.PATRIMONIO_BF BF
INNER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AGGR
ON BF.RETE= AGGR.RETE
AND BF.COD_FISCALE= AGGR.COD_FISCALE
AND AGGR.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(BF.ID_AREA,3) + '|' + BF.NOME_PROGETTO
INNER JOIN C6MartPeriodico.PIRAMIDE_MOD PIRMOD
ON BF.RETE= PIRMOD.RETE
AND BF.COD_FISCALE= PIRMOD.COD_FISCALE
AND BF.ID_AREA = PIRMOD.ID_AREA
AND BF.NOME_PROGETTO = PIRMOD.NOME_PROGETTO
WHERE 1=1
AND BF.ID_AREA = 'inv'
AND BF.RETE = @Rete
AND BF.COD_FISCALE = @CodiceFiscale
AND BF.CTV > 0
group BY BF.NOME_PROGETTO,PIRMOD.ORIZZ_TEMP,AGGR.VAR_PERC_PTF
--SELECT
-- AREA_BISOGNO.ID_AREA AS Need_Breve, -- NOME BREVE DELL'AREA DI BISOGNO
-- PIRMOD.NOME_PROGETTO AS Nome_Progetto, -- NOME DEL PROGETTO (AREA INV)
-- ISNULL(PIRMOD.PERC_AREA,0) AS Perc_Need, -- PERCENTUALE DI ALLOCAZIONE SULL'AREA DI BISOGNO
-- PIRMOD.ORIZZ_TEMP AS Orizz_Temp, -- ORIZZONTE TEMPORALE DEL PROGETTO
-- PIRMOD.CTV_PROGETTO AS Controvalore, -- Controvalore Progetto
-- SUM(ISNULL(PIRMOD.PERC_AREA,0)) OVER (PARTITION BY PIRMOD.RETE, PIRMOD.COD_FISCALE, AREA_BISOGNO.ID_AREA) AS Totale_Percentuale, -- PERCENTUALE DI ALLOCAZIONE DEI PROGETTI
-- SUM(ISNULL(PIRMOD.PERC_AREA,0)) OVER (PARTITION BY PIRMOD.RETE, PIRMOD.COD_FISCALE) AS Totale,
-- COUNT(CASE WHEN AREA_BISOGNO.ID_AREA = 'INV' AND PIRMOD.NOME_PROGETTO IS NOT NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PIRMOD.RETE, PIRMOD.COD_FISCALE) AS NumeroProgettiInv,
-- AREA_BISOGNO.ORDINAMENTO AS Ordinamento
--FROM C6MartPeriodico.AREA_BISOGNO
--LEFT JOIN C6MartPeriodico.PIRAMIDE_MOD PIRMOD
-- ON PIRMOD.ID_AREA = AREA_BISOGNO.ID_AREA
-- AND((PIRMOD.ID_AREA = 'INV' AND PIRMOD.NOME_PROGETTO IS NOT NULL )--OR PIRAMIDE_MOD.tipo_progetto<>'Default'
-- OR PIRMOD.ID_AREA IN ('RIS','EXT','LIQ','PRE'))
-- AND PIRMOD.RETE = @Rete
-- AND PIRMOD.COD_FISCALE = @CodiceFiscale
--WHERE AREA_BISOGNO.ORDINAMENTO < 6
--ORDER BY AREA_BISOGNO.ORDINAMENTO
END