-- =============================================
-- Author:		<Author,,Name>
-- Create date: <Create Date,,>
-- Description:	<Description,,>
-- =============================================
CREATE procedure [C6MartPeriodico].[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 (
		'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
		ADS4WS_PROMOTORI.RETE AS RETE,
		ADS4WS_PROMOTORI.CODICE AS ID_PROMOTORE,
		'PB' AS LIVELLO, -- TODO: DA RIMUOVERE UNA VOLTA IMPORTATI I DATI DAL SIMPB
		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 C6STAGINGPERIODICO.ADS4WS_PROMOTORI ADS4WS_PROMOTORI
	LEFT JOIN C6MARTPERIODICO.EMAIL_PB EMAIL_PB
		ON ADS4WS_PROMOTORI.RETE = EMAIL_PB.RETE
		AND ADS4WS_PROMOTORI.CODICE = EMAIL_PB.CODICE
	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'
	-- Log esecuzione
	UPDATE
		LOG_ESECUZIONE
	SET
		Fine = GETDATE(),
		Tipo = 'INSERT',
		Righe = @@ROWCOUNT
	WHERE
		Nome = 'DM_ANAG_PROMOTORI_pre_selective' AND
		Inizio = (
			SELECT
				MAX(Inizio)
			FROM
				LOG_ESECUZIONE
			WHERE
				Nome = 'DM_ANAG_PROMOTORI_pre_selective'
		)
END