Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
4| Name | Data Type | Length | Description |
|---|---|---|---|
| @p_contratista | int | 4 | |
| @p_subcontratista | int | 4 | |
| @p_estado_doc | varchar | 10 | |
| @p_horas_venc | int | 4 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE OR ALTER PROCEDURE dbo.Imperium_vista_contratista_Subcontratistas
-- Add the parameters for the stored procedure here
@p_contratista int,
@p_subcontratista int,
@p_estado_doc varchar(10),
@p_horas_venc int = 96
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 @periodo_actual INT = CONVERT(INT, CONVERT(VARCHAR(4),YEAR(GETDATE())) + RIGHT('00' + CONVERT(VARCHAR(2),MONTH(GETDATE())), 2))
IF (@p_subcontratista IS NULL) BEGIN
IF(@p_estado_doc = 'N' OR @p_estado_doc = 'R') BEGIN
/* no ingresados (pendientes) o rechazados */
select led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1,
led_contratistas.contratista, led_contratistas.cliente,
padrones_1.identificador AS identificador_1,
padrones_1.numero AS numero_1,
padrones_1.nombre_persona AS nombre_persona_1,
identificadores_1.abreviatura AS abreviatura_1,
padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,
clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email
from led_contratistas
inner join led_contratistas AS led_contratistas_1 on led_contratistas.contratista_1 = led_contratistas_1.contratista
inner join clientes on led_contratistas.cliente = clientes.cliente
inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join identificadores on padrones.identificador = identificadores.identificador
inner join padrones padrones_1 on led_contratistas_1.id_padron = padrones_1.id_padron
inner join identificadores identificadores_1 on padrones_1.identificador = identificadores_1.identificador
inner join led_docs on led_contratistas.contratista = led_docs.contratista
inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
inner join led_subcontratista_periodo on (led_contratistas.contratista = led_subcontratista_periodo.subcontratista
and led_docs.periodo = led_subcontratista_periodo.periodo)
inner join users on led_contratistas_1.user_id = users.user_id
inner join led_contratista_multi on led_contratistas.contratista = led_contratista_multi.contratista
inner join
(select lcc.cliente, lcc.tipo_contratista, lcc.tipo_doc
from led_cliente_contratista lcc
where /*lcc.afecta_compliance = 1
and*/ lcc.requiere_upload = 1
and lcc.activo = 1) CONFIG_TC
ON (led_docs.cliente = CONFIG_TC.cliente
AND led_contratista_multi.tipo_contratista = CONFIG_TC.tipo_contratista
AND led_docs.tipo_doc = CONFIG_TC.tipo_doc)
where led_docs.estado_doc IN (@p_estado_doc)
and led_contratistas.estado_contratista = 'A'
and led_contratistas_1.estado_contratista = 'A'
and led_docs.doc_id_lista IS NULL
and led_tipos_doc.tipo_doc_lista IS NULL
and led_contratista_multi.vigencia_desde <= GETDATE()
and (led_contratista_multi.vigencia_hasta IS NULL OR led_contratista_multi.vigencia_hasta >= GETDATE())
and led_contratista_multi.activo = 1
and clientes.estado_cliente = 'A'
and led_contratistas_1.contratista = @p_contratista
group by led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1,
led_contratistas.contratista, led_contratistas.cliente,
padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
padrones_1.identificador, padrones_1.numero, padrones_1.nombre_persona, identificadores_1.abreviatura,
led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,
clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email
ORDER BY led_docs.periodo, led_tipos_doc.nombre_tipo_doc
END ELSE BEGIN
IF (@p_estado_doc = 'I') BEGIN
/* ingresados con aprobación parcial */
select led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1,
led_contratistas.contratista, led_contratistas.cliente,
padrones_1.identificador AS identificador_1,
padrones_1.numero AS numero_1,
padrones_1.nombre_persona AS nombre_persona_1,
identificadores_1.abreviatura AS abreviatura_1,
padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,
clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email
from led_contratistas
inner join led_contratistas AS led_contratistas_1 on led_contratistas.contratista_1 = led_contratistas_1.contratista
inner join clientes on led_contratistas.cliente = clientes.cliente
inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join identificadores on padrones.identificador = identificadores.identificador
inner join padrones padrones_1 on led_contratistas_1.id_padron = padrones_1.id_padron
inner join identificadores identificadores_1 on padrones_1.identificador = identificadores_1.identificador
inner join led_docs on led_contratistas.contratista = led_docs.contratista
inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
inner join led_subcontratista_periodo on (led_contratistas.contratista = led_subcontratista_periodo.subcontratista
and led_docs.periodo = led_subcontratista_periodo.periodo)
inner join users on led_contratistas_1.user_id = users.user_id
inner join led_contratista_multi on led_contratistas.contratista = led_contratista_multi.contratista
inner join
(select lcc.cliente, lcc.tipo_contratista, lcc.tipo_doc
from led_cliente_contratista lcc
where /*lcc.afecta_compliance = 1
and*/ lcc.requiere_upload = 1
and lcc.activo = 1) CONFIG_TC
ON (led_docs.cliente = CONFIG_TC.cliente
AND led_contratista_multi.tipo_contratista = CONFIG_TC.tipo_contratista
AND led_docs.tipo_doc = CONFIG_TC.tipo_doc)
where led_docs.estado_doc IN (@p_estado_doc)
and led_docs.aprobacion_parcial = 1
and (led_docs.parcial_actualizado = 0 OR led_docs.parcial_actualizado IS NULL)
and led_contratistas.estado_contratista = 'A'
and led_contratistas_1.estado_contratista = 'A'
and led_docs.doc_id_lista IS NULL
and led_tipos_doc.tipo_doc_lista IS NULL
and led_contratista_multi.vigencia_desde <= GETDATE()
and (led_contratista_multi.vigencia_hasta IS NULL OR led_contratista_multi.vigencia_hasta >= GETDATE())
and led_contratista_multi.activo = 1
and clientes.estado_cliente = 'A'
and led_contratistas_1.contratista = @p_contratista
group by led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1,
led_contratistas.contratista, led_contratistas.cliente,
padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
padrones_1.identificador, padrones_1.numero, padrones_1.nombre_persona, identificadores_1.abreviatura,
led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,
clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email
ORDER BY led_docs.periodo, led_tipos_doc.nombre_tipo_doc
END ELSE BEGIN
IF (@p_estado_doc = 'V') BEGIN
/* Documentos verificados de acceso por vencer */
select led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1,
led_contratistas.contratista, led_contratistas.cliente,
padrones_1.identificador AS identificador_1,
padrones_1.numero AS numero_1,
padrones_1.nombre_persona AS nombre_persona_1,
identificadores_1.abreviatura AS abreviatura_1,
padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,
clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email
from led_contratistas
inner join led_contratistas AS led_contratistas_1 on led_contratistas.contratista_1 = led_contratistas_1.contratista
inner join clientes on led_contratistas.cliente = clientes.cliente
inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join identificadores on padrones.identificador = identificadores.identificador
inner join padrones padrones_1 on led_contratistas_1.id_padron = padrones_1.id_padron
inner join identificadores identificadores_1 on padrones_1.identificador = identificadores_1.identificador
inner join led_docs on led_contratistas.contratista = led_docs.contratista
inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
inner join led_subcontratista_periodo on (led_contratistas.contratista = led_subcontratista_periodo.subcontratista
and led_docs.periodo = led_subcontratista_periodo.periodo)
inner join users on led_contratistas_1.user_id = users.user_id
inner join led_contratista_multi on led_contratistas.contratista = led_contratista_multi.contratista
inner join
(select lcc.cliente, lcc.tipo_contratista, lcc.tipo_doc
from led_cliente_contratista lcc
where /*lcc.afecta_compliance = 1
and*/ lcc.requiere_upload = 1
and lcc.activo = 1
and lcc.ci_killer = 1) CONFIG_TC
ON (led_docs.cliente = CONFIG_TC.cliente
AND led_contratista_multi.tipo_contratista = CONFIG_TC.tipo_contratista
AND led_docs.tipo_doc = CONFIG_TC.tipo_doc)
where led_docs.estado_doc IN (@p_estado_doc)
and DATEDIFF(HOUR, GETDATE(), led_docs.fecha_vigencia) <= @p_horas_venc
and DATEDIFF(HOUR, GETDATE(), led_docs.fecha_vigencia) > 0
and led_docs.periodo = @periodo_actual
and led_contratistas.estado_contratista = 'A'
and led_contratistas_1.estado_contratista = 'A'
and led_docs.doc_id_lista IS NULL
and led_tipos_doc.tipo_doc_lista IS NULL
and led_contratista_multi.vigencia_desde <= GETDATE()
and (led_contratista_multi.vigencia_hasta IS NULL OR led_contratista_multi.vigencia_hasta >= GETDATE())
and led_contratista_multi.activo = 1
and clientes.estado_cliente = 'A'
and led_contratistas_1.contratista = @p_contratista
group by led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1,
led_contratistas.contratista, led_contratistas.cliente,
padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
padrones_1.identificador, padrones_1.numero, padrones_1.nombre_persona, identificadores_1.abreviatura,
led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,
clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email
ORDER BY led_docs.periodo, led_tipos_doc.nombre_tipo_doc
END ELSE BEGIN
/* TODOS LOS ESTADOS */
select led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1,
led_contratistas.contratista, led_contratistas.cliente,
padrones_1.identificador AS identificador_1,
padrones_1.numero AS numero_1,
padrones_1.nombre_persona AS nombre_persona_1,
identificadores_1.abreviatura AS abreviatura_1,
padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,
clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email
from led_contratistas
inner join led_contratistas AS led_contratistas_1 on led_contratistas.contratista_1 = led_contratistas_1.contratista
inner join clientes on led_contratistas.cliente = clientes.cliente
inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join identificadores on padrones.identificador = identificadores.identificador
inner join padrones padrones_1 on led_contratistas_1.id_padron = padrones_1.id_padron
inner join identificadores identificadores_1 on padrones_1.identificador = identificadores_1.identificador
inner join led_docs on led_contratistas.contratista = led_docs.contratista
inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
inner join led_subcontratista_periodo on (led_contratistas.contratista = led_subcontratista_periodo.subcontratista
and led_docs.periodo = led_subcontratista_periodo.periodo)
inner join users on led_contratistas_1.user_id = users.user_id
inner join led_contratista_multi on led_contratistas.contratista = led_contratista_multi.contratista
inner join
(select lcc.cliente, lcc.tipo_contratista, lcc.tipo_doc
from led_cliente_contratista lcc
where /*lcc.afecta_compliance = 1
and*/ lcc.requiere_upload = 1
and lcc.activo = 1) CONFIG_TC
ON (led_docs.cliente = CONFIG_TC.cliente
AND led_contratista_multi.tipo_contratista = CONFIG_TC.tipo_contratista
AND led_docs.tipo_doc = CONFIG_TC.tipo_doc)
where led_docs.estado_doc IN ('N', 'R')
and led_contratistas.estado_contratista = 'A'
and led_contratistas_1.estado_contratista = 'A'
and led_docs.doc_id_lista IS NULL
and led_tipos_doc.tipo_doc_lista IS NULL
and led_contratista_multi.vigencia_desde <= GETDATE()
and (led_contratista_multi.vigencia_hasta IS NULL OR led_contratista_multi.vigencia_hasta >= GETDATE())
and led_contratista_multi.activo = 1
and clientes.estado_cliente = 'A'
and led_contratistas_1.contratista = @p_contratista
group by led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1,
led_contratistas.contratista, led_contratistas.cliente,
padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
padrones_1.identificador, padrones_1.numero, padrones_1.nombre_persona, identificadores_1.abreviatura,
led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,
clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email
UNION ALL
select led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1,
led_contratistas.contratista, led_contratistas.cliente,
padrones_1.identificador AS identificador_1,
padrones_1.numero AS numero_1,
padrones_1.nombre_persona AS nombre_persona_1,
identificadores_1.abreviatura AS abreviatura_1,
padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,
clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email
from led_contratistas
inner join led_contratistas AS led_contratistas_1 on led_contratistas.contratista_1 = led_contratistas_1.contratista
inner join clientes on led_contratistas.cliente = clientes.cliente
inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join identificadores on padrones.identificador = identificadores.identificador
inner join padrones padrones_1 on led_contratistas_1.id_padron = padrones_1.id_padron
inner join identificadores identificadores_1 on padrones_1.identificador = identificadores_1.identificador
inner join led_docs on led_contratistas.contratista = led_docs.contratista
inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
inner join led_subcontratista_periodo on (led_contratistas.contratista = led_subcontratista_periodo.subcontratista
and led_docs.periodo = led_subcontratista_periodo.periodo)
inner join users on led_contratistas_1.user_id = users.user_id
inner join led_contratista_multi on led_contratistas.contratista = led_contratista_multi.contratista
inner join
(select lcc.cliente, lcc.tipo_contratista, lcc.tipo_doc
from led_cliente_contratista lcc
where /*lcc.afecta_compliance = 1
and*/ lcc.requiere_upload = 1
and lcc.activo = 1) CONFIG_TC
ON (led_docs.cliente = CONFIG_TC.cliente
AND led_contratista_multi.tipo_contratista = CONFIG_TC.tipo_contratista
AND led_docs.tipo_doc = CONFIG_TC.tipo_doc)
where led_docs.estado_doc IN ('I')
and led_docs.aprobacion_parcial = 1
and (led_docs.parcial_actualizado = 0 OR led_docs.parcial_actualizado IS NULL)
and led_contratistas.estado_contratista = 'A'
and led_contratistas_1.estado_contratista = 'A'
and led_docs.doc_id_lista IS NULL
and led_tipos_doc.tipo_doc_lista IS NULL
and led_contratista_multi.vigencia_desde <= GETDATE()
and (led_contratista_multi.vigencia_hasta IS NULL OR led_contratista_multi.vigencia_hasta >= GETDATE())
and led_contratista_multi.activo = 1
and clientes.estado_cliente = 'A'
and led_contratistas_1.contratista = @p_contratista
group by led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1,
led_contratistas.contratista, led_contratistas.cliente,
padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
padrones_1.identificador, padrones_1.numero, padrones_1.nombre_persona, identificadores_1.abreviatura,
led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,
clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email
UNION ALL
select led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1,
led_contratistas.contratista, led_contratistas.cliente,
padrones_1.identificador AS identificador_1,
padrones_1.numero AS numero_1,
padrones_1.nombre_persona AS nombre_persona_1,
identificadores_1.abreviatura AS abreviatura_1,
padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,
clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email
from led_contratistas
inner join led_contratistas AS led_contratistas_1 on led_contratistas.contratista_1 = led_contratistas_1.contratista
inner join clientes on led_contratistas.cliente = clientes.cliente
inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join identificadores on padrones.identificador = identificadores.identificador
inner join padrones padrones_1 on led_contratistas_1.id_padron = padrones_1.id_padron
inner join identificadores identificadores_1 on padrones_1.identificador = identificadores_1.identificador
inner join led_docs on led_contratistas.contratista = led_docs.contratista
inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
inner join led_subcontratista_periodo on (led_contratistas.contratista = led_subcontratista_periodo.subcontratista
and led_docs.periodo = led_subcontratista_periodo.periodo)
inner join users on led_contratistas_1.user_id = users.user_id
inner join led_contratista_multi on led_contratistas.contratista = led_contratista_multi.contratista
inner join
(select lcc.cliente, lcc.tipo_contratista, lcc.tipo_doc
from led_cliente_contratista lcc
where /*lcc.afecta_compliance = 1
and*/ lcc.requiere_upload = 1
and lcc.activo = 1
and lcc.ci_killer = 1) CONFIG_TC
ON (led_docs.cliente = CONFIG_TC.cliente
AND led_contratista_multi.tipo_contratista = CONFIG_TC.tipo_contratista
AND led_docs.tipo_doc = CONFIG_TC.tipo_doc)
where led_docs.estado_doc IN ('V')
and DATEDIFF(HOUR, GETDATE(), led_docs.fecha_vigencia) <= @p_horas_venc
and DATEDIFF(HOUR, GETDATE(), led_docs.fecha_vigencia) > 0
and led_docs.periodo = @periodo_actual
and led_contratistas.estado_contratista = 'A'
and led_contratistas_1.estado_contratista = 'A'
and led_docs.doc_id_lista IS NULL
and led_tipos_doc.tipo_doc_lista IS NULL
and led_contratista_multi.vigencia_desde <= GETDATE()
and (led_contratista_multi.vigencia_hasta IS NULL OR led_contratista_multi.vigencia_hasta >= GETDATE())
and led_contratista_multi.activo = 1
and clientes.estado_cliente = 'A'
and led_contratistas_1.contratista = @p_contratista
group by led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1,
led_contratistas.contratista, led_contratistas.cliente,
padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
padrones_1.identificador, padrones_1.numero, padrones_1.nombre_persona, identificadores_1.abreviatura,
led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,
clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email
ORDER BY nombre_persona, periodo, nombre_tipo_doc
END
END
END
END ELSE BEGIN
IF(@p_estado_doc = 'N' OR @p_estado_doc = 'R') BEGIN
/* no ingresados (pendientes) o rechazados */
select led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1,
led_contratistas.contratista, led_contratistas.cliente,
padrones_1.identificador AS identificador_1,
padrones_1.numero AS numero_1,
padrones_1.nombre_persona AS nombre_persona_1,
identificadores_1.abreviatura AS abreviatura_1,
padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,
clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email
from led_contratistas
inner join led_contratistas AS led_contratistas_1 on led_contratistas.contratista_1 = led_contratistas_1.contratista
inner join clientes on led_contratistas.cliente = clientes.cliente
inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join identificadores on padrones.identificador = identificadores.identificador
inner join padrones padrones_1 on led_contratistas_1.id_padron = padrones_1.id_padron
inner join identificadores identificadores_1 on padrones_1.identificador = identificadores_1.identificador
inner join led_docs on led_contratistas.contratista = led_docs.contratista
inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
inner join led_subcontratista_periodo on (led_contratistas.contratista = led_subcontratista_periodo.subcontratista
and led_docs.periodo = led_subcontratista_periodo.periodo)
inner join users on led_contratistas_1.user_id = users.user_id
inner join led_contratista_multi on led_contratistas.contratista = led_contratista_multi.contratista
inner join
(select lcc.cliente, lcc.tipo_contratista, lcc.tipo_doc
from led_cliente_contratista lcc
where /*lcc.afecta_compliance = 1
and*/ lcc.requiere_upload = 1
and lcc.activo = 1) CONFIG_TC
ON (led_docs.cliente = CONFIG_TC.cliente
AND led_contratista_multi.tipo_contratista = CONFIG_TC.tipo_contratista
AND led_docs.tipo_doc = CONFIG_TC.tipo_doc)
where led_docs.estado_doc IN (@p_estado_doc)
and led_contratistas.estado_contratista = 'A'
and led_contratistas_1.estado_contratista = 'A'
and led_docs.doc_id_lista IS NULL
and led_tipos_doc.tipo_doc_lista IS NULL
and led_contratista_multi.vigencia_desde <= GETDATE()
and (led_contratista_multi.vigencia_hasta IS NULL OR led_contratista_multi.vigencia_hasta >= GETDATE())
and led_contratista_multi.activo = 1
and clientes.estado_cliente = 'A'
and led_contratistas_1.contratista = @p_contratista
and led_contratistas.contratista = @p_subcontratista
group by led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1,
led_contratistas.contratista, led_contratistas.cliente,
padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
padrones_1.identificador, padrones_1.numero, padrones_1.nombre_persona, identificadores_1.abreviatura,
led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,
clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email
ORDER BY led_docs.periodo, led_tipos_doc.nombre_tipo_doc
END ELSE BEGIN
IF (@p_estado_doc = 'I') BEGIN
/* ingresados con aprobación parcial */
select led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1,
led_contratistas.contratista, led_contratistas.cliente,
padrones_1.identificador AS identificador_1,
padrones_1.numero AS numero_1,
padrones_1.nombre_persona AS nombre_persona_1,
identificadores_1.abreviatura AS abreviatura_1,
padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,
clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email
from led_contratistas
inner join led_contratistas AS led_contratistas_1 on led_contratistas.contratista_1 = led_contratistas_1.contratista
inner join clientes on led_contratistas.cliente = clientes.cliente
inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join identificadores on padrones.identificador = identificadores.identificador
inner join padrones padrones_1 on led_contratistas_1.id_padron = padrones_1.id_padron
inner join identificadores identificadores_1 on padrones_1.identificador = identificadores_1.identificador
inner join led_docs on led_contratistas.contratista = led_docs.contratista
inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
inner join led_subcontratista_periodo on (led_contratistas.contratista = led_subcontratista_periodo.subcontratista
and led_docs.periodo = led_subcontratista_periodo.periodo)
inner join users on led_contratistas_1.user_id = users.user_id
inner join led_contratista_multi on led_contratistas.contratista = led_contratista_multi.contratista
inner join
(select lcc.cliente, lcc.tipo_contratista, lcc.tipo_doc
from led_cliente_contratista lcc
where /*lcc.afecta_compliance = 1
and*/ lcc.requiere_upload = 1
and lcc.activo = 1) CONFIG_TC
ON (led_docs.cliente = CONFIG_TC.cliente
AND led_contratista_multi.tipo_contratista = CONFIG_TC.tipo_contratista
AND led_docs.tipo_doc = CONFIG_TC.tipo_doc)
where led_docs.estado_doc IN (@p_estado_doc)
and led_docs.aprobacion_parcial = 1
and (led_docs.parcial_actualizado = 0 OR led_docs.parcial_actualizado IS NULL)
and led_contratistas.estado_contratista = 'A'
and led_contratistas_1.estado_contratista = 'A'
and led_docs.doc_id_lista IS NULL
and led_tipos_doc.tipo_doc_lista IS NULL
and led_contratista_multi.vigencia_desde <= GETDATE()
and (led_contratista_multi.vigencia_hasta IS NULL OR led_contratista_multi.vigencia_hasta >= GETDATE())
and led_contratista_multi.activo = 1
and clientes.estado_cliente = 'A'
and led_contratistas_1.contratista = @p_contratista
and led_contratistas.contratista = @p_subcontratista
group by led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1,
led_contratistas.contratista, led_contratistas.cliente,
padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
padrones_1.identificador, padrones_1.numero, padrones_1.nombre_persona, identificadores_1.abreviatura,
led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,
clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email
ORDER BY led_docs.periodo, led_tipos_doc.nombre_tipo_doc
END ELSE BEGIN
IF (@p_estado_doc = 'V') BEGIN
/* Documentos verificados de acceso por vencer */
select led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1,
led_contratistas.contratista, led_contratistas.cliente,
padrones_1.identificador AS identificador_1,
padrones_1.numero AS numero_1,
padrones_1.nombre_persona AS nombre_persona_1,
identificadores_1.abreviatura AS abreviatura_1,
padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,
clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email
from led_contratistas
inner join led_contratistas AS led_contratistas_1 on led_contratistas.contratista_1 = led_contratistas_1.contratista
inner join clientes on led_contratistas.cliente = clientes.cliente
inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join identificadores on padrones.identificador = identificadores.identificador
inner join padrones padrones_1 on led_contratistas_1.id_padron = padrones_1.id_padron
inner join identificadores identificadores_1 on padrones_1.identificador = identificadores_1.identificador
inner join led_docs on led_contratistas.contratista = led_docs.contratista
inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
inner join led_subcontratista_periodo on (led_contratistas.contratista = led_subcontratista_periodo.subcontratista
and led_docs.periodo = led_subcontratista_periodo.periodo)
inner join users on led_contratistas_1.user_id = users.user_id
inner join led_contratista_multi on led_contratistas.contratista = led_contratista_multi.contratista
inner join
(select lcc.cliente, lcc.tipo_contratista, lcc.tipo_doc
from led_cliente_contratista lcc
where /*lcc.afecta_compliance = 1
and*/ lcc.requiere_upload = 1
and lcc.activo = 1
and lcc.ci_killer = 1) CONFIG_TC
ON (led_docs.cliente = CONFIG_TC.cliente
AND led_contratista_multi.tipo_contratista = CONFIG_TC.tipo_contratista
AND led_docs.tipo_doc = CONFIG_TC.tipo_doc)
where led_docs.estado_doc IN (@p_estado_doc)
and DATEDIFF(HOUR, GETDATE(), led_docs.fecha_vigencia) <= @p_horas_venc
and DATEDIFF(HOUR, GETDATE(), led_docs.fecha_vigencia) > 0
and led_docs.periodo = @periodo_actual
and led_contratistas.estado_contratista = 'A'
and led_contratistas_1.estado_contratista = 'A'
and led_docs.doc_id_lista IS NULL
and led_tipos_doc.tipo_doc_lista IS NULL
and led_contratista_multi.vigencia_desde <= GETDATE()
and (led_contratista_multi.vigencia_hasta IS NULL OR led_contratista_multi.vigencia_hasta >= GETDATE())
and led_contratista_multi.activo = 1
and clientes.estado_cliente = 'A'
and led_contratistas_1.contratista = @p_contratista
and led_contratistas.contratista = @p_subcontratista
group by led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1,
led_contratistas.contratista, led_contratistas.cliente,
padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
padrones_1.identificador, padrones_1.numero, padrones_1.nombre_persona, identificadores_1.abreviatura,
led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,
clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email
ORDER BY led_docs.periodo, led_tipos_doc.nombre_tipo_doc
END ELSE BEGIN
/* TODOS LOS ESTADOS */
select led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1,
led_contratistas.contratista, led_contratistas.cliente,
padrones_1.identificador AS identificador_1,
padrones_1.numero AS numero_1,
padrones_1.nombre_persona AS nombre_persona_1,
identificadores_1.abreviatura AS abreviatura_1,
padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,
clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email
from led_contratistas
inner join led_contratistas AS led_contratistas_1 on led_contratistas.contratista_1 = led_contratistas_1.contratista
inner join clientes on led_contratistas.cliente = clientes.cliente
inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join identificadores on padrones.identificador = identificadores.identificador
inner join padrones padrones_1 on led_contratistas_1.id_padron = padrones_1.id_padron
inner join identificadores identificadores_1 on padrones_1.identificador = identificadores_1.identificador
inner join led_docs on led_contratistas.contratista = led_docs.contratista
inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
inner join led_subcontratista_periodo on (led_contratistas.contratista = led_subcontratista_periodo.subcontratista
and led_docs.periodo = led_subcontratista_periodo.periodo)
inner join users on led_contratistas_1.user_id = users.user_id
inner join led_contratista_multi on led_contratistas.contratista = led_contratista_multi.contratista
inner join
(select lcc.cliente, lcc.tipo_contratista, lcc.tipo_doc
from led_cliente_contratista lcc
where /*lcc.afecta_compliance = 1
and*/ lcc.requiere_upload = 1
and lcc.activo = 1) CONFIG_TC
ON (led_docs.cliente = CONFIG_TC.cliente
AND led_contratista_multi.tipo_contratista = CONFIG_TC.tipo_contratista
AND led_docs.tipo_doc = CONFIG_TC.tipo_doc)
where led_docs.estado_doc IN ('N', 'R')
and led_contratistas.estado_contratista = 'A'
and led_contratistas_1.estado_contratista = 'A'
and led_docs.doc_id_lista IS NULL
and led_tipos_doc.tipo_doc_lista IS NULL
and led_contratista_multi.vigencia_desde <= GETDATE()
and (led_contratista_multi.vigencia_hasta IS NULL OR led_contratista_multi.vigencia_hasta >= GETDATE())
and led_contratista_multi.activo = 1
and clientes.estado_cliente = 'A'
and led_contratistas_1.contratista = @p_contratista
and led_contratistas.contratista = @p_subcontratista
group by led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1,
led_contratistas.contratista, led_contratistas.cliente,
padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
padrones_1.identificador, padrones_1.numero, padrones_1.nombre_persona, identificadores_1.abreviatura,
led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,
clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email
UNION ALL
select led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1,
led_contratistas.contratista, led_contratistas.cliente,
padrones_1.identificador AS identificador_1,
padrones_1.numero AS numero_1,
padrones_1.nombre_persona AS nombre_persona_1,
identificadores_1.abreviatura AS abreviatura_1,
padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,
clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email
from led_contratistas
inner join led_contratistas AS led_contratistas_1 on led_contratistas.contratista_1 = led_contratistas_1.contratista
inner join clientes on led_contratistas.cliente = clientes.cliente
inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join identificadores on padrones.identificador = identificadores.identificador
inner join padrones padrones_1 on led_contratistas_1.id_padron = padrones_1.id_padron
inner join identificadores identificadores_1 on padrones_1.identificador = identificadores_1.identificador
inner join led_docs on led_contratistas.contratista = led_docs.contratista
inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
inner join led_subcontratista_periodo on (led_contratistas.contratista = led_subcontratista_periodo.subcontratista
and led_docs.periodo = led_subcontratista_periodo.periodo)
inner join users on led_contratistas_1.user_id = users.user_id
inner join led_contratista_multi on led_contratistas.contratista = led_contratista_multi.contratista
inner join
(select lcc.cliente, lcc.tipo_contratista, lcc.tipo_doc
from led_cliente_contratista lcc
where /*lcc.afecta_compliance = 1
and*/ lcc.requiere_upload = 1
and lcc.activo = 1) CONFIG_TC
ON (led_docs.cliente = CONFIG_TC.cliente
AND led_contratista_multi.tipo_contratista = CONFIG_TC.tipo_contratista
AND led_docs.tipo_doc = CONFIG_TC.tipo_doc)
where led_docs.estado_doc IN ('I')
and led_docs.aprobacion_parcial = 1
and (led_docs.parcial_actualizado = 0 OR led_docs.parcial_actualizado IS NULL)
and led_contratistas.estado_contratista = 'A'
and led_contratistas_1.estado_contratista = 'A'
and led_docs.doc_id_lista IS NULL
and led_tipos_doc.tipo_doc_lista IS NULL
and led_contratista_multi.vigencia_desde <= GETDATE()
and (led_contratista_multi.vigencia_hasta IS NULL OR led_contratista_multi.vigencia_hasta >= GETDATE())
and led_contratista_multi.activo = 1
and clientes.estado_cliente = 'A'
and led_contratistas_1.contratista = @p_contratista
and led_contratistas.contratista = @p_subcontratista
group by led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1,
led_contratistas.contratista, led_contratistas.cliente,
padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
padrones_1.identificador, padrones_1.numero, padrones_1.nombre_persona, identificadores_1.abreviatura,
led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,
clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email
UNION ALL
select led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1,
led_contratistas.contratista, led_contratistas.cliente,
padrones_1.identificador AS identificador_1,
padrones_1.numero AS numero_1,
padrones_1.nombre_persona AS nombre_persona_1,
identificadores_1.abreviatura AS abreviatura_1,
padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,
clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email
from led_contratistas
inner join led_contratistas AS led_contratistas_1 on led_contratistas.contratista_1 = led_contratistas_1.contratista
inner join clientes on led_contratistas.cliente = clientes.cliente
inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join identificadores on padrones.identificador = identificadores.identificador
inner join padrones padrones_1 on led_contratistas_1.id_padron = padrones_1.id_padron
inner join identificadores identificadores_1 on padrones_1.identificador = identificadores_1.identificador
inner join led_docs on led_contratistas.contratista = led_docs.contratista
inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
inner join led_subcontratista_periodo on (led_contratistas.contratista = led_subcontratista_periodo.subcontratista
and led_docs.periodo = led_subcontratista_periodo.periodo)
inner join users on led_contratistas_1.user_id = users.user_id
inner join led_contratista_multi on led_contratistas.contratista = led_contratista_multi.contratista
inner join
(select lcc.cliente, lcc.tipo_contratista, lcc.tipo_doc
from led_cliente_contratista lcc
where /*lcc.afecta_compliance = 1
and*/ lcc.requiere_upload = 1
and lcc.activo = 1
and lcc.ci_killer = 1) CONFIG_TC
ON (led_docs.cliente = CONFIG_TC.cliente
AND led_contratista_multi.tipo_contratista = CONFIG_TC.tipo_contratista
AND led_docs.tipo_doc = CONFIG_TC.tipo_doc)
where led_docs.estado_doc IN ('V')
and DATEDIFF(HOUR, GETDATE(), led_docs.fecha_vigencia) <= @p_horas_venc
and DATEDIFF(HOUR, GETDATE(), led_docs.fecha_vigencia) > 0
and led_docs.periodo = @periodo_actual
and led_contratistas.estado_contratista = 'A'
and led_contratistas_1.estado_contratista = 'A'
and led_docs.doc_id_lista IS NULL
and led_tipos_doc.tipo_doc_lista IS NULL
and led_contratista_multi.vigencia_desde <= GETDATE()
and (led_contratista_multi.vigencia_hasta IS NULL OR led_contratista_multi.vigencia_hasta >= GETDATE())
and led_contratista_multi.activo = 1
and clientes.estado_cliente = 'A'
and led_contratistas_1.contratista = @p_contratista
and led_contratistas.contratista = @p_subcontratista
group by led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1,
led_contratistas.contratista, led_contratistas.cliente,
padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
padrones_1.identificador, padrones_1.numero, padrones_1.nombre_persona, identificadores_1.abreviatura,
led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,
clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email
ORDER BY nombre_persona, periodo, nombre_tipo_doc
END
END
END
END
END
GO
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE OR ALTER PROCEDURE dbo.Imperium_vista_contratista_Subcontratistas
-- Add the parameters for the stored procedure here
@p_contratista int,
@p_subcontratista int,
@p_estado_doc varchar(10),
@p_horas_venc int = 96
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 @periodo_actual INT = CONVERT(INT, CONVERT(VARCHAR(4),YEAR(GETDATE())) + RIGHT('00' + CONVERT(VARCHAR(2),MONTH(GETDATE())), 2))
IF (@p_subcontratista IS NULL) BEGIN
IF(@p_estado_doc = 'N' OR @p_estado_doc = 'R') BEGIN
/* no ingresados (pendientes) o rechazados */
select led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1,
led_contratistas.contratista, led_contratistas.cliente,
padrones_1.identificador AS identificador_1,
padrones_1.numero AS numero_1,
padrones_1.nombre_persona AS nombre_persona_1,
identificadores_1.abreviatura AS abreviatura_1,
padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,
clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email
from led_contratistas
inner join led_contratistas AS led_contratistas_1 on led_contratistas.contratista_1 = led_contratistas_1.contratista
inner join clientes on led_contratistas.cliente = clientes.cliente
inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join identificadores on padrones.identificador = identificadores.identificador
inner join padrones padrones_1 on led_contratistas_1.id_padron = padrones_1.id_padron
inner join identificadores identificadores_1 on padrones_1.identificador = identificadores_1.identificador
inner join led_docs on led_contratistas.contratista = led_docs.contratista
inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
inner join led_subcontratista_periodo on (led_contratistas.contratista = led_subcontratista_periodo.subcontratista
and led_docs.periodo = led_subcontratista_periodo.periodo)
inner join users on led_contratistas_1.user_id = users.user_id
inner join led_contratista_multi on led_contratistas.contratista = led_contratista_multi.contratista
inner join
(select lcc.cliente, lcc.tipo_contratista, lcc.tipo_doc
from led_cliente_contratista lcc
where /*lcc.afecta_compliance = 1
and*/ lcc.requiere_upload = 1
and lcc.activo = 1) CONFIG_TC
ON (led_docs.cliente = CONFIG_TC.cliente
AND led_contratista_multi.tipo_contratista = CONFIG_TC.tipo_contratista
AND led_docs.tipo_doc = CONFIG_TC.tipo_doc)
where led_docs.estado_doc IN (@p_estado_doc)
and led_contratistas.estado_contratista = 'A'
and led_contratistas_1.estado_contratista = 'A'
and led_docs.doc_id_lista IS NULL
and led_tipos_doc.tipo_doc_lista IS NULL
and led_contratista_multi.vigencia_desde <= GETDATE()
and (led_contratista_multi.vigencia_hasta IS NULL OR led_contratista_multi.vigencia_hasta >= GETDATE())
and led_contratista_multi.activo = 1
and clientes.estado_cliente = 'A'
and led_contratistas_1.contratista = @p_contratista
group by led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1,
led_contratistas.contratista, led_contratistas.cliente,
padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
padrones_1.identificador, padrones_1.numero, padrones_1.nombre_persona, identificadores_1.abreviatura,
led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,
clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email
ORDER BY led_docs.periodo, led_tipos_doc.nombre_tipo_doc
END ELSE BEGIN
IF (@p_estado_doc = 'I') BEGIN
/* ingresados con aprobación parcial */
select led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1,
led_contratistas.contratista, led_contratistas.cliente,
padrones_1.identificador AS identificador_1,
padrones_1.numero AS numero_1,
padrones_1.nombre_persona AS nombre_persona_1,
identificadores_1.abreviatura AS abreviatura_1,
padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,
clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email
from led_contratistas
inner join led_contratistas AS led_contratistas_1 on led_contratistas.contratista_1 = led_contratistas_1.contratista
inner join clientes on led_contratistas.cliente = clientes.cliente
inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join identificadores on padrones.identificador = identificadores.identificador
inner join padrones padrones_1 on led_contratistas_1.id_padron = padrones_1.id_padron
inner join identificadores identificadores_1 on padrones_1.identificador = identificadores_1.identificador
inner join led_docs on led_contratistas.contratista = led_docs.contratista
inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
inner join led_subcontratista_periodo on (led_contratistas.contratista = led_subcontratista_periodo.subcontratista
and led_docs.periodo = led_subcontratista_periodo.periodo)
inner join users on led_contratistas_1.user_id = users.user_id
inner join led_contratista_multi on led_contratistas.contratista = led_contratista_multi.contratista
inner join
(select lcc.cliente, lcc.tipo_contratista, lcc.tipo_doc
from led_cliente_contratista lcc
where /*lcc.afecta_compliance = 1
and*/ lcc.requiere_upload = 1
and lcc.activo = 1) CONFIG_TC
ON (led_docs.cliente = CONFIG_TC.cliente
AND led_contratista_multi.tipo_contratista = CONFIG_TC.tipo_contratista
AND led_docs.tipo_doc = CONFIG_TC.tipo_doc)
where led_docs.estado_doc IN (@p_estado_doc)
and led_docs.aprobacion_parcial = 1
and (led_docs.parcial_actualizado = 0 OR led_docs.parcial_actualizado IS NULL)
and led_contratistas.estado_contratista = 'A'
and led_contratistas_1.estado_contratista = 'A'
and led_docs.doc_id_lista IS NULL
and led_tipos_doc.tipo_doc_lista IS NULL
and led_contratista_multi.vigencia_desde <= GETDATE()
and (led_contratista_multi.vigencia_hasta IS NULL OR led_contratista_multi.vigencia_hasta >= GETDATE())
and led_contratista_multi.activo = 1
and clientes.estado_cliente = 'A'
and led_contratistas_1.contratista = @p_contratista
group by led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1,
led_contratistas.contratista, led_contratistas.cliente,
padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
padrones_1.identificador, padrones_1.numero, padrones_1.nombre_persona, identificadores_1.abreviatura,
led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,
clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email
ORDER BY led_docs.periodo, led_tipos_doc.nombre_tipo_doc
END ELSE BEGIN
IF (@p_estado_doc = 'V') BEGIN
/* Documentos verificados de acceso por vencer */
select led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1,
led_contratistas.contratista, led_contratistas.cliente,
padrones_1.identificador AS identificador_1,
padrones_1.numero AS numero_1,
padrones_1.nombre_persona AS nombre_persona_1,
identificadores_1.abreviatura AS abreviatura_1,
padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,
clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email
from led_contratistas
inner join led_contratistas AS led_contratistas_1 on led_contratistas.contratista_1 = led_contratistas_1.contratista
inner join clientes on led_contratistas.cliente = clientes.cliente
inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join identificadores on padrones.identificador = identificadores.identificador
inner join padrones padrones_1 on led_contratistas_1.id_padron = padrones_1.id_padron
inner join identificadores identificadores_1 on padrones_1.identificador = identificadores_1.identificador
inner join led_docs on led_contratistas.contratista = led_docs.contratista
inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
inner join led_subcontratista_periodo on (led_contratistas.contratista = led_subcontratista_periodo.subcontratista
and led_docs.periodo = led_subcontratista_periodo.periodo)
inner join users on led_contratistas_1.user_id = users.user_id
inner join led_contratista_multi on led_contratistas.contratista = led_contratista_multi.contratista
inner join
(select lcc.cliente, lcc.tipo_contratista, lcc.tipo_doc
from led_cliente_contratista lcc
where /*lcc.afecta_compliance = 1
and*/ lcc.requiere_upload = 1
and lcc.activo = 1
and lcc.ci_killer = 1) CONFIG_TC
ON (led_docs.cliente = CONFIG_TC.cliente
AND led_contratista_multi.tipo_contratista = CONFIG_TC.tipo_contratista
AND led_docs.tipo_doc = CONFIG_TC.tipo_doc)
where led_docs.estado_doc IN (@p_estado_doc)
and DATEDIFF(HOUR, GETDATE(), led_docs.fecha_vigencia) <= @p_horas_venc
and DATEDIFF(HOUR, GETDATE(), led_docs.fecha_vigencia) > 0
and led_docs.periodo = @periodo_actual
and led_contratistas.estado_contratista = 'A'
and led_contratistas_1.estado_contratista = 'A'
and led_docs.doc_id_lista IS NULL
and led_tipos_doc.tipo_doc_lista IS NULL
and led_contratista_multi.vigencia_desde <= GETDATE()
and (led_contratista_multi.vigencia_hasta IS NULL OR led_contratista_multi.vigencia_hasta >= GETDATE())
and led_contratista_multi.activo = 1
and clientes.estado_cliente = 'A'
and led_contratistas_1.contratista = @p_contratista
group by led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1,
led_contratistas.contratista, led_contratistas.cliente,
padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
padrones_1.identificador, padrones_1.numero, padrones_1.nombre_persona, identificadores_1.abreviatura,
led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,
clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email
ORDER BY led_docs.periodo, led_tipos_doc.nombre_tipo_doc
END ELSE BEGIN
/* TODOS LOS ESTADOS */
select led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1,
led_contratistas.contratista, led_contratistas.cliente,
padrones_1.identificador AS identificador_1,
padrones_1.numero AS numero_1,
padrones_1.nombre_persona AS nombre_persona_1,
identificadores_1.abreviatura AS abreviatura_1,
padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,
clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email
from led_contratistas
inner join led_contratistas AS led_contratistas_1 on led_contratistas.contratista_1 = led_contratistas_1.contratista
inner join clientes on led_contratistas.cliente = clientes.cliente
inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join identificadores on padrones.identificador = identificadores.identificador
inner join padrones padrones_1 on led_contratistas_1.id_padron = padrones_1.id_padron
inner join identificadores identificadores_1 on padrones_1.identificador = identificadores_1.identificador
inner join led_docs on led_contratistas.contratista = led_docs.contratista
inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
inner join led_subcontratista_periodo on (led_contratistas.contratista = led_subcontratista_periodo.subcontratista
and led_docs.periodo = led_subcontratista_periodo.periodo)
inner join users on led_contratistas_1.user_id = users.user_id
inner join led_contratista_multi on led_contratistas.contratista = led_contratista_multi.contratista
inner join
(select lcc.cliente, lcc.tipo_contratista, lcc.tipo_doc
from led_cliente_contratista lcc
where /*lcc.afecta_compliance = 1
and*/ lcc.requiere_upload = 1
and lcc.activo = 1) CONFIG_TC
ON (led_docs.cliente = CONFIG_TC.cliente
AND led_contratista_multi.tipo_contratista = CONFIG_TC.tipo_contratista
AND led_docs.tipo_doc = CONFIG_TC.tipo_doc)
where led_docs.estado_doc IN ('N', 'R')
and led_contratistas.estado_contratista = 'A'
and led_contratistas_1.estado_contratista = 'A'
and led_docs.doc_id_lista IS NULL
and led_tipos_doc.tipo_doc_lista IS NULL
and led_contratista_multi.vigencia_desde <= GETDATE()
and (led_contratista_multi.vigencia_hasta IS NULL OR led_contratista_multi.vigencia_hasta >= GETDATE())
and led_contratista_multi.activo = 1
and clientes.estado_cliente = 'A'
and led_contratistas_1.contratista = @p_contratista
group by led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1,
led_contratistas.contratista, led_contratistas.cliente,
padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
padrones_1.identificador, padrones_1.numero, padrones_1.nombre_persona, identificadores_1.abreviatura,
led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,
clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email
UNION ALL
select led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1,
led_contratistas.contratista, led_contratistas.cliente,
padrones_1.identificador AS identificador_1,
padrones_1.numero AS numero_1,
padrones_1.nombre_persona AS nombre_persona_1,
identificadores_1.abreviatura AS abreviatura_1,
padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,
clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email
from led_contratistas
inner join led_contratistas AS led_contratistas_1 on led_contratistas.contratista_1 = led_contratistas_1.contratista
inner join clientes on led_contratistas.cliente = clientes.cliente
inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join identificadores on padrones.identificador = identificadores.identificador
inner join padrones padrones_1 on led_contratistas_1.id_padron = padrones_1.id_padron
inner join identificadores identificadores_1 on padrones_1.identificador = identificadores_1.identificador
inner join led_docs on led_contratistas.contratista = led_docs.contratista
inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
inner join led_subcontratista_periodo on (led_contratistas.contratista = led_subcontratista_periodo.subcontratista
and led_docs.periodo = led_subcontratista_periodo.periodo)
inner join users on led_contratistas_1.user_id = users.user_id
inner join led_contratista_multi on led_contratistas.contratista = led_contratista_multi.contratista
inner join
(select lcc.cliente, lcc.tipo_contratista, lcc.tipo_doc
from led_cliente_contratista lcc
where /*lcc.afecta_compliance = 1
and*/ lcc.requiere_upload = 1
and lcc.activo = 1) CONFIG_TC
ON (led_docs.cliente = CONFIG_TC.cliente
AND led_contratista_multi.tipo_contratista = CONFIG_TC.tipo_contratista
AND led_docs.tipo_doc = CONFIG_TC.tipo_doc)
where led_docs.estado_doc IN ('I')
and led_docs.aprobacion_parcial = 1
and (led_docs.parcial_actualizado = 0 OR led_docs.parcial_actualizado IS NULL)
and led_contratistas.estado_contratista = 'A'
and led_contratistas_1.estado_contratista = 'A'
and led_docs.doc_id_lista IS NULL
and led_tipos_doc.tipo_doc_lista IS NULL
and led_contratista_multi.vigencia_desde <= GETDATE()
and (led_contratista_multi.vigencia_hasta IS NULL OR led_contratista_multi.vigencia_hasta >= GETDATE())
and led_contratista_multi.activo = 1
and clientes.estado_cliente = 'A'
and led_contratistas_1.contratista = @p_contratista
group by led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1,
led_contratistas.contratista, led_contratistas.cliente,
padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
padrones_1.identificador, padrones_1.numero, padrones_1.nombre_persona, identificadores_1.abreviatura,
led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,
clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email
UNION ALL
select led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1,
led_contratistas.contratista, led_contratistas.cliente,
padrones_1.identificador AS identificador_1,
padrones_1.numero AS numero_1,
padrones_1.nombre_persona AS nombre_persona_1,
identificadores_1.abreviatura AS abreviatura_1,
padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,
clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email
from led_contratistas
inner join led_contratistas AS led_contratistas_1 on led_contratistas.contratista_1 = led_contratistas_1.contratista
inner join clientes on led_contratistas.cliente = clientes.cliente
inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join identificadores on padrones.identificador = identificadores.identificador
inner join padrones padrones_1 on led_contratistas_1.id_padron = padrones_1.id_padron
inner join identificadores identificadores_1 on padrones_1.identificador = identificadores_1.identificador
inner join led_docs on led_contratistas.contratista = led_docs.contratista
inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
inner join led_subcontratista_periodo on (led_contratistas.contratista = led_subcontratista_periodo.subcontratista
and led_docs.periodo = led_subcontratista_periodo.periodo)
inner join users on led_contratistas_1.user_id = users.user_id
inner join led_contratista_multi on led_contratistas.contratista = led_contratista_multi.contratista
inner join
(select lcc.cliente, lcc.tipo_contratista, lcc.tipo_doc
from led_cliente_contratista lcc
where /*lcc.afecta_compliance = 1
and*/ lcc.requiere_upload = 1
and lcc.activo = 1
and lcc.ci_killer = 1) CONFIG_TC
ON (led_docs.cliente = CONFIG_TC.cliente
AND led_contratista_multi.tipo_contratista = CONFIG_TC.tipo_contratista
AND led_docs.tipo_doc = CONFIG_TC.tipo_doc)
where led_docs.estado_doc IN ('V')
and DATEDIFF(HOUR, GETDATE(), led_docs.fecha_vigencia) <= @p_horas_venc
and DATEDIFF(HOUR, GETDATE(), led_docs.fecha_vigencia) > 0
and led_docs.periodo = @periodo_actual
and led_contratistas.estado_contratista = 'A'
and led_contratistas_1.estado_contratista = 'A'
and led_docs.doc_id_lista IS NULL
and led_tipos_doc.tipo_doc_lista IS NULL
and led_contratista_multi.vigencia_desde <= GETDATE()
and (led_contratista_multi.vigencia_hasta IS NULL OR led_contratista_multi.vigencia_hasta >= GETDATE())
and led_contratista_multi.activo = 1
and clientes.estado_cliente = 'A'
and led_contratistas_1.contratista = @p_contratista
group by led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1,
led_contratistas.contratista, led_contratistas.cliente,
padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
padrones_1.identificador, padrones_1.numero, padrones_1.nombre_persona, identificadores_1.abreviatura,
led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,
clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email
ORDER BY nombre_persona, periodo, nombre_tipo_doc
END
END
END
END ELSE BEGIN
IF(@p_estado_doc = 'N' OR @p_estado_doc = 'R') BEGIN
/* no ingresados (pendientes) o rechazados */
select led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1,
led_contratistas.contratista, led_contratistas.cliente,
padrones_1.identificador AS identificador_1,
padrones_1.numero AS numero_1,
padrones_1.nombre_persona AS nombre_persona_1,
identificadores_1.abreviatura AS abreviatura_1,
padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,
clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email
from led_contratistas
inner join led_contratistas AS led_contratistas_1 on led_contratistas.contratista_1 = led_contratistas_1.contratista
inner join clientes on led_contratistas.cliente = clientes.cliente
inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join identificadores on padrones.identificador = identificadores.identificador
inner join padrones padrones_1 on led_contratistas_1.id_padron = padrones_1.id_padron
inner join identificadores identificadores_1 on padrones_1.identificador = identificadores_1.identificador
inner join led_docs on led_contratistas.contratista = led_docs.contratista
inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
inner join led_subcontratista_periodo on (led_contratistas.contratista = led_subcontratista_periodo.subcontratista
and led_docs.periodo = led_subcontratista_periodo.periodo)
inner join users on led_contratistas_1.user_id = users.user_id
inner join led_contratista_multi on led_contratistas.contratista = led_contratista_multi.contratista
inner join
(select lcc.cliente, lcc.tipo_contratista, lcc.tipo_doc
from led_cliente_contratista lcc
where /*lcc.afecta_compliance = 1
and*/ lcc.requiere_upload = 1
and lcc.activo = 1) CONFIG_TC
ON (led_docs.cliente = CONFIG_TC.cliente
AND led_contratista_multi.tipo_contratista = CONFIG_TC.tipo_contratista
AND led_docs.tipo_doc = CONFIG_TC.tipo_doc)
where led_docs.estado_doc IN (@p_estado_doc)
and led_contratistas.estado_contratista = 'A'
and led_contratistas_1.estado_contratista = 'A'
and led_docs.doc_id_lista IS NULL
and led_tipos_doc.tipo_doc_lista IS NULL
and led_contratista_multi.vigencia_desde <= GETDATE()
and (led_contratista_multi.vigencia_hasta IS NULL OR led_contratista_multi.vigencia_hasta >= GETDATE())
and led_contratista_multi.activo = 1
and clientes.estado_cliente = 'A'
and led_contratistas_1.contratista = @p_contratista
and led_contratistas.contratista = @p_subcontratista
group by led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1,
led_contratistas.contratista, led_contratistas.cliente,
padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
padrones_1.identificador, padrones_1.numero, padrones_1.nombre_persona, identificadores_1.abreviatura,
led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,
clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email
ORDER BY led_docs.periodo, led_tipos_doc.nombre_tipo_doc
END ELSE BEGIN
IF (@p_estado_doc = 'I') BEGIN
/* ingresados con aprobación parcial */
select led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1,
led_contratistas.contratista, led_contratistas.cliente,
padrones_1.identificador AS identificador_1,
padrones_1.numero AS numero_1,
padrones_1.nombre_persona AS nombre_persona_1,
identificadores_1.abreviatura AS abreviatura_1,
padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,
clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email
from led_contratistas
inner join led_contratistas AS led_contratistas_1 on led_contratistas.contratista_1 = led_contratistas_1.contratista
inner join clientes on led_contratistas.cliente = clientes.cliente
inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join identificadores on padrones.identificador = identificadores.identificador
inner join padrones padrones_1 on led_contratistas_1.id_padron = padrones_1.id_padron
inner join identificadores identificadores_1 on padrones_1.identificador = identificadores_1.identificador
inner join led_docs on led_contratistas.contratista = led_docs.contratista
inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
inner join led_subcontratista_periodo on (led_contratistas.contratista = led_subcontratista_periodo.subcontratista
and led_docs.periodo = led_subcontratista_periodo.periodo)
inner join users on led_contratistas_1.user_id = users.user_id
inner join led_contratista_multi on led_contratistas.contratista = led_contratista_multi.contratista
inner join
(select lcc.cliente, lcc.tipo_contratista, lcc.tipo_doc
from led_cliente_contratista lcc
where /*lcc.afecta_compliance = 1
and*/ lcc.requiere_upload = 1
and lcc.activo = 1) CONFIG_TC
ON (led_docs.cliente = CONFIG_TC.cliente
AND led_contratista_multi.tipo_contratista = CONFIG_TC.tipo_contratista
AND led_docs.tipo_doc = CONFIG_TC.tipo_doc)
where led_docs.estado_doc IN (@p_estado_doc)
and led_docs.aprobacion_parcial = 1
and (led_docs.parcial_actualizado = 0 OR led_docs.parcial_actualizado IS NULL)
and led_contratistas.estado_contratista = 'A'
and led_contratistas_1.estado_contratista = 'A'
and led_docs.doc_id_lista IS NULL
and led_tipos_doc.tipo_doc_lista IS NULL
and led_contratista_multi.vigencia_desde <= GETDATE()
and (led_contratista_multi.vigencia_hasta IS NULL OR led_contratista_multi.vigencia_hasta >= GETDATE())
and led_contratista_multi.activo = 1
and clientes.estado_cliente = 'A'
and led_contratistas_1.contratista = @p_contratista
and led_contratistas.contratista = @p_subcontratista
group by led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1,
led_contratistas.contratista, led_contratistas.cliente,
padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
padrones_1.identificador, padrones_1.numero, padrones_1.nombre_persona, identificadores_1.abreviatura,
led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,
clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email
ORDER BY led_docs.periodo, led_tipos_doc.nombre_tipo_doc
END ELSE BEGIN
IF (@p_estado_doc = 'V') BEGIN
/* Documentos verificados de acceso por vencer */
select led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1,
led_contratistas.contratista, led_contratistas.cliente,
padrones_1.identificador AS identificador_1,
padrones_1.numero AS numero_1,
padrones_1.nombre_persona AS nombre_persona_1,
identificadores_1.abreviatura AS abreviatura_1,
padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,
clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email
from led_contratistas
inner join led_contratistas AS led_contratistas_1 on led_contratistas.contratista_1 = led_contratistas_1.contratista
inner join clientes on led_contratistas.cliente = clientes.cliente
inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join identificadores on padrones.identificador = identificadores.identificador
inner join padrones padrones_1 on led_contratistas_1.id_padron = padrones_1.id_padron
inner join identificadores identificadores_1 on padrones_1.identificador = identificadores_1.identificador
inner join led_docs on led_contratistas.contratista = led_docs.contratista
inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
inner join led_subcontratista_periodo on (led_contratistas.contratista = led_subcontratista_periodo.subcontratista
and led_docs.periodo = led_subcontratista_periodo.periodo)
inner join users on led_contratistas_1.user_id = users.user_id
inner join led_contratista_multi on led_contratistas.contratista = led_contratista_multi.contratista
inner join
(select lcc.cliente, lcc.tipo_contratista, lcc.tipo_doc
from led_cliente_contratista lcc
where /*lcc.afecta_compliance = 1
and*/ lcc.requiere_upload = 1
and lcc.activo = 1
and lcc.ci_killer = 1) CONFIG_TC
ON (led_docs.cliente = CONFIG_TC.cliente
AND led_contratista_multi.tipo_contratista = CONFIG_TC.tipo_contratista
AND led_docs.tipo_doc = CONFIG_TC.tipo_doc)
where led_docs.estado_doc IN (@p_estado_doc)
and DATEDIFF(HOUR, GETDATE(), led_docs.fecha_vigencia) <= @p_horas_venc
and DATEDIFF(HOUR, GETDATE(), led_docs.fecha_vigencia) > 0
and led_docs.periodo = @periodo_actual
and led_contratistas.estado_contratista = 'A'
and led_contratistas_1.estado_contratista = 'A'
and led_docs.doc_id_lista IS NULL
and led_tipos_doc.tipo_doc_lista IS NULL
and led_contratista_multi.vigencia_desde <= GETDATE()
and (led_contratista_multi.vigencia_hasta IS NULL OR led_contratista_multi.vigencia_hasta >= GETDATE())
and led_contratista_multi.activo = 1
and clientes.estado_cliente = 'A'
and led_contratistas_1.contratista = @p_contratista
and led_contratistas.contratista = @p_subcontratista
group by led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1,
led_contratistas.contratista, led_contratistas.cliente,
padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
padrones_1.identificador, padrones_1.numero, padrones_1.nombre_persona, identificadores_1.abreviatura,
led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,
clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email
ORDER BY led_docs.periodo, led_tipos_doc.nombre_tipo_doc
END ELSE BEGIN
/* TODOS LOS ESTADOS */
select led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1,
led_contratistas.contratista, led_contratistas.cliente,
padrones_1.identificador AS identificador_1,
padrones_1.numero AS numero_1,
padrones_1.nombre_persona AS nombre_persona_1,
identificadores_1.abreviatura AS abreviatura_1,
padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,
clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email
from led_contratistas
inner join led_contratistas AS led_contratistas_1 on led_contratistas.contratista_1 = led_contratistas_1.contratista
inner join clientes on led_contratistas.cliente = clientes.cliente
inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join identificadores on padrones.identificador = identificadores.identificador
inner join padrones padrones_1 on led_contratistas_1.id_padron = padrones_1.id_padron
inner join identificadores identificadores_1 on padrones_1.identificador = identificadores_1.identificador
inner join led_docs on led_contratistas.contratista = led_docs.contratista
inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
inner join led_subcontratista_periodo on (led_contratistas.contratista = led_subcontratista_periodo.subcontratista
and led_docs.periodo = led_subcontratista_periodo.periodo)
inner join users on led_contratistas_1.user_id = users.user_id
inner join led_contratista_multi on led_contratistas.contratista = led_contratista_multi.contratista
inner join
(select lcc.cliente, lcc.tipo_contratista, lcc.tipo_doc
from led_cliente_contratista lcc
where /*lcc.afecta_compliance = 1
and*/ lcc.requiere_upload = 1
and lcc.activo = 1) CONFIG_TC
ON (led_docs.cliente = CONFIG_TC.cliente
AND led_contratista_multi.tipo_contratista = CONFIG_TC.tipo_contratista
AND led_docs.tipo_doc = CONFIG_TC.tipo_doc)
where led_docs.estado_doc IN ('N', 'R')
and led_contratistas.estado_contratista = 'A'
and led_contratistas_1.estado_contratista = 'A'
and led_docs.doc_id_lista IS NULL
and led_tipos_doc.tipo_doc_lista IS NULL
and led_contratista_multi.vigencia_desde <= GETDATE()
and (led_contratista_multi.vigencia_hasta IS NULL OR led_contratista_multi.vigencia_hasta >= GETDATE())
and led_contratista_multi.activo = 1
and clientes.estado_cliente = 'A'
and led_contratistas_1.contratista = @p_contratista
and led_contratistas.contratista = @p_subcontratista
group by led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1,
led_contratistas.contratista, led_contratistas.cliente,
padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
padrones_1.identificador, padrones_1.numero, padrones_1.nombre_persona, identificadores_1.abreviatura,
led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,
clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email
UNION ALL
select led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1,
led_contratistas.contratista, led_contratistas.cliente,
padrones_1.identificador AS identificador_1,
padrones_1.numero AS numero_1,
padrones_1.nombre_persona AS nombre_persona_1,
identificadores_1.abreviatura AS abreviatura_1,
padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,
clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email
from led_contratistas
inner join led_contratistas AS led_contratistas_1 on led_contratistas.contratista_1 = led_contratistas_1.contratista
inner join clientes on led_contratistas.cliente = clientes.cliente
inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join identificadores on padrones.identificador = identificadores.identificador
inner join padrones padrones_1 on led_contratistas_1.id_padron = padrones_1.id_padron
inner join identificadores identificadores_1 on padrones_1.identificador = identificadores_1.identificador
inner join led_docs on led_contratistas.contratista = led_docs.contratista
inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
inner join led_subcontratista_periodo on (led_contratistas.contratista = led_subcontratista_periodo.subcontratista
and led_docs.periodo = led_subcontratista_periodo.periodo)
inner join users on led_contratistas_1.user_id = users.user_id
inner join led_contratista_multi on led_contratistas.contratista = led_contratista_multi.contratista
inner join
(select lcc.cliente, lcc.tipo_contratista, lcc.tipo_doc
from led_cliente_contratista lcc
where /*lcc.afecta_compliance = 1
and*/ lcc.requiere_upload = 1
and lcc.activo = 1) CONFIG_TC
ON (led_docs.cliente = CONFIG_TC.cliente
AND led_contratista_multi.tipo_contratista = CONFIG_TC.tipo_contratista
AND led_docs.tipo_doc = CONFIG_TC.tipo_doc)
where led_docs.estado_doc IN ('I')
and led_docs.aprobacion_parcial = 1
and (led_docs.parcial_actualizado = 0 OR led_docs.parcial_actualizado IS NULL)
and led_contratistas.estado_contratista = 'A'
and led_contratistas_1.estado_contratista = 'A'
and led_docs.doc_id_lista IS NULL
and led_tipos_doc.tipo_doc_lista IS NULL
and led_contratista_multi.vigencia_desde <= GETDATE()
and (led_contratista_multi.vigencia_hasta IS NULL OR led_contratista_multi.vigencia_hasta >= GETDATE())
and led_contratista_multi.activo = 1
and clientes.estado_cliente = 'A'
and led_contratistas_1.contratista = @p_contratista
and led_contratistas.contratista = @p_subcontratista
group by led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1,
led_contratistas.contratista, led_contratistas.cliente,
padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
padrones_1.identificador, padrones_1.numero, padrones_1.nombre_persona, identificadores_1.abreviatura,
led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,
clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email
UNION ALL
select led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1,
led_contratistas.contratista, led_contratistas.cliente,
padrones_1.identificador AS identificador_1,
padrones_1.numero AS numero_1,
padrones_1.nombre_persona AS nombre_persona_1,
identificadores_1.abreviatura AS abreviatura_1,
padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,
clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email
from led_contratistas
inner join led_contratistas AS led_contratistas_1 on led_contratistas.contratista_1 = led_contratistas_1.contratista
inner join clientes on led_contratistas.cliente = clientes.cliente
inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join identificadores on padrones.identificador = identificadores.identificador
inner join padrones padrones_1 on led_contratistas_1.id_padron = padrones_1.id_padron
inner join identificadores identificadores_1 on padrones_1.identificador = identificadores_1.identificador
inner join led_docs on led_contratistas.contratista = led_docs.contratista
inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
inner join led_subcontratista_periodo on (led_contratistas.contratista = led_subcontratista_periodo.subcontratista
and led_docs.periodo = led_subcontratista_periodo.periodo)
inner join users on led_contratistas_1.user_id = users.user_id
inner join led_contratista_multi on led_contratistas.contratista = led_contratista_multi.contratista
inner join
(select lcc.cliente, lcc.tipo_contratista, lcc.tipo_doc
from led_cliente_contratista lcc
where /*lcc.afecta_compliance = 1
and*/ lcc.requiere_upload = 1
and lcc.activo = 1
and lcc.ci_killer = 1) CONFIG_TC
ON (led_docs.cliente = CONFIG_TC.cliente
AND led_contratista_multi.tipo_contratista = CONFIG_TC.tipo_contratista
AND led_docs.tipo_doc = CONFIG_TC.tipo_doc)
where led_docs.estado_doc IN ('V')
and DATEDIFF(HOUR, GETDATE(), led_docs.fecha_vigencia) <= @p_horas_venc
and DATEDIFF(HOUR, GETDATE(), led_docs.fecha_vigencia) > 0
and led_docs.periodo = @periodo_actual
and led_contratistas.estado_contratista = 'A'
and led_contratistas_1.estado_contratista = 'A'
and led_docs.doc_id_lista IS NULL
and led_tipos_doc.tipo_doc_lista IS NULL
and led_contratista_multi.vigencia_desde <= GETDATE()
and (led_contratista_multi.vigencia_hasta IS NULL OR led_contratista_multi.vigencia_hasta >= GETDATE())
and led_contratista_multi.activo = 1
and clientes.estado_cliente = 'A'
and led_contratistas_1.contratista = @p_contratista
and led_contratistas.contratista = @p_subcontratista
group by led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1,
led_contratistas.contratista, led_contratistas.cliente,
padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
padrones_1.identificador, padrones_1.numero, padrones_1.nombre_persona, identificadores_1.abreviatura,
led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,
clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email
ORDER BY nombre_persona, periodo, nombre_tipo_doc
END
END
END
END
END
GO
Depends On
10Used By
No items found