-- 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 � 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 nuo