-- Schema: C6MartPeriodico
-- Stored Procedure: CRUSCOTTOTRIMESTRALEMAU



--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  @Q
