﻿CREATE PROCEDURE [dbo].[SP_PDF_GETNUCLEI]
	@Rete varchar (1) = null,
	@CodicePB varchar(6)  = null,
	@dataDa AS varchar(10) = null,
	@dataA AS varchar(10) = null,	
	@Archivio  bit = 0,	
	@cfiva as varchar(16) = null,
	@cognomeCliente as varchar(50) = null,
	@nomeCliente as varchar(50) = null, 
	@codMan as varchar(5) = null,	 
	@nomeNucleo as varchar(500) = NULL,
	@idPdf as BIGINT  = NULL
AS
begin
    CREATE TABLE #IDPDF  (	
		 DaNucleo BIGINT NULL,
		 DaCliente BIGINT NULL	  
	) 
	DECLARE @RicClienti AS BIT	 		
	IF @NomeCliente IS NOT NULL OR @CognomeCliente  IS NOT NULL OR @cfiva  IS NOT NULL OR @codMan  IS NOT NULL 
	BEGIN 
	    INSERT INTO #IDPDF 
	    SELECT 0,IdPdf FROM ClientiPdf WHERE ChiaveClientePb in 
	    (SELECT ChiaveclientePb FROM [CONSEVO].ConsulenzaBase.dbo.vInfoCliente WHERE  1=1
					AND (@NomeCliente IS NULL OR @NomeCliente = NomeCliente)
					AND (@CognomeCliente IS NULL OR @CognomeCliente = CognomeCliente OR @CognomeCliente = codMan)					 
					AND (@cfiva IS NULL OR @cfiva = CodFis OR @cfiva = pIva)
					AND (@codMan IS NULL OR @codMan = codMan))
		SET   @RicClienti = 1
	END
	IF @NomeNucleo IS NOT NULL
	 	BEGIN
			INSERT INTO #IDPDF 
			SELECT IdPdf,0 FROM NucleiPdf WHERE ChiaveNucleo in
				(SELECT ChiaveNucleo FROM [CONSEVO].ConsulenzaEvoluta.dbo.nucleo  WHERE 1=1
						AND NomeNucleo like '%'+ @NomeNucleo + '%')
	 	END
	SELECT 
		D.*		 
		,N.chiaveNucleo
		,(SELECT NomeNucleo FROM [CONSEVO].ConsulenzaEvoluta.dbo.nucleo WHERE chiaveNucleo = N.chiaveNucleo) as NomeNucleo
		FROM DocumentiPdf D 
		INNER JOIN NucleiPdf N on
		D.IdPdf = N.idPdf 
		WHERE 1=1
		AND (@idPdf is null OR  D.idPdf = @idPdf)
		AND D.TpReport = 8 
		AND D.idStato <> 'E'
		AND (@Rete IS NULL OR @Rete = D.Rete)
		AND (@CodicePB IS NULL OR @CodicePB = CodicePB) 
		AND (@dataDA is null OR  D.dtCreazione >=  @dataDA ) 		 
		AND (@dataA is null OR  D.dtCreazione <=  @dataA)	 
		--AND (@Archivio = 1 OR D.IdArchivio = 'O' OR D.IdArchivio = 'R')
		AND (@Archivio = 1 OR D.IdArchivio <> 'A' )
		AND (@NomeNucleo IS NULL OR D.IdPdf IN (SELECT DaNucleo FROM #IDPDF))
		AND (@RicClienti IS NULL OR D.IdPdf IN (SELECT DaCliente FROM #IDPDF))
end