-- Schema: C6Mart
-- Stored Procedure: DM_ANAG_PROMOTORI



-- =============================================
-- Author:		<Author,,Name>
-- Create date: <Create Date,,>
-- Description:	<Description,,>
-- =============================================
CREATE procedure [C6Mart].[DM_ANAG_PROMOTORI]
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 (
		'DM_ANAG_PROMOTORI',
		GETDATE(),
		'Elaborazione giornaliera'
	)

	TRUNCATE TABLE C6MART.ANAG_PROMOTORI

	INSERT INTO [C6Mart].[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
		ADS4WS_PROMOTORI.RETE AS RETE,
		ADS4WS_PROMOTORI.CODICE AS ID_PROMOTORE,
		SPB_NAC.LIVELLONELLAGERARCHIA AS LIVELLO,
		NULL AS COD_FISCALE,
		NULL AS PARTITA_IVA,
		rtrim(ltrim(ADS4WS_PROMOTORI.COGNOME)) AS COGNOME,
		rtrim(ltrim(ADS4WS_PROMOTORI.NOME)) AS NOME,
		NULL AS RAG_SOC,
		CASE WHEN ADS4WS_PROMOTORI.DataInizioCollaborazione=0 THEN  NULL ELSE
		CAST(CAST(ADS4WS_PROMOTORI.DataInizioCollaborazione AS VARCHAR(8)) AS DATETIME) END AS DATA_INIZIO,
		CASE WHEN ADS4WS_PROMOTORI.DataFineCollaborazione=0 THEN  NULL ELSE
		CAST(CAST(ADS4WS_PROMOTORI.DataFineCollaborazione AS VARCHAR(8)) AS DATETIME) END AS DATA_FINE,		
		rtrim(ltrim(ADS4WS_PROMOTORI.INDIRIZZO)) AS INDIRIZZO,
		rtrim(ltrim(ADS4WS_PROMOTORI.CITTA)) AS LOCALITA,
		rtrim(ltrim(ADS4WS_PROMOTORI.PROVINCIA)) AS PROVINCIA,
		rtrim(ltrim(ADS4WS_PROMOTORI.CAP)) AS CAP,
		NULL AS NAZIONE,
		rtrim(ltrim(ADS4WS_PROMOTORI.prefissotelefono + ADS4WS_PROMOTORI.TelefonoAgenzia1)) 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 C6STAGING.ADS4WS_PROMOTORI ADS4WS_PROMOTORI
	LEFT JOIN C6MART.EMAIL_PB EMAIL_PB
		ON ADS4WS_PROMOTORI.RETE = EMAIL_PB.RETE
		AND ADS4WS_PROMOTORI.CODICE = EMAIL_PB.CODICE
	LEFT JOIN C6STAGING.SPB_NAC SPB_NAC
		ON ADS4WS_PROMOTORI.RETE = SPB_NAC.CODICERETE
		AND ADS4WS_PROMOTORI.CODICE = SPB_NAC.CODICEAGENTE
	LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF
		ON (ADS4WS_PROMOTORI.CODICE  BETWEEN PF.CODICEDA AND PF.CODICEA)
		AND ADS4WS_PROMOTORI.RETE = PF.RETE
	
WHERE
    ADS4WS_PROMOTORI.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 = 'DM_ANAG_PROMOTORI' AND
		Inizio = (
			SELECT
				MAX(Inizio)
			FROM
				LOG_ESECUZIONE
			WHERE
				Nome = 'DM_ANAG_PROMOTORI'
		)

END






















