2025-06-06 19:02:52 +02:00

85 lines
2.6 KiB
SQL

-- =============================================
-- Author: Paolo Giovanetti
-- Create date: 26 gennaio 2009
-- Description: Recupera PB, RM, DM, AM le cui email non sono ancora valorizzate.
-- =============================================
CREATE procedure [C6Mart].[DM_EMAIL_PB]
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Log esecuzione
INSERT INTO LOG_ESECUZIONE
(Nome, Inizio, Nota)
VALUES (
'DM_EMAIL_PB',
GETDATE(),
'Elaborazione giornaliera'
)
SELECT DISTINCT
CODICI_PB.RETE AS RETE,
CODICI_PB.CODICE AS CODICE,
(CASE CODICI_PB.RETE WHEN 'F' THEN 'R' ELSE 'P' END) AS PREFISSO,
(CASE CODICI_PB.RETE WHEN 'F' THEN 'R' ELSE 'P' END) + CODICI_PB.CODICE AS FIRMA
--,
-- CODICI_PB.LIVELLO AS LIVELLO,
-- CODICI_PB.LIV_ORD AS LIV_ORD
FROM
(
SELECT STRUTTURA.RETE, STRUTTURA.PB CODICE--, 'PB' as LIVELLO, 1 AS LIV_ORD
FROM C6MART.CONTRATTOSEI PB
INNER JOIN C6MART.STRUTTURA_RETE STRUTTURA
ON PB.RETE = STRUTTURA.RETE
AND PB.COD_AGENTE = STRUTTURA.PB
UNION
SELECT STRUTTURA.RETE, STRUTTURA.RM CODICE--, 'RM' as LIVELLO, 2 AS LIV_ORD
FROM C6MART.CONTRATTOSEI PB
INNER JOIN C6MART.STRUTTURA_RETE STRUTTURA
ON PB.RETE = STRUTTURA.RETE
AND PB.COD_AGENTE = STRUTTURA.PB
UNION
SELECT STRUTTURA.RETE, STRUTTURA.DM CODICE--, 'DM' as LIVELLO, 3 AS LIV_ORD
FROM C6MART.CONTRATTOSEI PB
INNER JOIN C6MART.STRUTTURA_RETE STRUTTURA
ON PB.RETE = STRUTTURA.RETE
AND PB.COD_AGENTE = STRUTTURA.PB
UNION
SELECT STRUTTURA.RETE, STRUTTURA.AM CODICE--, 'AM' as LIVELLO, 4 AS LIV_ORD
FROM C6MART.CONTRATTOSEI PB
INNER JOIN C6MART.STRUTTURA_RETE STRUTTURA
ON PB.RETE = STRUTTURA.RETE
AND PB.COD_AGENTE = STRUTTURA.PB
) CODICI_PB
LEFT JOIN C6MART.EMAIL_PB EMAIL_PB_ESISTENTI
ON EMAIL_PB_ESISTENTI.RETE = CODICI_PB.RETE
AND EMAIL_PB_ESISTENTI.CODICE = CODICI_PB.CODICE
LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF
ON (CODICI_PB.CODICE BETWEEN PF.CODICEDA AND PF.CODICEA)
AND CODICI_PB.RETE = PF.RETE
WHERE EMAIL_PB_ESISTENTI.EMAIL IS NULL
AND PF.RETE IS NULL
--togliere
--and CODICI_PB.CODICE not in ('010712','015115','015117','015091','015182','006167','015125','015126','015185','006154','006200')
and CODICI_PB.CODICE not in ('015185')
---eliminato il filtro '010712'
---eliminato il filtro su '015089'--,'015163', 12/08
--ORDER BY CODICI_PB.LIV_ORD
-- Log esecuzione
UPDATE
LOG_ESECUZIONE
SET
Fine = GETDATE(),
Tipo = 'SELECT',
Righe = @@ROWCOUNT
WHERE
Nome = 'DM_EMAIL_PB' AND
Inizio = (
SELECT
MAX(Inizio)
FROM
LOG_ESECUZIONE
WHERE
Nome = 'DM_EMAIL_PB'
)
END