CREATE procedure [C6MartPeriodico].[CRUSCOTTOTRIMESTRALE]
  @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  ( Scartati-1 )	' + convert(VARCHAR,@QUANTI)
    SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=4   
    PRINT  'Da NON Elaborare				' + 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 > -1
	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 > -1 
	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 > -1
	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 =-2 and 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 =-3 and tipocliente = 0 and isdiagnosi > -1
	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 > -1
	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 > -1
	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 '**********************************************************************' 
    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 DA NON ELABORARE'
	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 '**********************************************************************'
END