dbo.Imperium_reporte_documentacion_FULL2

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 date 3
@periodo_hasta date 3
@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 2028732,202203,null,null

2046807993 - PAE
1758083682 - SUPERVIELLE
1226057645 - BBVA
3915936 - SAN ANDRES
1564570 - HIPOTECARIO
2028732 - INC

exec Imperium_reporte_documentacion_FULL2 2046807993,202209,202308,null,'N,I,V,R',null,null
PAE 2046807993

select * from clientes where nombre_cliente like '%hipotecario%' --1758083682,1226057645

exec Imperium_reporte_documentacion_FULL2 9936068,202207,202208,null,'N,I,V,R',null,null

exec Imperium_reporte_documentacion_FULL2 3915936,202309,202310,null,'N,R,I,V',null,null

exec Imperium_reporte_documentacion_FULL2 1564570,202309,202310,null,'N,R,I,V',null,null


exec Imperium_reporte_documentacion_FULL2 1226057645,'2023-08-01','2024-08-01',null,'N,R,I,V',null,null

exec Imperium_reporte_documentacion_FULL2 1758083682,202311,202410,null,'N,R,I,V',null,null
exec Imperium_reporte_documentacion_FULL2 1226057645,202111,202210,null,'N,R,I,V',null,null

exec Imperium_reporte_documentacion_FULL2 2028732,202304,202403,null,'N,R,I,V',null,null



exec Imperium_reporte_documentacion_FULL2 2046807993,202307,202406,null,'N,R,I,V',null,null

exec Imperium_reporte_documentacion_FULL2 9936068,202311,202412,null,'N,I,V,R',null,null

select * from ln_indicadores where clave_indicador = 'CUMPLIMIENTO_ANUAL'

*/

--select * from clientes where nombre_cliente like '%inc %'
-- exec Imperium_reporte_documentacion_FULL2 1758083682,'2000-11-01','2029-01-31',null,'N,R,I,V',null,null
/*insert into ln_contrapartes_queue (contraparte,id_taken)
select contraparte,7 from ln_contrapartes where cliente = 1758083682 and activo=1
*/

-- exec Imperium_reporte_documentacion_FULL2 9936068,'2024-01-01','2026-01-01',null,'N,I,R',null,null

-- select * from  led_tipos_contratista where nombre_tipo_contratista like '%oficiales%'
-- ver este exec imperium_reportes_especiales
/*
select * from led_contratistas where contratista in (3418,3448,8253)
select * from led_contratista_multi where contratista in (3418,3448,8253)
select id_imperium,* from ln_contrapartes where id_imperium in (3418,3448,8253)

select * from ln_contraparte_indicadores where contraparte in (189907,189910)
select ln_contrapartes.id_imperium,ln_contrapartes.activo,led_contratistas.* from ln_contrapartes inner join led_contratistas on ln_contrapartes.id_imperium = led_contratistas.contratista 
where ln_contrapartes.cliente = 9936068 and ln_contrapartes.activo=1 and led_contratistas.estado_contratista = 'N'

update led_contratista_multi set activo=1 where activo=0 and contratista in (
select led_contratistas.contratista from ln_contrapartes inner join led_contratistas on ln_contrapartes.id_imperium = led_contratistas.contratista 
where ln_contrapartes.cliente = 9936068 and ln_contrapartes.activo=1 and led_contratistas.estado_contratista = 'N')

update led_contratistas set estado_contratista = 'A' where estado_contratista='N' and contratista in (
select led_contratistas.contratista from ln_contrapartes inner join led_contratistas on ln_contrapartes.id_imperium = led_contratistas.contratista 
where ln_contrapartes.cliente = 9936068 and ln_contrapartes.activo=1 and led_contratistas.estado_contratista = 'N')


update led_contratista_multi set activo=0 where activo=1 and contratista in (
select led_contratistas.contratista from ln_contrapartes inner join led_contratistas on ln_contrapartes.id_imperium = led_contratistas.contratista 
where ln_contrapartes.cliente = 9936068 and ln_contrapartes.activo=0 and led_contratistas.estado_contratista = 'A')


update led_contratistas set estado_contratista = 'N' where estado_contratista='A' and contratista in (
select led_contratistas.contratista from ln_contrapartes inner join led_contratistas on ln_contrapartes.id_imperium = led_contratistas.contratista 
where ln_contrapartes.cliente = 9936068 and ln_contrapartes.activo=0 and led_contratistas.estado_contratista = 'A')
*/



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



AS
BEGIN
/*
if (@periodo_desde is null) set @periodo_desde = (select dbo.periodoanual()) 
if (@periodo_hasta is null) set @periodo_hasta = (select dbo.periodovencido()) 
*/

if (@periodo_desde is null) set @periodo_desde = getdate()-30 
if (@periodo_hasta is null) set @periodo_hasta = getdate() + 30

/*SET @periodo_hasta = 202202*/

declare @ind_cumpl int = (select indicador from ln_indicadores where clave_indicador = 'CUMPLIMIENTO_ANUAL')


IF (@estado_doc IS NULL)
BEGIN
 set @estado_doc = 'N,R'
END



if (@tipos_contratista is not null) 

 /* contratistas */
 SELECT distinct led_docs.contratista_1, 
  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 as DOCUMENTO, 
  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(CONVERT(VARCHAR,led_docs.periodo),4) AS ANIO,
  right(CONVERT(VARCHAR,led_docs.periodo),2) AS MES,

  NULL as RECURSO,
  NULL AS CUIT_EMPLEADO, 
  NULL AS ESTADO_RECURSO,
  NULL AS TIPO_RECURSO,
  CONVERT(VARCHAR(10),led_docs.fecha_tolerancia,103) as VTO_CARGA,
  convert(date,led_docs.fecha_tolerancia) as FECHA_TOLERANCIA, 
  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*/
   ,CI.valor_numerico as cumplimiento_anual
   ,case 
    when CI.valor_numerico = 100 then 'VERDE'
    when CI.valor_numerico < 100 then 'ROJO'
    when CI.valor_numerico is null then NULL
    else NULL 
    end as cumplimiento_anual_txt
    ,NULL as SUBCONTRATISTA,
     NULL AS CUIT_SUBCONTRATISTA
    ,iif(led_docs.fecha_tolerancia > led_docs.ingresado, null, datediff(day,led_docs.fecha_tolerancia,led_docs.ingresado)) as difCarga,
     datediff(day,led_docs.ingresado,getdate()) as difVerif,led_tipos_doc.modalidad 
 FROM led_docs INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
 INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
 inner join led_cliente_contratista ON (led_contratistas.cliente = led_cliente_contratista.cliente
           and led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
           and led_docs.tipo_doc = led_cliente_contratista.tipo_doc)


 INNER JOIN clientes ON led_cliente_contratista.cliente = clientes.cliente        
 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 
 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 join LN_contrapartes C on C.id_imperium = led_docs.contratista_1
 left join LN_Gestiones G on (G.contraparte = C.contraparte and vigente = 1 and desde <= GETDATE() and hasta >= GETDATE())
 left join ln_contraparte_indicadores CI on (CI.contraparte = C.contraparte and CI.gestion = G.gestion and CI.visible = 1 and CI.indicador =  @ind_cumpl) 



        /*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_contratistas.tipo_contratista=58 */
/* and led_docs.periodo BETWEEN  @periodo_desde AND @periodo_hasta*/
 and led_docs.ingresado BETWEEN  @periodo_desde AND @periodo_hasta


 and led_contratistas.estado_contratista IN ('A','N')
 --AND led_tipos_contratista.tipo_contratista IN (241, 242)
-- select * from led_tipos_contratista where nombre_tipo_contratista like 'REDUCIDO'

 UNION


 /* empleados */
 SELECT distinct led_docs.contratista_1, 
  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 as DOCUMENTO, 
  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(CONVERT(VARCHAR,led_docs.periodo),4) AS ANIO,
  right(CONVERT(VARCHAR,led_docs.periodo),2) AS MES,

  pe.nombre_persona as RECURSO,
  pe.identificacion AS CUIT_EMPLEADO, 
  iif(led_empleados.estado_empleado = 'A','Activo','No activo') AS ESTADO_RECURSO,
  led_tipos_empleado.nombre_tipo_empleado as TIPO_RECURSO,

  CONVERT(VARCHAR(10),led_docs.fecha_tolerancia,103) as VTO_CARGA,
  convert(date,led_docs.fecha_tolerancia) as FECHA_TOLERANCIA, 

  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*/
     ,CI.valor_numerico as cumplimiento_anual
  ,case 
    when CI.valor_numerico = 100 then 'VERDE'
    when CI.valor_numerico < 100 then 'ROJO'
    when CI.valor_numerico is null then NULL
    else NULL 
    end as cumplimiento_anual_txt
   ,NULL as SUBCONTRATISTA,
     NULL AS CUIT_SUBCONTRATISTA
   ,iif(led_docs.fecha_tolerancia > led_docs.ingresado, null, datediff(day,led_docs.fecha_tolerancia,led_docs.ingresado)) as difCarga,
     datediff(day,led_docs.ingresado,getdate()) as difVerif,led_tipos_doc.modalidad 

 FROM led_docs INNER JOIN led_empleados ON led_docs.empleado = led_empleados.empleado
 INNER JOIN led_tipos_empleado ON led_empleados.tipo_empleado = led_tipos_empleado.tipo_empleado
 INNER JOIN led_contratistas ON led_empleados.contratista = led_contratistas.contratista
 INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
 INNER JOIN padrones pe ON led_empleados.id_padron = pe.id_padron

 inner join led_cliente_empleado ON (led_contratistas.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 clientes ON led_cliente_empleado.cliente = clientes.cliente        
 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
         (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*/


 left join LN_contrapartes C on C.id_imperium = led_docs.contratista_1
 left join LN_Gestiones G on (G.contraparte = C.contraparte and vigente = 1 and desde <= GETDATE() and hasta >= GETDATE())
 left join ln_contraparte_indicadores CI on (CI.contraparte = C.contraparte and CI.gestion = G.gestion and CI.visible = 1 and CI.indicador =  @ind_cumpl) 

 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.ingresado BETWEEN  @periodo_desde AND @periodo_hasta

 and led_contratistas.estado_contratista IN ('A','N')
    /*and led_contratistas.tipo_contratista=58 */
 --AND led_tipos_contratista.tipo_contratista IN (241, 242)
-- select * from led_tipos_contratista where nombre_tipo_contratista like 'REDUCIDO'

 

 UNION


 /* vehiculos */
 SELECT distinct led_docs.contratista_1, 
  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 as DOCUMENTO, 
  SECCION = CASE led_docs.led_seccion
     WHEN 'C' THEN 'CONTRATISTAS'
     WHEN 'S' THEN 'SUB CONTRATISTAS'
     WHEN 'E' THEN 'vehiculoS'
     WHEN 'V' THEN 'VEHICULOS'
    END,
  left(CONVERT(VARCHAR,led_docs.periodo),4) AS ANIO,
  right(CONVERT(VARCHAR,led_docs.periodo),2) AS MES,

  led_vehiculos.dominio as RECURSO,
  NULL AS CUIT_EMPLEADO, 
  iif(led_vehiculos.estado_vehiculo = 'A','Activo','No activo') AS ESTADO_RECURSO,
  led_tipos_vehiculo.nombre_tipo_vehiculo as TIPO_RECURSO,

  CONVERT(VARCHAR(10),led_docs.fecha_tolerancia,103) as VTO_CARGA,
  convert(date,led_docs.fecha_tolerancia) as FECHA_TOLERANCIA, 

  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*/
  ,CI.valor_numerico as cumplimiento_anual
  ,case 
    when CI.valor_numerico = 100 then 'VERDE'
    when CI.valor_numerico < 100 then 'ROJO'
    when CI.valor_numerico is null then NULL
    else NULL 
    end as cumplimiento_anual_txt
     ,NULL as SUBCONTRATISTA,
     NULL AS CUIT_SUBCONTRATISTA
     ,iif(led_docs.fecha_tolerancia > led_docs.ingresado, null, datediff(day,led_docs.fecha_tolerancia,led_docs.ingresado)) as difCarga,
     datediff(day,led_docs.ingresado,getdate()) as difVerif,led_tipos_doc.modalidad 
 FROM led_docs INNER JOIN led_vehiculos ON led_docs.vehiculo = led_vehiculos.vehiculo
 INNER JOIN led_tipos_vehiculo ON led_vehiculos.tipo_vehiculo = led_tipos_vehiculo.tipo_vehiculo
 INNER JOIN led_contratistas ON led_vehiculos.contratista = led_contratistas.contratista
 INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron

 inner join led_cliente_vehiculo ON (led_contratistas.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 clientes ON led_cliente_vehiculo.cliente = clientes.cliente        
 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
         (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*/


 left join LN_contrapartes C on C.id_imperium = led_docs.contratista_1
 left join LN_Gestiones G on (G.contraparte = C.contraparte and vigente = 1 and desde <= GETDATE() and hasta >= GETDATE())
 left join ln_contraparte_indicadores CI on (CI.contraparte = C.contraparte and CI.gestion = G.gestion and CI.visible = 1 and CI.indicador =  @ind_cumpl) 

 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.ingresado BETWEEN  @periodo_desde AND @periodo_hasta

 and led_contratistas.estado_contratista IN ('A','N')
    /*and led_contratistas.tipo_contratista=58 */
 --AND led_tipos_contratista.tipo_contratista IN (241, 242)
-- select * from led_tipos_contratista where nombre_tipo_contratista like 'REDUCIDO'


 UNION


 /* Subcontratistas */
 SELECT distinct led_docs.contratista_1, 
  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 as DOCUMENTO, 
  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(CONVERT(VARCHAR,led_docs.periodo),4) AS ANIO,
  right(CONVERT(VARCHAR,led_docs.periodo),2) AS MES,

  NULL as RECURSO,
  NULL AS CUIT_EMPLEADO, 
  NULL AS ESTADO_RECURSO,
  NULL AS TIPO_RECURSO,
  CONVERT(VARCHAR(10),led_docs.fecha_tolerancia,103) as VTO_CARGA,
  convert(date,led_docs.fecha_tolerancia) as FECHA_TOLERANCIA, 

  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*/
    ,CI.valor_numerico as cumplimiento_anual
    ,case 
    when CI.valor_numerico = 100 then 'VERDE'
    when CI.valor_numerico < 100 then 'ROJO'
    when CI.valor_numerico is null then NULL
    else NULL 
    end as cumplimiento_anual_txt
    ,ps.nombre_persona as SUBCONTRATISTA,
  ps.identificacion AS CUIT_SUBCONTRATISTA
  ,iif(led_docs.fecha_tolerancia > led_docs.ingresado, null, datediff(day,led_docs.fecha_tolerancia,led_docs.ingresado)) as difCarga,
     datediff(day,led_docs.ingresado,getdate()) as difVerif,led_tipos_doc.modalidad 
 FROM led_docs 
 
 INNER JOIN led_contratistas ON led_contratistas.contratista = led_docs.contratista_1
 INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
 
 INNER JOIN led_contratistas Sub ON led_contratistas.contratista=led_docs.contratista
 INNER JOIN padrones ps ON led_contratistas.id_padron = padrones.id_padron


 inner join led_cliente_contratista ON (led_contratistas.cliente = led_cliente_contratista.cliente
           and led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
           and led_docs.tipo_doc = led_cliente_contratista.tipo_doc)


 INNER JOIN clientes ON led_cliente_contratista.cliente = clientes.cliente        
 INNER JOIN led_subcontratista_periodo on (led_docs.contratista = led_subcontratista_periodo.subcontratista
           and led_docs.periodo = led_subcontratista_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
         (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*/


 left join LN_contrapartes C on C.id_imperium = led_docs.contratista_1
 left join LN_Gestiones G on (G.contraparte = C.contraparte and vigente = 1 and desde <= GETDATE() and hasta >= GETDATE())
 left join ln_contraparte_indicadores CI on (CI.contraparte = C.contraparte and CI.gestion = G.gestion and CI.visible = 1 and CI.indicador =  @ind_cumpl) 

 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.ingresado BETWEEN  @periodo_desde AND @periodo_hasta

 and led_contratistas.estado_contratista IN ('A','N')
    /*and led_contratistas.tipo_contratista=58 */

 /*AND led_tipos_contratista.tipo_contratista=242*/
-- select * from led_tipos_contratista where nombre_tipo_contratista like 'REDUCIDO'

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



ELSE
-- exec Imperium_reporte_documentacion_FULL2 1226057645,'2023-08-01','2024-08-01',null,'N,R,I,V',null,null
 /* contratistas */
 SELECT distinct 'AA' AS AA, led_docs.contratista_1, led_contratistas.estado_contratista,
  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 as DOCUMENTO, 
  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(CONVERT(VARCHAR,led_docs.periodo),4) AS ANIO,
  right(CONVERT(VARCHAR,led_docs.periodo),2) AS MES,

  NULL as RECURSO,
  NULL AS CUIT_EMPLEADO, 
  NULL AS ESTADO_RECURSO,
  NULL AS TIPO_RECURSO,
  CONVERT(VARCHAR(10),led_docs.fecha_tolerancia,103) as VTO_CARGA,
  convert(date,led_docs.fecha_tolerancia) as FECHA_TOLERANCIA, 

  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*/
    ,CI.valor_numerico as cumplimiento_anual
    ,case 
    when CI.valor_numerico = 100 then 'VERDE'
    when CI.valor_numerico < 100 then 'ROJO'
    when CI.valor_numerico is null then NULL
    else NULL 
    end as cumplimiento_anual_txt
     ,NULL as SUBCONTRATISTA,
     NULL AS CUIT_SUBCONTRATISTA
     ,iif(led_docs.fecha_tolerancia > led_docs.ingresado, null, datediff(day,led_docs.fecha_tolerancia,led_docs.ingresado)) as difCarga,
     datediff(day,led_docs.ingresado,getdate()) as difVerif,led_tipos_doc.modalidad 
 FROM led_docs INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
 INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
 inner join led_cliente_contratista ON (led_contratistas.cliente = led_cliente_contratista.cliente
           and led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
           and led_docs.tipo_doc = led_cliente_contratista.tipo_doc)


 INNER JOIN clientes ON led_cliente_contratista.cliente = clientes.cliente        
 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 
 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
         (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*/


 left join LN_contrapartes C on C.id_imperium = led_docs.contratista_1
 left join LN_Gestiones G on (G.contraparte = C.contraparte and vigente = 1 and desde <= GETDATE() and hasta >= GETDATE())
 left join ln_contraparte_indicadores CI on (CI.contraparte = C.contraparte and CI.gestion = G.gestion and CI.visible = 1 and CI.indicador =  @ind_cumpl) 

 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.contratista_1 = led_docs.contratista
--    and led_docs.periodo BETWEEN  202308 AND 202407
    /*and led_contratistas.tipo_contratista=58 */
 -- and led_docs.ingresado BETWEEN  @periodo_desde AND @periodo_hasta

 and led_contratistas.estado_contratista IN ('A','N')
 /*and led_contratista_periodo.periodo between @periodo_desde AND @periodo_hasta*/
 and led_contratista_periodo.fecha_afectacion between @periodo_desde AND @periodo_hasta    


 --AND led_tipos_contratista.tipo_contratista IN (241, 242)
-- select * from led_tipos_contratista where nombre_tipo_contratista like 'REDUCIDO'

 UNION


 /* empleados */
 SELECT distinct 'BB' AS AA, led_docs.contratista_1, led_contratistas.estado_contratista,
  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 as DOCUMENTO, 
  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(CONVERT(VARCHAR,led_docs.periodo),4) AS ANIO,
  right(CONVERT(VARCHAR,led_docs.periodo),2) AS MES,

  pe.nombre_persona as RECURSO,
  pe.identificacion AS CUIT_EMPLEADO, 
  iif(led_empleados.estado_empleado = 'A','Activo','No activo') AS ESTADO_RECURSO,
  led_tipos_empleado.nombre_tipo_empleado as TIPO_RECURSO,

  CONVERT(VARCHAR(10),led_docs.fecha_tolerancia,103) as VTO_CARGA,
  convert(date,led_docs.fecha_tolerancia) as FECHA_TOLERANCIA, 

  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*/
  ,CI.valor_numerico as cumplimiento_anual
  ,case 
    when CI.valor_numerico = 100 then 'VERDE'
    when CI.valor_numerico < 100 then 'ROJO'
    when CI.valor_numerico is null then NULL
    else NULL 
    end as cumplimiento_anual_txt
     ,NULL as SUBCONTRATISTA,
     NULL AS CUIT_SUBCONTRATISTA
     ,iif(led_docs.fecha_tolerancia > led_docs.ingresado, null, datediff(day,led_docs.fecha_tolerancia,led_docs.ingresado)) as difCarga,
     datediff(day,led_docs.ingresado,getdate()) as difVerif,led_tipos_doc.modalidad 
 FROM led_docs INNER JOIN led_empleados ON led_docs.empleado = led_empleados.empleado
 INNER JOIN led_tipos_empleado ON led_empleados.tipo_empleado = led_tipos_empleado.tipo_empleado
 INNER JOIN led_contratistas ON led_empleados.contratista = led_contratistas.contratista
 INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
 INNER JOIN padrones pe ON led_empleados.id_padron = pe.id_padron

 inner join led_cliente_empleado ON (led_contratistas.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 clientes ON led_cliente_empleado.cliente = clientes.cliente        
 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
         (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*/


 left join LN_contrapartes C on C.id_imperium = led_docs.contratista_1
 left join LN_Gestiones G on (G.contraparte = C.contraparte and vigente = 1 and desde <= GETDATE() and hasta >= GETDATE())
 left join ln_contraparte_indicadores CI on (CI.contraparte = C.contraparte and CI.gestion = G.gestion and CI.visible = 1 and CI.indicador =  @ind_cumpl) 

 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  202308 AND 202407
    /*and led_contratistas.tipo_contratista=58 */
    --and led_docs.ingresado between @periodo_desde AND @periodo_hasta

 and led_contratistas.estado_contratista IN ('A','N')
/* and led_empleados_periodo.periodo between @periodo_desde AND @periodo_hasta*/
    and led_empleados_periodo.fecha_afectacion between @periodo_desde AND @periodo_hasta    

 --AND led_tipos_contratista.tipo_contratista IN (241, 242)
-- select * from led_tipos_contratista where nombre_tipo_contratista like 'REDUCIDO'
 

 UNION


 /* vehiculos */
 SELECT distinct 'CC' AS AA, led_docs.contratista_1, led_contratistas.estado_contratista,
  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 as DOCUMENTO, 
  SECCION = CASE led_docs.led_seccion
     WHEN 'C' THEN 'CONTRATISTAS'
     WHEN 'S' THEN 'SUB CONTRATISTAS'
     WHEN 'E' THEN 'vehiculoS'
     WHEN 'V' THEN 'VEHICULOS'
    END,
  left(CONVERT(VARCHAR,led_docs.periodo),4) AS ANIO,
  right(CONVERT(VARCHAR,led_docs.periodo),2) AS MES,

  led_vehiculos.dominio as RECURSO,
  NULL AS CUIT_EMPLEADO, 
  iif(led_vehiculos.estado_vehiculo = 'A','Activo','No activo') AS ESTADO_RECURSO,
  led_tipos_vehiculo.nombre_tipo_vehiculo as TIPO_RECURSO,

  CONVERT(VARCHAR(10),led_docs.fecha_tolerancia,103) as VTO_CARGA,
  convert(date,led_docs.fecha_tolerancia) as FECHA_TOLERANCIA, 

  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*/
    ,CI.valor_numerico as cumplimiento_anual
    ,case 
    when CI.valor_numerico = 100 then 'VERDE'
    when CI.valor_numerico < 100 then 'ROJO'
    when CI.valor_numerico is null then NULL
    else NULL 
    end as cumplimiento_anual_txt
     ,NULL as SUBCONTRATISTA,
     NULL AS CUIT_SUBCONTRATISTA
     ,iif(led_docs.fecha_tolerancia > led_docs.ingresado, null, datediff(day,led_docs.fecha_tolerancia,led_docs.ingresado)) as difCarga,
     datediff(day,led_docs.ingresado,getdate()) as difVerif,led_tipos_doc.modalidad 
 FROM led_docs INNER JOIN led_vehiculos ON led_docs.vehiculo = led_vehiculos.vehiculo
 INNER JOIN led_tipos_vehiculo ON led_vehiculos.tipo_vehiculo = led_tipos_vehiculo.tipo_vehiculo
 INNER JOIN led_contratistas ON led_vehiculos.contratista = led_contratistas.contratista
 INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron

 inner join led_cliente_vehiculo ON (led_contratistas.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 clientes ON led_cliente_vehiculo.cliente = clientes.cliente        
 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
         (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*/


 left join LN_contrapartes C on C.id_imperium = led_docs.contratista_1
 left join LN_Gestiones G on (G.contraparte = C.contraparte and vigente = 1 and desde <= GETDATE() and hasta >= GETDATE())
 left join ln_contraparte_indicadores CI on (CI.contraparte = C.contraparte and CI.gestion = G.gestion and CI.visible = 1 and CI.indicador =  @ind_cumpl) 

 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  202308 AND 202407
    /*and led_contratistas.tipo_contratista=58 */

    --and led_docs.ingresado between @periodo_desde AND @periodo_hasta
 and led_contratistas.estado_contratista IN ('A','N')
 /*and led_vehiculos_periodo.periodo between @periodo_desde AND @periodo_hasta*/
    and led_vehiculos_periodo.fecha_afectacion between @periodo_desde AND @periodo_hasta

 --AND led_tipos_contratista.tipo_contratista IN (241, 242)
-- select * from led_tipos_contratista where nombre_tipo_contratista like 'REDUCIDO'

 UNION


 /* Subcontratistas */
 SELECT distinct 'DD' AS AA, led_docs.contratista_1, led_contratistas.estado_contratista,
  
        null AS CLIENTE, 
        /*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 as DOCUMENTO, 
  SECCION = CASE led_docs.led_seccion
     WHEN 'C' THEN 'SUB CONTRATISTAS'
     WHEN 'S' THEN 'SUB CONTRATISTAS'
     WHEN 'E' THEN 'EMPLEADOS'
     WHEN 'V' THEN 'VEHICULOS'
    END,
  left(CONVERT(VARCHAR,led_docs.periodo),4) AS ANIO,
  right(CONVERT(VARCHAR,led_docs.periodo),2) AS MES,
/*
NULL as RECURSO,
NULL AS CUIT_EMPLEADO, 
NULL AS ESTADO_RECURSO,
*/
 
  ps.nombre_persona as RECURSO,
  ps.identificacion AS CUIT_EMPLEADO,
  CASE WHEN sub.estado_contratista = 'A' then 'Activo' else 'No activo' END as ESTADO_RECURSO,  

  NULL AS TIPO_RECURSO,
  CONVERT(VARCHAR(10),led_docs.fecha_tolerancia,103) as VTO_CARGA,
  convert(date,led_docs.fecha_tolerancia) as FECHA_TOLERANCIA, 

  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*/
  ,CI.valor_numerico as cumplimiento_anual
  ,case 
    when CI.valor_numerico = 100 then 'VERDE'
    when CI.valor_numerico < 100 then 'ROJO'
    when CI.valor_numerico is null then NULL
    else NULL 
    end as cumplimiento_anual_txt
    ,ps.nombre_persona as SUBCONTRATISTA,
  ps.identificacion AS CUIT_SUBCONTRATISTA
  ,iif(led_docs.fecha_tolerancia > led_docs.ingresado, null, datediff(day,led_docs.fecha_tolerancia,led_docs.ingresado)) as difCarga,
     datediff(day,led_docs.ingresado,getdate()) as difVerif,led_tipos_doc.modalidad 
 FROM led_docs 

 INNER JOIN led_contratistas ON led_contratistas.contratista = led_docs.contratista_1
 INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
 INNER JOIN led_contratistas Sub ON SUB.contratista=led_docs.contratista
 INNER JOIN padrones ps ON Sub.id_padron = ps.id_padron
/*
inner join led_cliente_contratista ON (led_contratistas.cliente = led_cliente_contratista.cliente
and led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
and led_docs.tipo_doc = led_cliente_contratista.tipo_doc)
INNER JOIN clientes ON led_cliente_contratista.cliente = clientes.cliente   
*/

 INNER JOIN led_subcontratista_periodo on (led_docs.contratista = led_subcontratista_periodo.subcontratista and led_docs.periodo = led_subcontratista_periodo.periodo)
 left JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc 
 left 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 join LN_contrapartes C on C.id_imperium = led_docs.contratista_1
 left join LN_Gestiones G on (G.contraparte = C.contraparte and vigente = 1 and desde <= GETDATE() and hasta >= GETDATE())
 left join ln_contraparte_indicadores CI on (CI.contraparte = C.contraparte and CI.gestion = G.gestion and CI.visible = 1 and CI.indicador =  @ind_cumpl) 

/*
INNER JOIN led_contratistas ON led_contratistas.contratista = led_docs.contratista_1
INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
INNER JOIN led_contratistas Sub ON SUB.contratista=led_docs.contratista
INNER JOIN padrones ps ON PS.id_padron = ps.id_padron
inner join led_cliente_contratista ON (led_contratistas.cliente = led_cliente_contratista.cliente
and led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
and led_docs.tipo_doc = led_cliente_contratista.tipo_doc)
INNER JOIN clientes ON led_cliente_contratista.cliente = clientes.cliente   
INNER JOIN led_subcontratista_periodo on (led_docs.contratista = led_subcontratista_periodo.subcontratista
and led_docs.periodo = led_subcontratista_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 join LN_contrapartes C on C.id_imperium = led_docs.contratista_1
left join LN_Gestiones G on (G.contraparte = C.contraparte and vigente = 1 and desde <= GETDATE() and hasta >= GETDATE())
left join ln_contraparte_indicadores CI on (CI.contraparte = C.contraparte and CI.gestion = G.gestion and CI.visible = 1 and CI.indicador =  @ind_cumpl) 
*/

 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  202308 AND 202407
    /*and led_contratistas.tipo_contratista=58 */
--    and led_docs.ingresado between @periodo_desde AND @periodo_hasta

 and led_contratistas.estado_contratista IN ('A','N')
/* and led_subcontratista_periodo.periodo between @periodo_desde AND @periodo_hasta*/
    and led_subcontratista_periodo.fecha_afectacion between @periodo_desde AND @periodo_hasta

 /*AND led_tipos_contratista.tipo_contratista=242*/
-- select * from led_tipos_contratista where nombre_tipo_contratista like 'REDUCIDO'

 ORDER BY razon_social asc ,recurso asc,anio,mes, led_tipos_doc.nombre_tipo_doc asc
 --ORDER BY razon_social asc,recurso asc
-- exec Imperium_reporte_documentacion_FULL2 9936068,'2025-01-01','2026-01-01',null,'N,I,R',null,null AGB



END

GO

Used By

No items found