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

129 lines
3.8 KiB
SQL
Raw Blame History

-- Schema: C6Mart
-- Stored Procedure: RP_DM_POPOLACONTRATTI
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 <20> 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 <20> 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 <20> stata generata una nuo