﻿CREATE   procedure [C6MartPeriodico].[GETDATATHREADS_TRIMESTRALE_SEI] (@volThreads int = 10000)
AS
BEGIN
		SET NOCOUNT ON;
		DECLARE @dtrim VARCHAR(8) = c6martperiodico.gettrimestre(getDate(),0); 
		WITH WSEIAN_1 as 
		(
				select                  codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim from [C6stagingPeriodico].[WSEIAN2] WHERE codman  = '' and dttrim = @dtrim
				UNION ALL 
				select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim from [C6stagingPeriodico].[WSEIAN2] WHERE codman <> '' and dttrim = @dtrim
		)
		SELECT TOP (@volThreads) 
		 Maledetti.[CodiceFiscale]
		,Maledetti.[Rete]
		,Maledetti.[tip_contratto]
		,Maledetti.[NomeRete]
		,Maledetti.[Agente]
		,Maledetti.[CognomeAgente]
		,Maledetti.[NomeAgente]
		,Maledetti.[IndirizzoAgente]
		,Maledetti.[CapAgente]
		,Maledetti.[CittaAgente]
		,Maledetti.[TelefonoAgente]
		,Maledetti.[CognomeCliente]
		,Maledetti.[NomeCliente]
		,Maledetti.[ProfiloIsAct]
		,Maledetti.[PatrimonioNonRappresentabile]
		,Maledetti.[PartiteViaggiantiDisinv]
		,Maledetti.[PartiteViaggiantiInv]
		,Maledetti.[ContoCorrente]
		,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente]
		,Maledetti.[RisorseNonAssociate]
		,Maledetti.[Patrimonioaltroctv]
		,Maledetti.[Patrimonioimmobiliarectv]
		,Maledetti.[PatrimonioTerzictv]
		,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente]
		,Maledetti.[PatrimonioTerziContoCorrente]
		,Maledetti.[Patrimoniobancafideuramctv]
		,Maledetti.[Patrimoniocomplessivototalectv]
		,Maledetti.[NumeroIntermediari]
		,Maledetti.[CodiceContratto]
		,Maledetti.[contrattoold]
		,Maledetti.[NoMonitoraggio]
		,Maledetti.[descrizioneDiagnosi]
		,Maledetti.[idModelloDiagnosi]
		,Maledetti.[idReportDiagnosi]
		,Maledetti.[descrizioneMonitoraggio]
		,Maledetti.[idReportMonitoraggio]
		,Maledetti.[idModelloMonitoraggio]
		,Maledetti.[AdesioneSuccessivaAvanzato]
		,Maledetti.[VaRRisorseNonAssociate]
		,Maledetti.[CoperturaRisorseNonAssociate]
		,Maledetti.[VaRTotaleRisorseFinanziarie]
		,Maledetti.[CoperturaTotaleRisorseFinanziarie]
		,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) AS IdReportPDFDiagnosi   
		,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) AS IdReportPDFMonitoraggio
		,CASE 
			 WHEN wse.flagnqp IS NULL or wse.flagnqp ='' 
			 THEN 'N'
			 ELSE wse.flagnqp
			 END as 'flagnqp'
		,CASE 
			 WHEN wse.flgprlrde ='' THEN NULL
			 ELSE wse.flgprlrde
			 END as 'flagprlrde'
		,CASE
			 WHEN wse.FLAGPG IS NULL THEN 0
			 ELSE wse.FLAGPG
			 END as 'flagpg'
		,CASE 
			 WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N'
			 ELSE wse.FLGPROF
			 END as 'FLGPROF'
		,scaduto
		FROM 
			 wh.Maledetti  Maledetti
			 inner join  c6martperiodico.TB_Campione Campione on Maledetti.rete= Campione.rete and Maledetti.i_codicefiscale= Campione.cod_fiscale
			 left outer join WSEIAN_1 wse on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete
		WHERE 
			Maledetti.tip_contratto<>3
		and flag_stampa=1	
		ORDER BY 
			Maledetti.[CodiceFiscale]
		   ,Maledetti.[Rete]
END