PDC_REPORT_CreazioneDB/sql/Collaudo/procedure/C6MartPeriodico_GC_VerificheCampioneSelect.sql
2025-06-10 15:29:00 +02:00

124 lines
6.1 KiB
SQL

-- =============================================
-- Author: Berni Francesco
-- Create date: 24 Aprile 2009
-- Description:
-- =============================================
-- C6MartPeriodico.[GC_VerificheCampioneSelect] 'F', '011717'
CREATE procedure [C6MartPeriodico].[GC_VerificheCampioneSelect]
-- Add the parameters for the stored procedure here
@Rete char(1) = null,
@CodicePB varchar(6) = null,
@CodiceFiscale varchar(16) = null,
@NomeCliente varchar(50) = null,
@CognomeCliente varchar(50) = null,
@DataSottDA datetime = null,
@DataSottA datetime = null,
@RFADA decimal = null,
@RFAA decimal = null,
@VaRDA decimal = null,
@VaRA decimal = null,
@Delimiter char(1) = '|',
@Profilo varchar(50) = null,
@Diagnosi bit = 0,
@Monitoraggio bit = 0,
@NonVerificato bit = 0,
@Verificato bit = 0,
@OK bit = 0,
@KO bit = 0,
@pdfC6 int = 1
AS
BEGIN
SELECT distinct C6MartPeriodico.GESTIONE_PDF_FTP.IdReport,
C6Mart.CONTRATTOSEI.Rete,
Case C6Mart.CONTRATTOSEI.Rete when 'F' then 'Fideuram' else
Case C6Mart.CONTRATTOSEI.Rete when 'S' then 'San Paolo' End End
as Rete,
C6Mart.CONTRATTOSEI.Cod_Agente,
CASE
WHEN C6Mart.CONTRATTOSEI.Cod_Fiscale LIKE '%@%' THEN C6MartPeriodico.ANAG_CLIENTI.COGNOME + ' ' + REPLACE(C6MartPeriodico.ANAG_CLIENTI.NOME,'$','') + ' - ' + SUBSTRING(C6Mart.CONTRATTOSEI.Cod_Fiscale, CHARINDEX('@',C6Mart.CONTRATTOSEI.Cod_Fiscale) + 1 , LEN(C6Mart.CONTRATTOSEI.Cod_Fiscale) - CHARINDEX('@',C6Mart.CONTRATTOSEI.Cod_Fiscale) + 1)
ELSE C6MartPeriodico.ANAG_CLIENTI.COGNOME + ' ' + C6MartPeriodico.ANAG_CLIENTI.NOME
END AS NOMINATIVOCLIENTE,
Case C6MartPeriodico.GESTIONE_PDF_FTP.TipoReport when 'D' then 'Diagnosi' else
Case C6MartPeriodico.GESTIONE_PDF_FTP.TipoReport when 'M' then 'Monitoraggio' End End
as TipoReport,
C6MartPeriodico.VERIFICHECAMPIONE.UserModify,
ISNULL(C6MartPeriodico.VERIFICHECAMPIONE.Verifica, 0) AS VERIFICA,
ISNULL(C6MartPeriodico.VERIFICHECAMPIONE.Esito, '-') AS Esito,
C6Mart.CONTRATTOSEI.Cod_Fiscale,
@pdfC6 as pdfC6
-- From
FROM C6Mart.CONTRATTOSEI INNER JOIN
C6MartPeriodico.GESTIONE_PDF_FTP ON
C6Mart.CONTRATTOSEI.Rete = C6MartPeriodico.GESTIONE_PDF_FTP.Rete AND
C6Mart.CONTRATTOSEI.Cod_Fiscale = C6MartPeriodico.GESTIONE_PDF_FTP.CodiceFiscale
--INNER JOIN
LEFT OUTER JOIN
C6MartPeriodico.RISCHIO_AGGREGATO
ON C6Mart.CONTRATTOSEI.Rete = C6MartPeriodico.RISCHIO_AGGREGATO.RETE
AND C6Mart.CONTRATTOSEI.Cod_Fiscale = C6MartPeriodico.RISCHIO_AGGREGATO.COD_FISCALE
--AND C6MartPeriodico.RISCHIO_AGGREGATO.COD_AGGREG = 'COMPLESSIVO|BF'
INNER JOIN
C6MartPeriodico.MIFID
ON C6Mart.CONTRATTOSEI.Rete = C6MartPeriodico.MIFID.RETE
AND C6Mart.CONTRATTOSEI.Cod_Fiscale = C6MartPeriodico.MIFID.COD_FISCALE
INNER JOIN
C6MartPeriodico.ANAG_CLIENTI ON
C6Mart.CONTRATTOSEI.Rete = C6MartPeriodico.ANAG_CLIENTI.RETE
AND C6Mart.CONTRATTOSEI.Cod_Fiscale = C6MartPeriodico.ANAG_CLIENTI.COD_FISCALE
INNER JOIN
C6MartPeriodico.vPatrimonioBFAggregato ON
C6Mart.CONTRATTOSEI.Rete = C6MartPeriodico.vPatrimonioBFAggregato.RETE
AND C6Mart.CONTRATTOSEI.Cod_Fiscale = C6MartPeriodico.vPatrimonioBFAggregato.COD_FISCALE
LEFT OUTER JOIN
C6MartPeriodico.VERIFICHECAMPIONE ON
C6MartPeriodico.GESTIONE_PDF_FTP.IdReport = C6MartPeriodico.VERIFICHECAMPIONE.IdReport
WHERE 1=1
-- rete
AND (@Rete is null OR @Rete = '-' OR C6Mart.CONTRATTOSEI.Rete = @Rete)
AND (@CodicePB is null OR C6Mart.CONTRATTOSEI.Cod_Agente = @CodicePB)
--AND (@CodiceFiscale is null OR C6Mart.CONTRATTOSEI.Cod_Fiscale = @CodiceFiscale)
AND (@CodiceFiscale is null OR C6Mart.CONTRATTOSEI.Cod_Fiscale like @CodiceFiscale + '%')
AND (@NomeCliente is null OR C6MartPeriodico.ANAG_CLIENTI.NOME LIKE '%' + @NomeCliente + '%')
AND (@CognomeCliente is null OR UPPER(C6MartPeriodico.ANAG_CLIENTI.COGNOME) LIKE UPPER(@CognomeCliente))
AND (
(@Diagnosi = 1 AND C6MartPeriodico.GESTIONE_PDF_FTP.TipoReport = 'D')
OR
(@Monitoraggio = 1 AND C6MartPeriodico.GESTIONE_PDF_FTP.TipoReport = 'M')
OR
(@Monitoraggio = 0 AND @Diagnosi = 0 AND C6MartPeriodico.GESTIONE_PDF_FTP.TipoReport IN ('D', 'M'))
)
AND (@DataSottDA is null OR C6Mart.CONTRATTOSEI.Data_Sott > CONVERT(DATETIME, @DataSottDA , 103))
AND (@DataSottA is null OR C6Mart.CONTRATTOSEI.Data_Sott < CONVERT(DATETIME, @DataSottA , 103))
AND (@RFADA is null OR C6MartPeriodico.vPatrimonioBFAggregato.CTV > @RFADA)
AND (@RFAA is null OR C6MartPeriodico.vPatrimonioBFAggregato.CTV < @RFAA)
AND (@VaRDA is null OR C6MartPeriodico.RISCHIO_AGGREGATO.VAR_PERC_PTF > @VaRDA)
AND (@VaRA is null OR C6MartPeriodico.RISCHIO_AGGREGATO.VAR_PERC_PTF < @VaRA)
AND (
@Profilo IS NULL OR C6MartPeriodico.MIFID.PROFILO_ASS in
(select [value] from dbo.Split(@Delimiter, @Profilo))
)
AND (
---- (@Verificato = 0 OR (@Verificato = 1 AND C6MartPeriodico.VERIFICHECAMPIONE.Verifica = 1))
---- OR
---- (@NonVerificato = 0 OR (@NonVerificato = 1 AND C6MartPeriodico.VERIFICHECAMPIONE.Verifica = 0))
(@Verificato = 1 AND ISNULL(C6MartPeriodico.VERIFICHECAMPIONE.Verifica,0) = 1)
OR
(@NonVerificato = 1 AND ISNULL(C6MartPeriodico.VERIFICHECAMPIONE.Verifica,0) = 0)
OR
(@Verificato = 0 AND @NonVerificato = 0
AND (ISNULL(C6MartPeriodico.VERIFICHECAMPIONE.Verifica,0) = 1
OR ISNULL(C6MartPeriodico.VERIFICHECAMPIONE.Verifica,0) = 0))
)
AND (
(@OK = 1 AND ISNULL(C6MartPeriodico.VERIFICHECAMPIONE.Esito, '-') = 'OK')
OR
(@KO = 1 AND ISNULL(C6MartPeriodico.VERIFICHECAMPIONE.Esito, '-') = 'KO')
OR
(@OK = 0 AND @KO = 0 AND ISNULL(C6MartPeriodico.VERIFICHECAMPIONE.Esito, '-') IN ('-','KO','OK'))
OR
(@OK = 1 AND @KO = 1 AND ISNULL(C6MartPeriodico.VERIFICHECAMPIONE.Esito, '-') IN ('-','KO','OK'))
)
--AND ISNULL(C6MartPeriodico.GESTIONE_PDF_FTP.FlagInvio,'N') = 'N' --C6MartPeriodico.getIdElab()
AND C6MartPeriodico.VERIFICHECAMPIONE.datafine is null
--AND ISNULL(C6MartPeriodico.GESTIONE_PDF_FTP.DEFINITIVO, 0) = 0
END