
-- =============================================
-- Author:		<YONATAN GAETE ROJAS>
-- Create date: <20/07-/2022>
-- Description:	<GRABAR Y ACTUALIZAR MOVIMIENTOS ASIGNACION DE TURNOS ROTATIVOS>
-- Alter date:  <07/01/2025>
-- Description:	<SE MODIFICA COMO OBTENER NUMERO DE SEMANA>
-- =============================================
ALTER PROCEDURE [dbo].[sp_remAsignacionTR_Ins_Upd]
(
	@idAsignacion INT,
	@periodo INT,
	@mes INT,
	@fecInicio DATE,
	@fecTermino DATE,
	@turno INT,
	@ficha INT,
	@numeroSemana INT
)
AS
	IF EXISTS (SELECT 1 FROM remAsignacionTurnoRotativo WHERE periodo = @periodo AND mes= @mes AND numeroSemana = DATEPART(ISO_WEEK, @fecInicio) AND ficha = @ficha)
BEGIN
	UPDATE [remAsignacionTurnoRotativo]
		SET fecInicio = @fecInicio,
			fecTermino = @fecTermino,
			turno = @turno
	WHERE idAsignacion = @idAsignacion
		AND ficha = @ficha
		AND numeroSemana = DATEPART(ISO_WEEK, @fecInicio)
		AND mes = @mes
		AND periodo = @periodo
	END 
	ELSE BEGIN
		INSERT INTO [remAsignacionTurnoRotativo]
			([idAsignacion]
			,[periodo]
			,[mes]
			,[fecInicio]
			,[fecTermino]
			,[turno]
			,[ficha]
			,[numeroSemana]
			)
		VALUES
			(@idAsignacion
			,@periodo
			,@mes
			,@fecInicio
			,@fecTermino
			,@turno
			,@ficha
			,DATEPART(ISO_WEEK, @fecInicio)
			)
END