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
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
Depends On
8Used By
No items found