dbo.Imperium_reporte_documentacion_FULL

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

7
Name Data Type Length Description
@cliente int 4
@periodo_desde int 4
@periodo_hasta int 4
@tipos_contratista varchar -1
@estado_doc varchar 10
@vencimiento_desde datetime 8
@vencimiento_hasta datetime 8

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO

-- exec Imperium_reporte_documentacion_FULL 2028732,202304,202403,null,'V,I,N,R',null,null
-- EXEC Imperium_reporte_documentacion_full 7048064,'202405','202405',null,'V,N,I,R',null,null
-- EXEC Imperium_reporte_documentacion_full 9936068,202403,202502,NULL,'N,I,R'

CREATE OR ALTER PROCEDURE  dbo.Imperium_reporte_documentacion_FULL 
@cliente int,
@periodo_desde int,
@periodo_hasta int,
@tipos_contratista varchar(max),
@estado_doc varchar(10) = null,
@vencimiento_desde datetime = null,
@vencimiento_hasta datetime = null

AS
BEGIN

IF (@estado_doc IS NULL)
BEGIN
 set @estado_doc = 'I,N,R'
END
if (@cliente = 70480640)
begin
 set @cliente = 0
end


--set @estado_doc = 'I,N,R' 


IF (@CLIENTE = 9936068)
BEGIN
--select * from clientes where nombre_cliente like '%akapol%'

/*declare @cliente int = 9936068
declare @estado_doc varchar(10)= 'N,I,R'
declare @periodo_desde INT = '202301'
declare @periodo_hasta INT = '202307'
*/

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_contratistas.codigo_interno as CODIGO_INTERNO,
  CASE WHEN led_contratistas.estado_contratista = 'A' then 'ACTIVO' else 'NO ACTIVO' END as ESTADO_CONTRATISTA,
  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, 
   NULL AS ESTADO_RECURSO,
      convert(date,led_docs.fecha_tolerancia) as FECHA_TOLERANCIA,

   CONVERT(VARCHAR(10),led_docs.fecha_tolerancia,103) as VTO_CARGA,
 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 VERIFICAR'
 END,
   iif(led_docs.aprobacion_parcial = 1 AND led_docs.estado_doc = 'I','APROBACION PARCIAL','') as DETALLE,
   SQ1.INFO as INFORMACION_DOC,
   NULL as TIPO_RECURSO
   /*,iif(led_cliente_contratista.verificacion='C','CLIENTE','FIDELITAS') AS QUIEN_VERIFICA */


 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_contratista_periodo on (led_docs.contratista_1 = led_contratista_periodo.contratista
                 and led_docs.periodo = led_contratista_periodo.periodo)
       
        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 ln_contrapartes on ln_contrapartes.id_imperium=led_contratistas.contratista 

        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 BETWEEN  @periodo_desde AND @periodo_hasta
         and led_docs.cliente = @cliente) DATOS on led_docs.doc_id = DATOS.doc_id
        where led_docs.periodo BETWEEN  @periodo_desde AND @periodo_hasta
        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 BETWEEN  @periodo_desde AND @periodo_hasta
 --and led_docs.fecha_tolerancia BETWEEN @vencimiento_desde AND @vencimiento_hasta
 --and led_docs.estado_doc in (@estado_doc)
 AND led_contratistas.estado_CONTRATISTA = 'A'
 and ln_contrapartes.activo=1 
-- and led_cliente_contratista.verificacion='F'
 GROUP BY clientes.nombre_cliente, led_tipos_contratista.nombre_tipo_contratista, led_contratistas.estado_contratista, led_contratistas.codigo_interno, 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.fecha_tolerancia,led_docs.estado_doc,led_docs.aprobacion_parcial,led_vehiculos.dominio, SQ1.INFO ,led_cliente_contratista.verificacion

 UNION



 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_contratistas.codigo_interno as CODIGO_INTERNO,
  CASE WHEN led_contratistas.estado_contratista = 'A' then 'ACTIVO' else 'NO ACTIVO' END as ESTADO_CONTRATISTA,
  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, 
  
   CASE WHEN led_empleados.estado_empleado = 'A' then 'ACTIVO' else 'NO ACTIVO' end as ESTADO_RECURSO,
      convert(date,led_docs.fecha_tolerancia) as FECHA_TOLERANCIA,

   CONVERT(VARCHAR(10),led_docs.fecha_tolerancia,103) as VTO_CARGA,
   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 VERIFICAR'
 END,
   iif(led_docs.aprobacion_parcial = 1 AND led_docs.estado_doc = 'I','APROBACION PARCIAL','') as DETALLE,
   SQ1.INFO as INFORMACION_DOC,
   led_tipos_empleado.nombre_tipo_empleado as TIPO_RECURSO
   /*,iif(led_cliente_contratista.verificacion='C','CLIENTE','FIDELITAS') AS QUIEN_VERIFICA */


 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 
        LEFT OUTER JOIN led_tipos_empleado ON led_empleados.tipo_empleado = led_tipos_empleado.tipo_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 ln_contrapartes on ln_contrapartes.id_imperium=led_contratistas.contratista 

        INNER JOIN led_empleados_periodo on (led_docs.empleado = led_empleados_periodo.empleado
                 and led_docs.periodo = led_empleados_periodo.periodo)
       
        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(@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 BETWEEN  @periodo_desde AND @periodo_hasta
         and led_docs.cliente = @cliente) DATOS on led_docs.doc_id = DATOS.doc_id
        where led_docs.periodo BETWEEN  @periodo_desde AND @periodo_hasta
        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 BETWEEN  @periodo_desde AND @periodo_hasta
 --and led_docs.fecha_tolerancia BETWEEN @vencimiento_desde AND @vencimiento_hasta
 --and led_docs.estado_doc in (@estado_doc)
 AND led_contratistas.estado_CONTRATISTA = 'A'
 and ln_contrapartes.activo=1 
 --and led_cliente_contratista.verificacion='F'
 GROUP BY clientes.nombre_cliente, led_tipos_contratista.nombre_tipo_contratista, led_contratistas.codigo_interno, led_contratistas.estado_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), led_empleados.estado_empleado,
  pe.nombre_persona, pe.identificacion,led_docs.fecha_tolerancia,led_docs.estado_doc,led_docs.aprobacion_parcial,led_vehiculos.dominio, SQ1.INFO,    led_tipos_empleado.nombre_tipo_empleado  ,led_cliente_contratista.verificacion






 UNION



 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_contratistas.codigo_interno as CODIGO_INTERNO,
  CASE WHEN led_contratistas.estado_contratista = 'A' then 'ACTIVO' else 'NO ACTIVO' END as ESTADO_CONTRATISTA,
  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,

  NULL AS CUIT_EMPLEADO,
  CASE WHEN led_vehiculos.estado_vehiculo = 'A' then 'ACTIVO' else 'NO ACTIVO' end as ESTADO_RECURSO,
     convert(date,led_docs.fecha_tolerancia) as FECHA_TOLERANCIA,

    CONVERT(VARCHAR(10),led_docs.fecha_tolerancia,103) as VTO_CARGA,
   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 VERIFICAR'
 END,
   iif(led_docs.aprobacion_parcial = 1 AND led_docs.estado_doc = 'I','APROBACION PARCIAL','') as DETALLE,
   SQ1.INFO as INFORMACION_DOC, 
   led_tipos_vehiculo.nombre_tipo_vehiculo as TIPO_RECURSO
   /*,iif(led_cliente_contratista.verificacion='C','CLIENTE','FIDELITAS') AS QUIEN_VERIFICA */


 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 

        LEFT OUTER JOIN led_tipos_vehiculo ON led_vehiculos.tipo_vehiculo = led_tipos_vehiculo.tipo_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_vehiculos_periodo on (led_docs.vehiculo = led_vehiculos_periodo.vehiculo
                 and led_docs.periodo = led_vehiculos_periodo.periodo)
       inner join ln_contrapartes on ln_contrapartes.id_imperium=led_contratistas.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 


        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 BETWEEN  @periodo_desde AND @periodo_hasta
         and led_docs.cliente = @cliente) DATOS on led_docs.doc_id = DATOS.doc_id
        where led_docs.periodo BETWEEN  @periodo_desde AND @periodo_hasta
        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 BETWEEN  @periodo_desde AND @periodo_hasta
 --and led_docs.fecha_tolerancia BETWEEN @vencimiento_desde AND @vencimiento_hasta
 --and led_docs.estado_doc in (@estado_doc)
 AND led_contratistas.estado_CONTRATISTA = 'A'
 and ln_contrapartes.activo=1
 --and led_cliente_contratista.verificacion='F'
 GROUP BY clientes.nombre_cliente, led_tipos_contratista.nombre_tipo_contratista, led_contratistas.codigo_interno, led_contratistas.estado_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), led_vehiculos.estado_vehiculo,
  pe.nombre_persona, pe.identificacion,led_docs.fecha_tolerancia,led_docs.estado_doc,led_docs.aprobacion_parcial,led_vehiculos.dominio, SQ1.INFO, 
     led_tipos_vehiculo.nombre_tipo_vehiculo,led_cliente_contratista.verificacion

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



END



if (@tipos_contratista is not null and @cliente !=9936068 ) 

 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_contratistas.codigo_interno as CODIGO_INTERNO,
  CASE WHEN led_contratistas.estado_contratista = 'A' then 'ACTIVO' else 'NO ACTIVO' END as ESTADO_CONTRATISTA,
  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, 
   NULL AS ESTADO_RECURSO,
   convert(date,led_docs.fecha_tolerancia) as FECHA_TOLERANCIA,
   CONVERT(VARCHAR(10),led_docs.fecha_tolerancia,103) as VTO_CARGA,
 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 VERIFICAR'
 END,
   iif(led_docs.aprobacion_parcial = 1 AND led_docs.estado_doc = 'I','APROBACION PARCIAL','') as DETALLE,
   SQ1.INFO as INFORMACION_DOC,
   NULL as TIPO_RECURSO 

 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_contratista_periodo on (led_docs.contratista_1 = led_contratista_periodo.contratista
                 and led_docs.periodo = led_contratista_periodo.periodo)
       
        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 BETWEEN  @periodo_desde AND @periodo_hasta
         and led_docs.cliente = @cliente) DATOS on led_docs.doc_id = DATOS.doc_id
        where led_docs.periodo BETWEEN  @periodo_desde AND @periodo_hasta
        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 BETWEEN  @periodo_desde AND @periodo_hasta
 --and led_docs.fecha_tolerancia BETWEEN @vencimiento_desde AND @vencimiento_hasta
 --and led_docs.estado_doc in (@estado_doc)
 --AND led_contratistas.estado_CONTRATISTA = 'A'
 and led_cliente_contratista.verificacion='F'
 GROUP BY clientes.nombre_cliente, led_tipos_contratista.nombre_tipo_contratista, led_contratistas.estado_contratista, led_contratistas.codigo_interno, 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.fecha_tolerancia,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_contratistas.codigo_interno as CODIGO_INTERNO,
  CASE WHEN led_contratistas.estado_contratista = 'A' then 'ACTIVO' else 'NO ACTIVO' END as ESTADO_CONTRATISTA,
  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, 
  
   CASE WHEN led_empleados.estado_empleado = 'A' then 'ACTIVO' else 'NO ACTIVO' end as ESTADO_RECURSO,
   convert(date,led_docs.fecha_tolerancia) as FECHA_TOLERANCIA,

   CONVERT(VARCHAR(10),led_docs.fecha_tolerancia,103) as VTO_CARGA,
   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 VERIFICAR'
 END,
   iif(led_docs.aprobacion_parcial = 1 AND led_docs.estado_doc = 'I','APROBACION PARCIAL','') as DETALLE,
   SQ1.INFO as INFORMACION_DOC,
   led_tipos_empleado.nombre_tipo_empleado as TIPO_RECURSO

 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 
        LEFT OUTER JOIN led_tipos_empleado ON led_empleados.tipo_empleado = led_tipos_empleado.tipo_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_empleados_periodo on (led_docs.empleado = led_empleados_periodo.empleado
                 and led_docs.periodo = led_empleados_periodo.periodo)
       
        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 BETWEEN  @periodo_desde AND @periodo_hasta
         and led_docs.cliente = @cliente) DATOS on led_docs.doc_id = DATOS.doc_id
        where led_docs.periodo BETWEEN  @periodo_desde AND @periodo_hasta
        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 BETWEEN  @periodo_desde AND @periodo_hasta
 --and led_docs.fecha_tolerancia BETWEEN @vencimiento_desde AND @vencimiento_hasta
 --and led_docs.estado_doc in (@estado_doc)
 --AND led_contratistas.estado_CONTRATISTA = 'A'
 and led_cliente_contratista.verificacion='F'
 GROUP BY clientes.nombre_cliente, led_tipos_contratista.nombre_tipo_contratista, led_contratistas.codigo_interno, led_contratistas.estado_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), led_empleados.estado_empleado,
  pe.nombre_persona, pe.identificacion,led_docs.fecha_tolerancia,led_docs.estado_doc,led_docs.aprobacion_parcial,led_vehiculos.dominio, SQ1.INFO, 
   led_tipos_empleado.nombre_tipo_empleado





 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_contratistas.codigo_interno as CODIGO_INTERNO,
  CASE WHEN led_contratistas.estado_contratista = 'A' then 'ACTIVO' else 'NO ACTIVO' END as ESTADO_CONTRATISTA,
  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,

  NULL AS CUIT_EMPLEADO,
  CASE WHEN led_vehiculos.estado_vehiculo = 'A' then 'ACTIVO' else 'NO ACTIVO' end as ESTADO_RECURSO,
     convert(date,led_docs.fecha_tolerancia) as FECHA_TOLERANCIA,

    CONVERT(VARCHAR(10),led_docs.fecha_tolerancia,103) as VTO_CARGA,
   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 VERIFICAR'
 END,
   iif(led_docs.aprobacion_parcial = 1 AND led_docs.estado_doc = 'I','APROBACION PARCIAL','') as DETALLE,
   SQ1.INFO as INFORMACION_DOC,

 led_tipos_vehiculo.nombre_tipo_vehiculo as TIPO_RECURSO


 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 
        left outer join led_tipos_vehiculo on led_tipos_vehiculo.tipo_vehiculo = led_vehiculos.tipo_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_vehiculos_periodo on (led_docs.vehiculo = led_vehiculos_periodo.vehiculo
                 and led_docs.periodo = led_vehiculos_periodo.periodo)

       
        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 BETWEEN  @periodo_desde AND @periodo_hasta
         and led_docs.cliente = @cliente) DATOS on led_docs.doc_id = DATOS.doc_id
        where led_docs.periodo BETWEEN  @periodo_desde AND @periodo_hasta
        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 BETWEEN  @periodo_desde AND @periodo_hasta
 --and led_docs.fecha_tolerancia BETWEEN @vencimiento_desde AND @vencimiento_hasta
 --and led_docs.estado_doc in (@estado_doc)
 --AND led_contratistas.estado_CONTRATISTA = 'A'
 and led_cliente_contratista.verificacion='F'
 GROUP BY clientes.nombre_cliente, led_tipos_contratista.nombre_tipo_contratista, led_contratistas.codigo_interno, led_contratistas.estado_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), led_vehiculos.estado_vehiculo,
  pe.nombre_persona, pe.identificacion,led_docs.fecha_tolerancia,led_docs.estado_doc,led_docs.aprobacion_parcial,led_vehiculos.dominio, SQ1.INFO, 
   led_tipos_vehiculo.nombre_tipo_vehiculo

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


ELSE /* REPORTE DOCUMENTACION */

 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_contratistas.codigo_interno as CODIGO_INTERNO,
  CASE WHEN led_contratistas.estado_contratista = 'A' then 'ACTIVO' else 'NO ACTIVO' END as ESTADO_CONTRATISTA,
  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, 
   NULL AS ESTADO_RECURSO,
      convert(date,led_docs.fecha_tolerancia) as FECHA_TOLERANCIA,

   CONVERT(VARCHAR(10),led_docs.fecha_tolerancia,103) as VTO_CARGA,
 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 VERIFICAR'
 END,
   iif(led_docs.aprobacion_parcial = 1 AND led_docs.estado_doc = 'I','APROBACION PARCIAL','') as DETALLE,
   SQ1.INFO as INFORMACION_DOC,
   NULL as TIPO_RECURSO 


 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_contratista_periodo on (led_docs.contratista_1 = led_contratista_periodo.contratista
                 and led_docs.periodo = led_contratista_periodo.periodo)
       
        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(@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 BETWEEN  @periodo_desde AND @periodo_hasta
         and led_docs.cliente = @cliente) DATOS on led_docs.doc_id = DATOS.doc_id
        where led_docs.periodo BETWEEN  @periodo_desde AND @periodo_hasta
        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 BETWEEN  @periodo_desde AND @periodo_hasta
 --and led_docs.fecha_tolerancia BETWEEN @vencimiento_desde AND @vencimiento_hasta
 --and led_docs.estado_doc in (@estado_doc)
 --AND led_contratistas.estado_CONTRATISTA = 'A'
 and led_cliente_contratista.verificacion='F'
 GROUP BY clientes.nombre_cliente, led_tipos_contratista.nombre_tipo_contratista, led_contratistas.estado_contratista, led_contratistas.codigo_interno, 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.fecha_tolerancia,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_contratistas.codigo_interno as CODIGO_INTERNO,
  CASE WHEN led_contratistas.estado_contratista = 'A' then 'ACTIVO' else 'NO ACTIVO' END as ESTADO_CONTRATISTA,
  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, 
  
   CASE WHEN led_empleados.estado_empleado = 'A' then 'ACTIVO' else 'NO ACTIVO' end as ESTADO_RECURSO,
      convert(date,led_docs.fecha_tolerancia) as FECHA_TOLERANCIA,

   CONVERT(VARCHAR(10),led_docs.fecha_tolerancia,103) as VTO_CARGA,
   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 VERIFICAR'
 END,
   iif(led_docs.aprobacion_parcial = 1 AND led_docs.estado_doc = 'I','APROBACION PARCIAL','') as DETALLE,
   SQ1.INFO as INFORMACION_DOC,
   led_tipos_empleado.nombre_tipo_empleado as TIPO_RECURSO 


 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 
        LEFT OUTER JOIN led_tipos_empleado ON led_empleados.tipo_empleado = led_tipos_empleado.tipo_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_empleados_periodo on (led_docs.empleado = led_empleados_periodo.empleado
                 and led_docs.periodo = led_empleados_periodo.periodo)
       
        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(@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 BETWEEN  @periodo_desde AND @periodo_hasta
         and led_docs.cliente = @cliente) DATOS on led_docs.doc_id = DATOS.doc_id
        where led_docs.periodo BETWEEN  @periodo_desde AND @periodo_hasta
        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 BETWEEN  @periodo_desde AND @periodo_hasta
 --and led_docs.fecha_tolerancia BETWEEN @vencimiento_desde AND @vencimiento_hasta
 --and led_docs.estado_doc in (@estado_doc)
 --AND led_contratistas.estado_CONTRATISTA = 'A'
 and led_cliente_contratista.verificacion='F'
 GROUP BY clientes.nombre_cliente, led_tipos_contratista.nombre_tipo_contratista, led_contratistas.codigo_interno, led_contratistas.estado_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), led_empleados.estado_empleado,
  pe.nombre_persona, pe.identificacion,led_docs.fecha_tolerancia,led_docs.estado_doc,led_docs.aprobacion_parcial,led_vehiculos.dominio, SQ1.INFO,    led_tipos_empleado.nombre_tipo_empleado  






 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_contratistas.codigo_interno as CODIGO_INTERNO,
  CASE WHEN led_contratistas.estado_contratista = 'A' then 'ACTIVO' else 'NO ACTIVO' END as ESTADO_CONTRATISTA,
  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,

  NULL AS CUIT_EMPLEADO,
  CASE WHEN led_vehiculos.estado_vehiculo = 'A' then 'ACTIVO' else 'NO ACTIVO' end as ESTADO_RECURSO,
     convert(date,led_docs.fecha_tolerancia) as FECHA_TOLERANCIA,

    CONVERT(VARCHAR(10),led_docs.fecha_tolerancia,103) as VTO_CARGA,
   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 VERIFICAR'
 END,
   iif(led_docs.aprobacion_parcial = 1 AND led_docs.estado_doc = 'I','APROBACION PARCIAL','') as DETALLE,
   SQ1.INFO as INFORMACION_DOC, 
   led_tipos_vehiculo.nombre_tipo_vehiculo as TIPO_RECURSO 


 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 

        LEFT OUTER JOIN led_tipos_vehiculo ON led_vehiculos.tipo_vehiculo = led_tipos_vehiculo.tipo_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_vehiculos_periodo on (led_docs.vehiculo = led_vehiculos_periodo.vehiculo
                 and led_docs.periodo = led_vehiculos_periodo.periodo)

       
        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(@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 BETWEEN  @periodo_desde AND @periodo_hasta
         and led_docs.cliente = @cliente) DATOS on led_docs.doc_id = DATOS.doc_id
        where led_docs.periodo BETWEEN  @periodo_desde AND @periodo_hasta
        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 BETWEEN  @periodo_desde AND @periodo_hasta
 --and led_docs.fecha_tolerancia BETWEEN @vencimiento_desde AND @vencimiento_hasta
 --and led_docs.estado_doc in (@estado_doc)
 --AND led_contratistas.estado_CONTRATISTA = 'A'
 and led_cliente_contratista.verificacion='F'
 GROUP BY clientes.nombre_cliente, led_tipos_contratista.nombre_tipo_contratista, led_contratistas.codigo_interno, led_contratistas.estado_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), led_vehiculos.estado_vehiculo,
  pe.nombre_persona, pe.identificacion,led_docs.fecha_tolerancia,led_docs.estado_doc,led_docs.aprobacion_parcial,led_vehiculos.dominio, SQ1.INFO, 
     led_tipos_vehiculo.nombre_tipo_vehiculo


 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