dbo.Imperium_control_usuarios

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

Used By

No items found