-- Schema: C6Mart
-- Stored Procedure: GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_20180309_PreServizi



CREATE procedure [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_20180309_PreServizi] (@volThreads int = 9999)
AS
BEGIN
	SET NOCOUNT ON;

	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


 SELECT distinct TOP (@volThreads) contratti.Rete
		,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' 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
		,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 
	from C6Mart.RP_vContrattiPerGenerazioneReport contratti
	left join C6Mart.ANAG_PROMOTORI promotori
		on contratti.Rete = promotori.Rete
		and contratti.Cod_Agente =
