Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
6| Name | Data Type | Length | Description |
|---|---|---|---|
| @action | varchar | 30 | |
| @p_tipo_doc | int | 4 | |
| @p_desde | int | 4 | |
| @p_hasta | int | 4 | |
| @p_user_id | int | 4 | |
| @p_cliente | int | 4 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE OR ALTER PROCEDURE dbo.Imperium_KPIs_docs
-- Add the parameters for the stored procedure here
@action varchar(30),
@p_tipo_doc int,
@p_desde int,
@p_hasta int,
@p_user_id int,
@p_cliente int
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
DECLARE @fecha_desde DATETIME = DATETIMEFROMPARTS(CONVERT(INT,(@p_desde/10000)),
CONVERT(INT, SUBSTRING(CONVERT(VARCHAR, @p_desde),5,2)),
CONVERT(INT, SUBSTRING(CONVERT(VARCHAR, @p_desde),7,2)), 0, 0, 0, 0)
DECLARE @fecha_hasta DATETIME = DATETIMEFROMPARTS(CONVERT(INT,(@p_hasta/10000)),
CONVERT(INT, SUBSTRING(CONVERT(VARCHAR, @p_hasta),5,2)),
CONVERT(INT, SUBSTRING(CONVERT(VARCHAR, @p_hasta),7,2)),23,59,59,998)
IF (@action = 'Ingresados') BEGIN
SELECT led_docs.doc_id, led_docs.contratista, led_docs.contratista_1, led_docs.empleado, led_docs.vehiculo,
led_docs.estado_doc, led_docs.periodo, led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.led_seccion,
led_docs.cliente, led_secciones.nombre_seccion, clientes.nombre_cliente,
LEFT(CONVERT(VARCHAR,led_docs.ingresado,21),16) AS fecha_procesado,
LEFT(CONVERT(VARCHAR,led_docs.ingresado,21),16) AS ingresado, led_docs.ingresado_por, users_i.first_name + ' ' + users_i.last_name as ingresado_nombre,
LEFT(CONVERT(VARCHAR,led_docs.verificado,21),16) AS verificado, led_docs.verificado_por, users_v.first_name + ' ' + users_v.last_name as verificado_nombre,
LEFT(CONVERT(VARCHAR,led_docs.rechazado,21),16) AS rechazado, led_docs.rechazado_por, users_r.first_name + ' ' + users_r.last_name as rechazado_nombre,
padrones_1.nombre_persona AS nombre_persona_1, padrones_1.identificador + ' ' + padrones_1.numero AS identificacion_1,
padrones.nombre_persona, padrones.identificador + ' ' + padrones.numero AS identificacion,
padrones_e.nombre_persona AS nombre_empleado, padrones_e.identificador + ' ' + padrones_e.numero AS identificacion_e,
led_vehiculos.dominio, led_vehiculos.nombre_vehiculo,
CASE
WHEN led_docs.estado_doc = 'I' THEN 'Ingresado'
WHEN led_docs.estado_doc = 'R' THEN 'Rechazado'
WHEN led_docs.estado_doc = 'V' THEN 'Verificado'
END AS nombre_estado
FROM led_docs INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_secciones ON led_docs.led_seccion = led_secciones.led_seccion
INNER JOIN clientes ON led_docs.cliente = clientes.cliente
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
LEFT OUTER JOIN led_empleados ON led_docs.empleado = led_empleados.empleado
LEFT OUTER JOIN padrones padrones_e ON led_empleados.id_padron = padrones_e.id_padron
LEFT OUTER JOIN led_vehiculos ON led_docs.vehiculo = led_vehiculos.vehiculo
LEFT OUTER JOIN users users_i ON led_docs.ingresado_por = users_i.user_id
LEFT OUTER JOIN users users_v ON led_docs.verificado_por = users_v.user_id
LEFT OUTER JOIN users users_r ON led_docs.rechazado_por = users_r.user_id
WHERE led_docs.tipo_doc = @p_tipo_doc
and led_docs.doc_id_lista IS NULL
AND led_docs.ingresado BETWEEN @fecha_desde AND @fecha_hasta
AND led_docs.estado_doc IN ('I', 'R', 'V')
END ELSE
IF (@action = 'Procesados') BEGIN
SELECT led_docs.doc_id, led_docs.contratista, led_docs.contratista_1, led_docs.empleado, led_docs.vehiculo,
led_docs.estado_doc, led_docs.periodo, led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.led_seccion,
led_docs.cliente, led_secciones.nombre_seccion, clientes.nombre_cliente,
docs.fecha_procesado,
LEFT(CONVERT(VARCHAR,led_docs.ingresado,21),16) AS ingresado, led_docs.ingresado_por, users_i.first_name + ' ' + users_i.last_name as ingresado_nombre,
LEFT(CONVERT(VARCHAR,led_docs.verificado,21),16) AS verificado, led_docs.verificado_por, users_v.first_name + ' ' + users_v.last_name as verificado_nombre,
LEFT(CONVERT(VARCHAR,led_docs.rechazado,21),16) AS rechazado, led_docs.rechazado_por, users_r.first_name + ' ' + users_r.last_name as rechazado_nombre,
padrones_1.nombre_persona AS nombre_persona_1, padrones_1.identificador + ' ' + padrones_1.numero AS identificacion_1,
padrones.nombre_persona, padrones.identificador + ' ' + padrones.numero AS identificacion,
padrones_e.nombre_persona AS nombre_empleado, padrones_e.identificador + ' ' + padrones_e.numero AS identificacion_e,
led_vehiculos.dominio, led_vehiculos.nombre_vehiculo,
CASE
WHEN led_docs.estado_doc = 'I' THEN 'Ingresado'
WHEN led_docs.estado_doc = 'R' THEN 'Rechazado'
WHEN led_docs.estado_doc = 'V' THEN 'Verificado'
END AS nombre_estado
FROM led_docs INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN
(select led_docs.doc_id,
CASE
when led_docs.estado_doc = 'V' then verificado
when led_docs.estado_doc = 'R' then rechazado
END AS fecha_procesado
from led_docs
where led_docs.tipo_doc = @p_tipo_doc
and led_docs.doc_id_lista IS NULL
and led_docs.estado_doc IN ('V','R')
and led_docs.replicated_doc_id IS NULL
UNION ALL
select led_docs.doc_id, led_notificaciones.horario as fecha_procesado
from led_docs inner join led_notificaciones on
led_docs.notificacion = led_notificaciones.notificacion
where led_docs.tipo_doc = @p_tipo_doc
and led_docs.doc_id_lista IS NULL
and led_docs.estado_doc = 'I'
and led_docs.aprobacion_parcial = 1) docs ON led_docs.doc_id = docs.doc_id
INNER JOIN led_secciones ON led_docs.led_seccion = led_secciones.led_seccion
INNER JOIN clientes ON led_docs.cliente = clientes.cliente
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
LEFT OUTER JOIN led_empleados ON led_docs.empleado = led_empleados.empleado
LEFT OUTER JOIN padrones padrones_e ON led_empleados.id_padron = padrones_e.id_padron
LEFT OUTER JOIN led_vehiculos ON led_docs.vehiculo = led_vehiculos.vehiculo
LEFT OUTER JOIN users users_i ON led_docs.ingresado_por = users_i.user_id
LEFT OUTER JOIN users users_v ON led_docs.verificado_por = users_v.user_id
LEFT OUTER JOIN users users_r ON led_docs.rechazado_por = users_r.user_id
WHERE docs.fecha_procesado BETWEEN @fecha_desde AND @fecha_hasta
END ELSE
IF (@action = 'Verificados') BEGIN
SELECT led_docs.doc_id, led_docs.contratista, led_docs.contratista_1, led_docs.empleado, led_docs.vehiculo,
led_docs.estado_doc, led_docs.periodo, led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.led_seccion,
led_docs.cliente, led_secciones.nombre_seccion, clientes.nombre_cliente,
LEFT(CONVERT(VARCHAR,led_docs.verificado,21),16) AS fecha_procesado,
LEFT(CONVERT(VARCHAR,led_docs.ingresado,21),16) AS ingresado, led_docs.ingresado_por, users_i.first_name + ' ' + users_i.last_name as ingresado_nombre,
LEFT(CONVERT(VARCHAR,led_docs.verificado,21),16) AS verificado, led_docs.verificado_por, users_v.first_name + ' ' + users_v.last_name as verificado_nombre,
LEFT(CONVERT(VARCHAR,led_docs.rechazado,21),16) AS rechazado, led_docs.rechazado_por, users_r.first_name + ' ' + users_r.last_name as rechazado_nombre,
padrones_1.nombre_persona AS nombre_persona_1, padrones_1.identificador + ' ' + padrones_1.numero AS identificacion_1,
padrones.nombre_persona, padrones.identificador + ' ' + padrones.numero AS identificacion,
padrones_e.nombre_persona AS nombre_empleado, padrones_e.identificador + ' ' + padrones_e.numero AS identificacion_e,
led_vehiculos.dominio, led_vehiculos.nombre_vehiculo,
CASE
WHEN led_docs.estado_doc = 'I' THEN 'Ingresado'
WHEN led_docs.estado_doc = 'R' THEN 'Rechazado'
WHEN led_docs.estado_doc = 'V' THEN 'Verificado'
END AS nombre_estado
FROM led_docs INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_secciones ON led_docs.led_seccion = led_secciones.led_seccion
INNER JOIN clientes ON led_docs.cliente = clientes.cliente
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
LEFT OUTER JOIN led_empleados ON led_docs.empleado = led_empleados.empleado
LEFT OUTER JOIN padrones padrones_e ON led_empleados.id_padron = padrones_e.id_padron
LEFT OUTER JOIN led_vehiculos ON led_docs.vehiculo = led_vehiculos.vehiculo
LEFT OUTER JOIN users users_i ON led_docs.ingresado_por = users_i.user_id
LEFT OUTER JOIN users users_v ON led_docs.verificado_por = users_v.user_id
LEFT OUTER JOIN users users_r ON led_docs.rechazado_por = users_r.user_id
WHERE led_docs.tipo_doc = @p_tipo_doc
and led_docs.doc_id_lista IS NULL
AND led_docs.verificado BETWEEN @fecha_desde AND @fecha_hasta
AND led_docs.estado_doc = 'V'
END ELSE
IF (@action = 'Rechazados_parciales') BEGIN
SELECT led_docs.doc_id, led_docs.contratista, led_docs.contratista_1, led_docs.empleado, led_docs.vehiculo,
led_docs.estado_doc, led_docs.periodo, led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.led_seccion,
led_docs.cliente, led_secciones.nombre_seccion, clientes.nombre_cliente,
docs.fecha_procesado,
LEFT(CONVERT(VARCHAR,led_docs.ingresado,21),16) AS ingresado, led_docs.ingresado_por, users_i.first_name + ' ' + users_i.last_name as ingresado_nombre,
LEFT(CONVERT(VARCHAR,led_docs.verificado,21),16) AS verificado, led_docs.verificado_por, users_v.first_name + ' ' + users_v.last_name as verificado_nombre,
LEFT(CONVERT(VARCHAR,led_docs.rechazado,21),16) AS rechazado, led_docs.rechazado_por, users_r.first_name + ' ' + users_r.last_name as rechazado_nombre,
padrones_1.nombre_persona AS nombre_persona_1, padrones_1.identificador + ' ' + padrones_1.numero AS identificacion_1,
padrones.nombre_persona, padrones.identificador + ' ' + padrones.numero AS identificacion,
padrones_e.nombre_persona AS nombre_empleado, padrones_e.identificador + ' ' + padrones_e.numero AS identificacion_e,
led_vehiculos.dominio, led_vehiculos.nombre_vehiculo,
CASE
WHEN led_docs.estado_doc = 'I' THEN 'Ingresado'
WHEN led_docs.estado_doc = 'R' THEN 'Rechazado'
WHEN led_docs.estado_doc = 'V' THEN 'Verificado'
END AS nombre_estado
FROM led_docs INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN
(select led_docs.doc_id, led_docs.rechazado AS fecha_procesado
from led_docs
where led_docs.tipo_doc = @p_tipo_doc
and led_docs.doc_id_lista IS NULL
and led_docs.estado_doc = 'R'
and led_docs.replicated_doc_id IS NULL
UNION ALL
select led_docs.doc_id, led_notificaciones.horario as fecha_procesado
from led_docs inner join led_notificaciones on
led_docs.notificacion = led_notificaciones.notificacion
where led_docs.tipo_doc = @p_tipo_doc
and led_docs.doc_id_lista IS NULL
and led_docs.estado_doc = 'I'
and led_docs.aprobacion_parcial = 1) docs ON led_docs.doc_id = docs.doc_id
INNER JOIN led_secciones ON led_docs.led_seccion = led_secciones.led_seccion
INNER JOIN clientes ON led_docs.cliente = clientes.cliente
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
LEFT OUTER JOIN led_empleados ON led_docs.empleado = led_empleados.empleado
LEFT OUTER JOIN padrones padrones_e ON led_empleados.id_padron = padrones_e.id_padron
LEFT OUTER JOIN led_vehiculos ON led_docs.vehiculo = led_vehiculos.vehiculo
LEFT OUTER JOIN users users_i ON led_docs.ingresado_por = users_i.user_id
LEFT OUTER JOIN users users_v ON led_docs.verificado_por = users_v.user_id
LEFT OUTER JOIN users users_r ON led_docs.rechazado_por = users_r.user_id
WHERE docs.fecha_procesado BETWEEN @fecha_desde AND @fecha_hasta
END ELSE
IF (@action = 'Procesados_usuario') BEGIN
SELECT led_docs.doc_id, led_docs.contratista, led_docs.contratista_1, led_docs.empleado, led_docs.vehiculo,
led_docs.estado_doc, led_docs.periodo, led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.led_seccion,
led_docs.cliente, led_secciones.nombre_seccion, clientes.nombre_cliente,
docs.fecha_procesado,
LEFT(CONVERT(VARCHAR,led_docs.ingresado,21),16) AS ingresado, led_docs.ingresado_por, users_i.first_name + ' ' + users_i.last_name as ingresado_nombre,
LEFT(CONVERT(VARCHAR,led_docs.verificado,21),16) AS verificado, led_docs.verificado_por, users_v.first_name + ' ' + users_v.last_name as verificado_nombre,
LEFT(CONVERT(VARCHAR,led_docs.rechazado,21),16) AS rechazado, led_docs.rechazado_por, users_r.first_name + ' ' + users_r.last_name as rechazado_nombre,
users_p.first_name + ' ' + users_p.last_name as procesado_nombre,
padrones_1.nombre_persona AS nombre_persona_1, padrones_1.identificador + ' ' + padrones_1.numero AS identificacion_1,
padrones.nombre_persona, padrones.identificador + ' ' + padrones.numero AS identificacion,
padrones_e.nombre_persona AS nombre_empleado, padrones_e.identificador + ' ' + padrones_e.numero AS identificacion_e,
led_vehiculos.dominio, led_vehiculos.nombre_vehiculo,
CASE
WHEN led_docs.estado_doc = 'I' THEN 'Ingresado'
WHEN led_docs.estado_doc = 'R' THEN 'Rechazado'
WHEN led_docs.estado_doc = 'V' THEN 'Verificado'
END AS nombre_estado
FROM led_docs INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN
(select led_docs.doc_id,
CASE
when led_docs.estado_doc = 'V' then verificado
when led_docs.estado_doc = 'R' then rechazado
END AS fecha_procesado,
CASE
when led_docs.estado_doc = 'V' then verificado_por
when led_docs.estado_doc = 'R' then rechazado_por
END AS usuario
from led_docs
where led_docs.tipo_doc = @p_tipo_doc
and led_docs.doc_id_lista IS NULL
and led_docs.estado_doc IN ('V','R')
and led_docs.replicated_doc_id IS NULL
UNION ALL
select led_docs.doc_id, led_notificaciones.horario as fecha_procesado,
led_notificaciones.usuario_de as usuario
from led_docs inner join led_notificaciones on
led_docs.notificacion = led_notificaciones.notificacion
where led_docs.tipo_doc = @p_tipo_doc
and led_docs.doc_id_lista IS NULL
and led_docs.estado_doc = 'I'
and led_docs.aprobacion_parcial = 1) docs ON led_docs.doc_id = docs.doc_id
INNER JOIN led_secciones ON led_docs.led_seccion = led_secciones.led_seccion
INNER JOIN clientes ON led_docs.cliente = clientes.cliente
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
LEFT OUTER JOIN led_empleados ON led_docs.empleado = led_empleados.empleado
LEFT OUTER JOIN padrones padrones_e ON led_empleados.id_padron = padrones_e.id_padron
LEFT OUTER JOIN led_vehiculos ON led_docs.vehiculo = led_vehiculos.vehiculo
LEFT OUTER JOIN users users_i ON led_docs.ingresado_por = users_i.user_id
INNER JOIN users users_p ON docs.usuario = users_p.user_id
LEFT OUTER JOIN users users_v ON led_docs.verificado_por = users_v.user_id
LEFT OUTER JOIN users users_r ON led_docs.rechazado_por = users_r.user_id
WHERE docs.fecha_procesado BETWEEN @fecha_desde AND @fecha_hasta
AND docs.usuario = @p_user_id
END ELSE
IF (@action = 'Ingresados_cliente') BEGIN
SELECT led_docs.doc_id, led_docs.contratista, led_docs.contratista_1, led_docs.empleado, led_docs.vehiculo,
led_docs.estado_doc, led_docs.periodo, led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.led_seccion,
led_docs.cliente, led_secciones.nombre_seccion, clientes.nombre_cliente,
LEFT(CONVERT(VARCHAR,led_docs.ingresado,21),16) AS fecha_procesado,
LEFT(CONVERT(VARCHAR,led_docs.ingresado,21),16) AS ingresado, led_docs.ingresado_por, users_i.first_name + ' ' + users_i.last_name as ingresado_nombre,
LEFT(CONVERT(VARCHAR,led_docs.verificado,21),16) AS verificado, led_docs.verificado_por, users_v.first_name + ' ' + users_v.last_name as verificado_nombre,
LEFT(CONVERT(VARCHAR,led_docs.rechazado,21),16) AS rechazado, led_docs.rechazado_por, users_r.first_name + ' ' + users_r.last_name as rechazado_nombre,
padrones_1.nombre_persona AS nombre_persona_1, padrones_1.identificador + ' ' + padrones_1.numero AS identificacion_1,
padrones.nombre_persona, padrones.identificador + ' ' + padrones.numero AS identificacion,
padrones_e.nombre_persona AS nombre_empleado, padrones_e.identificador + ' ' + padrones_e.numero AS identificacion_e,
led_vehiculos.dominio, led_vehiculos.nombre_vehiculo,
CASE
WHEN led_docs.estado_doc = 'I' THEN 'Ingresado'
WHEN led_docs.estado_doc = 'R' THEN 'Rechazado'
WHEN led_docs.estado_doc = 'V' THEN 'Verificado'
END AS nombre_estado
FROM led_docs INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_secciones ON led_docs.led_seccion = led_secciones.led_seccion
INNER JOIN clientes ON led_docs.cliente = clientes.cliente
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
LEFT OUTER JOIN led_empleados ON led_docs.empleado = led_empleados.empleado
LEFT OUTER JOIN padrones padrones_e ON led_empleados.id_padron = padrones_e.id_padron
LEFT OUTER JOIN led_vehiculos ON led_docs.vehiculo = led_vehiculos.vehiculo
LEFT OUTER JOIN users users_i ON led_docs.ingresado_por = users_i.user_id
LEFT OUTER JOIN users users_v ON led_docs.verificado_por = users_v.user_id
LEFT OUTER JOIN users users_r ON led_docs.rechazado_por = users_r.user_id
WHERE led_docs.tipo_doc = @p_tipo_doc
and led_docs.doc_id_lista IS NULL
AND led_docs.ingresado BETWEEN @fecha_desde AND @fecha_hasta
AND led_docs.estado_doc IN ('I', 'R', 'V')
AND led_docs.cliente = @p_cliente
END ELSE
IF (@action = 'Procesados_cliente') BEGIN
SELECT led_docs.doc_id, led_docs.contratista, led_docs.contratista_1, led_docs.empleado, led_docs.vehiculo,
led_docs.estado_doc, led_docs.periodo, led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.led_seccion,
led_docs.cliente, led_secciones.nombre_seccion, clientes.nombre_cliente,
docs.fecha_procesado,
LEFT(CONVERT(VARCHAR,led_docs.ingresado,21),16) AS ingresado, led_docs.ingresado_por, users_i.first_name + ' ' + users_i.last_name as ingresado_nombre,
LEFT(CONVERT(VARCHAR,led_docs.verificado,21),16) AS verificado, led_docs.verificado_por, users_v.first_name + ' ' + users_v.last_name as verificado_nombre,
LEFT(CONVERT(VARCHAR,led_docs.rechazado,21),16) AS rechazado, led_docs.rechazado_por, users_r.first_name + ' ' + users_r.last_name as rechazado_nombre,
padrones_1.nombre_persona AS nombre_persona_1, padrones_1.identificador + ' ' + padrones_1.numero AS identificacion_1,
padrones.nombre_persona, padrones.identificador + ' ' + padrones.numero AS identificacion,
padrones_e.nombre_persona AS nombre_empleado, padrones_e.identificador + ' ' + padrones_e.numero AS identificacion_e,
led_vehiculos.dominio, led_vehiculos.nombre_vehiculo,
CASE
WHEN led_docs.estado_doc = 'I' THEN 'Ingresado'
WHEN led_docs.estado_doc = 'R' THEN 'Rechazado'
WHEN led_docs.estado_doc = 'V' THEN 'Verificado'
END AS nombre_estado
FROM led_docs INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN
(select led_docs.doc_id, led_docs.cliente,
CASE
when led_docs.estado_doc = 'V' then verificado
when led_docs.estado_doc = 'R' then rechazado
END AS fecha_procesado
from led_docs
where led_docs.tipo_doc = @p_tipo_doc
and led_docs.doc_id_lista IS NULL
and led_docs.estado_doc IN ('V','R')
and led_docs.replicated_doc_id IS NULL
UNION ALL
select led_docs.doc_id, led_docs.cliente, led_notificaciones.horario as fecha_procesado
from led_docs inner join led_notificaciones on
led_docs.notificacion = led_notificaciones.notificacion
where led_docs.tipo_doc = @p_tipo_doc
and led_docs.doc_id_lista IS NULL
and led_docs.estado_doc = 'I'
and led_docs.aprobacion_parcial = 1) docs ON led_docs.doc_id = docs.doc_id
INNER JOIN led_secciones ON led_docs.led_seccion = led_secciones.led_seccion
INNER JOIN clientes ON led_docs.cliente = clientes.cliente
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
LEFT OUTER JOIN led_empleados ON led_docs.empleado = led_empleados.empleado
LEFT OUTER JOIN padrones padrones_e ON led_empleados.id_padron = padrones_e.id_padron
LEFT OUTER JOIN led_vehiculos ON led_docs.vehiculo = led_vehiculos.vehiculo
LEFT OUTER JOIN users users_i ON led_docs.ingresado_por = users_i.user_id
LEFT OUTER JOIN users users_v ON led_docs.verificado_por = users_v.user_id
LEFT OUTER JOIN users users_r ON led_docs.rechazado_por = users_r.user_id
WHERE docs.fecha_procesado BETWEEN @fecha_desde AND @fecha_hasta
AND docs.cliente = @p_cliente
END
END
GO
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE OR ALTER PROCEDURE dbo.Imperium_KPIs_docs
-- Add the parameters for the stored procedure here
@action varchar(30),
@p_tipo_doc int,
@p_desde int,
@p_hasta int,
@p_user_id int,
@p_cliente int
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
DECLARE @fecha_desde DATETIME = DATETIMEFROMPARTS(CONVERT(INT,(@p_desde/10000)),
CONVERT(INT, SUBSTRING(CONVERT(VARCHAR, @p_desde),5,2)),
CONVERT(INT, SUBSTRING(CONVERT(VARCHAR, @p_desde),7,2)), 0, 0, 0, 0)
DECLARE @fecha_hasta DATETIME = DATETIMEFROMPARTS(CONVERT(INT,(@p_hasta/10000)),
CONVERT(INT, SUBSTRING(CONVERT(VARCHAR, @p_hasta),5,2)),
CONVERT(INT, SUBSTRING(CONVERT(VARCHAR, @p_hasta),7,2)),23,59,59,998)
IF (@action = 'Ingresados') BEGIN
SELECT led_docs.doc_id, led_docs.contratista, led_docs.contratista_1, led_docs.empleado, led_docs.vehiculo,
led_docs.estado_doc, led_docs.periodo, led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.led_seccion,
led_docs.cliente, led_secciones.nombre_seccion, clientes.nombre_cliente,
LEFT(CONVERT(VARCHAR,led_docs.ingresado,21),16) AS fecha_procesado,
LEFT(CONVERT(VARCHAR,led_docs.ingresado,21),16) AS ingresado, led_docs.ingresado_por, users_i.first_name + ' ' + users_i.last_name as ingresado_nombre,
LEFT(CONVERT(VARCHAR,led_docs.verificado,21),16) AS verificado, led_docs.verificado_por, users_v.first_name + ' ' + users_v.last_name as verificado_nombre,
LEFT(CONVERT(VARCHAR,led_docs.rechazado,21),16) AS rechazado, led_docs.rechazado_por, users_r.first_name + ' ' + users_r.last_name as rechazado_nombre,
padrones_1.nombre_persona AS nombre_persona_1, padrones_1.identificador + ' ' + padrones_1.numero AS identificacion_1,
padrones.nombre_persona, padrones.identificador + ' ' + padrones.numero AS identificacion,
padrones_e.nombre_persona AS nombre_empleado, padrones_e.identificador + ' ' + padrones_e.numero AS identificacion_e,
led_vehiculos.dominio, led_vehiculos.nombre_vehiculo,
CASE
WHEN led_docs.estado_doc = 'I' THEN 'Ingresado'
WHEN led_docs.estado_doc = 'R' THEN 'Rechazado'
WHEN led_docs.estado_doc = 'V' THEN 'Verificado'
END AS nombre_estado
FROM led_docs INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_secciones ON led_docs.led_seccion = led_secciones.led_seccion
INNER JOIN clientes ON led_docs.cliente = clientes.cliente
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
LEFT OUTER JOIN led_empleados ON led_docs.empleado = led_empleados.empleado
LEFT OUTER JOIN padrones padrones_e ON led_empleados.id_padron = padrones_e.id_padron
LEFT OUTER JOIN led_vehiculos ON led_docs.vehiculo = led_vehiculos.vehiculo
LEFT OUTER JOIN users users_i ON led_docs.ingresado_por = users_i.user_id
LEFT OUTER JOIN users users_v ON led_docs.verificado_por = users_v.user_id
LEFT OUTER JOIN users users_r ON led_docs.rechazado_por = users_r.user_id
WHERE led_docs.tipo_doc = @p_tipo_doc
and led_docs.doc_id_lista IS NULL
AND led_docs.ingresado BETWEEN @fecha_desde AND @fecha_hasta
AND led_docs.estado_doc IN ('I', 'R', 'V')
END ELSE
IF (@action = 'Procesados') BEGIN
SELECT led_docs.doc_id, led_docs.contratista, led_docs.contratista_1, led_docs.empleado, led_docs.vehiculo,
led_docs.estado_doc, led_docs.periodo, led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.led_seccion,
led_docs.cliente, led_secciones.nombre_seccion, clientes.nombre_cliente,
docs.fecha_procesado,
LEFT(CONVERT(VARCHAR,led_docs.ingresado,21),16) AS ingresado, led_docs.ingresado_por, users_i.first_name + ' ' + users_i.last_name as ingresado_nombre,
LEFT(CONVERT(VARCHAR,led_docs.verificado,21),16) AS verificado, led_docs.verificado_por, users_v.first_name + ' ' + users_v.last_name as verificado_nombre,
LEFT(CONVERT(VARCHAR,led_docs.rechazado,21),16) AS rechazado, led_docs.rechazado_por, users_r.first_name + ' ' + users_r.last_name as rechazado_nombre,
padrones_1.nombre_persona AS nombre_persona_1, padrones_1.identificador + ' ' + padrones_1.numero AS identificacion_1,
padrones.nombre_persona, padrones.identificador + ' ' + padrones.numero AS identificacion,
padrones_e.nombre_persona AS nombre_empleado, padrones_e.identificador + ' ' + padrones_e.numero AS identificacion_e,
led_vehiculos.dominio, led_vehiculos.nombre_vehiculo,
CASE
WHEN led_docs.estado_doc = 'I' THEN 'Ingresado'
WHEN led_docs.estado_doc = 'R' THEN 'Rechazado'
WHEN led_docs.estado_doc = 'V' THEN 'Verificado'
END AS nombre_estado
FROM led_docs INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN
(select led_docs.doc_id,
CASE
when led_docs.estado_doc = 'V' then verificado
when led_docs.estado_doc = 'R' then rechazado
END AS fecha_procesado
from led_docs
where led_docs.tipo_doc = @p_tipo_doc
and led_docs.doc_id_lista IS NULL
and led_docs.estado_doc IN ('V','R')
and led_docs.replicated_doc_id IS NULL
UNION ALL
select led_docs.doc_id, led_notificaciones.horario as fecha_procesado
from led_docs inner join led_notificaciones on
led_docs.notificacion = led_notificaciones.notificacion
where led_docs.tipo_doc = @p_tipo_doc
and led_docs.doc_id_lista IS NULL
and led_docs.estado_doc = 'I'
and led_docs.aprobacion_parcial = 1) docs ON led_docs.doc_id = docs.doc_id
INNER JOIN led_secciones ON led_docs.led_seccion = led_secciones.led_seccion
INNER JOIN clientes ON led_docs.cliente = clientes.cliente
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
LEFT OUTER JOIN led_empleados ON led_docs.empleado = led_empleados.empleado
LEFT OUTER JOIN padrones padrones_e ON led_empleados.id_padron = padrones_e.id_padron
LEFT OUTER JOIN led_vehiculos ON led_docs.vehiculo = led_vehiculos.vehiculo
LEFT OUTER JOIN users users_i ON led_docs.ingresado_por = users_i.user_id
LEFT OUTER JOIN users users_v ON led_docs.verificado_por = users_v.user_id
LEFT OUTER JOIN users users_r ON led_docs.rechazado_por = users_r.user_id
WHERE docs.fecha_procesado BETWEEN @fecha_desde AND @fecha_hasta
END ELSE
IF (@action = 'Verificados') BEGIN
SELECT led_docs.doc_id, led_docs.contratista, led_docs.contratista_1, led_docs.empleado, led_docs.vehiculo,
led_docs.estado_doc, led_docs.periodo, led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.led_seccion,
led_docs.cliente, led_secciones.nombre_seccion, clientes.nombre_cliente,
LEFT(CONVERT(VARCHAR,led_docs.verificado,21),16) AS fecha_procesado,
LEFT(CONVERT(VARCHAR,led_docs.ingresado,21),16) AS ingresado, led_docs.ingresado_por, users_i.first_name + ' ' + users_i.last_name as ingresado_nombre,
LEFT(CONVERT(VARCHAR,led_docs.verificado,21),16) AS verificado, led_docs.verificado_por, users_v.first_name + ' ' + users_v.last_name as verificado_nombre,
LEFT(CONVERT(VARCHAR,led_docs.rechazado,21),16) AS rechazado, led_docs.rechazado_por, users_r.first_name + ' ' + users_r.last_name as rechazado_nombre,
padrones_1.nombre_persona AS nombre_persona_1, padrones_1.identificador + ' ' + padrones_1.numero AS identificacion_1,
padrones.nombre_persona, padrones.identificador + ' ' + padrones.numero AS identificacion,
padrones_e.nombre_persona AS nombre_empleado, padrones_e.identificador + ' ' + padrones_e.numero AS identificacion_e,
led_vehiculos.dominio, led_vehiculos.nombre_vehiculo,
CASE
WHEN led_docs.estado_doc = 'I' THEN 'Ingresado'
WHEN led_docs.estado_doc = 'R' THEN 'Rechazado'
WHEN led_docs.estado_doc = 'V' THEN 'Verificado'
END AS nombre_estado
FROM led_docs INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_secciones ON led_docs.led_seccion = led_secciones.led_seccion
INNER JOIN clientes ON led_docs.cliente = clientes.cliente
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
LEFT OUTER JOIN led_empleados ON led_docs.empleado = led_empleados.empleado
LEFT OUTER JOIN padrones padrones_e ON led_empleados.id_padron = padrones_e.id_padron
LEFT OUTER JOIN led_vehiculos ON led_docs.vehiculo = led_vehiculos.vehiculo
LEFT OUTER JOIN users users_i ON led_docs.ingresado_por = users_i.user_id
LEFT OUTER JOIN users users_v ON led_docs.verificado_por = users_v.user_id
LEFT OUTER JOIN users users_r ON led_docs.rechazado_por = users_r.user_id
WHERE led_docs.tipo_doc = @p_tipo_doc
and led_docs.doc_id_lista IS NULL
AND led_docs.verificado BETWEEN @fecha_desde AND @fecha_hasta
AND led_docs.estado_doc = 'V'
END ELSE
IF (@action = 'Rechazados_parciales') BEGIN
SELECT led_docs.doc_id, led_docs.contratista, led_docs.contratista_1, led_docs.empleado, led_docs.vehiculo,
led_docs.estado_doc, led_docs.periodo, led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.led_seccion,
led_docs.cliente, led_secciones.nombre_seccion, clientes.nombre_cliente,
docs.fecha_procesado,
LEFT(CONVERT(VARCHAR,led_docs.ingresado,21),16) AS ingresado, led_docs.ingresado_por, users_i.first_name + ' ' + users_i.last_name as ingresado_nombre,
LEFT(CONVERT(VARCHAR,led_docs.verificado,21),16) AS verificado, led_docs.verificado_por, users_v.first_name + ' ' + users_v.last_name as verificado_nombre,
LEFT(CONVERT(VARCHAR,led_docs.rechazado,21),16) AS rechazado, led_docs.rechazado_por, users_r.first_name + ' ' + users_r.last_name as rechazado_nombre,
padrones_1.nombre_persona AS nombre_persona_1, padrones_1.identificador + ' ' + padrones_1.numero AS identificacion_1,
padrones.nombre_persona, padrones.identificador + ' ' + padrones.numero AS identificacion,
padrones_e.nombre_persona AS nombre_empleado, padrones_e.identificador + ' ' + padrones_e.numero AS identificacion_e,
led_vehiculos.dominio, led_vehiculos.nombre_vehiculo,
CASE
WHEN led_docs.estado_doc = 'I' THEN 'Ingresado'
WHEN led_docs.estado_doc = 'R' THEN 'Rechazado'
WHEN led_docs.estado_doc = 'V' THEN 'Verificado'
END AS nombre_estado
FROM led_docs INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN
(select led_docs.doc_id, led_docs.rechazado AS fecha_procesado
from led_docs
where led_docs.tipo_doc = @p_tipo_doc
and led_docs.doc_id_lista IS NULL
and led_docs.estado_doc = 'R'
and led_docs.replicated_doc_id IS NULL
UNION ALL
select led_docs.doc_id, led_notificaciones.horario as fecha_procesado
from led_docs inner join led_notificaciones on
led_docs.notificacion = led_notificaciones.notificacion
where led_docs.tipo_doc = @p_tipo_doc
and led_docs.doc_id_lista IS NULL
and led_docs.estado_doc = 'I'
and led_docs.aprobacion_parcial = 1) docs ON led_docs.doc_id = docs.doc_id
INNER JOIN led_secciones ON led_docs.led_seccion = led_secciones.led_seccion
INNER JOIN clientes ON led_docs.cliente = clientes.cliente
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
LEFT OUTER JOIN led_empleados ON led_docs.empleado = led_empleados.empleado
LEFT OUTER JOIN padrones padrones_e ON led_empleados.id_padron = padrones_e.id_padron
LEFT OUTER JOIN led_vehiculos ON led_docs.vehiculo = led_vehiculos.vehiculo
LEFT OUTER JOIN users users_i ON led_docs.ingresado_por = users_i.user_id
LEFT OUTER JOIN users users_v ON led_docs.verificado_por = users_v.user_id
LEFT OUTER JOIN users users_r ON led_docs.rechazado_por = users_r.user_id
WHERE docs.fecha_procesado BETWEEN @fecha_desde AND @fecha_hasta
END ELSE
IF (@action = 'Procesados_usuario') BEGIN
SELECT led_docs.doc_id, led_docs.contratista, led_docs.contratista_1, led_docs.empleado, led_docs.vehiculo,
led_docs.estado_doc, led_docs.periodo, led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.led_seccion,
led_docs.cliente, led_secciones.nombre_seccion, clientes.nombre_cliente,
docs.fecha_procesado,
LEFT(CONVERT(VARCHAR,led_docs.ingresado,21),16) AS ingresado, led_docs.ingresado_por, users_i.first_name + ' ' + users_i.last_name as ingresado_nombre,
LEFT(CONVERT(VARCHAR,led_docs.verificado,21),16) AS verificado, led_docs.verificado_por, users_v.first_name + ' ' + users_v.last_name as verificado_nombre,
LEFT(CONVERT(VARCHAR,led_docs.rechazado,21),16) AS rechazado, led_docs.rechazado_por, users_r.first_name + ' ' + users_r.last_name as rechazado_nombre,
users_p.first_name + ' ' + users_p.last_name as procesado_nombre,
padrones_1.nombre_persona AS nombre_persona_1, padrones_1.identificador + ' ' + padrones_1.numero AS identificacion_1,
padrones.nombre_persona, padrones.identificador + ' ' + padrones.numero AS identificacion,
padrones_e.nombre_persona AS nombre_empleado, padrones_e.identificador + ' ' + padrones_e.numero AS identificacion_e,
led_vehiculos.dominio, led_vehiculos.nombre_vehiculo,
CASE
WHEN led_docs.estado_doc = 'I' THEN 'Ingresado'
WHEN led_docs.estado_doc = 'R' THEN 'Rechazado'
WHEN led_docs.estado_doc = 'V' THEN 'Verificado'
END AS nombre_estado
FROM led_docs INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN
(select led_docs.doc_id,
CASE
when led_docs.estado_doc = 'V' then verificado
when led_docs.estado_doc = 'R' then rechazado
END AS fecha_procesado,
CASE
when led_docs.estado_doc = 'V' then verificado_por
when led_docs.estado_doc = 'R' then rechazado_por
END AS usuario
from led_docs
where led_docs.tipo_doc = @p_tipo_doc
and led_docs.doc_id_lista IS NULL
and led_docs.estado_doc IN ('V','R')
and led_docs.replicated_doc_id IS NULL
UNION ALL
select led_docs.doc_id, led_notificaciones.horario as fecha_procesado,
led_notificaciones.usuario_de as usuario
from led_docs inner join led_notificaciones on
led_docs.notificacion = led_notificaciones.notificacion
where led_docs.tipo_doc = @p_tipo_doc
and led_docs.doc_id_lista IS NULL
and led_docs.estado_doc = 'I'
and led_docs.aprobacion_parcial = 1) docs ON led_docs.doc_id = docs.doc_id
INNER JOIN led_secciones ON led_docs.led_seccion = led_secciones.led_seccion
INNER JOIN clientes ON led_docs.cliente = clientes.cliente
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
LEFT OUTER JOIN led_empleados ON led_docs.empleado = led_empleados.empleado
LEFT OUTER JOIN padrones padrones_e ON led_empleados.id_padron = padrones_e.id_padron
LEFT OUTER JOIN led_vehiculos ON led_docs.vehiculo = led_vehiculos.vehiculo
LEFT OUTER JOIN users users_i ON led_docs.ingresado_por = users_i.user_id
INNER JOIN users users_p ON docs.usuario = users_p.user_id
LEFT OUTER JOIN users users_v ON led_docs.verificado_por = users_v.user_id
LEFT OUTER JOIN users users_r ON led_docs.rechazado_por = users_r.user_id
WHERE docs.fecha_procesado BETWEEN @fecha_desde AND @fecha_hasta
AND docs.usuario = @p_user_id
END ELSE
IF (@action = 'Ingresados_cliente') BEGIN
SELECT led_docs.doc_id, led_docs.contratista, led_docs.contratista_1, led_docs.empleado, led_docs.vehiculo,
led_docs.estado_doc, led_docs.periodo, led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.led_seccion,
led_docs.cliente, led_secciones.nombre_seccion, clientes.nombre_cliente,
LEFT(CONVERT(VARCHAR,led_docs.ingresado,21),16) AS fecha_procesado,
LEFT(CONVERT(VARCHAR,led_docs.ingresado,21),16) AS ingresado, led_docs.ingresado_por, users_i.first_name + ' ' + users_i.last_name as ingresado_nombre,
LEFT(CONVERT(VARCHAR,led_docs.verificado,21),16) AS verificado, led_docs.verificado_por, users_v.first_name + ' ' + users_v.last_name as verificado_nombre,
LEFT(CONVERT(VARCHAR,led_docs.rechazado,21),16) AS rechazado, led_docs.rechazado_por, users_r.first_name + ' ' + users_r.last_name as rechazado_nombre,
padrones_1.nombre_persona AS nombre_persona_1, padrones_1.identificador + ' ' + padrones_1.numero AS identificacion_1,
padrones.nombre_persona, padrones.identificador + ' ' + padrones.numero AS identificacion,
padrones_e.nombre_persona AS nombre_empleado, padrones_e.identificador + ' ' + padrones_e.numero AS identificacion_e,
led_vehiculos.dominio, led_vehiculos.nombre_vehiculo,
CASE
WHEN led_docs.estado_doc = 'I' THEN 'Ingresado'
WHEN led_docs.estado_doc = 'R' THEN 'Rechazado'
WHEN led_docs.estado_doc = 'V' THEN 'Verificado'
END AS nombre_estado
FROM led_docs INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_secciones ON led_docs.led_seccion = led_secciones.led_seccion
INNER JOIN clientes ON led_docs.cliente = clientes.cliente
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
LEFT OUTER JOIN led_empleados ON led_docs.empleado = led_empleados.empleado
LEFT OUTER JOIN padrones padrones_e ON led_empleados.id_padron = padrones_e.id_padron
LEFT OUTER JOIN led_vehiculos ON led_docs.vehiculo = led_vehiculos.vehiculo
LEFT OUTER JOIN users users_i ON led_docs.ingresado_por = users_i.user_id
LEFT OUTER JOIN users users_v ON led_docs.verificado_por = users_v.user_id
LEFT OUTER JOIN users users_r ON led_docs.rechazado_por = users_r.user_id
WHERE led_docs.tipo_doc = @p_tipo_doc
and led_docs.doc_id_lista IS NULL
AND led_docs.ingresado BETWEEN @fecha_desde AND @fecha_hasta
AND led_docs.estado_doc IN ('I', 'R', 'V')
AND led_docs.cliente = @p_cliente
END ELSE
IF (@action = 'Procesados_cliente') BEGIN
SELECT led_docs.doc_id, led_docs.contratista, led_docs.contratista_1, led_docs.empleado, led_docs.vehiculo,
led_docs.estado_doc, led_docs.periodo, led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.led_seccion,
led_docs.cliente, led_secciones.nombre_seccion, clientes.nombre_cliente,
docs.fecha_procesado,
LEFT(CONVERT(VARCHAR,led_docs.ingresado,21),16) AS ingresado, led_docs.ingresado_por, users_i.first_name + ' ' + users_i.last_name as ingresado_nombre,
LEFT(CONVERT(VARCHAR,led_docs.verificado,21),16) AS verificado, led_docs.verificado_por, users_v.first_name + ' ' + users_v.last_name as verificado_nombre,
LEFT(CONVERT(VARCHAR,led_docs.rechazado,21),16) AS rechazado, led_docs.rechazado_por, users_r.first_name + ' ' + users_r.last_name as rechazado_nombre,
padrones_1.nombre_persona AS nombre_persona_1, padrones_1.identificador + ' ' + padrones_1.numero AS identificacion_1,
padrones.nombre_persona, padrones.identificador + ' ' + padrones.numero AS identificacion,
padrones_e.nombre_persona AS nombre_empleado, padrones_e.identificador + ' ' + padrones_e.numero AS identificacion_e,
led_vehiculos.dominio, led_vehiculos.nombre_vehiculo,
CASE
WHEN led_docs.estado_doc = 'I' THEN 'Ingresado'
WHEN led_docs.estado_doc = 'R' THEN 'Rechazado'
WHEN led_docs.estado_doc = 'V' THEN 'Verificado'
END AS nombre_estado
FROM led_docs INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN
(select led_docs.doc_id, led_docs.cliente,
CASE
when led_docs.estado_doc = 'V' then verificado
when led_docs.estado_doc = 'R' then rechazado
END AS fecha_procesado
from led_docs
where led_docs.tipo_doc = @p_tipo_doc
and led_docs.doc_id_lista IS NULL
and led_docs.estado_doc IN ('V','R')
and led_docs.replicated_doc_id IS NULL
UNION ALL
select led_docs.doc_id, led_docs.cliente, led_notificaciones.horario as fecha_procesado
from led_docs inner join led_notificaciones on
led_docs.notificacion = led_notificaciones.notificacion
where led_docs.tipo_doc = @p_tipo_doc
and led_docs.doc_id_lista IS NULL
and led_docs.estado_doc = 'I'
and led_docs.aprobacion_parcial = 1) docs ON led_docs.doc_id = docs.doc_id
INNER JOIN led_secciones ON led_docs.led_seccion = led_secciones.led_seccion
INNER JOIN clientes ON led_docs.cliente = clientes.cliente
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron
LEFT OUTER JOIN led_empleados ON led_docs.empleado = led_empleados.empleado
LEFT OUTER JOIN padrones padrones_e ON led_empleados.id_padron = padrones_e.id_padron
LEFT OUTER JOIN led_vehiculos ON led_docs.vehiculo = led_vehiculos.vehiculo
LEFT OUTER JOIN users users_i ON led_docs.ingresado_por = users_i.user_id
LEFT OUTER JOIN users users_v ON led_docs.verificado_por = users_v.user_id
LEFT OUTER JOIN users users_r ON led_docs.rechazado_por = users_r.user_id
WHERE docs.fecha_procesado BETWEEN @fecha_desde AND @fecha_hasta
AND docs.cliente = @p_cliente
END
END
GO
Depends On
11Used By
No items found