dbo.Imperium_reporte_semanal

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

3
Name Data Type Length Description
@cliente int 4
@periodo_desde int 4
@periodo_hasta int 4

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO

CREATE OR ALTER PROCEDURE  dbo.Imperium_reporte_semanal 
@cliente int,
@periodo_desde int,
@periodo_hasta int

AS
BEGIN

DECLARE @periodo INT
DECLARE @periodoVigente INT

SET @periodo = convert(varchar(4),datepart(year,getdate())) + RIGHT('00' +convert(varchar(2),datepart(month,getdate())),2)

SET @periodoVigente = @periodo-1
/*
SELECT @periodoVigente AS periodoVigente
*/

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 
 , left(led_docs.periodo,4) AS anio
 , right(led_docs.periodo,2) AS mes
 ,iif(led_docs.led_seccion = 'E',pe.nombre_persona,led_vehiculos.dominio) AS recurso,
  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 ENVIO'
END,
@periodo_desde as CONSULTA_DESDE,
@periodo_hasta as CONSULTA_HASTA,
@periodoVigente as PERIODO_VIGENTE
/*,
2 as CONDICION_VERDE,
5 as CONDICION_NARANJA,
6 as CONDICION_AMARILLO,
7 as CONDICION_ROJO
*/

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.vehiculo = 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
and led_docs.cliente = @cliente
and led_docs.periodo BETWEEN @periodo_desde AND @periodo_hasta
and led_docs.estado_doc in ('N','R','I')
AND led_contratistas.estado_CONTRATISTA = 'A'

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, left(led_docs.periodo,4)
 , right(led_docs.periodo,2), 
                         pe.nombre_persona, pe.identificacion,led_docs.estado_doc,led_docs.aprobacion_parcial,led_vehiculos.dominio

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 
 , left(led_docs.periodo,4) AS anio
 , right(led_docs.periodo,2) AS mes
 
 ,iif(led_docs.led_seccion = 'E',pe.nombre_persona,led_vehiculos.dominio) AS recurso,
  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 ENVIO'
     
END,
@periodo_desde as CONSULTA_DESDE,
@periodo_hasta as CONSULTA_HASTA,
@periodoVigente as PERIODO_VIGENTE
/*,
2 as CONDICION_VERDE,
5 as CONDICION_NARANJA,
6 as CONDICION_AMARILLO,
7 as CONDICION_ROJO
*/

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.vehiculo = 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') AND led_tipos_doc.tipo_doc_lista IS NULL
and led_docs.cliente = @cliente
and led_docs.periodo BETWEEN @periodo_desde AND @periodo_hasta
and led_docs.estado_doc in ('N','R','I')
/*
AND led_empleados.estado_empleado = 'A'
*/

AND led_contratistas.estado_CONTRATISTA = 'A'

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, left(led_docs.periodo,4)
 , right(led_docs.periodo,2), 
                         pe.nombre_persona, pe.identificacion,led_docs.estado_doc,led_docs.aprobacion_parcial,led_vehiculos.dominio
ORDER BY cliente asc, actividad asc, razon_social asc , led_tipos_doc.nombre_tipo_doc asc, anio, mes asc, recurso asc



/*
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 
, left(led_docs.periodo,4) AS anio
, right(led_docs.periodo,2) AS mes
, 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 ENVIO'
     
END   
/*
,led_docs.estado_doc,
*/
,
aprobacion_parcial = CASE led_docs.aprobacion_parcial   
     WHEN 1 THEN 'RECIBIDO PARCIALMENTE'
 WHEN 0 THEN NULL
END,led_vehiculos.dominio
/*   
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.vehiculo = 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
and led_docs.cliente = @cliente
and led_docs.periodo BETWEEN @periodo_desde AND @periodo_hasta
and led_docs.estado_doc in ('N','R','I')
/*
AND led_empleados.estado_empleado = 'A'
*/

AND led_contratistas.estado_CONTRATISTA = 'A'

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, left(led_docs.periodo,4)
, right(led_docs.periodo,2), 
                         pe.nombre_persona, pe.identificacion,led_docs.estado_doc,led_docs.aprobacion_parcial,led_vehiculos.dominio

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 
, left(led_docs.periodo,4) AS anio
, right(led_docs.periodo,2) AS mes
, 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 ENVIO'
     
END   
/*
,led_docs.estado_doc,
*/
,
aprobacion_parcial = CASE led_docs.aprobacion_parcial   
     WHEN 1 THEN 'RECIBIDO PARCIALMENTE'
 WHEN 0 THEN NULL
END,led_vehiculos.dominio
/*   
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.vehiculo = 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') AND led_tipos_doc.tipo_doc_lista IS NULL
and led_docs.cliente = @cliente
and led_docs.periodo BETWEEN @periodo_desde AND @periodo_hasta
and led_docs.estado_doc in ('N','R','I')
/*
AND led_empleados.estado_empleado = 'A'
*/

AND led_contratistas.estado_CONTRATISTA = 'A'

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, left(led_docs.periodo,4)
, right(led_docs.periodo,2), 
                         pe.nombre_persona, pe.identificacion,led_docs.estado_doc,led_docs.aprobacion_parcial,led_vehiculos.dominio
ORDER BY cliente asc, actividad asc, razon_social asc , led_tipos_doc.nombre_tipo_doc asc, anio, mes asc, empleado asc

*/


END

GO

Used By

No items found