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_desde | int | 4 | |
| @p_hasta | int | 4 | |
| @lista_comp | varchar | 50 | |
| @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,,>
/*
exec Imperium_KPIs_detail 'verificados',20200606,20200628,null,61501872,null
*/
-- Description: <Description,,>
-- =============================================
CREATE OR ALTER PROCEDURE dbo.Imperium_KPIs_detail
-- Add the parameters for the stored procedure here
@action varchar(30),
@p_desde int,
@p_hasta int,
@lista_comp varchar(50),
@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
IF (@lista_comp IS NULL)
select led_tipos_doc.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.complejidad, led_tipos_doc.led_seccion,
CASE
WHEN led_tipos_doc.led_seccion='C' THEN 'Empresa'
WHEN led_tipos_doc.led_seccion='E' THEN 'Empleados'
WHEN led_tipos_doc.led_seccion='V' THEN 'Vehículos'
END AS nombre_seccion,
led_complejidad_doc.codigo_complejidad,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, LEFT(led_complejidad_doc.codigo_complejidad,1),NULL) as complejidad,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, SUBSTRING(led_complejidad_doc.codigo_complejidad,2,1),NULL) as tiempo,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, RIGHT(led_complejidad_doc.codigo_complejidad,1),NULL) as verificacion,
led_complejidad_doc.descripcion_complejidad,
COUNT(*) AS total_docs
from led_docs
inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
left outer join led_complejidad_doc on led_tipos_doc.complejidad = led_complejidad_doc.complejidad
where led_docs.ingresado BETWEEN @fecha_desde AND @fecha_hasta
and led_docs.doc_id_lista IS NULL
and led_docs.estado_doc IN ('I','R','V')
and led_docs.replicated_doc_id IS NULL
group by led_tipos_doc.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.complejidad, led_tipos_doc.led_seccion,
led_complejidad_doc.codigo_complejidad, led_complejidad_doc.descripcion_complejidad
ORDER BY led_tipos_doc.nombre_tipo_doc
ELSE
select led_tipos_doc.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.complejidad, led_tipos_doc.led_seccion,
CASE
WHEN led_tipos_doc.led_seccion='C' THEN 'Empresa'
WHEN led_tipos_doc.led_seccion='E' THEN 'Empleados'
WHEN led_tipos_doc.led_seccion='V' THEN 'Vehículos'
END AS nombre_seccion,
led_complejidad_doc.codigo_complejidad,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, LEFT(led_complejidad_doc.codigo_complejidad,1),NULL) as complejidad,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, SUBSTRING(led_complejidad_doc.codigo_complejidad,2,1),NULL) as tiempo,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, RIGHT(led_complejidad_doc.codigo_complejidad,1),NULL) as verificacion,
led_complejidad_doc.descripcion_complejidad,
COUNT(*) AS total_docs
from led_docs
inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN DelimitedSplit8K(@lista_comp, ',') AS complej
ON led_tipos_doc.complejidad = complej.Item
left outer join led_complejidad_doc on led_tipos_doc.complejidad = led_complejidad_doc.complejidad
where led_docs.ingresado BETWEEN @fecha_desde AND @fecha_hasta
and led_docs.doc_id_lista IS NULL
and led_docs.estado_doc IN ('I','R','V')
and led_docs.replicated_doc_id IS NULL
group by led_tipos_doc.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.complejidad, led_tipos_doc.led_seccion,
led_complejidad_doc.codigo_complejidad, led_complejidad_doc.descripcion_complejidad
ORDER BY led_tipos_doc.nombre_tipo_doc
END ELSE
IF (@action = 'Procesados') BEGIN
IF (@lista_comp IS NULL)
SELECT led_tipos_doc.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.complejidad, led_tipos_doc.led_seccion,
CASE
WHEN led_tipos_doc.led_seccion='C' THEN 'Empresa'
WHEN led_tipos_doc.led_seccion='E' THEN 'Empleados'
WHEN led_tipos_doc.led_seccion='V' THEN 'Vehículos'
END AS nombre_seccion,
led_complejidad_doc.codigo_complejidad,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, LEFT(led_complejidad_doc.codigo_complejidad,1),NULL) as complejidad,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, SUBSTRING(led_complejidad_doc.codigo_complejidad,2,1),NULL) as tiempo,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, RIGHT(led_complejidad_doc.codigo_complejidad,1),NULL) as verificacion,
led_complejidad_doc.descripcion_complejidad,
COUNT(*) AS total_docs
FROM led_tipos_doc
INNER JOIN
(select led_docs.doc_id, led_docs.tipo_doc,
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.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.tipo_doc,
led_notificaciones.horario as fecha_procesado
from led_docs inner join led_notificaciones on
led_docs.notificacion = led_notificaciones.notificacion
where led_docs.doc_id_lista IS NULL
and led_docs.estado_doc = 'I'
and led_docs.aprobacion_parcial = 1) docs ON led_tipos_doc.tipo_doc = docs.tipo_doc
LEFT OUTER JOIN led_complejidad_doc on led_tipos_doc.complejidad = led_complejidad_doc.complejidad
WHERE docs.fecha_procesado BETWEEN @fecha_desde AND @fecha_hasta
GROUP BY led_tipos_doc.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.complejidad, led_tipos_doc.led_seccion,
led_complejidad_doc.codigo_complejidad, led_complejidad_doc.descripcion_complejidad
ORDER BY led_tipos_doc.nombre_tipo_doc
ELSE
SELECT led_tipos_doc.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.complejidad, led_tipos_doc.led_seccion,
CASE
WHEN led_tipos_doc.led_seccion='C' THEN 'Empresa'
WHEN led_tipos_doc.led_seccion='E' THEN 'Empleados'
WHEN led_tipos_doc.led_seccion='V' THEN 'Vehículos'
END AS nombre_seccion,
led_complejidad_doc.codigo_complejidad,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, LEFT(led_complejidad_doc.codigo_complejidad,1),NULL) as complejidad,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, SUBSTRING(led_complejidad_doc.codigo_complejidad,2,1),NULL) as tiempo,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, RIGHT(led_complejidad_doc.codigo_complejidad,1),NULL) as verificacion,
led_complejidad_doc.descripcion_complejidad,
COUNT(*) AS total_docs
FROM led_tipos_doc
INNER JOIN
(select led_docs.doc_id, led_docs.tipo_doc,
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.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.tipo_doc,
led_notificaciones.horario as fecha_procesado
from led_docs inner join led_notificaciones on
led_docs.notificacion = led_notificaciones.notificacion
where led_docs.doc_id_lista IS NULL
and led_docs.estado_doc = 'I'
and led_docs.aprobacion_parcial = 1) docs ON led_tipos_doc.tipo_doc = docs.tipo_doc
INNER JOIN DelimitedSplit8K(@lista_comp, ',') AS complej
ON led_tipos_doc.complejidad = complej.Item
LEFT OUTER JOIN led_complejidad_doc on led_tipos_doc.complejidad = led_complejidad_doc.complejidad
WHERE docs.fecha_procesado BETWEEN @fecha_desde AND @fecha_hasta
GROUP BY led_tipos_doc.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.complejidad, led_tipos_doc.led_seccion,
led_complejidad_doc.codigo_complejidad, led_complejidad_doc.descripcion_complejidad
ORDER BY led_tipos_doc.nombre_tipo_doc
END ELSE
IF (@action = 'Verificados') BEGIN
IF (@lista_comp IS NULL)
select led_tipos_doc.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.complejidad, led_tipos_doc.led_seccion,
CASE
WHEN led_tipos_doc.led_seccion='C' THEN 'Empresa'
WHEN led_tipos_doc.led_seccion='E' THEN 'Empleados'
WHEN led_tipos_doc.led_seccion='V' THEN 'Vehículos'
END AS nombre_seccion,
led_complejidad_doc.codigo_complejidad,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, LEFT(led_complejidad_doc.codigo_complejidad,1),NULL) as complejidad,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, SUBSTRING(led_complejidad_doc.codigo_complejidad,2,1),NULL) as tiempo,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, RIGHT(led_complejidad_doc.codigo_complejidad,1),NULL) as verificacion,
led_complejidad_doc.descripcion_complejidad,
COUNT(*) AS total_docs
from led_docs
inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
left outer join led_complejidad_doc on led_tipos_doc.complejidad = led_complejidad_doc.complejidad
where led_docs.verificado BETWEEN @fecha_desde AND @fecha_hasta
and led_docs.doc_id_lista IS NULL
and led_docs.estado_doc ='V'
and led_docs.replicated_doc_id IS NULL
group by led_tipos_doc.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.complejidad, led_tipos_doc.led_seccion,
led_complejidad_doc.codigo_complejidad, led_complejidad_doc.descripcion_complejidad
ORDER BY led_tipos_doc.nombre_tipo_doc
ELSE
select led_tipos_doc.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.complejidad, led_tipos_doc.led_seccion,
CASE
WHEN led_tipos_doc.led_seccion='C' THEN 'Empresa'
WHEN led_tipos_doc.led_seccion='E' THEN 'Empleados'
WHEN led_tipos_doc.led_seccion='V' THEN 'Vehículos'
END AS nombre_seccion,
led_complejidad_doc.codigo_complejidad,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, LEFT(led_complejidad_doc.codigo_complejidad,1),NULL) as complejidad,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, SUBSTRING(led_complejidad_doc.codigo_complejidad,2,1),NULL) as tiempo,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, RIGHT(led_complejidad_doc.codigo_complejidad,1),NULL) as verificacion,
led_complejidad_doc.descripcion_complejidad,
COUNT(*) AS total_docs
from led_docs
inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN DelimitedSplit8K(@lista_comp, ',') AS complej
ON led_tipos_doc.complejidad = complej.Item
left outer join led_complejidad_doc on led_tipos_doc.complejidad = led_complejidad_doc.complejidad
where led_docs.verificado BETWEEN @fecha_desde AND @fecha_hasta
and led_docs.doc_id_lista IS NULL
and led_docs.estado_doc ='V'
and led_docs.replicated_doc_id IS NULL
group by led_tipos_doc.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.complejidad, led_tipos_doc.led_seccion,
led_complejidad_doc.codigo_complejidad, led_complejidad_doc.descripcion_complejidad
ORDER BY led_tipos_doc.nombre_tipo_doc
END ELSE
IF (@action = 'Rechazados_parciales') BEGIN
IF (@lista_comp IS NULL)
SELECT led_tipos_doc.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.complejidad, led_tipos_doc.led_seccion,
CASE
WHEN led_tipos_doc.led_seccion='C' THEN 'Empresa'
WHEN led_tipos_doc.led_seccion='E' THEN 'Empleados'
WHEN led_tipos_doc.led_seccion='V' THEN 'Vehículos'
END AS nombre_seccion,
led_complejidad_doc.codigo_complejidad,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, LEFT(led_complejidad_doc.codigo_complejidad,1),NULL) as complejidad,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, SUBSTRING(led_complejidad_doc.codigo_complejidad,2,1),NULL) as tiempo,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, RIGHT(led_complejidad_doc.codigo_complejidad,1),NULL) as verificacion,
led_complejidad_doc.descripcion_complejidad,
COUNT(*) AS total_docs
FROM led_tipos_doc
INNER JOIN
(select led_docs.doc_id, led_docs.tipo_doc,
led_docs.rechazado AS fecha_procesado
from led_docs
where 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_docs.tipo_doc,
led_notificaciones.horario as fecha_procesado
from led_docs inner join led_notificaciones on
led_docs.notificacion = led_notificaciones.notificacion
where led_docs.doc_id_lista IS NULL
and led_docs.estado_doc = 'I'
and led_docs.aprobacion_parcial = 1) docs ON led_tipos_doc.tipo_doc = docs.tipo_doc
LEFT OUTER JOIN led_complejidad_doc on led_tipos_doc.complejidad = led_complejidad_doc.complejidad
WHERE docs.fecha_procesado BETWEEN @fecha_desde AND @fecha_hasta
GROUP BY led_tipos_doc.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.complejidad, led_tipos_doc.led_seccion,
led_complejidad_doc.codigo_complejidad, led_complejidad_doc.descripcion_complejidad
ORDER BY led_tipos_doc.nombre_tipo_doc
ELSE
SELECT led_tipos_doc.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.complejidad, led_tipos_doc.led_seccion,
CASE
WHEN led_tipos_doc.led_seccion='C' THEN 'Empresa'
WHEN led_tipos_doc.led_seccion='E' THEN 'Empleados'
WHEN led_tipos_doc.led_seccion='V' THEN 'Vehículos'
END AS nombre_seccion,
led_complejidad_doc.codigo_complejidad,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, LEFT(led_complejidad_doc.codigo_complejidad,1),NULL) as complejidad,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, SUBSTRING(led_complejidad_doc.codigo_complejidad,2,1),NULL) as tiempo,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, RIGHT(led_complejidad_doc.codigo_complejidad,1),NULL) as verificacion,
led_complejidad_doc.descripcion_complejidad,
COUNT(*) AS total_docs
FROM led_tipos_doc
INNER JOIN
(select led_docs.doc_id, led_docs.tipo_doc,
led_docs.rechazado AS fecha_procesado
from led_docs
where 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_docs.tipo_doc,
led_notificaciones.horario as fecha_procesado
from led_docs inner join led_notificaciones on
led_docs.notificacion = led_notificaciones.notificacion
where led_docs.doc_id_lista IS NULL
and led_docs.estado_doc = 'I'
and led_docs.aprobacion_parcial = 1) docs ON led_tipos_doc.tipo_doc = docs.tipo_doc
INNER JOIN DelimitedSplit8K(@lista_comp, ',') AS complej
ON led_tipos_doc.complejidad = complej.Item
LEFT OUTER JOIN led_complejidad_doc on led_tipos_doc.complejidad = led_complejidad_doc.complejidad
WHERE docs.fecha_procesado BETWEEN @fecha_desde AND @fecha_hasta
GROUP BY led_tipos_doc.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.complejidad, led_tipos_doc.led_seccion,
led_complejidad_doc.codigo_complejidad, led_complejidad_doc.descripcion_complejidad
ORDER BY led_tipos_doc.nombre_tipo_doc
END ELSE
IF (@action = 'Procesados_usuario') BEGIN
IF (@lista_comp IS NULL)
SELECT led_tipos_doc.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.complejidad, led_tipos_doc.led_seccion,
CASE
WHEN led_tipos_doc.led_seccion='C' THEN 'Empresa'
WHEN led_tipos_doc.led_seccion='E' THEN 'Empleados'
WHEN led_tipos_doc.led_seccion='V' THEN 'Vehículos'
END AS nombre_seccion,
led_complejidad_doc.codigo_complejidad,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, LEFT(led_complejidad_doc.codigo_complejidad,1),NULL) as complejidad,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, SUBSTRING(led_complejidad_doc.codigo_complejidad,2,1),NULL) as tiempo,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, RIGHT(led_complejidad_doc.codigo_complejidad,1),NULL) as verificacion,
led_complejidad_doc.descripcion_complejidad,
users.first_name, users.last_name,
COUNT(*) AS total_docs
FROM led_tipos_doc
INNER JOIN
(select led_docs.doc_id, led_docs.tipo_doc,
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.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.tipo_doc,
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.doc_id_lista IS NULL
and led_docs.estado_doc = 'I'
and led_docs.aprobacion_parcial = 1) docs ON led_tipos_doc.tipo_doc = docs.tipo_doc
INNER JOIN users ON docs.usuario = users.user_id
LEFT OUTER JOIN led_complejidad_doc on led_tipos_doc.complejidad = led_complejidad_doc.complejidad
WHERE docs.fecha_procesado BETWEEN @fecha_desde AND @fecha_hasta
AND docs.usuario = @p_user_id
GROUP BY led_tipos_doc.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.complejidad, led_tipos_doc.led_seccion,
led_complejidad_doc.codigo_complejidad, led_complejidad_doc.descripcion_complejidad,
users.first_name, users.last_name
ORDER BY led_tipos_doc.nombre_tipo_doc
ELSE
SELECT led_tipos_doc.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.complejidad, led_tipos_doc.led_seccion,
CASE
WHEN led_tipos_doc.led_seccion='C' THEN 'Empresa'
WHEN led_tipos_doc.led_seccion='E' THEN 'Empleados'
WHEN led_tipos_doc.led_seccion='V' THEN 'Vehículos'
END AS nombre_seccion,
led_complejidad_doc.codigo_complejidad,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, LEFT(led_complejidad_doc.codigo_complejidad,1),NULL) as complejidad,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, SUBSTRING(led_complejidad_doc.codigo_complejidad,2,1),NULL) as tiempo,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, RIGHT(led_complejidad_doc.codigo_complejidad,1),NULL) as verificacion,
led_complejidad_doc.descripcion_complejidad,
users.first_name, users.last_name,
COUNT(*) AS total_docs
FROM led_tipos_doc
INNER JOIN
(select led_docs.doc_id, led_docs.tipo_doc,
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.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.tipo_doc,
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.doc_id_lista IS NULL
and led_docs.estado_doc = 'I'
and led_docs.aprobacion_parcial = 1) docs ON led_tipos_doc.tipo_doc = docs.tipo_doc
INNER JOIN DelimitedSplit8K(@lista_comp, ',') AS complej
ON led_tipos_doc.complejidad = complej.Item
INNER JOIN users ON docs.usuario = users.user_id
LEFT OUTER JOIN led_complejidad_doc on led_tipos_doc.complejidad = led_complejidad_doc.complejidad
WHERE docs.fecha_procesado BETWEEN @fecha_desde AND @fecha_hasta
AND docs.usuario = @p_user_id
GROUP BY led_tipos_doc.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.complejidad, led_tipos_doc.led_seccion,
led_complejidad_doc.codigo_complejidad, led_complejidad_doc.descripcion_complejidad,
users.first_name, users.last_name
ORDER BY led_tipos_doc.nombre_tipo_doc
END ELSE
IF (@action = 'Ingresados_cliente') BEGIN
IF (@lista_comp IS NULL)
select led_tipos_doc.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.complejidad, led_tipos_doc.led_seccion,
CASE
WHEN led_tipos_doc.led_seccion='C' THEN 'Empresa'
WHEN led_tipos_doc.led_seccion='E' THEN 'Empleados'
WHEN led_tipos_doc.led_seccion='V' THEN 'Vehículos'
END AS nombre_seccion,
led_complejidad_doc.codigo_complejidad,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, LEFT(led_complejidad_doc.codigo_complejidad,1),NULL) as complejidad,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, SUBSTRING(led_complejidad_doc.codigo_complejidad,2,1),NULL) as tiempo,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, RIGHT(led_complejidad_doc.codigo_complejidad,1),NULL) as verificacion,
led_complejidad_doc.descripcion_complejidad,
led_docs.cliente, clientes.nombre_cliente, COUNT(*) AS total_docs
from led_docs inner join clientes on led_docs.cliente = clientes.cliente
inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
LEFT OUTER JOIN led_complejidad_doc on led_tipos_doc.complejidad = led_complejidad_doc.complejidad
where led_docs.ingresado BETWEEN @fecha_desde AND @fecha_hasta
and led_docs.cliente = @p_cliente
and led_docs.doc_id_lista IS NULL
and led_docs.estado_doc IN ('I','R','V')
and led_docs.replicated_doc_id IS NULL
group by led_tipos_doc.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.complejidad, led_tipos_doc.led_seccion,
led_complejidad_doc.codigo_complejidad, led_complejidad_doc.descripcion_complejidad,
led_docs.cliente, clientes.nombre_cliente
ORDER BY led_tipos_doc.nombre_tipo_doc
ELSE
select led_tipos_doc.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.complejidad, led_tipos_doc.led_seccion,
CASE
WHEN led_tipos_doc.led_seccion='C' THEN 'Empresa'
WHEN led_tipos_doc.led_seccion='E' THEN 'Empleados'
WHEN led_tipos_doc.led_seccion='V' THEN 'Vehículos'
END AS nombre_seccion,
led_complejidad_doc.codigo_complejidad,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, LEFT(led_complejidad_doc.codigo_complejidad,1),NULL) as complejidad,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, SUBSTRING(led_complejidad_doc.codigo_complejidad,2,1),NULL) as tiempo,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, RIGHT(led_complejidad_doc.codigo_complejidad,1),NULL) as verificacion,
led_complejidad_doc.descripcion_complejidad,
led_docs.cliente, clientes.nombre_cliente, COUNT(*) AS total_docs
from led_docs inner join clientes on led_docs.cliente = clientes.cliente
inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN DelimitedSplit8K(@lista_comp, ',') AS complej
ON led_tipos_doc.complejidad = complej.Item
LEFT OUTER JOIN led_complejidad_doc on led_tipos_doc.complejidad = led_complejidad_doc.complejidad
where led_docs.ingresado BETWEEN @fecha_desde AND @fecha_hasta
and led_docs.cliente = @p_cliente
and led_docs.doc_id_lista IS NULL
and led_docs.estado_doc IN ('I','R','V')
and led_docs.replicated_doc_id IS NULL
group by led_tipos_doc.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.complejidad, led_tipos_doc.led_seccion,
led_complejidad_doc.codigo_complejidad, led_complejidad_doc.descripcion_complejidad,
led_docs.cliente, clientes.nombre_cliente
ORDER BY led_tipos_doc.nombre_tipo_doc
END ELSE
IF (@action = 'Procesados_cliente') BEGIN
IF (@lista_comp IS NULL)
SELECT led_tipos_doc.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.complejidad, led_tipos_doc.led_seccion,
CASE
WHEN led_tipos_doc.led_seccion='C' THEN 'Empresa'
WHEN led_tipos_doc.led_seccion='E' THEN 'Empleados'
WHEN led_tipos_doc.led_seccion='V' THEN 'Vehículos'
END AS nombre_seccion,
led_complejidad_doc.codigo_complejidad,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, LEFT(led_complejidad_doc.codigo_complejidad,1),NULL) as complejidad,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, SUBSTRING(led_complejidad_doc.codigo_complejidad,2,1),NULL) as tiempo,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, RIGHT(led_complejidad_doc.codigo_complejidad,1),NULL) as verificacion,
led_complejidad_doc.descripcion_complejidad,
clientes.nombre_cliente, COUNT(*) AS total_docs
FROM led_tipos_doc
INNER JOIN
(select led_docs.doc_id, led_docs.cliente, led_docs.tipo_doc,
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.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_docs.tipo_doc,
led_notificaciones.horario as fecha_procesado
from led_docs inner join led_notificaciones on
led_docs.notificacion = led_notificaciones.notificacion
where led_docs.doc_id_lista IS NULL
and led_docs.estado_doc = 'I'
and led_docs.aprobacion_parcial = 1) docs ON led_tipos_doc.tipo_doc = docs.tipo_doc
INNER JOIN clientes ON docs.cliente = clientes.cliente
LEFT OUTER JOIN led_complejidad_doc on led_tipos_doc.complejidad = led_complejidad_doc.complejidad
WHERE docs.fecha_procesado BETWEEN @fecha_desde AND @fecha_hasta
AND docs.cliente = @p_cliente
GROUP BY led_tipos_doc.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.complejidad, led_tipos_doc.led_seccion,
led_complejidad_doc.codigo_complejidad, led_complejidad_doc.descripcion_complejidad,
clientes.nombre_cliente
ORDER BY led_tipos_doc.nombre_tipo_doc
ELSE
SELECT led_tipos_doc.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.complejidad, led_tipos_doc.led_seccion,
CASE
WHEN led_tipos_doc.led_seccion='C' THEN 'Empresa'
WHEN led_tipos_doc.led_seccion='E' THEN 'Empleados'
WHEN led_tipos_doc.led_seccion='V' THEN 'Vehículos'
END AS nombre_seccion,
led_complejidad_doc.codigo_complejidad,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, LEFT(led_complejidad_doc.codigo_complejidad,1),NULL) as complejidad,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, SUBSTRING(led_complejidad_doc.codigo_complejidad,2,1),NULL) as tiempo,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, RIGHT(led_complejidad_doc.codigo_complejidad,1),NULL) as verificacion,
led_complejidad_doc.descripcion_complejidad,
clientes.nombre_cliente, COUNT(*) AS total_docs
FROM led_tipos_doc
INNER JOIN
(select led_docs.doc_id, led_docs.cliente, led_docs.tipo_doc,
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.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_docs.tipo_doc,
led_notificaciones.horario as fecha_procesado
from led_docs inner join led_notificaciones on
led_docs.notificacion = led_notificaciones.notificacion
where led_docs.doc_id_lista IS NULL
and led_docs.estado_doc = 'I'
and led_docs.aprobacion_parcial = 1) docs ON led_tipos_doc.tipo_doc = docs.tipo_doc
INNER JOIN clientes ON docs.cliente = clientes.cliente
INNER JOIN DelimitedSplit8K(@lista_comp, ',') AS complej
ON led_tipos_doc.complejidad = complej.Item
LEFT OUTER JOIN led_complejidad_doc on led_tipos_doc.complejidad = led_complejidad_doc.complejidad
WHERE docs.fecha_procesado BETWEEN @fecha_desde AND @fecha_hasta
AND docs.cliente = @p_cliente
GROUP BY led_tipos_doc.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.complejidad, led_tipos_doc.led_seccion,
led_complejidad_doc.codigo_complejidad, led_complejidad_doc.descripcion_complejidad,
clientes.nombre_cliente
ORDER BY led_tipos_doc.nombre_tipo_doc
END
END
GO
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
/*
exec Imperium_KPIs_detail 'verificados',20200606,20200628,null,61501872,null
*/
-- Description: <Description,,>
-- =============================================
CREATE OR ALTER PROCEDURE dbo.Imperium_KPIs_detail
-- Add the parameters for the stored procedure here
@action varchar(30),
@p_desde int,
@p_hasta int,
@lista_comp varchar(50),
@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
IF (@lista_comp IS NULL)
select led_tipos_doc.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.complejidad, led_tipos_doc.led_seccion,
CASE
WHEN led_tipos_doc.led_seccion='C' THEN 'Empresa'
WHEN led_tipos_doc.led_seccion='E' THEN 'Empleados'
WHEN led_tipos_doc.led_seccion='V' THEN 'Vehículos'
END AS nombre_seccion,
led_complejidad_doc.codigo_complejidad,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, LEFT(led_complejidad_doc.codigo_complejidad,1),NULL) as complejidad,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, SUBSTRING(led_complejidad_doc.codigo_complejidad,2,1),NULL) as tiempo,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, RIGHT(led_complejidad_doc.codigo_complejidad,1),NULL) as verificacion,
led_complejidad_doc.descripcion_complejidad,
COUNT(*) AS total_docs
from led_docs
inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
left outer join led_complejidad_doc on led_tipos_doc.complejidad = led_complejidad_doc.complejidad
where led_docs.ingresado BETWEEN @fecha_desde AND @fecha_hasta
and led_docs.doc_id_lista IS NULL
and led_docs.estado_doc IN ('I','R','V')
and led_docs.replicated_doc_id IS NULL
group by led_tipos_doc.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.complejidad, led_tipos_doc.led_seccion,
led_complejidad_doc.codigo_complejidad, led_complejidad_doc.descripcion_complejidad
ORDER BY led_tipos_doc.nombre_tipo_doc
ELSE
select led_tipos_doc.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.complejidad, led_tipos_doc.led_seccion,
CASE
WHEN led_tipos_doc.led_seccion='C' THEN 'Empresa'
WHEN led_tipos_doc.led_seccion='E' THEN 'Empleados'
WHEN led_tipos_doc.led_seccion='V' THEN 'Vehículos'
END AS nombre_seccion,
led_complejidad_doc.codigo_complejidad,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, LEFT(led_complejidad_doc.codigo_complejidad,1),NULL) as complejidad,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, SUBSTRING(led_complejidad_doc.codigo_complejidad,2,1),NULL) as tiempo,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, RIGHT(led_complejidad_doc.codigo_complejidad,1),NULL) as verificacion,
led_complejidad_doc.descripcion_complejidad,
COUNT(*) AS total_docs
from led_docs
inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN DelimitedSplit8K(@lista_comp, ',') AS complej
ON led_tipos_doc.complejidad = complej.Item
left outer join led_complejidad_doc on led_tipos_doc.complejidad = led_complejidad_doc.complejidad
where led_docs.ingresado BETWEEN @fecha_desde AND @fecha_hasta
and led_docs.doc_id_lista IS NULL
and led_docs.estado_doc IN ('I','R','V')
and led_docs.replicated_doc_id IS NULL
group by led_tipos_doc.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.complejidad, led_tipos_doc.led_seccion,
led_complejidad_doc.codigo_complejidad, led_complejidad_doc.descripcion_complejidad
ORDER BY led_tipos_doc.nombre_tipo_doc
END ELSE
IF (@action = 'Procesados') BEGIN
IF (@lista_comp IS NULL)
SELECT led_tipos_doc.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.complejidad, led_tipos_doc.led_seccion,
CASE
WHEN led_tipos_doc.led_seccion='C' THEN 'Empresa'
WHEN led_tipos_doc.led_seccion='E' THEN 'Empleados'
WHEN led_tipos_doc.led_seccion='V' THEN 'Vehículos'
END AS nombre_seccion,
led_complejidad_doc.codigo_complejidad,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, LEFT(led_complejidad_doc.codigo_complejidad,1),NULL) as complejidad,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, SUBSTRING(led_complejidad_doc.codigo_complejidad,2,1),NULL) as tiempo,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, RIGHT(led_complejidad_doc.codigo_complejidad,1),NULL) as verificacion,
led_complejidad_doc.descripcion_complejidad,
COUNT(*) AS total_docs
FROM led_tipos_doc
INNER JOIN
(select led_docs.doc_id, led_docs.tipo_doc,
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.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.tipo_doc,
led_notificaciones.horario as fecha_procesado
from led_docs inner join led_notificaciones on
led_docs.notificacion = led_notificaciones.notificacion
where led_docs.doc_id_lista IS NULL
and led_docs.estado_doc = 'I'
and led_docs.aprobacion_parcial = 1) docs ON led_tipos_doc.tipo_doc = docs.tipo_doc
LEFT OUTER JOIN led_complejidad_doc on led_tipos_doc.complejidad = led_complejidad_doc.complejidad
WHERE docs.fecha_procesado BETWEEN @fecha_desde AND @fecha_hasta
GROUP BY led_tipos_doc.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.complejidad, led_tipos_doc.led_seccion,
led_complejidad_doc.codigo_complejidad, led_complejidad_doc.descripcion_complejidad
ORDER BY led_tipos_doc.nombre_tipo_doc
ELSE
SELECT led_tipos_doc.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.complejidad, led_tipos_doc.led_seccion,
CASE
WHEN led_tipos_doc.led_seccion='C' THEN 'Empresa'
WHEN led_tipos_doc.led_seccion='E' THEN 'Empleados'
WHEN led_tipos_doc.led_seccion='V' THEN 'Vehículos'
END AS nombre_seccion,
led_complejidad_doc.codigo_complejidad,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, LEFT(led_complejidad_doc.codigo_complejidad,1),NULL) as complejidad,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, SUBSTRING(led_complejidad_doc.codigo_complejidad,2,1),NULL) as tiempo,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, RIGHT(led_complejidad_doc.codigo_complejidad,1),NULL) as verificacion,
led_complejidad_doc.descripcion_complejidad,
COUNT(*) AS total_docs
FROM led_tipos_doc
INNER JOIN
(select led_docs.doc_id, led_docs.tipo_doc,
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.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.tipo_doc,
led_notificaciones.horario as fecha_procesado
from led_docs inner join led_notificaciones on
led_docs.notificacion = led_notificaciones.notificacion
where led_docs.doc_id_lista IS NULL
and led_docs.estado_doc = 'I'
and led_docs.aprobacion_parcial = 1) docs ON led_tipos_doc.tipo_doc = docs.tipo_doc
INNER JOIN DelimitedSplit8K(@lista_comp, ',') AS complej
ON led_tipos_doc.complejidad = complej.Item
LEFT OUTER JOIN led_complejidad_doc on led_tipos_doc.complejidad = led_complejidad_doc.complejidad
WHERE docs.fecha_procesado BETWEEN @fecha_desde AND @fecha_hasta
GROUP BY led_tipos_doc.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.complejidad, led_tipos_doc.led_seccion,
led_complejidad_doc.codigo_complejidad, led_complejidad_doc.descripcion_complejidad
ORDER BY led_tipos_doc.nombre_tipo_doc
END ELSE
IF (@action = 'Verificados') BEGIN
IF (@lista_comp IS NULL)
select led_tipos_doc.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.complejidad, led_tipos_doc.led_seccion,
CASE
WHEN led_tipos_doc.led_seccion='C' THEN 'Empresa'
WHEN led_tipos_doc.led_seccion='E' THEN 'Empleados'
WHEN led_tipos_doc.led_seccion='V' THEN 'Vehículos'
END AS nombre_seccion,
led_complejidad_doc.codigo_complejidad,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, LEFT(led_complejidad_doc.codigo_complejidad,1),NULL) as complejidad,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, SUBSTRING(led_complejidad_doc.codigo_complejidad,2,1),NULL) as tiempo,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, RIGHT(led_complejidad_doc.codigo_complejidad,1),NULL) as verificacion,
led_complejidad_doc.descripcion_complejidad,
COUNT(*) AS total_docs
from led_docs
inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
left outer join led_complejidad_doc on led_tipos_doc.complejidad = led_complejidad_doc.complejidad
where led_docs.verificado BETWEEN @fecha_desde AND @fecha_hasta
and led_docs.doc_id_lista IS NULL
and led_docs.estado_doc ='V'
and led_docs.replicated_doc_id IS NULL
group by led_tipos_doc.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.complejidad, led_tipos_doc.led_seccion,
led_complejidad_doc.codigo_complejidad, led_complejidad_doc.descripcion_complejidad
ORDER BY led_tipos_doc.nombre_tipo_doc
ELSE
select led_tipos_doc.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.complejidad, led_tipos_doc.led_seccion,
CASE
WHEN led_tipos_doc.led_seccion='C' THEN 'Empresa'
WHEN led_tipos_doc.led_seccion='E' THEN 'Empleados'
WHEN led_tipos_doc.led_seccion='V' THEN 'Vehículos'
END AS nombre_seccion,
led_complejidad_doc.codigo_complejidad,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, LEFT(led_complejidad_doc.codigo_complejidad,1),NULL) as complejidad,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, SUBSTRING(led_complejidad_doc.codigo_complejidad,2,1),NULL) as tiempo,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, RIGHT(led_complejidad_doc.codigo_complejidad,1),NULL) as verificacion,
led_complejidad_doc.descripcion_complejidad,
COUNT(*) AS total_docs
from led_docs
inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN DelimitedSplit8K(@lista_comp, ',') AS complej
ON led_tipos_doc.complejidad = complej.Item
left outer join led_complejidad_doc on led_tipos_doc.complejidad = led_complejidad_doc.complejidad
where led_docs.verificado BETWEEN @fecha_desde AND @fecha_hasta
and led_docs.doc_id_lista IS NULL
and led_docs.estado_doc ='V'
and led_docs.replicated_doc_id IS NULL
group by led_tipos_doc.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.complejidad, led_tipos_doc.led_seccion,
led_complejidad_doc.codigo_complejidad, led_complejidad_doc.descripcion_complejidad
ORDER BY led_tipos_doc.nombre_tipo_doc
END ELSE
IF (@action = 'Rechazados_parciales') BEGIN
IF (@lista_comp IS NULL)
SELECT led_tipos_doc.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.complejidad, led_tipos_doc.led_seccion,
CASE
WHEN led_tipos_doc.led_seccion='C' THEN 'Empresa'
WHEN led_tipos_doc.led_seccion='E' THEN 'Empleados'
WHEN led_tipos_doc.led_seccion='V' THEN 'Vehículos'
END AS nombre_seccion,
led_complejidad_doc.codigo_complejidad,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, LEFT(led_complejidad_doc.codigo_complejidad,1),NULL) as complejidad,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, SUBSTRING(led_complejidad_doc.codigo_complejidad,2,1),NULL) as tiempo,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, RIGHT(led_complejidad_doc.codigo_complejidad,1),NULL) as verificacion,
led_complejidad_doc.descripcion_complejidad,
COUNT(*) AS total_docs
FROM led_tipos_doc
INNER JOIN
(select led_docs.doc_id, led_docs.tipo_doc,
led_docs.rechazado AS fecha_procesado
from led_docs
where 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_docs.tipo_doc,
led_notificaciones.horario as fecha_procesado
from led_docs inner join led_notificaciones on
led_docs.notificacion = led_notificaciones.notificacion
where led_docs.doc_id_lista IS NULL
and led_docs.estado_doc = 'I'
and led_docs.aprobacion_parcial = 1) docs ON led_tipos_doc.tipo_doc = docs.tipo_doc
LEFT OUTER JOIN led_complejidad_doc on led_tipos_doc.complejidad = led_complejidad_doc.complejidad
WHERE docs.fecha_procesado BETWEEN @fecha_desde AND @fecha_hasta
GROUP BY led_tipos_doc.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.complejidad, led_tipos_doc.led_seccion,
led_complejidad_doc.codigo_complejidad, led_complejidad_doc.descripcion_complejidad
ORDER BY led_tipos_doc.nombre_tipo_doc
ELSE
SELECT led_tipos_doc.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.complejidad, led_tipos_doc.led_seccion,
CASE
WHEN led_tipos_doc.led_seccion='C' THEN 'Empresa'
WHEN led_tipos_doc.led_seccion='E' THEN 'Empleados'
WHEN led_tipos_doc.led_seccion='V' THEN 'Vehículos'
END AS nombre_seccion,
led_complejidad_doc.codigo_complejidad,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, LEFT(led_complejidad_doc.codigo_complejidad,1),NULL) as complejidad,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, SUBSTRING(led_complejidad_doc.codigo_complejidad,2,1),NULL) as tiempo,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, RIGHT(led_complejidad_doc.codigo_complejidad,1),NULL) as verificacion,
led_complejidad_doc.descripcion_complejidad,
COUNT(*) AS total_docs
FROM led_tipos_doc
INNER JOIN
(select led_docs.doc_id, led_docs.tipo_doc,
led_docs.rechazado AS fecha_procesado
from led_docs
where 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_docs.tipo_doc,
led_notificaciones.horario as fecha_procesado
from led_docs inner join led_notificaciones on
led_docs.notificacion = led_notificaciones.notificacion
where led_docs.doc_id_lista IS NULL
and led_docs.estado_doc = 'I'
and led_docs.aprobacion_parcial = 1) docs ON led_tipos_doc.tipo_doc = docs.tipo_doc
INNER JOIN DelimitedSplit8K(@lista_comp, ',') AS complej
ON led_tipos_doc.complejidad = complej.Item
LEFT OUTER JOIN led_complejidad_doc on led_tipos_doc.complejidad = led_complejidad_doc.complejidad
WHERE docs.fecha_procesado BETWEEN @fecha_desde AND @fecha_hasta
GROUP BY led_tipos_doc.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.complejidad, led_tipos_doc.led_seccion,
led_complejidad_doc.codigo_complejidad, led_complejidad_doc.descripcion_complejidad
ORDER BY led_tipos_doc.nombre_tipo_doc
END ELSE
IF (@action = 'Procesados_usuario') BEGIN
IF (@lista_comp IS NULL)
SELECT led_tipos_doc.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.complejidad, led_tipos_doc.led_seccion,
CASE
WHEN led_tipos_doc.led_seccion='C' THEN 'Empresa'
WHEN led_tipos_doc.led_seccion='E' THEN 'Empleados'
WHEN led_tipos_doc.led_seccion='V' THEN 'Vehículos'
END AS nombre_seccion,
led_complejidad_doc.codigo_complejidad,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, LEFT(led_complejidad_doc.codigo_complejidad,1),NULL) as complejidad,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, SUBSTRING(led_complejidad_doc.codigo_complejidad,2,1),NULL) as tiempo,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, RIGHT(led_complejidad_doc.codigo_complejidad,1),NULL) as verificacion,
led_complejidad_doc.descripcion_complejidad,
users.first_name, users.last_name,
COUNT(*) AS total_docs
FROM led_tipos_doc
INNER JOIN
(select led_docs.doc_id, led_docs.tipo_doc,
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.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.tipo_doc,
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.doc_id_lista IS NULL
and led_docs.estado_doc = 'I'
and led_docs.aprobacion_parcial = 1) docs ON led_tipos_doc.tipo_doc = docs.tipo_doc
INNER JOIN users ON docs.usuario = users.user_id
LEFT OUTER JOIN led_complejidad_doc on led_tipos_doc.complejidad = led_complejidad_doc.complejidad
WHERE docs.fecha_procesado BETWEEN @fecha_desde AND @fecha_hasta
AND docs.usuario = @p_user_id
GROUP BY led_tipos_doc.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.complejidad, led_tipos_doc.led_seccion,
led_complejidad_doc.codigo_complejidad, led_complejidad_doc.descripcion_complejidad,
users.first_name, users.last_name
ORDER BY led_tipos_doc.nombre_tipo_doc
ELSE
SELECT led_tipos_doc.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.complejidad, led_tipos_doc.led_seccion,
CASE
WHEN led_tipos_doc.led_seccion='C' THEN 'Empresa'
WHEN led_tipos_doc.led_seccion='E' THEN 'Empleados'
WHEN led_tipos_doc.led_seccion='V' THEN 'Vehículos'
END AS nombre_seccion,
led_complejidad_doc.codigo_complejidad,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, LEFT(led_complejidad_doc.codigo_complejidad,1),NULL) as complejidad,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, SUBSTRING(led_complejidad_doc.codigo_complejidad,2,1),NULL) as tiempo,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, RIGHT(led_complejidad_doc.codigo_complejidad,1),NULL) as verificacion,
led_complejidad_doc.descripcion_complejidad,
users.first_name, users.last_name,
COUNT(*) AS total_docs
FROM led_tipos_doc
INNER JOIN
(select led_docs.doc_id, led_docs.tipo_doc,
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.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.tipo_doc,
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.doc_id_lista IS NULL
and led_docs.estado_doc = 'I'
and led_docs.aprobacion_parcial = 1) docs ON led_tipos_doc.tipo_doc = docs.tipo_doc
INNER JOIN DelimitedSplit8K(@lista_comp, ',') AS complej
ON led_tipos_doc.complejidad = complej.Item
INNER JOIN users ON docs.usuario = users.user_id
LEFT OUTER JOIN led_complejidad_doc on led_tipos_doc.complejidad = led_complejidad_doc.complejidad
WHERE docs.fecha_procesado BETWEEN @fecha_desde AND @fecha_hasta
AND docs.usuario = @p_user_id
GROUP BY led_tipos_doc.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.complejidad, led_tipos_doc.led_seccion,
led_complejidad_doc.codigo_complejidad, led_complejidad_doc.descripcion_complejidad,
users.first_name, users.last_name
ORDER BY led_tipos_doc.nombre_tipo_doc
END ELSE
IF (@action = 'Ingresados_cliente') BEGIN
IF (@lista_comp IS NULL)
select led_tipos_doc.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.complejidad, led_tipos_doc.led_seccion,
CASE
WHEN led_tipos_doc.led_seccion='C' THEN 'Empresa'
WHEN led_tipos_doc.led_seccion='E' THEN 'Empleados'
WHEN led_tipos_doc.led_seccion='V' THEN 'Vehículos'
END AS nombre_seccion,
led_complejidad_doc.codigo_complejidad,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, LEFT(led_complejidad_doc.codigo_complejidad,1),NULL) as complejidad,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, SUBSTRING(led_complejidad_doc.codigo_complejidad,2,1),NULL) as tiempo,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, RIGHT(led_complejidad_doc.codigo_complejidad,1),NULL) as verificacion,
led_complejidad_doc.descripcion_complejidad,
led_docs.cliente, clientes.nombre_cliente, COUNT(*) AS total_docs
from led_docs inner join clientes on led_docs.cliente = clientes.cliente
inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
LEFT OUTER JOIN led_complejidad_doc on led_tipos_doc.complejidad = led_complejidad_doc.complejidad
where led_docs.ingresado BETWEEN @fecha_desde AND @fecha_hasta
and led_docs.cliente = @p_cliente
and led_docs.doc_id_lista IS NULL
and led_docs.estado_doc IN ('I','R','V')
and led_docs.replicated_doc_id IS NULL
group by led_tipos_doc.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.complejidad, led_tipos_doc.led_seccion,
led_complejidad_doc.codigo_complejidad, led_complejidad_doc.descripcion_complejidad,
led_docs.cliente, clientes.nombre_cliente
ORDER BY led_tipos_doc.nombre_tipo_doc
ELSE
select led_tipos_doc.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.complejidad, led_tipos_doc.led_seccion,
CASE
WHEN led_tipos_doc.led_seccion='C' THEN 'Empresa'
WHEN led_tipos_doc.led_seccion='E' THEN 'Empleados'
WHEN led_tipos_doc.led_seccion='V' THEN 'Vehículos'
END AS nombre_seccion,
led_complejidad_doc.codigo_complejidad,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, LEFT(led_complejidad_doc.codigo_complejidad,1),NULL) as complejidad,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, SUBSTRING(led_complejidad_doc.codigo_complejidad,2,1),NULL) as tiempo,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, RIGHT(led_complejidad_doc.codigo_complejidad,1),NULL) as verificacion,
led_complejidad_doc.descripcion_complejidad,
led_docs.cliente, clientes.nombre_cliente, COUNT(*) AS total_docs
from led_docs inner join clientes on led_docs.cliente = clientes.cliente
inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN DelimitedSplit8K(@lista_comp, ',') AS complej
ON led_tipos_doc.complejidad = complej.Item
LEFT OUTER JOIN led_complejidad_doc on led_tipos_doc.complejidad = led_complejidad_doc.complejidad
where led_docs.ingresado BETWEEN @fecha_desde AND @fecha_hasta
and led_docs.cliente = @p_cliente
and led_docs.doc_id_lista IS NULL
and led_docs.estado_doc IN ('I','R','V')
and led_docs.replicated_doc_id IS NULL
group by led_tipos_doc.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.complejidad, led_tipos_doc.led_seccion,
led_complejidad_doc.codigo_complejidad, led_complejidad_doc.descripcion_complejidad,
led_docs.cliente, clientes.nombre_cliente
ORDER BY led_tipos_doc.nombre_tipo_doc
END ELSE
IF (@action = 'Procesados_cliente') BEGIN
IF (@lista_comp IS NULL)
SELECT led_tipos_doc.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.complejidad, led_tipos_doc.led_seccion,
CASE
WHEN led_tipos_doc.led_seccion='C' THEN 'Empresa'
WHEN led_tipos_doc.led_seccion='E' THEN 'Empleados'
WHEN led_tipos_doc.led_seccion='V' THEN 'Vehículos'
END AS nombre_seccion,
led_complejidad_doc.codigo_complejidad,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, LEFT(led_complejidad_doc.codigo_complejidad,1),NULL) as complejidad,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, SUBSTRING(led_complejidad_doc.codigo_complejidad,2,1),NULL) as tiempo,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, RIGHT(led_complejidad_doc.codigo_complejidad,1),NULL) as verificacion,
led_complejidad_doc.descripcion_complejidad,
clientes.nombre_cliente, COUNT(*) AS total_docs
FROM led_tipos_doc
INNER JOIN
(select led_docs.doc_id, led_docs.cliente, led_docs.tipo_doc,
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.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_docs.tipo_doc,
led_notificaciones.horario as fecha_procesado
from led_docs inner join led_notificaciones on
led_docs.notificacion = led_notificaciones.notificacion
where led_docs.doc_id_lista IS NULL
and led_docs.estado_doc = 'I'
and led_docs.aprobacion_parcial = 1) docs ON led_tipos_doc.tipo_doc = docs.tipo_doc
INNER JOIN clientes ON docs.cliente = clientes.cliente
LEFT OUTER JOIN led_complejidad_doc on led_tipos_doc.complejidad = led_complejidad_doc.complejidad
WHERE docs.fecha_procesado BETWEEN @fecha_desde AND @fecha_hasta
AND docs.cliente = @p_cliente
GROUP BY led_tipos_doc.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.complejidad, led_tipos_doc.led_seccion,
led_complejidad_doc.codigo_complejidad, led_complejidad_doc.descripcion_complejidad,
clientes.nombre_cliente
ORDER BY led_tipos_doc.nombre_tipo_doc
ELSE
SELECT led_tipos_doc.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.complejidad, led_tipos_doc.led_seccion,
CASE
WHEN led_tipos_doc.led_seccion='C' THEN 'Empresa'
WHEN led_tipos_doc.led_seccion='E' THEN 'Empleados'
WHEN led_tipos_doc.led_seccion='V' THEN 'Vehículos'
END AS nombre_seccion,
led_complejidad_doc.codigo_complejidad,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, LEFT(led_complejidad_doc.codigo_complejidad,1),NULL) as complejidad,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, SUBSTRING(led_complejidad_doc.codigo_complejidad,2,1),NULL) as tiempo,
iif(LEN(led_complejidad_doc.codigo_complejidad)=3, RIGHT(led_complejidad_doc.codigo_complejidad,1),NULL) as verificacion,
led_complejidad_doc.descripcion_complejidad,
clientes.nombre_cliente, COUNT(*) AS total_docs
FROM led_tipos_doc
INNER JOIN
(select led_docs.doc_id, led_docs.cliente, led_docs.tipo_doc,
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.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_docs.tipo_doc,
led_notificaciones.horario as fecha_procesado
from led_docs inner join led_notificaciones on
led_docs.notificacion = led_notificaciones.notificacion
where led_docs.doc_id_lista IS NULL
and led_docs.estado_doc = 'I'
and led_docs.aprobacion_parcial = 1) docs ON led_tipos_doc.tipo_doc = docs.tipo_doc
INNER JOIN clientes ON docs.cliente = clientes.cliente
INNER JOIN DelimitedSplit8K(@lista_comp, ',') AS complej
ON led_tipos_doc.complejidad = complej.Item
LEFT OUTER JOIN led_complejidad_doc on led_tipos_doc.complejidad = led_complejidad_doc.complejidad
WHERE docs.fecha_procesado BETWEEN @fecha_desde AND @fecha_hasta
AND docs.cliente = @p_cliente
GROUP BY led_tipos_doc.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.complejidad, led_tipos_doc.led_seccion,
led_complejidad_doc.codigo_complejidad, led_complejidad_doc.descripcion_complejidad,
clientes.nombre_cliente
ORDER BY led_tipos_doc.nombre_tipo_doc
END
END
GO
Depends On
8Used By
No items found