108 lines
3.8 KiB
Transact-SQL
108 lines
3.8 KiB
Transact-SQL
-- Schema: C6MartPeriodico
|
|
-- Stored Procedure: PL_S82BisDatiSintetici
|
|
|
|
|
|
|
|
-- Stored procedure
|
|
|
|
|
|
-- =============================================
|
|
-- Author: Paolo Giovanetti
|
|
-- Create date: 15 gennaio 2009
|
|
-- Description: vista ORACLE S82BIS_DATI_SINTET_RIS_E_INV tradotta su SQLSERVER.
|
|
-- Punto di partenza per lo sviluppo futuro.
|
|
-- =============================================
|
|
-- [C6MartPeriodico].[PL_S82BisDatiSintetici] 'F','DNGMRA56E66D542Z'
|
|
CREATE procedure [C6MartPeriodico].[PL_S82BisDatiSintetici]
|
|
-- 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 DISTINCT
|
|
BF.ORDINAMENTO_PROGETTO,
|
|
'Inv' AS need_area,
|
|
ltrim(rtrim(ISNULL(PIRMOD.NOME_PROGETTO,BF.NOME_PROGETTO))) AS NOME_PROGETTO,
|
|
ISNULL(RA.VAR_PERC_PTF,0) AS var_needarea,
|
|
CASE
|
|
WHEN RA.COPERTURA IS NULL THEN 'n.c.'
|
|
WHEN RA.COPERTURA = 0 THEN 'n.c.'
|
|
ELSE NULL
|
|
END AS var_needareaString,
|
|
|
|
ISNULL(RA.COPERTURA,0) AS copertura_needarea,
|
|
CASE
|
|
WHEN RA.COPERTURA IS NULL THEN 'n.c.'
|
|
WHEN RA.COPERTURA = 0 THEN 'n.c.'
|
|
ELSE NULL
|
|
END AS copertura_needareaString,
|
|
PIRMOD.ORIZZ_TEMP AS orizzonte_Pianificato,
|
|
--C6MartPeriodico.getDescFromDate(DATEDIFF(m,(DATEADD(yy,PIRMOD.ORIZZ_TEMP_NUM,PIRMOD.DATA_PIANIF)) ,GETDATE()) + 1) AS durataResidua,
|
|
--DATEDIFF(m,DATEADD(yy,PIRMOD.ORIZZ_TEMP_NUM, PIRMOD.DATA_PIANIF) ,GETDATE()) + 1 AS durataResidua,
|
|
C6MartPeriodico.getDescFromDate(DATEDIFF(m,C6MartPeriodico.getTrimestre(GETDATE(),0),(DATEADD(yy,PIRMOD.ORIZZ_TEMP_NUM,PIRMOD.DATA_PIANIF)) )) AS durataResidua,
|
|
|
|
/*V Calcolato a livello di codice
|
|
CASE
|
|
WHEN BFAggr.CTV = 0 THEN 0
|
|
ELSE SUM(BF.CTV) OVER (PARTITION BY BF.RETE, BF.COD_FISCALE, BF.NOME_PROGETTO) / BFAggr.CTV * 100
|
|
END AS pesoPerc,*/
|
|
SUM(BF.CTV) OVER (PARTITION BY BF.RETE, BF.COD_FISCALE, BF.NOME_PROGETTO, bf.ordinamento_progetto) AS ControvaloreAttuale
|
|
/*V Calcolato a livello di codice
|
|
CASE
|
|
WHEN @TOTRischio = 0 THEN 0
|
|
ELSE ISNULL(RA.VAR_PERC_PTF,0) * SUM(BF.CTV) OVER (PARTITION BY BF.RETE, BF.COD_FISCALE, BF.NOME_PROGETTO) / @TOTRischio * 100
|
|
END AS rischioRelativo*/
|
|
FROM
|
|
C6MartPeriodico.PATRIMONIO_BF AS BF
|
|
LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA
|
|
ON BF.RETE = RA.RETE
|
|
AND BF.COD_FISCALE = RA.COD_FISCALE
|
|
--V AND RA.COD_AGGREG = 'PIRAMIDE|Inv'
|
|
AND RA.COD_AGGREG = 'RISFIN|PIRAMIDE|Inv|'+ BF.NOME_PROGETTO + '|' + cast(bf.ordinamento_progetto as varchar)
|
|
--
|
|
INNER JOIN C6MartPeriodico.PIRAMIDE_MOD AS PIRMOD
|
|
ON BF.RETE = PIRMOD.RETE
|
|
AND BF.COD_FISCALE = PIRMOD.COD_FISCALE
|
|
--AND BF.NOME_PROGETTO = PIRMOD.NOME_PROGETTO
|
|
AND BF.ORDINAMENTO_PROGETTO = PIRMOD.ORDINAMENTO_PROGETTO
|
|
AND PIRMOD.ID_AREA = 'Inv'
|
|
INNER JOIN C6MartPeriodico.vPatrimonioBFAggregato AS BFAggr
|
|
ON BF.RETE = BFAggr.RETE
|
|
AND BF.COD_FISCALE = BFAggr.COD_FISCALE
|
|
LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE AS MONIT
|
|
ON BF.RETE = MONIT.RETE
|
|
AND BF.COD_FISCALE = MONIT.COD_FISCALE
|
|
AND BF.ID_AREA = MONIT.ID_AREA
|
|
AND BF.NOME_PROGETTO = MONIT.NOME_PROGETTO
|
|
AND BF.ORDINAMENTO_PROGETTO = MONIT.ORDINAMENTO_PROGETTO
|
|
WHERE 1=1
|
|
AND BF.ID_AREA = 'Inv'
|
|
AND BF.RETE = @Rete
|
|
AND BF.COD_FISCALE = @CodiceFiscale
|
|
--AND BF.ORDINAMENTO_PROGETTO=1521667
|
|
END
|
|
|
|
|
|
|
|
|
|
|
|
|