﻿CREATE FUNCTION [C6Mart].[CONCATENA_CHECK]
(
		@RETE as varchar(1),
        @CF as  varchar(16),
		@idReport as int
)
RETURNS  VARCHAR(MAX)
AS
BEGIN
        -- Declare the return variable here
	-- Declare the return variable here
	DECLARE @RESULT AS  VARCHAR(MAX)
    DECLARE @FIDUCIARIA AS CHAR(1)
	DECLARE @BROCHURE AS CHAR(1)
	SET @RESULT =''
	IF CHARINDEX('@', @CF) > 0
	 	SET @FIDUCIARIA = 'S'
	ELSE 
		SET @FIDUCIARIA = 'N'
	-- ***** LISTA DEI CAMPI E DELLE LUNGHEZZE *****
		-- FlagFiduciaria (1)
		-- Rete (1)
		-- Brochure (1)
		-- 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)
-- FC 24/02/2014
-- MOdifica accesso tabella C6MART.ContrattoSei NON PIU GESTITA con tabella C6Mart.VContratti
-- Gestione Data FineAvanzato ( datat chiusura contratto ) con valore convenzionale 9999/12/31
	SET @CF = REPLACE(@CF,'$$','@')
	SELECT		
		@RESULT = @RESULT 
		--V Inserimento nuovi flag
		+ @FIDUCIARIA
		+ @RETE
		+ CASE WHEN CB.COD_FISCALE IS NULL THEN 'N' ELSE 'S' END
		--FINE INSERIMENTO NUOVI FLAG
		+ (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(v.Indirizzo + '                                                  ',50) --VIA(50)
		+ LEFT(ISNULL(v.CAP,'') + '     ',5) --CAP(5)
		+ LEFT(v.Citta + '                                                  ',50) --LOCALITA(50)
		+ LEFT(ISNULL(v.Provincia,'') + '  ',2)--PROVINCIA(2)
		-- Modifica del 17/12/2018 per gestire il caso NULL della v.nazione
				--  + (CASE UPPER(v.Nazione) WHEN 'ITALIA' THEN 'I' ELSE 'E' END) -- IoE(1)
			+ (CASE UPPER(isnull(v.Nazione,'')) WHEN 'ITALIA' THEN 'I' ELSE 'E' END) -- IoE(1)
		-- fine modifica del 17/12/2018
		+ 'PE' --TIPOPOSTALIZZAZIONE(2)
		+ LEFT(GESTIONE_PDF_FTP.NomeFile + CASE tiporeport WHEN 'D' THEN '_DW' ELSE '_' + tiporeport END + '                                                  ',50)--NOMEFILE(50)
		+ '0' --ALLEGATO1(1)
		+ '0' --ALLEGATO2(1)
		-- Modifica del 17/12/2018 per gestire il caso NULL della v.nazione
			--   + LEFT((CASE UPPER(v.Nazione) WHEN 'ITALIA' THEN '' ELSE v.Nazione END) + '                               ',30)) -- NAZIONEESTERA(30)
			+ LEFT((CASE UPPER(isnull(v.Nazione,'')) WHEN 'ITALIA' THEN '' ELSE (isnull(v.Nazione,'')) END) + '                               ',30)) -- NAZIONEESTERA(30)
		-- fine modifica del 17/12/2018
		--+ '>>>'
		+ right (' ' + CASE WHEN ISNULL(ROL.STATOROL,'N') = 'S' THEN 'S' ELSE 'N' END, 1)
		--+ right (' ' + v.flagRol, 1)
		--+ '<<<'
		+ right ('                ' + v.Cod_Fiscale, 16)
		+ left (coalesce(v.Email, '') + '                                                  ', 50)
		+ convert(char(8),GESTIONE_PDF_FTP.DataGenerazione, 112)	
		+ v.COD_AGENTE	
	FROM C6MART.GESTIONE_PDF_FTP
	INNER JOIN C6MART.Vcontratti v
		ON v.Rete = GESTIONE_PDF_FTP.Rete
		AND v.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale
		AND v.Rete = @RETE
		AND v.COD_FISCALE = @CF
	INNER JOIN C6MART.ANAG_CLIENTI 
		ON ANAG_CLIENTI.Rete = GESTIONE_PDF_FTP.Rete
		AND ANAG_CLIENTI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale
	LEFT JOIN C6Staging.WSROL  ROL
		ON ROL.CODFIS = GESTIONE_PDF_FTP.CodiceFiscale 
		AND ROL.RETE = GESTIONE_PDF_FTP.RETE 
	LEFT JOIN C6MART.CLIENTI_BROCHURE CB 
		ON CB.Rete = GESTIONE_PDF_FTP.Rete
		AND CB.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale
	WHERE GESTIONE_PDF_FTP.idReport = @idReport
	--order by tiporeport desc
	RETURN @RESULT
END