-- Schema: C6MartPeriodico -- Stored Procedure: Popola_S80BisEvoluzioneRischio_20171222 -- ============================================= -- Author: -- Create date: -- Description: -- ============================================= --[C6MartPeriodico].[PL_S80BisEvoluzioneRischio]'F','02392500605S' CREATE procedure [C6MartPeriodico].[Popola_S80BisEvoluzioneRischio_20171222] AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; DECLARE @DataCongelamento DATETIME SET @DataCongelamento = C6MartPeriodico.getDataCongelamento() truncate table c6martperiodico.tb_S80BisEvoluzioneRischio insert into c6martperiodico.tb_S80BisEvoluzioneRischio SELECT ini.rete, ini.COD_FISCALE, 1 AS Fase, INI.DATA_FOTO AS DataFase, INI.VAR_MAX_PROFILO AS VarMassimoProfiloFinanziario, --V CASE WHEN INI.VAR_COMPLESSIVO IS NULL THEN INI.VAR_COMPLESSIVO ELSE ROUND(INI.VAR_COMPLESSIVO,2) END AS VarComplessivo, INI.VAR_COPERTURA AS Copertura, INI.RISKCLASS, INI.RISKCLASSMAX, case when INI.RISKCLASS is null then 'n.d.' when INI.RISKCLASS = 0 then 'n.a.' else null end as RiskClassString, case when INI.RISKCLASSMAX is null then 'n.d.' when INI.RISKCLASSMAX = 0 then 'n.a.' else null end as RiskClassMaxString FROM C6MartPeriodico.MONITORAGGIO_INIZIALE INI LEFT OUTER join C6MartPeriodico.MONITORAGGIO_REPORT rep on REP.RETE=INI.RETE AND REP.COD_FISCALE=INI.COD_FISCALE UNION ALL -- Precedente invio report SELECT rep.RETE , rep.COD_FISCALE , 2 AS Fase, rep.DATA_INVIO AS DataFase, rep.VAR_MAX_PROFILO AS VarMassimoProfiloFinanziario, --V CASE WHEN rep.VAR_COMPLESSIVO IS NULL THEN rep.VAR_COMPLESSIVO ELSE ROUND(rep.VAR_COMPLESSIVO,2) END AS VarComplessivo, rep.VAR_COPERTURA AS Copertura, rep.RISKCLASS, rep.RISKCLASSMAX, case when rep.RISKCLASS is null then 'n.a.' else null end as RiskClassString, case when rep.RISKCLASSMAX is null then 'n.a.' else null end as RiskClassMaxString FROM C6MartPeriodico.MONITORAGGIO_INIZIALE INI left outer join C6MartPeriodico.MONITORAGGIO_REPORT rep on REP.RETE=INI.RETE AND REP.COD_FISCALE=INI.COD_FISCALE WHERE -- modifica del 24/7/2017 per gestire le situazioni limite dell'avvio monitoraggio a cavallo tra 2 trim (vedi segnalazione -- del qc su cf F/TRRLDA52D04G190A) --INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,cast('29991231' as datetime)) CONVERT(varchar,ini.data_foto,112) <= convert(varchar,ISNULL(REP.DATA_INVIO,cast('29991231' as datetime)),112) -- fine modifica del 24/7/2017 and ISNULL(DATA_INVIO,cast('29991231' as datetime))<@datacongelamento UNION ALL -- Situazione corrente SELECT BF.RETE , BF.COD_FISCALE, 3 fase, CASE WHEN @DataCongelamento IS NULL THEN GETDATE() ELSE @DataCongelamento END AS DataFase, CR.MAX_VAR AS VarMassimoProfiloFinanziario, --V CASE WHEN RA.VAR_PERC_PTF IS NULL THEN 0.00 ELSE ROUND(RA.VAR_PERC_PTF,2) END AS VarComplessivo, --CASE -- WHEN (@contaPOS - @contaCC = 0 ) THEN 100 -- ELSE isnull(RA.COPERTURA,0) --END AS Copertura, isnull(RA.COPERTURA,0) as copertura, -- TRINGALI MODIFICARE ra.creditrisk as RISKCLASS, mifid.riskclass as RISKCLASSMAX, case when ra.creditrisk is null then 'n.a.' else null end as RiskClassString, case when mifid.riskclass is null then 'n.a.' else null end as RiskClassMaxString FROM C6MartPerio