202 lines
7.1 KiB
Transact-SQL
202 lines
7.1 KiB
Transact-SQL
--select ordinamento_progetto,id_area,*
|
|
--FROM
|
|
-- C6MARTPERIODICO.PATRIMONIO_BF
|
|
-- WHERE
|
|
-- 1=1
|
|
-- AND ID_AREA not in ('Na', 'Cc')
|
|
-- and ctv >0
|
|
-- and cod_fiscale = 'GNGFRZ63H17D810C'
|
|
-- and id_area like 'pre%'
|
|
--
|
|
--select * from c6martperiodico.cons_attivaggiornata
|
|
--where cod_fiscale = 'GNGFRZ63H17D810C'
|
|
-- =============================================
|
|
-- Author: ALESSANDRO TRINGALI
|
|
-- Create date: < 26/09/2009>
|
|
-- Description: <Consulenza Aggiornata>
|
|
-- =============================================
|
|
--[C6MartPeriodico]. [CONS_ATTIVAGGIORNATA]
|
|
CREATE procedure [C6MartPeriodico].[DM_CONS_ATTIVAGGIORNATA]
|
|
-- Add the parameters for the stored procedure here
|
|
-- Add the parameters for the stored procedure here
|
|
AS
|
|
BEGIN
|
|
-- riportare le logiche nelle rispettive sp di PL
|
|
SET NOCOUNT ON;
|
|
DECLARE @ID_ELAB INT
|
|
DECLARE @TIPO_ELAB VARCHAR(1)
|
|
SET @ID_ELAB = C6MartPeriodico.GETIDELAB()
|
|
SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB()
|
|
-- Log esecuzione
|
|
INSERT INTO LOG_ESECUZIONE_PERIODICO
|
|
(Nome, Inizio, Nota)
|
|
VALUES (
|
|
'DM_CONS_ATTIVAGGIORNATA',
|
|
GETDATE(),
|
|
'Elaborazione trimestrale'
|
|
)
|
|
TRUNCATE TABLE [C6MartPeriodico]. [CONS_ATTIVAGGIORNATA]
|
|
INSERT INTO [C6MartPeriodico]. [CONS_ATTIVAGGIORNATA]
|
|
( [RETE]
|
|
,[COD_FISCALE]
|
|
,[ID_AREA]
|
|
,[NOME_PROGETTO]
|
|
,[TIPO_PROGETTO]
|
|
,[PERC_AREA]
|
|
,[CTV_PROGETTO]
|
|
,[CTV_AREA]
|
|
,[ORIZZ_TEMP_NUM]
|
|
,[ORIZZ_TEMP]
|
|
,[CTV_TOTALE]
|
|
,[STATO_CONSULENZA]
|
|
,[DATA_STATO_CONS]
|
|
,[DATA_MIGR_CONS]
|
|
,[DATA_PIANIF]
|
|
,[ID_CONTRATTO]
|
|
,[ORDINAMENTO_PROGETTO])
|
|
SELECT
|
|
[RETE]
|
|
,[COD_FISCALE]
|
|
,CASE WHEN ID_AREA IN ('Pre','Pre1','Pre2') THEN 'Pre' ELSE ID_AREA END AS ID_AREA
|
|
,[NOME_PROGETTO]
|
|
,[TIPO_PROGETTO]
|
|
,(MAX(ISNULL(CTV_AREA,0))/MAX(ISNULL(CTV_TOTALE,0)))*100 AS PERC_AREA
|
|
, MAX(CTV_PROGETTO) AS CTV_PROGETTO
|
|
,MAX(CTV_AREA) AS CTV_aREA
|
|
,max([ORIZZ_TEMP_NUM])
|
|
,max([ORIZZ_TEMP])
|
|
,MAX(CTV_TOTALE) AS CTV_TOTALE
|
|
,MAX([STATO_CONSULENZA]) AS STATO_CONSULENZA
|
|
,MAX([DATA_STATO_CONS]) AS DATA_sTATO_CONS
|
|
,max([DATA_MIGR_CONS]) as DATA_MIGR_CONS
|
|
,MAX(DATA_PIANIF) AS DATA_PIANIF
|
|
,[ID_CONTRATTO]
|
|
,[ORDINAMENTO_PROGETTO]
|
|
FROM
|
|
(
|
|
SELECT
|
|
COD_FISCALE,
|
|
RETE,
|
|
ID_AREA,
|
|
NOME_PROGETTO,
|
|
CTV,
|
|
0 AS ID_CONTRATTO,
|
|
[ORDINAMENTO_PROGETTO],
|
|
[tipo_progetto],
|
|
SUM(C6MARTPERIODICO.PATRIMONIO_BF.CTV) OVER (PARTITION BY COD_FISCALE, SUBSTRING(ID_AREA,1,3), NOME_PROGETTO) CTV_PROGETTO,
|
|
SUM(C6MARTPERIODICO.PATRIMONIO_BF.CTV) OVER (PARTITION BY COD_FISCALE, RETE,SUBSTRING(ID_AREA,1,3)) CTV_AREA,
|
|
MAX([ORIZZ_TEMP_NUM])OVER (PARTITION BY COD_FISCALE, RETE, SUBSTRING(ID_AREA,1,3), ORDINAMENTO_PROGETTO) AS [ORIZZ_TEMP_NUM],
|
|
MAX([ORIZZ_TEMP])OVER (PARTITION BY COD_FISCALE, RETE, SUBSTRING(ID_AREA,1,3), ORDINAMENTO_PROGETTO) [ORIZZ_TEMP],
|
|
SUM([CTV])OVER (PARTITION BY COD_FISCALE) AS CTV_TOTALE,
|
|
MAX([STATO_CONSULENZA])OVER (PARTITION BY COD_FISCALE, RETE) AS [STATO_CONSULENZA],
|
|
MAX([DATA_STATO_CONS])OVER (PARTITION BY COD_FISCALE, RETE) AS [DATA_STATO_CONS] ,
|
|
MAX([DATA_MIGR_CONS])OVER (PARTITION BY COD_FISCALE, RETE) AS [DATA_MIGR_CONS] ,
|
|
MAX([DATA_PIANIF])OVER (PARTITION BY COD_FISCALE, RETE ) AS DATA_PIANIF
|
|
FROM
|
|
C6MARTPERIODICO.PATRIMONIO_BF
|
|
WHERE
|
|
1=1
|
|
AND ID_AREA not in ('Na', 'Cc','Pre','Pre1','Pre2')
|
|
and ctv >0
|
|
) K
|
|
GROUP BY
|
|
COD_FISCALE
|
|
,RETE
|
|
,CASE WHEN ID_AREA IN ('Pre','Pre1','Pre2') THEN 'Pre' ELSE ID_AREA END
|
|
,[NOME_PROGETTO]
|
|
,[TIPO_PROGETTO]
|
|
,[ID_CONTRATTO]
|
|
,[ORDINAMENTO_PROGETTO]
|
|
INSERT INTO [C6MartPeriodico]. [CONS_ATTIVAGGIORNATA]
|
|
( [RETE]
|
|
,[COD_FISCALE]
|
|
,[ID_AREA]
|
|
,[NOME_PROGETTO]
|
|
,[TIPO_PROGETTO]
|
|
,[PERC_AREA]
|
|
,[CTV_PROGETTO]
|
|
,[CTV_AREA]
|
|
,[ORIZZ_TEMP_NUM]
|
|
,[ORIZZ_TEMP]
|
|
,[CTV_TOTALE]
|
|
,[STATO_CONSULENZA]
|
|
,[DATA_STATO_CONS]
|
|
,[DATA_MIGR_CONS]
|
|
,[DATA_PIANIF]
|
|
,[ID_CONTRATTO]
|
|
,[ORDINAMENTO_PROGETTO])
|
|
SELECT
|
|
[RETE]
|
|
,[COD_FISCALE]
|
|
,CASE WHEN ID_AREA IN ('Pre','Pre1','Pre2') THEN 'Pre' ELSE ID_AREA END AS ID_AREA
|
|
,[NOME_PROGETTO]
|
|
,[TIPO_PROGETTO]
|
|
,(MAX(ISNULL(CTV_AREA,0))/MAX(ISNULL(CTV_TOTALE,0)))*100 AS PERC_AREA
|
|
, MAX(CTV_PROGETTO) AS CTV_PROGETTO
|
|
,MAX(CTV_AREA) AS CTV_aREA
|
|
,max([ORIZZ_TEMP_NUM])
|
|
,max([ORIZZ_TEMP])
|
|
,MAX(CTV_TOTALE) AS CTV_TOTALE
|
|
,MAX([STATO_CONSULENZA]) AS STATO_CONSULENZA
|
|
,MAX([DATA_STATO_CONS]) AS DATA_sTATO_CONS
|
|
,max([DATA_MIGR_CONS]) as DATA_MIGR_CONS
|
|
,MAX(DATA_PIANIF) AS DATA_PIANIF
|
|
,[ID_CONTRATTO]
|
|
,MAX([ORDINAMENTO_PROGETTO])
|
|
FROM
|
|
(
|
|
SELECT
|
|
COD_FISCALE,
|
|
RETE,
|
|
ID_AREA,
|
|
NOME_PROGETTO,
|
|
CTV,
|
|
0 AS ID_CONTRATTO,
|
|
[ORDINAMENTO_PROGETTO],
|
|
case
|
|
when extranac = 1
|
|
then 'Default'
|
|
else tipo_progetto
|
|
end as tipo_progetto,
|
|
SUM(C6MARTPERIODICO.PATRIMONIO_BF.CTV) OVER (PARTITION BY COD_FISCALE, SUBSTRING(ID_AREA,1,3), NOME_PROGETTO) CTV_PROGETTO,
|
|
SUM(C6MARTPERIODICO.PATRIMONIO_BF.CTV) OVER (PARTITION BY COD_FISCALE, RETE,SUBSTRING(ID_AREA,1,3)) CTV_AREA,
|
|
MAX([ORIZZ_TEMP_NUM])OVER (PARTITION BY COD_FISCALE, RETE, SUBSTRING(ID_AREA,1,3), ORDINAMENTO_PROGETTO) AS [ORIZZ_TEMP_NUM],
|
|
MAX([ORIZZ_TEMP])OVER (PARTITION BY COD_FISCALE, RETE, SUBSTRING(ID_AREA,1,3), ORDINAMENTO_PROGETTO) [ORIZZ_TEMP],
|
|
SUM([CTV])OVER (PARTITION BY COD_FISCALE) AS CTV_TOTALE,
|
|
MAX([STATO_CONSULENZA])OVER (PARTITION BY COD_FISCALE, RETE) AS [STATO_CONSULENZA],
|
|
MAX([DATA_STATO_CONS])OVER (PARTITION BY COD_FISCALE, RETE) AS [DATA_STATO_CONS] ,
|
|
MAX([DATA_MIGR_CONS])OVER (PARTITION BY COD_FISCALE, RETE) AS [DATA_MIGR_CONS] ,
|
|
MAX([DATA_PIANIF])OVER (PARTITION BY COD_FISCALE, RETE ) AS DATA_PIANIF
|
|
FROM
|
|
C6MARTPERIODICO.PATRIMONIO_BF
|
|
WHERE
|
|
1=1
|
|
AND ID_AREA in ('Pre','Pre1','Pre2')
|
|
and ctv >0
|
|
) K
|
|
GROUP BY
|
|
COD_FISCALE
|
|
,RETE
|
|
,CASE WHEN ID_AREA IN ('Pre','Pre1','Pre2') THEN 'Pre' ELSE ID_AREA END
|
|
,[NOME_PROGETTO]
|
|
,[TIPO_PROGETTO]
|
|
,[ID_CONTRATTO]
|
|
--,[ORDINAMENTO_PROGETTO]
|
|
-- Log esecuzione
|
|
UPDATE
|
|
LOG_ESECUZIONE_PERIODICO
|
|
SET
|
|
Fine = GETDATE(),
|
|
Tipo = 'INSERT',
|
|
Righe = @@ROWCOUNT
|
|
WHERE
|
|
Nome = 'DM_CONS_ATTIVAGGIORNATA' AND
|
|
Inizio = (
|
|
SELECT
|
|
MAX(Inizio)
|
|
FROM
|
|
LOG_ESECUZIONE_PERIODICO
|
|
WHERE
|
|
Nome = 'DM_CONS_ATTIVAGGIORNATA'
|
|
)
|
|
END |