-- =============================================
-- Author:		Paolo Giovanetti
-- Create date: 19 marzo 2009
-- Description:	
-- =============================================
CREATE procedure [C6MartPeriodico].[DM_MONITORAGGIO_ATTUALE_pre_selective]
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_pre_selective',
		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_pre_selective' AND
		Inizio = (
			SELECT
				MAX(Inizio)
			FROM
				LOG_ESECUZIONE
			WHERE
				Nome = 'DM_MONITORAGGIO_ATTUALE_pre_selective'
		)
END