156 lines
3.8 KiB
Transact-SQL
156 lines
3.8 KiB
Transact-SQL
-- Schema: C6Mart
|
|
-- Stored Procedure: DM_ANAG_CLIENTI
|
|
|
|
|
|
|
|
-- =============================================
|
|
-- Author: Paolo Giovanetti
|
|
-- Create date: <Create Date,,>
|
|
-- Description: <Description,,>
|
|
-- =============================================
|
|
CREATE procedure [C6Mart].[DM_ANAG_CLIENTI]
|
|
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_CLIENTI',
|
|
GETDATE(),
|
|
'Elaborazione giornaliera'
|
|
)
|
|
|
|
DELETE C6MART.ANAG_CLIENTI
|
|
FROM C6MART.ANAG_CLIENTI
|
|
INNER JOIN C6STAGING.ALL_CF_PB
|
|
ON ANAG_CLIENTI.RETE = ALL_CF_PB.RETE_PB
|
|
AND ANAG_CLIENTI.COD_FISCALE = ALL_CF_PB.CODICEFISCALE
|
|
|
|
-- Log esecuzione
|
|
UPDATE
|
|
LOG_ESECUZIONE
|
|
SET
|
|
Fine = GETDATE(),
|
|
Tipo = 'DELETE',
|
|
Righe = @@ROWCOUNT
|
|
WHERE
|
|
Nome = 'DM_ANAG_CLIENTI' AND
|
|
Inizio = (
|
|
SELECT
|
|
MAX(Inizio)
|
|
FROM
|
|
LOG_ESECUZIONE
|
|
WHERE
|
|
Nome = 'DM_ANAG_CLIENTI'
|
|
)
|
|
|
|
INSERT INTO LOG_ESECUZIONE
|
|
(Nome, Inizio, Nota)
|
|
VALUES (
|
|
'DM_ANAG_CLIENTI',
|
|
GETDATE(),
|
|
'Elaborazione giornaliera'
|
|
)
|
|
|
|
INSERT INTO [C6Mart].[ANAG_CLIENTI]
|
|
([RETE]
|
|
,[COD_FISCALE]
|
|
,[NOME]
|
|
,[COGNOME]
|
|
,[DATA_NASCITA]
|
|
,[STATO_CIVILE]
|
|
,[NUM_COMPONENTI]
|
|
,[NUM_FIGLI]
|
|
,[ETA]
|
|
,[PARTITA_IVA]
|
|
,[CITTADINANZA]
|
|
,[PERSONA_FIS_GIUR]
|
|
,[INDIRIZZO]
|
|
,[LOCALITA]
|
|
,[PROVINCIA]
|
|
,[CAP]
|
|
,[NAZIONE]
|
|
,[PRESSO]
|
|
,[TEL_RECAPITO]
|
|
,[TEL_CELL]
|
|
,[E_MAIL]
|
|
,[DATA_INIZIO]
|
|
,[DATA_FINE]
|
|
,[STATO]
|
|
,[RAG_SOC]
|
|
,[SESSO]
|
|
,[ID_PROMOTORE]
|
|
,[ID_ELAB]
|
|
,[TIPO_ELAB])
|
|
SELECT
|
|
distinct
|
|
CONTRATTOSEI.RETE AS RETE,
|
|
CONTRATTOSEI.COD_FISCALE AS COD_FISCALE,
|
|
ISNULL(SPB_CLIENTI.NOME,ALL_CF_PB.NOME) AS NOME,
|
|
ISNULL(SPB_CLIENTI.COGNOME,ALL_CF_PB.COGNOME) AS COGNOME,
|
|
ISNULL(ALL_CF_PB.DATA_NASCITA,SPB_CLIENTI.DATADINASCITA) AS DATA_NASCITA,
|
|
CASE
|
|
WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) < '40'
|
|
AND ALL_CF_PB.MARITALSTATUS = 'Married' THEN 'Coniugato'
|
|
WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) < '40'
|
|
AND ALL_CF_PB.MARITALSTATUS = 'Divorced' THEN 'Divorziato'
|
|
WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) < '40'
|
|
AND ALL_CF_PB.MARITALSTATUS = 'Single' THEN 'Libero'
|
|
WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) > '40'
|
|
AND ALL_CF_PB.MARITALSTATUS = 'Married' THEN 'Coniugata'
|
|
WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) > '40'
|
|
AND ALL_CF_PB.MARITALSTATUS = 'Divorced' THEN 'Divorziata'
|
|
WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) > '40'
|
|
AND ALL_CF_PB.MARITALSTATUS = 'Single' THEN 'Libera'
|
|
ELSE NULL
|
|
END AS STATO_CIVILE,
|
|
S25.NUMEROCOMPONENTI AS NUM_COMPONENTI,
|
|
S25.NUMEROFIGLI AS NUM_FIGLI,
|
|
S25.ETA AS ETA,
|
|
NULL AS PARTITA_IVA,
|
|
SPB_CLIENTI.CITTADINANZA AS CITTADINANZA,
|
|
NULL AS PERSONA_FIS_GIUR,
|
|
ISNULL(SPB_INDIRIZZI.INDIRIZZO, '') AS INDIRIZZO,
|
|
ISNULL(SPB_INDIRIZZI.CITTA, '') AS LOCALITA,
|
|
ISNULL(SPB_INDIRIZZI.PROVINCIA, '') AS PROVINCIA,
|
|
ISNULL(SPB_INDIRIZZI.CAP, '') AS CAP,
|
|
ISNULL(SPB_INDIRIZZI.NAZIONE, '') AS NAZIONE,
|
|
'' AS PRESSO,
|
|
NULL AS TEL_RECAPITO,
|
|
NULL AS TEL_CELL,
|
|
CONTRATTOSEI.EMAIL AS E_MAIL,
|
|
SPB_CLIENTI.DATAATTIVAZIONECLIENTE AS DATA_INIZIO,
|
|
NULL AS DATA_FINE,
|
|
NULL AS STATO,
|
|
NULL AS RAG_SOC,
|
|
CASE
|
|
WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) < '40' THEN 'M'
|
|
ELSE 'F'
|
|
END AS SESSO,
|
|
ALL_CF_PB.CODICE_PB AS ID_PROMOTORE,
|
|
@ID_ELAB AS ID_ELAB,
|
|
@TIPO_ELAB AS TIPO_ELAB
|
|
FROM
|
|
C6MART.CONTRATTOSEI
|
|
INNER JOIN
|
|
C6STAGING.ALL_CF_PB
|
|
ON
|
|
CONTRATTOSEI.RETE = ALL_CF_PB.RETE_PB
|
|
AND CONTRATTOSEI.COD_FISCALE = ALL_CF_PB.CODICEFISCALE
|
|
LEFT OUTER JOIN
|
|
C6STAGING.S25_CLI_CLIENTE S25
|
|
ON
|
|
S25.CODICEFISCALE = CONTRATTOSEI.COD_FISCALE
|
|
AND S25.RETE = CONTRATTOSEI.RETE
|
|
LEFT OUTER JOIN
|
|
C6STAGI
|