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