-- =============================================
-- Author:		Francesco Berni
-- Create date: 28/04/2009
-- Description:	Stored Procedure inserimento dati varifiche campione
-- =============================================
CREATE procedure [C6MartPeriodico].[GC_DELETE_CONVALIDA_ANNULLA]
  @Idreports varchar(3000) = 'NODELETE',
  @Delimiter char(1) = '|',
  @TipoOperazione char(1)
AS
BEGIN
IF (@Idreports <> 'NODELETE')
BEGIN
		Declare @contatore as int
		-- Inizio Log
		CREATE TABLE #ConvalidaReport(
		riga int NULL,
		Report varchar(100) NULL,
		Diagnosi int NULL,
		UrlDiagnosi varchar(100) NULL,
		Monitoraggio int NULL,
		UrlMonitoraggio    varchar(100) NULL,                                        
		UrlTotale          varchar(100) NULL,                         
		Totale int NULL
		)
		INSERT INTO #ConvalidaReport
		 EXEC 
		[C6MartPeriodico].[GC_CONVALIDAREPORTSELECT]
		insert into [C6MartPeriodico].LogOperazioniConvalidaAnnulla
		select 
		getdate() as data,
		case @TipoOperazione when 'A' then 'ANNULLA' else
		case @TipoOperazione when 'C' then 'CONVALIDA' End End AS TIPO_OPERAZIONE,
		Report ,
		Diagnosi ,
		Monitoraggio ,                  
		Totale  
		from #ConvalidaReport
		drop table #ConvalidaReport
		-- Fine Log
		-- Cancella tutti i report su GESTIONE_PDF_FTP
		DELETE C6MartPeriodico.GESTIONE_PDF_FTP 
		from	C6MartPeriodico.GESTIONE_PDF_FTP
		inner join (select [value] from  dbo.Split(@Delimiter, @Idreports)) as tab
		on C6MartPeriodico.GESTIONE_PDF_FTP.idreport = tab.[value]
		set @contatore = @@rowcount
		-- Convalida 
		if (@TipoOperazione = 'C')
		Begin
			UPDATE C6MartPeriodico.GESTIONE_PDF_FTP
			SET Definitivo = 1
			WHERE --Secondo berni: isnull(Definitivo, 0) = 0
				--V
				codicefiscale in(SELECT codiceFiscale FROM c6martperiodico.VERIFICHECAMPIONE where esito = 'OK' and DATAFINE is null)
		End
		-- Storicizzo anche i record cancellati
		UPDATE [C6MartPeriodico].[VERIFICHECAMPIONE]
		SET datafine = GETDATE()
		WHERE datafine is null
		return @contatore
END
ELSE	
	return -1
END