PDC_REPORT_CreazioneDB/sql/storedCollaudo/C6MartPeriodico_PL_S82DatiSintetici.sql
2025-06-06 19:02:52 +02:00

84 lines
2.6 KiB
Transact-SQL

-- Schema: C6MartPeriodico
-- Stored Procedure: PL_S82DatiSintetici
-- Stored procedure
-- =============================================
-- Author: Paolo Giovanetti
-- Create date: 15 gennaio 2009
-- Description: riporta il valore complessivo dei prodotti attualmente destinati all'area
-- di bisogno progetto (controvalore attuale) ed il relativo valore di rischio (VaR attuale)
-- =============================================
-- [C6MartPeriodico].[PL_S82DatiSintetici] 'S','MRCGST50D02H223T'
CREATE procedure [C6MartPeriodico].[PL_S82DatiSintetici]
-- Add the parameters for the stored procedure here
@Rete char(1),
@CodiceFiscale varchar(16)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
/*DECLARE @TOTRischio DECIMAL(20,2)
SELECT
@TOTRischio = SUM(ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) * PATRAREA.CTV)
FROM
C6MartPeriodico.vPatrimonioBFAggregatoPerArea AS PATRAREA INNER JOIN
C6MartPeriodico.RISCHIO_AGGREGATO AS RISCHIOAREA ON
PATRAREA.RETE = RISCHIOAREA.RETE AND
PATRAREA.COD_FISCALE = RISCHIOAREA.COD_FISCALE
WHERE
PATRAREA.ID_AREA IN ('RIS','EXT','LIQ','PRE','INV') AND
PATRAREA.RETE = @Rete AND
PATRAREA.COD_FISCALE = @CodiceFiscale*/
SELECT
PATRAREA.ID_AREA AS need_area,
ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea,
CASE
WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.'
WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.'
ELSE NULL
END AS var_needareaString,
ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea,
CASE
WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.'
WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.'
ELSE NULL
END AS copertura_needareaString,
PATRAREA.ORDINAMENTO_PROGETTO,
/*V Calcolato a livello di codice
CASE
WHEN PATRAGGR.CTV = 0 THEN 0
ELSE PATRAREA.CTV / PATRAGGR.CTV * 100
END AS pesoPerc,*/
PATRAREA.CTV AS ControvaloreAttuale
/* Calcolato a livello di codice
CASE
WHEN @TOTRischio = 0 THEN 0
ELSE ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) * PATRAREA.CTV / @TOTRischio * 100
END AS rischioRelativo*/
FROM C6MartPeriodico.vPatrimonioBFAggregatoPerArea AS PATRAREA
INNER JOIN C6MartPeriodico.vPatrimonioBFAggregato AS PATRAGGR
ON PATRAGGR.RETE = PATRAREA.Rete
AND PATRAGGR.COD_FISCALE = PATRAREA.COD_FISCALE
LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAREA
ON RISCHIOAREA.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRAREA.ID_AREA,3)
AND RISCHIOAREA.RETE = PATRAREA.Rete
AND RISCHIOAREA.COD_FISCALE = PATRAREA.COD_FISCALE
WHERE 1=1
AND PATRAREA.RETE = @Rete
AND PATRAREA.COD_FISCALE = @CodiceFiscale
AND PATRAREA.ID_AREA IN ('RIS','EXT','LIQ','PRE')
END