dbo.Imperium_buscar_empleados

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

9
Name Data Type Length Description
@accion varchar 50
@p_empleado int 4
@p_tipo_empleado int 4
@p_alta_afip datetime 8
@p_estado_empleado varchar 1
@p_baja_afip datetime 8
@p_contratista int 4
@p_contratista_1 int 4
@p_alta_servicio datetime 8

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
-- =============================================
-- Author: Luis J. Prenafeta
-- Create date: 21/11/2019
-- Description: Traer los datos de uno o más empleados de un contratista y lógica de UPDATE (el alta de empleados se realiza
-- en el store Imperlum_vista_contratista_Alta_empleados

/*
exec imperium_buscar_empleados 'search',103346

*/

-- =============================================
CREATE OR ALTER PROCEDURE dbo.Imperium_buscar_empleados
 -- Add the parameters for the stored procedure here

 @accion             varchar(50) = NULL,
 @p_empleado            int = null,
 @p_tipo_empleado          int = null,
 @p_alta_afip           datetime = null,
 @p_estado_empleado          varchar(1) = NULL,
 @p_baja_afip           datetime = null,
 @p_contratista           int = null,
 @p_contratista_1          int = null,
 @p_alta_servicio          datetime = null

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

    -- Insert statements for procedure here
 if (@accion = 'search') begin

  if (@p_empleado is not null) begin

   SELECT led_empleados.empleado, led_empleados.id_padron, led_empleados.contratista, led_empleados.contratista_1, led_empleados.tipo_empleado,
     led_empleados.estado_empleado, convert(varchar,led_empleados.alta_afip,103) as alta_afip, convert(varchar,led_empleados.baja_afip,103) as baja_afip, 
     led_empleados.servicios, led_empleados.subservicios, led_empleados.locaciones,
     convert(varchar,led_empleados.created,103) as created, led_tipos_empleado.nombre_tipo_empleado,
     padrones.nombre_persona, padrones.numero, padrones.identificacion, padrones.identificador,
     identificadores.abreviatura, identificadores.country_code, country.country_name,

     padrones_d.nombre_persona as nombre_persona_d, padrones_d.numero as numero_d, padrones_d.identificacion as identificacion_d, padrones_d.id_padron as id_padron_d,
     padrones_d.identificador as identificador_d, identificadores_d.abreviatura as abreviatura_d, identificadores_d.country_code as country_code_d,

     padrones_1.nombre_persona as nombre_persona_1, padrones_1.numero as numero_1, padrones_1.identificacion as identificacion_1, padrones_1.id_padron as id_padron_1,
     padrones_1.identificador as identificador_1, identificadores_1.abreviatura as abreviatura_1, identificadores_d.country_code as country_code_1, 
     baja.tipo_baja, baja.nombre_tipo_baja, convert(varchar,led_empleados.alta_servicio,103) as alta_servicio 

   FROM led_empleados 
   inner join led_tipos_empleado on led_empleados.tipo_empleado = led_tipos_empleado.tipo_empleado
   inner join padrones on led_empleados.id_padron = padrones.id_padron
   inner join identificadores on padrones.identificador = identificadores.identificador
   inner join country on identificadores.country_code = country.country_code
   
   inner join led_contratistas on led_empleados.contratista = led_contratistas.contratista
   inner join padrones padrones_d on led_contratistas.id_padron = padrones_d.id_padron
   inner join identificadores identificadores_d on padrones_d.identificador = identificadores_d.identificador

   inner join led_contratistas led_contratistas_1 on led_empleados.contratista_1 = led_contratistas_1.contratista
   inner join padrones padrones_1 on led_contratistas_1.id_padron = padrones_1.id_padron
   inner join identificadores identificadores_1 on padrones_1.identificador = identificadores_1.identificador
   
   left outer join (select top 1 empleado, led_empleados_periodo.tipo_baja, led_tipos_baja.nombre_tipo_baja
                      from led_empleados_periodo 
          inner join led_tipos_baja on (led_tipos_baja.led_seccion = 'E' and 
                                        led_tipos_baja.tipo_baja = led_empleados_periodo.tipo_baja)
        where led_empleados_periodo.empleado = @p_empleado
        and led_empleados_periodo.tipo_baja is not null 
        order by led_empleados_periodo.periodo desc) baja 
       on baja.empleado = led_empleados.empleado 
   WHERE led_empleados.empleado = @p_empleado

  end




 end else

 if (@accion = 'update') begin

  if (@p_empleado is not null) begin
   update led_empleados set
     tipo_empleado = @p_tipo_empleado,
     alta_afip = @p_alta_afip,
     alta_servicio = @p_alta_servicio,

     estado_empleado = @p_estado_empleado,
     baja_afip = @p_baja_afip
   where empleado = @p_empleado
  end

 end

 
END
GO

Used By

No items found