dbo.Imperium_reporte_documentacion_LUIS

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

4
Name Data Type Length Description
@cliente int 4
@periodo int 4
@tipos_contratista varchar -1
@estado_doc varchar 10

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO

--select * from clientes were nombre_cliente like '%energy%'



CREATE OR ALTER PROCEDURE  dbo.Imperium_reporte_documentacion_LUIS 
@cliente int,
@periodo int,
@tipos_contratista varchar(max),
@estado_doc varchar(10)

AS
BEGIN


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 INGRESAR'
  WHEN 'R' THEN 'RECHAZADO'
  WHEN 'V' THEN 'VERIFICADO'
  WHEN 'I' THEN 'PENDIENTE DE INGRESAR'
END,
  iif(led_docs.aprobacion_parcial = 1 AND led_docs.estado_doc = 'I','APROBACION PARCIAL','') as Detalle,
  SQ1.INFO as INFORMACION_DOC

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 
       and led_docs.tipo_doc = led_cliente_contratista.tipo_doc)

       INNER JOIN led_tipos_contratista ON 
       (led_contratistas.tipo_contratista = led_tipos_contratista.tipo_contratista 
       AND led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista)

       INNER JOIN dbo.spListToTable_ORDERED(@tipos_contratista,',') splList ON led_tipos_contratista.tipo_contratista = splList.item

       INNER JOIN dbo.spListToTable_ORDERED(@estado_doc,',') listaEstados ON led_docs.estado_doc = listaEstados.item

       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


       LEFT OUTER JOIN
       (select led_docs.doc_id, DATOS.titulo_campo + ': ' + isnull(DATOS.valor,'') as INFO
       from led_docs 
       INNER JOIN
        (select led_docs.doc_id, 
        ISNULL(CONVERT(VARCHAR,led_campos_doc.valor_texto), 
        ISNULL(CONVERT(VARCHAR,led_campos_doc.valor_numerico), 
        CONVERT(VARCHAR,led_campos_doc.valor_fecha)) ) as valor,
        led_campos_tipo_doc.titulo_campo
        from led_docs inner join led_campos_doc
         on (led_campos_doc.tipo_doc = led_docs.tipo_doc AND led_campos_doc.doc_id = led_docs.doc_id)
        inner join led_campos_tipo_doc
         on (led_campos_doc.campo_tipo_doc = led_campos_tipo_doc.campo_tipo_doc AND led_campos_doc.tipo_doc = led_campos_tipo_doc.tipo_doc)
        where led_docs.periodo = @periodo
        and led_docs.cliente = @cliente) DATOS on led_docs.doc_id = DATOS.doc_id
        where led_docs.periodo = @periodo
        and led_docs.cliente = @cliente) SQ1 
      ON led_docs.doc_id = SQ1.doc_id



WHERE led_tipos_doc.led_seccion in ('C') 
AND led_tipos_doc.tipo_doc_lista IS NULL
and led_docs.cliente = @cliente
and led_docs.periodo =  @periodo
--and led_docs.estado_doc in (@estado_doc)
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, SQ1.INFO



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 INGRESAR'
  WHEN 'R' THEN 'RECHAZADO'
  WHEN 'V' THEN 'VERIFICADO'
  WHEN 'I' THEN 'PENDIENTE DE INGRESAR'
END,
  iif(led_docs.aprobacion_parcial = 1 AND led_docs.estado_doc = 'I','APROBACION PARCIAL','') as Detalle,
  SQ1.INFO as INFORMACION_DOC

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_empleados ON led_empleados.empleado = led_docs.empleado 
       INNER JOIN padrones AS pe ON led_empleados.id_padron = pe.id_padron

       INNER JOIN led_cliente_empleado ON
       (led_cliente_contratista.cliente = led_cliente_empleado.cliente
       and led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
       AND led_docs.tipo_doc = led_cliente_empleado.tipo_doc)
       
       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 

       INNER JOIN dbo.spListToTable_ORDERED(@tipos_contratista,',') splList ON led_tipos_contratista.tipo_contratista = splList.item

       INNER JOIN dbo.spListToTable_ORDERED(@estado_doc,',') listaEstados ON led_docs.estado_doc = listaEstados.item

       LEFT OUTER JOIN led_vehiculos ON led_vehiculos.vehiculo = led_docs.vehiculo 


       LEFT OUTER JOIN
       (select led_docs.doc_id, DATOS.titulo_campo + ': ' + isnull(DATOS.valor,'') as INFO
       from led_docs 
       INNER JOIN
        (select led_docs.doc_id, 
        ISNULL(CONVERT(VARCHAR,led_campos_doc.valor_texto), 
        ISNULL(CONVERT(VARCHAR,led_campos_doc.valor_numerico), 
        CONVERT(VARCHAR,led_campos_doc.valor_fecha)) ) as valor,
        led_campos_tipo_doc.titulo_campo
        from led_docs inner join led_campos_doc
         on (led_campos_doc.tipo_doc = led_docs.tipo_doc AND led_campos_doc.doc_id = led_docs.doc_id)
        inner join led_campos_tipo_doc
         on (led_campos_doc.campo_tipo_doc = led_campos_tipo_doc.campo_tipo_doc AND led_campos_doc.tipo_doc = led_campos_tipo_doc.tipo_doc)
        where led_docs.periodo = @periodo
        and led_docs.cliente = @cliente) DATOS on led_docs.doc_id = DATOS.doc_id
        where led_docs.periodo = @periodo
        and led_docs.cliente = @cliente) SQ1 
      ON led_docs.doc_id = SQ1.doc_id



WHERE led_tipos_doc.led_seccion in ('E') 
AND led_tipos_doc.tipo_doc_lista IS NULL
and led_docs.cliente = @cliente
and led_docs.periodo =  @periodo
--and led_docs.estado_doc in (@estado_doc)
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, SQ1.INFO





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 INGRESAR'
  WHEN 'R' THEN 'RECHAZADO'
  WHEN 'V' THEN 'VERIFICADO'
  WHEN 'I' THEN 'PENDIENTE DE INGRESAR'
END,
  iif(led_docs.aprobacion_parcial = 1 AND led_docs.estado_doc = 'I','APROBACION PARCIAL','') as Detalle,
  SQ1.INFO as INFORMACION_DOC

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_vehiculos ON led_vehiculos.vehiculo = led_docs.vehiculo 

       INNER JOIN led_cliente_vehiculo ON
       (led_cliente_contratista.cliente = led_cliente_vehiculo.cliente
       and led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
       AND led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc)
       
       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 

       INNER JOIN dbo.spListToTable_ORDERED(@tipos_contratista,',') splList ON led_tipos_contratista.tipo_contratista = splList.item

       INNER JOIN dbo.spListToTable_ORDERED(@estado_doc,',') listaEstados ON led_docs.estado_doc = listaEstados.item

       LEFT OUTER JOIN led_empleados ON led_empleados.empleado = led_docs.empleado 
       LEFT OUTER JOIN padrones AS pe ON led_empleados.id_padron = pe.id_padron


       LEFT OUTER JOIN
       (select led_docs.doc_id, DATOS.titulo_campo + ': ' + isnull(DATOS.valor,'') as INFO
       from led_docs 
       INNER JOIN
        (select led_docs.doc_id, 
        ISNULL(CONVERT(VARCHAR,led_campos_doc.valor_texto), 
        ISNULL(CONVERT(VARCHAR,led_campos_doc.valor_numerico), 
        CONVERT(VARCHAR,led_campos_doc.valor_fecha)) ) as valor,
        led_campos_tipo_doc.titulo_campo
        from led_docs inner join led_campos_doc
         on (led_campos_doc.tipo_doc = led_docs.tipo_doc AND led_campos_doc.doc_id = led_docs.doc_id)
        inner join led_campos_tipo_doc
         on (led_campos_doc.campo_tipo_doc = led_campos_tipo_doc.campo_tipo_doc AND led_campos_doc.tipo_doc = led_campos_tipo_doc.tipo_doc)
        where led_docs.periodo = @periodo
        and led_docs.cliente = @cliente) DATOS on led_docs.doc_id = DATOS.doc_id
        where led_docs.periodo = @periodo
        and led_docs.cliente = @cliente) SQ1 
      ON led_docs.doc_id = SQ1.doc_id



WHERE led_tipos_doc.led_seccion in ('V') 
AND led_tipos_doc.tipo_doc_lista IS NULL
and led_docs.cliente = @cliente
and led_docs.periodo =  @periodo
--and led_docs.estado_doc in (@estado_doc)
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, SQ1.INFO





ORDER BY cliente asc, actividad asc, razon_social asc , led_tipos_doc.nombre_tipo_doc asc, anio, mes asc, recurso asc


END
GO

Used By

No items found