PDC_REPORT_CreazioneDB/sql/storedCollaudo/C6MartPeriodico_PL_S80EvoluzioneControvalore.sql
2025-06-06 19:02:52 +02:00

161 lines
4.0 KiB
Transact-SQL

-- Schema: C6MartPeriodico
-- Stored Procedure: PL_S80EvoluzioneControvalore
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
--[C6MartPeriodico].[PL_S80EvoluzioneControvalore]'F','GSTGPL59P03B586G'
--DROP PROCEDURE [C6MartPeriodico].[PL_S80BisEvoluzioneRischio]
CREATE procedure [C6MartPeriodico].[PL_S80EvoluzioneControvalore]
-- 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 @DataCongelamento DATETIME
DECLARE @MONIT_ATTIV INT
SET @DataCongelamento = C6MartPeriodico.getDataCongelamento()
SET @MONIT_ATTIV=0
-- INSERIMENTO BLOCCO PER MONITORAGGIO CHIUSO O NON ESISTENTE
SELECT @MONIT_ATTIV=COUNT(*)
FROM
C6MARTPERIODICO.MONITORAGGIO_ATTUALE
WHERE
RETE = @Rete AND
COD_FISCALE = @CodiceFiscale
IF @MONIT_ATTIV > 0
BEGIN
-- Attivazione monitoraggio
--versione nuova da testare
SELECT
1 AS Fase,
INI.DATA_FOTO AS DataFase,
INI.CTV_NA AS RisorseNonAllocate,
INI.CTV_CC AS Contocorrente,
--INIZIO INTERVENTI OMNIA
INI.CTVSELF AS Ctvself,
--FINE INTERVENTI OMNIA
ISNULL(INI.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante,
INI.CTV_TOTALE AS ControvaloreComplessivo
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.CTV_NA AS RisorseNonAllocate,
-- INI.CTV_CC AS Contocorrente,
-- ISNULL(INI.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante,
-- INI.CTV_TOTALE AS ControvaloreComplessivo
-- 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.CTV_NA AS RisorseNonAllocate,
rep.CTV_CC AS Contocorrente,
--INIZIO INTERVENTI OMNIA
rep.CTV_SELF AS Ctvself,
--FINE INTERVENTI OMNIA
ISNULL(rep.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante,
--CTV_TOTALE + CTV_CC + CTV_NA + ISNULL(PARTITA_VIAGGIANTE,0) AS ControvaloreComplessivo --V aggiunto il cc e na per coerenza con le altre fasi
rep.CTV_TOTALE + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS ControvaloreComplessivo --V tolto il cc e na in quanto gia conteggiati
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
rep.RETE = @Rete AND
rep.COD_FISCALE = @CodiceFiscale
AND INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,cast('29991231' as datetime))
and ISNULL(DATA_INVIO,cast('29991231' as datetime))<@datacongelamento
UNION ALL
-- Situazione corrente
SELECT
3 AS Fase,
CASE
WHEN @DataCongelamento IS NULL THEN GETDATE()
ELSE @DataCongelamento
END AS DataFase,
PatrimonioNonAssociato AS RisorseNonAllocate,
ContoCorrente,
--INIZIO INTERVENTI OMNIA
CTVSelf AS Ctvself,
--FINE INTERVENTI OMNIA
PartiteViaggiantiDisinv AS Partita_viaggiante,
CTV AS ControvaloreComplessivo
FROM
C6MartPeriodico.vPatrimonioBFAggregato
WHERE
RETE = @Rete AND
COD_FISCALE = @CodiceFiscale
END
ELSE
BEGIN
SELECT
1 AS Fase,
DATA_FOTO AS DataFase,
CTV_NA AS RisorseNonAllocate,
CTV_CC AS Contocorrente,
ISNULL(PARTITA_VIAGGIANTE,0) AS Partita_viaggiante,
CTV_TOTALE AS ControvaloreComplessivo
FROM
C6MartPeriodico.MONITORAGGIO_INIZIALE
WHERE
1=2
END