Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
7| Name | Data Type | Length | Description |
|---|---|---|---|
| @p_cliente | int | 4 | |
| @taxID | varchar | 30 | |
| @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
/*
exec Imperium_Control_Acceso_api 7048064,'30714559253'
*/
-- exec Imperium_buscar_identificacion_acceso 7048064,null,'30714559253'
CREATE OR ALTER PROCEDURE dbo.Imperium_Control_Acceso_API
-- Add the parameters for the stored procedure here
@p_cliente int,
@taxID varchar(30),
@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
-- set @p_led_seccion = 'C'
SELECT contratista FROM led_contratistas INNER JOIN PADRONES ON (led_contratistas.id_padron=PADRONES.id_padron AND PADRONES.HABILITADO=1)
WHERE PADRONES.identificacion=@taxID AND LED_CONTRATISTAS.cliente = @p_cliente AND led_contratistas.estado_contratista='A'
SELECT @p_contratista as contratista
return
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 = 1
and led_cliente_contratista.requiere_upload = 1
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 = 1
and led_cliente_contratista.requiere_upload = 1
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 = 1
and led_cliente_contratista.requiere_upload = 1
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 = 1
and led_cliente_contratista.requiere_upload = 1
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 = 1
and led_cliente_contratista.requiere_upload = 1
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 = 1
and led_cliente_contratista.requiere_upload = 1
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 = 1
and led_cliente_contratista.requiere_upload = 1
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 = 1
and led_cliente_contratista.requiere_upload = 1
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 = 1
and led_cliente_contratista.requiere_upload = 1
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 = 1
and led_cliente_contratista.requiere_upload = 1
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 = 1
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 = 1
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 = 1
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 = 1
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 = 1
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 = 1
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 = 1
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 = 1
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 = 1
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 = 1
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, 1, 0)
, 0) AS acceso
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 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 = 1
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 = 1
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 = 1
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 = 1
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 = 1
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 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, 1, 0)
, 0) AS acceso
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 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 = 1
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 = 1
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 = 1
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 = 1
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 = 1
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 = 1
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 = 1
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 = 1
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 = 1
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 = 1
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 = 1
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 = 1
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 = 1
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 = 1
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 = 1
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
/*
exec Imperium_Control_Acceso_api 7048064,'30714559253'
*/
-- exec Imperium_buscar_identificacion_acceso 7048064,null,'30714559253'
CREATE OR ALTER PROCEDURE dbo.Imperium_Control_Acceso_API
-- Add the parameters for the stored procedure here
@p_cliente int,
@taxID varchar(30),
@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
-- set @p_led_seccion = 'C'
SELECT contratista FROM led_contratistas INNER JOIN PADRONES ON (led_contratistas.id_padron=PADRONES.id_padron AND PADRONES.HABILITADO=1)
WHERE PADRONES.identificacion=@taxID AND LED_CONTRATISTAS.cliente = @p_cliente AND led_contratistas.estado_contratista='A'
SELECT @p_contratista as contratista
return
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 = 1
and led_cliente_contratista.requiere_upload = 1
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 = 1
and led_cliente_contratista.requiere_upload = 1
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 = 1
and led_cliente_contratista.requiere_upload = 1
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 = 1
and led_cliente_contratista.requiere_upload = 1
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 = 1
and led_cliente_contratista.requiere_upload = 1
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 = 1
and led_cliente_contratista.requiere_upload = 1
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 = 1
and led_cliente_contratista.requiere_upload = 1
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 = 1
and led_cliente_contratista.requiere_upload = 1
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 = 1
and led_cliente_contratista.requiere_upload = 1
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 = 1
and led_cliente_contratista.requiere_upload = 1
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 = 1
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 = 1
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 = 1
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 = 1
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 = 1
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 = 1
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 = 1
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 = 1
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 = 1
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 = 1
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, 1, 0)
, 0) AS acceso
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 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 = 1
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 = 1
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 = 1
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 = 1
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 = 1
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 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, 1, 0)
, 0) AS acceso
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 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 = 1
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 = 1
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 = 1
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 = 1
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 = 1
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 = 1
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 = 1
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 = 1
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 = 1
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 = 1
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 = 1
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 = 1
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 = 1
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 = 1
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 = 1
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
22- dbo.PeriodoAdelantado
- dbo.docs
- dbo.empleados
- dbo.identificadores
- dbo.led_cliente_contratista
- dbo.led_cliente_empleado
- dbo.led_cliente_vehiculo
- dbo.led_contratista_locaciones
- dbo.led_contratista_periodo
- dbo.led_contratistas
- 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