﻿--select count(*)  from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI 
--select top 10 * from global_error order by id desc
-- select count(*) from [C6StagingPeriodico].[datiROL2]
-- [C6MartPeriodico].[CRUSCOTTOTRIMESTRALE] BTTPLA59B25F240A 
CREATE procedure [C6MartPeriodico].[CRUSCOTTOTRIMESTRALEMAU]
  @codiceFiscale as char(16)  = ''	
AS
BEGIN
   IF @codiceFiscale <> ''
        SELECT b.*,a.dtstamp,a.errormessage 
		FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI  b
		left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR a
		on a.codicefiscale = b.codicefiscale and a.rete=b.rete where 1=1
		and  b.codicefiscale = @codiceFiscale
	DECLARE @dt AS DATETIME
	DECLARE @dt2 AS DATETIME
	DECLARE @QUANTI AS INT
	DECLARE @APP AS varchar(100)
	PRINT '**********************************************************************'
    SELECT @dt =  min(dtstamp)  from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI WHERE dtstamp is not null 
    SELECT @dt2 = max(dtstamp)  from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI WHERE dtstamp is not null 
    set @APP =   'DataInizio ' + convert(varchar,@dt,103) + ' ' + convert(varchar,@dt,114)   
    IF (SELECT COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI WHERE elab in(0,1,2,3)) = 0    
    SET @APP = @APP + ' tempo totale di elaborazione ' ELSE  SET @APP = @APP + ' tempo parziale di elaborazione '        
    DECLARE @s bigint;
	DECLARE @mi int;
	DECLARE @h int;
	DECLARE @d int;
	SET @d=0
	SET @h=0
	SET @mi=0
	SET @s=0
	SELECT @s = DATEDIFF(second,@dt,getdate()) 
	IF @s <> 0 BEGIN
	 SET @mi = @s / 60;
	 SET @s = @s % 60;
	END;
	IF @mi <> 0 BEGIN
	 SET @h = @mi / 60;
	 SET @mi = @mi % 60;
	END;
	IF @h <> 0 BEGIN
	 SET @d = @h / 24;
	 SET @h = @h % 24;
	END;	
	SET @APP = @APP +  'Giorni:' + CONVERT( VARCHAR(3) , @d ) + ' Ore:' + CONVERT( VARCHAR(2) , @h ) + ' Minuti:' + CONVERT( VARCHAR(2) , @mi ) + ' Secondi:' + CONVERT( VARCHAR(2) , @s );
    IF @APP IS NULL   SET @APP = 'STANDBY'  
    PRINT  @APP
	PRINT '**********************************************************************'
    SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab in(0,1,2)    
    PRINT  'daElaborare      ' + convert(VARCHAR,@QUANTI)
    SELECT @QUANTI = COUNT(*)  from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=3  
    PRINT  'inElaborazione   ' + convert(VARCHAR,@QUANTI)
    SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=10  
    PRINT  'Elaborati        ' + convert(VARCHAR,@QUANTI)   
    SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=-1   
    PRINT  'noElaborabili    ' + convert(VARCHAR,@QUANTI)
    SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=4   
    PRINT  'BLACKLIST        ' + convert(VARCHAR,@QUANTI)       
    SELECT @QUANTI = COUNT(*)  FROM [C6MartPeriodico].[CRUSCOTTO_SCARTI_PDFGENERATOR]   
    PRINT  'ScartatiTAB      ' + convert(VARCHAR,@QUANTI)
    PRINT '**********************************************************************' 
    SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=-2 
    PRINT  'Scartati-2       ' + convert(VARCHAR,@QUANTI)
    SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=-3 
    PRINT  'Scartati-3       ' + convert(VARCHAR,@QUANTI)
    SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab<-3 
    PRINT  'Scartati-n       ' + convert(VARCHAR,@QUANTI)   
    PRINT '**********************************************************************'    
	SELECT @QUANTI =  count(*)  FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where  elab =10 and tipocliente = 0 and isdiagnosi = -1
	PRINT 'Old               ' + convert(VARCHAR,@QUANTI)  
	SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where  elab =10 and tipocliente = 0 and isdiagnosi = 4
	PRINT 'Old con diagnosi  ' + convert(VARCHAR,@QUANTI)
	SELECT  @QUANTI =  count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where  elab =10 and tipocliente = 1 
	PRINT 'Affluent          ' + convert(VARCHAR,@QUANTI) 
	SELECT  @QUANTI =  count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where  elab =10 and tipocliente = 2  
	PRINT 'Private           ' + convert(VARCHAR,@QUANTI)
	SELECT  @QUANTI =  count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where  elab =10 
	PRINT 'ELABORATI ********   ' + convert(VARCHAR,@QUANTI)
	SELECT @QUANTI =  count(*)  FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where  elab =3 and tipocliente = 0 and isdiagnosi = -1
	PRINT 'Old               ' + convert(VARCHAR,@QUANTI)  
	SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where  elab =3 and tipocliente = 0 and isdiagnosi = 4
	PRINT 'Old con diagnosi  ' + convert(VARCHAR,@QUANTI)
	SELECT  @QUANTI =  count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where  elab =3 and tipocliente = 1 
	PRINT 'Affluent          ' + convert(VARCHAR,@QUANTI) 
	SELECT  @QUANTI =  count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where  elab =3 and tipocliente = 2  
	PRINT 'Private           ' + convert(VARCHAR,@QUANTI)
	SELECT  @QUANTI =  count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where  elab =3 
	PRINT 'IN ELABORAZIONE ********   ' + convert(VARCHAR,@QUANTI)	
	SELECT  @QUANTI =  count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where  elab =-2 and tipocliente = 0 and isdiagnosi = -1
	PRINT 'Old               ' + convert(VARCHAR,@QUANTI)
	SELECT  @QUANTI =  count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where  elab =-2and tipocliente = 0 and isdiagnosi = 4
	PRINT 'Old con diagnosi  ' + convert(VARCHAR,@QUANTI)
	SELECT  @QUANTI =  count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where  elab =-2 and tipocliente = 1  
	PRINT 'Affluent          ' + convert(VARCHAR,@QUANTI)
	SELECT  @QUANTI =  count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where  elab =-2and tipocliente = 2  
	PRINT 'Private           ' + convert(VARCHAR,@QUANTI)
	SELECT  @QUANTI =  count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where  elab =-2
	PRINT 'SCARTATI-2 *******   ' + convert(VARCHAR,@QUANTI)
	SELECT  @QUANTI =  count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where  elab =-3 and tipocliente = 0 and isdiagnosi = -1
	PRINT 'Old               ' + convert(VARCHAR,@QUANTI)
	SELECT  @QUANTI =  count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where  elab =-3and tipocliente = 0 and isdiagnosi = 4
	PRINT 'Old con diagnosi  ' + convert(VARCHAR,@QUANTI)
	SELECT  @QUANTI =  count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where  elab =-3 and tipocliente = 1  
	PRINT 'Affluent          ' + convert(VARCHAR,@QUANTI)
	SELECT  @QUANTI =  count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where  elab =-3 and tipocliente = 2  
	PRINT 'Private           ' + convert(VARCHAR,@QUANTI)
	SELECT  @QUANTI =  count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where  elab =-3
	PRINT 'SCARTATI-3 *******   ' + convert(VARCHAR,@QUANTI)
	SELECT  @QUANTI =  count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where  elab <-3 and tipocliente = 0 and isdiagnosi = -1
	PRINT 'Old               ' + convert(VARCHAR,@QUANTI)
	SELECT  @QUANTI =  count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where  elab <-3 and tipocliente = 0 and isdiagnosi = 4
	PRINT 'Old con diagnosi  ' + convert(VARCHAR,@QUANTI)
	SELECT  @QUANTI =  count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where  elab <-3 and tipocliente = 1  
	PRINT 'Affluent          ' + convert(VARCHAR,@QUANTI)
	SELECT  @QUANTI =  count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where  elab <-3 and tipocliente = 2  
	PRINT 'Private           ' + convert(VARCHAR,@QUANTI)
	SELECT  @QUANTI =  count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where  elab <-3
	PRINT 'SCARTATI-n *******   ' + convert(VARCHAR,@QUANTI)
	SELECT  @QUANTI =  count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where  elab =-1 and tipocliente = 0 and isdiagnosi = -1
	PRINT 'Old               ' + convert(VARCHAR,@QUANTI)
	SELECT  @QUANTI =  count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where  elab =-1 and tipocliente = 0 and isdiagnosi = 4
	PRINT 'Old con diagnosi  ' + convert(VARCHAR,@QUANTI)
	SELECT  @QUANTI =  count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where  elab =-1 and tipocliente = 1  
	PRINT 'Affluent          ' + convert(VARCHAR,@QUANTI)
	SELECT  @QUANTI =  count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where  elab =-1 and tipocliente = 2  
	PRINT 'Private           ' + convert(VARCHAR,@QUANTI)
	SELECT  @QUANTI =  count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where  elab =-1                     
	PRINT 'SCARTATI-1 *******   ' + convert(VARCHAR,@QUANTI)      
    PRINT '**********************************************************************'
    PRINT 'ELAB 0 DA ELABORARE PRIORITA ALTA'--[C6MartPeriodico].[CRUSCOTTOTRIMESTRALE]
	PRINT 'ELAB 1 DA ELABORARE PRIORITA MEDIA'
	PRINT 'ELAB 2 DA ELABORARE PRIORITA NORMALE'
	PRINT 'ELAB 3 IN ELABORAZIONE'
	PRINT 'ELAB 4 IN BLACKLIST'
	PRINT 'ELAB 10 ELABORATO'
	PRINT 'ELAB -1 SCARTO DA DATATHREAD'
	PRINT 'ELAB -2 ERRORE APPLICATIVO'
	PRINT 'ELAB -3 ERRORE APPLICATIVO generatorpdf'
	PRINT 'ELAB < -3 ERRORE APPLICATIVO non assegnati'
	PRINT '**********************************************************************'
  --   SELECT b.*,a.dtstamp,a.errormessage 
  --FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI  b
  --left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR a
  --on a.codicefiscale = b.codicefiscale and a.rete=b.rete where 1=1
  --and  elab< 0
END
--select time,* from global_error order by id desc  DELETE global_error
--SELECT * FROM [C6MartPeriodico].[CRUSCOTTO_SCARTI_PDFGENERATOR]
--SELECT count(*) FROM [C6MartPeriodico].[CRUSCOTTO_CONTRATTISEI]
--select count(*)  from c6martperiodico.contrattosei
--update [C6MartPeriodico].[CRUSCOTTOSWITCH] set elab = 0
--truncate table [C6MartPeriodico].[CRUSCOTTO_SCARTI_PDFGENERATOR]	
--truncate  table C6MartPeriodico.CRUSCOTTO_CONTRATTISEI 
--insert into C6MartPeriodico.CRUSCOTTO_CONTRATTISEI select  cod_fiscale as codice_fiscale,rete as rete ,4 as elab,null,null,null as dtstamp   from  c6stagingperiodico.appo_contratti
--update [C6MartPeriodico].[CRUSCOTTOSWITCH] set elab = 1
 --c6stagingperiodico.appo_contratti  
  --delete C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR where  codicefiscale+rete in (
  --select  codicefiscale+rete  from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI 
  --where elab = -2) 
  --update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI  set elab= 2 where elab = 3
 --update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI set elab = 400 where elab = -2
--delete C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR  
--where codicefiscale in (select codicefiscale from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab = 4)
--update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI set elab = 2 where elab = 400
--update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI set elab = 2 
--where codicefiscale in 
--(select cod_fiscale from appoCampioneReport where TipoContratto = 'Affluent')
--update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI set elab = 2 
--where codicefiscale in 
--(select cod_fiscale from appoCampioneReport where TipoContratto = 'private')
--update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI set elab = 2 
--where codicefiscale in 
--(select cod_fiscale from appoCampioneReport where TipoContratto = 'old')
-- update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI set elab = 2 
--where codicefiscale in 
-- ('GSTMGS42D51L833Z')
--   [C6MartPeriodico].[CRUSCOTTOTRIMESTRALE]
 --scartati da datathread SE STATO_REPORT != 2 O 3 --problema
--SELECT a.*,B.STATO_REPORT FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI  A
--LEFT JOIN C6MartPeriodico.CONTROLLO_TRIMESTRALE B
--ON A.CODICEFISCALE  = B.COD_fISCALE and a.RETE=B.RETE
--WHERE  A.elab in(0,1,2,-1,4) AND B.STATO_REPORT IN (2,3,23) 
--ORDER BY STATO_REPORT
 -- delete C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR  
 --where codicefiscale in (select codicefiscale from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab = -2)
 --update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI set elab = 2 where elab = -2
--select * from global_error order by id desc
  --SELECT  'update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI set elab = 5 where codicefiscale+rete = ''' + b.codicefiscale+b.rete+''''
  --FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI  b
  --left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR a
  --on a.codicefiscale = b.codicefiscale and a.rete=b.rete 
  --left join disallineati2  d
  --on d.rete = b.rete and  d.cod_fiscale = b.codicefiscale  
  --where 1=1
  --and  elab =2
  --and tipocliente = 2
  --      SELECT b.*,a.dtstamp,a.errormessage 
  --FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI  b
  --left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR a
  --on a.codicefiscale = b.codicefiscale and a.rete=b.rete where 1=1
  --and  elab = 4
 --select * from c6mart.contrattosei where cod_fiscale = 'TGLMRA30A04A409N'
-- select * from c6martperiodico.cruscotto_contrattisei
--where elab in (-2,-3,3)
--update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI set elab = 2 where elab = -2 
--update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI set elab = 2 where elab = 3  
 --[C6MartPeriodico].[CRUSCOTTOTRIMESTRALE] CNLMTT75A24C111A
--DGALGO47C44H379A	F	1.OLD con Diagnosi		2.Elaborati		Da stampare
--DGRMRA70L14H703Z	F	1.OLD con Diagnosi		2.Elaborati		Da stampare
--DLARNT59S67Z315W	F	0.OLD					2.Elaborati		Da stampare
--CNLMTT75A24C111A	S	0.OLD					2.Elaborati		Da stampare
 --select 'update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI set elab = 4 where codicefiscale+rete ='''+ codicefiscale+rete+''''  from  C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab = 4