2025-06-26 18:47:11 +02:00

57 lines
2.1 KiB
Transact-SQL

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