﻿-- =============================================
-- Author:		<Luca,,Name>
-- Create date: <17/11/2008,,>
-- Description:	<Popola la tabella email con i clienti a cui deve essere inviato il report con risorse non associate,,>
-- =============================================
CREATE PROCEDURE [C6Mart].[RP_DM_GestioneEmailSessione]
AS
BEGIN
DECLARE @NUMGIORNIDALPERF SMALLINT
DECLARE @NUMGIORNIDASOLLECITO SMALLINT
DECLARE @MaxInvioSoll SMALLINT
DECLARE @ID_ELAB INT
SET @NUMGIORNIDALPERF = CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint) - 1 --7
SET @NUMGIORNIDASOLLECITO = CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') AS SMALLINT) - 1 --7
SET @MaxInvioSoll = CAST(dbo.getParametro('MaxInvioSoll') AS SMALLINT)--12
SET @ID_ELAB = C6MART.GETIDELAB()
	INSERT INTO LOG_ESECUZIONE(Nome, Inizio, Nota) 
		VALUES ('RP_DM_GestioneEmailSessione',GETDATE(),'Elaborazione giornaliera')
     --select * from [CONSEVO].ConsulenzaEvolutaFL.dbo.CaricamentoMassivoC6SC
     --where  DataGenerazione < convert(datetime,convert (varchar, getdate(), 112))
 	 update  [CONSEVO].ConsulenzaEvolutaFL.dbo.CaricamentoMassivoC6SC set chiuso = 'S'	 
	 where  DataGenerazione < convert(datetime,convert (varchar, getdate(), 112))
	SELECT *
	  INTO #CaricamentoMassivoC6SC
	FROM [CONSEVO].ConsulenzaEvolutaFL.dbo.CaricamentoMassivoC6SC WHERE CHIUSO = 'N'	 
	INSERT INTO [CONSEVO].ConsulenzaEvolutaFL.dbo.CaricamentoMassivoC6SC	 
	SELECT DISTINCT VC.chiaveclientepb,GETDATE(),-2,'N'  
	FROM C6Mart.vcontrattisei VC		 
	LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF
		ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA
		AND VC.RETE = PF.RETE
	LEFT JOIN #CaricamentoMassivoC6SC RSES
	    ON  RSES.chiaveclientepb = VC.chiaveclientepb 
	WHERE 1 = 1
		AND VC.numSolleciti < @MaxInvioSoll
		AND ((ISNULL(VC.numSolleciti,0) = 0 AND DATEDIFF(DAY,VC.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF)
				 OR
			 (DATEDIFF(DAY,isnull(VC.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO))
		AND VC.InvioBenvenuto = 'N'	 	
		--AND (VC.clienteMigrato = 'N' OR VC.risorseNA = 'S' OR VC.PROFILOATTIVO = 0)
		AND VC.clienteMigrato = 'S'
		AND VC.risorseNA = 'S' 
		AND VC.Data_FineAvanzato > getDate()		 
		AND PF.RETE IS NULL
		AND RSES.chiaveclientepb IS NULL
	-- Log esecuzione
	UPDATE
		LOG_ESECUZIONE
	SET
		Fine = GETDATE(),
		Tipo = 'UPDATE',
		Righe = @@ROWCOUNT
	WHERE
		Nome = 'RP_DM_GestioneEmailSessione' AND
		Inizio = (
			SELECT
				MAX(Inizio)
			FROM
				LOG_ESECUZIONE
			WHERE
				Nome = 'RP_DM_GestioneEmailSessione'
		)
END