dbo.Imperium_reporte_ingresos_egresos

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_desde varchar 20
@p_hasta varchar 20

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
/* =============================================
   Imprerium: Reportes Ingresos y Egresos
   María Inés Soria
   25/11/2020

   exec Imperium_reporte_ingresos_egresos 9936068, '2023-03-29', '2023-03-29'
   exec Imperium_reporte_ingresos_egresos 3915936,'2025-01-10','2025-01-10'

-- ============================================= */

CREATE OR ALTER PROCEDURE dbo.Imperium_reporte_ingresos_egresos 
 @p_cliente int,
 @p_desde varchar(20),
 @p_hasta varchar(20)
AS
BEGIN
 SET NOCOUNT ON;

 set @p_desde = @p_desde + ' 00:00:00'
 set @p_hasta = @p_hasta + ' 23:59:59'
 declare @desde datetime = convert(datetime, @p_desde)
 declare @hasta datetime = convert(datetime, @p_hasta)


 select  led_control_ingreso.horario,
   case led_control_ingreso.tipo_acceso
   when 'I' then 'Ingreso'
   when 'E' then 'Egreso'
   else NULL
   end 
   as tipo, 
  convert(varchar(16), led_control_ingreso.horario, 120) as horario_ymdhm,
  convert(date, led_control_ingreso.horario) as horario_ymd,

  nombre_locacion as locacion_name,
  users.first_name + ' ' + users.last_name as usuario, 
  
  padrones_1.nombre_persona +  
  iif(padrones_1.identificacion is not null, ' (' + identificadores_1.abreviatura + ' ' + convert(varchar,padrones_1.identificacion) + ')', '') 
  as datos_contratista, 
  
  padrones.nombre_persona +  
  iif(padrones.identificacion is not null, ' (' + identificadores.abreviatura + ' ' +  convert(varchar,padrones.identificacion) + ')', '')  
  as datos_subcontratista, 
  
  padrones_e.nombre_persona +  
  iif(padrones_e.identificacion is not null, ' (' + identificadores_e.abreviatura + ' ' +  convert(varchar,padrones_e.identificacion) + ')', '') 
   as datos_empleado, 
   /*
    led_vehiculos.nombre_vehiculo + ' ' + isnull(led_vehiculos.modelo,'') +
    iif(led_vehiculos.dominio is not null, ' (' + led_vehiculos.dominio + ')','') 
    as datos_vehiculo,
    */

  led_vehiculos.nombre_vehiculo + ' ' + iif(led_vehiculos.modelo is null,'',convert(varchar(100),led_vehiculos.modelo)) + iif(led_vehiculos.dominio is not null, ' (' + convert(varchar(100),led_vehiculos.dominio) + ')','') as datos_vehiculo,
/*        excepcion as exc,*/
        
        case excepcion 
  when 1 then 'SI'
        when 2 then 'SI'
  else'NO'
  end as exc,


  --iif(led_control_ingreso.estado_autorizacion='P','PENDIENTE','APROBADA') AS estado_autorizacion,
  /*led_control_ingreso.estado_autorizacion,*/
  case led_control_ingreso.estado_autorizacion
  when 'P' then 'PENDIENTE'
  when 'R' then 'RECHAZADA'
  else 'APROBADA'
  end 
  as estado_autorizacion,

  led_control_ingreso.autoriza_rechaza,

  led_locaciones.nombre_locacion, 
  users.first_name, users.last_name, users.username, users.email,
  clientes.nombre_cliente, led_contratistas.contratista_1,
  padrones.nombre_persona AS nombre_contratista, padrones.numero, identificadores.abreviatura,
  padrones_1.nombre_persona AS nombre_contratista_1, padrones_1.numero AS numero_1, identificadores_1.abreviatura AS abreviatura_1,
  padrones_e.nombre_persona AS nombre_empleado, padrones_e.numero AS numero_e, identificadores_e.abreviatura AS abreviatura_e,
  led_vehiculos.nombre_vehiculo, led_vehiculos.dominio, led_vehiculos.modelo,
  led_cliente_personal.nombre_completo as autorizante, led_cliente_personal.sector, led_cliente_personal.telefono, led_cliente_personal.locacion
  
  from led_control_ingreso
  inner join users ON led_control_ingreso.usuario_control = users.user_id
  inner join clientes ON led_control_ingreso.cliente = clientes.cliente
  inner join led_contratistas ON led_control_ingreso.contratista = led_contratistas.contratista
  inner join padrones ON led_contratistas.id_padron = padrones.id_padron
  inner join identificadores ON padrones.identificador = identificadores.identificador
  
  inner join led_contratistas AS led_contratistas_1 ON led_contratistas.contratista_1 = led_contratistas_1.contratista
  inner join padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
  inner join identificadores AS identificadores_1 ON padrones_1.identificador = identificadores_1.identificador

  inner join led_locaciones on led_control_ingreso.locacion = led_locaciones.locacion
  
  left outer join led_empleados ON led_control_ingreso.empleado = led_empleados.empleado
  left outer join padrones AS padrones_e ON led_empleados.id_padron = padrones_e.id_padron
  left outer join identificadores AS identificadores_e ON padrones_e.identificador = identificadores_e.identificador
  
  left outer join led_vehiculos ON led_control_ingreso.vehiculo = led_vehiculos.vehiculo
  left outer join led_cliente_personal ON led_control_ingreso.autorizante = led_cliente_personal.persona
  
  
   where
   led_control_ingreso.cliente = @p_cliente
  
   and
   led_control_ingreso.horario >= @desde
  
   and
   led_control_ingreso.horario <= @hasta
  


  /* 29/03/2023: Agregamos lo de lista blanca */
  
  UNION 
  
  select  led_control_ingreso.horario,
   case led_control_ingreso.tipo_acceso
   when 'I' then 'Ingreso'
   when 'E' then 'Egreso'
   else NULL
   end 
   as tipo, 
  convert(varchar(16), led_control_ingreso.horario, 120) as horario_ymdhm,
  convert(date, led_control_ingreso.horario) as horario_ymd,

  nombre_locacion as locacion_name,
  users.first_name + ' ' + users.last_name as usuario, 
  
  padrones_1.nombre_persona +  
  iif(padrones_1.identificacion is not null, ' (' + identificadores_1.abreviatura + ' ' + convert(varchar,padrones_1.identificacion) + ')', '') 
  + ' (LISTA BLANCA)'
  as datos_contratista, 
  
  NULL
  as datos_subcontratista, 
  
  NULL
   as datos_empleado, 

  NULL as datos_vehiculo,
  'NO' as exc,
        /*0 as exc,*/

  /*led_control_ingreso.estado_autorizacion,*/
        iif(led_control_ingreso.estado_autorizacion='P','PENDIENTE','APROBADA') AS estado_autorizacion,        
  led_control_ingreso.autoriza_rechaza,

  led_locaciones.nombre_locacion, 
  users.first_name, users.last_name, users.username, users.email,
  clientes.nombre_cliente, NULL AS contratista_1,
  NULL AS nombre_contratista, NULL as numero, NULL as abreviatura,
  padrones_1.nombre_persona AS nombre_contratista_1, padrones_1.numero AS numero_1, identificadores_1.abreviatura AS abreviatura_1,
  NULL AS nombre_empleado, NULL AS numero_e, NULL AS abreviatura_e,
  NULL AS nombre_vehiculo, NULL AS dominio, NULL AS modelo,
  led_cliente_personal.nombre_completo as autorizante, led_cliente_personal.sector, led_cliente_personal.telefono, led_cliente_personal.locacion
  
  from led_control_ingreso
  inner join users ON led_control_ingreso.usuario_control = users.user_id
  inner join clientes ON led_control_ingreso.cliente = clientes.cliente
  inner join padrones AS padrones_1 ON led_control_ingreso.whitelist_id_padron = padrones_1.id_padron
  inner join identificadores AS identificadores_1 ON padrones_1.identificador = identificadores_1.identificador
  inner join led_locaciones on led_control_ingreso.locacion = led_locaciones.locacion
  left outer join led_cliente_personal ON led_control_ingreso.autorizante = led_cliente_personal.persona
  
  
   where
   led_control_ingreso.cliente = @p_cliente

   and 
   led_control_ingreso.whitelist_id_padron is not null 
  
   and
   led_control_ingreso.horario >= @desde
  
   and
   led_control_ingreso.horario <= @hasta
  

  /**/


  order by led_control_ingreso.horario DESC

END

GO

Used By

No items found