174 lines
5.6 KiB
SQL
174 lines
5.6 KiB
SQL
--create view as
|
|
CREATE PROCEDURE [C6MartPeriodico].[RP_DM_POPOLACONTRATTI] AS
|
|
BEGIN
|
|
INSERT INTO LOG_ESECUZIONE
|
|
(Nome, Inizio, Nota)
|
|
VALUES (
|
|
'RP_DM_POPOLACONTRATTI',
|
|
GETDATE(),
|
|
'Elaborazione giornaliera'
|
|
)
|
|
SELECT a.chiaveclientepb as ChiaveClientePb
|
|
INTO #CAMBIOCONTRATTO
|
|
FROM
|
|
[CONSEVO_PERIODICO].[consulenzaBase].dbo.Contratto a
|
|
JOIN [CONSEVO_PERIODICO].[consulenzaBase].dbo.ClientePB b
|
|
ON b.chiaveClientePB = a.chiaveClientePB
|
|
and a.status in ('SEI','AVANZATOBASE','REVOCASEI')
|
|
JOIN [CONSEVO_PERIODICO].[consulenzaBase].dbo.Cliente c
|
|
ON b.chiaveCliente = c.chiaveCliente
|
|
JOIN [CONSEVO_PERIODICO].[consulenzaBase].dbo.PromotoreBancario d
|
|
ON b.chiavePB = d.chiavePB
|
|
JOIN [CONSEVO_PERIODICO].[consulenzaBaseFL].dbo.cbs_dbcontrattosei e
|
|
ON a.codiceContratto = e.cod_conf
|
|
JOIN [CONSEVO_PERIODICO].[consulenzaBaseFL].dbo.cbs_dbcontrattobase f
|
|
ON a.codiceContratto = f.cod_conf
|
|
JOIN [C6MartPeriodico].[vcontratti] vc
|
|
ON b.chiaveClientePB = vc.chiaveClientePB
|
|
WHERE a.codicecontratto<>vc.codicecontratto
|
|
INSERT INTO [C6MartPeriodico].[CONTRATTOSEI_METADATI_ST]
|
|
SELECT * FROM [C6MartPeriodico].[CONTRATTOSEI_METADATI]
|
|
WHERE ChiaveClientePb in(SELECT ChiaveClientePb FROM #CAMBIOCONTRATTO)
|
|
INSERT INTO [C6MartPeriodico].[VCONTRATTI_ST]
|
|
SELECT * FROM [C6MartPeriodico].[VCONTRATTI]
|
|
WHERE ChiaveClientePb in(SELECT ChiaveClientePb FROM #CAMBIOCONTRATTO)
|
|
DELETE [C6MartPeriodico].[CONTRATTOSEI_METADATI]
|
|
WHERE ChiaveClientePb in(SELECT ChiaveClientePb FROM #CAMBIOCONTRATTO)
|
|
--DROP TABLE #CAMBIOCONTRATTO
|
|
TRUNCATE TABLE C6MartPeriodico.VCONTRATTI
|
|
INSERT INTO C6MartPeriodico.VCONTRATTI
|
|
SELECT DISTINCT
|
|
b.chiaveClientePB,
|
|
--FFCODICEFISCALE(codfis,codman,c.piva) as Cod_fiscale
|
|
--c.codMan AS COD_MANDATO,
|
|
--FFPIVA(codman,c.piva) as PIVA_FIDUCIARIA
|
|
case
|
|
when(isnull(ltrim(rtrim(codman)),'') <> '')
|
|
then 'FF@'+codman
|
|
when (isnull(codfis,'') <> '')
|
|
then codfis
|
|
else
|
|
c.piva
|
|
end as Cod_fiscale,
|
|
c.codMan AS COD_MANDATO,
|
|
case
|
|
when(isnull(ltrim(rtrim(codman)),'') <> '')
|
|
then c.piva
|
|
else
|
|
''
|
|
END AS PIVA_FIDUCIARIA,
|
|
f.pb AS COD_AGENTE,
|
|
d.rete,
|
|
a.codiceContratto,
|
|
a.flagRol,
|
|
a.address AS INDIRIZZO,
|
|
a.cap,
|
|
a.city AS CITTA,
|
|
a.province AS PROVINCIA,
|
|
a.nation AS NAZIONE,
|
|
a.presso,
|
|
a.email,
|
|
a.freqRepDia AS FREQ_DIAGNOSI,
|
|
a.freqRepMon AS FREQ_MONITORAGGIO,
|
|
a.genReport AS GENERAZIONEREPORT,
|
|
a.dtFirmaBase AS DATA_INIZIOBASE,
|
|
a.dtEndBase AS DATA_FINEBASE,
|
|
a.dtProcBase as DATA_PERF_BASE,
|
|
a.dtProcAv as DATA_PERF,
|
|
a.dtFirmaSei AS DATA_INZIOAVANZATO,
|
|
a.dtEndSei AS DATA_FINEAVANZATO,
|
|
CASE e.tipcontratto
|
|
WHEN 'A' THEN 1
|
|
WHEN 'P' THEN 2
|
|
ELSE 0
|
|
END AS TIP_CONTRATTO,
|
|
CASE
|
|
WHEN e.riattivazione is null THEN 0
|
|
ELSE 1
|
|
END AS RIATTIVAZIONE
|
|
FROM
|
|
[CONSEVO_PERIODICO].[consulenzaBase].dbo.Contratto a
|
|
JOIN
|
|
[CONSEVO_PERIODICO].[consulenzaBase].dbo.ClientePB b
|
|
ON b.chiaveClientePB = a.chiaveClientePB
|
|
and a.status in ('SEI','AVANZATOBASE','REVOCASEI')
|
|
JOIN [CONSEVO_PERIODICO].[consulenzaBase].dbo.Cliente c
|
|
ON b.chiaveCliente = c.chiaveCliente
|
|
JOIN [CONSEVO_PERIODICO].[consulenzaBase].dbo.PromotoreBancario d
|
|
ON b.chiavePB = d.chiavePB
|
|
JOIN [CONSEVO_PERIODICO].[consulenzaBaseFL].dbo.cbs_dbcontrattosei e
|
|
ON a.codiceContratto = e.cod_conf
|
|
JOIN [CONSEVO_PERIODICO].[consulenzaBaseFL].dbo.cbs_dbcontrattobase f
|
|
ON a.codiceContratto = f.cod_conf
|
|
INSERT INTO [C6MartPeriodico].[CONTRATTOSEI_METADATI]
|
|
([CHIAVECLIENTEPB]
|
|
,[ClienteMIGRATO]
|
|
,[RISORSENA]
|
|
,[PROFILOATTIVO]
|
|
,[NumSolleciti]
|
|
,[NumRevoche]
|
|
,[Data_ultimoSollecito]
|
|
,[Data_ultimaRevoca]
|
|
,[InvioBenvenuto]
|
|
,[Tip_riattivazione]
|
|
,[Tip_contratto])
|
|
SELECT
|
|
A.CHIAVECLIENTEPB,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
0,
|
|
0,
|
|
NULL,
|
|
NULL,
|
|
'N',
|
|
A.Riattivazione,
|
|
A.Tip_Contratto
|
|
FROM
|
|
C6MartPeriodico.VCONTRATTI A
|
|
LEFT JOIN
|
|
[C6MartPeriodico].[CONTRATTOSEI_METADATI] B
|
|
ON
|
|
A.chiaveClientePB = B.CHIAVECLIENTEPB
|
|
WHERE
|
|
B.CHIAVECLIENTEPB IS NULL
|
|
UPDATE [C6MartPeriodico].[CONTRATTOSEI_METADATI] SET tip_riattivazione=0
|
|
--SELECT *
|
|
FROM C6MartPeriodico.VCONTRATTI VC
|
|
JOIN [C6MartPeriodico].[CONTRATTOSEI_METADATI] MC
|
|
ON VC.chiaveClientePB = MC.CHIAVECLIENTEPB
|
|
AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO <> '9999-12-31 00:00:00.000' AND MC.Tip_riattivazione = 1
|
|
UPDATE [C6MartPeriodico].[CONTRATTOSEI_METADATI]
|
|
SET tip_riattivazione=1
|
|
,numRevoche = 0, data_UltimaRevoca = NULL, invioBenvenuto = 'N',numSolleciti = 0, data_UltimoSollecito = NULL
|
|
--SELECT *
|
|
FROM C6MartPeriodico.VCONTRATTI VC
|
|
JOIN [C6MartPeriodico].[CONTRATTOSEI_METADATI] MC
|
|
ON VC.chiaveClientePB = MC.CHIAVECLIENTEPB
|
|
AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO = '9999-12-31 00:00:00.000' AND MC.Tip_riattivazione = 0
|
|
UPDATE [C6MartPeriodico].[CONTRATTOSEI_METADATI]
|
|
SET tip_riattivazione=2, tip_Contratto = 2
|
|
,numRevoche = 0, data_UltimaRevoca = NULL, invioBenvenuto = 'N', numSolleciti = 0, data_UltimoSollecito = NULL
|
|
--SELECT *
|
|
FROM C6MartPeriodico.VCONTRATTI VC
|
|
JOIN [C6MartPeriodico].[CONTRATTOSEI_METADATI] MC
|
|
ON VC.chiaveClientePB = MC.CHIAVECLIENTEPB
|
|
AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO = '9999-12-31 00:00:00.000' AND MC.tip_Contratto = 1
|
|
-- Log esecuzione
|
|
UPDATE
|
|
LOG_ESECUZIONE
|
|
SET
|
|
Fine = GETDATE(),
|
|
Tipo = 'INSERT',
|
|
Righe = @@ROWCOUNT
|
|
WHERE
|
|
Nome = 'RP_DM_POPOLACONTRATTI' AND
|
|
Inizio = (
|
|
SELECT
|
|
MAX(Inizio)
|
|
FROM
|
|
LOG_ESECUZIONE
|
|
WHERE
|
|
Nome = 'RP_DM_POPOLACONTRATTI'
|
|
)
|
|
END |