-- Schema: C6MartPeriodico
-- Stored Procedure: BonificaDataQuality







CREATE procedure [C6MartPeriodico].[BonificaDataQuality]
as

 -- Log esecuzione  
 INSERT INTO LOG_ESECUZIONE_PERIODICO  
  (Nome, Inizio, Nota)  
 VALUES (  
  'BonificaDataQuality',  
  GETDATE(),  
  'Elaborazione trimestrale'  
 )  
--1) copia

exec [dbo].[CreaTabellaBackUp] 'tb_SegnalazioniDataQuality','C6MartPeriodico','preBonifica'
--SELECT *  into  [C6StampeCentralizzate].[C6MartPeriodico].[tb_SegnalazioniDataQuality_2018mmdd _preBonifica
--FROM [C6StampeCentralizzate].[C6MartPeriodico].[tb_SegnalazioniDataQuality]

--2) metto in tabella temporanea la nuova tabella bonificata
SELECT q.*
into #appo
  FROM [C6StampeCentralizzate].[C6MartPeriodico].[tb_SegnalazioniDataQuality] q
  left join c6stagingperiodico.appo_contratti_limiter limit
  on limit.cod_fiscale = q.codicefiscale  and limit.rete = q.rete
  where limit.cod_fiscale is not null or 0 = (select count(*) from  [C6StagingPeriodico].[APPO_CONTRATTI_LIMITER] with (nolock))

--3) cancello la tabella attuale
truncate table [C6StampeCentralizzate].[C6MartPeriodico].[tb_SegnalazioniDataQuality]

--4) la ricreo bonificata
insert into [C6StampeCentralizzate].[C6MartPeriodico].[tb_SegnalazioniDataQuality] 
			([idTipoControllo]
           ,[rete]
           ,[codiceFiscale]
           ,[descSegnalazione]
           ,[idElaborazione]
           ,[richiesta]
           ,[idFaseElaborazione]
           ,[dataInserimento])
select 	[idTipoControllo],[rete],[codiceFiscale],[descSegnalazione],[idElaborazione],[richiesta],[idFaseElaborazione],[dataInserimento] from #appo

UPDATE  
  LOG_ESECUZIONE_PERIODICO  
 SET  
  Fine = GETDATE(),  
  Tipo = 'INSERT',  
  Righe = @@ROWCOUNT  
 WHERE  
  Nome = 'BonificaDataQuality' AND  
  Inizio = (  
   SELECT  
    MAX(Inizio)  
   FROM  
    LOG_ESECUZIONE_PERIODICO  
   WHERE  
    Nome = 'BonificaDataQuality'  
  )  



