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

157 lines
3.5 KiB
Transact-SQL

-- Schema: C6Mart
-- Stored Procedure: DM_ANAG_PROMOTORI
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE procedure [C6Mart].[DM_ANAG_PROMOTORI]
AS
BEGIN
SET NOCOUNT ON;
DECLARE @ID_ELAB INT
DECLARE @TIPO_ELAB VARCHAR(1)
SET @ID_ELAB = C6MART.GETIDELAB()
SET @TIPO_ELAB = C6MART.GETTIPOELAB()
-- Log esecuzione
INSERT INTO LOG_ESECUZIONE
(Nome, Inizio, Nota)
VALUES (
'DM_ANAG_PROMOTORI',
GETDATE(),
'Elaborazione giornaliera'
)
TRUNCATE TABLE C6MART.ANAG_PROMOTORI
INSERT INTO [C6Mart].[ANAG_PROMOTORI]
([RETE]
,[ID_PROMOTORE]
,[LIVELLO]
,[COD_FISCALE]
,[PARTITA_IVA]
,[COGNOME]
,[NOME]
,[RAG_SOC]
,[DATA_INIZIO]
,[DATA_FINE]
,[INDIRIZZO]
,[LOCALITA]
,[PROVINCIA]
,[CAP]
,[NAZIONE]
,[TEL_RECAPITO]
,[TEL_CELL]
,[E_MAIL]
,[COD_ABI]
,[COD_CAB]
,[COD_CIN]
,[COD_CC]
,[STATO]
,[ID_ELAB]
,[TIPO_ELAB])
SELECT DISTINCT
ADS4WS_PROMOTORI.RETE AS RETE,
ADS4WS_PROMOTORI.CODICE AS ID_PROMOTORE,
SPB_NAC.LIVELLONELLAGERARCHIA AS LIVELLO,
NULL AS COD_FISCALE,
NULL AS PARTITA_IVA,
rtrim(ltrim(ADS4WS_PROMOTORI.COGNOME)) AS COGNOME,
rtrim(ltrim(ADS4WS_PROMOTORI.NOME)) AS NOME,
NULL AS RAG_SOC,
CASE WHEN ADS4WS_PROMOTORI.DataInizioCollaborazione=0 THEN NULL ELSE
CAST(CAST(ADS4WS_PROMOTORI.DataInizioCollaborazione AS VARCHAR(8)) AS DATETIME) END AS DATA_INIZIO,
CASE WHEN ADS4WS_PROMOTORI.DataFineCollaborazione=0 THEN NULL ELSE
CAST(CAST(ADS4WS_PROMOTORI.DataFineCollaborazione AS VARCHAR(8)) AS DATETIME) END AS DATA_FINE,
rtrim(ltrim(ADS4WS_PROMOTORI.INDIRIZZO)) AS INDIRIZZO,
rtrim(ltrim(ADS4WS_PROMOTORI.CITTA)) AS LOCALITA,
rtrim(ltrim(ADS4WS_PROMOTORI.PROVINCIA)) AS PROVINCIA,
rtrim(ltrim(ADS4WS_PROMOTORI.CAP)) AS CAP,
NULL AS NAZIONE,
rtrim(ltrim(ADS4WS_PROMOTORI.prefissotelefono + ADS4WS_PROMOTORI.TelefonoAgenzia1)) AS TEL_RECAPITO,
NULL AS TEL_CELL,
rtrim(ltrim(EMAIL_PB.EMAIL)) AS E_MAIL,
NULL AS COD_ABI,
NULL AS COD_CAB,
NULL AS COD_CIN,
NULL AS COD_CC,
--CASE
-- WHEN SPB_NAC.CODICEAGENTE IS NULL THEN 'TERMINATO'
-- ELSE
CASE
WHEN PF.RETE IS NULL THEN 'ATTIVO'
ELSE 'FITTIZIO'
END
--END
AS STATO,
@ID_ELAB AS ID_ELAB,
@TIPO_ELAB AS TIPO_ELAB
FROM C6STAGING.ADS4WS_PROMOTORI ADS4WS_PROMOTORI
LEFT JOIN C6MART.EMAIL_PB EMAIL_PB
ON ADS4WS_PROMOTORI.RETE = EMAIL_PB.RETE
AND ADS4WS_PROMOTORI.CODICE = EMAIL_PB.CODICE
LEFT JOIN C6STAGING.SPB_NAC SPB_NAC
ON ADS4WS_PROMOTORI.RETE = SPB_NAC.CODICERETE
AND ADS4WS_PROMOTORI.CODICE = SPB_NAC.CODICEAGENTE
LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF
ON (ADS4WS_PROMOTORI.CODICE BETWEEN PF.CODICEDA AND PF.CODICEA)
AND ADS4WS_PROMOTORI.RETE = PF.RETE
WHERE
ADS4WS_PROMOTORI.STATO = 'A'
--Aggiunta Valerio non inserisco in anagrafica pb terminati in quanto non hanno il livello
and SPB_NAC.CODICEAGENTE is not null
--AND ADS4WS_PROMOTORI.CODICE NOT IN ('009202')--,'014908')
---eliminato il filtro su '005772' 04/08/2010
---eliminato il filtro su'003064' 12/08/2010
---eliminato il filtro su '010712'
-- Log esecuzione
UPDATE
LOG_ESECUZIONE
SET
Fine = GETDATE(),
Tipo = 'INSERT',
Righe = @@ROWCOUNT
WHERE
Nome = 'DM_ANAG_PROMOTORI' AND
Inizio = (
SELECT
MAX(Inizio)
FROM
LOG_ESECUZIONE
WHERE
Nome = 'DM_ANAG_PROMOTORI'
)
END