PDC_REPORT_CreazioneDB/sql/Produzione/funzioni/C6MartPeriodico_CONC_DEB.sql
2025-06-10 16:47:41 +02:00

64 lines
2.8 KiB
Transact-SQL

CREATE FUNCTION [C6MartPeriodico].[CONC_DEB]
(
@RETE as varchar(1),
@CF as varchar(16),
@ID_ZIP as smallint
)
RETURNS VARCHAR(MAX)
AS
BEGIN
-- Declare the return variable here
DECLARE @RESULT AS VARCHAR(MAX)
SET @RESULT =''
-- ***** LISTA DEI CAMPI E DELLE LUNGHEZZE *****
-- Facciate(6)
-- CppBollettini(2)
-- IDENTIFICATIVODOCUMENTO(50)
-- NOMINATIVODESTINATARIO(50)
-- VIA(50)
-- CAP(5)
-- LOCALITA(50)
-- PROVINCIA(2)
-- NAZIONE(1)
-- TIPOPOSTALIZZAZIONE(2)
-- FILESPOOL(50)
-- ALLEGATO1(1)
-- ALLEGATO2(1)
-- NAZIONEESTERA(30)
SET @CF = REPLACE(@CF,'$$','@')
SELECT
@RESULT = @RESULT
+ (right('000000' + cast(isnull(GESTIONE_PDF_FTP.numeroPagine,0) as varchar(6)),6) -- Facciate(6)
+ '00' --CppBollettini(2)
+ ' ' --IDENTIFICATIVODOCUMENTO(50)
+ LEFT(isnull(ANAG_CLIENTI.Nome,'NOME') + ' ' + ISNULL(ANAG_CLIENTI.Cognome,'COGNOME') + ' ',50) -- NOMINATIVODESTINATARIO(50)
+ LEFT(isnull(CONTRATTOSEI.Indirizzo,'') + ' ',50) --VIA(50)
+ LEFT(isnull(CONTRATTOSEI.CAP,'') + ' ',5) --CAP(5)
+ LEFT(isnull(CONTRATTOSEI.Citta,'') + ' ',50) --LOCALITA(50)
+ LEFT(isnull(CONTRATTOSEI.Prov,'') + ' ',2)--PROVINCIA(2)
+ (CASE UPPER(isnull(CONTRATTOSEI.Nazione,'')) WHEN 'ITALIA' THEN 'I' ELSE 'E' END) -- IoE(1)
+ 'PE' --TIPOPOSTALIZZAZIONE(2)
+ LEFT(GESTIONE_PDF_FTP.NomeFile + CASE tiporeport WHEN 'D' THEN '_DP' WHEN 'M' THEN '_MP' ELSE '_' + tiporeport END + ' ',50)--NOMEFILE(50)
+ '0' --ALLEGATO1(1)
+ '0' --ALLEGATO2(1)
+ LEFT((CASE UPPER(CONTRATTOSEI.Nazione) WHEN 'ITALIA' THEN '' ELSE CONTRATTOSEI.Nazione END) + ' ',30)) -- NAZIONEESTERA(30)
FROM [C6MartPeriodico].GESTIONE_PDF_FTP
INNER JOIN C6MART.CONTRATTOSEI
ON CONTRATTOSEI.Rete = GESTIONE_PDF_FTP.Rete
AND CONTRATTOSEI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale
AND CONTRATTOSEI.Rete = @RETE
AND CONTRATTOSEI.COD_FISCALE = @CF
INNER JOIN [C6MartPeriodico].ANAG_CLIENTI
ON ANAG_CLIENTI.Rete = GESTIONE_PDF_FTP.Rete
AND ANAG_CLIENTI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale
WHERE
--DATEDIFF(DAY,GESTIONE_PDF_FTP.DataInvio,GETDATE()) = 0
-- OR DATEDIFF(DAY,GESTIONE_PDF_FTP.DataInvioRistampa,GETDATE()) = 0)
--Anche se un contratto è revocato ma abbiamo stampato il report questo va inviato
--AND
--c6mart.contrattosei.cod_fiscale like '%@%'
isnull(data_Fineavanzato,cast('99991231' as datetime)) > c6martperiodico.getTrimestre(c6martperiodico.getTrimestre(getdate(),0),0)
AND GESTIONE_PDF_FTP.id_fk_zip = @ID_ZIP
order by tiporeport desc
RETURN @RESULT
END