--INFORMAZIONI UTILI 
--La vista vPatrimoniobfAggregato_senzaNobPreZ riporta i dati del portafoglio del cliente su
--cui viene eseguito il check di superamenteo della soglia di 50K. Questa non corrisponde 
--all'intero patrimonio del cliente (che è invece presente sulla  vPatrimoniobfAggregato)
--ma i soli prodotti che sono inclusi nel servizio SEI, per cui questi sono i soli prodotti
--che contribuiscono al superamento della soglia
----TABELLA DI LOG LETTERE DI BENVENUTO (VIENE TRONCATA A OGNI LANCIO)
--select * 
--from LOG_ESECUZIONE
--order by Inizio desc
----UPDATE PER PASSARE DA SEI IN ATTIVAZIONE A SEI ATTIVATO (INSERIRE LA DATA DI GENERAZIONE DELLA LETTERA DI BENVENUTO)
--select top 100 * 
----update tab set dtvalid = '2024-05-09 21:29:02.817'
--from Consuni.ConsulenzaUnica.dbo.contratto tab
--where chiaveclientepb= 1713909
--PER TROVARE LA DATA DI GENERAZIONE CONSULTARE LA TABELLA c6mart.gestione_pdf_ftp
--select * from c6mart.gestione_pdf_ftp where CodiceFiscale=''
-- exec dbo.AMB_VerificaLettere 'MRNLSN62C09L424J'
CREATE procedure dbo.AMB_VerificaLettere ( @cf varchar(20) = 'DMECST71D10H501E') as 
BEGIN
	--DECLARE @cf VARCHAR(16) = 'VCCMHL75S29D612I'
	DECLARE @DataGenerazione varchar(20)
	print 'Caso: ' + @cf
	-- Controllo se è stato stampato nella tabella gestione_pdf_ftp
	IF EXISTS (SELECT 1 FROM c6mart.gestione_pdf_ftp WHERE codicefiscale = @cf)
	BEGIN
		select @DataGenerazione = convert(varchar, DataGenerazione, 103) from c6mart.gestione_pdf_ftp where CodiceFiscale=@cf
		PRINT 'Lettera di Benvenuto Stampata nella tabella gestione_pdf_ftp'
			+ ' (' + @DataGenerazione + ')'
	END
	ELSE
	BEGIN
		PRINT 'ERRORE: Lettera di Benvenuto Non Stampata: Controllo nella rp_vcontrattipergenerazionereport'
		-- Controllo nella tabella rp_vcontrattipergenerazionereport se non trovato in gestione_pdf_ftp
		IF EXISTS (SELECT 1 FROM c6mart.rp_vcontrattipergenerazionereport WHERE cod_fiscale = @cf)  --SELECT * FROM c6mart.rp_vtuttiicontratti 
		BEGIN
			PRINT 'Codice fiscale trovato nella tabella rp_vcontrattipergenerazionereport'
		END
		ELSE
		BEGIN
			PRINT 'ERRORE: Codice fiscale non trovato in entrambe le tabelle ( gestione_pdf_ftp e rp_vcontrattipergenerazionereport)'
		END
	END
	-- Fine controllo
	--Fine controllo se è stato stampato
	--controllo se è nella tabella contratti da escludere
		  IF EXISTS (SELECT 1 FROM C6Mart.Contratti_Da_Escludere tab WHERE cod_fiscale = @cf)  
			PRINT 'Il contratto è inserito in una lista di contratti da escludere C6Mart.Contratti_Da_Escludere'
			ELSE IF EXISTS (SELECT 1 FROM C6Mart.tbNotAllocatedResources where COD_FISCALE = @cf)
			PRINT 'Il contratto è inserito in una lista di contratti da escludere C6Mart.tbNotAllocatedResources'
			ELSE
			PRINT 'Il contratto non è inserito in una lista di contratti da escludere' 
	--fine controllo se è nella tabella contratti da escludere
	--controllo nella rp_vtuttiicontratti
	DECLARE @condizioneNonSoddisfatta NVARCHAR(MAX) = ''
	IF NOT EXISTS (
		SELECT 1 
		FROM c6mart.rp_vtuttiicontratti 
		WHERE Cod_Fiscale = @cf
	)
	BEGIN
		SET @condizioneNonSoddisfatta = 'ERRORE: Cod_Fiscale non trovato nella tabella rp_vtuttiicontratti'
	END
	ELSE
	BEGIN
		SELECT 
			@condizioneNonSoddisfatta = 
				CASE 
					WHEN cod_agente  IN ('015126') THEN @condizioneNonSoddisfatta + 'cod_agente non soddisfatta; '
					WHEN InvioBenvenuto = 'S' THEN @condizioneNonSoddisfatta + 'InvioBenvenuto non soddisfatta; '
					WHEN ISNULL(RisorseNa, 'N') = 'S' THEN @condizioneNonSoddisfatta + 'RisorseNa non soddisfatta; verifica la C6Staging.rp_Consulenza (Se manca qui metti in sessione) e C6staging.Spb_Contr_Sintesi (Se manca qui problema Servizi)'
					WHEN ISNULL(NumRevoche, 0) <> 0 THEN @condizioneNonSoddisfatta + 'NumRevoche non soddisfatta; '
					WHEN (
						DATEDIFF(d, Data_Perf, GETDATE()) < CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT) 
						AND cod_agente <> '015312'
					) THEN @condizioneNonSoddisfatta + 'Data_Perf non soddisfatta; '
					WHEN Cod_Fiscale NOT IN (SELECT COD_FISCALE FROM C6Mart.PIRAMIDE_MOD) THEN @condizioneNonSoddisfatta + 'Cod_Fiscale non presente in PIRAMIDE_MOD; '
					ELSE @condizioneNonSoddisfatta
				END
		FROM c6mart.rp_vtuttiicontratti 
		WHERE Cod_Fiscale = @cf
	END
	IF @condizioneNonSoddisfatta <> ''
	BEGIN
		PRINT 'ERRORE: Condizione/e non soddisfatta/e: ' + @condizioneNonSoddisfatta
	END
	ELSE
	BEGIN
		PRINT 'Cliente presente nella rp_vtuttiicontratti con tutte le condizioni soddisfatte.'
	END
	--fine controllo nella rp_vtuttiicontratti
	--controllo chave cliente duplicata 
	IF EXISTS (
		SELECT 1
		FROM consuni.consulenzaunica.dbo.vinfocliente
		WHERE (codfis = @cf or piva=@cf or codman=SUBSTRING(@cf,4,len(@cf))) AND tipologia = 'A'
		HAVING COUNT(DISTINCT rete) > 1
	)
	BEGIN
		PRINT 'ERRORE: Chiavecliente duplicata'
			SET NOCOUNT ON;
		SELECT 'vinfocliente' _vinfocliente_PDC, *
		FROM consuni.consulenzaunica.dbo.vinfocliente
		WHERE (codfis = @cf or piva=@cf or codman=SUBSTRING(@cf,4,len(@cf))) AND tipologia = 'A'
		SET NOCOUNT OFF;
	END
	ELSE
	BEGIN
		PRINT 'Nessuna ChiaveDuplicata sulla VinfoCliente'
	   -- SET NOCOUNT ON;
	   -- SELECT 'vinfocliente' _vinfocliente_PDC, *
	   -- FROM consuni.consulenzaunica.dbo.vinfocliente
	   -- WHERE (codfis = @cf or piva=@cf or codman=SUBSTRING(@cf,4,len(@cf))) AND tipologia = 'A'
	   -- SET NOCOUNT OFF;
	END
	--fine controllo chiavecliente duplicata 
	-- Controllo per stato contratto non valido
	IF EXISTS (
		SELECT 1
		FROM consuni.consulenzaunica.dbo.vinfocliente
		WHERE (codfis = @cf or piva=@cf or codman=SUBSTRING(@cf,4,len(@cf)))
			AND tipologia = 'A'
			AND statocontratto NOT IN ('SEI', 'AVANZATOBASE', 'REVOCASEI', 'DADVISORY')
	)
	BEGIN
		PRINT 'ERRORE: Stato contratto non valido'
	END
	ELSE
	BEGIN
		PRINT 'Stato contratto valido'
	END
	--Fine Controllo per stato contratto non valido
	DECLARE @dtFirmaSEI DATETIME
	SET @dtFirmaSEI = (
		SELECT MAX(dtFirmaSEI)
		FROM consuni.consulenzaunica.dbo.vinfocliente
		WHERE (codfis = @cf or piva=@cf or codman=SUBSTRING(@cf,4,len(@cf))) AND dtFirmaSEI IS NOT NULL
	)
	DECLARE @currentDate DATETIME
	SET @currentDate = GETDATE()
	-- Controllo per data di firma
	IF @dtFirmaSEI IS NULL
	BEGIN
		PRINT 'ERRORE: Nessuna data di firma trovata per il codice fiscale specificato.'
	END
	ELSE IF DATEADD(DAY, 15, @dtFirmaSEI) > @currentDate
	BEGIN
		PRINT 'ERRORE: Non sono ancora trascorsi 15 giorni dalla firma.'
	END
	ELSE
	BEGIN
		PRINT 'La firma è stata apposta da più di 15 giorni.'
		-- Fine controllo data Firma
	END
	-- CURSORI Generazione Lettere SEI e DIRECT
			declare @sogliaRfa as decimal (18,0)   = (select valore from [CONSUNI].[ConsulenzaUnica].[dbo].[param] where parametro = 'sogliaRFA')
			declare @sogliaRfaDB as decimal (18,0) = 0.0  
			declare @data_perf as datetime  = '20200401'
			--  --  --  CURSORE SEI -- -- --
				  SELECT distinct  
						 'CURSORE SEI' CURSORE_SEI
					   , '--' CONDIZIONI
					   , Case When nar.rete is null Then 'OK' Else 'KO'End CONDIZIONE_AllocatedResources 
					   , Case when ((patrimonioBF.ctv >= @sogliaRFA or contratti.data_perf < @data_perf) or (patrimonioBF.ctv >= 25000 and contratti.data_inizioavanzato < '20240412')) 
							  then 'OK' 
							  Else 'KO'
						 End CONDIZIONE_Soglie_e_Date
					   , @sogliaRFA  sogliaRFA_RIFERIMENTO
					   , patrimonioBF.ctv
					   , @data_perf data_perf_RIFERIMENTO
					   , contratti.data_perf
					   , contratti.data_inizioavanzato
					   , '---' DATI
				  ,contratti.Rete  
				  ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' WHEN UPPER(contratti.Rete) = 'S' THEN 'Sanpaolo Invest' ELSE 'IW Private Investments' END NomeRete  
				  ,contratti.Cod_Agente Agente  
				  ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente  
				  ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente  
				  ,isnull(promotori.Indirizzo,'') IndirizzoAgente  
				  ,isnull(promotori.Cap,'') CapAgente  
				  ,isnull(promotori.Localita,'') CittaAgente  
				  ,isnull(promotori.TEL_Recapito,'') TelefonoAgente  
				  ,contratti.Cod_Fiscale CodiceFiscale  
				  ,clienti.Cognome CognomeCliente  
				  ,clienti.nome NomeCliente  
				  ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct  
				   ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile  
				  ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv  
				  ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv  
				  ,isnull(patrimonioBF.ContoCorrente,0) as  ContoCorrente  
				  ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente   
				  ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as  RisorseNonAssociate  
				  ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv  
				  ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv  
				  ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv  
				  ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente   
				  ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente  
				  ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv  
				  ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv  
				  ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari  
				  ,contratti.CodiceContratto CodiceContratto  
				  ,contratti.tip_contratto--,2 as tip_contratto--  
				  ,case when contratti.tip_contratto=3 then 6 else 5 end as idModelloDiagnosi --5 as idModelloDiagnosi aggiunta per Fideuram Direct / Direct Banker  
				  ,1 as idReportDiagnosi  
				  ,'Diagnosi' as descrizioneDiagnosi  
				  ,-1 as idReportMonitoraggio  
				  ,719 as idModellotMonitoraggio  
				  ,'Monitoraggio' as descrizioneMonitoraggio  
				  ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato  
				  ,CASE   
				   WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000  
				   ELSE RISCHIO_NA.VAR_PERC_PTF   
				  END AS VaRRisorseNonAssociate   
				  ,CASE   
				   WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000  
				   ELSE RISCHIO_NA.COPERTURA  
				  END AS CoperturaRisorseNonAssociate  
				  ,CASE   
				   WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000  
				   ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF   
				  END AS VaRTotaleRisorseFinanziarie  
				  ,CASE   
				   WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000  
				   ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA  
				  END AS CoperturaTotaleRisorseFinanziarie,  
				  0 As NoMonitoraggio,  
				  CASE   
					WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0   
				  END AS ContrattoOld,  
				  0 AS IdReportPDFDiagnosi,       
				  0 AS IdReportPDFMonitoraggio ,  
				  ---- aggiunti il 09/3/2018 con pubblicazione nuovo software gestione accorpamento lettere e servizi aggiuntivi  
				  CASE   
					WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0   
				  END AS ContrattoOld,  
				  0 AS IdReportPDFDiagnosi,       
				  0 AS IdReportPDFMonitoraggio,  
				  0 as flagnqp,  
				  0 as flagprlrde,  
				  -- modifica del 22/10/2018 - il flag professionale è più sotto- questo è un errore  
				  ------0 as Flgprof,  
				  0 as flagpg  
				  ----------------------------------------------------- fine 09/3/2018   
				  ,  
				  case contratti.TipoConsulenza  
				   when 'P' then 'S'  
				   when 'D' then 'N'  
				   else 'N'  
				  end as Flgprof  
				 from C6Mart.RP_vContrattiPerGenerazioneReport contratti  
				 left join C6Mart.ANAG_PROMOTORI promotori  
				  on contratti.Rete = promotori.Rete  
				  and contratti.Cod_Agente = promotori.Id_Promotore  
				 left join  C6Mart.tbNotAllocatedResources as nar --pk  
				  on contratti.Rete = nar.Rete    --pk  
				  and contratti.Cod_Fiscale = nar.Cod_Fiscale --pk  
				 left join C6Mart.ANAG_CLIENTI clienti  
				  on contratti.Rete = clienti.Rete  
				  and contratti.Cod_Fiscale = clienti.Cod_Fiscale  
				 INNER join C6Mart.vPatrimoniobfAggregato_SenzaNobPrez patrimonioBF  
				  on contratti.Rete = patrimonioBF.Rete  
				  and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale   
				 left outer join C6Mart.vPatrimonioAltroAggregato patrimonioAltro  
				  on contratti.Rete = patrimonioAltro.Rete  
				  and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale   
				 left outer join C6Mart.vPatrimonioImmobAggregato patrimonioImmobiliare  
				  on contratti.Rete = patrimonioImmobiliare.Rete  
				  and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale   
				 left outer join C6Mart.vPatrimonioTerziAggregato patrimonioTerzi  
				  on contratti.Rete = patrimonioTerzi.Rete  
				  and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale   
				 left outer join C6Mart.MIFID MIFID  
				  on contratti.Rete = MIFID.Rete  
				  and contratti.Cod_Fiscale = MIFID.Cod_Fiscale  
				 left outer join C6Mart.vPatrimonioNonRappresentabileAsset PatrNonRapprAsset  
				  on contratti.Rete = PatrNonRapprAsset.Rete  
				  and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale  
				 left outer join C6Mart.vNumeroIntermediari numIntermediari  
				  on contratti.Rete = numIntermediari.Rete   
				  and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale  
				 left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_NA  
				  on contratti.Rete = RISCHIO_NA.Rete   
				  and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale  
				  and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA'    
				 left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE  
				  on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete   
				  and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale  
				  and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF'    
				 left outer join C6Mart.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI  
				  on contratti.Rete = PARTITEVIAGGIANTI.RETE  
				  and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE  
				 --left join c6mart.vcontrattic6 vcontr  
				 --on vcontr.codicecontratto  =  contratti.codicecontratto  
					where 1=1  
					  and contratti.Rete in ('F', 'S', 'W')
					  and contratti.Cod_Fiscale = @CF
					  and contratti.tip_contratto != 3
			-- -- -- DIRECT -- -- --
				 SELECT distinct 
						 'CURSORE DIRECT' CURSORE_DIRECT
					   , '--' CONDIZIONI
					   , Case When nar.rete is null Then 'OK' Else 'KO'End CONDIZIONE_AllocatedResources 
					   , Case when exists (select 1 from c6staging.VAR_ADEGUATEZZA_INDICATORI ind Where ind.CODICE_FISCALE =  contratti.Cod_Fiscale and ind.rete =  contratti.rete)  Then 'OK' Else 'KO'End CONDIZIONE_ADEGUATEZZA_INDICATORI  
					   , Case when (patrimonioBF.ctv >= @sogliaRFADB and vcontr.data_perf < @data_perf) 
							  then 'OK' 
							  Else 'KO'
						 End CONDIZIONE_SoglieDate
					   , @sogliaRFAdb  sogliaRFA_RIFERIMENTO
					   , patrimonioBF.ctv
					   , @data_perf data_perf_RIFERIMENTO
					   , contratti.data_perf
					   , '---' DATI
				  , contratti.Rete  
				  ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' WHEN UPPER(contratti.Rete) = 'S' THEN 'Sanpaolo Invest' ELSE 'IW Private Investments' END NomeRete  
				  ,contratti.Cod_Agente Agente  
				  ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente  
				  ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente  
				  ,isnull(promotori.Indirizzo,'') IndirizzoAgente  
				  ,isnull(promotori.Cap,'') CapAgente  
				  ,isnull(promotori.Localita,'') CittaAgente  
				  ,isnull(promotori.TEL_Recapito,'') TelefonoAgente  
				  ,contratti.Cod_Fiscale CodiceFiscale  
				  ,clienti.Cognome CognomeCliente  
				  ,clienti.nome NomeCliente  
				  ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct  
				   ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile  
				  ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv  
				  ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv  
				  ,isnull(patrimonioBF.ContoCorrente,0) as  ContoCorrente  
				  ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente   
				  ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as  RisorseNonAssociate  
				  ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv  
				  ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv  
				  ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv  
				  ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente   
				  ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente  
				  ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv  
				  ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv  
				  ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari  
				  ,contratti.CodiceContratto CodiceContratto  
				  ,contratti.tip_contratto  
				  ,case when contratti.tip_contratto=3 then 6 else 5 end as idModelloDiagnosi --5 as idModelloDiagnosi aggiunta per Fideuram Direct / Direct Banker  
				  ,1 as idReportDiagnosi  
				  ,'Diagnosi' as descrizioneDiagnosi  
				  ,-1 as idReportMonitoraggio  
				  ,719 as idModellotMonitoraggio  
				  ,'Monitoraggio' as descrizioneMonitoraggio  
				  ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato  
				  ,CASE   
				   WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000  
				   ELSE RISCHIO_NA.VAR_PERC_PTF   
				  END AS VaRRisorseNonAssociate   
				  ,CASE   
				   WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000  
				   ELSE RISCHIO_NA.COPERTURA  
				  END AS CoperturaRisorseNonAssociate  
				  ,CASE   
				   WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000  
				   ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF   
				  END AS VaRTotaleRisorseFinanziarie  
				  ,CASE   
				   WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000  
				   ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA  
				  END AS CoperturaTotaleRisorseFinanziarie,  
				  0 As NoMonitoraggio,  
				  CASE   
					WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0   
				  END AS ContrattoOld,  
				  0 AS IdReportPDFDiagnosi,       
				  0 AS IdReportPDFMonitoraggio ,  
				  ---- aggiunti il 09/3/2018 con pubblicazione nuovo software gestione accorpamento lettere e servizi aggiuntivi  
				  CASE   
					WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0   
				  END AS ContrattoOld,  
				  0 AS IdReportPDFDiagnosi,       
				  0 AS IdReportPDFMonitoraggio,  
				  0 as flagnqp,  
				  0 as flagprlrde,  
				  -- modifica del 22/10/2018 - il flag professionale è più sotto- questo è un errore  
				  ------0 as Flgprof,  
				  0 as flagpg  
				  ----------------------------------------------------- fine 09/3/2018   
				  ,  
				  case contratti.TipoConsulenza  
				   when 'P' then 'S'  
				   when 'D' then 'N'  
				   else 'N'  
				  end as Flgprof  
				 from C6Mart.RP_vContrattiPerGenerazioneReport contratti  
				 left join C6Mart.ANAG_PROMOTORI promotori  
				  on contratti.Rete = promotori.Rete  
				  and contratti.Cod_Agente = promotori.Id_Promotore  
				 left join  C6Mart.tbNotAllocatedResources as nar --pk  
				  on contratti.Rete = nar.Rete    --pk  
				  and contratti.Cod_Fiscale = nar.Cod_Fiscale --pk  
				 left join C6Mart.ANAG_CLIENTI clienti  
				  on contratti.Rete = clienti.Rete  
				  and contratti.Cod_Fiscale = clienti.Cod_Fiscale  
				 INNER join C6Mart.vPatrimoniobfAggregato_SenzaNobPrez patrimonioBF  
				  on contratti.Rete = patrimonioBF.Rete  
				  and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale   
				 left outer join C6Mart.vPatrimonioAltroAggregato patrimonioAltro  
				  on contratti.Rete = patrimonioAltro.Rete  
				  and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale   
				 left outer join C6Mart.vPatrimonioImmobAggregato patrimonioImmobiliare  
				  on contratti.Rete = patrimonioImmobiliare.Rete  
				  and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale   
				 left outer join C6Mart.vPatrimonioTerziAggregato patrimonioTerzi  
				  on contratti.Rete = patrimonioTerzi.Rete  
				  and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale   
				 left outer join C6Mart.MIFID MIFID  
				  on contratti.Rete = MIFID.Rete  
				  and contratti.Cod_Fiscale = MIFID.Cod_Fiscale  
				 left outer join C6Mart.vPatrimonioNonRappresentabileAsset PatrNonRapprAsset  
				  on contratti.Rete = PatrNonRapprAsset.Rete  
				  and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale  
				 left outer join C6Mart.vNumeroIntermediari numIntermediari  
				  on contratti.Rete = numIntermediari.Rete   
				  and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale  
				 left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_NA  
				  on contratti.Rete = RISCHIO_NA.Rete   
				  and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale  
				  and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA'    
				 left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE  
				  on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete   
				  and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale  
				  and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF'    
				 left outer join C6Mart.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI  
				  on contratti.Rete = PARTITEVIAGGIANTI.RETE  
				  and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE  
				 left join c6mart.vcontrattic6 vcontr  
				 on vcontr.codicecontratto  =  contratti.codicecontratto  
					where 1=1  
					  and contratti.Rete in ('F', 'S', 'W')
					  and contratti.Cod_Fiscale = @CF
					  and contratti.tip_contratto = 3
	-- Tabelle di riferimento
		select '-vinfocliente' vinfocliente,* from consuni.consulenzaunica.dbo.vinfocliente where codfis=@cf
		select '-rp_vtuttiicontratti-' rp_vtuttiicontratti,* from c6mart.rp_vtuttiicontratti where Cod_fiscale=@cf
		select '-rp_vcontrattipergenerazionereport-' rp_vcontrattipergenerazionereport,* from c6mart.rp_vcontrattipergenerazionereport where Cod_Fiscale=@cf
		select '-gestione_email-' gestione_email,* from c6mart.gestione_email where Cod_Fiscale=@cf
		select '-gestione_pdf_ftp-' gestione_pdf_ftp,* from c6mart.gestione_pdf_ftp where CodiceFiscale=@cf
		select '-Contratti_Da_Escludere-' Contratti_Da_Escludere, * from C6Mart.Contratti_Da_Escludere where cod_fiscale=@cf
		select '-tbNotAllocatedResources-' tbNotAllocatedResources, * from C6Mart.tbNotAllocatedResources where COD_FISCALE = @cf
		select '-C6Staging.rp_Consulenza-' rp_Consulenza, * from C6Staging.rp_Consulenza where COD_FISCALE = @cf
		select '-C6staging.Spb_Contr_Sintesi-' Spb_Contr_Sintesi,* from C6staging.Spb_Contr_Sintesi where CODICEFISCALE = @cf
		select '-vPatrimoniobfAggregato-'  as Vista_PatrimoniobfAggregato, * from [C6Mart].[vPatrimoniobfAggregato] where COD_FISCALE = @cf
		union
		select  '-vPatrimoniobfAggregato_senzaNobPrez-' as Vista , * from [C6Mart].[vPatrimoniobfAggregato_SenzaNobPrez] where COD_FISCALE = @cf
END