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_contratista_1 | int | 4 | |
| @p_status_doc | varchar | 20 | |
| @p_contratista | int | 4 | |
| @p_periodo_desde | int | 4 | |
| @p_periodo_hasta | int | 4 | |
| @p_led_seccion | varchar | 1 | |
| @p_acceso | tinyint | 1 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
CREATE OR ALTER PROCEDURE dbo.Imperium_vista_contratista_Historial_ANT
-- Add the parameters for the stored procedure here
/* Parámetro contratista 1 no puede ser nulo */
@p_contratista_1 int,
@p_status_doc varchar(20),
@p_contratista int,
@p_periodo_desde int,
@p_periodo_hasta int,
@p_led_seccion varchar(1),
@p_acceso tinyint
/*
@p_contratista : para pedir documentación de un subcontratista
@p_status_doc es la lista separada por "," de estados de documentos a seleccionar,
representada cada opción por 1 letra:
E = vencidos
N = pendientes de carga
R = rechazados
P = verificados parciales
I = ingresados pendientes de verificar
V = verificados
@p_acceso, si > 0 filtra por documentos killer de control de acceso
*/
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
DECLARE @cliente INT
SET @cliente = (select led_contratistas.cliente from led_contratistas where led_contratistas.contratista = @p_contratista_1)
-- Insert statements for procedure here
IF (@p_contratista_1 > 0 AND @p_status_doc IS NOT NULL)
BEGIN
/*IF (@p_led_seccion IS NULL)
BEGIN
SET @p_led_seccion = 'C'
END*/
/* Cota máxima 12 meses */
IF (@p_periodo_desde IS NULL)
BEGIN
SET @p_periodo_desde = dbo.PeriodoAnual()
END
DECLARE @acceso varchar(5) = '0,1'
IF (@p_acceso > 0)
begin
SET @acceso = '1'
end
/*IF (@lista_tipos_doc <> '') BEGIN*/
IF (@p_led_seccion = 'C') BEGIN
IF (@p_contratista IS NULL) BEGIN
IF (@p_periodo_desde IS NULL AND @p_periodo_hasta IS NULL)
/* Seccion C, todas las empresas, sin filtro por período */
SELECT led_docs.doc_id, led_docs.cliente, led_docs.contratista_1, led_docs.contratista,
led_docs.led_seccion, led_docs.periodo, led_docs.fecha_tolerancia,
led_docs.fecha_vigencia, led_docs.aprobacion_parcial, led_docs.status_doc,
led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN led_docs.status_doc = 'R' THEN 1
WHEN led_docs.status_doc = 'E' THEN 2
WHEN led_docs.status_doc = 'P' THEN 3
WHEN led_docs.status_doc = 'N' THEN 4
WHEN led_docs.status_doc = 'I' THEN 5
WHEN led_docs.status_doc = 'V' THEN 6 END AS orden_status
FROM led_docs
INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_cliente_contratista ON (led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
AND led_docs.tipo_doc = led_cliente_contratista.tipo_doc
AND led_cliente_contratista.requiere_upload = 1
AND led_cliente_contratista.cliente = @cliente
AND led_cliente_contratista.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
INNER JOIN led_contratista_periodo ON (led_contratistas_1.contratista = led_contratista_periodo.contratista
AND led_docs.periodo = led_contratista_periodo.periodo)
WHERE led_docs.contratista_1 = @p_contratista_1
AND led_contratistas.contratista_1 = led_contratistas.contratista
AND led_docs.led_seccion = @p_led_seccion
UNION
SELECT led_docs.doc_id, led_docs.cliente, led_docs.contratista_1, led_docs.contratista,
led_docs.led_seccion, led_docs.periodo, led_docs.fecha_tolerancia,
led_docs.fecha_vigencia, led_docs.aprobacion_parcial, led_docs.status_doc,
led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN led_docs.status_doc = 'R' THEN 1
WHEN led_docs.status_doc = 'E' THEN 2
WHEN led_docs.status_doc = 'P' THEN 3
WHEN led_docs.status_doc = 'N' THEN 4
WHEN led_docs.status_doc = 'I' THEN 5
WHEN led_docs.status_doc = 'V' THEN 6 END AS orden_status
FROM led_docs
INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_cliente_contratista ON (led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
AND led_docs.tipo_doc = led_cliente_contratista.tipo_doc
AND led_cliente_contratista.requiere_upload = 1
AND led_cliente_contratista.cliente = @cliente
AND led_cliente_contratista.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
INNER JOIN led_subcontratista_periodo ON (led_contratistas.contratista = led_subcontratista_periodo.subcontratista
AND led_docs.periodo = led_subcontratista_periodo.periodo)
WHERE led_docs.contratista_1 = @p_contratista_1
AND led_contratistas.contratista_1 <> led_contratistas.contratista
AND led_docs.led_seccion = @p_led_seccion
AND led_contratistas.estado_contratista = 'A'
ORDER BY orden_status, led_docs.periodo
ELSE
IF (@p_periodo_desde IS NOT NULL AND @p_periodo_hasta IS NULL)
/* Seccion C, todas las empresas, período desde */
SELECT led_docs.doc_id, led_docs.cliente, led_docs.contratista_1, led_docs.contratista,
led_docs.led_seccion, led_docs.periodo, led_docs.fecha_tolerancia,
led_docs.fecha_vigencia, led_docs.aprobacion_parcial, led_docs.status_doc,
led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN led_docs.status_doc = 'R' THEN 1
WHEN led_docs.status_doc = 'E' THEN 2
WHEN led_docs.status_doc = 'P' THEN 3
WHEN led_docs.status_doc = 'N' THEN 4
WHEN led_docs.status_doc = 'I' THEN 5
WHEN led_docs.status_doc = 'V' THEN 6 END AS orden_status
FROM led_docs
INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_cliente_contratista ON (led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
AND led_docs.tipo_doc = led_cliente_contratista.tipo_doc
AND led_cliente_contratista.requiere_upload = 1
AND led_cliente_contratista.cliente = @cliente
AND led_cliente_contratista.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
INNER JOIN led_contratista_periodo ON (led_contratistas_1.contratista = led_contratista_periodo.contratista
AND led_docs.periodo = led_contratista_periodo.periodo)
WHERE led_docs.contratista_1 = @p_contratista_1
AND led_contratistas.contratista_1 = led_contratistas.contratista
AND led_docs.led_seccion = @p_led_seccion
AND led_docs.periodo >= @p_periodo_desde
UNION
SELECT led_docs.doc_id, led_docs.cliente, led_docs.contratista_1, led_docs.contratista,
led_docs.led_seccion, led_docs.periodo, led_docs.fecha_tolerancia,
led_docs.fecha_vigencia, led_docs.aprobacion_parcial, led_docs.status_doc,
led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN led_docs.status_doc = 'R' THEN 1
WHEN led_docs.status_doc = 'E' THEN 2
WHEN led_docs.status_doc = 'P' THEN 3
WHEN led_docs.status_doc = 'N' THEN 4
WHEN led_docs.status_doc = 'I' THEN 5
WHEN led_docs.status_doc = 'V' THEN 6 END AS orden_status
FROM led_docs
INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_cliente_contratista ON (led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
AND led_docs.tipo_doc = led_cliente_contratista.tipo_doc
AND led_cliente_contratista.requiere_upload = 1
AND led_cliente_contratista.cliente = @cliente
AND led_cliente_contratista.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
INNER JOIN led_subcontratista_periodo ON (led_contratistas.contratista = led_subcontratista_periodo.subcontratista
AND led_docs.periodo = led_subcontratista_periodo.periodo)
WHERE led_docs.contratista_1 = @p_contratista_1
AND led_contratistas.contratista_1 <> led_contratistas.contratista
AND led_docs.led_seccion = @p_led_seccion
AND led_docs.periodo >= @p_periodo_desde
AND led_contratistas.estado_contratista = 'A'
ORDER BY orden_status, led_docs.periodo
ELSE
IF (@p_periodo_desde IS NULL AND @p_periodo_hasta IS NOT NULL)
/* Seccion C, todas las empresas, período hasta */
SELECT led_docs.doc_id, led_docs.cliente, led_docs.contratista_1, led_docs.contratista,
led_docs.led_seccion, led_docs.periodo, led_docs.fecha_tolerancia,
led_docs.fecha_vigencia, led_docs.aprobacion_parcial, led_docs.status_doc,
led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN led_docs.status_doc = 'R' THEN 1
WHEN led_docs.status_doc = 'E' THEN 2
WHEN led_docs.status_doc = 'P' THEN 3
WHEN led_docs.status_doc = 'N' THEN 4
WHEN led_docs.status_doc = 'I' THEN 5
WHEN led_docs.status_doc = 'V' THEN 6 END AS orden_status
FROM led_docs
INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_cliente_contratista ON (led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
AND led_docs.tipo_doc = led_cliente_contratista.tipo_doc
AND led_cliente_contratista.requiere_upload = 1
AND led_cliente_contratista.cliente = @cliente
AND led_cliente_contratista.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
INNER JOIN led_contratista_periodo ON (led_contratistas_1.contratista = led_contratista_periodo.contratista
AND led_docs.periodo = led_contratista_periodo.periodo)
WHERE led_docs.contratista_1 = @p_contratista_1
AND led_contratistas.contratista_1 = led_contratistas.contratista
AND led_docs.led_seccion = @p_led_seccion
AND led_docs.periodo <= @p_periodo_hasta
UNION
SELECT led_docs.doc_id, led_docs.cliente, led_docs.contratista_1, led_docs.contratista,
led_docs.led_seccion, led_docs.periodo, led_docs.fecha_tolerancia,
led_docs.fecha_vigencia, led_docs.aprobacion_parcial, led_docs.status_doc,
led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN led_docs.status_doc = 'R' THEN 1
WHEN led_docs.status_doc = 'E' THEN 2
WHEN led_docs.status_doc = 'P' THEN 3
WHEN led_docs.status_doc = 'N' THEN 4
WHEN led_docs.status_doc = 'I' THEN 5
WHEN led_docs.status_doc = 'V' THEN 6 END AS orden_status
FROM led_docs
INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_cliente_contratista ON (led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
AND led_docs.tipo_doc = led_cliente_contratista.tipo_doc
AND led_cliente_contratista.requiere_upload = 1
AND led_cliente_contratista.cliente = @cliente
AND led_cliente_contratista.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
INNER JOIN led_subcontratista_periodo ON (led_contratistas.contratista = led_subcontratista_periodo.subcontratista
AND led_docs.periodo = led_subcontratista_periodo.periodo)
WHERE led_docs.contratista_1 = @p_contratista_1
AND led_contratistas.contratista_1 <> led_contratistas.contratista
AND led_docs.led_seccion = @p_led_seccion
AND led_docs.periodo <= @p_periodo_hasta
AND led_contratistas.estado_contratista = 'A'
ORDER BY orden_status, led_docs.periodo
ELSE
/* Seccion C, todas las empresas, período desde hasta */
SELECT led_docs.doc_id, led_docs.cliente, led_docs.contratista_1, led_docs.contratista,
led_docs.led_seccion, led_docs.periodo, led_docs.fecha_tolerancia,
led_docs.fecha_vigencia, led_docs.aprobacion_parcial, led_docs.status_doc,
led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN led_docs.status_doc = 'R' THEN 1
WHEN led_docs.status_doc = 'E' THEN 2
WHEN led_docs.status_doc = 'P' THEN 3
WHEN led_docs.status_doc = 'N' THEN 4
WHEN led_docs.status_doc = 'I' THEN 5
WHEN led_docs.status_doc = 'V' THEN 6 END AS orden_status
FROM led_docs
INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_cliente_contratista ON (led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
AND led_docs.tipo_doc = led_cliente_contratista.tipo_doc
AND led_cliente_contratista.requiere_upload = 1
AND led_cliente_contratista.cliente = @cliente
AND led_cliente_contratista.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
INNER JOIN led_contratista_periodo ON (led_contratistas_1.contratista = led_contratista_periodo.contratista
AND led_docs.periodo = led_contratista_periodo.periodo)
WHERE led_docs.contratista_1 = @p_contratista_1
AND led_contratistas.contratista_1 = led_contratistas.contratista
AND led_docs.led_seccion = @p_led_seccion
AND led_docs.periodo >= @p_periodo_desde
AND led_docs.periodo <= @p_periodo_hasta
UNION
SELECT led_docs.doc_id, led_docs.cliente, led_docs.contratista_1, led_docs.contratista,
led_docs.led_seccion, led_docs.periodo, led_docs.fecha_tolerancia,
led_docs.fecha_vigencia, led_docs.aprobacion_parcial, led_docs.status_doc,
led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN led_docs.status_doc = 'R' THEN 1
WHEN led_docs.status_doc = 'E' THEN 2
WHEN led_docs.status_doc = 'P' THEN 3
WHEN led_docs.status_doc = 'N' THEN 4
WHEN led_docs.status_doc = 'I' THEN 5
WHEN led_docs.status_doc = 'V' THEN 6 END AS orden_status
FROM led_docs
INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_cliente_contratista ON (led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
AND led_docs.tipo_doc = led_cliente_contratista.tipo_doc
AND led_cliente_contratista.requiere_upload = 1
AND led_cliente_contratista.cliente = @cliente
AND led_cliente_contratista.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
INNER JOIN led_subcontratista_periodo ON (led_contratistas.contratista = led_subcontratista_periodo.subcontratista
AND led_docs.periodo = led_subcontratista_periodo.periodo)
WHERE led_docs.contratista_1 = @p_contratista_1
AND led_contratistas.contratista_1 <> led_contratistas.contratista
AND led_docs.led_seccion = @p_led_seccion
AND led_docs.periodo >= @p_periodo_desde
AND led_docs.periodo <= @p_periodo_hasta
AND led_contratistas.estado_contratista = 'A'
ORDER BY orden_status, led_docs.periodo
END ELSE BEGIN
IF (@p_periodo_desde IS NULL AND @p_periodo_hasta IS NULL)
/* Seccion C, por empresa, sin filtro por período */
SELECT led_docs.doc_id, led_docs.cliente, led_docs.contratista_1, led_docs.contratista,
led_docs.led_seccion, led_docs.periodo, led_docs.fecha_tolerancia,
led_docs.fecha_vigencia, led_docs.aprobacion_parcial, led_docs.status_doc,
led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN led_docs.status_doc = 'R' THEN 1
WHEN led_docs.status_doc = 'E' THEN 2
WHEN led_docs.status_doc = 'P' THEN 3
WHEN led_docs.status_doc = 'N' THEN 4
WHEN led_docs.status_doc = 'I' THEN 5
WHEN led_docs.status_doc = 'V' THEN 6 END AS orden_status
FROM led_docs
INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
--INNER JOIN dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_cliente_contratista ON (led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
AND led_docs.tipo_doc = led_cliente_contratista.tipo_doc
AND led_cliente_contratista.requiere_upload = 1
AND led_cliente_contratista.cliente = @cliente
AND led_cliente_contratista.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
WHERE led_docs.contratista_1 = @p_contratista_1
AND led_docs.contratista = @p_contratista
AND led_docs.led_seccion = @p_led_seccion
ORDER BY orden_status, led_docs.periodo
ELSE
IF (@p_periodo_desde IS NOT NULL AND @p_periodo_hasta IS NULL)
/* Seccion C, por empresa, período desde */
SELECT led_docs.doc_id, led_docs.cliente, led_docs.contratista_1, led_docs.contratista,
led_docs.led_seccion, led_docs.periodo, led_docs.fecha_tolerancia,
led_docs.fecha_vigencia, led_docs.aprobacion_parcial, led_docs.status_doc,
led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN led_docs.status_doc = 'R' THEN 1
WHEN led_docs.status_doc = 'E' THEN 2
WHEN led_docs.status_doc = 'P' THEN 3
WHEN led_docs.status_doc = 'N' THEN 4
WHEN led_docs.status_doc = 'I' THEN 5
WHEN led_docs.status_doc = 'V' THEN 6 END AS orden_status
FROM led_docs
INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
--INNER JOIN dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_cliente_contratista ON (led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
AND led_docs.tipo_doc = led_cliente_contratista.tipo_doc
AND led_cliente_contratista.requiere_upload = 1
AND led_cliente_contratista.cliente = @cliente
AND led_cliente_contratista.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
WHERE led_docs.contratista_1 = @p_contratista_1
AND led_docs.contratista = @p_contratista
AND led_docs.led_seccion = @p_led_seccion
AND led_docs.periodo >= @p_periodo_desde
ORDER BY orden_status, led_docs.periodo
ELSE
IF (@p_periodo_desde IS NULL AND @p_periodo_hasta IS NOT NULL)
/* Seccion C, por empresa, período hasta */
SELECT led_docs.doc_id, led_docs.cliente, led_docs.contratista_1, led_docs.contratista,
led_docs.led_seccion, led_docs.periodo, led_docs.fecha_tolerancia,
led_docs.fecha_vigencia, led_docs.aprobacion_parcial, led_docs.status_doc,
led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN led_docs.status_doc = 'R' THEN 1
WHEN led_docs.status_doc = 'E' THEN 2
WHEN led_docs.status_doc = 'P' THEN 3
WHEN led_docs.status_doc = 'N' THEN 4
WHEN led_docs.status_doc = 'I' THEN 5
WHEN led_docs.status_doc = 'V' THEN 6 END AS orden_status
FROM led_docs
INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
--INNER JOIN dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_cliente_contratista ON (led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
AND led_docs.tipo_doc = led_cliente_contratista.tipo_doc
AND led_cliente_contratista.requiere_upload = 1
AND led_cliente_contratista.cliente = @cliente
AND led_cliente_contratista.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
WHERE led_docs.contratista_1 = @p_contratista_1
AND led_docs.contratista = @p_contratista
AND led_docs.led_seccion = @p_led_seccion
AND led_docs.periodo <= @p_periodo_hasta
ORDER BY orden_status, led_docs.periodo
ELSE
/* Sección C, por empresa, período desde - hasta */
SELECT led_docs.doc_id, led_docs.cliente, led_docs.contratista_1, led_docs.contratista,
led_docs.led_seccion, led_docs.periodo, led_docs.fecha_tolerancia,
led_docs.fecha_vigencia, led_docs.aprobacion_parcial, led_docs.status_doc,
led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN led_docs.status_doc = 'R' THEN 1
WHEN led_docs.status_doc = 'E' THEN 2
WHEN led_docs.status_doc = 'P' THEN 3
WHEN led_docs.status_doc = 'N' THEN 4
WHEN led_docs.status_doc = 'I' THEN 5
WHEN led_docs.status_doc = 'V' THEN 6 END AS orden_status
FROM led_docs
INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
--INNER JOIN dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_cliente_contratista ON (led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
AND led_docs.tipo_doc = led_cliente_contratista.tipo_doc
AND led_cliente_contratista.requiere_upload = 1
AND led_cliente_contratista.cliente = @cliente
AND led_cliente_contratista.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
WHERE led_docs.contratista_1 = @p_contratista_1
AND led_docs.contratista = @p_contratista
AND led_docs.led_seccion = @p_led_seccion
AND led_docs.periodo >= @p_periodo_desde
AND led_docs.periodo <= @p_periodo_hasta
ORDER BY orden_status, led_docs.periodo
END
END ELSE
IF (@p_led_seccion = 'E') BEGIN
IF (@p_contratista IS NULL) BEGIN
IF (@p_periodo_desde IS NULL AND @p_periodo_hasta IS NULL)
/* Seccion E, todas las empresas, sin filtro por período */
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, EMPLEADOS.led_seccion, EMPLEADOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
EMPLEADOS.status_doc, EMPLEADOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN EMPLEADOS.status_doc = 'R' THEN 1
WHEN EMPLEADOS.status_doc = 'E' THEN 2
WHEN EMPLEADOS.status_doc = 'P' THEN 3
WHEN EMPLEADOS.status_doc = 'N' THEN 4
WHEN EMPLEADOS.status_doc = 'I' THEN 5
WHEN EMPLEADOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo, MAX(DOC_EMPLEADOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_EMPLEADOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_empleados ON led_docs.empleado = led_empleados.empleado
INNER JOIN led_cliente_empleado ON (led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
AND led_docs.tipo_doc = led_cliente_empleado.tipo_doc
AND led_cliente_empleado.requiere_upload = 1
AND led_cliente_empleado.cliente = @cliente
AND led_cliente_empleado.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
where led_docs.contratista_1 = @p_contratista_1
and led_docs.led_seccion = 'E') DOC_EMPLEADOS
GROUP BY DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo) EMPLEADOS
INNER JOIN led_tipos_doc ON EMPLEADOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON EMPLEADOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON EMPLEADOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
ORDER BY orden_status, EMPLEADOS.periodo, led_tipos_doc.nombre_tipo_doc
ELSE
IF (@p_periodo_desde IS NOT NULL AND @p_periodo_hasta IS NULL)
/* Seccion E, todas las empresas, período desde */
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, EMPLEADOS.led_seccion, EMPLEADOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
EMPLEADOS.status_doc, EMPLEADOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN EMPLEADOS.status_doc = 'R' THEN 1
WHEN EMPLEADOS.status_doc = 'E' THEN 2
WHEN EMPLEADOS.status_doc = 'P' THEN 3
WHEN EMPLEADOS.status_doc = 'N' THEN 4
WHEN EMPLEADOS.status_doc = 'I' THEN 5
WHEN EMPLEADOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo, MAX(DOC_EMPLEADOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_EMPLEADOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_empleados ON led_docs.empleado = led_empleados.empleado
INNER JOIN led_cliente_empleado ON (led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
AND led_docs.tipo_doc = led_cliente_empleado.tipo_doc
AND led_cliente_empleado.requiere_upload = 1
AND led_cliente_empleado.cliente = @cliente
AND led_cliente_empleado.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
where led_docs.contratista_1 = @p_contratista_1
and led_docs.periodo >= @p_periodo_desde
and led_docs.led_seccion = 'E') DOC_EMPLEADOS
GROUP BY DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo) EMPLEADOS
INNER JOIN led_tipos_doc ON EMPLEADOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON EMPLEADOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON EMPLEADOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
ORDER BY orden_status, EMPLEADOS.periodo, led_tipos_doc.nombre_tipo_doc
ELSE
IF (@p_periodo_desde IS NULL AND @p_periodo_hasta IS NOT NULL)
/* Seccion E, todas las empresas, período hasta */
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, EMPLEADOS.led_seccion, EMPLEADOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
EMPLEADOS.status_doc, EMPLEADOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN EMPLEADOS.status_doc = 'R' THEN 1
WHEN EMPLEADOS.status_doc = 'E' THEN 2
WHEN EMPLEADOS.status_doc = 'P' THEN 3
WHEN EMPLEADOS.status_doc = 'N' THEN 4
WHEN EMPLEADOS.status_doc = 'I' THEN 5
WHEN EMPLEADOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo, MAX(DOC_EMPLEADOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_EMPLEADOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_empleados ON led_docs.empleado = led_empleados.empleado
INNER JOIN led_cliente_empleado ON (led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
AND led_docs.tipo_doc = led_cliente_empleado.tipo_doc
AND led_cliente_empleado.requiere_upload = 1
AND led_cliente_empleado.cliente = @cliente
AND led_cliente_empleado.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
where led_docs.contratista_1 = @p_contratista_1
and led_docs.periodo <= @p_periodo_hasta
and led_docs.led_seccion = 'E') DOC_EMPLEADOS
GROUP BY DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo) EMPLEADOS
INNER JOIN led_tipos_doc ON EMPLEADOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON EMPLEADOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON EMPLEADOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
ORDER BY orden_status, EMPLEADOS.periodo, led_tipos_doc.nombre_tipo_doc
ELSE
/* Seccion E, todas las empresas, período desde - hasta */
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, EMPLEADOS.led_seccion, EMPLEADOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
EMPLEADOS.status_doc, EMPLEADOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN EMPLEADOS.status_doc = 'R' THEN 1
WHEN EMPLEADOS.status_doc = 'E' THEN 2
WHEN EMPLEADOS.status_doc = 'P' THEN 3
WHEN EMPLEADOS.status_doc = 'N' THEN 4
WHEN EMPLEADOS.status_doc = 'I' THEN 5
WHEN EMPLEADOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo, MAX(DOC_EMPLEADOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_EMPLEADOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_empleados ON led_docs.empleado = led_empleados.empleado
INNER JOIN led_cliente_empleado ON (led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
AND led_docs.tipo_doc = led_cliente_empleado.tipo_doc
AND led_cliente_empleado.requiere_upload = 1
AND led_cliente_empleado.cliente = @cliente
AND led_cliente_empleado.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
where led_docs.contratista_1 = @p_contratista_1
and led_docs.periodo >= @p_periodo_desde
and led_docs.periodo <= @p_periodo_hasta
and led_docs.led_seccion = 'E') DOC_EMPLEADOS
GROUP BY DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo) EMPLEADOS
INNER JOIN led_tipos_doc ON EMPLEADOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON EMPLEADOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON EMPLEADOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
ORDER BY orden_status, EMPLEADOS.periodo, led_tipos_doc.nombre_tipo_doc
END ELSE BEGIN
IF (@p_periodo_desde IS NULL AND @p_periodo_hasta IS NULL)
/* Sección E, por empresa, sin filtro por período */
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, EMPLEADOS.led_seccion, EMPLEADOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
EMPLEADOS.status_doc, EMPLEADOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN EMPLEADOS.status_doc = 'R' THEN 1
WHEN EMPLEADOS.status_doc = 'E' THEN 2
WHEN EMPLEADOS.status_doc = 'P' THEN 3
WHEN EMPLEADOS.status_doc = 'N' THEN 4
WHEN EMPLEADOS.status_doc = 'I' THEN 5
WHEN EMPLEADOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo, MAX(DOC_EMPLEADOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_EMPLEADOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_empleados ON led_docs.empleado = led_empleados.empleado
INNER JOIN led_cliente_empleado ON (led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
AND led_docs.tipo_doc = led_cliente_empleado.tipo_doc
AND led_cliente_empleado.requiere_upload = 1
AND led_cliente_empleado.cliente = @cliente
AND led_cliente_empleado.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
where led_docs.contratista_1 = @p_contratista_1
and led_docs.contratista = @p_contratista
and led_docs.led_seccion = 'E') DOC_EMPLEADOS
GROUP BY DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo) EMPLEADOS
INNER JOIN led_tipos_doc ON EMPLEADOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON EMPLEADOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON EMPLEADOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
ORDER BY orden_status, EMPLEADOS.periodo, led_tipos_doc.nombre_tipo_doc
ELSE
IF (@p_periodo_desde IS NOT NULL AND @p_periodo_hasta IS NULL)
/* Sección E, por empresa, período desde */
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, EMPLEADOS.led_seccion, EMPLEADOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
EMPLEADOS.status_doc, EMPLEADOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN EMPLEADOS.status_doc = 'R' THEN 1
WHEN EMPLEADOS.status_doc = 'E' THEN 2
WHEN EMPLEADOS.status_doc = 'P' THEN 3
WHEN EMPLEADOS.status_doc = 'N' THEN 4
WHEN EMPLEADOS.status_doc = 'I' THEN 5
WHEN EMPLEADOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo, MAX(DOC_EMPLEADOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_EMPLEADOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_empleados ON led_docs.empleado = led_empleados.empleado
INNER JOIN led_cliente_empleado ON (led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
AND led_docs.tipo_doc = led_cliente_empleado.tipo_doc
AND led_cliente_empleado.requiere_upload = 1
AND led_cliente_empleado.cliente = @cliente
AND led_cliente_empleado.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
where led_docs.contratista_1 = @p_contratista_1
and led_docs.contratista = @p_contratista
and led_docs.periodo >= @p_periodo_desde
and led_docs.led_seccion = 'E') DOC_EMPLEADOS
GROUP BY DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo) EMPLEADOS
INNER JOIN led_tipos_doc ON EMPLEADOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON EMPLEADOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON EMPLEADOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
ORDER BY orden_status, EMPLEADOS.periodo, led_tipos_doc.nombre_tipo_doc
ELSE
IF (@p_periodo_desde IS NULL AND @p_periodo_hasta IS NOT NULL)
/* Sección E, por empresa, período hasta */
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, EMPLEADOS.led_seccion, EMPLEADOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
EMPLEADOS.status_doc, EMPLEADOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN EMPLEADOS.status_doc = 'R' THEN 1
WHEN EMPLEADOS.status_doc = 'E' THEN 2
WHEN EMPLEADOS.status_doc = 'P' THEN 3
WHEN EMPLEADOS.status_doc = 'N' THEN 4
WHEN EMPLEADOS.status_doc = 'I' THEN 5
WHEN EMPLEADOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo, MAX(DOC_EMPLEADOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_EMPLEADOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_empleados ON led_docs.empleado = led_empleados.empleado
INNER JOIN led_cliente_empleado ON (led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
AND led_docs.tipo_doc = led_cliente_empleado.tipo_doc
AND led_cliente_empleado.requiere_upload = 1
AND led_cliente_empleado.cliente = @cliente
AND led_cliente_empleado.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
where led_docs.contratista_1 = @p_contratista_1
and led_docs.contratista = @p_contratista
and led_docs.periodo <= @p_periodo_hasta
and led_docs.led_seccion = 'E') DOC_EMPLEADOS
GROUP BY DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo) EMPLEADOS
INNER JOIN led_tipos_doc ON EMPLEADOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON EMPLEADOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON EMPLEADOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
ORDER BY orden_status, EMPLEADOS.periodo, led_tipos_doc.nombre_tipo_doc
ELSE
/* Sección E, por empresa, período desde - hasta */
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, EMPLEADOS.led_seccion, EMPLEADOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
EMPLEADOS.status_doc, EMPLEADOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN EMPLEADOS.status_doc = 'R' THEN 1
WHEN EMPLEADOS.status_doc = 'E' THEN 2
WHEN EMPLEADOS.status_doc = 'P' THEN 3
WHEN EMPLEADOS.status_doc = 'N' THEN 4
WHEN EMPLEADOS.status_doc = 'I' THEN 5
WHEN EMPLEADOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo, MAX(DOC_EMPLEADOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_EMPLEADOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_empleados ON led_docs.empleado = led_empleados.empleado
INNER JOIN led_cliente_empleado ON (led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
AND led_docs.tipo_doc = led_cliente_empleado.tipo_doc
AND led_cliente_empleado.requiere_upload = 1
AND led_cliente_empleado.cliente = @cliente
AND led_cliente_empleado.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
where led_docs.contratista_1 = @p_contratista_1
and led_docs.contratista = @p_contratista
and led_docs.periodo >= @p_periodo_desde
and led_docs.periodo <= @p_periodo_hasta
and led_docs.led_seccion = 'E') DOC_EMPLEADOS
GROUP BY DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo) EMPLEADOS
INNER JOIN led_tipos_doc ON EMPLEADOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON EMPLEADOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON EMPLEADOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
ORDER BY orden_status, EMPLEADOS.periodo, led_tipos_doc.nombre_tipo_doc
END
END ELSE
IF (@p_led_seccion = 'V') BEGIN
IF (@p_contratista IS NULL) BEGIN
IF (@p_periodo_desde IS NULL AND @p_periodo_hasta IS NULL)
/* Sección V, todas las empresas, sin filtro por período */
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, VEHICULOS.led_seccion, VEHICULOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
VEHICULOS.status_doc, VEHICULOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN VEHICULOS.status_doc = 'R' THEN 1
WHEN VEHICULOS.status_doc = 'E' THEN 2
WHEN VEHICULOS.status_doc = 'P' THEN 3
WHEN VEHICULOS.status_doc = 'N' THEN 4
WHEN VEHICULOS.status_doc = 'I' THEN 5
WHEN VEHICULOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo, MAX(DOC_VEHICULOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_VEHICULOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_VEHICULOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_VEHICULOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_VEHICULOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_VEHICULOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_vehiculos ON led_docs.vehiculo = led_vehiculos.vehiculo
INNER JOIN led_cliente_vehiculo ON (led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
AND led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc
AND led_cliente_vehiculo.requiere_upload = 1
AND led_cliente_vehiculo.cliente = @cliente
AND led_cliente_vehiculo.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
where led_docs.contratista_1 = @p_contratista_1
and led_vehiculos.estado_vehiculo = 'A'
and led_docs.led_seccion = 'V') DOC_VEHICULOS
GROUP BY DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo) VEHICULOS
INNER JOIN led_tipos_doc ON VEHICULOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON VEHICULOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON VEHICULOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
ORDER BY orden_status, VEHICULOS.periodo, led_tipos_doc.nombre_tipo_doc
ELSE
IF (@p_periodo_desde IS NOT NULL AND @p_periodo_hasta IS NULL)
/* Sección V, todas las empresas, período desde */
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, VEHICULOS.led_seccion, VEHICULOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
VEHICULOS.status_doc, VEHICULOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN VEHICULOS.status_doc = 'R' THEN 1
WHEN VEHICULOS.status_doc = 'E' THEN 2
WHEN VEHICULOS.status_doc = 'P' THEN 3
WHEN VEHICULOS.status_doc = 'N' THEN 4
WHEN VEHICULOS.status_doc = 'I' THEN 5
WHEN VEHICULOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo, MAX(DOC_VEHICULOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_VEHICULOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_VEHICULOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_VEHICULOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_VEHICULOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_VEHICULOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_vehiculos ON led_docs.vehiculo = led_vehiculos.vehiculo
INNER JOIN led_cliente_vehiculo ON (led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
AND led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc
AND led_cliente_vehiculo.requiere_upload = 1
AND led_cliente_vehiculo.cliente = @cliente
AND led_cliente_vehiculo.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
where led_docs.contratista_1 = @p_contratista_1
and led_vehiculos.estado_vehiculo = 'A'
and led_docs.periodo >= @p_periodo_desde
and led_docs.led_seccion = 'V') DOC_VEHICULOS
GROUP BY DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo) VEHICULOS
INNER JOIN led_tipos_doc ON VEHICULOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON VEHICULOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON VEHICULOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
ORDER BY orden_status, VEHICULOS.periodo, led_tipos_doc.nombre_tipo_doc
ELSE
IF (@p_periodo_desde IS NULL AND @p_periodo_hasta IS NOT NULL)
/* Sección V, todas las empresas, período hasta */
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, VEHICULOS.led_seccion, VEHICULOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
VEHICULOS.status_doc, VEHICULOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN VEHICULOS.status_doc = 'R' THEN 1
WHEN VEHICULOS.status_doc = 'E' THEN 2
WHEN VEHICULOS.status_doc = 'P' THEN 3
WHEN VEHICULOS.status_doc = 'N' THEN 4
WHEN VEHICULOS.status_doc = 'I' THEN 5
WHEN VEHICULOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo, MAX(DOC_VEHICULOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_VEHICULOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_VEHICULOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_VEHICULOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_VEHICULOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_VEHICULOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_vehiculos ON led_docs.vehiculo = led_vehiculos.vehiculo
INNER JOIN led_cliente_vehiculo ON (led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
AND led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc
AND led_cliente_vehiculo.requiere_upload = 1
AND led_cliente_vehiculo.cliente = @cliente
AND led_cliente_vehiculo.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
where led_docs.contratista_1 = @p_contratista_1
and led_vehiculos.estado_vehiculo = 'A'
and led_docs.periodo <= @p_periodo_hasta
and led_docs.led_seccion = 'V') DOC_VEHICULOS
GROUP BY DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo) VEHICULOS
INNER JOIN led_tipos_doc ON VEHICULOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON VEHICULOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON VEHICULOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
ORDER BY orden_status, VEHICULOS.periodo, led_tipos_doc.nombre_tipo_doc
ELSE
/* Sección V, todas las empresas, período desde - hasta */
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, VEHICULOS.led_seccion, VEHICULOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
VEHICULOS.status_doc, VEHICULOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN VEHICULOS.status_doc = 'R' THEN 1
WHEN VEHICULOS.status_doc = 'E' THEN 2
WHEN VEHICULOS.status_doc = 'P' THEN 3
WHEN VEHICULOS.status_doc = 'N' THEN 4
WHEN VEHICULOS.status_doc = 'I' THEN 5
WHEN VEHICULOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo, MAX(DOC_VEHICULOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_VEHICULOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_VEHICULOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_VEHICULOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_VEHICULOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_VEHICULOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_vehiculos ON led_docs.vehiculo = led_vehiculos.vehiculo
INNER JOIN led_cliente_vehiculo ON (led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
AND led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc
AND led_cliente_vehiculo.requiere_upload = 1
AND led_cliente_vehiculo.cliente = @cliente
AND led_cliente_vehiculo.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
where led_docs.contratista_1 = @p_contratista_1
and led_vehiculos.estado_vehiculo = 'A'
and led_docs.periodo >= @p_periodo_desde
and led_docs.periodo <= @p_periodo_hasta
and led_docs.led_seccion = 'V') DOC_VEHICULOS
GROUP BY DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo) VEHICULOS
INNER JOIN led_tipos_doc ON VEHICULOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON VEHICULOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON VEHICULOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
ORDER BY orden_status, VEHICULOS.periodo, led_tipos_doc.nombre_tipo_doc
END ELSE BEGIN
IF (@p_periodo_desde IS NULL AND @p_periodo_hasta IS NULL)
/* Sección V, por empresa, sin filtro por período */
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, VEHICULOS.led_seccion, VEHICULOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
VEHICULOS.status_doc, VEHICULOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN VEHICULOS.status_doc = 'R' THEN 1
WHEN VEHICULOS.status_doc = 'E' THEN 2
WHEN VEHICULOS.status_doc = 'P' THEN 3
WHEN VEHICULOS.status_doc = 'N' THEN 4
WHEN VEHICULOS.status_doc = 'I' THEN 5
WHEN VEHICULOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo, MAX(DOC_VEHICULOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_VEHICULOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_VEHICULOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_VEHICULOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_VEHICULOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_VEHICULOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_vehiculos ON led_docs.vehiculo = led_vehiculos.vehiculo
INNER JOIN led_cliente_vehiculo ON (led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
AND led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc
AND led_cliente_vehiculo.requiere_upload = 1
AND led_cliente_vehiculo.cliente = @cliente
AND led_cliente_vehiculo.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
where led_docs.contratista_1 = @p_contratista_1
and led_vehiculos.estado_vehiculo = 'A'
and led_docs.contratista = @p_contratista
and led_docs.led_seccion = 'V') DOC_VEHICULOS
GROUP BY DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo) VEHICULOS
INNER JOIN led_tipos_doc ON VEHICULOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON VEHICULOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON VEHICULOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
ORDER BY orden_status, VEHICULOS.periodo, led_tipos_doc.nombre_tipo_doc
ELSE
IF (@p_periodo_desde IS NOT NULL AND @p_periodo_hasta IS NULL)
/* Sección V, por empresa, período desde */
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, VEHICULOS.led_seccion, VEHICULOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
VEHICULOS.status_doc, VEHICULOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN VEHICULOS.status_doc = 'R' THEN 1
WHEN VEHICULOS.status_doc = 'E' THEN 2
WHEN VEHICULOS.status_doc = 'P' THEN 3
WHEN VEHICULOS.status_doc = 'N' THEN 4
WHEN VEHICULOS.status_doc = 'I' THEN 5
WHEN VEHICULOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo, MAX(DOC_VEHICULOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_VEHICULOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_VEHICULOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_VEHICULOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_VEHICULOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_VEHICULOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_vehiculos ON led_docs.vehiculo = led_vehiculos.vehiculo
INNER JOIN led_cliente_vehiculo ON (led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
AND led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc
AND led_cliente_vehiculo.requiere_upload = 1
AND led_cliente_vehiculo.cliente = @cliente
AND led_cliente_vehiculo.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
where led_docs.contratista_1 = @p_contratista_1
and led_vehiculos.estado_vehiculo = 'A'
and led_docs.contratista = @p_contratista
and led_docs.periodo >= @p_periodo_desde
and led_docs.led_seccion = 'V') DOC_VEHICULOS
GROUP BY DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo) VEHICULOS
INNER JOIN led_tipos_doc ON VEHICULOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON VEHICULOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON VEHICULOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
ORDER BY orden_status, VEHICULOS.periodo, led_tipos_doc.nombre_tipo_doc
ELSE
IF (@p_periodo_desde IS NULL AND @p_periodo_hasta IS NOT NULL)
/* Sección V, por empresa, período hasta */
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, VEHICULOS.led_seccion, VEHICULOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
VEHICULOS.status_doc, VEHICULOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN VEHICULOS.status_doc = 'R' THEN 1
WHEN VEHICULOS.status_doc = 'E' THEN 2
WHEN VEHICULOS.status_doc = 'P' THEN 3
WHEN VEHICULOS.status_doc = 'N' THEN 4
WHEN VEHICULOS.status_doc = 'I' THEN 5
WHEN VEHICULOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo, MAX(DOC_VEHICULOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_VEHICULOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_VEHICULOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_VEHICULOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_VEHICULOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_VEHICULOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_vehiculos ON led_docs.vehiculo = led_vehiculos.vehiculo
INNER JOIN led_cliente_vehiculo ON (led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
AND led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc
AND led_cliente_vehiculo.requiere_upload = 1
AND led_cliente_vehiculo.cliente = @cliente
AND led_cliente_vehiculo.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
where led_docs.contratista_1 = @p_contratista_1
and led_vehiculos.estado_vehiculo = 'A'
and led_docs.contratista = @p_contratista
and led_docs.periodo <= @p_periodo_hasta
and led_docs.led_seccion = 'V') DOC_VEHICULOS
GROUP BY DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo) VEHICULOS
INNER JOIN led_tipos_doc ON VEHICULOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON VEHICULOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON VEHICULOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
ORDER BY orden_status, VEHICULOS.periodo, led_tipos_doc.nombre_tipo_doc
ELSE
/* Sección V, por empresa, período desde - hasta */
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, VEHICULOS.led_seccion, VEHICULOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
VEHICULOS.status_doc, VEHICULOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN VEHICULOS.status_doc = 'R' THEN 1
WHEN VEHICULOS.status_doc = 'E' THEN 2
WHEN VEHICULOS.status_doc = 'P' THEN 3
WHEN VEHICULOS.status_doc = 'N' THEN 4
WHEN VEHICULOS.status_doc = 'I' THEN 5
WHEN VEHICULOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo, MAX(DOC_VEHICULOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_VEHICULOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_VEHICULOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_VEHICULOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_VEHICULOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_VEHICULOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_vehiculos ON led_docs.vehiculo = led_vehiculos.vehiculo
INNER JOIN led_cliente_vehiculo ON (led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
AND led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc
AND led_cliente_vehiculo.requiere_upload = 1
AND led_cliente_vehiculo.cliente = @cliente
AND led_cliente_vehiculo.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
where led_docs.contratista_1 = @p_contratista_1
and led_vehiculos.estado_vehiculo = 'A'
and led_docs.contratista = @p_contratista
and led_docs.periodo >= @p_periodo_desde
and led_docs.periodo <= @p_periodo_hasta
and led_docs.led_seccion = 'V') DOC_VEHICULOS
GROUP BY DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo) VEHICULOS
INNER JOIN led_tipos_doc ON VEHICULOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON VEHICULOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON VEHICULOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
ORDER BY orden_status, VEHICULOS.periodo, led_tipos_doc.nombre_tipo_doc
END
END ELSE
IF (@p_contratista IS NULL) BEGIN
IF (@p_periodo_desde IS NULL AND @p_periodo_hasta IS NULL)
/* Todas las secciones, todas las empresas, sin filtro por período */
SELECT led_docs.doc_id, led_docs.cliente, led_docs.contratista_1, led_docs.contratista,
led_docs.led_seccion, led_docs.periodo, led_docs.fecha_tolerancia,
led_docs.fecha_vigencia, led_docs.aprobacion_parcial, led_docs.status_doc,
led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN led_docs.status_doc = 'R' THEN 1
WHEN led_docs.status_doc = 'E' THEN 2
WHEN led_docs.status_doc = 'P' THEN 3
WHEN led_docs.status_doc = 'N' THEN 4
WHEN led_docs.status_doc = 'I' THEN 5
WHEN led_docs.status_doc = 'V' THEN 6 END AS orden_status
FROM led_docs
INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_cliente_contratista ON (led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
AND led_docs.tipo_doc = led_cliente_contratista.tipo_doc
AND led_cliente_contratista.requiere_upload = 1
AND led_cliente_contratista.cliente = @cliente
AND led_cliente_contratista.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
WHERE led_docs.contratista_1 = @p_contratista_1
AND led_contratistas.contratista_1 = led_contratistas.contratista
AND led_docs.led_seccion = 'C'
UNION
SELECT led_docs.doc_id, led_docs.cliente, led_docs.contratista_1, led_docs.contratista,
led_docs.led_seccion, led_docs.periodo, led_docs.fecha_tolerancia,
led_docs.fecha_vigencia, led_docs.aprobacion_parcial, led_docs.status_doc,
led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN led_docs.status_doc = 'R' THEN 1
WHEN led_docs.status_doc = 'E' THEN 2
WHEN led_docs.status_doc = 'P' THEN 3
WHEN led_docs.status_doc = 'N' THEN 4
WHEN led_docs.status_doc = 'I' THEN 5
WHEN led_docs.status_doc = 'V' THEN 6 END AS orden_status
FROM led_docs
INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_cliente_contratista ON (led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
AND led_docs.tipo_doc = led_cliente_contratista.tipo_doc
AND led_cliente_contratista.requiere_upload = 1
AND led_cliente_contratista.cliente = @cliente
AND led_cliente_contratista.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
INNER JOIN led_subcontratista_periodo ON (led_contratistas.contratista = led_subcontratista_periodo.subcontratista
AND led_docs.periodo = led_subcontratista_periodo.periodo)
WHERE led_docs.contratista_1 = @p_contratista_1
AND led_contratistas.contratista_1 <> led_contratistas.contratista
AND led_docs.led_seccion = 'C'
AND led_contratistas.estado_contratista = 'A'
UNION
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, EMPLEADOS.led_seccion, EMPLEADOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
EMPLEADOS.status_doc, EMPLEADOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN EMPLEADOS.status_doc = 'R' THEN 1
WHEN EMPLEADOS.status_doc = 'E' THEN 2
WHEN EMPLEADOS.status_doc = 'P' THEN 3
WHEN EMPLEADOS.status_doc = 'N' THEN 4
WHEN EMPLEADOS.status_doc = 'I' THEN 5
WHEN EMPLEADOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo, MAX(DOC_EMPLEADOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_EMPLEADOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_empleados ON led_docs.empleado = led_empleados.empleado
INNER JOIN led_cliente_empleado ON (led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
AND led_docs.tipo_doc = led_cliente_empleado.tipo_doc
AND led_cliente_empleado.requiere_upload = 1
AND led_cliente_empleado.cliente = @cliente
AND led_cliente_empleado.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
where led_docs.contratista_1 = @p_contratista_1
and led_docs.led_seccion = 'E') DOC_EMPLEADOS
GROUP BY DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo) EMPLEADOS
INNER JOIN led_tipos_doc ON EMPLEADOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON EMPLEADOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON EMPLEADOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
UNION
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, VEHICULOS.led_seccion, VEHICULOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
VEHICULOS.status_doc, VEHICULOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN VEHICULOS.status_doc = 'R' THEN 1
WHEN VEHICULOS.status_doc = 'E' THEN 2
WHEN VEHICULOS.status_doc = 'P' THEN 3
WHEN VEHICULOS.status_doc = 'N' THEN 4
WHEN VEHICULOS.status_doc = 'I' THEN 5
WHEN VEHICULOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo, MAX(DOC_VEHICULOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_VEHICULOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_VEHICULOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_VEHICULOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_VEHICULOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_VEHICULOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_vehiculos ON led_docs.vehiculo = led_vehiculos.vehiculo
INNER JOIN led_cliente_vehiculo ON (led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
AND led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc
AND led_cliente_vehiculo.requiere_upload = 1
AND led_cliente_vehiculo.cliente = @cliente
AND led_cliente_vehiculo.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
where led_docs.contratista_1 = @p_contratista_1
and led_vehiculos.estado_vehiculo = 'A'
and led_docs.led_seccion = 'V') DOC_VEHICULOS
GROUP BY DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo) VEHICULOS
INNER JOIN led_tipos_doc ON VEHICULOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON VEHICULOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON VEHICULOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
ORDER BY orden_status, periodo, nombre_tipo_doc
ELSE
/* VISTA DEFAULT */
IF (@p_periodo_desde IS NOT NULL AND @p_periodo_hasta IS NULL)
/* Todas las secciones, todas las empresas, período desde */
SELECT led_docs.doc_id, led_docs.cliente, led_docs.contratista_1, led_docs.contratista,
led_docs.led_seccion, led_docs.periodo, led_docs.fecha_tolerancia,
led_docs.fecha_vigencia, led_docs.aprobacion_parcial, led_docs.status_doc,
led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN led_docs.status_doc = 'R' THEN 1
WHEN led_docs.status_doc = 'E' THEN 2
WHEN led_docs.status_doc = 'P' THEN 3
WHEN led_docs.status_doc = 'N' THEN 4
WHEN led_docs.status_doc = 'I' THEN 5
WHEN led_docs.status_doc = 'V' THEN 6 END AS orden_status
FROM led_docs
INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_cliente_contratista ON (led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
AND led_docs.tipo_doc = led_cliente_contratista.tipo_doc
AND led_cliente_contratista.requiere_upload = 1
AND led_cliente_contratista.cliente = @cliente
AND led_cliente_contratista.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
INNER JOIN led_contratista_periodo ON (led_contratistas_1.contratista = led_contratista_periodo.contratista
AND led_docs.periodo = led_contratista_periodo.periodo)
WHERE led_docs.contratista_1 = @p_contratista_1
AND led_contratistas.contratista_1 = led_contratistas.contratista
AND led_docs.periodo >= @p_periodo_desde
AND led_docs.led_seccion = 'C'
UNION
SELECT led_docs.doc_id, led_docs.cliente, led_docs.contratista_1, led_docs.contratista,
led_docs.led_seccion, led_docs.periodo, led_docs.fecha_tolerancia,
led_docs.fecha_vigencia, led_docs.aprobacion_parcial, led_docs.status_doc,
led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN led_docs.status_doc = 'R' THEN 1
WHEN led_docs.status_doc = 'E' THEN 2
WHEN led_docs.status_doc = 'P' THEN 3
WHEN led_docs.status_doc = 'N' THEN 4
WHEN led_docs.status_doc = 'I' THEN 5
WHEN led_docs.status_doc = 'V' THEN 6 END AS orden_status
FROM led_docs
INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_cliente_contratista ON (led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
AND led_docs.tipo_doc = led_cliente_contratista.tipo_doc
AND led_cliente_contratista.requiere_upload = 1
AND led_cliente_contratista.cliente = @cliente
AND led_cliente_contratista.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
INNER JOIN led_subcontratista_periodo ON (led_contratistas.contratista = led_subcontratista_periodo.subcontratista
AND led_docs.periodo = led_subcontratista_periodo.periodo)
WHERE led_docs.contratista_1 = @p_contratista_1
AND led_contratistas.contratista_1 <> led_contratistas.contratista
AND led_docs.periodo >= @p_periodo_desde
AND led_docs.led_seccion = 'C'
AND led_contratistas.estado_contratista = 'A'
UNION
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, EMPLEADOS.led_seccion, EMPLEADOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
EMPLEADOS.status_doc, EMPLEADOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN EMPLEADOS.status_doc = 'R' THEN 1
WHEN EMPLEADOS.status_doc = 'E' THEN 2
WHEN EMPLEADOS.status_doc = 'P' THEN 3
WHEN EMPLEADOS.status_doc = 'N' THEN 4
WHEN EMPLEADOS.status_doc = 'I' THEN 5
WHEN EMPLEADOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo, MAX(DOC_EMPLEADOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_EMPLEADOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_empleados ON led_docs.empleado = led_empleados.empleado
INNER JOIN led_cliente_empleado ON (led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
AND led_docs.tipo_doc = led_cliente_empleado.tipo_doc
AND led_cliente_empleado.requiere_upload = 1
AND led_cliente_empleado.cliente = @cliente
AND led_cliente_empleado.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
where led_docs.contratista_1 = @p_contratista_1
and led_docs.periodo >= @p_periodo_desde
and led_docs.led_seccion = 'E') DOC_EMPLEADOS
GROUP BY DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo) EMPLEADOS
INNER JOIN led_tipos_doc ON EMPLEADOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON EMPLEADOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON EMPLEADOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
UNION
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, VEHICULOS.led_seccion, VEHICULOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
VEHICULOS.status_doc, VEHICULOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN VEHICULOS.status_doc = 'R' THEN 1
WHEN VEHICULOS.status_doc = 'E' THEN 2
WHEN VEHICULOS.status_doc = 'P' THEN 3
WHEN VEHICULOS.status_doc = 'N' THEN 4
WHEN VEHICULOS.status_doc = 'I' THEN 5
WHEN VEHICULOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo, MAX(DOC_VEHICULOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_VEHICULOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_VEHICULOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_VEHICULOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_VEHICULOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_VEHICULOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_vehiculos ON led_docs.vehiculo = led_vehiculos.vehiculo
INNER JOIN led_cliente_vehiculo ON (led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
AND led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc
AND led_cliente_vehiculo.requiere_upload = 1
AND led_cliente_vehiculo.cliente = @cliente
AND led_cliente_vehiculo.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
where led_docs.contratista_1 = @p_contratista_1
and led_vehiculos.estado_vehiculo = 'A'
and led_docs.periodo >= @p_periodo_desde
and led_docs.led_seccion = 'V') DOC_VEHICULOS
GROUP BY DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo) VEHICULOS
INNER JOIN led_tipos_doc ON VEHICULOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON VEHICULOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON VEHICULOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
ORDER BY orden_status, periodo, nombre_tipo_doc
ELSE
IF (@p_periodo_desde IS NULL AND @p_periodo_hasta IS NOT NULL)
/* Todas las secciones, todas las empresas, período hasta */
SELECT led_docs.doc_id, led_docs.cliente, led_docs.contratista_1, led_docs.contratista,
led_docs.led_seccion, led_docs.periodo, led_docs.fecha_tolerancia,
led_docs.fecha_vigencia, led_docs.aprobacion_parcial, led_docs.status_doc,
led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN led_docs.status_doc = 'R' THEN 1
WHEN led_docs.status_doc = 'E' THEN 2
WHEN led_docs.status_doc = 'P' THEN 3
WHEN led_docs.status_doc = 'N' THEN 4
WHEN led_docs.status_doc = 'I' THEN 5
WHEN led_docs.status_doc = 'V' THEN 6 END AS orden_status
FROM led_docs
INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_cliente_contratista ON (led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
AND led_docs.tipo_doc = led_cliente_contratista.tipo_doc
AND led_cliente_contratista.requiere_upload = 1
AND led_cliente_contratista.cliente = @cliente
AND led_cliente_contratista.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
INNER JOIN led_contratista_periodo ON (led_contratistas_1.contratista = led_contratista_periodo.contratista
AND led_docs.periodo = led_contratista_periodo.periodo)
WHERE led_docs.contratista_1 = @p_contratista_1
AND led_contratistas.contratista_1 = led_contratistas.contratista
AND led_docs.periodo <= @p_periodo_hasta
AND led_docs.led_seccion = 'C'
UNION
SELECT led_docs.doc_id, led_docs.cliente, led_docs.contratista_1, led_docs.contratista,
led_docs.led_seccion, led_docs.periodo, led_docs.fecha_tolerancia,
led_docs.fecha_vigencia, led_docs.aprobacion_parcial, led_docs.status_doc,
led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN led_docs.status_doc = 'R' THEN 1
WHEN led_docs.status_doc = 'E' THEN 2
WHEN led_docs.status_doc = 'P' THEN 3
WHEN led_docs.status_doc = 'N' THEN 4
WHEN led_docs.status_doc = 'I' THEN 5
WHEN led_docs.status_doc = 'V' THEN 6 END AS orden_status
FROM led_docs
INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_cliente_contratista ON (led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
AND led_docs.tipo_doc = led_cliente_contratista.tipo_doc
AND led_cliente_contratista.requiere_upload = 1
AND led_cliente_contratista.cliente = @cliente
AND led_cliente_contratista.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
INNER JOIN led_subcontratista_periodo ON (led_contratistas.contratista = led_subcontratista_periodo.subcontratista
AND led_docs.periodo = led_subcontratista_periodo.periodo)
WHERE led_docs.contratista_1 = @p_contratista_1
AND led_contratistas.contratista_1 <> led_contratistas.contratista
AND led_docs.periodo <= @p_periodo_hasta
AND led_docs.led_seccion = 'C'
AND led_contratistas.estado_contratista = 'A'
UNION
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, EMPLEADOS.led_seccion, EMPLEADOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
EMPLEADOS.status_doc, EMPLEADOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN EMPLEADOS.status_doc = 'R' THEN 1
WHEN EMPLEADOS.status_doc = 'E' THEN 2
WHEN EMPLEADOS.status_doc = 'P' THEN 3
WHEN EMPLEADOS.status_doc = 'N' THEN 4
WHEN EMPLEADOS.status_doc = 'I' THEN 5
WHEN EMPLEADOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo, MAX(DOC_EMPLEADOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_EMPLEADOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_empleados ON led_docs.empleado = led_empleados.empleado
INNER JOIN led_cliente_empleado ON (led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
AND led_docs.tipo_doc = led_cliente_empleado.tipo_doc
AND led_cliente_empleado.requiere_upload = 1
AND led_cliente_empleado.cliente = @cliente
AND led_cliente_empleado.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
where led_docs.contratista_1 = @p_contratista_1
and led_docs.periodo <= @p_periodo_hasta
and led_docs.led_seccion = 'E') DOC_EMPLEADOS
GROUP BY DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo) EMPLEADOS
INNER JOIN led_tipos_doc ON EMPLEADOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON EMPLEADOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON EMPLEADOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
UNION
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, VEHICULOS.led_seccion, VEHICULOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
VEHICULOS.status_doc, VEHICULOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN VEHICULOS.status_doc = 'R' THEN 1
WHEN VEHICULOS.status_doc = 'E' THEN 2
WHEN VEHICULOS.status_doc = 'P' THEN 3
WHEN VEHICULOS.status_doc = 'N' THEN 4
WHEN VEHICULOS.status_doc = 'I' THEN 5
WHEN VEHICULOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo, MAX(DOC_VEHICULOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_VEHICULOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_VEHICULOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_VEHICULOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_VEHICULOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_VEHICULOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_vehiculos ON led_docs.vehiculo = led_vehiculos.vehiculo
INNER JOIN led_cliente_vehiculo ON (led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
AND led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc
AND led_cliente_vehiculo.requiere_upload = 1
AND led_cliente_vehiculo.cliente = @cliente
AND led_cliente_vehiculo.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
where led_docs.contratista_1 = @p_contratista_1
and led_vehiculos.estado_vehiculo = 'A'
and led_docs.periodo <= @p_periodo_hasta
and led_docs.led_seccion = 'V') DOC_VEHICULOS
GROUP BY DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo) VEHICULOS
INNER JOIN led_tipos_doc ON VEHICULOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON VEHICULOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON VEHICULOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
ORDER BY orden_status, periodo, nombre_tipo_doc
ELSE
/* Todas las secciones, todas las empresas, período desde - hasta */
SELECT led_docs.doc_id, led_docs.cliente, led_docs.contratista_1, led_docs.contratista,
led_docs.led_seccion, led_docs.periodo, led_docs.fecha_tolerancia,
led_docs.fecha_vigencia, led_docs.aprobacion_parcial, led_docs.status_doc,
led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN led_docs.status_doc = 'R' THEN 1
WHEN led_docs.status_doc = 'E' THEN 2
WHEN led_docs.status_doc = 'P' THEN 3
WHEN led_docs.status_doc = 'N' THEN 4
WHEN led_docs.status_doc = 'I' THEN 5
WHEN led_docs.status_doc = 'V' THEN 6 END AS orden_status
FROM led_docs
INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_cliente_contratista ON (led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
AND led_docs.tipo_doc = led_cliente_contratista.tipo_doc
AND led_cliente_contratista.requiere_upload = 1
AND led_cliente_contratista.cliente = @cliente
AND led_cliente_contratista.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
INNER JOIN led_contratista_periodo ON (led_contratistas_1.contratista = led_contratista_periodo.contratista
AND led_docs.periodo = led_contratista_periodo.periodo)
WHERE led_docs.contratista_1 = @p_contratista_1
AND led_contratistas.contratista_1 = led_contratistas.contratista
AND led_docs.periodo >= @p_periodo_desde
AND led_docs.periodo <= @p_periodo_hasta
AND led_docs.led_seccion = 'C'
UNION
SELECT led_docs.doc_id, led_docs.cliente, led_docs.contratista_1, led_docs.contratista,
led_docs.led_seccion, led_docs.periodo, led_docs.fecha_tolerancia,
led_docs.fecha_vigencia, led_docs.aprobacion_parcial, led_docs.status_doc,
led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN led_docs.status_doc = 'R' THEN 1
WHEN led_docs.status_doc = 'E' THEN 2
WHEN led_docs.status_doc = 'P' THEN 3
WHEN led_docs.status_doc = 'N' THEN 4
WHEN led_docs.status_doc = 'I' THEN 5
WHEN led_docs.status_doc = 'V' THEN 6 END AS orden_status
FROM led_docs
INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_cliente_contratista ON (led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
AND led_docs.tipo_doc = led_cliente_contratista.tipo_doc
AND led_cliente_contratista.requiere_upload = 1
AND led_cliente_contratista.cliente = @cliente
AND led_cliente_contratista.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
INNER JOIN led_subcontratista_periodo ON (led_contratistas.contratista = led_subcontratista_periodo.subcontratista
AND led_docs.periodo = led_subcontratista_periodo.periodo)
WHERE led_docs.contratista_1 = @p_contratista_1
AND led_contratistas.contratista_1 <> led_contratistas.contratista
AND led_docs.periodo >= @p_periodo_desde
AND led_docs.periodo <= @p_periodo_hasta
AND led_docs.led_seccion = 'C'
AND led_contratistas.estado_contratista = 'A'
UNION
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, EMPLEADOS.led_seccion, EMPLEADOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
EMPLEADOS.status_doc, EMPLEADOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN EMPLEADOS.status_doc = 'R' THEN 1
WHEN EMPLEADOS.status_doc = 'E' THEN 2
WHEN EMPLEADOS.status_doc = 'P' THEN 3
WHEN EMPLEADOS.status_doc = 'N' THEN 4
WHEN EMPLEADOS.status_doc = 'I' THEN 5
WHEN EMPLEADOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo, MAX(DOC_EMPLEADOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_EMPLEADOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_empleados ON led_docs.empleado = led_empleados.empleado
INNER JOIN led_cliente_empleado ON (led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
AND led_docs.tipo_doc = led_cliente_empleado.tipo_doc
AND led_cliente_empleado.requiere_upload = 1
AND led_cliente_empleado.cliente = @cliente
AND led_cliente_empleado.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
where led_docs.contratista_1 = @p_contratista_1
and led_docs.periodo >= @p_periodo_desde
and led_docs.periodo <= @p_periodo_hasta
and led_docs.led_seccion = 'E') DOC_EMPLEADOS
GROUP BY DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo) EMPLEADOS
INNER JOIN led_tipos_doc ON EMPLEADOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON EMPLEADOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON EMPLEADOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
UNION
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, VEHICULOS.led_seccion, VEHICULOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
VEHICULOS.status_doc, VEHICULOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN VEHICULOS.status_doc = 'R' THEN 1
WHEN VEHICULOS.status_doc = 'E' THEN 2
WHEN VEHICULOS.status_doc = 'P' THEN 3
WHEN VEHICULOS.status_doc = 'N' THEN 4
WHEN VEHICULOS.status_doc = 'I' THEN 5
WHEN VEHICULOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo, MAX(DOC_VEHICULOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_VEHICULOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_VEHICULOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_VEHICULOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_VEHICULOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_VEHICULOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_vehiculos ON led_docs.vehiculo = led_vehiculos.vehiculo
INNER JOIN led_cliente_vehiculo ON (led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
AND led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc
AND led_cliente_vehiculo.requiere_upload = 1
AND led_cliente_vehiculo.cliente = @cliente
AND led_cliente_vehiculo.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
where led_docs.contratista_1 = @p_contratista_1
and led_vehiculos.estado_vehiculo = 'A'
and led_docs.periodo >= @p_periodo_desde
and led_docs.periodo <= @p_periodo_hasta
and led_docs.led_seccion = 'V') DOC_VEHICULOS
GROUP BY DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo) VEHICULOS
INNER JOIN led_tipos_doc ON VEHICULOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON VEHICULOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON VEHICULOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
ORDER BY orden_status, periodo, nombre_tipo_doc
END ELSE BEGIN
IF (@p_periodo_desde IS NULL AND @p_periodo_hasta IS NULL)
/* Todas las secciones, por empresa, sin filtro por período */
SELECT led_docs.doc_id, led_docs.cliente, led_docs.contratista_1, led_docs.contratista,
led_docs.led_seccion, led_docs.periodo, led_docs.fecha_tolerancia,
led_docs.fecha_vigencia, led_docs.aprobacion_parcial, led_docs.status_doc,
led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN led_docs.status_doc = 'R' THEN 1
WHEN led_docs.status_doc = 'E' THEN 2
WHEN led_docs.status_doc = 'P' THEN 3
WHEN led_docs.status_doc = 'N' THEN 4
WHEN led_docs.status_doc = 'I' THEN 5
WHEN led_docs.status_doc = 'V' THEN 6 END AS orden_status
FROM led_docs
INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
--INNER JOIN dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_cliente_contratista ON (led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
AND led_docs.tipo_doc = led_cliente_contratista.tipo_doc
AND led_cliente_contratista.requiere_upload = 1
AND led_cliente_contratista.cliente = @cliente
AND led_cliente_contratista.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
WHERE led_docs.contratista_1 = @p_contratista_1
AND led_docs.contratista = @p_contratista
AND led_docs.led_seccion = 'C'
UNION
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, EMPLEADOS.led_seccion, EMPLEADOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
EMPLEADOS.status_doc, EMPLEADOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN EMPLEADOS.status_doc = 'R' THEN 1
WHEN EMPLEADOS.status_doc = 'E' THEN 2
WHEN EMPLEADOS.status_doc = 'P' THEN 3
WHEN EMPLEADOS.status_doc = 'N' THEN 4
WHEN EMPLEADOS.status_doc = 'I' THEN 5
WHEN EMPLEADOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo, MAX(DOC_EMPLEADOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_EMPLEADOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_empleados ON led_docs.empleado = led_empleados.empleado
INNER JOIN led_cliente_empleado ON (led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
AND led_docs.tipo_doc = led_cliente_empleado.tipo_doc
AND led_cliente_empleado.requiere_upload = 1
AND led_cliente_empleado.cliente = @cliente
AND led_cliente_empleado.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
where led_docs.contratista_1 = @p_contratista_1
and led_docs.contratista = @p_contratista
and led_docs.led_seccion = 'E') DOC_EMPLEADOS
GROUP BY DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo) EMPLEADOS
INNER JOIN led_tipos_doc ON EMPLEADOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON EMPLEADOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON EMPLEADOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
UNION
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, VEHICULOS.led_seccion, VEHICULOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
VEHICULOS.status_doc, VEHICULOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN VEHICULOS.status_doc = 'R' THEN 1
WHEN VEHICULOS.status_doc = 'E' THEN 2
WHEN VEHICULOS.status_doc = 'P' THEN 3
WHEN VEHICULOS.status_doc = 'N' THEN 4
WHEN VEHICULOS.status_doc = 'I' THEN 5
WHEN VEHICULOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo, MAX(DOC_VEHICULOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_VEHICULOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_VEHICULOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_VEHICULOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_VEHICULOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_VEHICULOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_vehiculos ON led_docs.vehiculo = led_vehiculos.vehiculo
INNER JOIN led_cliente_vehiculo ON (led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
AND led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc
AND led_cliente_vehiculo.requiere_upload = 1
AND led_cliente_vehiculo.cliente = @cliente
AND led_cliente_vehiculo.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
where led_docs.contratista_1 = @p_contratista_1
and led_vehiculos.estado_vehiculo = 'A'
and led_docs.contratista = @p_contratista
and led_docs.led_seccion = 'V') DOC_VEHICULOS
GROUP BY DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo) VEHICULOS
INNER JOIN led_tipos_doc ON VEHICULOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON VEHICULOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON VEHICULOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
ORDER BY orden_status, periodo, nombre_tipo_doc
ELSE
IF (@p_periodo_desde IS NOT NULL AND @p_periodo_hasta IS NULL)
/* Todas las secciones, por empresa, período desde */
SELECT led_docs.doc_id, led_docs.cliente, led_docs.contratista_1, led_docs.contratista,
led_docs.led_seccion, led_docs.periodo, led_docs.fecha_tolerancia,
led_docs.fecha_vigencia, led_docs.aprobacion_parcial, led_docs.status_doc,
led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN led_docs.status_doc = 'R' THEN 1
WHEN led_docs.status_doc = 'E' THEN 2
WHEN led_docs.status_doc = 'P' THEN 3
WHEN led_docs.status_doc = 'N' THEN 4
WHEN led_docs.status_doc = 'I' THEN 5
WHEN led_docs.status_doc = 'V' THEN 6 END AS orden_status
FROM led_docs
INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
--INNER JOIN dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_cliente_contratista ON (led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
AND led_docs.tipo_doc = led_cliente_contratista.tipo_doc
AND led_cliente_contratista.requiere_upload = 1
AND led_cliente_contratista.cliente = @cliente
AND led_cliente_contratista.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
WHERE led_docs.contratista_1 = @p_contratista_1
AND led_docs.contratista = @p_contratista
AND led_docs.periodo >= @p_periodo_desde
AND led_docs.led_seccion = 'C'
UNION
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, EMPLEADOS.led_seccion, EMPLEADOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
EMPLEADOS.status_doc, EMPLEADOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN EMPLEADOS.status_doc = 'R' THEN 1
WHEN EMPLEADOS.status_doc = 'E' THEN 2
WHEN EMPLEADOS.status_doc = 'P' THEN 3
WHEN EMPLEADOS.status_doc = 'N' THEN 4
WHEN EMPLEADOS.status_doc = 'I' THEN 5
WHEN EMPLEADOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo, MAX(DOC_EMPLEADOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_EMPLEADOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_empleados ON led_docs.empleado = led_empleados.empleado
INNER JOIN led_cliente_empleado ON (led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
AND led_docs.tipo_doc = led_cliente_empleado.tipo_doc
AND led_cliente_empleado.requiere_upload = 1
AND led_cliente_empleado.cliente = @cliente
AND led_cliente_empleado.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
where led_docs.contratista_1 = @p_contratista_1
and led_docs.contratista = @p_contratista
and led_docs.periodo >= @p_periodo_desde
and led_docs.led_seccion = 'E') DOC_EMPLEADOS
GROUP BY DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo) EMPLEADOS
INNER JOIN led_tipos_doc ON EMPLEADOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON EMPLEADOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON EMPLEADOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
UNION
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, VEHICULOS.led_seccion, VEHICULOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
VEHICULOS.status_doc, VEHICULOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN VEHICULOS.status_doc = 'R' THEN 1
WHEN VEHICULOS.status_doc = 'E' THEN 2
WHEN VEHICULOS.status_doc = 'P' THEN 3
WHEN VEHICULOS.status_doc = 'N' THEN 4
WHEN VEHICULOS.status_doc = 'I' THEN 5
WHEN VEHICULOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo, MAX(DOC_VEHICULOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_VEHICULOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_VEHICULOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_VEHICULOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_VEHICULOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_VEHICULOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_vehiculos ON led_docs.vehiculo = led_vehiculos.vehiculo
INNER JOIN led_cliente_vehiculo ON (led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
AND led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc
AND led_cliente_vehiculo.requiere_upload = 1
AND led_cliente_vehiculo.cliente = @cliente
AND led_cliente_vehiculo.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
where led_docs.contratista_1 = @p_contratista_1
and led_vehiculos.estado_vehiculo = 'A'
and led_docs.contratista = @p_contratista
and led_docs.periodo >= @p_periodo_desde
and led_docs.led_seccion = 'V') DOC_VEHICULOS
GROUP BY DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo) VEHICULOS
INNER JOIN led_tipos_doc ON VEHICULOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON VEHICULOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON VEHICULOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
ORDER BY orden_status, periodo, nombre_tipo_doc
ELSE
IF (@p_periodo_desde IS NULL AND @p_periodo_hasta IS NOT NULL)
/* Todas las secciones, por empresa, período hasta */
SELECT led_docs.doc_id, led_docs.cliente, led_docs.contratista_1, led_docs.contratista,
led_docs.led_seccion, led_docs.periodo, led_docs.fecha_tolerancia,
led_docs.fecha_vigencia, led_docs.aprobacion_parcial, led_docs.status_doc,
led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN led_docs.status_doc = 'R' THEN 1
WHEN led_docs.status_doc = 'E' THEN 2
WHEN led_docs.status_doc = 'P' THEN 3
WHEN led_docs.status_doc = 'N' THEN 4
WHEN led_docs.status_doc = 'I' THEN 5
WHEN led_docs.status_doc = 'V' THEN 6 END AS orden_status
FROM led_docs
INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
--INNER JOIN dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_cliente_contratista ON (led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
AND led_docs.tipo_doc = led_cliente_contratista.tipo_doc
AND led_cliente_contratista.requiere_upload = 1
AND led_cliente_contratista.cliente = @cliente
AND led_cliente_contratista.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
WHERE led_docs.contratista_1 = @p_contratista_1
AND led_docs.contratista = @p_contratista
AND led_docs.periodo <= @p_periodo_hasta
AND led_docs.led_seccion = 'C'
UNION
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, EMPLEADOS.led_seccion, EMPLEADOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
EMPLEADOS.status_doc, EMPLEADOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN EMPLEADOS.status_doc = 'R' THEN 1
WHEN EMPLEADOS.status_doc = 'E' THEN 2
WHEN EMPLEADOS.status_doc = 'P' THEN 3
WHEN EMPLEADOS.status_doc = 'N' THEN 4
WHEN EMPLEADOS.status_doc = 'I' THEN 5
WHEN EMPLEADOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo, MAX(DOC_EMPLEADOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_EMPLEADOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_empleados ON led_docs.empleado = led_empleados.empleado
INNER JOIN led_cliente_empleado ON (led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
AND led_docs.tipo_doc = led_cliente_empleado.tipo_doc
AND led_cliente_empleado.requiere_upload = 1
AND led_cliente_empleado.cliente = @cliente
AND led_cliente_empleado.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
where led_docs.contratista_1 = @p_contratista_1
and led_docs.contratista = @p_contratista
and led_docs.periodo <= @p_periodo_hasta
and led_docs.led_seccion = 'E') DOC_EMPLEADOS
GROUP BY DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo) EMPLEADOS
INNER JOIN led_tipos_doc ON EMPLEADOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON EMPLEADOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON EMPLEADOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
UNION
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, VEHICULOS.led_seccion, VEHICULOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
VEHICULOS.status_doc, VEHICULOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN VEHICULOS.status_doc = 'R' THEN 1
WHEN VEHICULOS.status_doc = 'E' THEN 2
WHEN VEHICULOS.status_doc = 'P' THEN 3
WHEN VEHICULOS.status_doc = 'N' THEN 4
WHEN VEHICULOS.status_doc = 'I' THEN 5
WHEN VEHICULOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo, MAX(DOC_VEHICULOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_VEHICULOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_VEHICULOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_VEHICULOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_VEHICULOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_VEHICULOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_vehiculos ON led_docs.vehiculo = led_vehiculos.vehiculo
INNER JOIN led_cliente_vehiculo ON (led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
AND led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc
AND led_cliente_vehiculo.requiere_upload = 1
AND led_cliente_vehiculo.cliente = @cliente
AND led_cliente_vehiculo.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
where led_docs.contratista_1 = @p_contratista_1
and led_vehiculos.estado_vehiculo = 'A'
and led_docs.contratista = @p_contratista
and led_docs.periodo <= @p_periodo_hasta
and led_docs.led_seccion = 'V') DOC_VEHICULOS
GROUP BY DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo) VEHICULOS
INNER JOIN led_tipos_doc ON VEHICULOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON VEHICULOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON VEHICULOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
ORDER BY orden_status, periodo, nombre_tipo_doc
ELSE
/* Todas las secciones, por empresa, período desde - hasta */
SELECT led_docs.doc_id, led_docs.cliente, led_docs.contratista_1, led_docs.contratista,
led_docs.led_seccion, led_docs.periodo, led_docs.fecha_tolerancia,
led_docs.fecha_vigencia, led_docs.aprobacion_parcial, led_docs.status_doc,
led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN led_docs.status_doc = 'R' THEN 1
WHEN led_docs.status_doc = 'E' THEN 2
WHEN led_docs.status_doc = 'P' THEN 3
WHEN led_docs.status_doc = 'N' THEN 4
WHEN led_docs.status_doc = 'I' THEN 5
WHEN led_docs.status_doc = 'V' THEN 6 END AS orden_status
FROM led_docs
INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
--INNER JOIN dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_cliente_contratista ON (led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
AND led_docs.tipo_doc = led_cliente_contratista.tipo_doc
AND led_cliente_contratista.requiere_upload = 1
AND led_cliente_contratista.cliente = @cliente
AND led_cliente_contratista.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
WHERE led_docs.contratista_1 = @p_contratista_1
AND led_docs.contratista = @p_contratista
AND led_docs.periodo >= @p_periodo_desde
AND led_docs.periodo <= @p_periodo_hasta
AND led_docs.led_seccion = 'C'
UNION
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, EMPLEADOS.led_seccion, EMPLEADOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
EMPLEADOS.status_doc, EMPLEADOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN EMPLEADOS.status_doc = 'R' THEN 1
WHEN EMPLEADOS.status_doc = 'E' THEN 2
WHEN EMPLEADOS.status_doc = 'P' THEN 3
WHEN EMPLEADOS.status_doc = 'N' THEN 4
WHEN EMPLEADOS.status_doc = 'I' THEN 5
WHEN EMPLEADOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo, MAX(DOC_EMPLEADOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_EMPLEADOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_empleados ON led_docs.empleado = led_empleados.empleado
INNER JOIN led_cliente_empleado ON (led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
AND led_docs.tipo_doc = led_cliente_empleado.tipo_doc
AND led_cliente_empleado.requiere_upload = 1
AND led_cliente_empleado.cliente = @cliente
AND led_cliente_empleado.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
where led_docs.contratista_1 = @p_contratista_1
and led_docs.contratista = @p_contratista
and led_docs.periodo >= @p_periodo_desde
and led_docs.periodo <= @p_periodo_hasta
and led_docs.led_seccion = 'E') DOC_EMPLEADOS
GROUP BY DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo) EMPLEADOS
INNER JOIN led_tipos_doc ON EMPLEADOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON EMPLEADOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON EMPLEADOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
UNION
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, VEHICULOS.led_seccion, VEHICULOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
VEHICULOS.status_doc, VEHICULOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN VEHICULOS.status_doc = 'R' THEN 1
WHEN VEHICULOS.status_doc = 'E' THEN 2
WHEN VEHICULOS.status_doc = 'P' THEN 3
WHEN VEHICULOS.status_doc = 'N' THEN 4
WHEN VEHICULOS.status_doc = 'I' THEN 5
WHEN VEHICULOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo, MAX(DOC_VEHICULOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_VEHICULOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_VEHICULOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_VEHICULOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_VEHICULOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_VEHICULOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_vehiculos ON led_docs.vehiculo = led_vehiculos.vehiculo
INNER JOIN led_cliente_vehiculo ON (led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
AND led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc
AND led_cliente_vehiculo.requiere_upload = 1
AND led_cliente_vehiculo.cliente = @cliente
AND led_cliente_vehiculo.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
where led_docs.contratista_1 = @p_contratista_1
and led_vehiculos.estado_vehiculo = 'A'
and led_docs.contratista = @p_contratista
and led_docs.periodo >= @p_periodo_desde
and led_docs.periodo <= @p_periodo_hasta
and led_docs.led_seccion = 'V') DOC_VEHICULOS
GROUP BY DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo) VEHICULOS
INNER JOIN led_tipos_doc ON VEHICULOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON VEHICULOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON VEHICULOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
ORDER BY orden_status, periodo, nombre_tipo_doc
END
/*END*/
END
END
GO
GO
CREATE OR ALTER PROCEDURE dbo.Imperium_vista_contratista_Historial_ANT
-- Add the parameters for the stored procedure here
/* Parámetro contratista 1 no puede ser nulo */
@p_contratista_1 int,
@p_status_doc varchar(20),
@p_contratista int,
@p_periodo_desde int,
@p_periodo_hasta int,
@p_led_seccion varchar(1),
@p_acceso tinyint
/*
@p_contratista : para pedir documentación de un subcontratista
@p_status_doc es la lista separada por "," de estados de documentos a seleccionar,
representada cada opción por 1 letra:
E = vencidos
N = pendientes de carga
R = rechazados
P = verificados parciales
I = ingresados pendientes de verificar
V = verificados
@p_acceso, si > 0 filtra por documentos killer de control de acceso
*/
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
DECLARE @cliente INT
SET @cliente = (select led_contratistas.cliente from led_contratistas where led_contratistas.contratista = @p_contratista_1)
-- Insert statements for procedure here
IF (@p_contratista_1 > 0 AND @p_status_doc IS NOT NULL)
BEGIN
/*IF (@p_led_seccion IS NULL)
BEGIN
SET @p_led_seccion = 'C'
END*/
/* Cota máxima 12 meses */
IF (@p_periodo_desde IS NULL)
BEGIN
SET @p_periodo_desde = dbo.PeriodoAnual()
END
DECLARE @acceso varchar(5) = '0,1'
IF (@p_acceso > 0)
begin
SET @acceso = '1'
end
/*IF (@lista_tipos_doc <> '') BEGIN*/
IF (@p_led_seccion = 'C') BEGIN
IF (@p_contratista IS NULL) BEGIN
IF (@p_periodo_desde IS NULL AND @p_periodo_hasta IS NULL)
/* Seccion C, todas las empresas, sin filtro por período */
SELECT led_docs.doc_id, led_docs.cliente, led_docs.contratista_1, led_docs.contratista,
led_docs.led_seccion, led_docs.periodo, led_docs.fecha_tolerancia,
led_docs.fecha_vigencia, led_docs.aprobacion_parcial, led_docs.status_doc,
led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN led_docs.status_doc = 'R' THEN 1
WHEN led_docs.status_doc = 'E' THEN 2
WHEN led_docs.status_doc = 'P' THEN 3
WHEN led_docs.status_doc = 'N' THEN 4
WHEN led_docs.status_doc = 'I' THEN 5
WHEN led_docs.status_doc = 'V' THEN 6 END AS orden_status
FROM led_docs
INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_cliente_contratista ON (led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
AND led_docs.tipo_doc = led_cliente_contratista.tipo_doc
AND led_cliente_contratista.requiere_upload = 1
AND led_cliente_contratista.cliente = @cliente
AND led_cliente_contratista.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
INNER JOIN led_contratista_periodo ON (led_contratistas_1.contratista = led_contratista_periodo.contratista
AND led_docs.periodo = led_contratista_periodo.periodo)
WHERE led_docs.contratista_1 = @p_contratista_1
AND led_contratistas.contratista_1 = led_contratistas.contratista
AND led_docs.led_seccion = @p_led_seccion
UNION
SELECT led_docs.doc_id, led_docs.cliente, led_docs.contratista_1, led_docs.contratista,
led_docs.led_seccion, led_docs.periodo, led_docs.fecha_tolerancia,
led_docs.fecha_vigencia, led_docs.aprobacion_parcial, led_docs.status_doc,
led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN led_docs.status_doc = 'R' THEN 1
WHEN led_docs.status_doc = 'E' THEN 2
WHEN led_docs.status_doc = 'P' THEN 3
WHEN led_docs.status_doc = 'N' THEN 4
WHEN led_docs.status_doc = 'I' THEN 5
WHEN led_docs.status_doc = 'V' THEN 6 END AS orden_status
FROM led_docs
INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_cliente_contratista ON (led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
AND led_docs.tipo_doc = led_cliente_contratista.tipo_doc
AND led_cliente_contratista.requiere_upload = 1
AND led_cliente_contratista.cliente = @cliente
AND led_cliente_contratista.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
INNER JOIN led_subcontratista_periodo ON (led_contratistas.contratista = led_subcontratista_periodo.subcontratista
AND led_docs.periodo = led_subcontratista_periodo.periodo)
WHERE led_docs.contratista_1 = @p_contratista_1
AND led_contratistas.contratista_1 <> led_contratistas.contratista
AND led_docs.led_seccion = @p_led_seccion
AND led_contratistas.estado_contratista = 'A'
ORDER BY orden_status, led_docs.periodo
ELSE
IF (@p_periodo_desde IS NOT NULL AND @p_periodo_hasta IS NULL)
/* Seccion C, todas las empresas, período desde */
SELECT led_docs.doc_id, led_docs.cliente, led_docs.contratista_1, led_docs.contratista,
led_docs.led_seccion, led_docs.periodo, led_docs.fecha_tolerancia,
led_docs.fecha_vigencia, led_docs.aprobacion_parcial, led_docs.status_doc,
led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN led_docs.status_doc = 'R' THEN 1
WHEN led_docs.status_doc = 'E' THEN 2
WHEN led_docs.status_doc = 'P' THEN 3
WHEN led_docs.status_doc = 'N' THEN 4
WHEN led_docs.status_doc = 'I' THEN 5
WHEN led_docs.status_doc = 'V' THEN 6 END AS orden_status
FROM led_docs
INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_cliente_contratista ON (led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
AND led_docs.tipo_doc = led_cliente_contratista.tipo_doc
AND led_cliente_contratista.requiere_upload = 1
AND led_cliente_contratista.cliente = @cliente
AND led_cliente_contratista.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
INNER JOIN led_contratista_periodo ON (led_contratistas_1.contratista = led_contratista_periodo.contratista
AND led_docs.periodo = led_contratista_periodo.periodo)
WHERE led_docs.contratista_1 = @p_contratista_1
AND led_contratistas.contratista_1 = led_contratistas.contratista
AND led_docs.led_seccion = @p_led_seccion
AND led_docs.periodo >= @p_periodo_desde
UNION
SELECT led_docs.doc_id, led_docs.cliente, led_docs.contratista_1, led_docs.contratista,
led_docs.led_seccion, led_docs.periodo, led_docs.fecha_tolerancia,
led_docs.fecha_vigencia, led_docs.aprobacion_parcial, led_docs.status_doc,
led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN led_docs.status_doc = 'R' THEN 1
WHEN led_docs.status_doc = 'E' THEN 2
WHEN led_docs.status_doc = 'P' THEN 3
WHEN led_docs.status_doc = 'N' THEN 4
WHEN led_docs.status_doc = 'I' THEN 5
WHEN led_docs.status_doc = 'V' THEN 6 END AS orden_status
FROM led_docs
INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_cliente_contratista ON (led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
AND led_docs.tipo_doc = led_cliente_contratista.tipo_doc
AND led_cliente_contratista.requiere_upload = 1
AND led_cliente_contratista.cliente = @cliente
AND led_cliente_contratista.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
INNER JOIN led_subcontratista_periodo ON (led_contratistas.contratista = led_subcontratista_periodo.subcontratista
AND led_docs.periodo = led_subcontratista_periodo.periodo)
WHERE led_docs.contratista_1 = @p_contratista_1
AND led_contratistas.contratista_1 <> led_contratistas.contratista
AND led_docs.led_seccion = @p_led_seccion
AND led_docs.periodo >= @p_periodo_desde
AND led_contratistas.estado_contratista = 'A'
ORDER BY orden_status, led_docs.periodo
ELSE
IF (@p_periodo_desde IS NULL AND @p_periodo_hasta IS NOT NULL)
/* Seccion C, todas las empresas, período hasta */
SELECT led_docs.doc_id, led_docs.cliente, led_docs.contratista_1, led_docs.contratista,
led_docs.led_seccion, led_docs.periodo, led_docs.fecha_tolerancia,
led_docs.fecha_vigencia, led_docs.aprobacion_parcial, led_docs.status_doc,
led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN led_docs.status_doc = 'R' THEN 1
WHEN led_docs.status_doc = 'E' THEN 2
WHEN led_docs.status_doc = 'P' THEN 3
WHEN led_docs.status_doc = 'N' THEN 4
WHEN led_docs.status_doc = 'I' THEN 5
WHEN led_docs.status_doc = 'V' THEN 6 END AS orden_status
FROM led_docs
INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_cliente_contratista ON (led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
AND led_docs.tipo_doc = led_cliente_contratista.tipo_doc
AND led_cliente_contratista.requiere_upload = 1
AND led_cliente_contratista.cliente = @cliente
AND led_cliente_contratista.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
INNER JOIN led_contratista_periodo ON (led_contratistas_1.contratista = led_contratista_periodo.contratista
AND led_docs.periodo = led_contratista_periodo.periodo)
WHERE led_docs.contratista_1 = @p_contratista_1
AND led_contratistas.contratista_1 = led_contratistas.contratista
AND led_docs.led_seccion = @p_led_seccion
AND led_docs.periodo <= @p_periodo_hasta
UNION
SELECT led_docs.doc_id, led_docs.cliente, led_docs.contratista_1, led_docs.contratista,
led_docs.led_seccion, led_docs.periodo, led_docs.fecha_tolerancia,
led_docs.fecha_vigencia, led_docs.aprobacion_parcial, led_docs.status_doc,
led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN led_docs.status_doc = 'R' THEN 1
WHEN led_docs.status_doc = 'E' THEN 2
WHEN led_docs.status_doc = 'P' THEN 3
WHEN led_docs.status_doc = 'N' THEN 4
WHEN led_docs.status_doc = 'I' THEN 5
WHEN led_docs.status_doc = 'V' THEN 6 END AS orden_status
FROM led_docs
INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_cliente_contratista ON (led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
AND led_docs.tipo_doc = led_cliente_contratista.tipo_doc
AND led_cliente_contratista.requiere_upload = 1
AND led_cliente_contratista.cliente = @cliente
AND led_cliente_contratista.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
INNER JOIN led_subcontratista_periodo ON (led_contratistas.contratista = led_subcontratista_periodo.subcontratista
AND led_docs.periodo = led_subcontratista_periodo.periodo)
WHERE led_docs.contratista_1 = @p_contratista_1
AND led_contratistas.contratista_1 <> led_contratistas.contratista
AND led_docs.led_seccion = @p_led_seccion
AND led_docs.periodo <= @p_periodo_hasta
AND led_contratistas.estado_contratista = 'A'
ORDER BY orden_status, led_docs.periodo
ELSE
/* Seccion C, todas las empresas, período desde hasta */
SELECT led_docs.doc_id, led_docs.cliente, led_docs.contratista_1, led_docs.contratista,
led_docs.led_seccion, led_docs.periodo, led_docs.fecha_tolerancia,
led_docs.fecha_vigencia, led_docs.aprobacion_parcial, led_docs.status_doc,
led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN led_docs.status_doc = 'R' THEN 1
WHEN led_docs.status_doc = 'E' THEN 2
WHEN led_docs.status_doc = 'P' THEN 3
WHEN led_docs.status_doc = 'N' THEN 4
WHEN led_docs.status_doc = 'I' THEN 5
WHEN led_docs.status_doc = 'V' THEN 6 END AS orden_status
FROM led_docs
INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_cliente_contratista ON (led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
AND led_docs.tipo_doc = led_cliente_contratista.tipo_doc
AND led_cliente_contratista.requiere_upload = 1
AND led_cliente_contratista.cliente = @cliente
AND led_cliente_contratista.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
INNER JOIN led_contratista_periodo ON (led_contratistas_1.contratista = led_contratista_periodo.contratista
AND led_docs.periodo = led_contratista_periodo.periodo)
WHERE led_docs.contratista_1 = @p_contratista_1
AND led_contratistas.contratista_1 = led_contratistas.contratista
AND led_docs.led_seccion = @p_led_seccion
AND led_docs.periodo >= @p_periodo_desde
AND led_docs.periodo <= @p_periodo_hasta
UNION
SELECT led_docs.doc_id, led_docs.cliente, led_docs.contratista_1, led_docs.contratista,
led_docs.led_seccion, led_docs.periodo, led_docs.fecha_tolerancia,
led_docs.fecha_vigencia, led_docs.aprobacion_parcial, led_docs.status_doc,
led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN led_docs.status_doc = 'R' THEN 1
WHEN led_docs.status_doc = 'E' THEN 2
WHEN led_docs.status_doc = 'P' THEN 3
WHEN led_docs.status_doc = 'N' THEN 4
WHEN led_docs.status_doc = 'I' THEN 5
WHEN led_docs.status_doc = 'V' THEN 6 END AS orden_status
FROM led_docs
INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_cliente_contratista ON (led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
AND led_docs.tipo_doc = led_cliente_contratista.tipo_doc
AND led_cliente_contratista.requiere_upload = 1
AND led_cliente_contratista.cliente = @cliente
AND led_cliente_contratista.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
INNER JOIN led_subcontratista_periodo ON (led_contratistas.contratista = led_subcontratista_periodo.subcontratista
AND led_docs.periodo = led_subcontratista_periodo.periodo)
WHERE led_docs.contratista_1 = @p_contratista_1
AND led_contratistas.contratista_1 <> led_contratistas.contratista
AND led_docs.led_seccion = @p_led_seccion
AND led_docs.periodo >= @p_periodo_desde
AND led_docs.periodo <= @p_periodo_hasta
AND led_contratistas.estado_contratista = 'A'
ORDER BY orden_status, led_docs.periodo
END ELSE BEGIN
IF (@p_periodo_desde IS NULL AND @p_periodo_hasta IS NULL)
/* Seccion C, por empresa, sin filtro por período */
SELECT led_docs.doc_id, led_docs.cliente, led_docs.contratista_1, led_docs.contratista,
led_docs.led_seccion, led_docs.periodo, led_docs.fecha_tolerancia,
led_docs.fecha_vigencia, led_docs.aprobacion_parcial, led_docs.status_doc,
led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN led_docs.status_doc = 'R' THEN 1
WHEN led_docs.status_doc = 'E' THEN 2
WHEN led_docs.status_doc = 'P' THEN 3
WHEN led_docs.status_doc = 'N' THEN 4
WHEN led_docs.status_doc = 'I' THEN 5
WHEN led_docs.status_doc = 'V' THEN 6 END AS orden_status
FROM led_docs
INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
--INNER JOIN dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_cliente_contratista ON (led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
AND led_docs.tipo_doc = led_cliente_contratista.tipo_doc
AND led_cliente_contratista.requiere_upload = 1
AND led_cliente_contratista.cliente = @cliente
AND led_cliente_contratista.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
WHERE led_docs.contratista_1 = @p_contratista_1
AND led_docs.contratista = @p_contratista
AND led_docs.led_seccion = @p_led_seccion
ORDER BY orden_status, led_docs.periodo
ELSE
IF (@p_periodo_desde IS NOT NULL AND @p_periodo_hasta IS NULL)
/* Seccion C, por empresa, período desde */
SELECT led_docs.doc_id, led_docs.cliente, led_docs.contratista_1, led_docs.contratista,
led_docs.led_seccion, led_docs.periodo, led_docs.fecha_tolerancia,
led_docs.fecha_vigencia, led_docs.aprobacion_parcial, led_docs.status_doc,
led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN led_docs.status_doc = 'R' THEN 1
WHEN led_docs.status_doc = 'E' THEN 2
WHEN led_docs.status_doc = 'P' THEN 3
WHEN led_docs.status_doc = 'N' THEN 4
WHEN led_docs.status_doc = 'I' THEN 5
WHEN led_docs.status_doc = 'V' THEN 6 END AS orden_status
FROM led_docs
INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
--INNER JOIN dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_cliente_contratista ON (led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
AND led_docs.tipo_doc = led_cliente_contratista.tipo_doc
AND led_cliente_contratista.requiere_upload = 1
AND led_cliente_contratista.cliente = @cliente
AND led_cliente_contratista.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
WHERE led_docs.contratista_1 = @p_contratista_1
AND led_docs.contratista = @p_contratista
AND led_docs.led_seccion = @p_led_seccion
AND led_docs.periodo >= @p_periodo_desde
ORDER BY orden_status, led_docs.periodo
ELSE
IF (@p_periodo_desde IS NULL AND @p_periodo_hasta IS NOT NULL)
/* Seccion C, por empresa, período hasta */
SELECT led_docs.doc_id, led_docs.cliente, led_docs.contratista_1, led_docs.contratista,
led_docs.led_seccion, led_docs.periodo, led_docs.fecha_tolerancia,
led_docs.fecha_vigencia, led_docs.aprobacion_parcial, led_docs.status_doc,
led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN led_docs.status_doc = 'R' THEN 1
WHEN led_docs.status_doc = 'E' THEN 2
WHEN led_docs.status_doc = 'P' THEN 3
WHEN led_docs.status_doc = 'N' THEN 4
WHEN led_docs.status_doc = 'I' THEN 5
WHEN led_docs.status_doc = 'V' THEN 6 END AS orden_status
FROM led_docs
INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
--INNER JOIN dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_cliente_contratista ON (led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
AND led_docs.tipo_doc = led_cliente_contratista.tipo_doc
AND led_cliente_contratista.requiere_upload = 1
AND led_cliente_contratista.cliente = @cliente
AND led_cliente_contratista.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
WHERE led_docs.contratista_1 = @p_contratista_1
AND led_docs.contratista = @p_contratista
AND led_docs.led_seccion = @p_led_seccion
AND led_docs.periodo <= @p_periodo_hasta
ORDER BY orden_status, led_docs.periodo
ELSE
/* Sección C, por empresa, período desde - hasta */
SELECT led_docs.doc_id, led_docs.cliente, led_docs.contratista_1, led_docs.contratista,
led_docs.led_seccion, led_docs.periodo, led_docs.fecha_tolerancia,
led_docs.fecha_vigencia, led_docs.aprobacion_parcial, led_docs.status_doc,
led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN led_docs.status_doc = 'R' THEN 1
WHEN led_docs.status_doc = 'E' THEN 2
WHEN led_docs.status_doc = 'P' THEN 3
WHEN led_docs.status_doc = 'N' THEN 4
WHEN led_docs.status_doc = 'I' THEN 5
WHEN led_docs.status_doc = 'V' THEN 6 END AS orden_status
FROM led_docs
INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
--INNER JOIN dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_cliente_contratista ON (led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
AND led_docs.tipo_doc = led_cliente_contratista.tipo_doc
AND led_cliente_contratista.requiere_upload = 1
AND led_cliente_contratista.cliente = @cliente
AND led_cliente_contratista.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
WHERE led_docs.contratista_1 = @p_contratista_1
AND led_docs.contratista = @p_contratista
AND led_docs.led_seccion = @p_led_seccion
AND led_docs.periodo >= @p_periodo_desde
AND led_docs.periodo <= @p_periodo_hasta
ORDER BY orden_status, led_docs.periodo
END
END ELSE
IF (@p_led_seccion = 'E') BEGIN
IF (@p_contratista IS NULL) BEGIN
IF (@p_periodo_desde IS NULL AND @p_periodo_hasta IS NULL)
/* Seccion E, todas las empresas, sin filtro por período */
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, EMPLEADOS.led_seccion, EMPLEADOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
EMPLEADOS.status_doc, EMPLEADOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN EMPLEADOS.status_doc = 'R' THEN 1
WHEN EMPLEADOS.status_doc = 'E' THEN 2
WHEN EMPLEADOS.status_doc = 'P' THEN 3
WHEN EMPLEADOS.status_doc = 'N' THEN 4
WHEN EMPLEADOS.status_doc = 'I' THEN 5
WHEN EMPLEADOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo, MAX(DOC_EMPLEADOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_EMPLEADOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_empleados ON led_docs.empleado = led_empleados.empleado
INNER JOIN led_cliente_empleado ON (led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
AND led_docs.tipo_doc = led_cliente_empleado.tipo_doc
AND led_cliente_empleado.requiere_upload = 1
AND led_cliente_empleado.cliente = @cliente
AND led_cliente_empleado.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
where led_docs.contratista_1 = @p_contratista_1
and led_docs.led_seccion = 'E') DOC_EMPLEADOS
GROUP BY DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo) EMPLEADOS
INNER JOIN led_tipos_doc ON EMPLEADOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON EMPLEADOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON EMPLEADOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
ORDER BY orden_status, EMPLEADOS.periodo, led_tipos_doc.nombre_tipo_doc
ELSE
IF (@p_periodo_desde IS NOT NULL AND @p_periodo_hasta IS NULL)
/* Seccion E, todas las empresas, período desde */
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, EMPLEADOS.led_seccion, EMPLEADOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
EMPLEADOS.status_doc, EMPLEADOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN EMPLEADOS.status_doc = 'R' THEN 1
WHEN EMPLEADOS.status_doc = 'E' THEN 2
WHEN EMPLEADOS.status_doc = 'P' THEN 3
WHEN EMPLEADOS.status_doc = 'N' THEN 4
WHEN EMPLEADOS.status_doc = 'I' THEN 5
WHEN EMPLEADOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo, MAX(DOC_EMPLEADOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_EMPLEADOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_empleados ON led_docs.empleado = led_empleados.empleado
INNER JOIN led_cliente_empleado ON (led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
AND led_docs.tipo_doc = led_cliente_empleado.tipo_doc
AND led_cliente_empleado.requiere_upload = 1
AND led_cliente_empleado.cliente = @cliente
AND led_cliente_empleado.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
where led_docs.contratista_1 = @p_contratista_1
and led_docs.periodo >= @p_periodo_desde
and led_docs.led_seccion = 'E') DOC_EMPLEADOS
GROUP BY DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo) EMPLEADOS
INNER JOIN led_tipos_doc ON EMPLEADOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON EMPLEADOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON EMPLEADOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
ORDER BY orden_status, EMPLEADOS.periodo, led_tipos_doc.nombre_tipo_doc
ELSE
IF (@p_periodo_desde IS NULL AND @p_periodo_hasta IS NOT NULL)
/* Seccion E, todas las empresas, período hasta */
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, EMPLEADOS.led_seccion, EMPLEADOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
EMPLEADOS.status_doc, EMPLEADOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN EMPLEADOS.status_doc = 'R' THEN 1
WHEN EMPLEADOS.status_doc = 'E' THEN 2
WHEN EMPLEADOS.status_doc = 'P' THEN 3
WHEN EMPLEADOS.status_doc = 'N' THEN 4
WHEN EMPLEADOS.status_doc = 'I' THEN 5
WHEN EMPLEADOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo, MAX(DOC_EMPLEADOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_EMPLEADOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_empleados ON led_docs.empleado = led_empleados.empleado
INNER JOIN led_cliente_empleado ON (led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
AND led_docs.tipo_doc = led_cliente_empleado.tipo_doc
AND led_cliente_empleado.requiere_upload = 1
AND led_cliente_empleado.cliente = @cliente
AND led_cliente_empleado.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
where led_docs.contratista_1 = @p_contratista_1
and led_docs.periodo <= @p_periodo_hasta
and led_docs.led_seccion = 'E') DOC_EMPLEADOS
GROUP BY DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo) EMPLEADOS
INNER JOIN led_tipos_doc ON EMPLEADOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON EMPLEADOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON EMPLEADOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
ORDER BY orden_status, EMPLEADOS.periodo, led_tipos_doc.nombre_tipo_doc
ELSE
/* Seccion E, todas las empresas, período desde - hasta */
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, EMPLEADOS.led_seccion, EMPLEADOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
EMPLEADOS.status_doc, EMPLEADOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN EMPLEADOS.status_doc = 'R' THEN 1
WHEN EMPLEADOS.status_doc = 'E' THEN 2
WHEN EMPLEADOS.status_doc = 'P' THEN 3
WHEN EMPLEADOS.status_doc = 'N' THEN 4
WHEN EMPLEADOS.status_doc = 'I' THEN 5
WHEN EMPLEADOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo, MAX(DOC_EMPLEADOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_EMPLEADOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_empleados ON led_docs.empleado = led_empleados.empleado
INNER JOIN led_cliente_empleado ON (led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
AND led_docs.tipo_doc = led_cliente_empleado.tipo_doc
AND led_cliente_empleado.requiere_upload = 1
AND led_cliente_empleado.cliente = @cliente
AND led_cliente_empleado.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
where led_docs.contratista_1 = @p_contratista_1
and led_docs.periodo >= @p_periodo_desde
and led_docs.periodo <= @p_periodo_hasta
and led_docs.led_seccion = 'E') DOC_EMPLEADOS
GROUP BY DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo) EMPLEADOS
INNER JOIN led_tipos_doc ON EMPLEADOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON EMPLEADOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON EMPLEADOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
ORDER BY orden_status, EMPLEADOS.periodo, led_tipos_doc.nombre_tipo_doc
END ELSE BEGIN
IF (@p_periodo_desde IS NULL AND @p_periodo_hasta IS NULL)
/* Sección E, por empresa, sin filtro por período */
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, EMPLEADOS.led_seccion, EMPLEADOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
EMPLEADOS.status_doc, EMPLEADOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN EMPLEADOS.status_doc = 'R' THEN 1
WHEN EMPLEADOS.status_doc = 'E' THEN 2
WHEN EMPLEADOS.status_doc = 'P' THEN 3
WHEN EMPLEADOS.status_doc = 'N' THEN 4
WHEN EMPLEADOS.status_doc = 'I' THEN 5
WHEN EMPLEADOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo, MAX(DOC_EMPLEADOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_EMPLEADOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_empleados ON led_docs.empleado = led_empleados.empleado
INNER JOIN led_cliente_empleado ON (led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
AND led_docs.tipo_doc = led_cliente_empleado.tipo_doc
AND led_cliente_empleado.requiere_upload = 1
AND led_cliente_empleado.cliente = @cliente
AND led_cliente_empleado.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
where led_docs.contratista_1 = @p_contratista_1
and led_docs.contratista = @p_contratista
and led_docs.led_seccion = 'E') DOC_EMPLEADOS
GROUP BY DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo) EMPLEADOS
INNER JOIN led_tipos_doc ON EMPLEADOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON EMPLEADOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON EMPLEADOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
ORDER BY orden_status, EMPLEADOS.periodo, led_tipos_doc.nombre_tipo_doc
ELSE
IF (@p_periodo_desde IS NOT NULL AND @p_periodo_hasta IS NULL)
/* Sección E, por empresa, período desde */
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, EMPLEADOS.led_seccion, EMPLEADOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
EMPLEADOS.status_doc, EMPLEADOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN EMPLEADOS.status_doc = 'R' THEN 1
WHEN EMPLEADOS.status_doc = 'E' THEN 2
WHEN EMPLEADOS.status_doc = 'P' THEN 3
WHEN EMPLEADOS.status_doc = 'N' THEN 4
WHEN EMPLEADOS.status_doc = 'I' THEN 5
WHEN EMPLEADOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo, MAX(DOC_EMPLEADOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_EMPLEADOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_empleados ON led_docs.empleado = led_empleados.empleado
INNER JOIN led_cliente_empleado ON (led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
AND led_docs.tipo_doc = led_cliente_empleado.tipo_doc
AND led_cliente_empleado.requiere_upload = 1
AND led_cliente_empleado.cliente = @cliente
AND led_cliente_empleado.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
where led_docs.contratista_1 = @p_contratista_1
and led_docs.contratista = @p_contratista
and led_docs.periodo >= @p_periodo_desde
and led_docs.led_seccion = 'E') DOC_EMPLEADOS
GROUP BY DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo) EMPLEADOS
INNER JOIN led_tipos_doc ON EMPLEADOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON EMPLEADOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON EMPLEADOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
ORDER BY orden_status, EMPLEADOS.periodo, led_tipos_doc.nombre_tipo_doc
ELSE
IF (@p_periodo_desde IS NULL AND @p_periodo_hasta IS NOT NULL)
/* Sección E, por empresa, período hasta */
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, EMPLEADOS.led_seccion, EMPLEADOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
EMPLEADOS.status_doc, EMPLEADOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN EMPLEADOS.status_doc = 'R' THEN 1
WHEN EMPLEADOS.status_doc = 'E' THEN 2
WHEN EMPLEADOS.status_doc = 'P' THEN 3
WHEN EMPLEADOS.status_doc = 'N' THEN 4
WHEN EMPLEADOS.status_doc = 'I' THEN 5
WHEN EMPLEADOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo, MAX(DOC_EMPLEADOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_EMPLEADOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_empleados ON led_docs.empleado = led_empleados.empleado
INNER JOIN led_cliente_empleado ON (led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
AND led_docs.tipo_doc = led_cliente_empleado.tipo_doc
AND led_cliente_empleado.requiere_upload = 1
AND led_cliente_empleado.cliente = @cliente
AND led_cliente_empleado.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
where led_docs.contratista_1 = @p_contratista_1
and led_docs.contratista = @p_contratista
and led_docs.periodo <= @p_periodo_hasta
and led_docs.led_seccion = 'E') DOC_EMPLEADOS
GROUP BY DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo) EMPLEADOS
INNER JOIN led_tipos_doc ON EMPLEADOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON EMPLEADOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON EMPLEADOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
ORDER BY orden_status, EMPLEADOS.periodo, led_tipos_doc.nombre_tipo_doc
ELSE
/* Sección E, por empresa, período desde - hasta */
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, EMPLEADOS.led_seccion, EMPLEADOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
EMPLEADOS.status_doc, EMPLEADOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN EMPLEADOS.status_doc = 'R' THEN 1
WHEN EMPLEADOS.status_doc = 'E' THEN 2
WHEN EMPLEADOS.status_doc = 'P' THEN 3
WHEN EMPLEADOS.status_doc = 'N' THEN 4
WHEN EMPLEADOS.status_doc = 'I' THEN 5
WHEN EMPLEADOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo, MAX(DOC_EMPLEADOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_EMPLEADOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_empleados ON led_docs.empleado = led_empleados.empleado
INNER JOIN led_cliente_empleado ON (led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
AND led_docs.tipo_doc = led_cliente_empleado.tipo_doc
AND led_cliente_empleado.requiere_upload = 1
AND led_cliente_empleado.cliente = @cliente
AND led_cliente_empleado.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
where led_docs.contratista_1 = @p_contratista_1
and led_docs.contratista = @p_contratista
and led_docs.periodo >= @p_periodo_desde
and led_docs.periodo <= @p_periodo_hasta
and led_docs.led_seccion = 'E') DOC_EMPLEADOS
GROUP BY DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo) EMPLEADOS
INNER JOIN led_tipos_doc ON EMPLEADOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON EMPLEADOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON EMPLEADOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
ORDER BY orden_status, EMPLEADOS.periodo, led_tipos_doc.nombre_tipo_doc
END
END ELSE
IF (@p_led_seccion = 'V') BEGIN
IF (@p_contratista IS NULL) BEGIN
IF (@p_periodo_desde IS NULL AND @p_periodo_hasta IS NULL)
/* Sección V, todas las empresas, sin filtro por período */
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, VEHICULOS.led_seccion, VEHICULOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
VEHICULOS.status_doc, VEHICULOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN VEHICULOS.status_doc = 'R' THEN 1
WHEN VEHICULOS.status_doc = 'E' THEN 2
WHEN VEHICULOS.status_doc = 'P' THEN 3
WHEN VEHICULOS.status_doc = 'N' THEN 4
WHEN VEHICULOS.status_doc = 'I' THEN 5
WHEN VEHICULOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo, MAX(DOC_VEHICULOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_VEHICULOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_VEHICULOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_VEHICULOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_VEHICULOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_VEHICULOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_vehiculos ON led_docs.vehiculo = led_vehiculos.vehiculo
INNER JOIN led_cliente_vehiculo ON (led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
AND led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc
AND led_cliente_vehiculo.requiere_upload = 1
AND led_cliente_vehiculo.cliente = @cliente
AND led_cliente_vehiculo.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
where led_docs.contratista_1 = @p_contratista_1
and led_vehiculos.estado_vehiculo = 'A'
and led_docs.led_seccion = 'V') DOC_VEHICULOS
GROUP BY DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo) VEHICULOS
INNER JOIN led_tipos_doc ON VEHICULOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON VEHICULOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON VEHICULOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
ORDER BY orden_status, VEHICULOS.periodo, led_tipos_doc.nombre_tipo_doc
ELSE
IF (@p_periodo_desde IS NOT NULL AND @p_periodo_hasta IS NULL)
/* Sección V, todas las empresas, período desde */
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, VEHICULOS.led_seccion, VEHICULOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
VEHICULOS.status_doc, VEHICULOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN VEHICULOS.status_doc = 'R' THEN 1
WHEN VEHICULOS.status_doc = 'E' THEN 2
WHEN VEHICULOS.status_doc = 'P' THEN 3
WHEN VEHICULOS.status_doc = 'N' THEN 4
WHEN VEHICULOS.status_doc = 'I' THEN 5
WHEN VEHICULOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo, MAX(DOC_VEHICULOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_VEHICULOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_VEHICULOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_VEHICULOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_VEHICULOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_VEHICULOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_vehiculos ON led_docs.vehiculo = led_vehiculos.vehiculo
INNER JOIN led_cliente_vehiculo ON (led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
AND led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc
AND led_cliente_vehiculo.requiere_upload = 1
AND led_cliente_vehiculo.cliente = @cliente
AND led_cliente_vehiculo.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
where led_docs.contratista_1 = @p_contratista_1
and led_vehiculos.estado_vehiculo = 'A'
and led_docs.periodo >= @p_periodo_desde
and led_docs.led_seccion = 'V') DOC_VEHICULOS
GROUP BY DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo) VEHICULOS
INNER JOIN led_tipos_doc ON VEHICULOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON VEHICULOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON VEHICULOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
ORDER BY orden_status, VEHICULOS.periodo, led_tipos_doc.nombre_tipo_doc
ELSE
IF (@p_periodo_desde IS NULL AND @p_periodo_hasta IS NOT NULL)
/* Sección V, todas las empresas, período hasta */
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, VEHICULOS.led_seccion, VEHICULOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
VEHICULOS.status_doc, VEHICULOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN VEHICULOS.status_doc = 'R' THEN 1
WHEN VEHICULOS.status_doc = 'E' THEN 2
WHEN VEHICULOS.status_doc = 'P' THEN 3
WHEN VEHICULOS.status_doc = 'N' THEN 4
WHEN VEHICULOS.status_doc = 'I' THEN 5
WHEN VEHICULOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo, MAX(DOC_VEHICULOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_VEHICULOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_VEHICULOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_VEHICULOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_VEHICULOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_VEHICULOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_vehiculos ON led_docs.vehiculo = led_vehiculos.vehiculo
INNER JOIN led_cliente_vehiculo ON (led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
AND led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc
AND led_cliente_vehiculo.requiere_upload = 1
AND led_cliente_vehiculo.cliente = @cliente
AND led_cliente_vehiculo.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
where led_docs.contratista_1 = @p_contratista_1
and led_vehiculos.estado_vehiculo = 'A'
and led_docs.periodo <= @p_periodo_hasta
and led_docs.led_seccion = 'V') DOC_VEHICULOS
GROUP BY DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo) VEHICULOS
INNER JOIN led_tipos_doc ON VEHICULOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON VEHICULOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON VEHICULOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
ORDER BY orden_status, VEHICULOS.periodo, led_tipos_doc.nombre_tipo_doc
ELSE
/* Sección V, todas las empresas, período desde - hasta */
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, VEHICULOS.led_seccion, VEHICULOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
VEHICULOS.status_doc, VEHICULOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN VEHICULOS.status_doc = 'R' THEN 1
WHEN VEHICULOS.status_doc = 'E' THEN 2
WHEN VEHICULOS.status_doc = 'P' THEN 3
WHEN VEHICULOS.status_doc = 'N' THEN 4
WHEN VEHICULOS.status_doc = 'I' THEN 5
WHEN VEHICULOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo, MAX(DOC_VEHICULOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_VEHICULOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_VEHICULOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_VEHICULOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_VEHICULOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_VEHICULOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_vehiculos ON led_docs.vehiculo = led_vehiculos.vehiculo
INNER JOIN led_cliente_vehiculo ON (led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
AND led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc
AND led_cliente_vehiculo.requiere_upload = 1
AND led_cliente_vehiculo.cliente = @cliente
AND led_cliente_vehiculo.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
where led_docs.contratista_1 = @p_contratista_1
and led_vehiculos.estado_vehiculo = 'A'
and led_docs.periodo >= @p_periodo_desde
and led_docs.periodo <= @p_periodo_hasta
and led_docs.led_seccion = 'V') DOC_VEHICULOS
GROUP BY DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo) VEHICULOS
INNER JOIN led_tipos_doc ON VEHICULOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON VEHICULOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON VEHICULOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
ORDER BY orden_status, VEHICULOS.periodo, led_tipos_doc.nombre_tipo_doc
END ELSE BEGIN
IF (@p_periodo_desde IS NULL AND @p_periodo_hasta IS NULL)
/* Sección V, por empresa, sin filtro por período */
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, VEHICULOS.led_seccion, VEHICULOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
VEHICULOS.status_doc, VEHICULOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN VEHICULOS.status_doc = 'R' THEN 1
WHEN VEHICULOS.status_doc = 'E' THEN 2
WHEN VEHICULOS.status_doc = 'P' THEN 3
WHEN VEHICULOS.status_doc = 'N' THEN 4
WHEN VEHICULOS.status_doc = 'I' THEN 5
WHEN VEHICULOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo, MAX(DOC_VEHICULOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_VEHICULOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_VEHICULOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_VEHICULOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_VEHICULOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_VEHICULOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_vehiculos ON led_docs.vehiculo = led_vehiculos.vehiculo
INNER JOIN led_cliente_vehiculo ON (led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
AND led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc
AND led_cliente_vehiculo.requiere_upload = 1
AND led_cliente_vehiculo.cliente = @cliente
AND led_cliente_vehiculo.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
where led_docs.contratista_1 = @p_contratista_1
and led_vehiculos.estado_vehiculo = 'A'
and led_docs.contratista = @p_contratista
and led_docs.led_seccion = 'V') DOC_VEHICULOS
GROUP BY DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo) VEHICULOS
INNER JOIN led_tipos_doc ON VEHICULOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON VEHICULOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON VEHICULOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
ORDER BY orden_status, VEHICULOS.periodo, led_tipos_doc.nombre_tipo_doc
ELSE
IF (@p_periodo_desde IS NOT NULL AND @p_periodo_hasta IS NULL)
/* Sección V, por empresa, período desde */
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, VEHICULOS.led_seccion, VEHICULOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
VEHICULOS.status_doc, VEHICULOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN VEHICULOS.status_doc = 'R' THEN 1
WHEN VEHICULOS.status_doc = 'E' THEN 2
WHEN VEHICULOS.status_doc = 'P' THEN 3
WHEN VEHICULOS.status_doc = 'N' THEN 4
WHEN VEHICULOS.status_doc = 'I' THEN 5
WHEN VEHICULOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo, MAX(DOC_VEHICULOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_VEHICULOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_VEHICULOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_VEHICULOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_VEHICULOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_VEHICULOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_vehiculos ON led_docs.vehiculo = led_vehiculos.vehiculo
INNER JOIN led_cliente_vehiculo ON (led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
AND led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc
AND led_cliente_vehiculo.requiere_upload = 1
AND led_cliente_vehiculo.cliente = @cliente
AND led_cliente_vehiculo.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
where led_docs.contratista_1 = @p_contratista_1
and led_vehiculos.estado_vehiculo = 'A'
and led_docs.contratista = @p_contratista
and led_docs.periodo >= @p_periodo_desde
and led_docs.led_seccion = 'V') DOC_VEHICULOS
GROUP BY DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo) VEHICULOS
INNER JOIN led_tipos_doc ON VEHICULOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON VEHICULOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON VEHICULOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
ORDER BY orden_status, VEHICULOS.periodo, led_tipos_doc.nombre_tipo_doc
ELSE
IF (@p_periodo_desde IS NULL AND @p_periodo_hasta IS NOT NULL)
/* Sección V, por empresa, período hasta */
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, VEHICULOS.led_seccion, VEHICULOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
VEHICULOS.status_doc, VEHICULOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN VEHICULOS.status_doc = 'R' THEN 1
WHEN VEHICULOS.status_doc = 'E' THEN 2
WHEN VEHICULOS.status_doc = 'P' THEN 3
WHEN VEHICULOS.status_doc = 'N' THEN 4
WHEN VEHICULOS.status_doc = 'I' THEN 5
WHEN VEHICULOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo, MAX(DOC_VEHICULOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_VEHICULOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_VEHICULOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_VEHICULOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_VEHICULOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_VEHICULOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_vehiculos ON led_docs.vehiculo = led_vehiculos.vehiculo
INNER JOIN led_cliente_vehiculo ON (led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
AND led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc
AND led_cliente_vehiculo.requiere_upload = 1
AND led_cliente_vehiculo.cliente = @cliente
AND led_cliente_vehiculo.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
where led_docs.contratista_1 = @p_contratista_1
and led_vehiculos.estado_vehiculo = 'A'
and led_docs.contratista = @p_contratista
and led_docs.periodo <= @p_periodo_hasta
and led_docs.led_seccion = 'V') DOC_VEHICULOS
GROUP BY DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo) VEHICULOS
INNER JOIN led_tipos_doc ON VEHICULOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON VEHICULOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON VEHICULOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
ORDER BY orden_status, VEHICULOS.periodo, led_tipos_doc.nombre_tipo_doc
ELSE
/* Sección V, por empresa, período desde - hasta */
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, VEHICULOS.led_seccion, VEHICULOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
VEHICULOS.status_doc, VEHICULOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN VEHICULOS.status_doc = 'R' THEN 1
WHEN VEHICULOS.status_doc = 'E' THEN 2
WHEN VEHICULOS.status_doc = 'P' THEN 3
WHEN VEHICULOS.status_doc = 'N' THEN 4
WHEN VEHICULOS.status_doc = 'I' THEN 5
WHEN VEHICULOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo, MAX(DOC_VEHICULOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_VEHICULOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_VEHICULOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_VEHICULOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_VEHICULOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_VEHICULOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_vehiculos ON led_docs.vehiculo = led_vehiculos.vehiculo
INNER JOIN led_cliente_vehiculo ON (led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
AND led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc
AND led_cliente_vehiculo.requiere_upload = 1
AND led_cliente_vehiculo.cliente = @cliente
AND led_cliente_vehiculo.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
where led_docs.contratista_1 = @p_contratista_1
and led_vehiculos.estado_vehiculo = 'A'
and led_docs.contratista = @p_contratista
and led_docs.periodo >= @p_periodo_desde
and led_docs.periodo <= @p_periodo_hasta
and led_docs.led_seccion = 'V') DOC_VEHICULOS
GROUP BY DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo) VEHICULOS
INNER JOIN led_tipos_doc ON VEHICULOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON VEHICULOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON VEHICULOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
ORDER BY orden_status, VEHICULOS.periodo, led_tipos_doc.nombre_tipo_doc
END
END ELSE
IF (@p_contratista IS NULL) BEGIN
IF (@p_periodo_desde IS NULL AND @p_periodo_hasta IS NULL)
/* Todas las secciones, todas las empresas, sin filtro por período */
SELECT led_docs.doc_id, led_docs.cliente, led_docs.contratista_1, led_docs.contratista,
led_docs.led_seccion, led_docs.periodo, led_docs.fecha_tolerancia,
led_docs.fecha_vigencia, led_docs.aprobacion_parcial, led_docs.status_doc,
led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN led_docs.status_doc = 'R' THEN 1
WHEN led_docs.status_doc = 'E' THEN 2
WHEN led_docs.status_doc = 'P' THEN 3
WHEN led_docs.status_doc = 'N' THEN 4
WHEN led_docs.status_doc = 'I' THEN 5
WHEN led_docs.status_doc = 'V' THEN 6 END AS orden_status
FROM led_docs
INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_cliente_contratista ON (led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
AND led_docs.tipo_doc = led_cliente_contratista.tipo_doc
AND led_cliente_contratista.requiere_upload = 1
AND led_cliente_contratista.cliente = @cliente
AND led_cliente_contratista.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
WHERE led_docs.contratista_1 = @p_contratista_1
AND led_contratistas.contratista_1 = led_contratistas.contratista
AND led_docs.led_seccion = 'C'
UNION
SELECT led_docs.doc_id, led_docs.cliente, led_docs.contratista_1, led_docs.contratista,
led_docs.led_seccion, led_docs.periodo, led_docs.fecha_tolerancia,
led_docs.fecha_vigencia, led_docs.aprobacion_parcial, led_docs.status_doc,
led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN led_docs.status_doc = 'R' THEN 1
WHEN led_docs.status_doc = 'E' THEN 2
WHEN led_docs.status_doc = 'P' THEN 3
WHEN led_docs.status_doc = 'N' THEN 4
WHEN led_docs.status_doc = 'I' THEN 5
WHEN led_docs.status_doc = 'V' THEN 6 END AS orden_status
FROM led_docs
INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_cliente_contratista ON (led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
AND led_docs.tipo_doc = led_cliente_contratista.tipo_doc
AND led_cliente_contratista.requiere_upload = 1
AND led_cliente_contratista.cliente = @cliente
AND led_cliente_contratista.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
INNER JOIN led_subcontratista_periodo ON (led_contratistas.contratista = led_subcontratista_periodo.subcontratista
AND led_docs.periodo = led_subcontratista_periodo.periodo)
WHERE led_docs.contratista_1 = @p_contratista_1
AND led_contratistas.contratista_1 <> led_contratistas.contratista
AND led_docs.led_seccion = 'C'
AND led_contratistas.estado_contratista = 'A'
UNION
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, EMPLEADOS.led_seccion, EMPLEADOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
EMPLEADOS.status_doc, EMPLEADOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN EMPLEADOS.status_doc = 'R' THEN 1
WHEN EMPLEADOS.status_doc = 'E' THEN 2
WHEN EMPLEADOS.status_doc = 'P' THEN 3
WHEN EMPLEADOS.status_doc = 'N' THEN 4
WHEN EMPLEADOS.status_doc = 'I' THEN 5
WHEN EMPLEADOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo, MAX(DOC_EMPLEADOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_EMPLEADOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_empleados ON led_docs.empleado = led_empleados.empleado
INNER JOIN led_cliente_empleado ON (led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
AND led_docs.tipo_doc = led_cliente_empleado.tipo_doc
AND led_cliente_empleado.requiere_upload = 1
AND led_cliente_empleado.cliente = @cliente
AND led_cliente_empleado.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
where led_docs.contratista_1 = @p_contratista_1
and led_docs.led_seccion = 'E') DOC_EMPLEADOS
GROUP BY DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo) EMPLEADOS
INNER JOIN led_tipos_doc ON EMPLEADOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON EMPLEADOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON EMPLEADOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
UNION
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, VEHICULOS.led_seccion, VEHICULOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
VEHICULOS.status_doc, VEHICULOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN VEHICULOS.status_doc = 'R' THEN 1
WHEN VEHICULOS.status_doc = 'E' THEN 2
WHEN VEHICULOS.status_doc = 'P' THEN 3
WHEN VEHICULOS.status_doc = 'N' THEN 4
WHEN VEHICULOS.status_doc = 'I' THEN 5
WHEN VEHICULOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo, MAX(DOC_VEHICULOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_VEHICULOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_VEHICULOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_VEHICULOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_VEHICULOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_VEHICULOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_vehiculos ON led_docs.vehiculo = led_vehiculos.vehiculo
INNER JOIN led_cliente_vehiculo ON (led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
AND led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc
AND led_cliente_vehiculo.requiere_upload = 1
AND led_cliente_vehiculo.cliente = @cliente
AND led_cliente_vehiculo.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
where led_docs.contratista_1 = @p_contratista_1
and led_vehiculos.estado_vehiculo = 'A'
and led_docs.led_seccion = 'V') DOC_VEHICULOS
GROUP BY DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo) VEHICULOS
INNER JOIN led_tipos_doc ON VEHICULOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON VEHICULOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON VEHICULOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
ORDER BY orden_status, periodo, nombre_tipo_doc
ELSE
/* VISTA DEFAULT */
IF (@p_periodo_desde IS NOT NULL AND @p_periodo_hasta IS NULL)
/* Todas las secciones, todas las empresas, período desde */
SELECT led_docs.doc_id, led_docs.cliente, led_docs.contratista_1, led_docs.contratista,
led_docs.led_seccion, led_docs.periodo, led_docs.fecha_tolerancia,
led_docs.fecha_vigencia, led_docs.aprobacion_parcial, led_docs.status_doc,
led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN led_docs.status_doc = 'R' THEN 1
WHEN led_docs.status_doc = 'E' THEN 2
WHEN led_docs.status_doc = 'P' THEN 3
WHEN led_docs.status_doc = 'N' THEN 4
WHEN led_docs.status_doc = 'I' THEN 5
WHEN led_docs.status_doc = 'V' THEN 6 END AS orden_status
FROM led_docs
INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_cliente_contratista ON (led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
AND led_docs.tipo_doc = led_cliente_contratista.tipo_doc
AND led_cliente_contratista.requiere_upload = 1
AND led_cliente_contratista.cliente = @cliente
AND led_cliente_contratista.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
INNER JOIN led_contratista_periodo ON (led_contratistas_1.contratista = led_contratista_periodo.contratista
AND led_docs.periodo = led_contratista_periodo.periodo)
WHERE led_docs.contratista_1 = @p_contratista_1
AND led_contratistas.contratista_1 = led_contratistas.contratista
AND led_docs.periodo >= @p_periodo_desde
AND led_docs.led_seccion = 'C'
UNION
SELECT led_docs.doc_id, led_docs.cliente, led_docs.contratista_1, led_docs.contratista,
led_docs.led_seccion, led_docs.periodo, led_docs.fecha_tolerancia,
led_docs.fecha_vigencia, led_docs.aprobacion_parcial, led_docs.status_doc,
led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN led_docs.status_doc = 'R' THEN 1
WHEN led_docs.status_doc = 'E' THEN 2
WHEN led_docs.status_doc = 'P' THEN 3
WHEN led_docs.status_doc = 'N' THEN 4
WHEN led_docs.status_doc = 'I' THEN 5
WHEN led_docs.status_doc = 'V' THEN 6 END AS orden_status
FROM led_docs
INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_cliente_contratista ON (led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
AND led_docs.tipo_doc = led_cliente_contratista.tipo_doc
AND led_cliente_contratista.requiere_upload = 1
AND led_cliente_contratista.cliente = @cliente
AND led_cliente_contratista.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
INNER JOIN led_subcontratista_periodo ON (led_contratistas.contratista = led_subcontratista_periodo.subcontratista
AND led_docs.periodo = led_subcontratista_periodo.periodo)
WHERE led_docs.contratista_1 = @p_contratista_1
AND led_contratistas.contratista_1 <> led_contratistas.contratista
AND led_docs.periodo >= @p_periodo_desde
AND led_docs.led_seccion = 'C'
AND led_contratistas.estado_contratista = 'A'
UNION
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, EMPLEADOS.led_seccion, EMPLEADOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
EMPLEADOS.status_doc, EMPLEADOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN EMPLEADOS.status_doc = 'R' THEN 1
WHEN EMPLEADOS.status_doc = 'E' THEN 2
WHEN EMPLEADOS.status_doc = 'P' THEN 3
WHEN EMPLEADOS.status_doc = 'N' THEN 4
WHEN EMPLEADOS.status_doc = 'I' THEN 5
WHEN EMPLEADOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo, MAX(DOC_EMPLEADOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_EMPLEADOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_empleados ON led_docs.empleado = led_empleados.empleado
INNER JOIN led_cliente_empleado ON (led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
AND led_docs.tipo_doc = led_cliente_empleado.tipo_doc
AND led_cliente_empleado.requiere_upload = 1
AND led_cliente_empleado.cliente = @cliente
AND led_cliente_empleado.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
where led_docs.contratista_1 = @p_contratista_1
and led_docs.periodo >= @p_periodo_desde
and led_docs.led_seccion = 'E') DOC_EMPLEADOS
GROUP BY DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo) EMPLEADOS
INNER JOIN led_tipos_doc ON EMPLEADOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON EMPLEADOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON EMPLEADOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
UNION
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, VEHICULOS.led_seccion, VEHICULOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
VEHICULOS.status_doc, VEHICULOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN VEHICULOS.status_doc = 'R' THEN 1
WHEN VEHICULOS.status_doc = 'E' THEN 2
WHEN VEHICULOS.status_doc = 'P' THEN 3
WHEN VEHICULOS.status_doc = 'N' THEN 4
WHEN VEHICULOS.status_doc = 'I' THEN 5
WHEN VEHICULOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo, MAX(DOC_VEHICULOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_VEHICULOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_VEHICULOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_VEHICULOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_VEHICULOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_VEHICULOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_vehiculos ON led_docs.vehiculo = led_vehiculos.vehiculo
INNER JOIN led_cliente_vehiculo ON (led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
AND led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc
AND led_cliente_vehiculo.requiere_upload = 1
AND led_cliente_vehiculo.cliente = @cliente
AND led_cliente_vehiculo.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
where led_docs.contratista_1 = @p_contratista_1
and led_vehiculos.estado_vehiculo = 'A'
and led_docs.periodo >= @p_periodo_desde
and led_docs.led_seccion = 'V') DOC_VEHICULOS
GROUP BY DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo) VEHICULOS
INNER JOIN led_tipos_doc ON VEHICULOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON VEHICULOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON VEHICULOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
ORDER BY orden_status, periodo, nombre_tipo_doc
ELSE
IF (@p_periodo_desde IS NULL AND @p_periodo_hasta IS NOT NULL)
/* Todas las secciones, todas las empresas, período hasta */
SELECT led_docs.doc_id, led_docs.cliente, led_docs.contratista_1, led_docs.contratista,
led_docs.led_seccion, led_docs.periodo, led_docs.fecha_tolerancia,
led_docs.fecha_vigencia, led_docs.aprobacion_parcial, led_docs.status_doc,
led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN led_docs.status_doc = 'R' THEN 1
WHEN led_docs.status_doc = 'E' THEN 2
WHEN led_docs.status_doc = 'P' THEN 3
WHEN led_docs.status_doc = 'N' THEN 4
WHEN led_docs.status_doc = 'I' THEN 5
WHEN led_docs.status_doc = 'V' THEN 6 END AS orden_status
FROM led_docs
INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_cliente_contratista ON (led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
AND led_docs.tipo_doc = led_cliente_contratista.tipo_doc
AND led_cliente_contratista.requiere_upload = 1
AND led_cliente_contratista.cliente = @cliente
AND led_cliente_contratista.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
INNER JOIN led_contratista_periodo ON (led_contratistas_1.contratista = led_contratista_periodo.contratista
AND led_docs.periodo = led_contratista_periodo.periodo)
WHERE led_docs.contratista_1 = @p_contratista_1
AND led_contratistas.contratista_1 = led_contratistas.contratista
AND led_docs.periodo <= @p_periodo_hasta
AND led_docs.led_seccion = 'C'
UNION
SELECT led_docs.doc_id, led_docs.cliente, led_docs.contratista_1, led_docs.contratista,
led_docs.led_seccion, led_docs.periodo, led_docs.fecha_tolerancia,
led_docs.fecha_vigencia, led_docs.aprobacion_parcial, led_docs.status_doc,
led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN led_docs.status_doc = 'R' THEN 1
WHEN led_docs.status_doc = 'E' THEN 2
WHEN led_docs.status_doc = 'P' THEN 3
WHEN led_docs.status_doc = 'N' THEN 4
WHEN led_docs.status_doc = 'I' THEN 5
WHEN led_docs.status_doc = 'V' THEN 6 END AS orden_status
FROM led_docs
INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_cliente_contratista ON (led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
AND led_docs.tipo_doc = led_cliente_contratista.tipo_doc
AND led_cliente_contratista.requiere_upload = 1
AND led_cliente_contratista.cliente = @cliente
AND led_cliente_contratista.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
INNER JOIN led_subcontratista_periodo ON (led_contratistas.contratista = led_subcontratista_periodo.subcontratista
AND led_docs.periodo = led_subcontratista_periodo.periodo)
WHERE led_docs.contratista_1 = @p_contratista_1
AND led_contratistas.contratista_1 <> led_contratistas.contratista
AND led_docs.periodo <= @p_periodo_hasta
AND led_docs.led_seccion = 'C'
AND led_contratistas.estado_contratista = 'A'
UNION
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, EMPLEADOS.led_seccion, EMPLEADOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
EMPLEADOS.status_doc, EMPLEADOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN EMPLEADOS.status_doc = 'R' THEN 1
WHEN EMPLEADOS.status_doc = 'E' THEN 2
WHEN EMPLEADOS.status_doc = 'P' THEN 3
WHEN EMPLEADOS.status_doc = 'N' THEN 4
WHEN EMPLEADOS.status_doc = 'I' THEN 5
WHEN EMPLEADOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo, MAX(DOC_EMPLEADOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_EMPLEADOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_empleados ON led_docs.empleado = led_empleados.empleado
INNER JOIN led_cliente_empleado ON (led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
AND led_docs.tipo_doc = led_cliente_empleado.tipo_doc
AND led_cliente_empleado.requiere_upload = 1
AND led_cliente_empleado.cliente = @cliente
AND led_cliente_empleado.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
where led_docs.contratista_1 = @p_contratista_1
and led_docs.periodo <= @p_periodo_hasta
and led_docs.led_seccion = 'E') DOC_EMPLEADOS
GROUP BY DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo) EMPLEADOS
INNER JOIN led_tipos_doc ON EMPLEADOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON EMPLEADOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON EMPLEADOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
UNION
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, VEHICULOS.led_seccion, VEHICULOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
VEHICULOS.status_doc, VEHICULOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN VEHICULOS.status_doc = 'R' THEN 1
WHEN VEHICULOS.status_doc = 'E' THEN 2
WHEN VEHICULOS.status_doc = 'P' THEN 3
WHEN VEHICULOS.status_doc = 'N' THEN 4
WHEN VEHICULOS.status_doc = 'I' THEN 5
WHEN VEHICULOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo, MAX(DOC_VEHICULOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_VEHICULOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_VEHICULOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_VEHICULOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_VEHICULOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_VEHICULOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_vehiculos ON led_docs.vehiculo = led_vehiculos.vehiculo
INNER JOIN led_cliente_vehiculo ON (led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
AND led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc
AND led_cliente_vehiculo.requiere_upload = 1
AND led_cliente_vehiculo.cliente = @cliente
AND led_cliente_vehiculo.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
where led_docs.contratista_1 = @p_contratista_1
and led_vehiculos.estado_vehiculo = 'A'
and led_docs.periodo <= @p_periodo_hasta
and led_docs.led_seccion = 'V') DOC_VEHICULOS
GROUP BY DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo) VEHICULOS
INNER JOIN led_tipos_doc ON VEHICULOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON VEHICULOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON VEHICULOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
ORDER BY orden_status, periodo, nombre_tipo_doc
ELSE
/* Todas las secciones, todas las empresas, período desde - hasta */
SELECT led_docs.doc_id, led_docs.cliente, led_docs.contratista_1, led_docs.contratista,
led_docs.led_seccion, led_docs.periodo, led_docs.fecha_tolerancia,
led_docs.fecha_vigencia, led_docs.aprobacion_parcial, led_docs.status_doc,
led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN led_docs.status_doc = 'R' THEN 1
WHEN led_docs.status_doc = 'E' THEN 2
WHEN led_docs.status_doc = 'P' THEN 3
WHEN led_docs.status_doc = 'N' THEN 4
WHEN led_docs.status_doc = 'I' THEN 5
WHEN led_docs.status_doc = 'V' THEN 6 END AS orden_status
FROM led_docs
INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_cliente_contratista ON (led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
AND led_docs.tipo_doc = led_cliente_contratista.tipo_doc
AND led_cliente_contratista.requiere_upload = 1
AND led_cliente_contratista.cliente = @cliente
AND led_cliente_contratista.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
INNER JOIN led_contratista_periodo ON (led_contratistas_1.contratista = led_contratista_periodo.contratista
AND led_docs.periodo = led_contratista_periodo.periodo)
WHERE led_docs.contratista_1 = @p_contratista_1
AND led_contratistas.contratista_1 = led_contratistas.contratista
AND led_docs.periodo >= @p_periodo_desde
AND led_docs.periodo <= @p_periodo_hasta
AND led_docs.led_seccion = 'C'
UNION
SELECT led_docs.doc_id, led_docs.cliente, led_docs.contratista_1, led_docs.contratista,
led_docs.led_seccion, led_docs.periodo, led_docs.fecha_tolerancia,
led_docs.fecha_vigencia, led_docs.aprobacion_parcial, led_docs.status_doc,
led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN led_docs.status_doc = 'R' THEN 1
WHEN led_docs.status_doc = 'E' THEN 2
WHEN led_docs.status_doc = 'P' THEN 3
WHEN led_docs.status_doc = 'N' THEN 4
WHEN led_docs.status_doc = 'I' THEN 5
WHEN led_docs.status_doc = 'V' THEN 6 END AS orden_status
FROM led_docs
INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_cliente_contratista ON (led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
AND led_docs.tipo_doc = led_cliente_contratista.tipo_doc
AND led_cliente_contratista.requiere_upload = 1
AND led_cliente_contratista.cliente = @cliente
AND led_cliente_contratista.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
INNER JOIN led_subcontratista_periodo ON (led_contratistas.contratista = led_subcontratista_periodo.subcontratista
AND led_docs.periodo = led_subcontratista_periodo.periodo)
WHERE led_docs.contratista_1 = @p_contratista_1
AND led_contratistas.contratista_1 <> led_contratistas.contratista
AND led_docs.periodo >= @p_periodo_desde
AND led_docs.periodo <= @p_periodo_hasta
AND led_docs.led_seccion = 'C'
AND led_contratistas.estado_contratista = 'A'
UNION
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, EMPLEADOS.led_seccion, EMPLEADOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
EMPLEADOS.status_doc, EMPLEADOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN EMPLEADOS.status_doc = 'R' THEN 1
WHEN EMPLEADOS.status_doc = 'E' THEN 2
WHEN EMPLEADOS.status_doc = 'P' THEN 3
WHEN EMPLEADOS.status_doc = 'N' THEN 4
WHEN EMPLEADOS.status_doc = 'I' THEN 5
WHEN EMPLEADOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo, MAX(DOC_EMPLEADOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_EMPLEADOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_empleados ON led_docs.empleado = led_empleados.empleado
INNER JOIN led_cliente_empleado ON (led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
AND led_docs.tipo_doc = led_cliente_empleado.tipo_doc
AND led_cliente_empleado.requiere_upload = 1
AND led_cliente_empleado.cliente = @cliente
AND led_cliente_empleado.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
where led_docs.contratista_1 = @p_contratista_1
and led_docs.periodo >= @p_periodo_desde
and led_docs.periodo <= @p_periodo_hasta
and led_docs.led_seccion = 'E') DOC_EMPLEADOS
GROUP BY DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo) EMPLEADOS
INNER JOIN led_tipos_doc ON EMPLEADOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON EMPLEADOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON EMPLEADOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
UNION
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, VEHICULOS.led_seccion, VEHICULOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
VEHICULOS.status_doc, VEHICULOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN VEHICULOS.status_doc = 'R' THEN 1
WHEN VEHICULOS.status_doc = 'E' THEN 2
WHEN VEHICULOS.status_doc = 'P' THEN 3
WHEN VEHICULOS.status_doc = 'N' THEN 4
WHEN VEHICULOS.status_doc = 'I' THEN 5
WHEN VEHICULOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo, MAX(DOC_VEHICULOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_VEHICULOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_VEHICULOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_VEHICULOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_VEHICULOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_VEHICULOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_vehiculos ON led_docs.vehiculo = led_vehiculos.vehiculo
INNER JOIN led_cliente_vehiculo ON (led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
AND led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc
AND led_cliente_vehiculo.requiere_upload = 1
AND led_cliente_vehiculo.cliente = @cliente
AND led_cliente_vehiculo.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
where led_docs.contratista_1 = @p_contratista_1
and led_vehiculos.estado_vehiculo = 'A'
and led_docs.periodo >= @p_periodo_desde
and led_docs.periodo <= @p_periodo_hasta
and led_docs.led_seccion = 'V') DOC_VEHICULOS
GROUP BY DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo) VEHICULOS
INNER JOIN led_tipos_doc ON VEHICULOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON VEHICULOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON VEHICULOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
ORDER BY orden_status, periodo, nombre_tipo_doc
END ELSE BEGIN
IF (@p_periodo_desde IS NULL AND @p_periodo_hasta IS NULL)
/* Todas las secciones, por empresa, sin filtro por período */
SELECT led_docs.doc_id, led_docs.cliente, led_docs.contratista_1, led_docs.contratista,
led_docs.led_seccion, led_docs.periodo, led_docs.fecha_tolerancia,
led_docs.fecha_vigencia, led_docs.aprobacion_parcial, led_docs.status_doc,
led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN led_docs.status_doc = 'R' THEN 1
WHEN led_docs.status_doc = 'E' THEN 2
WHEN led_docs.status_doc = 'P' THEN 3
WHEN led_docs.status_doc = 'N' THEN 4
WHEN led_docs.status_doc = 'I' THEN 5
WHEN led_docs.status_doc = 'V' THEN 6 END AS orden_status
FROM led_docs
INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
--INNER JOIN dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_cliente_contratista ON (led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
AND led_docs.tipo_doc = led_cliente_contratista.tipo_doc
AND led_cliente_contratista.requiere_upload = 1
AND led_cliente_contratista.cliente = @cliente
AND led_cliente_contratista.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
WHERE led_docs.contratista_1 = @p_contratista_1
AND led_docs.contratista = @p_contratista
AND led_docs.led_seccion = 'C'
UNION
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, EMPLEADOS.led_seccion, EMPLEADOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
EMPLEADOS.status_doc, EMPLEADOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN EMPLEADOS.status_doc = 'R' THEN 1
WHEN EMPLEADOS.status_doc = 'E' THEN 2
WHEN EMPLEADOS.status_doc = 'P' THEN 3
WHEN EMPLEADOS.status_doc = 'N' THEN 4
WHEN EMPLEADOS.status_doc = 'I' THEN 5
WHEN EMPLEADOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo, MAX(DOC_EMPLEADOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_EMPLEADOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_empleados ON led_docs.empleado = led_empleados.empleado
INNER JOIN led_cliente_empleado ON (led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
AND led_docs.tipo_doc = led_cliente_empleado.tipo_doc
AND led_cliente_empleado.requiere_upload = 1
AND led_cliente_empleado.cliente = @cliente
AND led_cliente_empleado.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
where led_docs.contratista_1 = @p_contratista_1
and led_docs.contratista = @p_contratista
and led_docs.led_seccion = 'E') DOC_EMPLEADOS
GROUP BY DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo) EMPLEADOS
INNER JOIN led_tipos_doc ON EMPLEADOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON EMPLEADOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON EMPLEADOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
UNION
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, VEHICULOS.led_seccion, VEHICULOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
VEHICULOS.status_doc, VEHICULOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN VEHICULOS.status_doc = 'R' THEN 1
WHEN VEHICULOS.status_doc = 'E' THEN 2
WHEN VEHICULOS.status_doc = 'P' THEN 3
WHEN VEHICULOS.status_doc = 'N' THEN 4
WHEN VEHICULOS.status_doc = 'I' THEN 5
WHEN VEHICULOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo, MAX(DOC_VEHICULOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_VEHICULOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_VEHICULOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_VEHICULOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_VEHICULOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_VEHICULOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_vehiculos ON led_docs.vehiculo = led_vehiculos.vehiculo
INNER JOIN led_cliente_vehiculo ON (led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
AND led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc
AND led_cliente_vehiculo.requiere_upload = 1
AND led_cliente_vehiculo.cliente = @cliente
AND led_cliente_vehiculo.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
where led_docs.contratista_1 = @p_contratista_1
and led_vehiculos.estado_vehiculo = 'A'
and led_docs.contratista = @p_contratista
and led_docs.led_seccion = 'V') DOC_VEHICULOS
GROUP BY DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo) VEHICULOS
INNER JOIN led_tipos_doc ON VEHICULOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON VEHICULOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON VEHICULOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
ORDER BY orden_status, periodo, nombre_tipo_doc
ELSE
IF (@p_periodo_desde IS NOT NULL AND @p_periodo_hasta IS NULL)
/* Todas las secciones, por empresa, período desde */
SELECT led_docs.doc_id, led_docs.cliente, led_docs.contratista_1, led_docs.contratista,
led_docs.led_seccion, led_docs.periodo, led_docs.fecha_tolerancia,
led_docs.fecha_vigencia, led_docs.aprobacion_parcial, led_docs.status_doc,
led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN led_docs.status_doc = 'R' THEN 1
WHEN led_docs.status_doc = 'E' THEN 2
WHEN led_docs.status_doc = 'P' THEN 3
WHEN led_docs.status_doc = 'N' THEN 4
WHEN led_docs.status_doc = 'I' THEN 5
WHEN led_docs.status_doc = 'V' THEN 6 END AS orden_status
FROM led_docs
INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
--INNER JOIN dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_cliente_contratista ON (led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
AND led_docs.tipo_doc = led_cliente_contratista.tipo_doc
AND led_cliente_contratista.requiere_upload = 1
AND led_cliente_contratista.cliente = @cliente
AND led_cliente_contratista.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
WHERE led_docs.contratista_1 = @p_contratista_1
AND led_docs.contratista = @p_contratista
AND led_docs.periodo >= @p_periodo_desde
AND led_docs.led_seccion = 'C'
UNION
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, EMPLEADOS.led_seccion, EMPLEADOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
EMPLEADOS.status_doc, EMPLEADOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN EMPLEADOS.status_doc = 'R' THEN 1
WHEN EMPLEADOS.status_doc = 'E' THEN 2
WHEN EMPLEADOS.status_doc = 'P' THEN 3
WHEN EMPLEADOS.status_doc = 'N' THEN 4
WHEN EMPLEADOS.status_doc = 'I' THEN 5
WHEN EMPLEADOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo, MAX(DOC_EMPLEADOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_EMPLEADOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_empleados ON led_docs.empleado = led_empleados.empleado
INNER JOIN led_cliente_empleado ON (led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
AND led_docs.tipo_doc = led_cliente_empleado.tipo_doc
AND led_cliente_empleado.requiere_upload = 1
AND led_cliente_empleado.cliente = @cliente
AND led_cliente_empleado.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
where led_docs.contratista_1 = @p_contratista_1
and led_docs.contratista = @p_contratista
and led_docs.periodo >= @p_periodo_desde
and led_docs.led_seccion = 'E') DOC_EMPLEADOS
GROUP BY DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo) EMPLEADOS
INNER JOIN led_tipos_doc ON EMPLEADOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON EMPLEADOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON EMPLEADOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
UNION
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, VEHICULOS.led_seccion, VEHICULOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
VEHICULOS.status_doc, VEHICULOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN VEHICULOS.status_doc = 'R' THEN 1
WHEN VEHICULOS.status_doc = 'E' THEN 2
WHEN VEHICULOS.status_doc = 'P' THEN 3
WHEN VEHICULOS.status_doc = 'N' THEN 4
WHEN VEHICULOS.status_doc = 'I' THEN 5
WHEN VEHICULOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo, MAX(DOC_VEHICULOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_VEHICULOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_VEHICULOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_VEHICULOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_VEHICULOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_VEHICULOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_vehiculos ON led_docs.vehiculo = led_vehiculos.vehiculo
INNER JOIN led_cliente_vehiculo ON (led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
AND led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc
AND led_cliente_vehiculo.requiere_upload = 1
AND led_cliente_vehiculo.cliente = @cliente
AND led_cliente_vehiculo.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
where led_docs.contratista_1 = @p_contratista_1
and led_vehiculos.estado_vehiculo = 'A'
and led_docs.contratista = @p_contratista
and led_docs.periodo >= @p_periodo_desde
and led_docs.led_seccion = 'V') DOC_VEHICULOS
GROUP BY DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo) VEHICULOS
INNER JOIN led_tipos_doc ON VEHICULOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON VEHICULOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON VEHICULOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
ORDER BY orden_status, periodo, nombre_tipo_doc
ELSE
IF (@p_periodo_desde IS NULL AND @p_periodo_hasta IS NOT NULL)
/* Todas las secciones, por empresa, período hasta */
SELECT led_docs.doc_id, led_docs.cliente, led_docs.contratista_1, led_docs.contratista,
led_docs.led_seccion, led_docs.periodo, led_docs.fecha_tolerancia,
led_docs.fecha_vigencia, led_docs.aprobacion_parcial, led_docs.status_doc,
led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN led_docs.status_doc = 'R' THEN 1
WHEN led_docs.status_doc = 'E' THEN 2
WHEN led_docs.status_doc = 'P' THEN 3
WHEN led_docs.status_doc = 'N' THEN 4
WHEN led_docs.status_doc = 'I' THEN 5
WHEN led_docs.status_doc = 'V' THEN 6 END AS orden_status
FROM led_docs
INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
--INNER JOIN dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_cliente_contratista ON (led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
AND led_docs.tipo_doc = led_cliente_contratista.tipo_doc
AND led_cliente_contratista.requiere_upload = 1
AND led_cliente_contratista.cliente = @cliente
AND led_cliente_contratista.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
WHERE led_docs.contratista_1 = @p_contratista_1
AND led_docs.contratista = @p_contratista
AND led_docs.periodo <= @p_periodo_hasta
AND led_docs.led_seccion = 'C'
UNION
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, EMPLEADOS.led_seccion, EMPLEADOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
EMPLEADOS.status_doc, EMPLEADOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN EMPLEADOS.status_doc = 'R' THEN 1
WHEN EMPLEADOS.status_doc = 'E' THEN 2
WHEN EMPLEADOS.status_doc = 'P' THEN 3
WHEN EMPLEADOS.status_doc = 'N' THEN 4
WHEN EMPLEADOS.status_doc = 'I' THEN 5
WHEN EMPLEADOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo, MAX(DOC_EMPLEADOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_EMPLEADOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_empleados ON led_docs.empleado = led_empleados.empleado
INNER JOIN led_cliente_empleado ON (led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
AND led_docs.tipo_doc = led_cliente_empleado.tipo_doc
AND led_cliente_empleado.requiere_upload = 1
AND led_cliente_empleado.cliente = @cliente
AND led_cliente_empleado.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
where led_docs.contratista_1 = @p_contratista_1
and led_docs.contratista = @p_contratista
and led_docs.periodo <= @p_periodo_hasta
and led_docs.led_seccion = 'E') DOC_EMPLEADOS
GROUP BY DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo) EMPLEADOS
INNER JOIN led_tipos_doc ON EMPLEADOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON EMPLEADOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON EMPLEADOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
UNION
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, VEHICULOS.led_seccion, VEHICULOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
VEHICULOS.status_doc, VEHICULOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN VEHICULOS.status_doc = 'R' THEN 1
WHEN VEHICULOS.status_doc = 'E' THEN 2
WHEN VEHICULOS.status_doc = 'P' THEN 3
WHEN VEHICULOS.status_doc = 'N' THEN 4
WHEN VEHICULOS.status_doc = 'I' THEN 5
WHEN VEHICULOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo, MAX(DOC_VEHICULOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_VEHICULOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_VEHICULOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_VEHICULOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_VEHICULOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_VEHICULOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_vehiculos ON led_docs.vehiculo = led_vehiculos.vehiculo
INNER JOIN led_cliente_vehiculo ON (led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
AND led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc
AND led_cliente_vehiculo.requiere_upload = 1
AND led_cliente_vehiculo.cliente = @cliente
AND led_cliente_vehiculo.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
where led_docs.contratista_1 = @p_contratista_1
and led_vehiculos.estado_vehiculo = 'A'
and led_docs.contratista = @p_contratista
and led_docs.periodo <= @p_periodo_hasta
and led_docs.led_seccion = 'V') DOC_VEHICULOS
GROUP BY DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo) VEHICULOS
INNER JOIN led_tipos_doc ON VEHICULOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON VEHICULOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON VEHICULOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
ORDER BY orden_status, periodo, nombre_tipo_doc
ELSE
/* Todas las secciones, por empresa, período desde - hasta */
SELECT led_docs.doc_id, led_docs.cliente, led_docs.contratista_1, led_docs.contratista,
led_docs.led_seccion, led_docs.periodo, led_docs.fecha_tolerancia,
led_docs.fecha_vigencia, led_docs.aprobacion_parcial, led_docs.status_doc,
led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN led_docs.status_doc = 'R' THEN 1
WHEN led_docs.status_doc = 'E' THEN 2
WHEN led_docs.status_doc = 'P' THEN 3
WHEN led_docs.status_doc = 'N' THEN 4
WHEN led_docs.status_doc = 'I' THEN 5
WHEN led_docs.status_doc = 'V' THEN 6 END AS orden_status
FROM led_docs
INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
--INNER JOIN dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_cliente_contratista ON (led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
AND led_docs.tipo_doc = led_cliente_contratista.tipo_doc
AND led_cliente_contratista.requiere_upload = 1
AND led_cliente_contratista.cliente = @cliente
AND led_cliente_contratista.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
WHERE led_docs.contratista_1 = @p_contratista_1
AND led_docs.contratista = @p_contratista
AND led_docs.periodo >= @p_periodo_desde
AND led_docs.periodo <= @p_periodo_hasta
AND led_docs.led_seccion = 'C'
UNION
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, EMPLEADOS.led_seccion, EMPLEADOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
EMPLEADOS.status_doc, EMPLEADOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN EMPLEADOS.status_doc = 'R' THEN 1
WHEN EMPLEADOS.status_doc = 'E' THEN 2
WHEN EMPLEADOS.status_doc = 'P' THEN 3
WHEN EMPLEADOS.status_doc = 'N' THEN 4
WHEN EMPLEADOS.status_doc = 'I' THEN 5
WHEN EMPLEADOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo, MAX(DOC_EMPLEADOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_EMPLEADOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_EMPLEADOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_empleados ON led_docs.empleado = led_empleados.empleado
INNER JOIN led_cliente_empleado ON (led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
AND led_docs.tipo_doc = led_cliente_empleado.tipo_doc
AND led_cliente_empleado.requiere_upload = 1
AND led_cliente_empleado.cliente = @cliente
AND led_cliente_empleado.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
where led_docs.contratista_1 = @p_contratista_1
and led_docs.contratista = @p_contratista
and led_docs.periodo >= @p_periodo_desde
and led_docs.periodo <= @p_periodo_hasta
and led_docs.led_seccion = 'E') DOC_EMPLEADOS
GROUP BY DOC_EMPLEADOS.tipo_doc, DOC_EMPLEADOS.led_seccion, DOC_EMPLEADOS.contratista_1,
DOC_EMPLEADOS.contratista, DOC_EMPLEADOS.periodo) EMPLEADOS
INNER JOIN led_tipos_doc ON EMPLEADOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON EMPLEADOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON EMPLEADOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
UNION
SELECT NULL AS doc_id, led_contratistas_1.cliente, led_contratistas.contratista_1,
led_contratistas.contratista, VEHICULOS.led_seccion, VEHICULOS.periodo,
NULL AS fecha_tolerancia, NULL AS fecha_vigencia, NULL AS aprobacion_parcial,
VEHICULOS.status_doc, VEHICULOS.tipo_doc, led_tipos_doc.nombre_tipo_doc,
padrones.nombre_persona as empresa, padrones.identificador, padrones.numero,
padrones_1.nombre_persona as nombre_contratista,
CASE WHEN VEHICULOS.status_doc = 'R' THEN 1
WHEN VEHICULOS.status_doc = 'E' THEN 2
WHEN VEHICULOS.status_doc = 'P' THEN 3
WHEN VEHICULOS.status_doc = 'N' THEN 4
WHEN VEHICULOS.status_doc = 'I' THEN 5
WHEN VEHICULOS.status_doc = 'V' THEN 6 END AS orden_status
FROM
(SELECT DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo, MAX(DOC_VEHICULOS.estado_value) AS max_estado,
CASE
WHEN MAX(DOC_VEHICULOS.estado_value) = 10 THEN 'R'
WHEN MAX(DOC_VEHICULOS.estado_value) = 7 THEN 'E'
WHEN MAX(DOC_VEHICULOS.estado_value) = 5 THEN 'N'
WHEN MAX(DOC_VEHICULOS.estado_value) = 3 THEN 'I'
WHEN MAX(DOC_VEHICULOS.estado_value) = 1 THEN 'V'
END AS status_doc
FROM
(select led_docs.doc_id, led_docs.tipo_doc, led_docs.status_doc, led_docs.led_seccion,
led_docs.contratista_1, led_docs.contratista, led_docs.periodo,
CASE
WHEN led_docs.status_doc = 'R' THEN 10
WHEN led_docs.status_doc = 'E' THEN 7
WHEN led_docs.status_doc = 'N' THEN 5
WHEN led_docs.status_doc = 'I' THEN 3
WHEN led_docs.status_doc = 'V' THEN 1
END AS estado_value
from led_docs
inner join dbo.DelimitedSplit8K(@p_status_doc, ',') estados ON led_docs.status_doc = estados.Item
--inner join dbo.DelimitedSplit8K(@lista_tipos_doc, ',') tipos ON led_docs.tipo_doc = tipos.Item
INNER JOIN led_vehiculos ON led_docs.vehiculo = led_vehiculos.vehiculo
INNER JOIN led_cliente_vehiculo ON (led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
AND led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc
AND led_cliente_vehiculo.requiere_upload = 1
AND led_cliente_vehiculo.cliente = @cliente
AND led_cliente_vehiculo.ci_killer IN (select item from dbo.DelimitedSplit8K(@acceso, ',')))
where led_docs.contratista_1 = @p_contratista_1
and led_vehiculos.estado_vehiculo = 'A'
and led_docs.contratista = @p_contratista
and led_docs.periodo >= @p_periodo_desde
and led_docs.periodo <= @p_periodo_hasta
and led_docs.led_seccion = 'V') DOC_VEHICULOS
GROUP BY DOC_VEHICULOS.tipo_doc, DOC_VEHICULOS.led_seccion, DOC_VEHICULOS.contratista_1,
DOC_VEHICULOS.contratista, DOC_VEHICULOS.periodo) VEHICULOS
INNER JOIN led_tipos_doc ON VEHICULOS.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas AS led_contratistas_1 ON VEHICULOS.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones AS padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
INNER JOIN led_contratistas ON VEHICULOS.contratista = led_contratistas.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
ORDER BY orden_status, periodo, nombre_tipo_doc
END
/*END*/
END
END
GO
Depends On
14Used By
No items found