64 lines
3.1 KiB
Transact-SQL
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 |