-- Schema: C6Mart
-- Stored Procedure: RP_DM_PIRAMIDE_MOD

-- =============================================
-- Author:		<Author,,Name>
-- Create date: <Create Date,,>
-- Description:	<Description,,>
-- =============================================
CREATE procedure [C6Mart].[RP_DM_PIRAMIDE_MOD]
AS
BEGIN

	SET NOCOUNT ON;

	DECLARE @ID_ELAB INT
	DECLARE @TIPO_ELAB VARCHAR(1)
	
	SET @ID_ELAB = C6MART.GETIDELAB()
	SET @TIPO_ELAB = C6MART.GETTIPOELAB()

	-- Log esecuzione
	INSERT INTO LOG_ESECUZIONE
		(Nome, Inizio, Nota)
	VALUES (
		'RP_DM_PIRAMIDE_MOD',
		GETDATE(),
		'Elaborazione giornaliera'
	)

	--TRUNCATE TABLE C6MART.PIRAMIDE_MOD
	DELETE FROM C6MART.PIRAMIDE_MOD
 	INSERT INTO [C6Mart].[PIRAMIDE_MOD]
		   (
--chiaveClientePB
--		   ,
            [RETE]
		   ,[COD_FISCALE]
		   ,[ID_AREA]
		   ,[NOME_PROGETTO]
		   ,[TIPO_PROGETTO]
		   ,[PERC_AREA]
		   ,[CTV_PROGETTO]
		   ,[CTV_AREA]		   
		   ,[ORIZZ_TEMP]
		   ,[CTV_TOTALE]
		   ,[STATO_CONSULENZA]
		   ,[DATA_STATO_CONS]
		   ,[DATA_MIGR_CONS]
		   ,[ID_CONTRATTO]
		   ,[ID_ELAB]
		   ,[TIPO_ELAB])

	SELECT 
--		VCONTRATTI.chiaveClientePB,
		VCONTRATTI.rete AS RETE,
		ISNULL(VCONTRATTI.COD_FISCALE, '') AS COD_FISCALE,
		rp_pirmod.area AS ID_AREA,

		--case when isnull(rp_pirmod.area, '') = 'inv' and isnull(rp_pirmod.tipoprogetto, 0) = 1 then rp_pirmod.nomeProgetto
  --        ELSE NULL END
		-- AS NOME_PROGETTO,

		rp_pirmod.nomeProgetto AS NOME_PROGETTO,   --- NUOVO

		--en-20160916
		--case when isnull(rp_pirmod.area, '') = 'inv' and isnull(rp_pirmod.tipoprogetto, 0) = 1 then 'ProgettoInvestimento' 
		--    else 'Default'
		--    end AS TIPO_PROGETTO,
		null AS TIPO_PROGETTO,
		rp_pirmod.percentualeProgetto AS PERC_AREA,
		NULL AS CTV_PROGETTO,
		NULL AS CTV_AREA,
		rp_pirmod.durata AS ORIZZ_TEMP,
		NULL AS CTV_TOTALE,
		NULL AS STATO_CONSULENZA,
		NULL AS DATA_STATO_CONS, --ISNULL(CONVERT(DATETIME, CONSUL.C_DATAINIZIO_35C15),NULL) AS DATA_STATO_CONS, -- STRINGA IN FORMATO ISO
		NULL AS DATA_MIGR_CONS,
		NULL AS ID_CONTRATTO,
		@ID_ELAB AS ID_ELAB,
		@TIPO_ELAB AS TIPO_ELAB
		
	
	FROM C6Staging.RP_ProgettiPiramideModello AS rp_pirmod 
	INNER JOIN
		C6Mart.VCONTRATTI
	ON
		rp_pirmod.chiaveClientePB = C6Mart.VCONTRATTI.chiaveClientePB
		
	WHERE
		DtFineValidita > getdate()
		--en-201616 and ((area = 'Inv') OR (area <> 'Inv' and tipoProgetto = 0))
		and area not in ('VOID','LIGHT')    ---  AGGIUNTO 19/09

	-- Log esecuzione
	UPDATE
		LOG_ESECUZIONE
	SET
		Fine = GETDATE(),
		Tipo = 'INSERT',
		Righe = @@ROWCOUNT
	WHERE
		Nome = 'RP_DM_PIRAMIDE_MOD' AND
		Inizio = (
			SELECT
				MAX(Inizio)
			FROM
				LOG_ESECUZIONE
			WHERE
				Nome = 'RP_DM_PIRAMIDE_MOD'
		)

END



