-- Stored procedure
CREATE   PROCEDURE [C6MartPeriodico].[sp_caricaBlacklist]
AS
BEGIN
exec [C6StagingPeriodico].[REPTRIM_WSEIDC]
exec [C6StagingPeriodico].[REPTRIM_WSEIPS]
 Declare @dtTrime as decimal;  
 set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0))  
 --truncate table C6MartPeriodico.ExcludedList
 drop table if exists #blacklist
 drop table if exists #riunisco_blacklist
 drop table if exists #rimuovi_duplicati
 update C6MartPeriodico.tabellone
set lettera_sost='N' --nel caso dovesse essere rilanciata e ci fossero problemi sulla wseidc e wseips
 select distinct rete
				,case when codman <> '' then 'FF@' + CODMAN else codfis end as codiceFiscale,
				 case when tipolett = '0' then 'RFA=0'--'BLACKLIST RFA=0' 
				   	  when tipolett = '6' then 'RFA Minus'--'BLACKLIST RFA MINUS CLIENTE SEI' 
					  when tipolett = '2' then 'BLACKLIST RFA MINUS CLIENTE SEI E IMMOBILIARE' 
					  when TIPOLETT='A' then 'Profilo EC'
					  END AS  DescrErr 
			--when tipolett = 1 then 'BLACKLIST RFA MINUS CLIENTE IMMOBILIARE' 
			into #blacklist
			from C6stagingPeriodico.wseidc 
			where TIPOLETT not in ('R','S') and dttrim = @dtTrime
insert into #blacklist
select distinct rete,
				case when codman <> '' then 'FF@' + CODMAN else codfis end as codiceFiscale,
				'Profilo Scaduto' as DescrErr 
					from c6stagingPeriodico.wseips 
					where dttrim = @dtTrime
insert into C6MartPeriodico.ExcludedList
select rete,codiceFiscale,DescrErr,getdate() as DataIns,'1' as Bloccato from #blacklist--#riunisco_blacklist
SELECT rete,codicefiscale,STRING_AGG( ISNULL(DescrErr, ' '), ',') As descrerr,getdate() as DataIns,'1' as Bloccato 
	into #riunisco_blacklist
       From #blacklist group by rete,codicefiscale -- a causa del frontend non posso mettere piu motivazioni per lo stesso cf ma mi serve per il tabellone per la lettera sostitutiva
update C6MartPeriodico.tabellone
set lettera_sost='S'
where chiave_acn in (select rete+codicefiscale from #riunisco_blacklist)
--rimuove duplicati nel caso questa sp dovesse essere lanciata piu volte
select distinct rete,codicefiscale,descrerr
into #rimuovi_duplicati
from C6MartPeriodico.ExcludedList
delete from C6MartPeriodico.ExcludedList
where rete+codicefiscale+DescrErr in (select rete+codicefiscale+DescrErr from #rimuovi_duplicati)
insert into C6MartPeriodico.ExcludedList
select rete,codiceFiscale,DescrErr,getdate() as DataIns,'1' as Bloccato from #rimuovi_duplicati
--fine rimozione duplicati
exec [C6MartPeriodico].[Blacklist_Blocco_Tabellone] 'blocco' --aggiorna tabellone
END