dbo.Imperium_buscar_identificacion_acceso

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

3
Name Data Type Length Description
@p_cliente int 4
@p_id_padron int 4
@p_numero varchar 20

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
/*

BUSCA UN CUIT/CUIL DENTRO DE LA INFORMACION DE ACCESO DEL CLIENTE, PARA VERIFICAR SI ES UN EMPLEADO O UN CONTRATISTA SIN EMPLEADOS

exec Imperium_buscar_identificacion_acceso 9936068, null, '20328088399'
exec Imperium_buscar_identificacion_acceso 9936068, 3687881

*/

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

 @p_cliente            int = null,
 @p_id_padron           int = NULL,
 @p_numero            varchar(20) = 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 (@p_cliente > 0 AND (@p_id_padron > 0 OR @p_numero IS NOT NULL)) begin

  if (@p_id_padron > 0)

   select 
   'E' as led_seccion, led_empleados.contratista, led_empleados.contratista_1, led_empleados.empleado,
   padrones.id_padron, padrones.nombre_persona, padrones.identificador, padrones.numero, identificadores.abreviatura,
   padrones_0.identificador as identificador_0, padrones_0.identificacion as numero_0, padrones_0.nombre_persona as nombre_contratista,
   padrones_1.identificador as identificador_1, padrones_1.identificacion as numero_1, padrones_1.nombre_persona as nombre_contratista_1

   from padrones inner join identificadores on padrones.identificador = identificadores.identificador
   
   inner join led_empleados on padrones.id_padron = led_empleados.id_padron
   inner join led_contratistas on led_empleados.contratista = led_contratistas.contratista
   inner join led_contratistas contratistas_1 on led_empleados.contratista_1 = contratistas_1.contratista

   inner join padrones padrones_0 on led_contratistas.id_padron = padrones_0.id_padron
   inner join padrones padrones_1 on contratistas_1.id_padron = padrones_1.id_padron

   where led_empleados.estado_empleado = 'A'
   and led_contratistas.estado_contratista = 'A'
   and led_empleados.cliente = @p_cliente
   and padrones.id_padron = @p_id_padron
      
   UNION ALL
    
   select 
   'C' as led_seccion, led_contratistas.contratista,led_contratistas.contratista_1, NULL AS empleado,
   padrones_0.id_padron, NULL AS nombre_persona, NULL AS identificador, NULL AS numero, NULL AS abreviatura,
   padrones_0.identificador as identificador_0, padrones_0.identificacion as numero_0, padrones_0.nombre_persona as nombre_contratista,
   padrones_1.identificador as identificador_1, padrones_1.identificacion as numero_1, padrones_1.nombre_persona as nombre_contratista_1


   from led_contratistas
   inner join padrones padrones_0 on led_contratistas.id_padron = padrones_0.id_padron
   inner join led_contratistas contratistas_1 on led_contratistas.contratista_1 = contratistas_1.contratista
   inner join padrones padrones_1 on contratistas_1.id_padron = padrones_1.id_padron   

   left outer join (select led_contratistas.contratista, count(*) AS total_empleados
      from led_contratistas inner join led_empleados
      on led_contratistas.contratista = led_empleados.contratista
      inner join led_empleados_periodo
      on led_empleados.empleado = led_empleados_periodo.empleado
      where led_empleados_periodo.periodo = dbo.PeriodoAdelantado()
      and led_empleados.cliente = @p_cliente
      and led_empleados.estado_empleado = 'A'
      and led_contratistas.estado_contratista = 'A'
      group by led_contratistas.contratista) empleados
   on led_contratistas.contratista = empleados.contratista
   where led_contratistas.estado_contratista = 'A'
   and empleados.total_empleados IS NULL
   and led_contratistas.cliente = @p_cliente
   and padrones_0.id_padron = @p_id_padron
   
   ORDER BY padrones.nombre_persona

  else

   select 
   'E' as led_seccion, led_empleados.contratista, led_empleados.contratista_1, led_empleados.empleado,
   padrones.id_padron, padrones.nombre_persona, padrones.identificador, padrones.numero, identificadores.abreviatura,
   padrones_0.identificador as identificador_0, padrones_0.identificacion as numero_0, padrones_0.nombre_persona as nombre_contratista,
   padrones_1.identificador as identificador_1, padrones_1.identificacion as numero_1, padrones_1.nombre_persona as nombre_contratista_1

   from padrones inner join identificadores on padrones.identificador = identificadores.identificador
   
   inner join led_empleados on padrones.id_padron = led_empleados.id_padron
   inner join led_contratistas on led_empleados.contratista = led_contratistas.contratista
   inner join led_contratistas contratistas_1 on led_empleados.contratista_1 = contratistas_1.contratista

   inner join padrones padrones_0 on led_contratistas.id_padron = padrones_0.id_padron
   inner join padrones padrones_1 on contratistas_1.id_padron = padrones_1.id_padron

   where led_empleados.estado_empleado = 'A'
   and led_contratistas.estado_contratista = 'A'
   and led_empleados.cliente = @p_cliente
   and padrones.identificacion = @p_numero
      
   UNION ALL
    
   select 
   'C' as led_seccion, led_contratistas.contratista,led_contratistas.contratista_1, NULL AS empleado,
   padrones_0.id_padron, NULL AS nombre_persona, NULL AS identificador, NULL AS numero, NULL AS abreviatura,
   padrones_0.identificador as identificador_0, padrones_0.identificacion as numero_0, padrones_0.nombre_persona as nombre_contratista,
   padrones_1.identificador as identificador_1, padrones_1.identificacion as numero_1, padrones_1.nombre_persona as nombre_contratista_1


   from led_contratistas
   inner join padrones padrones_0 on led_contratistas.id_padron = padrones_0.id_padron
   inner join led_contratistas contratistas_1 on led_contratistas.contratista_1 = contratistas_1.contratista
   inner join padrones padrones_1 on contratistas_1.id_padron = padrones_1.id_padron   

   left outer join (select led_contratistas.contratista, count(*) AS total_empleados
      from led_contratistas inner join led_empleados
      on led_contratistas.contratista = led_empleados.contratista
      inner join led_empleados_periodo
      on led_empleados.empleado = led_empleados_periodo.empleado
      where led_empleados_periodo.periodo = dbo.PeriodoAdelantado()
      and led_empleados.cliente = @p_cliente
      and led_empleados.estado_empleado = 'A'
      and led_contratistas.estado_contratista = 'A'
      group by led_contratistas.contratista) empleados
   on led_contratistas.contratista = empleados.contratista
   where led_contratistas.estado_contratista = 'A'
   and empleados.total_empleados IS NULL
   and led_contratistas.cliente = @p_cliente
   and padrones_0.identificacion = @p_numero
   
   ORDER BY padrones.nombre_persona


 end
 
END
GO

Used By

No items found