IF OBJECT_ID('dbo.sp_fco_proc_traslados_eps') IS NOT NULL
   DROP PROCEDURE dbo.sp_fco_proc_traslados_eps
GO
CREATE PROCEDURE dbo.sp_fco_proc_traslados_eps
(
    @pch_compania    char(4), 
    @psm_anio        smallint,
    @ptn_mes         tinyint
)
AS
DECLARE	@cch_trabajador char(10),
	@cch_actual     char(10),
	@cch_nueva      char(10)

DECLARE cr_traslados CURSOR FOR
SELECT	trabajador, EPS_actual, EPS_nueva
FROM	fco_traslados_eps
WHERE	compania = @pch_compania AND
trabajador In (SELECT trabajador FROM trabajadores_grales
               WHERE compania = @pch_compania And
               clase_nomina is not null And
               clase_nomina in 
                (SELECT clase_nomina 
                 FROM rel_usu_clase_nom 
                 WHERE usuario = system_user
                 )) AND
DatePart(Year, fecha_cambio) = @psm_anio AND
DatePart(Month, fecha_cambio) = @ptn_mes
BEGIN

	OPEN cr_traslados
	FETCH cr_traslados 
	INTO @cch_trabajador, @cch_actual, @cch_nueva

	WHILE @@FETCH_STATUS = 0 
            BEGIN

		UPDATE 	rel_trab_agr
		SET	dato = @cch_nueva
		WHERE	compania = @pch_compania
		AND	trabajador = @cch_trabajador
		AND	agrupacion = isnull((SELECT dato FROM vw_fdt_parametros x
     WHERE x.pais = 'COL' AND x.compania = rel_trab_agr.compania AND x.parametro = 'autoliq' AND x.secuencia = 21), 'EPS')

		FETCH cr_traslados INTO @cch_trabajador, @cch_actual, @cch_nueva
            END
	CLOSE cr_traslados
	DEALLOCATE cr_traslados
	
	UPDATE fco_traslados_eps
    SET estado = 1
	WHERE	compania = @pch_compania AND
  trabajador In (SELECT trabajador FROM trabajadores_grales
                 WHERE compania = @pch_compania And
                 clase_nomina is not null And
                 clase_nomina in 
                  (SELECT clase_nomina 
                   FROM rel_usu_clase_nom 
                   WHERE usuario = system_user
                   )) AND
		DatePart(Year, fecha_cambio) = @psm_anio AND
		DatePart(Month, fecha_cambio) = @ptn_mes

END

GO
GRANT EXECUTE ON sp_fco_proc_traslados_eps TO Public
GO
