CREATE procedure [wh].[ProduceMaladetti] as begin truncate table wh.Maledetti insert into wh.Maledetti --70 minutes ( [i_CodiceFiscale] ,[i_Rete] ,[Rete] ,[NomeRete] ,[Agente] ,[CognomeAgente] ,[NomeAgente] ,[IndirizzoAgente] ,[CapAgente] ,[CittaAgente] ,[TelefonoAgente] ,[CodiceFiscale] ,[CognomeCliente] ,[NomeCliente] ,[ProfiloIsAct] ,[PatrimonioNonRappresentabile] ,[PartiteViaggiantiDisinv] ,[PartiteViaggiantiInv] ,[ContoCorrente] ,[PatrimonioBancaFideuramCtvAlNettoContoCorrente] ,[RisorseNonAssociate] ,[Patrimonioaltroctv] ,[Patrimonioimmobiliarectv] ,[PatrimonioTerzictv] ,[PatrimonioTerziCtvAlNettoContoCorrente] ,[PatrimonioTerziContoCorrente] ,[Patrimoniobancafideuramctv] ,[Patrimoniocomplessivototalectv] ,[NumeroIntermediari] ,[CodiceContratto] ,[tip_contratto] ,[contrattoold] ,[NoMonitoraggio] ,[descrizioneDiagnosi] ,[idModelloDiagnosi] ,[idReportDiagnosi] ,[descrizioneMonitoraggio] ,[idReportMonitoraggio] ,[idModelloMonitoraggio] ,[AdesioneSuccessivaAvanzato] ,[VaRRisorseNonAssociate] ,[CoperturaRisorseNonAssociate] ,[VaRTotaleRisorseFinanziarie] ,[CoperturaTotaleRisorseFinanziarie] ,[IdReportPDFDiagnosi] ,[IdReportPDFMonitoraggio] ) SELECT DISTINCT contratti.Cod_Fiscale as i_CodiceFiscale ,contratti.Rete as i_Rete --DATI COMUNI --RETE ,contratti.Rete ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' WHEN UPPER(contratti.Rete) = 'S' THEN 'Sanpaolo Invest' ELSE 'IW Private Inv.' 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.SCADUTO,1) = 1 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 AS tip_contratto ,0 AS contrattoold --************************************************* ,CASE WHEN count(monit.id_area) OVER (PARTITION BY monit.rete,monit.cod_fiscale) = 0 or isnull(monitInit.data_foto,getDate()) >= c6martperiodico.getPreviousTrimestre(getDate(),0) or monitReport.cod_fiscale is null THEN 1 ELSE 0 END AS NoMonitoraggio ,'Diagnosi' as descrizioneDiagnosi ,CASE WHEN contratti.freq_Diagnosi is not null AND contratti.tip_contratto = 0 THEN 5 ELSE -1 END AS idModelloDiagnosi ,CASE WHEN contratti.freq_Diagnosi is not null AND contratti.tip_contratto = 0 THEN 1 ELSE -1 END AS idReportDiagnosi ,'Monitoraggio' as descrizioneMonitoraggio ,4 as idReportMonitoraggio--4 ,CASE isnull(tip_contratto,0) WHEN 0 THEN 12--12 WHEN 1 THEN 12--12 WHEN 2 THEN 13--13 END AS idModelloMonitoraggio --************************************************* ,0 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 ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' AND ftp.codicefiscale = contratti.cod_fiscale AND ftp.rete = contratti.Rete),0) AS IdReportPDFDiagnosi ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' AND ftp.codicefiscale = contratti.cod_fiscale AND ftp.rete = contratti.Rete),0) AS IdReportPDFMonitoraggio FROM [C6MartPeriodico].contrattoSEI contratti left outer join [C6MartPeriodico].ANAG_PROMOTORI promotori on contratti.Rete = promotori.Rete and contratti.Cod_Agente = promotori.Id_Promotore inner join [C6MartPeriodico].ANAG_CLIENTI clienti on contratti.Rete = clienti.Rete and contratti.Cod_Fiscale = clienti.Cod_Fiscale --V non stampo se non ha patrimonio inner join [C6MartPeriodico].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 [C6MartPeriodico].vPatrimonioImmobAggregato patrimonioImmobiliare on contratti.Rete = patrimonioImmobiliare.Rete and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale left outer join [C6MartPeriodico].vPatrimonioTerziAggregato patrimonioTerzi on contratti.Rete = patrimonioTerzi.Rete and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale left outer join [C6MartPeriodico].MIFID MIFID on contratti.Rete = MIFID.Rete and contratti.Cod_Fiscale = MIFID.Cod_Fiscale left outer join [C6MartPeriodico].vPatrimonioNonRappresentabileAsset PatrNonRapprAsset on contratti.Rete = PatrNonRapprAsset.Rete and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale left outer join [C6MartPeriodico].vNumeroIntermediari numIntermediari on contratti.Rete = numIntermediari.Rete and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale left outer join [C6MartPeriodico].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' --modificata da Valerio 12 marzo 2012 --left outer join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE inner join [C6MartPeriodico].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 C6MartPeriodico.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI on contratti.Rete = PARTITEVIAGGIANTI.RETE and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE left join c6martperiodico.monitoraggio_attuale monit on patrimonioBF.rete = monit.rete and patrimonioBF.cod_fiscale = monit.cod_fiscale left join c6martperiodico.monitoraggio_iniziale monitInit on patrimonioBF.rete = monitInit.rete and patrimonioBF.cod_fiscale = monitInit.cod_fiscale left join c6martperiodico.monitoraggio_report monitReport on patrimonioBF.rete = monitReport.rete and patrimonioBF.cod_fiscale = monitReport.cod_fiscale WHERE 1=1 and mifid.scaduto = 0 end --USE [C6StampeCentralizzate] --GO --/****** Object: StoredProcedure [wh].[ProduceMaladetti] Script Date: 08/02/2022 17:28:30 ******/ --SET ANSI_NULLS ON --GO --SET QUOTED_IDENTIFIER ON --GO --ALTER procedure [wh].[ProduceMaladetti] --as --begin --truncate table wh.Maledetti --insert into wh.Maledetti --70 minutes --( --[i_CodiceFiscale] -- ,[i_Rete] -- ,[Rete] -- ,[NomeRete] -- ,[Agente] -- ,[CognomeAgente] -- ,[NomeAgente] -- ,[IndirizzoAgente] -- ,[CapAgente] -- ,[CittaAgente] -- ,[TelefonoAgente] -- ,[CodiceFiscale] -- ,[CognomeCliente] -- ,[NomeCliente] -- ,[ProfiloIsAct] -- ,[PatrimonioNonRappresentabile] -- ,[PartiteViaggiantiDisinv] -- ,[PartiteViaggiantiInv] -- ,[ContoCorrente] -- ,[PatrimonioBancaFideuramCtvAlNettoContoCorrente] -- ,[RisorseNonAssociate] -- ,[Patrimonioaltroctv] -- ,[Patrimonioimmobiliarectv] -- ,[PatrimonioTerzictv] -- ,[PatrimonioTerziCtvAlNettoContoCorrente] -- ,[PatrimonioTerziContoCorrente] -- ,[Patrimoniobancafideuramctv] -- ,[Patrimoniocomplessivototalectv] -- ,[NumeroIntermediari] -- ,[CodiceContratto] -- ,[tip_contratto] -- ,[contrattoold] -- ,[NoMonitoraggio] -- ,[descrizioneDiagnosi] -- ,[idModelloDiagnosi] -- ,[idReportDiagnosi] -- ,[descrizioneMonitoraggio] -- ,[idReportMonitoraggio] -- ,[idModelloMonitoraggio] -- ,[AdesioneSuccessivaAvanzato] -- ,[VaRRisorseNonAssociate] -- ,[CoperturaRisorseNonAssociate] -- ,[VaRTotaleRisorseFinanziarie] -- ,[CoperturaTotaleRisorseFinanziarie] -- ,[IdReportPDFDiagnosi] -- ,[IdReportPDFMonitoraggio] -- ) -- SELECT DISTINCT -- contratti.Cod_Fiscale as i_CodiceFiscale -- ,contratti.Rete as i_Rete -- --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.SCADUTO,1) = 1 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 AS tip_contratto -- ,0 AS contrattoold -- --************************************************* -- ,CASE WHEN count(monit.id_area) OVER (PARTITION BY monit.rete,monit.cod_fiscale) = 0 -- or isnull(monitInit.data_foto,getDate()) >= c6martperiodico.getPreviousTrimestre(getDate(),0) -- or monitReport.cod_fiscale is null -- THEN 1 -- ELSE 0 -- END AS NoMonitoraggio -- ,'Diagnosi' as descrizioneDiagnosi -- ,CASE -- WHEN contratti.freq_Diagnosi is not null AND contratti.tip_contratto = 0 THEN 5 -- ELSE -1 -- END AS idModelloDiagnosi -- ,CASE -- WHEN contratti.freq_Diagnosi is not null AND contratti.tip_contratto = 0 THEN 1 -- ELSE -1 -- END AS idReportDiagnosi -- ,'Monitoraggio' as descrizioneMonitoraggio -- ,4 as idReportMonitoraggio--4 -- ,CASE isnull(tip_contratto,0) -- WHEN 0 THEN 12--12 -- WHEN 1 THEN 12--12 -- WHEN 2 THEN 13--13 -- END AS idModelloMonitoraggio -- --************************************************* -- ,0 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 -- ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' -- AND ftp.codicefiscale = contratti.cod_fiscale AND ftp.rete = contratti.Rete),0) -- AS IdReportPDFDiagnosi -- ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' -- AND ftp.codicefiscale = contratti.cod_fiscale AND ftp.rete = contratti.Rete),0) -- AS IdReportPDFMonitoraggio -- FROM [C6MartPeriodico].contrattoSEI contratti -- left outer join [C6MartPeriodico].ANAG_PROMOTORI promotori -- on contratti.Rete = promotori.Rete -- and contratti.Cod_Agente = promotori.Id_Promotore -- inner join [C6MartPeriodico].ANAG_CLIENTI clienti -- on contratti.Rete = clienti.Rete -- and contratti.Cod_Fiscale = clienti.Cod_Fiscale -- --V non stampo se non ha patrimonio -- inner join [C6MartPeriodico].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 [C6MartPeriodico].vPatrimonioImmobAggregato patrimonioImmobiliare -- on contratti.Rete = patrimonioImmobiliare.Rete -- and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale -- left outer join [C6MartPeriodico].vPatrimonioTerziAggregato patrimonioTerzi -- on contratti.Rete = patrimonioTerzi.Rete -- and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale -- left outer join [C6MartPeriodico].MIFID MIFID -- on contratti.Rete = MIFID.Rete -- and contratti.Cod_Fiscale = MIFID.Cod_Fiscale -- left outer join [C6MartPeriodico].vPatrimonioNonRappresentabileAsset PatrNonRapprAsset -- on contratti.Rete = PatrNonRapprAsset.Rete -- and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale -- left outer join [C6MartPeriodico].vNumeroIntermediari numIntermediari -- on contratti.Rete = numIntermediari.Rete -- and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale -- left outer join [C6MartPeriodico].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' -- --modificata da Valerio 12 marzo 2012 -- --left outer join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE -- inner join [C6MartPeriodico].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 C6MartPeriodico.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI -- on contratti.Rete = PARTITEVIAGGIANTI.RETE -- and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE -- left join c6martperiodico.monitoraggio_attuale monit -- on patrimonioBF.rete = monit.rete -- and patrimonioBF.cod_fiscale = monit.cod_fiscale -- left join c6martperiodico.monitoraggio_iniziale monitInit -- on patrimonioBF.rete = monitInit.rete -- and patrimonioBF.cod_fiscale = monitInit.cod_fiscale -- left join c6martperiodico.monitoraggio_report monitReport -- on patrimonioBF.rete = monitReport.rete -- and patrimonioBF.cod_fiscale = monitReport.cod_fiscale -- WHERE 1=1 -- and mifid.scaduto = 0 -- end