alter procedure rrhh.sp_guardarEmpleado
@txtCodempleado varchar(15),
@numTipoDocumento int,
@txtNumeroDocumento varchar(25),
@txtNIT varchar(25),
@txtPrimerNombre varchar(50),
@txtSegundoNombre varchar(50),
@txtPrimerApellido varchar(50),
@txtSegundoApellido varchar(50),
@numEmpresa int,
@numSucursal int,
@numProyecto int,
@numTipoPlanilla int,
@numUnidadTrabajo int,
@txtGenero char(1),
@numEstadoCivil int,
@txtApellidoCasada varchar(50),
@txtConocidoPor varchar(350),
@txtFechaNacimiento date,
@numPais int,
@numDepartamento int,
@numMunicipio int,
@txtDireccion varchar(300),
@txtTelefonoFijo varchar(25),
@txtTelefonoMovil varchar(25),
@numProfesion int,
@txtFechaEmisionDUI date,
@txtFechaVencimientoDUI date,
@numDepartamentoEmpresa int,
@numPuesto int,
@txtJefe varchar(15),
@txtFechaIngreso date,
@numCotizaISSS bit,
@txtFechaInicioCotizacion date,
@txtNumeroAfiliacionISSS varchar(50),
@numAFP int,
@txtNUP varchar(50),
@numSalario decimal(18,2),
@numPagoTransferencia int,
@numBanco int,
@txtNumeroCuenta varchar(75),
@txtNumeroTarjeta varchar(75),
@txtNombreArchivoFoto varchar(300),
@txtExtensionArchivoFoto varchar(10),
@dbRespuesta varchar(300) output,
@dbCodempleado varchar(15) output,
@dbNombreArchivoFoto varchar(75) output
as
begin
	set nocount on;
	declare @numEmpleado int = 0,@dbCnt int = 0;

	select @dbCnt = COUNT(*) from [negocios_a].dbo.gen_empleado where duiempleado = @txtNumeroDocumento and codempleado != @txtCodempleado and codestado in(1,4,5);
	set @dbNombreArchivoFoto = @txtNombreArchivoFoto;

	if @txtCodempleado = '0'
		begin
			select @numEmpleado = isnull(max(cast([codempleado] as bigint)),0) from [negocios_a].dbo.gen_empleado where codtipoplanilla <> 0 and codempresa = @numEmpresa;
			set @numEmpleado = case when @numEmpleado is null then 1 else @numEmpleado + 1 end;

			if @txtNombreArchivoFoto != 'default.png'
				begin
					set @dbNombreArchivoFoto = 'emp'+cast(@numEmpleado as varchar) + '.'+ @txtExtensionArchivoFoto;
				end

			insert into [negocios_a].dbo.gen_empleado(codempresa,codempleado,codsucursal,codproyecto,codtipoplanilla,nomempleado1,nomempleado2,apellidosempleado1,apellidosempleado2,apellidocasadaempleado,conocidopor,codestado,codestadocivil,coddepartamento,codpuesto,codafp,codprofesion,codpais,codnivelestudio,codtipopago,codretiro,codbanco,codreligion,fechaingreso,fecharetiro,fechanacimiento,salario,complemento,direccion,coddeptodir,codmunicipiodir,telefono,celular,correo,sexo,numcta,numtarjeta,isssempleado,nupempleado,duiempleado,nitempleado,fechadui,lugardui,lugarnacimiento,codtipolicencia,conceptorecibo,cotizaisss,descuentaprocu,viaticos,procuraduria,valorhoraextra,viatico,coperativa,fecha,tipoaguinaldo,codjefe,fechacotiza,pagocontarjetasn,idUnidadTrabajo,nombreArchivoFoto,fechaVencimientoDUI) values(@numEmpresa,cast(@numEmpleado as varchar),@numSucursal,@numProyecto,@numTipoPlanilla,@txtPrimerNombre,@txtSegundoNombre,@txtPrimerApellido,@txtSegundoApellido,@txtApellidoCasada,@txtConocidoPor,1,@numEstadoCivil,@numDepartamentoEmpresa,@numPuesto,@numAFP,@numProfesion,@numPais,0,0,0,@numBanco,0,@txtFechaIngreso,null,@txtFechaNacimiento,@numSalario,0,@txtDireccion,@numDepartamento,@numMunicipio,@txtTelefonoFijo,@txtTelefonoMovil,null,@txtGenero,@txtNumeroCuenta,@txtNumeroTarjeta,@txtNumeroAfiliacionISSS,@txtNUP,@txtNumeroDocumento,@txtNIT,@txtFechaEmisionDUI,null,null,null,null,@numCotizaISSS,null,null,null,null,null,null,GETDATE(),1,@txtJefe,@txtFechaInicioCotizacion,@numPagoTransferencia,@numUnidadTrabajo,@dbNombreArchivoFoto,@txtFechaVencimientoDUI);

			set @dbCodempleado = @numEmpleado;
		end
	else
		begin
			set @dbCodempleado = @txtCodempleado;
			if @txtNombreArchivoFoto != 'default.png'
				begin
					set @dbNombreArchivoFoto = 'emp'+cast(@dbCodempleado as varchar) + '.'+ @txtExtensionArchivoFoto;
				end

			update empleados set codsucursal = @numSucursal,codproyecto = @numProyecto,nomempleado1 = @txtPrimerNombre,nomempleado2 = @txtSegundoNombre,apellidosempleado1 = @txtPrimerApellido,apellidosempleado2 = @txtSegundoApellido,apellidocasadaempleado = @txtApellidoCasada,conocidopor = @txtConocidoPor,codestadocivil = @numEstadoCivil,coddepartamento = @numDepartamentoEmpresa,codpuesto = @numPuesto,codafp = @numAFP,codprofesion = @numProfesion,codpais = @numPais,codbanco = @numBanco,fechaingreso = @txtFechaIngreso,fechanacimiento = @txtFechaNacimiento,salario = @numSalario,direccion = @txtDireccion,coddeptodir = @numDepartamento,codmunicipiodir = @numMunicipio,telefono = @txtTelefonoFijo,celular = @txtTelefonoMovil,sexo = @txtGenero,numcta = @txtNumeroCuenta,numtarjeta = @txtNumeroTarjeta,isssempleado = @txtNumeroAfiliacionISSS,nupempleado = @txtNUP,duiempleado = @txtNumeroDocumento,nitempleado = @txtNIT,fechadui = @txtFechaEmisionDUI,cotizaisss = @numCotizaISSS,codjefe = @txtJefe,fechacotiza = @txtFechaInicioCotizacion,pagocontarjetasn = @numPagoTransferencia,idUnidadTrabajo = @numUnidadTrabajo,nombreArchivoFoto = @dbNombreArchivoFoto,fechaVencimientoDUI = @txtFechaVencimientoDUI from [negocios_a].dbo.gen_empleado empleados where codempleado = @dbCodempleado;
		end

	set @dbRespuesta = 'success';
end