PDC_REPORT_CreazioneDB/sql/Testbes/procedure/C6MartPeriodico_GC_CONVALIDAREPORTSELECT.sql
2025-06-10 15:29:00 +02:00

202 lines
6.8 KiB
Transact-SQL

-- =============================================
-- Author: Berni Francesco
-- Create date: 24 Aprile 2009
-- Description:
-- =============================================
-- [C6MartPeriodico].[GC_CONVALIDAREPORTSELECT]
CREATE procedure [C6MartPeriodico].[GC_CONVALIDAREPORTSELECT]
AS
BEGIN
Declare @DiagnosiVerificati as int
Declare @DiagnosiNonVerificati as int
Declare @DiagnosiOK as int
Declare @DiagnosiKO as int
Declare @MonitoraggioVerificati as int
Declare @MonitoraggioNonVerificati as int
Declare @MonitoraggioOK as int
Declare @MonitoraggioKO as int
-- Totali
Declare @TotaleDiagnosi as int
Declare @TotaleMonitoraggio as int
Declare @TotaleVerificati as int
Declare @TotaleNonVerificati as int
Declare @TotaleOK as int
Declare @TotaleKO as int
-- Diagnosi
-- Diagnosi Verificati
SELECT @DiagnosiVerificati = count(distinct B.IDREPORT)
FROM
C6Mart.CONTRATTOSEI A INNER JOIN
C6MartPeriodico.GESTIONE_PDF_FTP B ON
A.Rete = B.Rete AND
A.Cod_Fiscale = B.CodiceFiscale
Left outer JOIN C6MartPeriodico.VERIFICHECAMPIONE C
ON B.IDREPORT = C.IDREPORT
WHERE
B.[TipoReport] = 'D'
AND ISNULL(B.FlagInvio,'N') = 'N'
AND ISNULL(B.DEFINITIVO, 0) = 0
AND C.datafine is null
AND ISNULL(C.Verifica, 0) = 1
-- Diagnosi Non Verificati
SELECT @DiagnosiNonVerificati = count(distinct B.IDREPORT)
FROM
C6Mart.CONTRATTOSEI A INNER JOIN
C6MartPeriodico.GESTIONE_PDF_FTP B ON
A.Rete = B.Rete AND
A.Cod_Fiscale = B.CodiceFiscale
Left outer JOIN C6MartPeriodico.VERIFICHECAMPIONE C
ON B.IDREPORT = C.IDREPORT
WHERE
B.[TipoReport] = 'D'
AND ISNULL(B.FlagInvio,'N') = 'N'
AND ISNULL(B.DEFINITIVO, 0) = 0
AND C.datafine is null
AND ISNULL(C.Verifica, 0) = 0
-- Diagnosi OK
SELECT @DiagnosiOK = count(distinct B.IDREPORT)
FROM
C6Mart.CONTRATTOSEI A INNER JOIN
C6MartPeriodico.GESTIONE_PDF_FTP B ON
A.Rete = B.Rete AND
A.Cod_Fiscale = B.CodiceFiscale
Left outer JOIN C6MartPeriodico.VERIFICHECAMPIONE C
ON B.IDREPORT = C.IDREPORT
WHERE
B.[TipoReport] = 'D'
AND ISNULL(B.FlagInvio,'N') = 'N'
AND ISNULL(B.DEFINITIVO, 0) = 0
AND C.datafine is null
and ISNULL(C.Esito,'-') = 'OK'
-- Diagnosi KO
SELECT @DiagnosiKO = count(distinct B.IDREPORT)
FROM
C6Mart.CONTRATTOSEI A INNER JOIN
C6MartPeriodico.GESTIONE_PDF_FTP B ON
A.Rete = B.Rete AND
A.Cod_Fiscale = B.CodiceFiscale
Left outer JOIN C6MartPeriodico.VERIFICHECAMPIONE C
ON B.IDREPORT = C.IDREPORT
WHERE
B.[TipoReport] = 'D'
AND ISNULL(B.FlagInvio,'N') = 'N'
AND ISNULL(B.DEFINITIVO, 0) = 0
AND C.datafine is null
and ISNULL(C.Esito,'-') = 'KO'
-- Monitoraggio
-- Monitoraggio Verificati
SELECT @MonitoraggioVerificati = count(distinct B.IDREPORT)
FROM
C6Mart.CONTRATTOSEI A INNER JOIN
C6MartPeriodico.GESTIONE_PDF_FTP B ON
A.Rete = B.Rete AND
A.Cod_Fiscale = B.CodiceFiscale
Left outer JOIN C6MartPeriodico.VERIFICHECAMPIONE C
ON B.IDREPORT = C.IDREPORT
WHERE
B.[TipoReport] = 'M'
AND ISNULL(B.FlagInvio,'N') = 'N'
AND ISNULL(B.DEFINITIVO, 0) = 0
AND C.datafine is null
AND ISNULL(C.Verifica, 0) = 1
-- Monitoraggio Non Verificati
SELECT @MonitoraggioNonVerificati = count(distinct B.IDREPORT)
FROM
C6Mart.CONTRATTOSEI A INNER JOIN
C6MartPeriodico.GESTIONE_PDF_FTP B ON
A.Rete = B.Rete AND
A.Cod_Fiscale = B.CodiceFiscale
Left outer JOIN C6MartPeriodico.VERIFICHECAMPIONE C
ON B.IDREPORT = C.IDREPORT
WHERE
B.[TipoReport] = 'M'
AND ISNULL(B.FlagInvio,'N') = 'N'
AND ISNULL(B.DEFINITIVO, 0) = 0
AND C.datafine is null
AND ISNULL(C.Verifica, 0) = 0
-- Monitoraggio OK
SELECT @MonitoraggioOK = count(distinct B.IDREPORT)
FROM
C6Mart.CONTRATTOSEI A INNER JOIN
C6MartPeriodico.GESTIONE_PDF_FTP B ON
A.Rete = B.Rete AND
A.Cod_Fiscale = B.CodiceFiscale
Left outer JOIN C6MartPeriodico.VERIFICHECAMPIONE C
ON B.IDREPORT = C.IDREPORT
WHERE
B.[TipoReport] = 'M'
AND ISNULL(B.FlagInvio,'N') = 'N'
AND ISNULL(B.DEFINITIVO, 0) = 0
AND C.datafine is null
and ISNULL(C.Esito,'-') = 'OK'
-- Monitoraggio KO
SELECT @MonitoraggioKO = count(distinct B.IDREPORT)
FROM
C6Mart.CONTRATTOSEI A INNER JOIN
C6MartPeriodico.GESTIONE_PDF_FTP B ON
A.Rete = B.Rete AND
A.Cod_Fiscale = B.CodiceFiscale
Left outer JOIN C6MartPeriodico.VERIFICHECAMPIONE C
ON B.IDREPORT = C.IDREPORT
WHERE
B.[TipoReport] = 'M'
AND ISNULL(B.FlagInvio,'N') = 'N'
AND ISNULL(B.DEFINITIVO, 0) = 0
AND C.datafine is null
and ISNULL(C.Esito,'-') = 'KO'
--print convert(varchar, @DiagnosiVerificati)
set @TotaleDiagnosi = @DiagnosiVerificati+@DiagnosiNonVerificati--+ @DiagnosiOK+@DiagnosiKO
set @TotaleMonitoraggio = @MonitoraggioVerificati+@MonitoraggioNonVerificati --+ @MonitoraggioOK+@MonitoraggioKO
set @TotaleVerificati = @DiagnosiVerificati+@MonitoraggioVerificati
set @TotaleNonVerificati = @DiagnosiNonVerificati+@MonitoraggioNonVerificati
set @TotaleOK = @DiagnosiOK+@MonitoraggioOK
set @TotaleKO = @DiagnosiKO+@MonitoraggioKO
Select riga, Report, Diagnosi,UrlDiagnosi, Monitoraggio,UrlMonitoraggio, UrlTotale, Totale
from
(
Select 1 as riga,
'Totale' as Report,
@TotaleDiagnosi AS Diagnosi,
'VerificheCampione.aspx?tiporeport=D&prov=CR' As UrlDiagnosi,
@TotaleMonitoraggio AS Monitoraggio,
'VerificheCampione.aspx?tiporeport=M&prov=CR' As UrlMonitoraggio,
'VerificheCampione.aspx?prov=CR' As UrlTotale,
@TotaleDiagnosi + @TotaleMonitoraggio as Totale
union
Select 2 as riga,
'Verificati' as Report,
@DiagnosiVerificati AS Diagnosi,
'VerificheCampione.aspx?tiporeport=D&verificati=1&prov=CR' As UrlDiagnosi,
@MonitoraggioVerificati AS Monitoraggio,
'VerificheCampione.aspx?tiporeport=M&verificati=1&prov=CR' As UrlMonitoraggio,
'VerificheCampione.aspx?verificati=1&prov=CR' As UrlTotale,
@TotaleVerificati as Totale
union
Select 3 as riga,
'Non Verificati' as Report,
@DiagnosiNonVerificati AS Diagnosi,
'VerificheCampione.aspx?tiporeport=D&verificati=0&prov=CR' As UrlDiagnosi,
@MonitoraggioNonVerificati AS Monitoraggio,
'VerificheCampione.aspx?tiporeport=M&verificati=0&prov=CR' As UrlMonitoraggio,
'VerificheCampione.aspx?verificati=0&prov=CR' As UrlTotale,
@TotaleNonVerificati as Totale
union
Select 4 as riga,
'Esito OK' as Report,
@DiagnosiOK AS Diagnosi,
'VerificheCampione.aspx?tiporeport=D&esito=OK&prov=CR' As UrlDiagnosi,
@MonitoraggioOK AS Monitoraggio,
'VerificheCampione.aspx?tiporeport=M&esito=OK&prov=CR' As UrlMonitoraggio,
'VerificheCampione.aspx?esito=OK&prov=CR' As UrlTotale,
@TotaleOK as Totale
union
Select 5 as riga,
'Esito KO' as Report,
@DiagnosiKO AS Diagnosi,
'VerificheCampione.aspx?tiporeport=D&esito=KO&prov=CR' As UrlDiagnosi,
@MonitoraggioKO AS Monitoraggio,
'VerificheCampione.aspx?tiporeport=M&esito=KO&prov=CR' As UrlMonitoraggio,
'VerificheCampione.aspx?esito=KO&prov=CR' As UrlTotale,
@TotaleKO as Totale
) As Tabella
END