PDC_REPORT_CreazioneDB/sql/Testbes/procedure/C6MartPeriodico_DM_MONITORAGGIO_ATTUALE.sql
2025-06-10 15:29:00 +02:00

159 lines
6.2 KiB
Transact-SQL

-- =============================================
-- Author: Paolo Giovanetti
-- Create date: 19 marzo 2009
-- Description:
-- =============================================
CREATE procedure [C6MartPeriodico].[DM_MONITORAGGIO_ATTUALE]
AS
BEGIN
SET NOCOUNT ON;
DECLARE @ID_ELAB INT
SET @ID_ELAB = [C6MartPeriodico].GETIDELAB()
-- Log esecuzione
INSERT INTO LOG_ESECUZIONE
(Nome, Inizio, Nota)
VALUES (
'DM_MONITORAGGIO_ATTUALE',
GETDATE(),
'Elaborazione trimestrale'
)
TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_ATTUALE]
INSERT INTO [C6MartPeriodico].[MONITORAGGIO_ATTUALE]
([RETE]
,[COD_FISCALE]
,[ID_AREA]
,[NOME_PROGETTO]
,[DATA_ATTIVAZIONE]
,[DATA_CTV]
,[CTV_MONITORATO]
,[APPORTO_INIZIALE]
,[APPORTO_SUCCESSIVO]
,[LIQUIDAZIONI]
,[CEDOLE_DIVIDENDI]
,[MINUS_PLUSVALENZA]
,[RISORSE_ASSOCIATE]
,[RENDIMENTO_CUMULATO]
,[RENDIMENTO_ANNUALIZZATO]
,[ORDINAMENTO_PROGETTO]
,[ID_ELAB])
-- SELECT
-- WANAB.RETE,
-- WANAB.CODFIS AS COD_FISCALE,
-- CASE
-- WHEN WANAB.CODAREA = 'INV' THEN 'Inv'
-- WHEN WANAB.CODAREA = 'RIS' THEN 'Ris'
-- WHEN WANAB.CODAREA = 'EXR' THEN 'Ext'
-- WHEN WANAB.CODAREA = 'LIQ' THEN 'Liq'
-- END AS ID_AREA,
-- ISNULL(CASE
-- WHEN PROGETTO_BOZZA.C_PROJECTIDR_51E22 IS NULL THEN PRCONSUL.C_PROJECTNAM_11D1A
-- ELSE PROGETTO_BOZZA.NUOVO_NOME_PROGETTO
-- END, 'XXX') AS NOME_PROGETTO,
-- CAST(CAST(WANAB.DTRIF AS VARCHAR(8)) AS DATETIME) AS DATA_ATTIVAZIONE,
-- CASE
-- WHEN WANAB.DTCTV = 0 THEN NULL
-- ELSE CAST(CAST(WANAB.DTCTV AS VARCHAR(8)) AS DATETIME)
-- END AS DATA_CTV,
-- WANAB.CTV AS CTV_MONITORATO,
-- WANAB.APP_INI AS APPORTO_INIZIALE,
-- WANAB.NTOT_APP AS APPORTO_SUCCESSIVO,
-- WANAB.NTOT_LIQ AS LIQUIDAZIONI,
-- WANAB.TOT_CED + WANAB.TOT_DIV AS CEDOLE_DIVIDENDI,
-- WANAB.CTV - (WANAB.APP_INI + WANAB.TOT_APP - WANAB.TOT_LIQ - WANAB.TOT_CED - WANAB.TOT_DIV) AS MINUS_PLUSVALENZA,
-- WANAB.APP_INI + WANAB.NTOT_APP - WANAB.NTOT_LIQ - WANAB.TOT_CED - WANAB.TOT_DIV AS RISORSE_ASSOCIATE,
-- WANAB.RENDATT AS RENDIMENTO_CUMULATO,
-- WANAB.RENDATT AS RENDIMENTO_ANNUALIZZATO,
-- WANAB.CODPROG AS ORDINAMENTO_PROGETTO,
-- @ID_ELAB AS ID_ELAB
--
-- FROM C6StagingPeriodico.WANAB AS WANAB
-- INNER JOIN C6StagingPeriodico.PRCONSUL AS PRCONSUL
-- ON WANAB.CODPROG = PRCONSUL.C_PROJECTIDM_1AF31
-- INNER JOIN C6StagingPeriodico.CONSAREA AS AREA
-- ON PRCONSUL.F_PCONSULENZ_B69E4 = AREA.OID$
-- INNER JOIN C6StagingPeriodico.CONSUL AS CONSUL
-- ON AREA.F_PCONSULENZ_7FBE3 = CONSUL.OID$
-- INNER JOIN C6StagingPeriodico.ALL_CF_STATO AS SCELTA_STATO
-- ON CONSUL.ADBKID = SCELTA_STATO.CF_CLIENTE
-- AND CONSUL.INSTID = SCELTA_STATO.RETE
-- AND CONSUL.TYPE$_TIPOCO_1EA7C = SCELTA_STATO.STATO_CONSULENZA
-- LEFT JOIN C6StagingPeriodico.NOME_PROGETTO_BOZZA AS PROGETTO_BOZZA
-- ON PRCONSUL.C_PROJECTIDR_51E22 = PROGETTO_BOZZA.C_PROJECTIDR_51E22
-- WHERE 1 = 1
-- AND WANAB.DTFINE = 99991231
-- AND SCELTA_STATO.FLAG_UTILIZZO_STATO = 1
--
-- UNION
SELECT
TANAB.RETE,
CASE
WHEN MANDATI.CODMAND IS NULL THEN TANAB.CODFIS
ELSE dbo.getFiduciariaByCodMand(MANDATI.CODMAND)
END AS COD_FISCALE,
CASE
WHEN TANAB.CODAREA = 'INV' THEN 'Inv'
WHEN TANAB.CODAREA = 'RIS' THEN 'Ris'
WHEN TANAB.CODAREA = 'EXR' THEN 'Ext'
WHEN TANAB.CODAREA = 'LIQ' THEN 'Liq'
END AS ID_AREA,
ISNULL(CASE
WHEN PROGETTO_BOZZA.C_PROJECTIDR_51E22 IS NULL THEN LTRIM(RTRIM(PRCONSUL.C_PROJECTNAM_11D1A))
ELSE LTRIM(RTRIM(PROGETTO_BOZZA.NUOVO_NOME_PROGETTO))
END, 'XXX') AS NOME_PROGETTO,
CAST(CAST(TANAB.DTRIF AS VARCHAR(8)) AS DATETIME) AS DATA_ATTIVAZIONE,
CASE
WHEN TANAB.DTCTV = 0 THEN NULL
ELSE CAST(CAST(TANAB.DTCTV AS VARCHAR(8)) AS DATETIME)
END AS DATA_CTV,
TANAB.CTV AS CTV_MONITORATO,
TANAB.APP_INI AS APPORTO_INIZIALE,
TANAB.NTOT_APP AS APPORTO_SUCCESSIVO,
TANAB.NTOT_LIQ AS LIQUIDAZIONI,
TANAB.TOT_CED + TANAB.TOT_DIV AS CEDOLE_DIVIDENDI,
TANAB.CTV - (TANAB.APP_INI + TANAB.NTOT_APP - TANAB.NTOT_LIQ) AS MINUS_PLUSVALENZA,
-- TANAB.APP_INI + TANAB.NTOT_APP - TANAB.NTOT_LIQ - TANAB.TOT_CED - TANAB.TOT_DIV AS RISORSE_ASSOCIATE,
TANAB.APP_INI + TANAB.NTOT_APP - TANAB.NTOT_LIQ AS RISORSE_ASSOCIATE,
cast(TANAB.RENDATT as decimal(15,2)) AS RENDIMENTO_CUMULATO,
TANAB.RENDATTANN AS RENDIMENTO_ANNUALIZZATO,
TANAB.CODPROG AS ORDINAMENTO_PROGETTO,
@ID_ELAB AS ID_ELAB
FROM C6StagingPeriodico.TANAB AS TANAB
INNER JOIN C6StagingPeriodico.PRCONSUL AS PRCONSUL
ON TANAB.CODPROG = PRCONSUL.C_PROJECTIDM_1AF31
INNER JOIN C6StagingPeriodico.CONSAREA AS AREA
ON PRCONSUL.F_PCONSULENZ_B69E4 = AREA.OID$
INNER JOIN C6StagingPeriodico.CONSUL AS CONSUL
ON AREA.F_PCONSULENZ_7FBE3 = CONSUL.OID$
INNER JOIN C6StagingPeriodico.ALL_CF_STATO AS SCELTA_STATO
ON CONSUL.ADBKID = SCELTA_STATO.CF_CLIENTE
AND CONSUL.INSTID = SCELTA_STATO.RETE
AND CONSUL.TYPE$_TIPOCO_1EA7C = SCELTA_STATO.STATO_CONSULENZA
LEFT JOIN C6StagingPeriodico.NOME_PROGETTO_BOZZA AS PROGETTO_BOZZA
ON PRCONSUL.C_PROJECTIDR_51E22 = PROGETTO_BOZZA.C_PROJECTIDR_51E22
LEFT JOIN C6StagingPeriodico.WMANDATI AS MANDATI
ON TANAB.CODFIS = MANDATI.CODMAND
WHERE 1 = 1
AND TANAB.DTFINE = 99991231
AND SCELTA_STATO.FLAG_UTILIZZO_STATO = 1
--da eliminare Trimestrale Ottobre 2012
--and TANAB.CODFIS <> '6120'
--V disabilitazione
--AND tanab.codfis not in('GRVMRZ63C14L566J','DNGMRA56E66D542Z')
-- Log esecuzione
UPDATE
LOG_ESECUZIONE
SET
Fine = GETDATE(),
Tipo = 'INSERT',
Righe = @@ROWCOUNT
WHERE
Nome = 'DM_MONITORAGGIO_ATTUALE' AND
Inizio = (
SELECT
MAX(Inizio)
FROM
LOG_ESECUZIONE
WHERE
Nome = 'DM_MONITORAGGIO_ATTUALE'
)
END