296 lines
14 KiB
Transact-SQL
296 lines
14 KiB
Transact-SQL
CREATE procedure [C6Mart].[RP_DM_POPOLACONTRATTI] AS
|
|
BEGIN
|
|
INSERT INTO LOG_ESECUZIONE
|
|
(Nome, Inizio, Nota)
|
|
VALUES (
|
|
'RP_DM_POPOLACONTRATTI',
|
|
GETDATE(),
|
|
'Elaborazione giornaliera'
|
|
)
|
|
-- LOG CAMBIO COD_FISCALE RETE ***************************************************************************************
|
|
INSERT INTO c6mart.test_logmd
|
|
SELECT 'VARZ CF RETE',GETDATE(),VC.COD_FISCALE,VC.RETE,
|
|
NULL AS RIATTIVAZIONE_1,NULL AS TIPOCONTRATTO_1,
|
|
NULL AS RIATTIVAZIONE_2,NULL AS TIPOCONTRATTO_2,
|
|
NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,
|
|
'da ' + VC.cod_fiscale +'-'+ VC.RETE + ' a ' + C6.cod_fiscale +'-'+ C6.RETE
|
|
FROM C6MART.VCONTRATTI VC
|
|
JOIN [C6Mart].[vContrattiC6] C6
|
|
ON VC.chiaveClientePB = C6.CHIAVECLIENTEPB
|
|
WHERE VC.cod_fiscale <> C6.cod_fiscale OR VC.RETE <> C6.RETE
|
|
--********************************************************************************************************************
|
|
TRUNCATE TABLE C6MART.VCONTRATTI
|
|
--DELETE C6MART.VCONTRATTI
|
|
-- WHERE chiaveClientePB in (SELECT chiaveClientePB FROM [C6Mart].[vContrattiC6])
|
|
INSERT INTO C6MART.VCONTRATTI
|
|
SELECT * FROM [C6Mart].[vContrattiC6]
|
|
-- Modifica del 27/11/2018 per la gestione del doppio pb -
|
|
-- Nel caso di doppio pb, con pb primario diverso dal precedente (CHIAVECLIENTEPB nuova), dobbiamo evitare di far stampare un nuovo
|
|
-- report di benvenuto, creando una occorrenza sulla CONTRATTOSEI_METADATI CON INVIOBENVENUTO = 'S'
|
|
INSERT INTO [C6Mart].[CONTRATTOSEI_METADATI]
|
|
([CHIAVECLIENTEPB]
|
|
,[ClienteMIGRATO]
|
|
,[RISORSENA]
|
|
,[PROFILOATTIVO]
|
|
,[NumSolleciti]
|
|
,[NumRevoche]
|
|
,[Data_ultimoSollecito]
|
|
,[Data_ultimaRevoca]
|
|
,[InvioBenvenuto]
|
|
,[Tip_riattivazione]
|
|
,[Tip_contratto])
|
|
SELECT
|
|
A.CHIAVECLIENTEPB,
|
|
'S',
|
|
'N',
|
|
1,
|
|
0,
|
|
0,
|
|
NULL,
|
|
NULL,
|
|
'S',
|
|
A.Riattivazione,
|
|
A.Tip_Contratto
|
|
FROM C6MART.VCONTRATTI A
|
|
inner joiN [C6mart].[GESTIONE_PDF_FTP] B
|
|
ON A.RETE= B.RETE AND A.COD_FISCALE = B.CODICEFISCALE
|
|
AND A.CODICECONTRATTO = LEFT(B.NOMEFILE,LEN(A.CODICECONTRATTO))
|
|
LEFT JOIN [C6Mart].[CONTRATTOSEI_METADATI] c
|
|
ON A.chiaveClientePB = C.CHIAVECLIENTEPB
|
|
WHERE C.CHIAVECLIENTEPB IS NULL
|
|
-- Fine Modifica del 27/11/2018 per la gestione del doppio pb -
|
|
INSERT INTO [C6Mart].[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 C6MART.VCONTRATTI A
|
|
LEFT JOIN [C6Mart].[CONTRATTOSEI_METADATI] B
|
|
ON A.chiaveClientePB = B.CHIAVECLIENTEPB
|
|
WHERE B.CHIAVECLIENTEPB IS NULL
|
|
---- FCianfa: INIZIO FORZATURA per errore giornaliero del 31/07/2015, il cliente non è censito in C6Mart.ANAG_CLIENTI
|
|
--DELETE from C6MART.VCONTRATTI
|
|
--where rete+cod_fiscale = 'FFF@9700'
|
|
---- EN20160315: INIZIO FORZATURA per errore giornaliero del 15/03/2016, il cliente è in C6Mart.ANAG_CLIENTI incompleto e non presente su SIMPB
|
|
---- where rete+cod_fiscale = 'FBRBMRA51H53G089M'
|
|
----FINE FORZATURA
|
|
---- LL: INIZIO FORZATURA per errore giornaliero del 25/03/2016 ----------------------------------------------
|
|
--DELETE from C6MART.VCONTRATTI
|
|
--where rete+cod_fiscale = 'SFROFMN88T49H501H'
|
|
---- LL: INIZIO FORZATURA per Ticket T-1410414-M4B3 (08/04/2016)
|
|
-- Il contratto ha subito un cambio di cf e per errore è stata generata una nuova email di perfez.;
|
|
-- per evitare anche l'eventuale generazione della lettera di benvenuto lo escludiamo
|
|
--DELETE from C6MART.VCONTRATTI
|
|
--where rete+cod_fiscale = 'FGRMLGU42L14A662R'
|
|
----FINE FORZATURA---------------------------------------------------------------------------------------------
|
|
---- EN20161230: INIZIO FORZATURA per errore giornaliero del 30/12/2016 ----------------------------------------------
|
|
----DELETE from C6MART.VCONTRATTI
|
|
----where rete+cod_fiscale = 'FMRTRND45C07F930Z'
|
|
----DELETE from C6MART.VCONTRATTI
|
|
----where rete+cod_fiscale = 'FVNARRT65S64Z326I'
|
|
------per rimediare errore nel giornaliero il 21/03/2017
|
|
DELETE from C6MART.VCONTRATTI
|
|
where rete+cod_fiscale = 'F04904530633'
|
|
------per rimediare errore nel giornaliero il 24/05/2017
|
|
DELETE from C6MART.VCONTRATTI
|
|
where rete+cod_fiscale = 'F02588590402'
|
|
------per errore del giornaliero il 06/06/2017
|
|
-- DELETE from C6MART.VCONTRATTI
|
|
-- where rete+cod_fiscale in (
|
|
--'FSCNLRT54T04E613J',
|
|
--'FBRRMNL69S45C957K',
|
|
--'FTBRDAA34M63B455T',
|
|
--'FSNTRNO50C55I342U',
|
|
--'FLMLGNN75D58F918C',
|
|
--'SSTCRRT86H30E058Z'
|
|
-- )
|
|
--Clienti professionali esclusi dal giornaliero 13/06/2017
|
|
--DELETE from C6MART.VCONTRATTI
|
|
--where rete+cod_fiscale in (
|
|
--'FMGNGPP55B25G224T',
|
|
--'FFF@5844'
|
|
--)
|
|
------per rimediare errore nel giornaliero il 27/07/2017
|
|
DELETE from C6MART.VCONTRATTI
|
|
where rete+cod_fiscale in ('F00624130431')
|
|
------T-2271865-L0H7 del 26/10/2017 --scommentato il 2/1/2018, richiesto via mail di sollecito l'invio lettera
|
|
----DELETE from C6MART.VCONTRATTI
|
|
----where rete+cod_fiscale in (
|
|
----'FTSTLCN48R14H501A'
|
|
----)
|
|
------ cliente con prodotti multiramo da sistemare 13/11/2017
|
|
------ intervanto aggregazione s+m completato e testato il 20171116
|
|
--DELETE from C6MART.VCONTRATTI
|
|
--where rete+cod_fiscale in (
|
|
--'FDFRNTN54C12E625S'
|
|
--)
|
|
------per rimediare l'errore VarAdeguatezza il 05/12/2017
|
|
DELETE from C6MART.VCONTRATTI
|
|
where rete+cod_fiscale in ('F01248331215')
|
|
------per rimediare l'errore VarAdeguatezza il 22/12/2017; 03/01/2018 riprovato con errorr
|
|
DELETE from C6MART.VCONTRATTI
|
|
where rete+cod_fiscale in ('FRYNCRL63E11L219J')
|
|
------per rimediare l'errore VarAdeguatezza il 04/01/2018
|
|
DELETE from C6MART.VCONTRATTI
|
|
where rete+cod_fiscale in ('S02312260710')
|
|
----FINE FORZATURA---------------------------------------------------------------------------------------------
|
|
-- CASO NUOVO CONTRATTO ***************************************************************************************
|
|
INSERT INTO c6mart.test_logmd
|
|
SELECT 'NUOVO CONTRATTO',GETDATE(),VC.COD_FISCALE,VC.RETE,
|
|
VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1,
|
|
MD.tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2,
|
|
VC.Riattivazione AS RIATTIVAZIONE_3,VC.Tip_Contratto AS TIPOCONTRATTO_3,'N' AS INVIO_3,''
|
|
FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join
|
|
(select VC1.cod_fiscale,VC1.rete,VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto
|
|
FROM C6MART.VCONTRATTI VC1
|
|
JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1
|
|
ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB
|
|
LEFT JOIN c6mart.gestione_pdf_ftp PDF1
|
|
ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO
|
|
WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC
|
|
ON VC.chiaveClientePB = MD.chiaveClientePB
|
|
UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET
|
|
--SELECT
|
|
TIP_RIATTIVAZIONE =VC.Riattivazione, TIP_CONTRATTO=VC.Tip_Contratto
|
|
,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N'
|
|
FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join
|
|
(select VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto
|
|
FROM C6MART.VCONTRATTI VC1
|
|
JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1
|
|
ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB
|
|
LEFT JOIN c6mart.gestione_pdf_ftp PDF1
|
|
ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO
|
|
WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC
|
|
ON VC.chiaveClientePB = MD.chiaveClientePB
|
|
-- CASO RIATTIVAZIONE ***************************************************************************************
|
|
INSERT INTO c6mart.test_logmd
|
|
SELECT 'RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE,
|
|
VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1,
|
|
MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2,
|
|
1 AS RIATTIVAZIONE_3,VC.TIP_CONTRATTO AS TIPOCONTRATTO_3,'N' AS INVIO_3,''
|
|
FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD
|
|
ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB
|
|
AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.Tip_riattivazione = 0
|
|
UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET
|
|
--SELECT
|
|
TIP_RIATTIVAZIONE = 1, TIP_CONTRATTO=VC.TIP_CONTRATTO
|
|
,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N'
|
|
FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC ON VC.chiaveClientePB = MC.CHIAVECLIENTEPB
|
|
AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MC.Tip_riattivazione = 0
|
|
-- CASO FINE RIATTIVAZIONE ***************************************************************************************
|
|
INSERT INTO c6mart.test_logmd
|
|
SELECT 'FINE RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE,
|
|
VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1,
|
|
MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2,
|
|
0 AS RIATTIVAZIONE_3,null AS TIPOCONTRATTO_3,null AS INVIO_3,''
|
|
FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD
|
|
ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB
|
|
AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0
|
|
UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET
|
|
-- SELECT
|
|
TIP_RIATTIVAZIONE = 0
|
|
FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB
|
|
AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0
|
|
-- CASO UPGRADE ***************************************************************************************
|
|
INSERT INTO c6mart.test_logmd
|
|
SELECT 'UPGRADE',GETDATE(),COD_FISCALE,RETE,
|
|
VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1,
|
|
MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2,
|
|
2 AS RIATTIVAZIONE_3,2 AS TIPOCONTRATTO_3,'N' AS INVIO_3,''
|
|
FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD
|
|
ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB
|
|
AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1
|
|
INSERT INTO C6Mart.GESTIONE_EMAIL (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB)
|
|
SELECT rete,cod_fiscale,'PERF' as TipoEmail,GETDATE() AS DataGenerazione ,999
|
|
FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD
|
|
ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB
|
|
AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1
|
|
UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET
|
|
--SELECT
|
|
TIP_RIATTIVAZIONE =2, TIP_CONTRATTO=2
|
|
,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N'
|
|
FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD
|
|
ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB
|
|
AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1
|
|
-- CASO DOWNGRADE ***************************************************************************************
|
|
INSERT INTO c6mart.test_logmd
|
|
SELECT 'DOWNGRADE',GETDATE(),COD_FISCALE,RETE,
|
|
VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1,
|
|
MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2,
|
|
VC.riattivazione AS RIATTIVAZIONE_3,1 AS TIPOCONTRATTO_3,null AS INVIO_3,''
|
|
FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD
|
|
ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB
|
|
AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2
|
|
UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET
|
|
--SELECT
|
|
TIP_RIATTIVAZIONE =VC.riattivazione, TIP_CONTRATTO=1
|
|
FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD
|
|
ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB
|
|
AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2
|
|
--CASO 4
|
|
INSERT INTO c6mart.test_logmd
|
|
SELECT 'OLD >> AFF',GETDATE(),VC.COD_FISCALE,VC.RETE,
|
|
VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1,
|
|
MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2,
|
|
NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,''
|
|
FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD
|
|
ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB
|
|
AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0
|
|
--CASO 5
|
|
INSERT INTO c6mart.test_logmd
|
|
SELECT 'OLD >> PRI',GETDATE(),VC.COD_FISCALE,VC.RETE,
|
|
VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1,
|
|
MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2,
|
|
NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,''
|
|
FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD
|
|
ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB
|
|
AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0
|
|
--------------------------------------------------------------------------------------------------------------------
|
|
-- Modifica del 03/10/2018 per gestire i casi in cui il campo InvioBenvenuto è una data
|
|
begin try
|
|
INSERT INTO C6MART.TEST_QUALITY
|
|
SELECT DISTINCT VC.RETE,VC.COD_FISCALE,'CONTRATTOSEI_METADATI NON AGG.1' FROM [C6Mart].[vContrattiSei] VC
|
|
LEFT JOIN c6mart.gestione_pdf_ftp PDF
|
|
ON SUBSTRING(PDF.NomeFile, 1, 11) = VC.CODICECONTRATTO
|
|
WHERE VC.INVIOBENVENUTO = 'S' AND PDF.CODICEFISCALE IS NULL
|
|
end try
|
|
begin catch
|
|
end catch
|
|
-- Fine Modifica del 03/10/2018
|
|
-- 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 |