-- Schema: C6MartPeriodico
-- Stored Procedure: GC_VerificheCampioneSelect


-- =============================================
-- 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 
