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

136 lines
3.8 KiB
Transact-SQL

-- Schema: C6MartPeriodico
-- Stored Procedure: zzzPL_S80Alternativa
-- Stored procedure
-- Stored procedure
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
--[C6MartPeriodico].[PL_S80Alternativa]'F','PZZFCS50L28E092G'
--DROP PROCEDURE [C6MartPeriodico].[PL_S80BisEvoluzioneRischio]
CREATE procedure [C6MartPeriodico].[zzzPL_S80Alternativa]
-- 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
DECLARE @MONIT_INIT INT
DECLARE @DettMovPrec money
DECLARE @DettMovCorr money
DECLARE @AppoDettMovPrec varchar(50)
DECLARE @AppoDettMovCorr varchar(50)
DECLARE @NumAsterischiPrec int
DECLARE @NumAsterischiCorr int
DECLARE @DATA_FOTO datetime
DECLARE @UltimoInvio int
SET @NumAsterischiPrec = 0
SET @NumAsterischiCorr = 0
SET @DataCongelamento = C6MartPeriodico.getDataCongelamento()
SET @MONIT_ATTIV=0
SET @MONIT_INIT = 0
-- INSERIMENTO BLOCCO PER MONITORAGGIO CHIUSO O NON ESISTENTE
SELECT @MONIT_ATTIV=COUNT(*)
FROM
C6MARTPERIODICO.MONITORAGGIO_ATTUALE
WHERE
RETE = @Rete AND
COD_FISCALE = @CodiceFiscale
SELECT @MONIT_INIT = COUNT(*)
FROM
C6MARTPERIODICO.MONITORAGGIO_INIZIALE
WHERE
RETE = @Rete AND
COD_FISCALE = @CodiceFiscale
-- Inserimento Dati Scirocco
--SELECT @DettMovPrec = (sum(APPORTI) - sum(PRELIEVI))
--FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APTR]
--WHERE DTTRIM < '20111231'
SELECT @DettMovPrec = DETT_MOV_PREC, @DettMovCorr = DETT_MOV_CORR
FROM C6MartPeriodico.DettaglioMovimenti
WHERE
RETE = @Rete
AND
COD_FIS = @CodiceFiscale
--SELECT @DettMovCorr = (sum(APPORTI) - sum(PRELIEVI))
--FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APTR]
--WHERE DTTRIM = '20111231'
IF @DettMovPrec is null
SET @AppoDettMovPrec = 'n.d.'
ELSE
SET @AppoDettMovPrec = REPLACE(CAST(@DettMovPrec as varchar(50)), '.', ',')
IF @DettMovCorr is null
SET @AppoDettMovCorr = 'n.d.'
ELSE
SET @AppoDettMovCorr = REPLACE(CAST(@DettMovCorr as varchar(50)), '.', ',')
--query per asterischi situazione precedente
IF EXISTS(SELECT * FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEICS]
WHERE CODPROD IN ('37', 'GP') AND DTTRIM = c6martperiodico.getprevioustrimestre(getdate(),0)
AND RETE = @Rete AND CODFIS = @CodiceFiscale)
SET @NumAsterischiPrec = 1
IF EXISTS(SELECT * FROM C6StagingPeriodico.ST_MON
WHERE RETE = @Rete AND CODFIS = @CodiceFiscale)
SET @NumAsterischiPrec = 1
-----------------------------------------
--query per asterischi situazione corrente
IF EXISTS(SELECT * FROM C6MartPeriodico.PATRIMONIO_BF
WHERE COD_INTERNO IN ('37', 'GP')
AND RETE = @Rete AND COD_FISCALE = @CodiceFiscale)
SET @NumAsterischiCorr = 1
-----------------------------------------
SELECT @DATA_FOTO = DATA_FOTO FROM C6MartPeriodico.MONITORAGGIO_INIZIALE a
WHERE a.Rete = @Rete
AND a.COD_FISCALE = @CodiceFiscale
SELECT @UltimoInvio = Count(*) FROM C6MartPeriodico.MONITORAGGIO_REPORT a
WHERE a.Rete = @Rete
AND a.COD_FISCALE = @CodiceFiscale
IF (@MONIT_ATTIV > 0 AND @MONIT_INIT > 0)
BEGIN
-- Attivazione monitoraggio
--versione nuova da testare
SELECT
1 AS Fase,
INI.DATA_FOTO AS DataFase,
ISNULL(INI.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante,
INI.CTV_EXT,
INI.CTV_INV,
INI.CTV_PRE,
INI.CTV_RIS,
INI.CTV_LIQ,
INI.CTV_EXT + INI.CTV_INV + INI.CTV_PRE + INI.CTV_RIS + INI.CTV_LIQ AS RisorseAllocate,
INI.CTV_NA AS RisorseNonAllocate,
INI.CTV_EXT + INI.CTV_INV + INI.CTV_PRE + INI.CTV_RIS + INI.CTV_LIQ + INI.CTV_NA AS RisorseFinanziarie,
IN