-- Schema: dbo
-- Stored Procedure: srv_change_codfiscaleMassiva



-- =============================================
-- Author:		Atzeri Emanuele
-- Create date: <Create Date,,>
-- Description:	<Description,,>
-- =============================================
CREATE procedure [dbo].[srv_change_codfiscaleMassiva]
	-- Add the parameters for the stored procedure here

AS
BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	--SET NOCOUNT ON;

	DECLARE @Vecchio varchar(16)
	DECLARE @Nuovo varchar(16)
	DECLARE @DataIns datetime
	DECLARE @isCodFis int
	--DECLARE @UltimaData varchar(8)

	Declare @contErr int
	Declare @CodErr int
	Declare @retDescErr varchar(500)

	set @CodErr= 1
	set @contErr= 0
--	SELECT @UltimaData = MAX(convert(varchar(8), DataOperazione, 112)) FROM dbo.RicodificaMassiva

--	UPDATE [CONSEVO].ConsulenzaBaseFL.dbo.RICODIF_CF_PIVA
--	SET Base = 0
--	FROM [CONSEVO].ConsulenzaBaseFL.dbo.RICODIF_CF_PIVA a
--	INNER JOIN C6Mart.Gestione_PDF_FTP b
--	ON a.CF_OLD = b.CodiceFiscale
--	WHERE
--		Base is null
--
--	UPDATE [CONSEVO].ConsulenzaBaseFL.dbo.RICODIF_CF_PIVA
--	SET Base = 1
--	WHERE
--		Base is null


	DECLARE Ricodifica_cursor CURSOR FOR

--	SELECT Vecchio, Nuovo FROM dbo.RicodificaMassiva
--	WHERE DataOperazione > @UltimaData

	SELECT CF_OLD, CF_NEW, DTINSERIMENTO from RICODIF_CF_PIVA
	ORDER BY DTINSERIMENTO

	OPEN Ricodifica_cursor

	FETCH NEXT FROM Ricodifica_cursor
	INTO @Vecchio, @Nuovo, @DataIns

	WHILE @@FETCH_STATUS = 0
	BEGIN
		
				
		select @isCodfis=dbo.RegExIsMatch ( '\D' , @Nuovo , 1 )

		EXEC dbo.srv_change_codfiscale @Nuovo, @Vecchio , @isCodFis , @retcodErr=@CodErr  output

	
		if @CodErr = 0 
		begin
				UPDATE [CONSEVO].ConsulenzaBaseFL.dbo.RICODIF_CF_PIVA
				SET RicodificatoContratto6 = 1
				WHERE
					CF_OLD = @Vecchio
				AND
					CF_NEW = @Nuovo
				AND
					DTINSERIMENTO = @DataIns
				AND
					RicodificatoContratto6 is null

		end
		else
		begin 
		  select @CodErr, 'Errore '
		  set @contErr=@contErr+1;
	    end
	FETCH NEXT FROM Ricodifica_cursor
		INTO @Vecchio, @Nuovo, @DataIns
	
		
	END

	CLOSE Ricodifica_cursor
	DEALLOCATE Ricodifica_cursor

	select @contErr
--	UPDATE [CONSEVO].ConsulenzaBaseFL.dbo.RICODIF_CF_PIVA
--	SET RicodificatoContratto6 = 0
--	WHERE
--		RicodificatoContratto6 is null

END



