-- Schema: C6MartPeriodico
-- Stored Procedure: DM_PARTITE_VIAGGIANTI_pre_selective



-- =============================================
-- Author:		<Author,,Name>
-- Create date: <Create Date,,>
-- Description:	<Description,,>
-- =============================================
CREATE procedure [C6MartPeriodico].[DM_PARTITE_VIAGGIANTI_pre_selective]
AS
BEGIN
	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
		(Nome, Inizio, Nota)
	VALUES (
		'DM_PARTITE_VIAGGIANTI_pre_selective',
		GETDATE(),
		'Elaborazione trimestrale'
	)

	TRUNCATE TABLE C6MARTPERIODICO.PARTITE_VIAGGIANTI

	INSERT INTO C6MartPeriodico.PARTITE_VIAGGIANTI
		(RETE
		,COD_FISCALE
		,IMPORTO
		,ID_ELAB
		,TIPO_ELAB)
	SELECT
		WSEIPV.RETE AS RETE,
		case when isnull(codman,'') ='' then  WSEIPV.CODFIS else 'FF@'+ codman end AS COD_FISCALE,
		SUM(IMPVER) AS IMPORTO,
		@ID_ELAB,
		@TIPO_ELAB
	FROM
		C6StagingPeriodico.WSEIPV
	WHERE
		WSEIPV.DTTRIM = (
			SELECT
				MAX(DTTRIM)
			FROM
				C6StagingPeriodico.WSEIPV
		)
	GROUP BY
		WSEIPV.RETE,
		case when isnull(codman,'') ='' then  WSEIPV.CODFIS else 'FF@'+ codman end

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

END




