CREATE procedure [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE] (@volThreads int = 9999)
AS
BEGIN
	SET NOCOUNT ON;
--	[C6Mart].[RP_Selettore_GetDataThreads] 'SEI'
--	[C6Mart].[RP_Selettore_GetDataThreads] 'DIRECT'
	truncate table C6Mart.tbNotAllocatedResources
	INSERT INTO C6Mart.tbNotAllocatedResources(COD_FISCALE, RETE, CTV)
		SELECT PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE, SUM(ISNULL(CTV,0)) as CTV
	FROM C6MART.PIRAMIDE_MOD PIRAMIDE_MOD
	 INNER JOIN C6MART.PATRIMONIO_BF PIRAMIDE_VERT
	 ON PIRAMIDE_VERT.COD_FISCALE = PIRAMIDE_MOD.COD_FISCALE
		AND PIRAMIDE_VERT.RETE = PIRAMIDE_MOD.RETE
		AND CASE WHEN PIRAMIDE_VERT.ID_AREA = 'SELF' THEN LEFT(PIRAMIDE_VERT.ID_AREA,4) ELSE LEFT(PIRAMIDE_VERT.ID_AREA,3) END  = PIRAMIDE_MOD.ID_AREA
	WHERE PIRAMIDE_MOD.ID_AREA = 'Na' AND ISNULL(CTV,0) > 0
	GROUP BY PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE
	declare @sogliaRfa as decimal (18,0) 
	declare @sogliaRfaDB as decimal (18,0) 
	declare @data_perf as datetime
	declare @nomeRep as varchar(32)
	set @sogliaRfa = (select valore from [CONSUNI].[ConsulenzaUnica].[dbo].[param] where parametro = 'sogliaRFA')
	set @data_perf = '20200401'
	set @sogliaRfaDB=0
	set @nomeRep = (select Reportistica from [C6Mart].[TB_Selettore_GetDataThreads])
--if (@nomeRep='SEI')
 SELECT distinct top (@volThreads)
 contratti.Rete
		--,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete
		,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
		into #result1
	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
		inner join c6mart.TB_Campione camp on camp.rete=contratti.Rete and
	camp.cod_fiscale=contratti.Cod_Fiscale
    where 1=1
	and nar.rete is null --pk
	--and contratti.Cod_Fiscale +  contratti.Rete NOT IN (SELECT COD_FISCALE + RETE FROM C6MART.TEST_QUALITY)
	--- inizio intervento RFAMinus
	and ((patrimonioBF.ctv >= @sogliaRFA or contratti.data_perf < @data_perf) or (patrimonioBF.ctv >= 25000 and contratti.data_inizioavanzato < '20240412')) --rimossa per Fideuram Direct / Direct Banker
	and contratti.tip_contratto <> 3 
	--and contratti.Cod_Fiscale in ('BRCCLN52L04C494U') --,'05291050267','BRCCLN52L04C494U')--Da togliere 
	--and contratti.Cod_Fiscale in ('CMSDDD45S16B565N','05291050267','BRCCLN52L04C494U')--Da togliere 
	--and contratti.rete = 'W' -- rete F
	and camp.flag_stampa=1
--END
--if (@nomeRep='DIRECT')
--BEGIN
-- SELECT distinct top (@volThreads)
-- contratti.Rete
--		--,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete
--		,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
--	--	into #result2
--	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
--	inner join c6mart.TB_Campione camp on camp.rete=contratti.Rete and
--	camp.cod_fiscale=contratti.Cod_Fiscale
--    where 1=1
--	and nar.rete is null --pk
--	and contratti.Cod_Fiscale +  contratti.Rete NOT IN (SELECT COD_FISCALE + RETE FROM C6MART.TEST_QUALITY)
--         and   contratti.tip_contratto = 3
--            AND patrimonioBF.ctv >= @sogliaRFADB
--         and vcontr.data_perf < @data_perf
--	and contratti.Cod_Fiscale in (select CODICE_FISCALE from c6staging.VAR_ADEGUATEZZA_INDICATORI)
--	--and 1=0 --da togliere
--	and camp.flag_stampa=1
--END
 update t set flag_stampa=2
		from  c6mart.TB_Campione t where cod_fiscale in (select CodiceFiscale from #result1 )
	----forzatura per Fideuram direct
	--update #result
	--set tip_contratto=3, idModelloMonitoraggio=6
	----fine forzatura per fideuram direct
select * from #result1
END