-- =============================================
-- Author:		<Author,,Name>
-- Create date: <Create Date,,>
-- Description:	<Description,,>
-- =============================================
CREATE procedure [C6MartPeriodico].[RP_DM_ANAG_PROMOTORI_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 (
		'RP_DM_ANAG_PROMOTORI_pre_selective',
		GETDATE(),
		'Elaborazione trimestrale'
	)
	TRUNCATE TABLE C6MartPeriodico.ANAG_PROMOTORI
	INSERT INTO [C6MartPeriodico].[ANAG_PROMOTORI]
		   ([RETE]
		   ,[ID_PROMOTORE]
		   ,[LIVELLO]
		   ,[COD_FISCALE]
		   ,[PARTITA_IVA]
		   ,[COGNOME]
		   ,[NOME]
		   ,[RAG_SOC]
		   ,[DATA_INIZIO]
		   ,[DATA_FINE]
		   ,[INDIRIZZO]
		   ,[LOCALITA]
		   ,[PROVINCIA]
		   ,[CAP]
		   ,[NAZIONE]
		   ,[TEL_RECAPITO]
		   ,[TEL_CELL]
		   ,[E_MAIL]
		   ,[COD_ABI]
		   ,[COD_CAB]
		   ,[COD_CIN]
		   ,[COD_CC]
		   ,[STATO]
		   ,[ID_ELAB]
		   ,[TIPO_ELAB])
	SELECT DISTINCT
		PB.RETE AS RETE,
		PB.codage AS ID_PROMOTORE,
        'PB' AS LIVELLO,
		--SPB_NAC.LIVELLONELLAGERARCHIA AS LIVELLO,
		NULL AS COD_FISCALE,
		NULL AS PARTITA_IVA,
		rtrim(ltrim(PB.COGNOME)) AS COGNOME,
		rtrim(ltrim(PB.NOME)) AS NOME,
		NULL AS RAG_SOC,
		NULL AS DATA_INIZIO,
		NULL AS DATA_FINE,
		--CASE WHEN PB.DataInizioCollaborazione=0 THEN  NULL ELSE
		--CAST(CAST(PB.DataInizioCollaborazione AS VARCHAR(8)) AS DATETIME) END AS DATA_INIZIO,
		--CASE WHEN PB.DataFineCollaborazione=0 THEN  NULL ELSE
		--CAST(CAST(PB.DataFineCollaborazione AS VARCHAR(8)) AS DATETIME) END AS DATA_FINE,
		rtrim(ltrim(PB.INDIRIZZO)) AS INDIRIZZO,
		rtrim(ltrim(PB.CITTA)) AS LOCALITA,
		rtrim(ltrim(PB.PROVINCIA)) AS PROVINCIA,
		rtrim(ltrim(PB.CAP)) AS CAP,
		NULL AS NAZIONE,
		rtrim(ltrim(PB.PREFISSO + PB.TELEFONO1)) AS TEL_RECAPITO,
		NULL AS TEL_CELL,
		rtrim(ltrim(EMAIL_PB.EMAIL)) AS E_MAIL,
		NULL AS COD_ABI,
		NULL AS COD_CAB,
		NULL AS COD_CIN,
		NULL AS COD_CC,
		--CASE 
		--	WHEN SPB_NAC.CODICEAGENTE IS NULL THEN 'TERMINATO' 
		--	ELSE 
				CASE 
					WHEN PF.RETE IS NULL THEN 'ATTIVO'
					ELSE 'FITTIZIO'
				END
		--END 
		AS STATO,
		@ID_ELAB AS ID_ELAB,
		@TIPO_ELAB AS TIPO_ELAB
	FROM C6StagingPeriodico.RP_anagrafica_promotori PB
	LEFT JOIN C6MartPeriodico.EMAIL_PB EMAIL_PB
		ON PB.RETE = EMAIL_PB.RETE
		AND PB.codage = EMAIL_PB.CODICE
--	LEFT JOIN C6STAGING.SPB_NAC SPB_NAC
--		ON PB.RETE = SPB_NAC.CODICERETE
--		AND PB.codage = SPB_NAC.CODICEAGENTE
	LEFT JOIN C6MartPeriodico.CODICI_PROMOTORI_FITTIZI PF
		ON (PB.codage  BETWEEN PF.CODICEDA AND PF.CODICEA)
		AND PB.RETE = PF.RETE
WHERE
    PB.stato = 'A'
	--Aggiunta Valerio non inserisco in anagrafica pb terminati in quanto non hanno il livello 
--	and SPB_NAC.CODICEAGENTE is not null
    --AND ADS4WS_PROMOTORI.CODICE NOT IN ('009202')--,'014908')
---eliminato il filtro su '005772' 04/08/2010
---eliminato il filtro su'003064' 12/08/2010
---eliminato il filtro su '010712'
	-- Log esecuzione
	UPDATE
		LOG_ESECUZIONE
	SET
		Fine = GETDATE(),
		Tipo = 'INSERT',
		Righe = @@ROWCOUNT
	WHERE
		Nome = 'RP_DM_ANAG_PROMOTORI_pre_selective' AND
		Inizio = (
			SELECT
				MAX(Inizio)
			FROM
				LOG_ESECUZIONE
			WHERE
				Nome = 'RP_DM_ANAG_PROMOTORI_pre_selective'
		)
END