Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
6| Name | Data Type | Length | Description |
|---|---|---|---|
| @p_cliente | int | 4 | |
| @p_locacion | int | 4 | |
| @p_led_seccion | varchar | 1 | |
| @p_contratista | int | 4 | |
| @p_empleado | int | 4 | |
| @p_vehiculo | int | 4 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
/*
exec Imperium_Control_Acceso 9936068,1013,'E',null,107378,null
exec Imperium_Control_Acceso 9936068,1013,'C'
exec Imperium_Control_Acceso 3920694,1040,'E'
exec Imperium_Control_Acceso 9936068,1013,'C',1487
exec Imperium_Control_Acceso 9936068,1013,'C',1460
exec Imperium_Control_Acceso 9936068,1013,'E',NULL,73030
exec Imperium_Control_Acceso 9936068,1013,'E',NULL,95759
exec Imperium_Control_Acceso 9936068,1013,'V',NULL,NULL,3416
exec Imperium_Control_Acceso 9936068,1013,'V',NULL,NULL,3658
exec Imperium_Control_Acceso 9936068,1013,'V',NULL,NULL,5152
exec Imperium_Control_Acceso 3920694,1040,'E',null,null,null
select * from led_locaciones where cliente = 3920694
select * from led_empleados where empleado in (select empleado from led_empleado_locaciones where locacion = 1040)
select * from padrones where id_padron = 17555170
select * from led_contratista_locaciones where locacion = 1040
*/
-- Description: <Description,,>
-- =============================================
CREATE OR ALTER PROCEDURE dbo.Imperium_Control_Acceso
-- Add the parameters for the stored procedure here
@p_cliente int = NULL,
@p_locacion int = NULL,
@p_led_seccion varchar(1) = NULL,
@p_contratista int = NULL,
@p_empleado int = NULL,
@p_vehiculo int = 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
declare @contratista_1 int, @estado varchar(1), @tipo int
if ( @p_cliente > 0 AND @p_locacion > 0 AND (@p_led_seccion = 'C' OR @p_led_seccion = 'E' OR @p_led_seccion = 'V') ) begin
if (@p_led_seccion = 'C') begin
if (@p_contratista > 0) begin
select @contratista_1 = contratista_1, @estado = estado_contratista, @tipo = tipo_contratista from led_contratistas where contratista = @p_contratista and cliente = @p_cliente
if (@estado = 'A') begin
if (@contratista_1 = @p_contratista)
-- Contratista directo (no tiene que tener empleados activos en el periodo)
select led_contratistas.contratista, padrones.identificador, padrones.identificacion, padrones.numero, identificadores.abreviatura,
identificadores.country_code, padrones.nombre_persona, led_tipos_contratista.nombre_tipo_contratista, padrones.id_padron, led_contratistas.contratista_1,
padrones.nombre_persona as nombre_contratista_1, identificadores.abreviatura as abreviatura_1, padrones.identificacion as identificacion_1,
padrones.nombre_persona as nombre_contratista, identificadores.abreviatura as abreviatura_0, padrones.identificacion as identificacion_0,
ISNULL(docs.total_docs,0) as total_docs, ISNULL(pendientes.total_pendientes,0) as total_pendientes, ISNULL(ingresados.total_ingresados,0) as total_ingresados,
ISNULL(rechazados.total_rechazados,0) as total_rechazados, ISNULL(verificados.total_verificados,0) as total_verificados,
iif(ISNULL(docs.total_docs,0) > 0,
iif(ISNULL(pendientes.total_pendientes,0) = 0 and ISNULL(ingresados.total_ingresados,0) = 0 and ISNULL(rechazados.total_rechazados,0) = 0 and ISNULL(verificados.total_verificados,0) > 0, 1, 0)
, 0) AS acceso
from led_contratistas
inner join led_contratista_locaciones on led_contratistas.contratista_1 = led_contratista_locaciones.contratista
inner join led_tipos_contratista on led_contratistas.tipo_contratista = led_tipos_contratista.tipo_contratista
inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join identificadores on padrones.identificador = identificadores.identificador
inner join led_contratista_periodo on led_contratistas.contratista = led_contratista_periodo.contratista
left outer join
(select led_empleados.contratista, count(*) as total_empleados
from led_empleados inner join led_empleados_periodo on led_empleados.empleado = led_empleados_periodo.empleado
where led_empleados.contratista = @p_contratista
and led_empleados_periodo.periodo = dbo.PeriodoAdelantado()
and led_empleados.estado_empleado = 'A'
group by led_empleados.contratista) empleados on led_contratistas.contratista = empleados.contratista
left outer join
(select led_docs.contratista, count(*) as total_docs
from led_docs inner join led_cliente_contratista on
(led_docs.tipo_doc = led_cliente_contratista.tipo_doc
and led_cliente_contratista.cliente = @p_cliente
and led_cliente_contratista.tipo_contratista = @tipo
and led_cliente_contratista.ci_killer in (1,0)
and led_cliente_contratista.requiere_upload in (1,0)
and led_cliente_contratista.activo = 1)
where led_docs.contratista = @p_contratista
and led_docs.led_seccion = @p_led_seccion
and led_docs.periodo = dbo.PeriodoAdelantado()
group by led_docs.contratista) docs on led_contratistas.contratista = docs.contratista
left outer join
(select led_docs.contratista, count(*) as total_pendientes
from led_docs inner join led_cliente_contratista on
(led_docs.tipo_doc = led_cliente_contratista.tipo_doc
and led_cliente_contratista.cliente = @p_cliente
and led_cliente_contratista.tipo_contratista = @tipo
and led_cliente_contratista.ci_killer in (1,0)
and led_cliente_contratista.requiere_upload in (1,0)
and led_cliente_contratista.activo = 1)
where led_docs.contratista = @p_contratista
and led_docs.led_seccion = @p_led_seccion
and led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.estado_doc = 'N'
group by led_docs.contratista) pendientes on led_contratistas.contratista = pendientes.contratista
left outer join
(select led_docs.contratista, count(*) as total_ingresados
from led_docs inner join led_cliente_contratista on
(led_docs.tipo_doc = led_cliente_contratista.tipo_doc
and led_cliente_contratista.cliente = @p_cliente
and led_cliente_contratista.tipo_contratista = @tipo
and led_cliente_contratista.ci_killer in (1,0)
and led_cliente_contratista.requiere_upload in (1,0)
and led_cliente_contratista.activo = 1)
where led_docs.contratista = @p_contratista
and led_docs.led_seccion = @p_led_seccion
and led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.estado_doc = 'I'
group by led_docs.contratista) ingresados on led_contratistas.contratista = ingresados.contratista
left outer join
(select led_docs.contratista, count(*) as total_rechazados
from led_docs inner join led_cliente_contratista on
(led_docs.tipo_doc = led_cliente_contratista.tipo_doc
and led_cliente_contratista.cliente = @p_cliente
and led_cliente_contratista.tipo_contratista = @tipo
and led_cliente_contratista.ci_killer in (1,0)
and led_cliente_contratista.requiere_upload in (1,0)
and led_cliente_contratista.activo = 1)
where led_docs.contratista = @p_contratista
and led_docs.led_seccion = @p_led_seccion
and led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.estado_doc = 'R'
group by led_docs.contratista) rechazados on led_contratistas.contratista = rechazados.contratista
left outer join
(select led_docs.contratista, count(*) as total_verificados
from led_docs inner join led_cliente_contratista on
(led_docs.tipo_doc = led_cliente_contratista.tipo_doc
and led_cliente_contratista.cliente = @p_cliente
and led_cliente_contratista.tipo_contratista = @tipo
and led_cliente_contratista.ci_killer in (1,0)
and led_cliente_contratista.requiere_upload in (1,0)
and led_cliente_contratista.activo = 1)
where led_docs.contratista = @p_contratista
and led_docs.led_seccion = @p_led_seccion
and led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.estado_doc = 'V'
group by led_docs.contratista) verificados on led_contratistas.contratista = verificados.contratista
where led_contratistas.contratista = @p_contratista
and led_contratista_locaciones.locacion = @p_locacion
and led_contratista_locaciones.activo = 1
and led_contratistas.estado_contratista = 'A'
and led_contratista_periodo.periodo = dbo.PeriodoAdelantado()
and ISNULL(empleados.total_empleados, 0) = 0
else
-- Subcontratista (no tiene que tener empleados activos en el periodo)
select led_contratistas.contratista, padrones.identificador, padrones.identificacion, padrones.numero, identificadores.abreviatura,
identificadores.country_code, padrones.nombre_persona, led_tipos_contratista.nombre_tipo_contratista, padrones.id_padron, led_contratistas.contratista_1,
padrones_1.nombre_persona as nombre_contratista_1, identificadores_1.abreviatura as abreviatura_1, padrones_1.identificacion as identificacion_1,
padrones.nombre_persona as nombre_contratista, identificadores.abreviatura as abreviatura_0, padrones.identificacion as identificacion_0,
ISNULL(docs.total_docs,0) as total_docs, ISNULL(pendientes.total_pendientes,0) as total_pendientes, ISNULL(ingresados.total_ingresados,0) as total_ingresados,
ISNULL(rechazados.total_rechazados,0) as total_rechazados, ISNULL(verificados.total_verificados,0) as total_verificados,
iif(ISNULL(docs.total_docs,0) > 0,
iif(ISNULL(pendientes.total_pendientes,0) = 0 and ISNULL(ingresados.total_ingresados,0) = 0 and ISNULL(rechazados.total_rechazados,0) = 0 and ISNULL(verificados.total_verificados,0) > 0, 1, 0)
, 0) AS acceso
from led_contratistas
inner join led_contratista_locaciones on led_contratistas.contratista_1 = led_contratista_locaciones.contratista
inner join led_tipos_contratista on led_contratistas.tipo_contratista = led_tipos_contratista.tipo_contratista
inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join identificadores on padrones.identificador = identificadores.identificador
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
inner join identificadores identificadores_1 on padrones_1.identificador = identificadores_1.identificador
inner join led_subcontratista_periodo on led_contratistas.contratista = led_subcontratista_periodo.subcontratista
left outer join
(select led_empleados.contratista, count(*) as total_empleados
from led_empleados inner join led_empleados_periodo on led_empleados.empleado = led_empleados_periodo.empleado
where led_empleados.contratista = @p_contratista
and led_empleados_periodo.periodo = dbo.PeriodoAdelantado()
and led_empleados.estado_empleado = 'A'
group by led_empleados.contratista) empleados on led_contratistas.contratista = empleados.contratista
left outer join
(select led_docs.contratista, count(*) as total_docs
from led_docs inner join led_cliente_contratista on
(led_docs.tipo_doc = led_cliente_contratista.tipo_doc
and led_cliente_contratista.cliente = @p_cliente
and led_cliente_contratista.tipo_contratista = @tipo
and led_cliente_contratista.ci_killer in (1,0)
and led_cliente_contratista.requiere_upload in (1,0)
and led_cliente_contratista.activo = 1)
where led_docs.contratista = @p_contratista
and led_docs.led_seccion = @p_led_seccion
and led_docs.periodo = dbo.PeriodoAdelantado()
group by led_docs.contratista) docs on led_contratistas.contratista = docs.contratista
left outer join
(select led_docs.contratista, count(*) as total_pendientes
from led_docs inner join led_cliente_contratista on
(led_docs.tipo_doc = led_cliente_contratista.tipo_doc
and led_cliente_contratista.cliente = @p_cliente
and led_cliente_contratista.tipo_contratista = @tipo
and led_cliente_contratista.ci_killer in (1,0)
and led_cliente_contratista.requiere_upload in (1,0)
and led_cliente_contratista.activo = 1)
where led_docs.contratista = @p_contratista
and led_docs.led_seccion = @p_led_seccion
and led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.estado_doc = 'N'
group by led_docs.contratista) pendientes on led_contratistas.contratista = pendientes.contratista
left outer join
(select led_docs.contratista, count(*) as total_ingresados
from led_docs inner join led_cliente_contratista on
(led_docs.tipo_doc = led_cliente_contratista.tipo_doc
and led_cliente_contratista.cliente = @p_cliente
and led_cliente_contratista.tipo_contratista = @tipo
and led_cliente_contratista.ci_killer in (1,0)
and led_cliente_contratista.requiere_upload in (1,0)
and led_cliente_contratista.activo = 1)
where led_docs.contratista = @p_contratista
and led_docs.led_seccion = @p_led_seccion
and led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.estado_doc = 'I'
group by led_docs.contratista) ingresados on led_contratistas.contratista = ingresados.contratista
left outer join
(select led_docs.contratista, count(*) as total_rechazados
from led_docs inner join led_cliente_contratista on
(led_docs.tipo_doc = led_cliente_contratista.tipo_doc
and led_cliente_contratista.cliente = @p_cliente
and led_cliente_contratista.tipo_contratista = @tipo
and led_cliente_contratista.ci_killer in (1,0)
and led_cliente_contratista.requiere_upload in (1,0)
and led_cliente_contratista.activo = 1)
where led_docs.contratista = @p_contratista
and led_docs.led_seccion = @p_led_seccion
and led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.estado_doc = 'R'
group by led_docs.contratista) rechazados on led_contratistas.contratista = rechazados.contratista
left outer join
(select led_docs.contratista, count(*) as total_verificados
from led_docs inner join led_cliente_contratista on
(led_docs.tipo_doc = led_cliente_contratista.tipo_doc
and led_cliente_contratista.cliente = @p_cliente
and led_cliente_contratista.tipo_contratista = @tipo
and led_cliente_contratista.ci_killer in (1,0)
and led_cliente_contratista.requiere_upload in (1,0)
and led_cliente_contratista.activo = 1)
where led_docs.contratista = @p_contratista
and led_docs.led_seccion = @p_led_seccion
and led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.estado_doc = 'V'
group by led_docs.contratista) verificados on led_contratistas.contratista = verificados.contratista
where led_contratistas.contratista = @p_contratista
and led_contratista_locaciones.locacion = @p_locacion
and led_contratista_locaciones.activo = 1
and led_contratistas.estado_contratista = 'A'
and contratistas_1.estado_contratista = 'A'
and led_subcontratista_periodo.periodo = dbo.PeriodoAdelantado()
and ISNULL(empleados.total_empleados, 0) = 0
end
end else begin
--- Contratistas y subcontratistas del cliente afectados a acceso
select led_contratistas.contratista, padrones.identificador, padrones.identificacion, padrones.numero, identificadores.abreviatura,
identificadores.country_code, padrones.nombre_persona, led_tipos_contratista.nombre_tipo_contratista, padrones.id_padron, led_contratistas.contratista_1,
padrones.nombre_persona as nombre_contratista_1, identificadores.abreviatura as abreviatura_1, padrones.identificacion as identificacion_1,
padrones.nombre_persona as nombre_contratista, identificadores.abreviatura as abreviatura_0, padrones.identificacion as identificacion_0,
ISNULL(docs.total_docs,0) as total_docs, ISNULL(pendientes.total_pendientes,0) as total_pendientes, ISNULL(ingresados.total_ingresados,0) as total_ingresados,
ISNULL(rechazados.total_rechazados,0) as total_rechazados, ISNULL(verificados.total_verificados,0) as total_verificados,
iif(ISNULL(docs.total_docs,0) > 0,
iif(ISNULL(pendientes.total_pendientes,0) = 0 and ISNULL(ingresados.total_ingresados,0) = 0 and ISNULL(rechazados.total_rechazados,0) = 0 and ISNULL(verificados.total_verificados,0) > 0, 1, 0)
, 0) AS acceso
from led_contratistas
inner join led_contratista_locaciones on led_contratistas.contratista_1 = led_contratista_locaciones.contratista
inner join led_tipos_contratista on led_contratistas.tipo_contratista = led_tipos_contratista.tipo_contratista
inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join identificadores on padrones.identificador = identificadores.identificador
inner join led_contratista_periodo on led_contratistas.contratista = led_contratista_periodo.contratista
left outer join
(select led_empleados.contratista, count(*) as total_empleados
from led_empleados inner join led_empleados_periodo on led_empleados.empleado = led_empleados_periodo.empleado
where led_empleados.cliente = @p_cliente
and led_empleados_periodo.periodo = dbo.PeriodoAdelantado()
and led_empleados.estado_empleado = 'A'
group by led_empleados.contratista) empleados on led_contratistas.contratista = empleados.contratista
left outer join
(select led_docs.contratista, count(*) as total_docs
from led_docs inner join led_contratistas on led_docs.contratista = led_contratistas.contratista
inner join led_cliente_contratista on
(led_docs.tipo_doc = led_cliente_contratista.tipo_doc
and led_cliente_contratista.tipo_contratista = led_contratistas.tipo_contratista
and led_cliente_contratista.cliente = @p_cliente
and led_cliente_contratista.ci_killer in (1,0)
and led_cliente_contratista.requiere_upload = 1
and led_cliente_contratista.activo = 1)
where led_docs.led_seccion = @p_led_seccion
and led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.cliente = @p_cliente
group by led_docs.contratista) docs on led_contratistas.contratista = docs.contratista
left outer join
(select led_docs.contratista, count(*) as total_pendientes
from led_docs inner join led_contratistas on led_docs.contratista = led_contratistas.contratista
inner join led_cliente_contratista on
(led_docs.tipo_doc = led_cliente_contratista.tipo_doc
and led_cliente_contratista.tipo_contratista = led_contratistas.tipo_contratista
and led_cliente_contratista.cliente = @p_cliente
and led_cliente_contratista.ci_killer in (1,0)
and led_cliente_contratista.requiere_upload = 1
and led_cliente_contratista.activo = 1)
where led_docs.led_seccion = @p_led_seccion
and led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.cliente = @p_cliente
and led_docs.estado_doc = 'N'
group by led_docs.contratista) pendientes on led_contratistas.contratista = pendientes.contratista
left outer join
(select led_docs.contratista, count(*) as total_ingresados
from led_docs inner join led_contratistas on led_docs.contratista = led_contratistas.contratista
inner join led_cliente_contratista on
(led_docs.tipo_doc = led_cliente_contratista.tipo_doc
and led_cliente_contratista.tipo_contratista = led_contratistas.tipo_contratista
and led_cliente_contratista.cliente = @p_cliente
and led_cliente_contratista.ci_killer in (1,0)
and led_cliente_contratista.requiere_upload = 1
and led_cliente_contratista.activo = 1)
where led_docs.led_seccion = @p_led_seccion
and led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.cliente = @p_cliente
and led_docs.estado_doc = 'I'
group by led_docs.contratista) ingresados on led_contratistas.contratista = ingresados.contratista
left outer join
(select led_docs.contratista, count(*) as total_rechazados
from led_docs inner join led_contratistas on led_docs.contratista = led_contratistas.contratista
inner join led_cliente_contratista on
(led_docs.tipo_doc = led_cliente_contratista.tipo_doc
and led_cliente_contratista.tipo_contratista = led_contratistas.tipo_contratista
and led_cliente_contratista.cliente = @p_cliente
and led_cliente_contratista.ci_killer in (1,0)
and led_cliente_contratista.requiere_upload = 1
and led_cliente_contratista.activo = 1)
where led_docs.led_seccion = @p_led_seccion
and led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.cliente = @p_cliente
and led_docs.estado_doc = 'R'
group by led_docs.contratista) rechazados on led_contratistas.contratista = rechazados.contratista
left outer join
(select led_docs.contratista, count(*) as total_verificados
from led_docs inner join led_contratistas on led_docs.contratista = led_contratistas.contratista
inner join led_cliente_contratista on
(led_docs.tipo_doc = led_cliente_contratista.tipo_doc
and led_cliente_contratista.tipo_contratista = led_contratistas.tipo_contratista
and led_cliente_contratista.cliente = @p_cliente
and led_cliente_contratista.ci_killer in (1,0)
and led_cliente_contratista.requiere_upload = 1
and led_cliente_contratista.activo = 1)
where led_docs.led_seccion = @p_led_seccion
and led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.cliente = @p_cliente
and led_docs.estado_doc = 'V'
group by led_docs.contratista) verificados on led_contratistas.contratista = verificados.contratista
where led_contratistas.cliente = @p_cliente
and led_contratista_locaciones.locacion = @p_locacion
and led_contratista_locaciones.activo = 1
and led_contratistas.estado_contratista = 'A'
and led_contratista_periodo.periodo = dbo.PeriodoAdelantado()
and ISNULL(empleados.total_empleados, 0) = 0
UNION
select led_contratistas.contratista, padrones.identificador, padrones.identificacion, padrones.numero, identificadores.abreviatura,
identificadores.country_code, padrones.nombre_persona, led_tipos_contratista.nombre_tipo_contratista, padrones.id_padron, led_contratistas.contratista_1,
padrones_1.nombre_persona as nombre_contratista_1, identificadores_1.abreviatura as abreviatura_1, padrones_1.identificacion as identificacion_1,
padrones.nombre_persona as nombre_contratista, identificadores.abreviatura as abreviatura_0, padrones.identificacion as identificacion_0,
ISNULL(docs.total_docs,0) as total_docs, ISNULL(pendientes.total_pendientes,0) as total_pendientes, ISNULL(ingresados.total_ingresados,0) as total_ingresados,
ISNULL(rechazados.total_rechazados,0) as total_rechazados, ISNULL(verificados.total_verificados,0) as total_verificados,
iif(ISNULL(docs.total_docs,0) > 0,
iif(ISNULL(pendientes.total_pendientes,0) = 0 and ISNULL(ingresados.total_ingresados,0) = 0 and ISNULL(rechazados.total_rechazados,0) = 0 and ISNULL(verificados.total_verificados,0) > 0, 1, 0)
, 0) AS acceso
from led_contratistas
inner join led_contratista_locaciones on led_contratistas.contratista_1 = led_contratista_locaciones.contratista
inner join led_tipos_contratista on led_contratistas.tipo_contratista = led_tipos_contratista.tipo_contratista
inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join identificadores on padrones.identificador = identificadores.identificador
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
inner join identificadores identificadores_1 on padrones_1.identificador = identificadores_1.identificador
inner join led_subcontratista_periodo on led_contratistas.contratista = led_subcontratista_periodo.subcontratista
left outer join
(select led_empleados.contratista, count(*) as total_empleados
from led_empleados inner join led_empleados_periodo on led_empleados.empleado = led_empleados_periodo.empleado
where led_empleados.cliente = @p_cliente
and led_empleados_periodo.periodo = dbo.PeriodoAdelantado()
and led_empleados.estado_empleado = 'A'
group by led_empleados.contratista) empleados on led_contratistas.contratista = empleados.contratista
left outer join
(select led_docs.contratista, count(*) as total_docs
from led_docs inner join led_contratistas on led_docs.contratista = led_contratistas.contratista
inner join led_cliente_contratista on
(led_docs.tipo_doc = led_cliente_contratista.tipo_doc
and led_cliente_contratista.tipo_contratista = led_contratistas.tipo_contratista
and led_cliente_contratista.cliente = @p_cliente
and led_cliente_contratista.ci_killer in (1,0)
and led_cliente_contratista.requiere_upload = 1
and led_cliente_contratista.activo = 1)
where led_docs.led_seccion = @p_led_seccion
and led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.cliente = @p_cliente
group by led_docs.contratista) docs on led_contratistas.contratista = docs.contratista
left outer join
(select led_docs.contratista, count(*) as total_pendientes
from led_docs inner join led_contratistas on led_docs.contratista = led_contratistas.contratista
inner join led_cliente_contratista on
(led_docs.tipo_doc = led_cliente_contratista.tipo_doc
and led_cliente_contratista.tipo_contratista = led_contratistas.tipo_contratista
and led_cliente_contratista.cliente = @p_cliente
and led_cliente_contratista.ci_killer in (1,0)
and led_cliente_contratista.requiere_upload = 1
and led_cliente_contratista.activo = 1)
where led_docs.led_seccion = @p_led_seccion
and led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.cliente = @p_cliente
and led_docs.estado_doc = 'N'
group by led_docs.contratista) pendientes on led_contratistas.contratista = pendientes.contratista
left outer join
(select led_docs.contratista, count(*) as total_ingresados
from led_docs inner join led_contratistas on led_docs.contratista = led_contratistas.contratista
inner join led_cliente_contratista on
(led_docs.tipo_doc = led_cliente_contratista.tipo_doc
and led_cliente_contratista.tipo_contratista = led_contratistas.tipo_contratista
and led_cliente_contratista.cliente = @p_cliente
and led_cliente_contratista.ci_killer in (1,0)
and led_cliente_contratista.requiere_upload = 1
and led_cliente_contratista.activo = 1)
where led_docs.led_seccion = @p_led_seccion
and led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.cliente = @p_cliente
and led_docs.estado_doc = 'I'
group by led_docs.contratista) ingresados on led_contratistas.contratista = ingresados.contratista
left outer join
(select led_docs.contratista, count(*) as total_rechazados
from led_docs inner join led_contratistas on led_docs.contratista = led_contratistas.contratista
inner join led_cliente_contratista on
(led_docs.tipo_doc = led_cliente_contratista.tipo_doc
and led_cliente_contratista.tipo_contratista = led_contratistas.tipo_contratista
and led_cliente_contratista.cliente = @p_cliente
and led_cliente_contratista.ci_killer in (1,0)
and led_cliente_contratista.requiere_upload = 1
and led_cliente_contratista.activo = 1)
where led_docs.led_seccion = @p_led_seccion
and led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.cliente = @p_cliente
and led_docs.estado_doc = 'R'
group by led_docs.contratista) rechazados on led_contratistas.contratista = rechazados.contratista
left outer join
(select led_docs.contratista, count(*) as total_verificados
from led_docs inner join led_contratistas on led_docs.contratista = led_contratistas.contratista
inner join led_cliente_contratista on
(led_docs.tipo_doc = led_cliente_contratista.tipo_doc
and led_cliente_contratista.tipo_contratista = led_contratistas.tipo_contratista
and led_cliente_contratista.cliente = @p_cliente
and led_cliente_contratista.ci_killer in (1,0)
and led_cliente_contratista.requiere_upload = 1
and led_cliente_contratista.activo = 1)
where led_docs.led_seccion = @p_led_seccion
and led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.cliente = @p_cliente
and led_docs.estado_doc = 'V'
group by led_docs.contratista) verificados on led_contratistas.contratista = verificados.contratista
where led_contratistas.cliente = @p_cliente
and led_contratista_locaciones.locacion = @p_locacion
and led_contratista_locaciones.activo = 1
and led_contratistas.estado_contratista = 'A'
and contratistas_1.estado_contratista = 'A'
and led_subcontratista_periodo.periodo = dbo.PeriodoAdelantado()
and ISNULL(empleados.total_empleados, 0) = 0
and ISNULL(docs.total_docs, 0) > 0
order by nombre_persona
end
end else
if (@p_led_seccion = 'E') begin
if (@p_empleado > 0)
select led_empleados.empleado, padrones.identificador, padrones.identificacion, padrones.numero, identificadores.abreviatura, identificadores.country_code,
padrones.nombre_persona, led_tipos_empleado.nombre_tipo_empleado, padrones.id_padron, led_empleados.contratista, led_empleados.contratista_1,
padrones_1.nombre_persona as nombre_contratista_1, identificadores_1.abreviatura as abreviatura_1, padrones_1.identificacion as identificacion_1,
padrones_0.nombre_persona as nombre_contratista, identificadores_0.abreviatura as abreviatura_0, padrones_0.identificacion as identificacion_0,
ISNULL(docs.total_docs,0) as total_docs, ISNULL(pendientes.total_pendientes,0) as total_pendientes, ISNULL(ingresados.total_ingresados,0) as total_ingresados,
ISNULL(rechazados.total_rechazados,0) as total_rechazados, ISNULL(verificados.total_verificados,0) as total_verificados,
iif(ISNULL(docs.total_docs,0) > 0,
iif(((ISNULL(pendientes.total_pendientes,0) = 0 and ISNULL(ingresados.total_ingresados,0) = 0 and ISNULL(rechazados.total_rechazados,0) = 0 and ISNULL(verificados.total_verificados,0) > 0) or isnull(excepciones.estado_autorizacion,'N')='A') , 1, 0)
, 0) AS acceso
,excepciones.estado_autorizacion
from led_empleados
inner join led_tipos_empleado on led_empleados.tipo_empleado = led_tipos_empleado.tipo_empleado
inner join led_empleados_periodo on led_empleados.empleado = led_empleados_periodo.empleado
inner join padrones on led_empleados.id_padron = padrones.id_padron
inner join identificadores on padrones.identificador = identificadores.identificador
inner join led_contratistas on led_empleados.contratista = led_contratistas.contratista
inner join padrones padrones_0 on led_contratistas.id_padron = padrones_0.id_padron
inner join identificadores identificadores_0 on padrones_0.identificador = identificadores_0.identificador
inner join led_contratistas contratistas_1 on led_empleados.contratista_1 = contratistas_1.contratista
inner join padrones padrones_1 on contratistas_1.id_padron = padrones_1.id_padron
inner join identificadores identificadores_1 on padrones_1.identificador = identificadores_1.identificador
inner join led_empleado_locaciones on led_empleados.empleado = led_empleado_locaciones.empleado
inner join led_contratista_locaciones on led_empleados.contratista_1 = led_contratista_locaciones.contratista
left join (select TOP 1 led_control_ingreso.estado_autorizacion,led_control_ingreso.empleado
from led_control_ingreso inner join led_cliente_personal
on led_control_ingreso.autorizante = led_cliente_personal.persona
where led_control_ingreso.excepcion > 0
and led_control_ingreso.estado_autorizacion = 'A'
and led_control_ingreso.vigencia_excepcion >= GETDATE()
/*and led_control_ingreso.locacion = 1024*/
order by led_control_ingreso.autoriza_rechaza DESC) excepciones on led_empleados.empleado = excepciones.empleado
left outer join
(select led_docs.empleado, COUNT(*) AS total_docs
from led_docs
inner join led_empleados on led_docs.empleado = led_empleados.empleado
inner join led_cliente_empleado on
(led_docs.tipo_doc = led_cliente_empleado.tipo_doc
and led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
and led_cliente_empleado.cliente = @p_cliente
and led_cliente_empleado.ci_killer in (1,0)
and led_cliente_empleado.activo = 1)
where led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.empleado = @p_empleado
and led_docs.led_seccion = @p_led_seccion
group by led_docs.empleado) docs on led_empleados.empleado = docs.empleado
left outer join
(select led_docs.empleado, COUNT(*) AS total_pendientes
from led_docs
inner join led_empleados on led_docs.empleado = led_empleados.empleado
inner join led_cliente_empleado on
(led_docs.tipo_doc = led_cliente_empleado.tipo_doc
and led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
and led_cliente_empleado.cliente = @p_cliente
and led_cliente_empleado.ci_killer in (1,0)
and led_cliente_empleado.activo = 1)
where led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.empleado = @p_empleado
and led_docs.led_seccion = @p_led_seccion
and led_docs.estado_doc = 'N'
group by led_docs.empleado) pendientes on led_empleados.empleado = pendientes.empleado
left outer join
(select led_docs.empleado, COUNT(*) AS total_ingresados
from led_docs
inner join led_empleados on led_docs.empleado = led_empleados.empleado
inner join led_cliente_empleado on
(led_docs.tipo_doc = led_cliente_empleado.tipo_doc
and led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
and led_cliente_empleado.cliente = @p_cliente
and led_cliente_empleado.ci_killer in (1,0)
and led_cliente_empleado.activo = 1)
where led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.empleado = @p_empleado
and led_docs.led_seccion = @p_led_seccion
and led_docs.estado_doc = 'I'
group by led_docs.empleado) ingresados on led_empleados.empleado = ingresados.empleado
left outer join
(select led_docs.empleado, COUNT(*) AS total_rechazados
from led_docs
inner join led_empleados on led_docs.empleado = led_empleados.empleado
inner join led_cliente_empleado on
(led_docs.tipo_doc = led_cliente_empleado.tipo_doc
and led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
and led_cliente_empleado.cliente = @p_cliente
and led_cliente_empleado.ci_killer in (1,0)
and led_cliente_empleado.activo = 1)
where led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.empleado = @p_empleado
and led_docs.led_seccion = @p_led_seccion
and led_docs.estado_doc = 'R'
group by led_docs.empleado) rechazados on led_empleados.empleado = rechazados.empleado
left outer join
(select led_docs.empleado, COUNT(*) AS total_verificados
from led_docs
inner join led_empleados on led_docs.empleado = led_empleados.empleado
inner join led_cliente_empleado on
(led_docs.tipo_doc = led_cliente_empleado.tipo_doc
and led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
and led_cliente_empleado.cliente = @p_cliente
and led_cliente_empleado.ci_killer in (1,0)
and led_cliente_empleado.activo = 1)
where led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.empleado = @p_empleado
and led_docs.led_seccion = @p_led_seccion
and led_docs.estado_doc = 'V'
group by led_docs.empleado) verificados on led_empleados.empleado = verificados.empleado
where led_empleados.estado_empleado = 'A'
and led_contratistas.estado_contratista = 'A'
and contratistas_1.estado_contratista = 'A'
and led_empleados_periodo.periodo = dbo.PeriodoAdelantado()
and led_empleados.empleado = @p_empleado
and led_empleado_locaciones.locacion = @p_locacion
and led_contratista_locaciones.locacion = @p_locacion
and led_empleado_locaciones.activo = 1
and led_contratista_locaciones.activo = 1
else
-- Todos los empleados con acceso del cliente
select '675' as JJ, led_empleados.empleado, padrones.identificador, padrones.identificacion, padrones.numero, identificadores.abreviatura, identificadores.country_code,
padrones.nombre_persona, led_tipos_empleado.nombre_tipo_empleado, padrones.id_padron, led_empleados.contratista, led_empleados.contratista_1,
padrones_1.nombre_persona as nombre_contratista_1, identificadores_1.abreviatura as abreviatura_1, padrones_1.identificacion as identificacion_1,
padrones_0.nombre_persona as nombre_contratista, identificadores_0.abreviatura as abreviatura_0, padrones_0.identificacion as identificacion_0,
ISNULL(docs.total_docs,0) as total_docs, ISNULL(pendientes.total_pendientes,0) as total_pendientes, ISNULL(ingresados.total_ingresados,0) as total_ingresados,
ISNULL(rechazados.total_rechazados,0) as total_rechazados, ISNULL(verificados.total_verificados,0) as total_verificados,
iif(ISNULL(docs.total_docs,0) > 0,
iif((ISNULL(pendientes.total_pendientes,0) = 0 and ISNULL(ingresados.total_ingresados,0) = 0 and ISNULL(rechazados.total_rechazados,0) = 0 and ISNULL(verificados.total_verificados,0) > 0) or isnull(excepciones.estado_autorizacion,'N')='A', 1, 0)
, 0) AS acceso
,excepciones.estado_autorizacion
from led_empleados
inner join led_tipos_empleado on led_empleados.tipo_empleado = led_tipos_empleado.tipo_empleado
inner join led_empleados_periodo on led_empleados.empleado = led_empleados_periodo.empleado
inner join padrones on led_empleados.id_padron = padrones.id_padron
inner join identificadores on padrones.identificador = identificadores.identificador
inner join led_contratistas on led_empleados.contratista = led_contratistas.contratista
inner join padrones padrones_0 on led_contratistas.id_padron = padrones_0.id_padron
inner join identificadores identificadores_0 on padrones_0.identificador = identificadores_0.identificador
inner join led_contratistas contratistas_1 on led_empleados.contratista_1 = contratistas_1.contratista
inner join padrones padrones_1 on contratistas_1.id_padron = padrones_1.id_padron
inner join identificadores identificadores_1 on padrones_1.identificador = identificadores_1.identificador
inner join led_empleado_locaciones on led_empleados.empleado = led_empleado_locaciones.empleado
inner join led_contratista_locaciones on led_empleados.contratista_1 = led_contratista_locaciones.contratista
left join (select TOP 1 led_control_ingreso.estado_autorizacion,led_control_ingreso.empleado
from led_control_ingreso inner join led_cliente_personal
on led_control_ingreso.autorizante = led_cliente_personal.persona
where led_control_ingreso.excepcion > 0
and led_control_ingreso.estado_autorizacion = 'A'
and led_control_ingreso.vigencia_excepcion >= GETDATE()
/*and led_control_ingreso.locacion = 1024*/
order by led_control_ingreso.autoriza_rechaza DESC) excepciones on led_empleados.empleado = excepciones.empleado
left outer join
(select led_docs.empleado, COUNT(*) AS total_docs
from led_docs
inner join led_empleados on led_docs.empleado = led_empleados.empleado
inner join led_cliente_empleado on
(led_docs.tipo_doc = led_cliente_empleado.tipo_doc
and led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
and led_cliente_empleado.cliente = @p_cliente
and led_cliente_empleado.ci_killer in (1,0)
and led_cliente_empleado.activo = 1)
where led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.cliente = @p_cliente
and led_docs.led_seccion = @p_led_seccion
group by led_docs.empleado) docs on led_empleados.empleado = docs.empleado
left outer join
(select led_docs.empleado, COUNT(*) AS total_pendientes
from led_docs
inner join led_empleados on led_docs.empleado = led_empleados.empleado
inner join led_cliente_empleado on
(led_docs.tipo_doc = led_cliente_empleado.tipo_doc
and led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
and led_cliente_empleado.cliente = @p_cliente
and led_cliente_empleado.ci_killer in (1,0)
and led_cliente_empleado.activo = 1)
where led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.cliente = @p_cliente
and led_docs.led_seccion = @p_led_seccion
and led_docs.estado_doc = 'N'
group by led_docs.empleado) pendientes on led_empleados.empleado = pendientes.empleado
left outer join
(select led_docs.empleado, COUNT(*) AS total_ingresados
from led_docs
inner join led_empleados on led_docs.empleado = led_empleados.empleado
inner join led_cliente_empleado on
(led_docs.tipo_doc = led_cliente_empleado.tipo_doc
and led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
and led_cliente_empleado.cliente = @p_cliente
and led_cliente_empleado.ci_killer in (1,0)
and led_cliente_empleado.activo = 1)
where led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.cliente = @p_cliente
and led_docs.led_seccion = @p_led_seccion
and led_docs.estado_doc = 'I'
group by led_docs.empleado) ingresados on led_empleados.empleado = ingresados.empleado
left outer join
(select led_docs.empleado, COUNT(*) AS total_rechazados
from led_docs
inner join led_empleados on led_docs.empleado = led_empleados.empleado
inner join led_cliente_empleado on
(led_docs.tipo_doc = led_cliente_empleado.tipo_doc
and led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
and led_cliente_empleado.cliente = @p_cliente
and led_cliente_empleado.ci_killer in (1,0)
and led_cliente_empleado.activo = 1)
where led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.cliente = @p_cliente
and led_docs.led_seccion = @p_led_seccion
and led_docs.estado_doc = 'R'
group by led_docs.empleado) rechazados on led_empleados.empleado = rechazados.empleado
left outer join
(select led_docs.empleado, COUNT(*) AS total_verificados
from led_docs
inner join led_empleados on led_docs.empleado = led_empleados.empleado
inner join led_cliente_empleado on
(led_docs.tipo_doc = led_cliente_empleado.tipo_doc
and led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
and led_cliente_empleado.cliente = @p_cliente
and led_cliente_empleado.ci_killer in (1,0)
and led_cliente_empleado.activo = 1)
where led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.cliente = @p_cliente
and led_docs.led_seccion = @p_led_seccion
and led_docs.estado_doc = 'V'
group by led_docs.empleado) verificados on led_empleados.empleado = verificados.empleado
where led_empleados.estado_empleado = 'A'
and led_contratistas.estado_contratista = 'A'
and contratistas_1.estado_contratista = 'A'
and led_empleados_periodo.periodo = dbo.PeriodoAdelantado()
and led_empleados.cliente = @p_cliente
and led_empleado_locaciones.locacion = @p_locacion
and led_contratista_locaciones.locacion = @p_locacion
and led_empleado_locaciones.activo = 1
and led_contratista_locaciones.activo = 1
and ISNULL(docs.total_docs, 0) > 0
order by padrones.nombre_persona, padrones_0.nombre_persona
end else
begin
if (@p_vehiculo > 0)
select led_vehiculos.vehiculo, led_vehiculos.country_code, led_vehiculos.dominio, led_vehiculos.nombre_vehiculo, led_tipos_vehiculo.nombre_tipo_vehiculo,
led_vehiculos.contratista, led_vehiculos.contratista_1, padrones_1.nombre_persona as nombre_contratista_1,
identificadores_1.abreviatura as abreviatura_1, padrones_1.identificacion as identificacion_1,
padrones_0.nombre_persona as nombre_contratista, identificadores_0.abreviatura as abreviatura_0, padrones_0.identificacion as identificacion_0,
ISNULL(docs.total_docs,0) as total_docs, ISNULL(pendientes.total_pendientes,0) as total_pendientes, ISNULL(ingresados.total_ingresados,0) as total_ingresados,
ISNULL(rechazados.total_rechazados,0) as total_rechazados, ISNULL(verificados.total_verificados,0) as total_verificados,
iif(ISNULL(docs.total_docs,0) > 0,
iif(ISNULL(pendientes.total_pendientes,0) = 0 and ISNULL(ingresados.total_ingresados,0) = 0 and ISNULL(rechazados.total_rechazados,0) = 0 and ISNULL(verificados.total_verificados,0) > 0, 1, 0)
, 0) AS acceso
from led_vehiculos
inner join led_tipos_vehiculo on led_vehiculos.tipo_vehiculo = led_tipos_vehiculo.tipo_vehiculo
inner join led_vehiculos_periodo on led_vehiculos.vehiculo = led_vehiculos_periodo.vehiculo
inner join led_contratistas on led_vehiculos.contratista = led_contratistas.contratista
inner join padrones padrones_0 on led_contratistas.id_padron = padrones_0.id_padron
inner join identificadores identificadores_0 on padrones_0.identificador = identificadores_0.identificador
inner join led_contratistas contratistas_1 on led_vehiculos.contratista_1 = contratistas_1.contratista
inner join padrones padrones_1 on contratistas_1.id_padron = padrones_1.id_padron
inner join identificadores identificadores_1 on padrones_1.identificador = identificadores_1.identificador
inner join led_vehiculo_locaciones on led_vehiculos.vehiculo = led_vehiculo_locaciones.vehiculo
inner join led_contratista_locaciones on led_vehiculos.contratista_1 = led_contratista_locaciones.contratista
left outer join
(select led_docs.vehiculo, COUNT(*) AS total_docs
from led_docs
inner join led_vehiculos on led_docs.vehiculo = led_vehiculos.vehiculo
inner join led_cliente_vehiculo on
(led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc
and led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
and led_cliente_vehiculo.cliente = @p_cliente
and led_cliente_vehiculo.ci_killer in (1,0)
and led_cliente_vehiculo.activo = 1)
where led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.vehiculo = @p_vehiculo
and led_docs.led_seccion = @p_led_seccion
group by led_docs.vehiculo) docs on led_vehiculos.vehiculo = docs.vehiculo
left outer join
(select led_docs.vehiculo, COUNT(*) AS total_pendientes
from led_docs
inner join led_vehiculos on led_docs.vehiculo = led_vehiculos.vehiculo
inner join led_cliente_vehiculo on
(led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc
and led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
and led_cliente_vehiculo.cliente = @p_cliente
and led_cliente_vehiculo.ci_killer in (1,0)
and led_cliente_vehiculo.activo = 1)
where led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.vehiculo = @p_vehiculo
and led_docs.led_seccion = @p_led_seccion
and led_docs.estado_doc = 'N'
group by led_docs.vehiculo) pendientes on led_vehiculos.vehiculo = pendientes.vehiculo
left outer join
(select led_docs.vehiculo, COUNT(*) AS total_ingresados
from led_docs
inner join led_vehiculos on led_docs.vehiculo = led_vehiculos.vehiculo
inner join led_cliente_vehiculo on
(led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc
and led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
and led_cliente_vehiculo.cliente = @p_cliente
and led_cliente_vehiculo.ci_killer in (1,0)
and led_cliente_vehiculo.activo = 1)
where led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.vehiculo = @p_vehiculo
and led_docs.led_seccion = @p_led_seccion
and led_docs.estado_doc = 'I'
group by led_docs.vehiculo) ingresados on led_vehiculos.vehiculo = ingresados.vehiculo
left outer join
(select led_docs.vehiculo, COUNT(*) AS total_rechazados
from led_docs
inner join led_vehiculos on led_docs.vehiculo = led_vehiculos.vehiculo
inner join led_cliente_vehiculo on
(led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc
and led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
and led_cliente_vehiculo.cliente = @p_cliente
and led_cliente_vehiculo.ci_killer in (1,0)
and led_cliente_vehiculo.activo = 1)
where led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.vehiculo = @p_vehiculo
and led_docs.led_seccion = @p_led_seccion
and led_docs.estado_doc = 'R'
group by led_docs.vehiculo) rechazados on led_vehiculos.vehiculo = rechazados.vehiculo
left outer join
(select led_docs.vehiculo, COUNT(*) AS total_verificados
from led_docs
inner join led_vehiculos on led_docs.vehiculo = led_vehiculos.vehiculo
inner join led_cliente_vehiculo on
(led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc
and led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
and led_cliente_vehiculo.cliente = @p_cliente
and led_cliente_vehiculo.ci_killer in (1,0)
and led_cliente_vehiculo.activo = 1)
where led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.vehiculo = @p_vehiculo
and led_docs.led_seccion = @p_led_seccion
and led_docs.estado_doc = 'V'
group by led_docs.vehiculo) verificados on led_vehiculos.vehiculo = verificados.vehiculo
where led_vehiculos.estado_vehiculo = 'A'
and led_contratistas.estado_contratista = 'A'
and contratistas_1.estado_contratista = 'A'
and led_vehiculos_periodo.periodo = dbo.PeriodoAdelantado()
and led_vehiculos.vehiculo = @p_vehiculo
and led_vehiculo_locaciones.locacion = @p_locacion
and led_contratista_locaciones.locacion = @p_locacion
and led_vehiculo_locaciones.activo = 1
and led_contratista_locaciones.activo = 1
else
-- Todos los vehÃculos con acceso del cliente
select led_vehiculos.vehiculo, led_vehiculos.country_code, led_vehiculos.dominio, led_vehiculos.nombre_vehiculo, led_tipos_vehiculo.nombre_tipo_vehiculo,
led_vehiculos.contratista, led_vehiculos.contratista_1, padrones_1.nombre_persona as nombre_contratista_1,
identificadores_1.abreviatura as abreviatura_1, padrones_1.identificacion as identificacion_1,
padrones_0.nombre_persona as nombre_contratista, identificadores_0.abreviatura as abreviatura_0, padrones_0.identificacion as identificacion_0,
ISNULL(docs.total_docs,0) as total_docs, ISNULL(pendientes.total_pendientes,0) as total_pendientes, ISNULL(ingresados.total_ingresados,0) as total_ingresados,
ISNULL(rechazados.total_rechazados,0) as total_rechazados, ISNULL(verificados.total_verificados,0) as total_verificados,
iif(ISNULL(docs.total_docs,0) > 0,
iif(ISNULL(pendientes.total_pendientes,0) = 0 and ISNULL(ingresados.total_ingresados,0) = 0 and ISNULL(rechazados.total_rechazados,0) = 0 and ISNULL(verificados.total_verificados,0) > 0, 1, 0)
, 0) AS acceso
from led_vehiculos
inner join led_tipos_vehiculo on led_vehiculos.tipo_vehiculo = led_tipos_vehiculo.tipo_vehiculo
inner join led_vehiculos_periodo on led_vehiculos.vehiculo = led_vehiculos_periodo.vehiculo
inner join led_contratistas on led_vehiculos.contratista = led_contratistas.contratista
inner join padrones padrones_0 on led_contratistas.id_padron = padrones_0.id_padron
inner join identificadores identificadores_0 on padrones_0.identificador = identificadores_0.identificador
inner join led_contratistas contratistas_1 on led_vehiculos.contratista_1 = contratistas_1.contratista
inner join padrones padrones_1 on contratistas_1.id_padron = padrones_1.id_padron
inner join identificadores identificadores_1 on padrones_1.identificador = identificadores_1.identificador
inner join led_vehiculo_locaciones on led_vehiculos.vehiculo = led_vehiculo_locaciones.vehiculo
inner join led_contratista_locaciones on led_vehiculos.contratista_1 = led_contratista_locaciones.contratista
left outer join
(select led_docs.vehiculo, COUNT(*) AS total_docs
from led_docs
inner join led_vehiculos on led_docs.vehiculo = led_vehiculos.vehiculo
inner join led_cliente_vehiculo on
(led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc
and led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
and led_cliente_vehiculo.cliente = @p_cliente
and led_cliente_vehiculo.ci_killer in (1,0)
and led_cliente_vehiculo.activo = 1)
where led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.cliente = @p_cliente
and led_docs.led_seccion = @p_led_seccion
group by led_docs.vehiculo) docs on led_vehiculos.vehiculo = docs.vehiculo
left outer join
(select led_docs.vehiculo, COUNT(*) AS total_pendientes
from led_docs
inner join led_vehiculos on led_docs.vehiculo = led_vehiculos.vehiculo
inner join led_cliente_vehiculo on
(led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc
and led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
and led_cliente_vehiculo.cliente = @p_cliente
and led_cliente_vehiculo.ci_killer in (1,0)
and led_cliente_vehiculo.activo = 1)
where led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.cliente = @p_cliente
and led_docs.led_seccion = @p_led_seccion
and led_docs.estado_doc = 'N'
group by led_docs.vehiculo) pendientes on led_vehiculos.vehiculo = pendientes.vehiculo
left outer join
(select led_docs.vehiculo, COUNT(*) AS total_ingresados
from led_docs
inner join led_vehiculos on led_docs.vehiculo = led_vehiculos.vehiculo
inner join led_cliente_vehiculo on
(led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc
and led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
and led_cliente_vehiculo.cliente = @p_cliente
and led_cliente_vehiculo.ci_killer in (1,0)
and led_cliente_vehiculo.activo = 1)
where led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.cliente = @p_cliente
and led_docs.led_seccion = @p_led_seccion
and led_docs.estado_doc = 'I'
group by led_docs.vehiculo) ingresados on led_vehiculos.vehiculo = ingresados.vehiculo
left outer join
(select led_docs.vehiculo, COUNT(*) AS total_rechazados
from led_docs
inner join led_vehiculos on led_docs.vehiculo = led_vehiculos.vehiculo
inner join led_cliente_vehiculo on
(led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc
and led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
and led_cliente_vehiculo.cliente = @p_cliente
and led_cliente_vehiculo.ci_killer in (1,0)
and led_cliente_vehiculo.activo = 1)
where led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.cliente = @p_cliente
and led_docs.led_seccion = @p_led_seccion
and led_docs.estado_doc = 'R'
group by led_docs.vehiculo) rechazados on led_vehiculos.vehiculo = rechazados.vehiculo
left outer join
(select led_docs.vehiculo, COUNT(*) AS total_verificados
from led_docs
inner join led_vehiculos on led_docs.vehiculo = led_vehiculos.vehiculo
inner join led_cliente_vehiculo on
(led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc
and led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
and led_cliente_vehiculo.cliente = @p_cliente
and led_cliente_vehiculo.ci_killer in (1,0)
and led_cliente_vehiculo.activo = 1)
where led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.cliente = @p_cliente
and led_docs.led_seccion = @p_led_seccion
and led_docs.estado_doc = 'V'
group by led_docs.vehiculo) verificados on led_vehiculos.vehiculo = verificados.vehiculo
where led_vehiculos.estado_vehiculo = 'A'
and led_contratistas.estado_contratista = 'A'
and contratistas_1.estado_contratista = 'A'
and led_vehiculos_periodo.periodo = dbo.PeriodoAdelantado()
and led_vehiculos.cliente = @p_cliente
and led_vehiculo_locaciones.locacion = @p_locacion
and led_contratista_locaciones.locacion = @p_locacion
and led_vehiculo_locaciones.activo = 1
and led_contratista_locaciones.activo = 1
and ISNULL(docs.total_docs, 0) > 0
order by dominio
end
end
END
GO
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
/*
exec Imperium_Control_Acceso 9936068,1013,'E',null,107378,null
exec Imperium_Control_Acceso 9936068,1013,'C'
exec Imperium_Control_Acceso 3920694,1040,'E'
exec Imperium_Control_Acceso 9936068,1013,'C',1487
exec Imperium_Control_Acceso 9936068,1013,'C',1460
exec Imperium_Control_Acceso 9936068,1013,'E',NULL,73030
exec Imperium_Control_Acceso 9936068,1013,'E',NULL,95759
exec Imperium_Control_Acceso 9936068,1013,'V',NULL,NULL,3416
exec Imperium_Control_Acceso 9936068,1013,'V',NULL,NULL,3658
exec Imperium_Control_Acceso 9936068,1013,'V',NULL,NULL,5152
exec Imperium_Control_Acceso 3920694,1040,'E',null,null,null
select * from led_locaciones where cliente = 3920694
select * from led_empleados where empleado in (select empleado from led_empleado_locaciones where locacion = 1040)
select * from padrones where id_padron = 17555170
select * from led_contratista_locaciones where locacion = 1040
*/
-- Description: <Description,,>
-- =============================================
CREATE OR ALTER PROCEDURE dbo.Imperium_Control_Acceso
-- Add the parameters for the stored procedure here
@p_cliente int = NULL,
@p_locacion int = NULL,
@p_led_seccion varchar(1) = NULL,
@p_contratista int = NULL,
@p_empleado int = NULL,
@p_vehiculo int = 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
declare @contratista_1 int, @estado varchar(1), @tipo int
if ( @p_cliente > 0 AND @p_locacion > 0 AND (@p_led_seccion = 'C' OR @p_led_seccion = 'E' OR @p_led_seccion = 'V') ) begin
if (@p_led_seccion = 'C') begin
if (@p_contratista > 0) begin
select @contratista_1 = contratista_1, @estado = estado_contratista, @tipo = tipo_contratista from led_contratistas where contratista = @p_contratista and cliente = @p_cliente
if (@estado = 'A') begin
if (@contratista_1 = @p_contratista)
-- Contratista directo (no tiene que tener empleados activos en el periodo)
select led_contratistas.contratista, padrones.identificador, padrones.identificacion, padrones.numero, identificadores.abreviatura,
identificadores.country_code, padrones.nombre_persona, led_tipos_contratista.nombre_tipo_contratista, padrones.id_padron, led_contratistas.contratista_1,
padrones.nombre_persona as nombre_contratista_1, identificadores.abreviatura as abreviatura_1, padrones.identificacion as identificacion_1,
padrones.nombre_persona as nombre_contratista, identificadores.abreviatura as abreviatura_0, padrones.identificacion as identificacion_0,
ISNULL(docs.total_docs,0) as total_docs, ISNULL(pendientes.total_pendientes,0) as total_pendientes, ISNULL(ingresados.total_ingresados,0) as total_ingresados,
ISNULL(rechazados.total_rechazados,0) as total_rechazados, ISNULL(verificados.total_verificados,0) as total_verificados,
iif(ISNULL(docs.total_docs,0) > 0,
iif(ISNULL(pendientes.total_pendientes,0) = 0 and ISNULL(ingresados.total_ingresados,0) = 0 and ISNULL(rechazados.total_rechazados,0) = 0 and ISNULL(verificados.total_verificados,0) > 0, 1, 0)
, 0) AS acceso
from led_contratistas
inner join led_contratista_locaciones on led_contratistas.contratista_1 = led_contratista_locaciones.contratista
inner join led_tipos_contratista on led_contratistas.tipo_contratista = led_tipos_contratista.tipo_contratista
inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join identificadores on padrones.identificador = identificadores.identificador
inner join led_contratista_periodo on led_contratistas.contratista = led_contratista_periodo.contratista
left outer join
(select led_empleados.contratista, count(*) as total_empleados
from led_empleados inner join led_empleados_periodo on led_empleados.empleado = led_empleados_periodo.empleado
where led_empleados.contratista = @p_contratista
and led_empleados_periodo.periodo = dbo.PeriodoAdelantado()
and led_empleados.estado_empleado = 'A'
group by led_empleados.contratista) empleados on led_contratistas.contratista = empleados.contratista
left outer join
(select led_docs.contratista, count(*) as total_docs
from led_docs inner join led_cliente_contratista on
(led_docs.tipo_doc = led_cliente_contratista.tipo_doc
and led_cliente_contratista.cliente = @p_cliente
and led_cliente_contratista.tipo_contratista = @tipo
and led_cliente_contratista.ci_killer in (1,0)
and led_cliente_contratista.requiere_upload in (1,0)
and led_cliente_contratista.activo = 1)
where led_docs.contratista = @p_contratista
and led_docs.led_seccion = @p_led_seccion
and led_docs.periodo = dbo.PeriodoAdelantado()
group by led_docs.contratista) docs on led_contratistas.contratista = docs.contratista
left outer join
(select led_docs.contratista, count(*) as total_pendientes
from led_docs inner join led_cliente_contratista on
(led_docs.tipo_doc = led_cliente_contratista.tipo_doc
and led_cliente_contratista.cliente = @p_cliente
and led_cliente_contratista.tipo_contratista = @tipo
and led_cliente_contratista.ci_killer in (1,0)
and led_cliente_contratista.requiere_upload in (1,0)
and led_cliente_contratista.activo = 1)
where led_docs.contratista = @p_contratista
and led_docs.led_seccion = @p_led_seccion
and led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.estado_doc = 'N'
group by led_docs.contratista) pendientes on led_contratistas.contratista = pendientes.contratista
left outer join
(select led_docs.contratista, count(*) as total_ingresados
from led_docs inner join led_cliente_contratista on
(led_docs.tipo_doc = led_cliente_contratista.tipo_doc
and led_cliente_contratista.cliente = @p_cliente
and led_cliente_contratista.tipo_contratista = @tipo
and led_cliente_contratista.ci_killer in (1,0)
and led_cliente_contratista.requiere_upload in (1,0)
and led_cliente_contratista.activo = 1)
where led_docs.contratista = @p_contratista
and led_docs.led_seccion = @p_led_seccion
and led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.estado_doc = 'I'
group by led_docs.contratista) ingresados on led_contratistas.contratista = ingresados.contratista
left outer join
(select led_docs.contratista, count(*) as total_rechazados
from led_docs inner join led_cliente_contratista on
(led_docs.tipo_doc = led_cliente_contratista.tipo_doc
and led_cliente_contratista.cliente = @p_cliente
and led_cliente_contratista.tipo_contratista = @tipo
and led_cliente_contratista.ci_killer in (1,0)
and led_cliente_contratista.requiere_upload in (1,0)
and led_cliente_contratista.activo = 1)
where led_docs.contratista = @p_contratista
and led_docs.led_seccion = @p_led_seccion
and led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.estado_doc = 'R'
group by led_docs.contratista) rechazados on led_contratistas.contratista = rechazados.contratista
left outer join
(select led_docs.contratista, count(*) as total_verificados
from led_docs inner join led_cliente_contratista on
(led_docs.tipo_doc = led_cliente_contratista.tipo_doc
and led_cliente_contratista.cliente = @p_cliente
and led_cliente_contratista.tipo_contratista = @tipo
and led_cliente_contratista.ci_killer in (1,0)
and led_cliente_contratista.requiere_upload in (1,0)
and led_cliente_contratista.activo = 1)
where led_docs.contratista = @p_contratista
and led_docs.led_seccion = @p_led_seccion
and led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.estado_doc = 'V'
group by led_docs.contratista) verificados on led_contratistas.contratista = verificados.contratista
where led_contratistas.contratista = @p_contratista
and led_contratista_locaciones.locacion = @p_locacion
and led_contratista_locaciones.activo = 1
and led_contratistas.estado_contratista = 'A'
and led_contratista_periodo.periodo = dbo.PeriodoAdelantado()
and ISNULL(empleados.total_empleados, 0) = 0
else
-- Subcontratista (no tiene que tener empleados activos en el periodo)
select led_contratistas.contratista, padrones.identificador, padrones.identificacion, padrones.numero, identificadores.abreviatura,
identificadores.country_code, padrones.nombre_persona, led_tipos_contratista.nombre_tipo_contratista, padrones.id_padron, led_contratistas.contratista_1,
padrones_1.nombre_persona as nombre_contratista_1, identificadores_1.abreviatura as abreviatura_1, padrones_1.identificacion as identificacion_1,
padrones.nombre_persona as nombre_contratista, identificadores.abreviatura as abreviatura_0, padrones.identificacion as identificacion_0,
ISNULL(docs.total_docs,0) as total_docs, ISNULL(pendientes.total_pendientes,0) as total_pendientes, ISNULL(ingresados.total_ingresados,0) as total_ingresados,
ISNULL(rechazados.total_rechazados,0) as total_rechazados, ISNULL(verificados.total_verificados,0) as total_verificados,
iif(ISNULL(docs.total_docs,0) > 0,
iif(ISNULL(pendientes.total_pendientes,0) = 0 and ISNULL(ingresados.total_ingresados,0) = 0 and ISNULL(rechazados.total_rechazados,0) = 0 and ISNULL(verificados.total_verificados,0) > 0, 1, 0)
, 0) AS acceso
from led_contratistas
inner join led_contratista_locaciones on led_contratistas.contratista_1 = led_contratista_locaciones.contratista
inner join led_tipos_contratista on led_contratistas.tipo_contratista = led_tipos_contratista.tipo_contratista
inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join identificadores on padrones.identificador = identificadores.identificador
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
inner join identificadores identificadores_1 on padrones_1.identificador = identificadores_1.identificador
inner join led_subcontratista_periodo on led_contratistas.contratista = led_subcontratista_periodo.subcontratista
left outer join
(select led_empleados.contratista, count(*) as total_empleados
from led_empleados inner join led_empleados_periodo on led_empleados.empleado = led_empleados_periodo.empleado
where led_empleados.contratista = @p_contratista
and led_empleados_periodo.periodo = dbo.PeriodoAdelantado()
and led_empleados.estado_empleado = 'A'
group by led_empleados.contratista) empleados on led_contratistas.contratista = empleados.contratista
left outer join
(select led_docs.contratista, count(*) as total_docs
from led_docs inner join led_cliente_contratista on
(led_docs.tipo_doc = led_cliente_contratista.tipo_doc
and led_cliente_contratista.cliente = @p_cliente
and led_cliente_contratista.tipo_contratista = @tipo
and led_cliente_contratista.ci_killer in (1,0)
and led_cliente_contratista.requiere_upload in (1,0)
and led_cliente_contratista.activo = 1)
where led_docs.contratista = @p_contratista
and led_docs.led_seccion = @p_led_seccion
and led_docs.periodo = dbo.PeriodoAdelantado()
group by led_docs.contratista) docs on led_contratistas.contratista = docs.contratista
left outer join
(select led_docs.contratista, count(*) as total_pendientes
from led_docs inner join led_cliente_contratista on
(led_docs.tipo_doc = led_cliente_contratista.tipo_doc
and led_cliente_contratista.cliente = @p_cliente
and led_cliente_contratista.tipo_contratista = @tipo
and led_cliente_contratista.ci_killer in (1,0)
and led_cliente_contratista.requiere_upload in (1,0)
and led_cliente_contratista.activo = 1)
where led_docs.contratista = @p_contratista
and led_docs.led_seccion = @p_led_seccion
and led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.estado_doc = 'N'
group by led_docs.contratista) pendientes on led_contratistas.contratista = pendientes.contratista
left outer join
(select led_docs.contratista, count(*) as total_ingresados
from led_docs inner join led_cliente_contratista on
(led_docs.tipo_doc = led_cliente_contratista.tipo_doc
and led_cliente_contratista.cliente = @p_cliente
and led_cliente_contratista.tipo_contratista = @tipo
and led_cliente_contratista.ci_killer in (1,0)
and led_cliente_contratista.requiere_upload in (1,0)
and led_cliente_contratista.activo = 1)
where led_docs.contratista = @p_contratista
and led_docs.led_seccion = @p_led_seccion
and led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.estado_doc = 'I'
group by led_docs.contratista) ingresados on led_contratistas.contratista = ingresados.contratista
left outer join
(select led_docs.contratista, count(*) as total_rechazados
from led_docs inner join led_cliente_contratista on
(led_docs.tipo_doc = led_cliente_contratista.tipo_doc
and led_cliente_contratista.cliente = @p_cliente
and led_cliente_contratista.tipo_contratista = @tipo
and led_cliente_contratista.ci_killer in (1,0)
and led_cliente_contratista.requiere_upload in (1,0)
and led_cliente_contratista.activo = 1)
where led_docs.contratista = @p_contratista
and led_docs.led_seccion = @p_led_seccion
and led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.estado_doc = 'R'
group by led_docs.contratista) rechazados on led_contratistas.contratista = rechazados.contratista
left outer join
(select led_docs.contratista, count(*) as total_verificados
from led_docs inner join led_cliente_contratista on
(led_docs.tipo_doc = led_cliente_contratista.tipo_doc
and led_cliente_contratista.cliente = @p_cliente
and led_cliente_contratista.tipo_contratista = @tipo
and led_cliente_contratista.ci_killer in (1,0)
and led_cliente_contratista.requiere_upload in (1,0)
and led_cliente_contratista.activo = 1)
where led_docs.contratista = @p_contratista
and led_docs.led_seccion = @p_led_seccion
and led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.estado_doc = 'V'
group by led_docs.contratista) verificados on led_contratistas.contratista = verificados.contratista
where led_contratistas.contratista = @p_contratista
and led_contratista_locaciones.locacion = @p_locacion
and led_contratista_locaciones.activo = 1
and led_contratistas.estado_contratista = 'A'
and contratistas_1.estado_contratista = 'A'
and led_subcontratista_periodo.periodo = dbo.PeriodoAdelantado()
and ISNULL(empleados.total_empleados, 0) = 0
end
end else begin
--- Contratistas y subcontratistas del cliente afectados a acceso
select led_contratistas.contratista, padrones.identificador, padrones.identificacion, padrones.numero, identificadores.abreviatura,
identificadores.country_code, padrones.nombre_persona, led_tipos_contratista.nombre_tipo_contratista, padrones.id_padron, led_contratistas.contratista_1,
padrones.nombre_persona as nombre_contratista_1, identificadores.abreviatura as abreviatura_1, padrones.identificacion as identificacion_1,
padrones.nombre_persona as nombre_contratista, identificadores.abreviatura as abreviatura_0, padrones.identificacion as identificacion_0,
ISNULL(docs.total_docs,0) as total_docs, ISNULL(pendientes.total_pendientes,0) as total_pendientes, ISNULL(ingresados.total_ingresados,0) as total_ingresados,
ISNULL(rechazados.total_rechazados,0) as total_rechazados, ISNULL(verificados.total_verificados,0) as total_verificados,
iif(ISNULL(docs.total_docs,0) > 0,
iif(ISNULL(pendientes.total_pendientes,0) = 0 and ISNULL(ingresados.total_ingresados,0) = 0 and ISNULL(rechazados.total_rechazados,0) = 0 and ISNULL(verificados.total_verificados,0) > 0, 1, 0)
, 0) AS acceso
from led_contratistas
inner join led_contratista_locaciones on led_contratistas.contratista_1 = led_contratista_locaciones.contratista
inner join led_tipos_contratista on led_contratistas.tipo_contratista = led_tipos_contratista.tipo_contratista
inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join identificadores on padrones.identificador = identificadores.identificador
inner join led_contratista_periodo on led_contratistas.contratista = led_contratista_periodo.contratista
left outer join
(select led_empleados.contratista, count(*) as total_empleados
from led_empleados inner join led_empleados_periodo on led_empleados.empleado = led_empleados_periodo.empleado
where led_empleados.cliente = @p_cliente
and led_empleados_periodo.periodo = dbo.PeriodoAdelantado()
and led_empleados.estado_empleado = 'A'
group by led_empleados.contratista) empleados on led_contratistas.contratista = empleados.contratista
left outer join
(select led_docs.contratista, count(*) as total_docs
from led_docs inner join led_contratistas on led_docs.contratista = led_contratistas.contratista
inner join led_cliente_contratista on
(led_docs.tipo_doc = led_cliente_contratista.tipo_doc
and led_cliente_contratista.tipo_contratista = led_contratistas.tipo_contratista
and led_cliente_contratista.cliente = @p_cliente
and led_cliente_contratista.ci_killer in (1,0)
and led_cliente_contratista.requiere_upload = 1
and led_cliente_contratista.activo = 1)
where led_docs.led_seccion = @p_led_seccion
and led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.cliente = @p_cliente
group by led_docs.contratista) docs on led_contratistas.contratista = docs.contratista
left outer join
(select led_docs.contratista, count(*) as total_pendientes
from led_docs inner join led_contratistas on led_docs.contratista = led_contratistas.contratista
inner join led_cliente_contratista on
(led_docs.tipo_doc = led_cliente_contratista.tipo_doc
and led_cliente_contratista.tipo_contratista = led_contratistas.tipo_contratista
and led_cliente_contratista.cliente = @p_cliente
and led_cliente_contratista.ci_killer in (1,0)
and led_cliente_contratista.requiere_upload = 1
and led_cliente_contratista.activo = 1)
where led_docs.led_seccion = @p_led_seccion
and led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.cliente = @p_cliente
and led_docs.estado_doc = 'N'
group by led_docs.contratista) pendientes on led_contratistas.contratista = pendientes.contratista
left outer join
(select led_docs.contratista, count(*) as total_ingresados
from led_docs inner join led_contratistas on led_docs.contratista = led_contratistas.contratista
inner join led_cliente_contratista on
(led_docs.tipo_doc = led_cliente_contratista.tipo_doc
and led_cliente_contratista.tipo_contratista = led_contratistas.tipo_contratista
and led_cliente_contratista.cliente = @p_cliente
and led_cliente_contratista.ci_killer in (1,0)
and led_cliente_contratista.requiere_upload = 1
and led_cliente_contratista.activo = 1)
where led_docs.led_seccion = @p_led_seccion
and led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.cliente = @p_cliente
and led_docs.estado_doc = 'I'
group by led_docs.contratista) ingresados on led_contratistas.contratista = ingresados.contratista
left outer join
(select led_docs.contratista, count(*) as total_rechazados
from led_docs inner join led_contratistas on led_docs.contratista = led_contratistas.contratista
inner join led_cliente_contratista on
(led_docs.tipo_doc = led_cliente_contratista.tipo_doc
and led_cliente_contratista.tipo_contratista = led_contratistas.tipo_contratista
and led_cliente_contratista.cliente = @p_cliente
and led_cliente_contratista.ci_killer in (1,0)
and led_cliente_contratista.requiere_upload = 1
and led_cliente_contratista.activo = 1)
where led_docs.led_seccion = @p_led_seccion
and led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.cliente = @p_cliente
and led_docs.estado_doc = 'R'
group by led_docs.contratista) rechazados on led_contratistas.contratista = rechazados.contratista
left outer join
(select led_docs.contratista, count(*) as total_verificados
from led_docs inner join led_contratistas on led_docs.contratista = led_contratistas.contratista
inner join led_cliente_contratista on
(led_docs.tipo_doc = led_cliente_contratista.tipo_doc
and led_cliente_contratista.tipo_contratista = led_contratistas.tipo_contratista
and led_cliente_contratista.cliente = @p_cliente
and led_cliente_contratista.ci_killer in (1,0)
and led_cliente_contratista.requiere_upload = 1
and led_cliente_contratista.activo = 1)
where led_docs.led_seccion = @p_led_seccion
and led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.cliente = @p_cliente
and led_docs.estado_doc = 'V'
group by led_docs.contratista) verificados on led_contratistas.contratista = verificados.contratista
where led_contratistas.cliente = @p_cliente
and led_contratista_locaciones.locacion = @p_locacion
and led_contratista_locaciones.activo = 1
and led_contratistas.estado_contratista = 'A'
and led_contratista_periodo.periodo = dbo.PeriodoAdelantado()
and ISNULL(empleados.total_empleados, 0) = 0
UNION
select led_contratistas.contratista, padrones.identificador, padrones.identificacion, padrones.numero, identificadores.abreviatura,
identificadores.country_code, padrones.nombre_persona, led_tipos_contratista.nombre_tipo_contratista, padrones.id_padron, led_contratistas.contratista_1,
padrones_1.nombre_persona as nombre_contratista_1, identificadores_1.abreviatura as abreviatura_1, padrones_1.identificacion as identificacion_1,
padrones.nombre_persona as nombre_contratista, identificadores.abreviatura as abreviatura_0, padrones.identificacion as identificacion_0,
ISNULL(docs.total_docs,0) as total_docs, ISNULL(pendientes.total_pendientes,0) as total_pendientes, ISNULL(ingresados.total_ingresados,0) as total_ingresados,
ISNULL(rechazados.total_rechazados,0) as total_rechazados, ISNULL(verificados.total_verificados,0) as total_verificados,
iif(ISNULL(docs.total_docs,0) > 0,
iif(ISNULL(pendientes.total_pendientes,0) = 0 and ISNULL(ingresados.total_ingresados,0) = 0 and ISNULL(rechazados.total_rechazados,0) = 0 and ISNULL(verificados.total_verificados,0) > 0, 1, 0)
, 0) AS acceso
from led_contratistas
inner join led_contratista_locaciones on led_contratistas.contratista_1 = led_contratista_locaciones.contratista
inner join led_tipos_contratista on led_contratistas.tipo_contratista = led_tipos_contratista.tipo_contratista
inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join identificadores on padrones.identificador = identificadores.identificador
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
inner join identificadores identificadores_1 on padrones_1.identificador = identificadores_1.identificador
inner join led_subcontratista_periodo on led_contratistas.contratista = led_subcontratista_periodo.subcontratista
left outer join
(select led_empleados.contratista, count(*) as total_empleados
from led_empleados inner join led_empleados_periodo on led_empleados.empleado = led_empleados_periodo.empleado
where led_empleados.cliente = @p_cliente
and led_empleados_periodo.periodo = dbo.PeriodoAdelantado()
and led_empleados.estado_empleado = 'A'
group by led_empleados.contratista) empleados on led_contratistas.contratista = empleados.contratista
left outer join
(select led_docs.contratista, count(*) as total_docs
from led_docs inner join led_contratistas on led_docs.contratista = led_contratistas.contratista
inner join led_cliente_contratista on
(led_docs.tipo_doc = led_cliente_contratista.tipo_doc
and led_cliente_contratista.tipo_contratista = led_contratistas.tipo_contratista
and led_cliente_contratista.cliente = @p_cliente
and led_cliente_contratista.ci_killer in (1,0)
and led_cliente_contratista.requiere_upload = 1
and led_cliente_contratista.activo = 1)
where led_docs.led_seccion = @p_led_seccion
and led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.cliente = @p_cliente
group by led_docs.contratista) docs on led_contratistas.contratista = docs.contratista
left outer join
(select led_docs.contratista, count(*) as total_pendientes
from led_docs inner join led_contratistas on led_docs.contratista = led_contratistas.contratista
inner join led_cliente_contratista on
(led_docs.tipo_doc = led_cliente_contratista.tipo_doc
and led_cliente_contratista.tipo_contratista = led_contratistas.tipo_contratista
and led_cliente_contratista.cliente = @p_cliente
and led_cliente_contratista.ci_killer in (1,0)
and led_cliente_contratista.requiere_upload = 1
and led_cliente_contratista.activo = 1)
where led_docs.led_seccion = @p_led_seccion
and led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.cliente = @p_cliente
and led_docs.estado_doc = 'N'
group by led_docs.contratista) pendientes on led_contratistas.contratista = pendientes.contratista
left outer join
(select led_docs.contratista, count(*) as total_ingresados
from led_docs inner join led_contratistas on led_docs.contratista = led_contratistas.contratista
inner join led_cliente_contratista on
(led_docs.tipo_doc = led_cliente_contratista.tipo_doc
and led_cliente_contratista.tipo_contratista = led_contratistas.tipo_contratista
and led_cliente_contratista.cliente = @p_cliente
and led_cliente_contratista.ci_killer in (1,0)
and led_cliente_contratista.requiere_upload = 1
and led_cliente_contratista.activo = 1)
where led_docs.led_seccion = @p_led_seccion
and led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.cliente = @p_cliente
and led_docs.estado_doc = 'I'
group by led_docs.contratista) ingresados on led_contratistas.contratista = ingresados.contratista
left outer join
(select led_docs.contratista, count(*) as total_rechazados
from led_docs inner join led_contratistas on led_docs.contratista = led_contratistas.contratista
inner join led_cliente_contratista on
(led_docs.tipo_doc = led_cliente_contratista.tipo_doc
and led_cliente_contratista.tipo_contratista = led_contratistas.tipo_contratista
and led_cliente_contratista.cliente = @p_cliente
and led_cliente_contratista.ci_killer in (1,0)
and led_cliente_contratista.requiere_upload = 1
and led_cliente_contratista.activo = 1)
where led_docs.led_seccion = @p_led_seccion
and led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.cliente = @p_cliente
and led_docs.estado_doc = 'R'
group by led_docs.contratista) rechazados on led_contratistas.contratista = rechazados.contratista
left outer join
(select led_docs.contratista, count(*) as total_verificados
from led_docs inner join led_contratistas on led_docs.contratista = led_contratistas.contratista
inner join led_cliente_contratista on
(led_docs.tipo_doc = led_cliente_contratista.tipo_doc
and led_cliente_contratista.tipo_contratista = led_contratistas.tipo_contratista
and led_cliente_contratista.cliente = @p_cliente
and led_cliente_contratista.ci_killer in (1,0)
and led_cliente_contratista.requiere_upload = 1
and led_cliente_contratista.activo = 1)
where led_docs.led_seccion = @p_led_seccion
and led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.cliente = @p_cliente
and led_docs.estado_doc = 'V'
group by led_docs.contratista) verificados on led_contratistas.contratista = verificados.contratista
where led_contratistas.cliente = @p_cliente
and led_contratista_locaciones.locacion = @p_locacion
and led_contratista_locaciones.activo = 1
and led_contratistas.estado_contratista = 'A'
and contratistas_1.estado_contratista = 'A'
and led_subcontratista_periodo.periodo = dbo.PeriodoAdelantado()
and ISNULL(empleados.total_empleados, 0) = 0
and ISNULL(docs.total_docs, 0) > 0
order by nombre_persona
end
end else
if (@p_led_seccion = 'E') begin
if (@p_empleado > 0)
select led_empleados.empleado, padrones.identificador, padrones.identificacion, padrones.numero, identificadores.abreviatura, identificadores.country_code,
padrones.nombre_persona, led_tipos_empleado.nombre_tipo_empleado, padrones.id_padron, led_empleados.contratista, led_empleados.contratista_1,
padrones_1.nombre_persona as nombre_contratista_1, identificadores_1.abreviatura as abreviatura_1, padrones_1.identificacion as identificacion_1,
padrones_0.nombre_persona as nombre_contratista, identificadores_0.abreviatura as abreviatura_0, padrones_0.identificacion as identificacion_0,
ISNULL(docs.total_docs,0) as total_docs, ISNULL(pendientes.total_pendientes,0) as total_pendientes, ISNULL(ingresados.total_ingresados,0) as total_ingresados,
ISNULL(rechazados.total_rechazados,0) as total_rechazados, ISNULL(verificados.total_verificados,0) as total_verificados,
iif(ISNULL(docs.total_docs,0) > 0,
iif(((ISNULL(pendientes.total_pendientes,0) = 0 and ISNULL(ingresados.total_ingresados,0) = 0 and ISNULL(rechazados.total_rechazados,0) = 0 and ISNULL(verificados.total_verificados,0) > 0) or isnull(excepciones.estado_autorizacion,'N')='A') , 1, 0)
, 0) AS acceso
,excepciones.estado_autorizacion
from led_empleados
inner join led_tipos_empleado on led_empleados.tipo_empleado = led_tipos_empleado.tipo_empleado
inner join led_empleados_periodo on led_empleados.empleado = led_empleados_periodo.empleado
inner join padrones on led_empleados.id_padron = padrones.id_padron
inner join identificadores on padrones.identificador = identificadores.identificador
inner join led_contratistas on led_empleados.contratista = led_contratistas.contratista
inner join padrones padrones_0 on led_contratistas.id_padron = padrones_0.id_padron
inner join identificadores identificadores_0 on padrones_0.identificador = identificadores_0.identificador
inner join led_contratistas contratistas_1 on led_empleados.contratista_1 = contratistas_1.contratista
inner join padrones padrones_1 on contratistas_1.id_padron = padrones_1.id_padron
inner join identificadores identificadores_1 on padrones_1.identificador = identificadores_1.identificador
inner join led_empleado_locaciones on led_empleados.empleado = led_empleado_locaciones.empleado
inner join led_contratista_locaciones on led_empleados.contratista_1 = led_contratista_locaciones.contratista
left join (select TOP 1 led_control_ingreso.estado_autorizacion,led_control_ingreso.empleado
from led_control_ingreso inner join led_cliente_personal
on led_control_ingreso.autorizante = led_cliente_personal.persona
where led_control_ingreso.excepcion > 0
and led_control_ingreso.estado_autorizacion = 'A'
and led_control_ingreso.vigencia_excepcion >= GETDATE()
/*and led_control_ingreso.locacion = 1024*/
order by led_control_ingreso.autoriza_rechaza DESC) excepciones on led_empleados.empleado = excepciones.empleado
left outer join
(select led_docs.empleado, COUNT(*) AS total_docs
from led_docs
inner join led_empleados on led_docs.empleado = led_empleados.empleado
inner join led_cliente_empleado on
(led_docs.tipo_doc = led_cliente_empleado.tipo_doc
and led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
and led_cliente_empleado.cliente = @p_cliente
and led_cliente_empleado.ci_killer in (1,0)
and led_cliente_empleado.activo = 1)
where led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.empleado = @p_empleado
and led_docs.led_seccion = @p_led_seccion
group by led_docs.empleado) docs on led_empleados.empleado = docs.empleado
left outer join
(select led_docs.empleado, COUNT(*) AS total_pendientes
from led_docs
inner join led_empleados on led_docs.empleado = led_empleados.empleado
inner join led_cliente_empleado on
(led_docs.tipo_doc = led_cliente_empleado.tipo_doc
and led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
and led_cliente_empleado.cliente = @p_cliente
and led_cliente_empleado.ci_killer in (1,0)
and led_cliente_empleado.activo = 1)
where led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.empleado = @p_empleado
and led_docs.led_seccion = @p_led_seccion
and led_docs.estado_doc = 'N'
group by led_docs.empleado) pendientes on led_empleados.empleado = pendientes.empleado
left outer join
(select led_docs.empleado, COUNT(*) AS total_ingresados
from led_docs
inner join led_empleados on led_docs.empleado = led_empleados.empleado
inner join led_cliente_empleado on
(led_docs.tipo_doc = led_cliente_empleado.tipo_doc
and led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
and led_cliente_empleado.cliente = @p_cliente
and led_cliente_empleado.ci_killer in (1,0)
and led_cliente_empleado.activo = 1)
where led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.empleado = @p_empleado
and led_docs.led_seccion = @p_led_seccion
and led_docs.estado_doc = 'I'
group by led_docs.empleado) ingresados on led_empleados.empleado = ingresados.empleado
left outer join
(select led_docs.empleado, COUNT(*) AS total_rechazados
from led_docs
inner join led_empleados on led_docs.empleado = led_empleados.empleado
inner join led_cliente_empleado on
(led_docs.tipo_doc = led_cliente_empleado.tipo_doc
and led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
and led_cliente_empleado.cliente = @p_cliente
and led_cliente_empleado.ci_killer in (1,0)
and led_cliente_empleado.activo = 1)
where led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.empleado = @p_empleado
and led_docs.led_seccion = @p_led_seccion
and led_docs.estado_doc = 'R'
group by led_docs.empleado) rechazados on led_empleados.empleado = rechazados.empleado
left outer join
(select led_docs.empleado, COUNT(*) AS total_verificados
from led_docs
inner join led_empleados on led_docs.empleado = led_empleados.empleado
inner join led_cliente_empleado on
(led_docs.tipo_doc = led_cliente_empleado.tipo_doc
and led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
and led_cliente_empleado.cliente = @p_cliente
and led_cliente_empleado.ci_killer in (1,0)
and led_cliente_empleado.activo = 1)
where led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.empleado = @p_empleado
and led_docs.led_seccion = @p_led_seccion
and led_docs.estado_doc = 'V'
group by led_docs.empleado) verificados on led_empleados.empleado = verificados.empleado
where led_empleados.estado_empleado = 'A'
and led_contratistas.estado_contratista = 'A'
and contratistas_1.estado_contratista = 'A'
and led_empleados_periodo.periodo = dbo.PeriodoAdelantado()
and led_empleados.empleado = @p_empleado
and led_empleado_locaciones.locacion = @p_locacion
and led_contratista_locaciones.locacion = @p_locacion
and led_empleado_locaciones.activo = 1
and led_contratista_locaciones.activo = 1
else
-- Todos los empleados con acceso del cliente
select '675' as JJ, led_empleados.empleado, padrones.identificador, padrones.identificacion, padrones.numero, identificadores.abreviatura, identificadores.country_code,
padrones.nombre_persona, led_tipos_empleado.nombre_tipo_empleado, padrones.id_padron, led_empleados.contratista, led_empleados.contratista_1,
padrones_1.nombre_persona as nombre_contratista_1, identificadores_1.abreviatura as abreviatura_1, padrones_1.identificacion as identificacion_1,
padrones_0.nombre_persona as nombre_contratista, identificadores_0.abreviatura as abreviatura_0, padrones_0.identificacion as identificacion_0,
ISNULL(docs.total_docs,0) as total_docs, ISNULL(pendientes.total_pendientes,0) as total_pendientes, ISNULL(ingresados.total_ingresados,0) as total_ingresados,
ISNULL(rechazados.total_rechazados,0) as total_rechazados, ISNULL(verificados.total_verificados,0) as total_verificados,
iif(ISNULL(docs.total_docs,0) > 0,
iif((ISNULL(pendientes.total_pendientes,0) = 0 and ISNULL(ingresados.total_ingresados,0) = 0 and ISNULL(rechazados.total_rechazados,0) = 0 and ISNULL(verificados.total_verificados,0) > 0) or isnull(excepciones.estado_autorizacion,'N')='A', 1, 0)
, 0) AS acceso
,excepciones.estado_autorizacion
from led_empleados
inner join led_tipos_empleado on led_empleados.tipo_empleado = led_tipos_empleado.tipo_empleado
inner join led_empleados_periodo on led_empleados.empleado = led_empleados_periodo.empleado
inner join padrones on led_empleados.id_padron = padrones.id_padron
inner join identificadores on padrones.identificador = identificadores.identificador
inner join led_contratistas on led_empleados.contratista = led_contratistas.contratista
inner join padrones padrones_0 on led_contratistas.id_padron = padrones_0.id_padron
inner join identificadores identificadores_0 on padrones_0.identificador = identificadores_0.identificador
inner join led_contratistas contratistas_1 on led_empleados.contratista_1 = contratistas_1.contratista
inner join padrones padrones_1 on contratistas_1.id_padron = padrones_1.id_padron
inner join identificadores identificadores_1 on padrones_1.identificador = identificadores_1.identificador
inner join led_empleado_locaciones on led_empleados.empleado = led_empleado_locaciones.empleado
inner join led_contratista_locaciones on led_empleados.contratista_1 = led_contratista_locaciones.contratista
left join (select TOP 1 led_control_ingreso.estado_autorizacion,led_control_ingreso.empleado
from led_control_ingreso inner join led_cliente_personal
on led_control_ingreso.autorizante = led_cliente_personal.persona
where led_control_ingreso.excepcion > 0
and led_control_ingreso.estado_autorizacion = 'A'
and led_control_ingreso.vigencia_excepcion >= GETDATE()
/*and led_control_ingreso.locacion = 1024*/
order by led_control_ingreso.autoriza_rechaza DESC) excepciones on led_empleados.empleado = excepciones.empleado
left outer join
(select led_docs.empleado, COUNT(*) AS total_docs
from led_docs
inner join led_empleados on led_docs.empleado = led_empleados.empleado
inner join led_cliente_empleado on
(led_docs.tipo_doc = led_cliente_empleado.tipo_doc
and led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
and led_cliente_empleado.cliente = @p_cliente
and led_cliente_empleado.ci_killer in (1,0)
and led_cliente_empleado.activo = 1)
where led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.cliente = @p_cliente
and led_docs.led_seccion = @p_led_seccion
group by led_docs.empleado) docs on led_empleados.empleado = docs.empleado
left outer join
(select led_docs.empleado, COUNT(*) AS total_pendientes
from led_docs
inner join led_empleados on led_docs.empleado = led_empleados.empleado
inner join led_cliente_empleado on
(led_docs.tipo_doc = led_cliente_empleado.tipo_doc
and led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
and led_cliente_empleado.cliente = @p_cliente
and led_cliente_empleado.ci_killer in (1,0)
and led_cliente_empleado.activo = 1)
where led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.cliente = @p_cliente
and led_docs.led_seccion = @p_led_seccion
and led_docs.estado_doc = 'N'
group by led_docs.empleado) pendientes on led_empleados.empleado = pendientes.empleado
left outer join
(select led_docs.empleado, COUNT(*) AS total_ingresados
from led_docs
inner join led_empleados on led_docs.empleado = led_empleados.empleado
inner join led_cliente_empleado on
(led_docs.tipo_doc = led_cliente_empleado.tipo_doc
and led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
and led_cliente_empleado.cliente = @p_cliente
and led_cliente_empleado.ci_killer in (1,0)
and led_cliente_empleado.activo = 1)
where led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.cliente = @p_cliente
and led_docs.led_seccion = @p_led_seccion
and led_docs.estado_doc = 'I'
group by led_docs.empleado) ingresados on led_empleados.empleado = ingresados.empleado
left outer join
(select led_docs.empleado, COUNT(*) AS total_rechazados
from led_docs
inner join led_empleados on led_docs.empleado = led_empleados.empleado
inner join led_cliente_empleado on
(led_docs.tipo_doc = led_cliente_empleado.tipo_doc
and led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
and led_cliente_empleado.cliente = @p_cliente
and led_cliente_empleado.ci_killer in (1,0)
and led_cliente_empleado.activo = 1)
where led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.cliente = @p_cliente
and led_docs.led_seccion = @p_led_seccion
and led_docs.estado_doc = 'R'
group by led_docs.empleado) rechazados on led_empleados.empleado = rechazados.empleado
left outer join
(select led_docs.empleado, COUNT(*) AS total_verificados
from led_docs
inner join led_empleados on led_docs.empleado = led_empleados.empleado
inner join led_cliente_empleado on
(led_docs.tipo_doc = led_cliente_empleado.tipo_doc
and led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
and led_cliente_empleado.cliente = @p_cliente
and led_cliente_empleado.ci_killer in (1,0)
and led_cliente_empleado.activo = 1)
where led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.cliente = @p_cliente
and led_docs.led_seccion = @p_led_seccion
and led_docs.estado_doc = 'V'
group by led_docs.empleado) verificados on led_empleados.empleado = verificados.empleado
where led_empleados.estado_empleado = 'A'
and led_contratistas.estado_contratista = 'A'
and contratistas_1.estado_contratista = 'A'
and led_empleados_periodo.periodo = dbo.PeriodoAdelantado()
and led_empleados.cliente = @p_cliente
and led_empleado_locaciones.locacion = @p_locacion
and led_contratista_locaciones.locacion = @p_locacion
and led_empleado_locaciones.activo = 1
and led_contratista_locaciones.activo = 1
and ISNULL(docs.total_docs, 0) > 0
order by padrones.nombre_persona, padrones_0.nombre_persona
end else
begin
if (@p_vehiculo > 0)
select led_vehiculos.vehiculo, led_vehiculos.country_code, led_vehiculos.dominio, led_vehiculos.nombre_vehiculo, led_tipos_vehiculo.nombre_tipo_vehiculo,
led_vehiculos.contratista, led_vehiculos.contratista_1, padrones_1.nombre_persona as nombre_contratista_1,
identificadores_1.abreviatura as abreviatura_1, padrones_1.identificacion as identificacion_1,
padrones_0.nombre_persona as nombre_contratista, identificadores_0.abreviatura as abreviatura_0, padrones_0.identificacion as identificacion_0,
ISNULL(docs.total_docs,0) as total_docs, ISNULL(pendientes.total_pendientes,0) as total_pendientes, ISNULL(ingresados.total_ingresados,0) as total_ingresados,
ISNULL(rechazados.total_rechazados,0) as total_rechazados, ISNULL(verificados.total_verificados,0) as total_verificados,
iif(ISNULL(docs.total_docs,0) > 0,
iif(ISNULL(pendientes.total_pendientes,0) = 0 and ISNULL(ingresados.total_ingresados,0) = 0 and ISNULL(rechazados.total_rechazados,0) = 0 and ISNULL(verificados.total_verificados,0) > 0, 1, 0)
, 0) AS acceso
from led_vehiculos
inner join led_tipos_vehiculo on led_vehiculos.tipo_vehiculo = led_tipos_vehiculo.tipo_vehiculo
inner join led_vehiculos_periodo on led_vehiculos.vehiculo = led_vehiculos_periodo.vehiculo
inner join led_contratistas on led_vehiculos.contratista = led_contratistas.contratista
inner join padrones padrones_0 on led_contratistas.id_padron = padrones_0.id_padron
inner join identificadores identificadores_0 on padrones_0.identificador = identificadores_0.identificador
inner join led_contratistas contratistas_1 on led_vehiculos.contratista_1 = contratistas_1.contratista
inner join padrones padrones_1 on contratistas_1.id_padron = padrones_1.id_padron
inner join identificadores identificadores_1 on padrones_1.identificador = identificadores_1.identificador
inner join led_vehiculo_locaciones on led_vehiculos.vehiculo = led_vehiculo_locaciones.vehiculo
inner join led_contratista_locaciones on led_vehiculos.contratista_1 = led_contratista_locaciones.contratista
left outer join
(select led_docs.vehiculo, COUNT(*) AS total_docs
from led_docs
inner join led_vehiculos on led_docs.vehiculo = led_vehiculos.vehiculo
inner join led_cliente_vehiculo on
(led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc
and led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
and led_cliente_vehiculo.cliente = @p_cliente
and led_cliente_vehiculo.ci_killer in (1,0)
and led_cliente_vehiculo.activo = 1)
where led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.vehiculo = @p_vehiculo
and led_docs.led_seccion = @p_led_seccion
group by led_docs.vehiculo) docs on led_vehiculos.vehiculo = docs.vehiculo
left outer join
(select led_docs.vehiculo, COUNT(*) AS total_pendientes
from led_docs
inner join led_vehiculos on led_docs.vehiculo = led_vehiculos.vehiculo
inner join led_cliente_vehiculo on
(led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc
and led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
and led_cliente_vehiculo.cliente = @p_cliente
and led_cliente_vehiculo.ci_killer in (1,0)
and led_cliente_vehiculo.activo = 1)
where led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.vehiculo = @p_vehiculo
and led_docs.led_seccion = @p_led_seccion
and led_docs.estado_doc = 'N'
group by led_docs.vehiculo) pendientes on led_vehiculos.vehiculo = pendientes.vehiculo
left outer join
(select led_docs.vehiculo, COUNT(*) AS total_ingresados
from led_docs
inner join led_vehiculos on led_docs.vehiculo = led_vehiculos.vehiculo
inner join led_cliente_vehiculo on
(led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc
and led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
and led_cliente_vehiculo.cliente = @p_cliente
and led_cliente_vehiculo.ci_killer in (1,0)
and led_cliente_vehiculo.activo = 1)
where led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.vehiculo = @p_vehiculo
and led_docs.led_seccion = @p_led_seccion
and led_docs.estado_doc = 'I'
group by led_docs.vehiculo) ingresados on led_vehiculos.vehiculo = ingresados.vehiculo
left outer join
(select led_docs.vehiculo, COUNT(*) AS total_rechazados
from led_docs
inner join led_vehiculos on led_docs.vehiculo = led_vehiculos.vehiculo
inner join led_cliente_vehiculo on
(led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc
and led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
and led_cliente_vehiculo.cliente = @p_cliente
and led_cliente_vehiculo.ci_killer in (1,0)
and led_cliente_vehiculo.activo = 1)
where led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.vehiculo = @p_vehiculo
and led_docs.led_seccion = @p_led_seccion
and led_docs.estado_doc = 'R'
group by led_docs.vehiculo) rechazados on led_vehiculos.vehiculo = rechazados.vehiculo
left outer join
(select led_docs.vehiculo, COUNT(*) AS total_verificados
from led_docs
inner join led_vehiculos on led_docs.vehiculo = led_vehiculos.vehiculo
inner join led_cliente_vehiculo on
(led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc
and led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
and led_cliente_vehiculo.cliente = @p_cliente
and led_cliente_vehiculo.ci_killer in (1,0)
and led_cliente_vehiculo.activo = 1)
where led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.vehiculo = @p_vehiculo
and led_docs.led_seccion = @p_led_seccion
and led_docs.estado_doc = 'V'
group by led_docs.vehiculo) verificados on led_vehiculos.vehiculo = verificados.vehiculo
where led_vehiculos.estado_vehiculo = 'A'
and led_contratistas.estado_contratista = 'A'
and contratistas_1.estado_contratista = 'A'
and led_vehiculos_periodo.periodo = dbo.PeriodoAdelantado()
and led_vehiculos.vehiculo = @p_vehiculo
and led_vehiculo_locaciones.locacion = @p_locacion
and led_contratista_locaciones.locacion = @p_locacion
and led_vehiculo_locaciones.activo = 1
and led_contratista_locaciones.activo = 1
else
-- Todos los vehÃculos con acceso del cliente
select led_vehiculos.vehiculo, led_vehiculos.country_code, led_vehiculos.dominio, led_vehiculos.nombre_vehiculo, led_tipos_vehiculo.nombre_tipo_vehiculo,
led_vehiculos.contratista, led_vehiculos.contratista_1, padrones_1.nombre_persona as nombre_contratista_1,
identificadores_1.abreviatura as abreviatura_1, padrones_1.identificacion as identificacion_1,
padrones_0.nombre_persona as nombre_contratista, identificadores_0.abreviatura as abreviatura_0, padrones_0.identificacion as identificacion_0,
ISNULL(docs.total_docs,0) as total_docs, ISNULL(pendientes.total_pendientes,0) as total_pendientes, ISNULL(ingresados.total_ingresados,0) as total_ingresados,
ISNULL(rechazados.total_rechazados,0) as total_rechazados, ISNULL(verificados.total_verificados,0) as total_verificados,
iif(ISNULL(docs.total_docs,0) > 0,
iif(ISNULL(pendientes.total_pendientes,0) = 0 and ISNULL(ingresados.total_ingresados,0) = 0 and ISNULL(rechazados.total_rechazados,0) = 0 and ISNULL(verificados.total_verificados,0) > 0, 1, 0)
, 0) AS acceso
from led_vehiculos
inner join led_tipos_vehiculo on led_vehiculos.tipo_vehiculo = led_tipos_vehiculo.tipo_vehiculo
inner join led_vehiculos_periodo on led_vehiculos.vehiculo = led_vehiculos_periodo.vehiculo
inner join led_contratistas on led_vehiculos.contratista = led_contratistas.contratista
inner join padrones padrones_0 on led_contratistas.id_padron = padrones_0.id_padron
inner join identificadores identificadores_0 on padrones_0.identificador = identificadores_0.identificador
inner join led_contratistas contratistas_1 on led_vehiculos.contratista_1 = contratistas_1.contratista
inner join padrones padrones_1 on contratistas_1.id_padron = padrones_1.id_padron
inner join identificadores identificadores_1 on padrones_1.identificador = identificadores_1.identificador
inner join led_vehiculo_locaciones on led_vehiculos.vehiculo = led_vehiculo_locaciones.vehiculo
inner join led_contratista_locaciones on led_vehiculos.contratista_1 = led_contratista_locaciones.contratista
left outer join
(select led_docs.vehiculo, COUNT(*) AS total_docs
from led_docs
inner join led_vehiculos on led_docs.vehiculo = led_vehiculos.vehiculo
inner join led_cliente_vehiculo on
(led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc
and led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
and led_cliente_vehiculo.cliente = @p_cliente
and led_cliente_vehiculo.ci_killer in (1,0)
and led_cliente_vehiculo.activo = 1)
where led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.cliente = @p_cliente
and led_docs.led_seccion = @p_led_seccion
group by led_docs.vehiculo) docs on led_vehiculos.vehiculo = docs.vehiculo
left outer join
(select led_docs.vehiculo, COUNT(*) AS total_pendientes
from led_docs
inner join led_vehiculos on led_docs.vehiculo = led_vehiculos.vehiculo
inner join led_cliente_vehiculo on
(led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc
and led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
and led_cliente_vehiculo.cliente = @p_cliente
and led_cliente_vehiculo.ci_killer in (1,0)
and led_cliente_vehiculo.activo = 1)
where led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.cliente = @p_cliente
and led_docs.led_seccion = @p_led_seccion
and led_docs.estado_doc = 'N'
group by led_docs.vehiculo) pendientes on led_vehiculos.vehiculo = pendientes.vehiculo
left outer join
(select led_docs.vehiculo, COUNT(*) AS total_ingresados
from led_docs
inner join led_vehiculos on led_docs.vehiculo = led_vehiculos.vehiculo
inner join led_cliente_vehiculo on
(led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc
and led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
and led_cliente_vehiculo.cliente = @p_cliente
and led_cliente_vehiculo.ci_killer in (1,0)
and led_cliente_vehiculo.activo = 1)
where led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.cliente = @p_cliente
and led_docs.led_seccion = @p_led_seccion
and led_docs.estado_doc = 'I'
group by led_docs.vehiculo) ingresados on led_vehiculos.vehiculo = ingresados.vehiculo
left outer join
(select led_docs.vehiculo, COUNT(*) AS total_rechazados
from led_docs
inner join led_vehiculos on led_docs.vehiculo = led_vehiculos.vehiculo
inner join led_cliente_vehiculo on
(led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc
and led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
and led_cliente_vehiculo.cliente = @p_cliente
and led_cliente_vehiculo.ci_killer in (1,0)
and led_cliente_vehiculo.activo = 1)
where led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.cliente = @p_cliente
and led_docs.led_seccion = @p_led_seccion
and led_docs.estado_doc = 'R'
group by led_docs.vehiculo) rechazados on led_vehiculos.vehiculo = rechazados.vehiculo
left outer join
(select led_docs.vehiculo, COUNT(*) AS total_verificados
from led_docs
inner join led_vehiculos on led_docs.vehiculo = led_vehiculos.vehiculo
inner join led_cliente_vehiculo on
(led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc
and led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
and led_cliente_vehiculo.cliente = @p_cliente
and led_cliente_vehiculo.ci_killer in (1,0)
and led_cliente_vehiculo.activo = 1)
where led_docs.periodo = dbo.PeriodoAdelantado()
and led_docs.cliente = @p_cliente
and led_docs.led_seccion = @p_led_seccion
and led_docs.estado_doc = 'V'
group by led_docs.vehiculo) verificados on led_vehiculos.vehiculo = verificados.vehiculo
where led_vehiculos.estado_vehiculo = 'A'
and led_contratistas.estado_contratista = 'A'
and contratistas_1.estado_contratista = 'A'
and led_vehiculos_periodo.periodo = dbo.PeriodoAdelantado()
and led_vehiculos.cliente = @p_cliente
and led_vehiculo_locaciones.locacion = @p_locacion
and led_contratista_locaciones.locacion = @p_locacion
and led_vehiculo_locaciones.activo = 1
and led_contratista_locaciones.activo = 1
and ISNULL(docs.total_docs, 0) > 0
order by dominio
end
end
END
GO
Depends On
24- dbo.PeriodoAdelantado
- dbo.docs
- dbo.empleados
- dbo.identificadores
- dbo.led_cliente_contratista
- dbo.led_cliente_empleado
- dbo.led_cliente_personal
- dbo.led_cliente_vehiculo
- dbo.led_contratista_locaciones
- dbo.led_contratista_periodo
- dbo.led_contratistas
- dbo.led_control_ingreso
- dbo.led_docs
- dbo.led_empleado_locaciones
- dbo.led_empleados
- dbo.led_empleados_periodo
- dbo.led_subcontratista_periodo
- dbo.led_tipos_contratista
- dbo.led_tipos_empleado
- dbo.led_tipos_vehiculo
- dbo.led_vehiculo_locaciones
- dbo.led_vehiculos
- dbo.led_vehiculos_periodo
- dbo.padrones
Used By
No items found