PDC_REPORT_CreazioneDB/sql/Testbes/procedure/wh_MERGED_PROCEDURE_NUOVA.sql
2025-06-10 15:29:40 +02:00

305 lines
13 KiB
SQL

CREATE procedure [wh].[MERGED_PROCEDURE_NUOVA]
AS
BEGIN
SET NOCOUNT ON;
---------------------------------------------------------------------
truncate table wh.pl_s85rendimentoportafogliocono
truncate table wh.pl_areemonitorate
truncate table wh.pl_s43lineaselfbf
truncate table wh.pl_s10patrimoniofinanziario
truncate table wh.pl_prodotti_non_associati_area_inv
truncate table wh.pl_d2_s151profilodirischio
truncate table wh.pl_d2_s152patrimonio
truncate table wh.pl_d2_s153patrimoniofinanziario
truncate table wh.pl_d2_s154patrimoniofinanziario
truncate table wh.pl_d2_s155patrimonioimmobiliare
truncate table wh.pl_d2_s156altropatrimonio
truncate table wh.pl_d2_s157confrontopiramidi
truncate table wh.pl_d2_s158piramidemodello
truncate table wh.pl_d2_s159patrimoniofinanziario
truncate table wh.pl_d2_s160dettaglioprodottibf
truncate table wh.pl_d2_s162dettaglioprodotti
truncate table wh.pl_d2_s163patrimoniofinanziariomassetclass
truncate table wh.pl_d2_s164polizzealtriistituti
truncate table wh.pl_d2_s165fondialtriistituti
truncate table wh.pl_d2_s167distribuzionerischiocredito
truncate table wh.pl_d2_s168tabellaemittenti
truncate table wh.pl_s43dettaglioprodottibf
truncate table wh.PL_D2_S169RischiomercatoRischiocredito
truncate table wh.pl_d2_s170rischiodiversificazione
truncate table wh.pl_d2_s171patrimoniononrappresentabileassettclass
truncate table wh.pl_mp_s137bonus
truncate table wh.pl_mp_s135monitoraggioinvestimento
truncate table wh.pl_mp_s134monitoraggioliquidita
truncate table wh.pl_mp_s134bismonitoraggioliqinv
truncate table wh.pl_mp_s133bisprincipaliprodotti
truncate table wh.pl_mp_s133areebisognoprincprod
truncate table wh.pl_mp_s146rischiodiversificazione
truncate table wh.pl_mp_s141analisirisparmiotable
truncate table wh.pl_mp_s140analisirisparmiocharts
truncate table wh.pl_mp_s137biscapitaleprotetto
truncate table wh.pl_s43contocorrentebf
truncate table wh.pl_s43bisdettaglioprodottibf
truncate table wh.pl_s88patrimoniononconsideratonelcalcolodelrendimento
truncate table wh.pl_s82datisintetici
truncate table wh.pl_s82bisdatisintetici
truncate table wh.pl_s76alternativapatrimoniononrappresentabileassettclass
truncate table wh.pl_s80alternativa
truncate table wh.pl_s96rischiomercatorischiocredito
truncate table wh.pl_d2_s170rischiodiversificazione
truncate table wh.PL_D_S178IndicatoriEsitoAdeguatezza
------------------------------------------------------------------------
---------------------------------------------PL_S85RendimentoPortafoglioCono
BEGIN
exec wh.MERGED_PROCEDURE_S85
END
---------------------------------------------------------------------------
---------------------------------------------PL_S43LineaSelfBF
BEGIN
exec wh.MERGED_PROCEDURE_S43
END
---------------------------------------------------------------------------
---------------------------------------------PL_S10PatrimonioFinanziario
BEGIN
exec [wh].[MERGED_PROCEDURE_S10]
END
---------------------------------------------------------------------------
---------------------------------------------PL_Prodotti_Non_Associati_Area_Inv
BEGIN
exec [wh].[MERGED_PROCEDURE_PL_Prodotti_Non_Associati_Area_Inv]
END
---------------------------------------------------------------------------
---------------------------------------------PL_D3_S151ProfiloDiRischio
BEGIN
exec [wh].[MERGED_PROCEDURE_S151]
END
---------------------------------------------------------------------------
---------------------------------------------PL_D2_S169RischiomercatoRischiocredito
BEGIN
exec wh.MERGED_PROCEDURE_S169
END
---------------------------------------------------------------------------
---------------------------------------------PL_D2_S170RischioDiversificazione
BEGIN
exec wh.MERGED_PROCEDURE_S170
END
---------------------------------------------------------------------------
---------------------------------------------PL_D_S178IndicatoriEsitoAdeguatezza: 8:24 min
BEGIN
exec wh.MERGED_PROCEDURE_S178
END
---------------------------------------------------------------------------
---------------------------------------------Maledetti
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]
,scaduto
)
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 AS NomeRete
--AGENTE
,contratti.Cod_Agente Agente
,(CASE UPPER(ISNULL(promotori.STATO,''))
WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'')
ELSE ''
END) AS 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 AS 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
--*************************************************
,ISNULL(monit.NoMonitoraggio, 1) AS NoMonitoraggio --fix 20161012
,'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
,mifid.scaduto
FROM [C6MartPeriodico].contrattoSEI contratti
left outer join [C6MartPeriodico].ANAG_PROMOTORI promotori
on contratti.Rete = promotori.Rete
and contratti.Cod_Agente = promotori.Id_Promotore
--65992
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
-- 64864
left outer join [C6Mart].vPatrimonioAltroAggregato patrimonioAltro
on contratti.Rete = patrimonioAltro.Rete
and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale
--64864
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
--64864
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
--64864
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'
--64864
left outer join C6MartPeriodico.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI
on contratti.Rete = PARTITEVIAGGIANTI.RETE
and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE
--64864
left join (
select distinct monit.rete, monit.cod_fiscale,
case when isnull(monitInit.data_foto,getDate()) >= c6martperiodico.getPreviousTrimestre(getDate(),0) then 1
when monitReport.cod_fiscale is null then 1 else 0 end as NoMonitoraggio
from c6martperiodico.monitoraggio_attuale monit
left join c6martperiodico.monitoraggio_iniziale monitInit on monit.rete = monitInit.rete and monit.cod_fiscale = monitInit.cod_fiscale
left join c6martperiodico.monitoraggio_report monitReport on monit.rete = monitReport.rete and monit.cod_fiscale = monitReport.cod_fiscale
) monit
on patrimonioBF.rete = monit.rete
and patrimonioBF.cod_fiscale = monit.cod_fiscale
WHERE 1=1
--144104
end
-------------------------------------------------------------------------
END