--select * from global_error
--[C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_Cruscotto] 1000
CREATE procedure [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_Cruscotto] (@volThreads int = 1)
AS
BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON;
 SELECT    DISTINCT  
		--top 80
		--DATI COMUNI
		--RETE
		contratti.Rete
		,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete
		--AGENTE	
		,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
		--CLIENTE
		,contratti.Cod_Fiscale CodiceFiscale
		,clienti.Cognome CognomeCliente
		,clienti.nome NomeCliente
		--PATRIMONI CLIENTE
		,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
		--CONTRATTO
		,contratti.CodiceContratto CodiceContratto
		,contratti.tip_contratto --DA REINSERIRE QUANDO REPLATTATA
		--REPORT
		--Modello Diagnosi pre modifiche OMNIA
--		,4 as idModelloDiagnosi
		--Modello Diagnosi post modifiche OMNIA
		,5 as idModelloDiagnosi
		,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,
		0 as flagnqp,
		0 as flagprlrde,
		case TipoConsulenza
			when 'P' then 'S'
			when 'D' then 'N'
			else 'N'
		end as Flgprof
		--'S' as Flgprof
		--,C6Mart.EsistonoServiziAggiuntivi (contratti.rete, contratti.Cod_Fiscale) as FlagServiziAggiuntivi
	from [C6Mart].[RP_vContrattiPerGenerazioneReport_OnDemand_Adriano] contratti
	left join C6Mart.ANAG_PROMOTORI promotori
		on contratti.Rete = promotori.Rete
		and contratti.Cod_Agente = promotori.Id_Promotore
	left join C6Mart.ANAG_CLIENTI clienti
		on contratti.Rete = clienti.Rete
		and contratti.Cod_Fiscale = clienti.Cod_Fiscale
	left join C6Mart.vPatrimoniobfAggregato 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
    where 1=1
		and contratti.Rete + contratti.Cod_Fiscale in 
		(select Rete + Cod_Fiscale from FiltroCruscottoGiornaliero)
END
--[C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_Cruscotto]