117 lines
3.4 KiB
SQL
117 lines
3.4 KiB
SQL
-----------------------------------------------------------------------------
|
|
CREATE procedure [C6MartPeriodicoImmobiliare].[RP_DM_CONTRATTOSEI]
|
|
AS
|
|
-- Log esecuzione
|
|
INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE
|
|
(Nome, Inizio, Nota)
|
|
VALUES (
|
|
'RP_DM_CONTRATTOSEI',
|
|
GETDATE(),
|
|
'Elaborazione trimestrale Immobiliare'
|
|
)
|
|
TRUNCATE TABLE C6MartPeriodicoImmobiliare.CONTRATTOSEI
|
|
INSERT INTO C6MartPeriodicoImmobiliare.CONTRATTOSEI
|
|
SELECT
|
|
[Rete],
|
|
[Cod_Fiscale],
|
|
[PIva_Fiduciaria],
|
|
[DATA_INZIOAVANZATO] as [Data_Sott],
|
|
[CodiceContratto],
|
|
[Cod_Agente],
|
|
[Data_Perf_Base],
|
|
[Data_Perf],
|
|
null as [Fascia_CPP],
|
|
null as [Email],
|
|
[Indirizzo],
|
|
[CAP],
|
|
[Citta],
|
|
[Provincia],
|
|
[Nazione],
|
|
[Presso],
|
|
null as[Data_Inizio],
|
|
[Freq_Diagnosi],
|
|
[FREQ_MONITORAGGIO],
|
|
null as [Freq_DiagnosiPrec],
|
|
null as [Freq_MonitorPrec],
|
|
null as [Data_InizioConsInv],
|
|
[Data_InizioBase],
|
|
[Data_FineBase],
|
|
[DATA_INZIOAVANZATO],
|
|
[Data_FineAvanzato],
|
|
null as [ProgressivoInvio],
|
|
'N',
|
|
'N',
|
|
null as [DataUltimoInvio],
|
|
[ClienteMigrato],
|
|
[RisorseNA],
|
|
null as [PartViaDisinv],
|
|
[NumSolleciti],
|
|
[Data_UltimoSollecito],
|
|
[NumRevoche],
|
|
[Data_UltimaRevoca],
|
|
null as [Note],
|
|
null as [Data_Invio_Diagnosi_Trimestrale],
|
|
null as [Data_Invio_Monitoraggio_Trimestrale],
|
|
[ProfiloAttivo],
|
|
null as [Rol],
|
|
[TIP_CONTRATTO],
|
|
[TIP_RIATTIVAZIONE]
|
|
FROM
|
|
[C6MartPeriodicoImmobiliare].[RP_vContrattiPerGenerazioneReport]
|
|
-- Log esecuzione
|
|
UPDATE
|
|
LOG_ESECUZIONE_PERIODICO_IMMOBILIARE
|
|
SET
|
|
Fine = GETDATE(),
|
|
Tipo = 'INSERT',
|
|
Righe = @@ROWCOUNT
|
|
WHERE
|
|
Nome = 'RP_DM_CONTRATTOSEI' AND
|
|
Inizio = (
|
|
SELECT
|
|
MAX(Inizio)
|
|
FROM
|
|
LOG_ESECUZIONE_PERIODICO_IMMOBILIARE
|
|
WHERE
|
|
Nome = 'RP_DM_CONTRATTOSEI'
|
|
)
|
|
UPDATE C6MartPeriodicoImmobiliare.contrattosei
|
|
set
|
|
indirizzo = a.indirizzo
|
|
,cap = a.cap
|
|
,citta = a.citta
|
|
,prov = a.Provincia
|
|
,nazione = a.Nazione
|
|
,presso = a.Presso
|
|
,Cod_Agente = a.Cod_Agente
|
|
,Freq_Diagnosi = a.Freq_Diagnosi
|
|
,FREQ_MONITOR = a.FREQ_MONITORAGGIO
|
|
from c6mart.vcontratti a
|
|
inner join C6MartPeriodicoImmobiliare.contrattosei b
|
|
on a.codicecontratto = b.codicecontratto
|
|
UPDATE contr
|
|
set
|
|
indirizzo = a.indirizzo
|
|
,cap = a.cap
|
|
,citta = a.citta
|
|
,provincia = a.Prov
|
|
,nazione = a.Nazione
|
|
,presso = a.Presso
|
|
,Cod_Agente = a.Cod_Agente
|
|
,Freq_Diagnosi = a.Freq_Diagnosi
|
|
,FREQ_MONITORAGGIO = a.FREQ_MONITOR
|
|
from C6MartPeriodicoImmobiliare.contrattosei a
|
|
inner join [C6StagingPeriodico].[APPO_CONTRATTI] contr on a.codicecontratto = contr.codicecontratto
|
|
left join [C6StagingPeriodicoImmobiliare].[APPO_CONTRATTI_LIMITER] lim on lim.COD_FISCALE = contr.COD_FISCALE and lim.rete = contr.rete
|
|
where lim.cod_fiscale is not null or 0 = (select count(*) from [C6StagingPeriodicoImmobiliare].[APPO_CONTRATTI_LIMITER] with (nolock))
|
|
-- Allineamento Flag Rol su contratto sei
|
|
Update C6MartPeriodicoImmobiliare.ContrattoSei
|
|
Set Rol = Case D.statorol
|
|
When 'S' then D.statorol
|
|
Else 'N'
|
|
End,
|
|
EmAil = Case d.alertrol
|
|
When 'S' then D.Email
|
|
End
|
|
from C6MartPeriodicoImmobiliare.ContrattoSei C inner join C6StagingPeriodico.datiRol2 D
|
|
on d.codContratto = c.codiceContratto |