ALTER PROCEDURE [dbo].[sp_remFiniquitoNuevo_Guardar]
(
@numfiniquito int,
@ficha		  int,
@fechaemision date,
@rut		  int,
@dv		      varchar(1),
@fechaingreso date,
@fechatermino date,
@cargo		  int,
@formato	  int,
@causal		  int,
@comentario	  varchar(500),

--INDEMNIZACION 
@checkañosservicio			int,
@conceptopagar				int,
@tipopago					int,
@sueldobase					decimal(18,0),
@cantidadañosservicio		decimal(18,2),
@totalañosservicio			decimal(18,0),

@checkmesaviso				int,
@mesdeaviso					decimal(18,0),

@chekmutuoacuerdo			int,
@mutuoacuerdo				decimal(18,0),

@chekfueromaternal			int,
@fueromaternal				decimal(18,0),
	
@totalindemnizacion			decimal(18,0),

--VACACIONES
@checkvacaciones			int,
@conceptopagarvac			int,
@tipopagovac				int,
@sueldobasevac				decimal(18,0),

@diashabiles				decimal(18,2),
@montodiashabiles			decimal(18,0),
@diasprogresivos			decimal(18,2),
@montodiasprogresivos		decimal(18,0),
@totaldiaspendientes		decimal(18,2),
@montototaldiaspendientes	decimal(18,0),
@diasinhabiles				decimal(18,2),
@montodiasinhabiles			decimal(18,2),
@totaldiasvac				decimal(18,2),
@totalmontodiasvac			decimal(18,0),

--DESCUENTOS		
@checkafc					int,
@resultado					decimal(18,0),
@montoafc					decimal(18,0),

--OTROS
@checkotros					int,
@otrosbonos					decimal(18,0),
@otrosbonos2				decimal(18,0),
@otrosbonos3				decimal(18,0),
@totalotrosbonos			decimal(18,0),
@otrosdescuentos			decimal(18,0),
@otrosdescuentos2			decimal(18,0),
@otrosdescuentos3			decimal(18,0),
@totalotrosdescuentos		decimal(18,0),
@totalotros					decimal(18,0),

@login						varchar(20),
@nuevofiniquito             int = 0,
@totalapagar				decimal(18,0),
@periodo					int = 0,
@mes						int = 0,
@checkdescuentos			int,

--RETENCIONES
@checkRetenciones			int,
@retencionJudicial			decimal(18,0),
@totRetenciones				decimal(18,0)
)

AS

--ACTUALIZA
IF @nuevofiniquito = 0
BEGIN
	UPDATE remFiniquitoNuevo
	SET
		fechaemision = @fechaemision,
		fechafiniquito =@fechatermino,
		formato = @formato,
		causal = @causal,
		comentario = @comentario,
		--INDEMNIZACION
		checkañoservicio = @checkañosservicio,
		conceptopagar = @conceptopagar,
		tipopago = @tipopago,
		sueldobase = @sueldobase,
		cantidadañosservicios = @cantidadañosservicio,
		totalañosservicios = @totalañosservicio,
		chekmesaviso = @checkmesaviso,
		mesaviso = @mesdeaviso,
		checkmutuoacuerdo = @chekmutuoacuerdo,
		mutuoacuerdo = @mutuoacuerdo,
		checkfueromaternal = @chekfueromaternal,
		fueromaternal = @fueromaternal,
		totalindemnizacion = @totalindemnizacion,
		--VACACIONES
		checkvacaciones = @checkvacaciones,
		conceptopagarvacaciones = @conceptopagarvac,
		tipopagovacaciones = @tipopagovac,
		sueldobasevacaciones = @sueldobasevac,

		diashabiles = @diashabiles,
		montodiashabiles = @montodiashabiles,
		diasprogresivos = @diasprogresivos,
		montodiasprogresivos = @montodiasprogresivos,
		totaldiaspendiente = @totaldiaspendientes,
		montototaldiaspendiente = @montototaldiaspendientes,
		diasinhabiles = @diasinhabiles,
		montodiasinhabiles = @montodiasinhabiles,
		totaldiasvacaciones = @totaldiasvac,
		montototalvacaciones = @totalmontodiasvac,

		--DESCUENTOS
		checkafc = @checkafc,
		resultadoafc = @resultado,
		montoafc = @montoafc,
		checkdescuentos = @checkdescuentos,

		--OTROS
		checkotros = @checkotros,
		otrosbonos = @otrosbonos,
		otrosbonos2 = @otrosbonos2,
		otrosbonos3= @otrosbonos3,
		totalbonos= @totalotrosbonos,
		otrosdescuentos= @otrosdescuentos,
		otrosdescuentos2= @otrosdescuentos2,
		otrosdescuentos3= @otrosdescuentos3,
		totalotrosdescuentos = @totalotrosdescuentos,
		totalotros= @totalotros,
		totalpagar= @totalapagar,
		logmod= @login,
		fecmod= getdate(),

		--RETENCIONES
		checkRetenciones = @checkRetenciones,
		retencionJudicial = @retencionJudicial,
		TotRetenciones = @totRetenciones
WHERE numfiniquito = @numfiniquito 
AND ficha = @ficha

END

--NUEVO
IF @nuevofiniquito = 1
BEGIN
	INSERT INTO remFiniquitoNuevo
	(
	--ENCABEZADO
	numfiniquito,
	ficha,
	fechaemision,
	rut,
	dv,
	fechafiniquito,
	fechaingreso,
	cargo,
	formato,
	causal,
	comentario,
	--INDEMNIZACION
	checkañoservicio,
	conceptopagar,
	tipopago,
	sueldobase,
	cantidadañosservicios,
	totalañosservicios,
	chekmesaviso,
	mesaviso,
	checkmutuoacuerdo,
	mutuoacuerdo,
	checkfueromaternal,
	fueromaternal,
	totalindemnizacion,
	--VACACIONES
	checkvacaciones,
	conceptopagarvacaciones,
	tipopagovacaciones,
	sueldobasevacaciones,
	diashabiles,
	montodiashabiles,
	diasprogresivos,
	montodiasprogresivos,
	totaldiaspendiente,
	montototaldiaspendiente,
	diasinhabiles,
	montodiasinhabiles,
	totaldiasvacaciones,
	montototalvacaciones,
	--DESCUENTOS
	checkafc,
	resultadoafc,
	montoafc,
	checkotros,
	--OTROS
	otrosbonos,
	otrosbonos2,
	otrosbonos3,
	totalbonos,
	otrosdescuentos,
	otrosdescuentos2,
	otrosdescuentos3,
	totalotrosdescuentos,
	totalotros,
	totalpagar,
	loging,
	fecing,
	logmod,
	fecmod,
	periodo,
	mes,
	checkdescuentos,
	--RETENCIONES
	checkRetenciones,
	retencionJudicial,
	TotRetenciones
	)
	VALUES
	(
	@numfiniquito,
	@ficha,
	@fechaemision,
	@rut,
	@dv,
	@fechatermino,
	@fechaingreso,
	@cargo,
	@formato,
	@causal,
	@comentario,
	--INDEMNIZACION 
	@checkañosservicio,
	@conceptopagar,
	@tipopago,
	@sueldobase,
	@cantidadañosservicio,
	@totalañosservicio,
	@checkmesaviso,
	@mesdeaviso,
	@chekmutuoacuerdo,
	@mutuoacuerdo,
	@chekfueromaternal,
	@fueromaternal,
	@totalindemnizacion,
	--VACACIONES
	@checkvacaciones,
	@conceptopagarvac,
	@tipopagovac	,
	@sueldobasevac	,
	@diashabiles,
	@montodiashabiles,
	@diasprogresivos,
	@montodiasprogresivos,
	@totaldiaspendientes,
	@montototaldiaspendientes,
	@diasinhabiles	,
	@montodiasinhabiles	,
	@totaldiasvac,
	@totalmontodiasvac,	
	--DESCUENTOS		
	@checkafc,
	@resultado,
	@montoafc,
	--OTROS
	@checkotros,
	@otrosbonos,
	@otrosbonos2,
	@otrosbonos3,
	@totalotrosbonos,
	@otrosdescuentos ,
	@otrosdescuentos2 ,
	@otrosdescuentos3 ,
	@totalotrosdescuentos ,
	@totalotros	 ,
	@totalapagar ,
	@login	,
	getdate(),
	@login	,	
	getdate(),
	@periodo,
	@mes,
	@checkdescuentos,
	--RETENCIONES
	@checkRetenciones,
	@retencionJudicial,
	@totRetenciones
	)


END