PDC_REPORT_CreazioneDB/sql/storedTestbes/C6Mart_RP_DM_CheckEmail.sql
2025-06-06 19:02:52 +02:00

64 lines
3.1 KiB
Transact-SQL

CREATE procedure [C6Mart].[RP_DM_CheckEmail]
AS
BEGIN
DECLARE @NUMGIORNIDALPERF SMALLINT
DECLARE @NUMGIORNIDASOLLECITO SMALLINT
DECLARE @ID_ELAB INT
DECLARE @MaxInvioSoll as SMALLINT
SET @MaxInvioSoll = CAST(dbo.getParametro('MaxInvioSoll') as smallint)
SET @ID_ELAB = C6MART.GETIDELAB()
SET @NUMGIORNIDALPERF = CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint) --7
SET @NUMGIORNIDASOLLECITO = CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') as smallint) --7
-- Log esecuzione
INSERT INTO LOG_ESECUZIONE(Nome, Inizio, Nota)
VALUES ('RP_DM_CheckEmail',GETDATE(),'Elaborazione giornaliera')
SELECT E.Email_Id,E.Tipo,E.Data_Generazione,E.Inviata,E.Data_Invio,E.Data_Comunicazione_Host,E.ID_ELAB,C.*
INTO #EMAILCK
FROM C6MART.GESTIONE_EMAIL E INNER JOIN C6MART.VCONTRATTISEI C
ON E.COD_FISCALE=C.COD_FISCALE AND E.RETE=C.RETE
WHERE ISNULL(E.Inviata,'N') <> 'S'
DELETE c6mart.test_logmd WHERE CMD = 'GENERATO GIORNO PRECEDENTE'
INSERT INTO c6mart.test_logmd (CMD,dtinsert,COD_FISCALE,RETE,NOTE)
SELECT 'GENERATO GIORNO PRECEDENTE',GETDATE(),COD_FISCALE,RETE,'EMAIL_ID '+CONVERT(VARCHAR,EMAIL_ID) FROM #EMAILCK WHERE
Data_Generazione < convert(varchar, GetDate(), 101)
INSERT INTO c6mart.test_logmd (CMD,dtinsert,COD_FISCALE,RETE,NOTE)
SELECT 'EMAIL NOMIG NON CONGRUENTE',GETDATE(),COD_FISCALE,RETE,'EMAIL_ID '+CONVERT(VARCHAR,EMAIL_ID) FROM #EMAILCK WHERE
Data_Generazione >= convert(varchar, GetDate(), 101)
AND SUBSTRING(TIPO,2,11) = '_SOLL_NOMIG' AND CLIENTEMIGRATO = 'S'
INSERT INTO c6mart.test_logmd (CMD,dtinsert,COD_FISCALE,RETE,NOTE)
SELECT 'EMAIL NOASS NON CONGRUENTE',GETDATE(),COD_FISCALE,RETE,'EMAIL_ID '+CONVERT(VARCHAR,EMAIL_ID) FROM #EMAILCK WHERE
Data_Generazione >= convert(varchar, GetDate(), 101)
AND SUBSTRING(TIPO,2,11) = '_SOLL_NOASS' AND RISORSENA = 'N'
INSERT INTO c6mart.test_logmd (CMD,dtinsert,COD_FISCALE,RETE,NOTE)
SELECT 'EMAIL NOPRO NON CONGRUENTE',GETDATE(),COD_FISCALE,RETE,'EMAIL_ID '+CONVERT(VARCHAR,EMAIL_ID) FROM #EMAILCK WHERE
Data_Generazione >= convert(varchar, GetDate(), 101)
AND SUBSTRING(TIPO,2,11) = '_SOLL_NOPRO' AND PROFILOATTIVO = 1
INSERT INTO c6mart.test_logmd (CMD,dtinsert,COD_FISCALE,RETE,NOTE)
SELECT 'SUPERATO PERIODO DI PERF',GETDATE(),COD_FISCALE,RETE,'EMAIL_ID '+CONVERT(VARCHAR,EMAIL_ID) FROM #EMAILCK WHERE
Data_Generazione >= convert(varchar, GetDate(), 101)
AND SUBSTRING(TIPO,2,11) IN ('_SOLL_NOMIG','_SOLL_NOASS','_SOLL_NOPRO')
AND DATEDIFF(d,DATA_PERF, GETDATE()) > (CAST(dbo.getParametro('MaxInvioSoll') as smallint)-1) *
CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') as smallint)+
CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint)
INSERT INTO c6mart.test_logmd (CMD,dtinsert,COD_FISCALE,RETE,NOTE)
SELECT 'BLOCCATO CF 01484040488',GETDATE(),COD_FISCALE,RETE,'EMAIL_ID '+CONVERT(VARCHAR,EMAIL_ID) FROM #EMAILCK WHERE
Data_Generazione >= convert(varchar, GetDate(), 101)
AND COD_FISCALE = '01484040488'
-- Log esecuzione
UPDATE
LOG_ESECUZIONE
SET
Fine = GETDATE(),
Tipo = 'INSERT',
Righe = @@ROWCOUNT
WHERE
Nome = 'RP_DM_CheckEmail' AND
Inizio = (
SELECT
MAX(Inizio)
FROM
LOG_ESECUZIONE
WHERE
Nome = 'RP_DM_CheckEmail'
)
END