Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
2| Name | Data Type | Length | Description |
|---|---|---|---|
| @desde | datetime | 8 | |
| @hasta | datetime | 8 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
/*
exec Imperium_control_usuarios '2017-08-23 00:00:00','2017-09-15 23:59:59'
*/
CREATE OR ALTER PROCEDURE dbo.Imperium_control_usuarios
@desde datetime,
@hasta datetime
AS
BEGIN
SELECT padrones_2.nombre_persona AS cliente, padrones.nombre_persona AS contratista,
padrones_1.nombre_persona AS Empleado,led_tipos_doc.nombre_tipo_doc,
ESTADO = CASE led_docs.estado_doc
WHEN 'N' THEN 'PENDIENTE DE ENVIO'
WHEN 'R' THEN 'RECHAZADO'
WHEN 'V' THEN 'RECIBIDO'
WHEN 'I' THEN 'PENDIENTE DE VERIFICACION'
END , aprobacion_parcial = CASE led_docs.aprobacion_parcial
WHEN 1 THEN 'RECIBIDO PARCIALMENTE'
WHEN 0 THEN NULL
END,
users1.username AS VERIFICADO_POR,
users2.username AS RECHAZADO_POR,
led_docs.ingresado, led_docs.verificado,led_docs.rechazado, led_docs.periodo, led_secciones.nombre_seccion,
TOTAL_RECURSOS = CASE WHEN led_tipos_doc.validar_lista_cuil > 0 THEN emp.total_empleados
ELSE CASE WHEN led_tipos_doc.validar_lista_dominios > 0 THEN veh.total_vehiculos
ELSE NULL END END
FROM clientes INNER JOIN
led_docs INNER JOIN
led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc INNER JOIN
led_contratistas ON led_docs.contratista = led_contratistas.contratista INNER JOIN
led_secciones ON led_docs.led_seccion = led_secciones.led_seccion
INNER JOIN
padrones ON led_contratistas.id_padron = padrones.id_padron ON clientes.cliente = led_docs.cliente INNER JOIN
padrones AS padrones_2 ON clientes.numero = padrones_2.identificacion LEFT OUTER JOIN
padrones AS padrones_1 INNER JOIN
led_empleados ON padrones_1.id_padron = led_empleados.id_padron ON led_docs.empleado = led_empleados.empleado LEFT OUTER JOIN
led_vehiculos ON led_docs.vehiculo = led_vehiculos.vehiculo
LEFT OUTER JOIN users AS users1 ON led_docs.verificado_por = users1.user_id
LEFT OUTER JOIN users AS users2 ON led_docs.rechazado_por = users2.user_id
left outer join
(select led_empleados.contratista, led_empleados_periodo.periodo, count(*) as total_empleados
from led_empleados inner join led_empleados_periodo on
led_empleados.empleado = led_empleados_periodo.empleado
group by led_empleados.contratista, led_empleados_periodo.periodo) emp
ON (led_docs.contratista = emp.contratista AND led_docs.periodo = emp.periodo)
left outer join
(select led_vehiculos.contratista, led_vehiculos_periodo.periodo, count(*) as total_vehiculos
from led_vehiculos inner join led_vehiculos_periodo on
led_vehiculos.vehiculo = led_vehiculos_periodo.vehiculo
group by led_vehiculos.contratista, led_vehiculos_periodo.periodo) veh
ON (led_docs.contratista = veh.contratista AND led_docs.periodo = veh.periodo)
WHERE /* (led_docs.verificado_por IN (83602561, 35426548, 34089269, 5546717, 59975930, 76475404, 28750576, 19160464, 44240542, 15342812)) */
(led_docs.doc_id_lista IS NULL)
AND ((led_docs.verificado BETWEEN @desde AND @hasta) or (led_docs.rechazado BETWEEN @desde AND @hasta))
/*
and led_docs.verificado_por = 65235178 or led_docs.rechazado_por = 65235178
*/
ORDER BY led_docs.verificado, VERIFICADO_POR, cliente, contratista, Empleado
/*
SELECT DISTINCT
clientes.nombre_cliente AS cliente, led_tipos_contratista.nombre_tipo_contratista AS actividad, padrones.nombre_persona AS razon_social,
padrones.identificacion AS cuit, led_tipos_doc.nombre_tipo_doc,
SECCION = CASE led_docs.led_seccion
WHEN 'C' THEN 'CONTRATISTAS'
WHEN 'S' THEN 'SUB CONTRATISTAS'
WHEN 'E' THEN 'EMPLEADOS'
WHEN 'V' THEN 'VEHICULOS'
END
, (right(led_docs.periodo,2) + '/' + left(led_docs.periodo,4)) AS periodo
, pe.nombre_persona AS empleado, pe.identificacion AS cuit_empleado,ESTADO = CASE led_docs.estado_doc
WHEN 'N' THEN 'PENDIENTE DE ENVIO'
WHEN 'R' THEN 'RECHAZADO'
WHEN 'V' THEN 'RECIBIDO'
WHEN 'I' THEN 'PENDIENTE DE VERIFICACION'
END
/*
,led_docs.estado_doc,
*/,
aprobacion_parcial = CASE led_docs.aprobacion_parcial
WHEN 1 THEN 'RECIBIDO PARCIALMENTE'
WHEN 0 THEN NULL
END
/*
led_docs.aprobacion_parcial
*/
FROM led_cliente_contratista INNER JOIN
clientes ON led_cliente_contratista.cliente = clientes.cliente INNER JOIN
led_contratistas ON led_cliente_contratista.cliente = led_contratistas.cliente INNER JOIN
padrones ON padrones.id_padron = led_contratistas.id_padron INNER JOIN
led_docs ON led_contratistas.contratista = led_docs.contratista INNER JOIN
led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc INNER JOIN
led_tipos_contratista ON led_contratistas.tipo_contratista = led_tipos_contratista.tipo_contratista LEFT OUTER JOIN
led_empleados ON led_empleados.empleado = led_docs.empleado LEFT OUTER JOIN
led_vehiculos ON led_vehiculos.contratista = led_docs.vehiculo LEFT OUTER JOIN
padrones AS pe ON led_empleados.id_padron = pe.id_padron
WHERE led_tipos_doc.led_seccion = 'C' AND led_tipos_doc.tipo_doc_lista IS NULL
GROUP BY clientes.nombre_cliente, led_tipos_contratista.nombre_tipo_contratista, padrones.nombre_persona, padrones.identificacion, led_tipos_doc.nombre_tipo_doc, led_docs.led_seccion, led_docs.periodo,
pe.nombre_persona, pe.identificacion,led_docs.estado_doc,led_docs.aprobacion_parcial
UNION ALL
SELECT DISTINCT
clientes.nombre_cliente AS cliente, led_tipos_contratista.nombre_tipo_contratista AS actividad, padrones.nombre_persona AS razon_social,
padrones.identificacion AS cuit, led_tipos_doc.nombre_tipo_doc,
SECCION = CASE led_docs.led_seccion
WHEN 'C' THEN 'CONTRATISTAS'
WHEN 'S' THEN 'SUB CONTRATISTAS'
WHEN 'E' THEN 'EMPLEADOS'
WHEN 'V' THEN 'VEHICULOS'
END
, (right(led_docs.periodo,2) + '/' + left(led_docs.periodo,4)) AS periodo
, pe.nombre_persona AS empleado, pe.identificacion AS cuit_empleado,ESTADO = CASE led_docs.estado_doc
WHEN 'N' THEN 'PENDIENTE DE ENVIO'
WHEN 'R' THEN 'RECHAZADO'
WHEN 'V' THEN 'RECIBIDO'
WHEN 'I' THEN 'PENDIENTE DE VERIFICACION'
END
/*
,led_docs.estado_doc,
*/,
aprobacion_parcial = CASE led_docs.aprobacion_parcial
WHEN 1 THEN 'RECIBIDO PARCIALMENTE'
WHEN 0 THEN NULL
END
/*
led_docs.aprobacion_parcial
*/
FROM led_cliente_contratista INNER JOIN
clientes ON led_cliente_contratista.cliente = clientes.cliente INNER JOIN
led_contratistas ON led_cliente_contratista.cliente = led_contratistas.cliente INNER JOIN
padrones ON padrones.id_padron = led_contratistas.id_padron INNER JOIN
led_docs ON led_contratistas.contratista = led_docs.contratista INNER JOIN
led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc INNER JOIN
led_tipos_contratista ON led_contratistas.tipo_contratista = led_tipos_contratista.tipo_contratista LEFT OUTER JOIN
led_empleados ON led_empleados.empleado = led_docs.empleado LEFT OUTER JOIN
led_vehiculos ON led_vehiculos.contratista = led_docs.vehiculo LEFT OUTER JOIN
padrones AS pe ON led_empleados.id_padron = pe.id_padron
WHERE led_tipos_doc.led_seccion IN ('E', 'V')
GROUP BY clientes.nombre_cliente, led_tipos_contratista.nombre_tipo_contratista, padrones.nombre_persona, padrones.identificacion, led_tipos_doc.nombre_tipo_doc, led_docs.led_seccion, led_docs.periodo,
pe.nombre_persona, pe.identificacion,led_docs.estado_doc,led_docs.aprobacion_parcial
ORDER BY cliente asc, actividad asc, razon_social asc , led_tipos_doc.nombre_tipo_doc asc, periodo asc, empleado asc
*/
END
GO
GO
/*
exec Imperium_control_usuarios '2017-08-23 00:00:00','2017-09-15 23:59:59'
*/
CREATE OR ALTER PROCEDURE dbo.Imperium_control_usuarios
@desde datetime,
@hasta datetime
AS
BEGIN
SELECT padrones_2.nombre_persona AS cliente, padrones.nombre_persona AS contratista,
padrones_1.nombre_persona AS Empleado,led_tipos_doc.nombre_tipo_doc,
ESTADO = CASE led_docs.estado_doc
WHEN 'N' THEN 'PENDIENTE DE ENVIO'
WHEN 'R' THEN 'RECHAZADO'
WHEN 'V' THEN 'RECIBIDO'
WHEN 'I' THEN 'PENDIENTE DE VERIFICACION'
END , aprobacion_parcial = CASE led_docs.aprobacion_parcial
WHEN 1 THEN 'RECIBIDO PARCIALMENTE'
WHEN 0 THEN NULL
END,
users1.username AS VERIFICADO_POR,
users2.username AS RECHAZADO_POR,
led_docs.ingresado, led_docs.verificado,led_docs.rechazado, led_docs.periodo, led_secciones.nombre_seccion,
TOTAL_RECURSOS = CASE WHEN led_tipos_doc.validar_lista_cuil > 0 THEN emp.total_empleados
ELSE CASE WHEN led_tipos_doc.validar_lista_dominios > 0 THEN veh.total_vehiculos
ELSE NULL END END
FROM clientes INNER JOIN
led_docs INNER JOIN
led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc INNER JOIN
led_contratistas ON led_docs.contratista = led_contratistas.contratista INNER JOIN
led_secciones ON led_docs.led_seccion = led_secciones.led_seccion
INNER JOIN
padrones ON led_contratistas.id_padron = padrones.id_padron ON clientes.cliente = led_docs.cliente INNER JOIN
padrones AS padrones_2 ON clientes.numero = padrones_2.identificacion LEFT OUTER JOIN
padrones AS padrones_1 INNER JOIN
led_empleados ON padrones_1.id_padron = led_empleados.id_padron ON led_docs.empleado = led_empleados.empleado LEFT OUTER JOIN
led_vehiculos ON led_docs.vehiculo = led_vehiculos.vehiculo
LEFT OUTER JOIN users AS users1 ON led_docs.verificado_por = users1.user_id
LEFT OUTER JOIN users AS users2 ON led_docs.rechazado_por = users2.user_id
left outer join
(select led_empleados.contratista, led_empleados_periodo.periodo, count(*) as total_empleados
from led_empleados inner join led_empleados_periodo on
led_empleados.empleado = led_empleados_periodo.empleado
group by led_empleados.contratista, led_empleados_periodo.periodo) emp
ON (led_docs.contratista = emp.contratista AND led_docs.periodo = emp.periodo)
left outer join
(select led_vehiculos.contratista, led_vehiculos_periodo.periodo, count(*) as total_vehiculos
from led_vehiculos inner join led_vehiculos_periodo on
led_vehiculos.vehiculo = led_vehiculos_periodo.vehiculo
group by led_vehiculos.contratista, led_vehiculos_periodo.periodo) veh
ON (led_docs.contratista = veh.contratista AND led_docs.periodo = veh.periodo)
WHERE /* (led_docs.verificado_por IN (83602561, 35426548, 34089269, 5546717, 59975930, 76475404, 28750576, 19160464, 44240542, 15342812)) */
(led_docs.doc_id_lista IS NULL)
AND ((led_docs.verificado BETWEEN @desde AND @hasta) or (led_docs.rechazado BETWEEN @desde AND @hasta))
/*
and led_docs.verificado_por = 65235178 or led_docs.rechazado_por = 65235178
*/
ORDER BY led_docs.verificado, VERIFICADO_POR, cliente, contratista, Empleado
/*
SELECT DISTINCT
clientes.nombre_cliente AS cliente, led_tipos_contratista.nombre_tipo_contratista AS actividad, padrones.nombre_persona AS razon_social,
padrones.identificacion AS cuit, led_tipos_doc.nombre_tipo_doc,
SECCION = CASE led_docs.led_seccion
WHEN 'C' THEN 'CONTRATISTAS'
WHEN 'S' THEN 'SUB CONTRATISTAS'
WHEN 'E' THEN 'EMPLEADOS'
WHEN 'V' THEN 'VEHICULOS'
END
, (right(led_docs.periodo,2) + '/' + left(led_docs.periodo,4)) AS periodo
, pe.nombre_persona AS empleado, pe.identificacion AS cuit_empleado,ESTADO = CASE led_docs.estado_doc
WHEN 'N' THEN 'PENDIENTE DE ENVIO'
WHEN 'R' THEN 'RECHAZADO'
WHEN 'V' THEN 'RECIBIDO'
WHEN 'I' THEN 'PENDIENTE DE VERIFICACION'
END
/*
,led_docs.estado_doc,
*/,
aprobacion_parcial = CASE led_docs.aprobacion_parcial
WHEN 1 THEN 'RECIBIDO PARCIALMENTE'
WHEN 0 THEN NULL
END
/*
led_docs.aprobacion_parcial
*/
FROM led_cliente_contratista INNER JOIN
clientes ON led_cliente_contratista.cliente = clientes.cliente INNER JOIN
led_contratistas ON led_cliente_contratista.cliente = led_contratistas.cliente INNER JOIN
padrones ON padrones.id_padron = led_contratistas.id_padron INNER JOIN
led_docs ON led_contratistas.contratista = led_docs.contratista INNER JOIN
led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc INNER JOIN
led_tipos_contratista ON led_contratistas.tipo_contratista = led_tipos_contratista.tipo_contratista LEFT OUTER JOIN
led_empleados ON led_empleados.empleado = led_docs.empleado LEFT OUTER JOIN
led_vehiculos ON led_vehiculos.contratista = led_docs.vehiculo LEFT OUTER JOIN
padrones AS pe ON led_empleados.id_padron = pe.id_padron
WHERE led_tipos_doc.led_seccion = 'C' AND led_tipos_doc.tipo_doc_lista IS NULL
GROUP BY clientes.nombre_cliente, led_tipos_contratista.nombre_tipo_contratista, padrones.nombre_persona, padrones.identificacion, led_tipos_doc.nombre_tipo_doc, led_docs.led_seccion, led_docs.periodo,
pe.nombre_persona, pe.identificacion,led_docs.estado_doc,led_docs.aprobacion_parcial
UNION ALL
SELECT DISTINCT
clientes.nombre_cliente AS cliente, led_tipos_contratista.nombre_tipo_contratista AS actividad, padrones.nombre_persona AS razon_social,
padrones.identificacion AS cuit, led_tipos_doc.nombre_tipo_doc,
SECCION = CASE led_docs.led_seccion
WHEN 'C' THEN 'CONTRATISTAS'
WHEN 'S' THEN 'SUB CONTRATISTAS'
WHEN 'E' THEN 'EMPLEADOS'
WHEN 'V' THEN 'VEHICULOS'
END
, (right(led_docs.periodo,2) + '/' + left(led_docs.periodo,4)) AS periodo
, pe.nombre_persona AS empleado, pe.identificacion AS cuit_empleado,ESTADO = CASE led_docs.estado_doc
WHEN 'N' THEN 'PENDIENTE DE ENVIO'
WHEN 'R' THEN 'RECHAZADO'
WHEN 'V' THEN 'RECIBIDO'
WHEN 'I' THEN 'PENDIENTE DE VERIFICACION'
END
/*
,led_docs.estado_doc,
*/,
aprobacion_parcial = CASE led_docs.aprobacion_parcial
WHEN 1 THEN 'RECIBIDO PARCIALMENTE'
WHEN 0 THEN NULL
END
/*
led_docs.aprobacion_parcial
*/
FROM led_cliente_contratista INNER JOIN
clientes ON led_cliente_contratista.cliente = clientes.cliente INNER JOIN
led_contratistas ON led_cliente_contratista.cliente = led_contratistas.cliente INNER JOIN
padrones ON padrones.id_padron = led_contratistas.id_padron INNER JOIN
led_docs ON led_contratistas.contratista = led_docs.contratista INNER JOIN
led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc INNER JOIN
led_tipos_contratista ON led_contratistas.tipo_contratista = led_tipos_contratista.tipo_contratista LEFT OUTER JOIN
led_empleados ON led_empleados.empleado = led_docs.empleado LEFT OUTER JOIN
led_vehiculos ON led_vehiculos.contratista = led_docs.vehiculo LEFT OUTER JOIN
padrones AS pe ON led_empleados.id_padron = pe.id_padron
WHERE led_tipos_doc.led_seccion IN ('E', 'V')
GROUP BY clientes.nombre_cliente, led_tipos_contratista.nombre_tipo_contratista, padrones.nombre_persona, padrones.identificacion, led_tipos_doc.nombre_tipo_doc, led_docs.led_seccion, led_docs.periodo,
pe.nombre_persona, pe.identificacion,led_docs.estado_doc,led_docs.aprobacion_parcial
ORDER BY cliente asc, actividad asc, razon_social asc , led_tipos_doc.nombre_tipo_doc asc, periodo asc, empleado asc
*/
END
GO
Depends On
11Used By
No items found