-- Stored procedure
-- =============================================
-- Author:		Paolo Giovanetti
-- Create date: 19 marzo 2009
-- Description:	
-- =============================================
CREATE procedure [C6MartPeriodico].[DM_MONITORAGGIO_STORICO_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_STORICO_pre_selective',
		GETDATE(),
		'Elaborazione trimestrale'
	)
	TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_STORICO] 
	INSERT INTO [C6MartPeriodico].[MONITORAGGIO_STORICO]
           ([RETE]
           ,[COD_FISCALE]
           ,[ID_AREA]
           ,[NOME_PROGETTO]
           ,[DATA_CTV]
           ,[CTV_MONITORATO]
           ,[RISORSE_ASSOCIATE]
           ,[ID_ELAB]
           ,CEDOLE_DIV
			,ordinamento_progetto)
	SELECT
           TANAB.RETE AS 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(WRENAB.DTVALORIZ AS VARCHAR(8)) AS DATETIME) AS DATA_CTV,
           WRENAB.CTV AS CTV_MONITORATO,
           WRENAB.CVN AS RISORSE_ASSOCIATE,
           @ID_ELAB AS ID_ELAB,
           (TANAB.TOT_CED + TANAB.TOT_DIV) AS CEDOLE_DIV,
			tanab.codprog
	FROM C6STAGINGPERIODICO.TANAB AS TANAB
	INNER JOIN C6StagingPeriodico.TRENAB AS WRENAB
		ON TANAB.CODPROG = WRENAB.CODPROG
		AND TANAB.DTRIF = WRENAB.DTRIF
	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 OUTER JOIN C6StagingPeriodico.WMANDATI AS MANDATI
		ON TANAB.CODFIS = MANDATI.CODMAND
	WHERE 1 = 1
	AND TANAB.DTFINE = '99991231'
	AND SCELTA_STATO.FLAG_UTILIZZO_STATO = 1
	--and tanab.codfis not in('GRVMRZ63C14L566J','DNGMRA56E66D542Z')
--	UNION
--
--	SELECT
--           TANAB.RETE AS 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 PRCONSUL.C_PROJECTNAM_11D1A
--				ELSE PROGETTO_BOZZA.NUOVO_NOME_PROGETTO
--		   END, 'XXX') AS NOME_PROGETTO,
--           CAST(CAST(TRENAB.DTVALORIZ AS VARCHAR(8)) AS DATETIME) AS DATA_CTV,
--           TRENAB.CTV AS CTV_MONITORATO,
--           TRENAB.CVN AS RISORSE_ASSOCIATE,
--           @ID_ELAB AS ID_ELAB
--
--	FROM C6STAGINGPERIODICO.TANAB AS TANAB
--	INNER JOIN C6StagingPeriodico.TRENAB AS TRENAB
--		ON TANAB.CODPROG = TRENAB.CODPROG
--		AND TANAB.DTRIF = TRENAB.DTRIF
--	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 OUTER JOIN C6StagingPeriodico.WMANDATI AS MANDATI
--		ON TANAB.CODFIS = MANDATI.CODMAND
--	WHERE 1 = 1
--	AND TANAB.DTFINE = '99991231'
--	AND SCELTA_STATO.FLAG_UTILIZZO_STATO = 1
-- Log esecuzione
	UPDATE
		LOG_ESECUZIONE
	SET
		Fine = GETDATE(),
		Tipo = 'INSERT',
		Righe = @@ROWCOUNT
	WHERE
		Nome = 'DM_MONITORAGGIO_STORICO_pre_selective' AND
		Inizio = (
			SELECT
				MAX(Inizio)
			FROM
				LOG_ESECUZIONE
			WHERE
				Nome = 'DM_MONITORAGGIO_STORICO_pre_selective'
		)
END
---------------------------------------------------------------------------------------------------------------------
/****** Object:  StoredProcedure [C6MartPeriodico].[PL_S84ControvaloreRisorseApportate]    Script Date: 12/02/2010 13:24:00 ******/
SET ANSI_NULLS ON