--[C6MartPeriodico].[GESTIONE_SELECT_EMAIL_DA_INVIARE]
CREATE procedure [C6MartPeriodico].[GESTIONE_INSERT_EMAIL_DA_INVIARE]
AS
--INSERT INTO C6MartPeriodico.Gestione_EmailBCK
--SELECT * FROM C6MartPeriodico.GESTIONE_EMAIL
--WHERE Data_Generazione < '20130613'
--UPDATE STATISTICS C6MartPeriodico.GESTIONE_EMAIL
--select * from c6martperiodico.anag_promotori where id_promotore = '014890'
--select * from c6storico.anag_promotori where id_promotore = '014890'
--update c6martperiodico.anag_promotori set e_mail = 'LBATTISTI2@bancafideuram.it' where id_promotore = '014890'
--drop table temp_mail
--
--select *
--from temp_mail
--where testo not like '<html>%'
BEGIN
	-- Log esecuzione
	INSERT INTO LOG_ESECUZIONE_PERIODICO
		(Nome, Inizio, Nota)
	VALUES (
		'GESTIONE_INSERT_EMAIL_DA_INVIARE',
		GETDATE(),
		'Elaborazione trimestrale'
	)
--recupero la percentuale limite di risorse non associate
DECLARE @Ambiente varchar(20)
select @Ambiente= dbo.getParametro('Ambiente')
DECLARE @DestinatarioEmail varchar(255)
select @DestinatarioEmail= dbo.getParametro('DestinatarioEmail')
DECLARE @SERVIZI_OPERATIVI as varchar(50)
select @SERVIZI_OPERATIVI= dbo.getParametro('EmailServiziOperativi')
DECLARE @RESPONSABILE_PROCESSO as varchar(50)
select @RESPONSABILE_PROCESSO= dbo.getParametro('EmailResponsabileProcesso')
-- Cancellazione delle email non inviate, da rigenerare
DELETE from C6MartPeriodico.MailAvvisoTrimestraleAiPB
WHERE email_id  in (
SELECT m.email_id
from C6MartPeriodico.MailAvvisoTrimestraleAiPB m
inner join [C6MartPeriodico].[GESTIONE_EMAIL]
  ON GESTIONE_EMAIL.email_id = m.email_id
WHERE isnull(GESTIONE_EMAIL.Inviata,'N')='N')
INSERT INTO C6MartPeriodico.MailAvvisoTrimestraleAiPB
SELECT --top 800
		GESTIONE_EMAIL.[ID_ELAB]
		,GESTIONE_EMAIL.rete
		,GESTIONE_EMAIL.codICEPB cod_agente
		,GESTIONE_EMAIL.TIPO
		,GESTIONE_EMAIL.[Email_Id]
		,'' Cod_Fiscale
      	,[dbo].[Replace_From_Email](GESTIONE_EMAIL.[Rete],ISNULL(TIPO_EMAIL.[E_From],'')) E_From
		, case 
			when 
				@Ambiente = 'Produzione' 
			then 
				dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,@SERVIZI_OPERATIVI,@RESPONSABILE_PROCESSO)
			else
				@DestinatarioEmail
		 end as [E_To]
		,'' E_Ccn
		,'' E_Cc
		, case 
			when 
				@Ambiente = 'Produzione' 
			then 
			    /* 20161206 solo per periodico */
				dbo.Replace_Subject_Email_Periodico(TIPO_EMAIL.[E_Subject],'','',ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE)
			else
				dbo.Replace_Subject_Email_Periodico(TIPO_EMAIL.[E_Subject],'','',ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE) + '--- TO:' +  dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + '---'
		 end as E_Subject
      ,dbo.Replace_Testo_Email_Periodico(GESTIONE_EMAIL.RETE,GESTIONE_EMAIL.[CodicePB],GESTIONE_EMAIL.TIPO,TIPO_EMAIL.[Testo])  Testo
--drop table temp_mail
--into temp_mail
FROM [C6MartPeriodico].[GESTIONE_EMAIL] GESTIONE_EMAIL
  INNER JOIN [C6MartPeriodico].[TIPO_EMAIL] TIPO_EMAIL
  ON GESTIONE_EMAIL.Tipo = TIPO_EMAIL.Tipo
  AND GESTIONE_EMAIL.[Tipo] <> 'LC_REP_GEN'
--  INNER JOIN [C6Mart].[CONTRATTOSEI] CONTRATTOSEI
--  ON CONTRATTOSEI.Rete = GESTIONE_EMAIL.[Rete]
--  AND CONTRATTOSEI.Cod_Agente = GESTIONE_EMAIL.CodicePB
--  INNER JOIN [C6MartPeriodico].[ANAG_CLIENTI] ANAG_CLIENTI
--  ON ANAG_CLIENTI.Rete = CONTRATTOSEI.[Rete]
--  AND ANAG_CLIENTI.Cod_Fiscale = CONTRATTOSEI.Cod_Fiscale
  INNER JOIN [C6MartPeriodico].ANAG_PROMOTORI ANAG_PROMOTORI
  ON ANAG_PROMOTORI.Rete = GESTIONE_EMAIL.[Rete]
  AND ANAG_PROMOTORI.ID_PROMOTORE = GESTIONE_EMAIL.[CodicePB]
  WHERE isnull(GESTIONE_EMAIL.Inviata,'N')='N'
  --AND GESTIONE_EMAIL.rete = 's'
--da inserire su select
--	and testo like '<html>%'
	-- Log esecuzione
	UPDATE
		LOG_ESECUZIONE_PERIODICO
	SET
		Fine = GETDATE(),
		Tipo = 'INSERT',
		Righe = @@ROWCOUNT
	WHERE
		Nome = 'GESTIONE_INSERT_EMAIL_DA_INVIARE' AND
		Inizio = (
			SELECT
				MAX(Inizio)
			FROM
				LOG_ESECUZIONE_PERIODICO
			WHERE
				Nome = 'GESTIONE_INSERT_EMAIL_DA_INVIARE'
		)
END