167 lines
3.8 KiB
Transact-SQL
167 lines
3.8 KiB
Transact-SQL
-- Schema: C6MartPeriodico
|
|
-- Stored Procedure: PL_S80BisEvoluzioneRischio_BkUpParall
|
|
|
|
-- =============================================
|
|
-- Author: <Author,,Name>
|
|
-- Create date: <Create Date,,>
|
|
-- Description: <Description,,>
|
|
-- =============================================
|
|
--[C6MartPeriodico].[PL_S80BisEvoluzioneRischio]'F','02392500605S'
|
|
--DROP PROCEDURE [C6MartPeriodico].[PL_S80EvoluzioneControvalore]
|
|
|
|
CREATE procedure [C6MartPeriodico].[PL_S80BisEvoluzioneRischio_BkUpParall]
|
|
-- Add the parameters for the stored procedure here
|
|
@Rete char(1),
|
|
@CodiceFiscale varchar(16)
|
|
AS
|
|
BEGIN
|
|
-- SET NOCOUNT ON added to prevent extra result sets from
|
|
-- interfering with SELECT statements.
|
|
SET NOCOUNT ON;
|
|
|
|
-- Recupero data congelamento SEI
|
|
DECLARE @MONIT_INIT INT
|
|
DECLARE @DataCongelamento DATETIME
|
|
DECLARE @MONIT_ATTIV INT
|
|
--V VAriabile usata per verificare la presenza di righe nella rischio_aggregato, se non ho righe non
|
|
--faccio uscire la sezione
|
|
DECLARE @AGGR INT
|
|
|
|
SET @DataCongelamento = C6MartPeriodico.getDataCongelamento()
|
|
SET @MONIT_ATTIV=0
|
|
SET @MONIT_INIT = 0
|
|
|
|
|
|
|
|
declare @contaCC as int
|
|
|
|
select @contaCC = count(*)
|
|
from c6martperiodico.patrimonio_Bf
|
|
where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete
|
|
|
|
|
|
declare @contaPOS as int
|
|
|
|
select @contaPOS = count(*)
|
|
from c6martperiodico.patrimonio_Bf
|
|
where cod_fiscale = @codiceFiscale and rete = @rete
|
|
|
|
|
|
-- INSERIMENTO BLOCCO PER MONITORAGGIO CHIUSO O NON ESISTENTE
|
|
|
|
SELECT @MONIT_INIT = COUNT(*)
|
|
FROM
|
|
C6MARTPERIODICO.MONITORAGGIO_INIZIALE
|
|
WHERE
|
|
RETE = @Rete AND
|
|
COD_FISCALE = @CodiceFiscale
|
|
|
|
|
|
SELECT @MONIT_ATTIV=COUNT(*)
|
|
FROM
|
|
C6MARTPERIODICO.MONITORAGGIO_ATTUALE
|
|
WHERE
|
|
RETE = @Rete AND
|
|
COD_FISCALE = @CodiceFiscale
|
|
|
|
SELECT @AGGR=COUNT(*)
|
|
FROM
|
|
C6MARTPERIODICO.RISCHIO_AGGREGATO
|
|
WHERE
|
|
RETE = @Rete AND
|
|
COD_FISCALE = @CodiceFiscale
|
|
|
|
|
|
IF (@MONIT_ATTIV > 0 AND @AGGR > 0 AND @MONIT_INIT > 0)
|
|
|
|
|
|
BEGIN
|
|
|
|
|
|
|
|
|
|
-- Attivazione monitoraggio
|
|
|
|
-- nuova versione da testare
|
|
|
|
SELECT
|
|
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
|
|
WHERE
|
|
INI.RETE = @Rete AND
|
|
INI.COD_FISCALE = @CodiceFiscale
|
|
|
|
-- SELECT
|
|
-- 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
|
|
-- FROM
|
|
-- C6MartPeriodico.MONITORAGGIO_INIZIALE INI
|
|
--
|
|
-- WHERE
|
|
-- INI.RETE = @Rete AND
|
|
-- INI.COD_FISCALE = @CodiceFiscale
|
|
|
|
|
|
UNION ALL
|
|
|
|
-- Precedente invio report
|
|
|
|
SELECT
|
|
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
|