dbo.Imperium_vista_admin_PD_AGB2

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

3
Name Data Type Length Description
@p_user_id int 4
@p_acceso tinyint 1
@p_ocultar_parcial tinyint 1

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>

/*

exec Imperium_vista_admin_PD_AGB2 62352520,0,0



exec Imperium_vista_admin_PD_AGB 62352520,0,0

select distinct tipo_doc from led_users_tipo_doc where fecha_hasta >= GETDATE() and user_id = @p_user_id and visible = 1 and tipo_doc > 0

--and cliente > 0


*/


-- Description: <Description,,>
-- =============================================
CREATE OR ALTER PROCEDURE dbo.Imperium_vista_admin_PD_AGB2 
 -- Add the parameters for the stored procedure here
 @p_user_id         int,
 @p_acceso         tinyint,
 @p_ocultar_parcial       tinyint

 
AS
BEGIN
 -- SET NOCOUNT ON added to prevent extra result sets from
 -- interfering with SELECT statements.
 SET NOCOUNT ON;

    -- Insert statements for procedure here
 if (@p_user_id > 0) BEGIN

  DECLARE @str_acceso varchar(3)

  if (@p_acceso = 1) begin
   set @str_acceso = '1'
  end else begin
   set @str_acceso = '0,1'
   set @str_acceso = '0'
  end


  DECLARE @str_parcial varchar(3)

  if (@p_ocultar_parcial = 1) begin
   set @str_parcial = '0'
  end else begin
   set @str_parcial = '0,1'
  end


  /* si selecciona ocultar los parciales, no hay que ocultar los reaperturados por alta */

  /* si selecciona ocultar los parciales, no hay que ocultar los parciales actualizados */

  DECLARE @suma_parcial tinyint = 100 /* para inicializar puede ser cualquier número distinto de 0, 1, 2, 3 */
  if (@p_ocultar_parcial = 1) begin

   /* cuando la suma de aprobacion_parcial + parcial_actualizado + reapertura_por_alta = 1
    es porque está del lado del contratista y debe ocultarse el registro */

   set @suma_parcial = 1
  end




  DECLARE @case1 tinyint = 0
  DECLARE @case2 tinyint = 0
  DECLARE @case3 tinyint = 0


  IF EXISTS (select * from led_users_tipo_doc
     where fecha_hasta >= GETDATE()
     and user_id = @p_user_id
     and visible = 1
     and (isnull(cliente,0) > 0 or cliente is null)
     and tipo_doc > 0) SET @case1 = 1


  IF EXISTS (select * from led_users_tipo_doc
     where fecha_hasta >= GETDATE()
     and user_id = @p_user_id
     and visible = 1
     and (isnull(cliente,0) > 0 or cliente is null)
     and tipo_doc IS NULL) SET @case2 = 1


  IF EXISTS (select * from led_users_tipo_doc
     where fecha_hasta >= GETDATE()
     and user_id = @p_user_id
     and visible = 1
     and (isnull(cliente,0) > 0 or cliente is null)
     and tipo_doc > 0) SET @case3 = 1


  IF (@case1 > 0 OR @case2 > 0 OR @case3 > 0) BEGIN


   DECLARE @str_estado varchar(1) = 'I'

   DECLARE @DOCS VARCHAR(MAX) = ''
   DECLARE @DOC_ID BIGINT
   DECLARE @DOCS_R VARCHAR(MAX) = ''


   /* EVALUACION DE CASOS */
   
   IF (@case1 > 0 AND @case2 = 0 AND @case3 = 0) 
   BEGIN
    /* 1 */


    DECLARE QDOCS CURSOR FOR

    select led_docs.doc_id
    from led_docs INNER JOIN (select * from led_users_tipo_doc
           where fecha_hasta >= GETDATE()
           and user_id = @p_user_id
           and (isnull(cliente,0) > 0 or cliente is null)
           and cliente > 0
           and tipo_doc > 0) asig1 ON (led_docs.cliente = asig1.cliente AND led_docs.tipo_doc = asig1.tipo_doc)
    where led_docs.estado_doc = @str_estado
    -- and led_docs.doc_id_lista IS NULL
    AND ISNULL(led_docs.doc_version, 0) = 0


    DECLARE QDOCS_R CURSOR FOR

    select led_docs.doc_id
    from led_docs 
    INNER JOIN led_docs_aux ON (led_docs.doc_id = led_docs_aux.doc_id AND led_docs.doc_version = led_docs_aux.doc_version)
    INNER JOIN (select * from led_users_tipo_doc
           where fecha_hasta >= GETDATE()
           and user_id = @p_user_id
           and visible = 1
           and (isnull(cliente,0) > 0 or cliente is null)
           and tipo_doc > 0) asig1 ON (led_docs.cliente = asig1.cliente AND led_docs.tipo_doc = asig1.tipo_doc)
    where led_docs_aux.estado_doc = @str_estado
    -- and led_docs.doc_id_lista IS NULL

   
   END ELSE BEGIN

    IF (@case1 = 0 AND @case2 > 0 AND @case3 = 0) BEGIN
     /* 2 */
     DECLARE QDOCS CURSOR FOR

     select led_docs.doc_id
     from led_docs INNER JOIN (select * from led_users_tipo_doc
            where fecha_hasta >= GETDATE()
            and user_id = @p_user_id
            and visible = 1
            and (isnull(cliente,0) > 0 or cliente is null)
            and tipo_doc IS NULL) asig2 ON led_docs.cliente = asig2.cliente
     where led_docs.estado_doc = @str_estado
     -- and led_docs.doc_id_lista IS NULL
     AND ISNULL(led_docs.doc_version, 0) = 0


     DECLARE QDOCS_R CURSOR FOR

     select led_docs.doc_id
     from led_docs 
     INNER JOIN led_docs_aux ON (led_docs.doc_id = led_docs_aux.doc_id AND led_docs.doc_version = led_docs_aux.doc_version)
     INNER JOIN (select * from led_users_tipo_doc
            where fecha_hasta >= GETDATE()
            and user_id = @p_user_id
            and visible = 1
            and (isnull(cliente,0) > 0 or cliente is null)
            and tipo_doc IS NULL) asig2 ON led_docs.cliente = asig2.cliente
     where led_docs_aux.estado_doc = @str_estado
     -- and led_docs.doc_id_lista IS NULL
     


    END ELSE BEGIN

     IF (@case1 = 0 AND @case2 = 0 AND @case3 > 0) BEGIN
      /* 3 */

      DECLARE QDOCS CURSOR FOR

      select led_docs.doc_id
      from led_docs INNER JOIN (select * from led_users_tipo_doc
             where fecha_hasta >= GETDATE()
             and user_id = @p_user_id
             and visible = 1
             and cliente IS NULL
             and tipo_doc > 0) asig3 ON led_docs.tipo_doc = asig3.tipo_doc
      where led_docs.estado_doc = @str_estado
      -- and led_docs.doc_id_lista IS NULL
      AND ISNULL(led_docs.doc_version, 0) = 0

      

      DECLARE QDOCS_R CURSOR FOR

      select led_docs.doc_id
      from led_docs 
      INNER JOIN led_docs_aux ON (led_docs.doc_id = led_docs_aux.doc_id AND led_docs.doc_version = led_docs_aux.doc_version)
      INNER JOIN (select * from led_users_tipo_doc
             where fecha_hasta >= GETDATE()
             and user_id = @p_user_id
             and visible = 1
             and cliente IS NULL
             and tipo_doc > 0) asig3 ON led_docs.tipo_doc = asig3.tipo_doc
      where led_docs_aux.estado_doc = @str_estado
      -- and led_docs.doc_id_lista IS NULL


      
     END ELSE BEGIN

      IF (@case1 > 0 AND @case2 > 0 AND @case3 = 0) BEGIN
       /* 4 */

       DECLARE QDOCS CURSOR FOR
       
       select led_docs.doc_id
       from led_docs INNER JOIN (select * from led_users_tipo_doc
              where fecha_hasta >= GETDATE()
              and user_id = @p_user_id
              and visible = 1
              and (isnull(cliente,0) > 0 or cliente is null)
              and tipo_doc > 0) asig1 ON (led_docs.cliente = asig1.cliente AND led_docs.tipo_doc = asig1.tipo_doc)
       where led_docs.estado_doc = @str_estado
       -- and led_docs.doc_id_lista IS NULL
       AND ISNULL(led_docs.doc_version, 0) = 0

       UNION

       select led_docs.doc_id
       from led_docs INNER JOIN (select * from led_users_tipo_doc
              where fecha_hasta >= GETDATE()
              and user_id = @p_user_id
              and visible = 1
              and (isnull(cliente,0) > 0 or cliente is null)
              and tipo_doc IS NULL) asig2 ON led_docs.cliente = asig2.cliente
       where led_docs.estado_doc = @str_estado
       -- and led_docs.doc_id_lista IS NULL
       AND ISNULL(led_docs.doc_version, 0) = 0


       
       DECLARE QDOCS_R CURSOR FOR

       select led_docs.doc_id
       from led_docs
       INNER JOIN led_docs_aux ON (led_docs.doc_id = led_docs_aux.doc_id AND led_docs.doc_version = led_docs_aux.doc_version) 
       INNER JOIN (select * from led_users_tipo_doc
              where fecha_hasta >= GETDATE()
              and user_id = @p_user_id
              and visible = 1
              and (isnull(cliente,0) > 0 or cliente is null)
              and tipo_doc > 0) asig1 ON (led_docs.cliente = asig1.cliente AND led_docs.tipo_doc = asig1.tipo_doc)
       where led_docs_aux.estado_doc = @str_estado
       -- and led_docs.doc_id_lista IS NULL
       
       UNION

       select led_docs.doc_id
       from led_docs 
       INNER JOIN led_docs_aux ON (led_docs.doc_id = led_docs_aux.doc_id AND led_docs.doc_version = led_docs_aux.doc_version)
       INNER JOIN (select * from led_users_tipo_doc
              where fecha_hasta >= GETDATE()
              and user_id = @p_user_id
              and visible = 1
              and (isnull(cliente,0) > 0 or cliente is null)
              and tipo_doc IS NULL) asig2 ON led_docs.cliente = asig2.cliente
       where led_docs_aux.estado_doc = @str_estado
       -- and led_docs.doc_id_lista IS NULL
       


      END ELSE BEGIN

       IF (@case1 > 0 AND @case2 = 0 AND @case3 > 0) BEGIN
        /* 5 */

        DECLARE QDOCS CURSOR FOR

        select led_docs.doc_id
        from led_docs INNER JOIN (select * from led_users_tipo_doc
               where fecha_hasta >= GETDATE()
               and user_id = @p_user_id
               and visible = 1
               and (isnull(cliente,0) > 0 or cliente is null)
               and tipo_doc > 0) asig1 ON (led_docs.cliente = asig1.cliente AND led_docs.tipo_doc = asig1.tipo_doc)
        where led_docs.estado_doc = @str_estado
        -- and led_docs.doc_id_lista IS NULL
        AND ISNULL(led_docs.doc_version, 0) = 0

        UNION
        
        select led_docs.doc_id
        from led_docs INNER JOIN (select * from led_users_tipo_doc
               where fecha_hasta >= GETDATE()
               and user_id = @p_user_id
               and visible = 1
               and cliente IS NULL
               and tipo_doc > 0) asig3 ON led_docs.tipo_doc = asig3.tipo_doc
        where led_docs.estado_doc = @str_estado
        -- and led_docs.doc_id_lista IS NULL
        AND ISNULL(led_docs.doc_version, 0) = 0



        DECLARE QDOCS_R CURSOR FOR

        select led_docs.doc_id
        from led_docs
        INNER JOIN led_docs_aux ON (led_docs.doc_id = led_docs_aux.doc_id AND led_docs.doc_version = led_docs_aux.doc_version)
        INNER JOIN (select * from led_users_tipo_doc
               where fecha_hasta >= GETDATE()
               and user_id = @p_user_id
               and visible = 1
               and (isnull(cliente,0) > 0 or cliente is null)
               and tipo_doc > 0) asig1 ON (led_docs.cliente = asig1.cliente AND led_docs.tipo_doc = asig1.tipo_doc)
        where led_docs_aux.estado_doc = @str_estado
        -- and led_docs.doc_id_lista IS NULL

        UNION
        
        select led_docs.doc_id
        from led_docs
        INNER JOIN led_docs_aux ON (led_docs.doc_id = led_docs_aux.doc_id AND led_docs.doc_version = led_docs_aux.doc_version)
        INNER JOIN (select * from led_users_tipo_doc
               where fecha_hasta >= GETDATE()
               and user_id = @p_user_id
               and visible = 1
               and cliente IS NULL
               and tipo_doc > 0) asig3 ON led_docs.tipo_doc = asig3.tipo_doc
        where led_docs_aux.estado_doc = @str_estado
        -- and led_docs.doc_id_lista IS NULL



       END ELSE BEGIN

        IF (@case1 = 0 AND @case2 > 0 AND @case3 > 0) BEGIN
         /* 6 */

         DECLARE QDOCS CURSOR FOR
         
         select led_docs.doc_id
         from led_docs INNER JOIN (select * from led_users_tipo_doc
                where fecha_hasta >= GETDATE()
                and user_id = @p_user_id
                and visible = 1
                and (isnull(cliente,0) > 0 or cliente is null)
                and tipo_doc IS NULL) asig2 ON led_docs.cliente = asig2.cliente
         where led_docs.estado_doc = @str_estado
         -- and led_docs.doc_id_lista IS NULL
         AND ISNULL(led_docs.doc_version, 0) = 0

         UNION

         select led_docs.doc_id
         from led_docs INNER JOIN (select * from led_users_tipo_doc
                where fecha_hasta >= GETDATE()
                and user_id = @p_user_id
                and visible = 1
                and cliente IS NULL
                and tipo_doc > 0) asig3 ON led_docs.tipo_doc = asig3.tipo_doc
         where led_docs.estado_doc = @str_estado
         -- and led_docs.doc_id_lista IS NULL
         AND ISNULL(led_docs.doc_version, 0) = 0


         DECLARE QDOCS_R CURSOR FOR

         select led_docs.doc_id
         from led_docs
         INNER JOIN led_docs_aux ON (led_docs.doc_id = led_docs_aux.doc_id AND led_docs.doc_version = led_docs_aux.doc_version)
         INNER JOIN (select * from led_users_tipo_doc
                where fecha_hasta >= GETDATE()
                and user_id = @p_user_id
                and visible = 1
                and (isnull(cliente,0) > 0 or cliente is null)
                and tipo_doc IS NULL) asig2 ON led_docs.cliente = asig2.cliente
         where led_docs_aux.estado_doc = @str_estado
         -- and led_docs.doc_id_lista IS NULL

         UNION

         select led_docs.doc_id
         from led_docs
         INNER JOIN led_docs_aux ON (led_docs.doc_id = led_docs_aux.doc_id AND led_docs.doc_version = led_docs_aux.doc_version)
         INNER JOIN (select * from led_users_tipo_doc
                where fecha_hasta >= GETDATE()
                and user_id = @p_user_id
                and visible = 1
                and cliente IS NULL
                and tipo_doc > 0) asig3 ON led_docs.tipo_doc = asig3.tipo_doc
         where led_docs_aux.estado_doc = @str_estado
         -- and led_docs.doc_id_lista IS NULL

         

        END ELSE BEGIN

         IF (@case1 > 0 AND @case2 > 0 AND @case3 > 0) BEGIN
          /* 7 */

          DECLARE QDOCS CURSOR FOR
          
          select led_docs.doc_id
          from led_docs INNER JOIN (select * from led_users_tipo_doc
                 where fecha_hasta >= GETDATE()
                 and user_id = @p_user_id
                 and visible = 1
                 and (isnull(cliente,0) > 0 or cliente is null)
                 and tipo_doc > 0) asig1 ON (led_docs.cliente = asig1.cliente AND led_docs.tipo_doc = asig1.tipo_doc)
          where led_docs.estado_doc = @str_estado
          -- and led_docs.doc_id_lista IS NULL
          AND ISNULL(led_docs.doc_version, 0) = 0

          UNION

          select led_docs.doc_id
          from led_docs INNER JOIN (select * from led_users_tipo_doc
                 where fecha_hasta >= GETDATE()
                 and user_id = @p_user_id
                 and visible = 1
                 and (isnull(cliente,0) > 0 or cliente is null)
                 and tipo_doc IS NULL) asig2 ON led_docs.cliente = asig2.cliente
          where led_docs.estado_doc = @str_estado
          -- and led_docs.doc_id_lista IS NULL
          AND ISNULL(led_docs.doc_version, 0) = 0

          UNION

          select led_docs.doc_id
          from led_docs INNER JOIN (select * from led_users_tipo_doc
                 where fecha_hasta >= GETDATE()
                 and user_id = @p_user_id
                 and visible = 1
                 and cliente IS NULL
                 and tipo_doc > 0) asig3 ON led_docs.tipo_doc = asig3.tipo_doc
          where led_docs.estado_doc = @str_estado
          -- and led_docs.doc_id_lista IS NULL
          AND ISNULL(led_docs.doc_version, 0) = 0



          DECLARE QDOCS_R CURSOR FOR

          select led_docs.doc_id
          from led_docs
          INNER JOIN led_docs_aux ON (led_docs.doc_id = led_docs_aux.doc_id AND led_docs.doc_version = led_docs_aux.doc_version)
          INNER JOIN (select * from led_users_tipo_doc
                 where fecha_hasta >= GETDATE()
                 and user_id = @p_user_id
                 and visible = 1
                 and (isnull(cliente,0) > 0 or cliente is null)
                 and tipo_doc > 0) asig1 ON (led_docs.cliente = asig1.cliente AND led_docs.tipo_doc = asig1.tipo_doc)
          where led_docs_aux.estado_doc = @str_estado
          -- and led_docs.doc_id_lista IS NULL

          UNION

          select led_docs.doc_id
          from led_docs
          INNER JOIN led_docs_aux ON (led_docs.doc_id = led_docs_aux.doc_id AND led_docs.doc_version = led_docs_aux.doc_version)
          INNER JOIN (select * from led_users_tipo_doc
                 where fecha_hasta >= GETDATE()
                 and user_id = @p_user_id
                 and visible = 1
                 and (isnull(cliente,0) > 0 or cliente is null)
                 and tipo_doc IS NULL) asig2 ON led_docs.cliente = asig2.cliente
          where led_docs.estado_doc = @str_estado
          and led_docs_aux.doc_id_lista IS NULL
          

          UNION

          select led_docs.doc_id
          from led_docs
          INNER JOIN led_docs_aux ON (led_docs.doc_id = led_docs_aux.doc_id AND led_docs.doc_version = led_docs_aux.doc_version)
          INNER JOIN (select * from led_users_tipo_doc
                 where fecha_hasta >= GETDATE()
                 and user_id = @p_user_id
                 and visible = 1
                 and cliente IS NULL
                 and tipo_doc > 0) asig3 ON led_docs.tipo_doc = asig3.tipo_doc
          where led_docs_aux.estado_doc = @str_estado
          -- and led_docs.doc_id_lista IS NULL
         



         END

        END
       END

      END

     END

    END

   END
   /* FIN EVALUACION DE CASOS */


   OPEN QDOCS
   FETCH NEXT FROM QDOCS INTO @DOC_ID
   WHILE @@FETCH_STATUS = 0 BEGIN
    IF (@DOCS <> '') BEGIN SET @DOCS = @DOCS + ',' END
    SET @DOCS = @DOCS + CONVERT(VARCHAR,@DOC_ID)
    FETCH NEXT FROM QDOCS INTO @DOC_ID
   END
   CLOSE QDOCS
   DEALLOCATE QDOCS


   OPEN QDOCS_R
   FETCH NEXT FROM QDOCS_R INTO @DOC_ID
   WHILE @@FETCH_STATUS = 0 BEGIN
    IF (@DOCS_R <> '') BEGIN SET @DOCS_R = @DOCS_R + ',' END
    SET @DOCS_R = @DOCS_R + CONVERT(VARCHAR,@DOC_ID)
    FETCH NEXT FROM QDOCS_R INTO @DOC_ID
   END
   CLOSE QDOCS_R
   DEALLOCATE QDOCS_R

   SET @DOCS = '0,0'
   SET @DOCS_R = '0,0'


-- SELECT '535',@case1,@case2,@case3,@suma_parcial as suma_parcial,@str_estado as str_estado,dbo.PeriodoAnual() as anual, @DOCS as docs
  --RETURN
  /*
  
   exec Imperium_vista_admin_PD_AGB2 62352520,0,0
  
   */


   /* contratistas */ 
   SELECT led_docs.doc_id, ISNULL(led_docs.doc_version, 0) AS doc_version,
   ISNULL(led_cliente_contratista.ci_killer, 0) AS ci_killer,
   led_docs.periodo, led_docs.led_seccion, led_docs.tipo_doc, led_complejidad_doc.codigo_complejidad,
   'Contratistas' AS nombre_seccion,
   led_docs.contratista, led_docs.contratista_1, led_docs.empleado, led_docs.vehiculo, 
   led_docs.cliente, led_docs.estado_doc, led_docs.fecha_vigencia, led_docs.fecha_tolerancia,
   led_docs.ingresado, led_docs.verificado, led_docs.rechazado,
   ISNULL(led_docs.aprobacion_parcial, 0) AS aprobacion_parcial,
   ISNULL(led_docs.parcial_actualizado, 0) AS parcial_actualizado,
   ISNULL(led_docs.reapertura_por_alta, 0) AS reapertura_por_alta,

   DATEADD(DAY, ISNULL(led_contratos.sla_dias, 3), led_docs.ingresado) AS tolerancia_verif,
   clientes.nombre_cliente, led_tipos_doc.nombre_tipo_doc,
   led_tipos_doc.validar_lista_cuil, led_tipos_doc.validar_lista_dominios, led_tipos_doc.validar_cuit, 
   padrones.nombre_persona as nombre_contratista, padrones.identificador, padrones.numero,
   padrones_1.nombre_persona as nombre_contratista_1, padrones_1.identificador as identificador_1, padrones_1.numero as numero_1,
   NULL as nombre_empleado, NULL as identificador_e, NULL as numero_e, 
   NULL as nombre_vehiculo, NULL as dominio,led_cliente_contratista.verificacion 

   FROM led_docs
   INNER JOIN clientes ON led_docs.cliente = clientes.cliente
   INNER JOIN led_contratos ON clientes.cliente = led_contratos.cliente
   INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc

   INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
   INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
   INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
   INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron

   INNER JOIN led_contratista_periodo ON (led_docs.contratista = led_contratista_periodo.contratista
             AND led_docs.periodo = led_contratista_periodo.periodo)

   INNER JOIN led_contratista_multi ON led_docs.contratista = led_contratista_multi.contratista

   INNER JOIN led_cliente_contratista ON
    (led_docs.cliente = led_cliente_contratista.cliente
    AND led_docs.tipo_doc = led_cliente_contratista.tipo_doc
   -- AND led_contratista_multi.tipo_contratista = led_cliente_contratista.tipo_contratista
    AND led_cliente_contratista.verificacion = 'F'
    AND led_cliente_contratista.activo = 1)

   INNER JOIN dbo.DelimitedSplit8K(@str_acceso, ',') acceso ON ISNULL(led_cliente_contratista.ci_killer, 0) = acceso.Item
   /*INNER JOIN dbo.DelimitedSplit8K(@str_parcial, ',') parciales ON ISNULL(led_docs.aprobacion_parcial, 0) = parciales.Item*/

   LEFT JOIN dbo.DelimitedSplit8K(@DOCS, ',') DOCS ON led_docs.doc_id = DOCS.Item

   LEFT OUTER JOIN led_complejidad_doc ON led_tipos_doc.complejidad = led_complejidad_doc.complejidad

   WHERE led_docs.led_seccion = 'C'
   AND led_docs.estado_doc = @str_estado
   
   and led_docs.doc_id_lista IS NULL
   
   AND ISNULL(led_docs.doc_version, 0) = 0
   AND led_cliente_contratista.verificacion = 'F'

  -- AND (ISNULL(led_docs.aprobacion_parcial, 0) + ISNULL(led_docs.reapertura_por_alta, 0) + ISNULL(led_docs.parcial_actualizado, 0)) <> @suma_parcial
   and led_docs.tipo_doc in (select distinct tipo_doc from led_users_tipo_doc where fecha_hasta >= GETDATE() and user_id = @p_user_id and visible = 1 and tipo_doc > 0)
   
   and led_docs.periodo >= dbo.PeriodoAnual()
   and led_docs.cliente != 5546348
   GROUP BY led_docs.doc_id, led_docs.doc_version, led_cliente_contratista.ci_killer, led_docs.periodo, led_docs.led_seccion, led_docs.tipo_doc,
   led_complejidad_doc.codigo_complejidad, led_docs.contratista, led_docs.contratista_1, led_docs.empleado, led_docs.vehiculo, 
   led_docs.cliente, led_docs.estado_doc, led_docs.fecha_vigencia, led_docs.fecha_tolerancia,
   led_docs.ingresado, led_docs.verificado, led_docs.rechazado, 
   led_docs.aprobacion_parcial, led_docs.parcial_actualizado, led_docs.reapertura_por_alta, led_contratos.sla_dias, 
   clientes.nombre_cliente, led_tipos_doc.nombre_tipo_doc,
   led_tipos_doc.validar_lista_cuil, led_tipos_doc.validar_lista_dominios, led_tipos_doc.validar_cuit, 
   padrones.nombre_persona, padrones.identificador, padrones.numero,
   padrones_1.nombre_persona, padrones_1.identificador, padrones_1.numero,led_cliente_contratista.verificacion 


   UNION


   /* empleados */
   SELECT led_docs.doc_id, ISNULL(led_docs.doc_version, 0) AS doc_version,
   ISNULL(led_cliente_empleado.ci_killer, 0) AS ci_killer,
   led_docs.periodo, led_docs.led_seccion, led_docs.tipo_doc, led_complejidad_doc.codigo_complejidad,
   'Empleados' AS nombre_seccion,
   led_docs.contratista, led_docs.contratista_1, led_docs.empleado, led_docs.vehiculo, 
   led_docs.cliente, led_docs.estado_doc, led_docs.fecha_vigencia, led_docs.fecha_tolerancia,
   led_docs.ingresado, led_docs.verificado, led_docs.rechazado,
   0 AS aprobacion_parcial,
   0 AS parcial_actualizado,
   0 AS reapertura_por_alta,

   DATEADD(DAY, ISNULL(led_contratos.sla_dias, 3), led_docs.ingresado) AS tolerancia_verif,
   clientes.nombre_cliente, led_tipos_doc.nombre_tipo_doc,
   NULL AS validar_lista_cuil, NULL AS validar_lista_dominios, NULL AS validar_cuit, 
   padrones.nombre_persona as nombre_contratista, padrones.identificador, padrones.numero,
   padrones_1.nombre_persona as nombre_contratista_1, padrones_1.identificador as identificador_1, padrones_1.numero as numero_1,
   padrones_e.nombre_persona as nombre_empleado, padrones_e.identificador as identificador_e, padrones_e.numero as numero_e, 
   NULL as nombre_vehiculo, NULL as dominio,led_cliente_empleado.verificacion 


   FROM led_docs
   INNER JOIN clientes ON led_docs.cliente = clientes.cliente
   INNER JOIN led_contratos ON clientes.cliente = led_contratos.cliente
   INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc

   INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
   INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
   INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
   INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron

   INNER JOIN led_empleados ON led_docs.empleado = led_empleados.empleado
   INNER JOIN padrones padrones_e ON led_empleados.id_padron = padrones_e.id_padron

   INNER JOIN led_empleados_periodo ON (led_docs.empleado = led_empleados_periodo.empleado
             AND led_docs.periodo = led_empleados_periodo.periodo)

   LEFT JOIN led_cliente_empleado ON
    (led_docs.cliente = led_cliente_empleado.cliente
    AND led_docs.tipo_doc = led_cliente_empleado.tipo_doc
    AND led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
    AND led_cliente_empleado.verificacion = 'F'
    AND led_cliente_empleado.activo = 1)

   INNER JOIN dbo.DelimitedSplit8K(@str_acceso, ',') acceso ON ISNULL(led_cliente_empleado.ci_killer, 0) = acceso.Item

   --INNER JOIN dbo.DelimitedSplit8K(@DOCS, ',') DOCS ON led_docs.doc_id = DOCS.Item

   LEFT OUTER JOIN led_complejidad_doc ON led_tipos_doc.complejidad = led_complejidad_doc.complejidad

   WHERE led_docs.led_seccion = 'E'
   AND led_docs.estado_doc = @str_estado
   and led_docs.doc_id_lista IS NULL
   AND ISNULL(led_docs.doc_version, 0) = 0
   AND led_cliente_empleado.verificacion = 'F'
   and led_docs.periodo >= dbo.PeriodoAnual()
   and led_docs.cliente != 5546348
   and led_docs.tipo_doc in (select distinct tipo_doc from led_users_tipo_doc where fecha_hasta >= GETDATE() and user_id = @p_user_id and visible = 1 and tipo_doc > 0)

   GROUP BY led_docs.doc_id, led_docs.doc_version, led_cliente_empleado.ci_killer, led_docs.periodo, led_docs.led_seccion, led_docs.tipo_doc,
   led_complejidad_doc.codigo_complejidad, led_docs.contratista, led_docs.contratista_1, led_docs.empleado, led_docs.vehiculo, 
   led_docs.cliente, led_docs.estado_doc, led_docs.fecha_vigencia, led_docs.fecha_tolerancia,
   led_docs.ingresado, led_docs.verificado, led_docs.rechazado, led_contratos.sla_dias, 
   clientes.nombre_cliente, led_tipos_doc.nombre_tipo_doc,
   padrones.nombre_persona, padrones.identificador, padrones.numero,
   padrones_1.nombre_persona, padrones_1.identificador, padrones_1.numero,
   padrones_e.nombre_persona, padrones_e.identificador, padrones_e.numero,led_cliente_empleado.verificacion 

 
   UNION


   /* vehiculos */
   SELECT led_docs.doc_id, ISNULL(led_docs.doc_version, 0) AS doc_version,
   ISNULL(led_cliente_vehiculo.ci_killer, 0) AS ci_killer,
   led_docs.periodo, led_docs.led_seccion, led_docs.tipo_doc, led_complejidad_doc.codigo_complejidad,
   'Vehículos' AS nombre_seccion,
   led_docs.contratista, led_docs.contratista_1, led_docs.empleado, led_docs.vehiculo, 
   led_docs.cliente, led_docs.estado_doc, led_docs.fecha_vigencia, led_docs.fecha_tolerancia,
   led_docs.ingresado, led_docs.verificado, led_docs.rechazado,
   0 AS aprobacion_parcial,
   0 AS parcial_actualizado,
   0 AS reapertura_por_alta,

   DATEADD(DAY, ISNULL(led_contratos.sla_dias, 3), led_docs.ingresado) AS tolerancia_verif,
   clientes.nombre_cliente, led_tipos_doc.nombre_tipo_doc,
   NULL AS validar_lista_cuil, NULL AS validar_lista_dominios, NULL AS validar_cuit, 
   padrones.nombre_persona as nombre_contratista, padrones.identificador, padrones.numero,
   padrones_1.nombre_persona as nombre_contratista_1, padrones_1.identificador as identificador_1, padrones_1.numero as numero_1,
   NULL as nombre_empleado, NULL as identificador_e, NULL as numero_e, 
   led_vehiculos.nombre_vehiculo, led_vehiculos.dominio,led_cliente_vehiculo.verificacion 

   FROM led_docs
   INNER JOIN clientes ON led_docs.cliente = clientes.cliente
   INNER JOIN led_contratos ON clientes.cliente = led_contratos.cliente
   INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc

   INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
   INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
   INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
   INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron

   INNER JOIN led_vehiculos ON led_docs.vehiculo = led_vehiculos.vehiculo

   INNER JOIN led_vehiculos_periodo ON (led_docs.vehiculo = led_vehiculos_periodo.vehiculo
             AND led_docs.periodo = led_vehiculos_periodo.periodo)

   INNER JOIN led_cliente_vehiculo ON
    (led_docs.cliente = led_cliente_vehiculo.cliente
    AND led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc
    AND led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
    AND led_cliente_vehiculo.verificacion = 'F'
    AND led_cliente_vehiculo.activo = 1)

   INNER JOIN dbo.DelimitedSplit8K(@str_acceso, ',') acceso ON ISNULL(led_cliente_vehiculo.ci_killer, 0) = acceso.Item

   LEFT JOIN dbo.DelimitedSplit8K(@DOCS, ',') DOCS ON led_docs.doc_id = DOCS.Item

   LEFT OUTER JOIN led_complejidad_doc ON led_tipos_doc.complejidad = led_complejidad_doc.complejidad

   WHERE led_docs.led_seccion = 'V'
   AND led_docs.estado_doc = @str_estado
   and led_docs.doc_id_lista IS NULL
   AND ISNULL(led_docs.doc_version, 0) = 0
   AND led_cliente_vehiculo.verificacion = 'F'
   and led_docs.periodo >= dbo.PeriodoAnual()
   and led_docs.cliente != 5546348
   and led_docs.tipo_doc in (select distinct tipo_doc from led_users_tipo_doc where fecha_hasta >= GETDATE() and user_id = @p_user_id and visible = 1 and tipo_doc > 0)

   GROUP BY led_docs.doc_id, led_docs.doc_version, led_cliente_vehiculo.ci_killer, led_docs.periodo, led_docs.led_seccion, led_docs.tipo_doc,
   led_complejidad_doc.codigo_complejidad, led_docs.contratista, led_docs.contratista_1, led_docs.empleado, led_docs.vehiculo, 
   led_docs.cliente, led_docs.estado_doc, led_docs.fecha_vigencia, led_docs.fecha_tolerancia,
   led_docs.ingresado, led_docs.verificado, led_docs.rechazado, led_contratos.sla_dias, 
   clientes.nombre_cliente, led_tipos_doc.nombre_tipo_doc,
   padrones.nombre_persona, padrones.identificador, padrones.numero,
   padrones_1.nombre_persona, padrones_1.identificador, padrones_1.numero,
   led_vehiculos.nombre_vehiculo, led_vehiculos.dominio,led_cliente_vehiculo.verificacion 


   UNION


   /* SUBcontratistas */ 
   SELECT led_docs.doc_id, ISNULL(led_docs.doc_version, 0) AS doc_version,
   ISNULL(led_cliente_contratista.ci_killer, 0) AS ci_killer,
   led_docs.periodo, led_docs.led_seccion, led_docs.tipo_doc, led_complejidad_doc.codigo_complejidad,
   'Contratistas' AS nombre_seccion,
   led_docs.contratista, led_docs.contratista_1, led_docs.empleado, led_docs.vehiculo, 
   led_docs.cliente, led_docs.estado_doc, led_docs.fecha_vigencia, led_docs.fecha_tolerancia,
   led_docs.ingresado, led_docs.verificado, led_docs.rechazado,
   ISNULL(led_docs.aprobacion_parcial, 0) AS aprobacion_parcial,
   ISNULL(led_docs.parcial_actualizado, 0) AS parcial_actualizado,
   ISNULL(led_docs.reapertura_por_alta, 0) AS reapertura_por_alta,

   DATEADD(DAY, ISNULL(led_contratos.sla_dias, 3), led_docs.ingresado) AS tolerancia_verif,
   clientes.nombre_cliente, led_tipos_doc.nombre_tipo_doc,
   led_tipos_doc.validar_lista_cuil, led_tipos_doc.validar_lista_dominios, led_tipos_doc.validar_cuit, 
   padrones.nombre_persona as nombre_contratista, padrones.identificador, padrones.numero,
   padrones_1.nombre_persona as nombre_contratista_1, padrones_1.identificador as identificador_1, padrones_1.numero as numero_1,
   NULL as nombre_empleado, NULL as identificador_e, NULL as numero_e, 
   NULL as nombre_vehiculo, NULL as dominio,led_cliente_contratista.verificacion 

   FROM led_docs
   INNER JOIN clientes ON led_docs.cliente = clientes.cliente
   INNER JOIN led_contratos ON clientes.cliente = led_contratos.cliente
   INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc

   INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
   INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
   INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
   INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron

   INNER JOIN led_subcontratista_periodo ON (led_docs.contratista = led_subcontratista_periodo.subcontratista
             AND led_docs.periodo = led_subcontratista_periodo.periodo)

   INNER JOIN led_contratista_multi ON led_docs.contratista = led_contratista_multi.contratista

   INNER JOIN led_cliente_contratista ON
    (led_docs.cliente = led_cliente_contratista.cliente
    AND led_docs.tipo_doc = led_cliente_contratista.tipo_doc
   -- AND led_contratista_multi.tipo_contratista = led_cliente_contratista.tipo_contratista
    AND led_cliente_contratista.verificacion = 'F'
    AND led_cliente_contratista.activo = 1)

   INNER JOIN dbo.DelimitedSplit8K(@str_acceso, ',') acceso ON ISNULL(led_cliente_contratista.ci_killer, 0) = acceso.Item
   /*INNER JOIN dbo.DelimitedSplit8K(@str_parcial, ',') parciales ON ISNULL(led_docs.aprobacion_parcial, 0) = parciales.Item*/

   LEFT JOIN dbo.DelimitedSplit8K(@DOCS, ',') DOCS ON led_docs.doc_id = DOCS.Item

   LEFT OUTER JOIN led_complejidad_doc ON led_tipos_doc.complejidad = led_complejidad_doc.complejidad

   WHERE led_docs.led_seccion = 'C'
   AND led_docs.estado_doc = @str_estado
   and led_docs.doc_id_lista IS NULL
   AND ISNULL(led_docs.doc_version, 0) = 0
   AND led_cliente_contratista.verificacion = 'F'

   AND (ISNULL(led_docs.aprobacion_parcial, 0) + ISNULL(led_docs.reapertura_por_alta, 0) + ISNULL(led_docs.parcial_actualizado, 0)) <> @suma_parcial
   and led_docs.periodo >= dbo.PeriodoAnual()
   and led_docs.cliente != 5546348
   and led_docs.tipo_doc in (select distinct tipo_doc from led_users_tipo_doc where fecha_hasta >= GETDATE() and user_id = @p_user_id and visible = 1 and tipo_doc > 0)

   GROUP BY led_docs.doc_id, led_docs.doc_version, led_cliente_contratista.ci_killer, led_docs.periodo, led_docs.led_seccion, led_docs.tipo_doc,
   led_complejidad_doc.codigo_complejidad, led_docs.contratista, led_docs.contratista_1, led_docs.empleado, led_docs.vehiculo, 
   led_docs.cliente, led_docs.estado_doc, led_docs.fecha_vigencia, led_docs.fecha_tolerancia,
   led_docs.ingresado, led_docs.verificado, led_docs.rechazado, 
   led_docs.aprobacion_parcial, led_docs.parcial_actualizado, led_docs.reapertura_por_alta, led_contratos.sla_dias,
   clientes.nombre_cliente, led_tipos_doc.nombre_tipo_doc,
   led_tipos_doc.validar_lista_cuil, led_tipos_doc.validar_lista_dominios, led_tipos_doc.validar_cuit, 
   padrones.nombre_persona, padrones.identificador, padrones.numero,
   padrones_1.nombre_persona, padrones_1.identificador, padrones_1.numero,led_cliente_contratista.verificacion 





   UNION



   /* DOCUMENTOS CON VERSION DE REEMPLAZO PENDIENTES DE VERIFICAR (DEL PERIODO ACTUAL Y DE ACCESO) */

   /* contratistas CON VERSION DE REEMPLAZO */ 
   SELECT led_docs.doc_id, ISNULL(led_docs.doc_version, 0) AS doc_version,
   ISNULL(led_cliente_contratista.ci_killer, 0) AS ci_killer,
   led_docs.periodo, led_docs.led_seccion, led_docs.tipo_doc, led_complejidad_doc.codigo_complejidad,
   'Contratistas' AS nombre_seccion,
   led_docs.contratista, led_docs.contratista_1, led_docs.empleado, led_docs.vehiculo, 
   led_docs.cliente, led_docs_aux.estado_doc, led_docs.fecha_vigencia, led_docs_aux.fecha_tolerancia,
   led_docs_aux.ingresado, led_docs_aux.verificado, led_docs_aux.rechazado,
   ISNULL(led_docs_aux.aprobacion_parcial, 0) AS aprobacion_parcial,
   ISNULL(led_docs_aux.parcial_actualizado, 0) AS parcial_actualizado,
   ISNULL(led_docs_aux.reapertura_por_alta, 0) AS reapertura_por_alta,

   IIF(led_docs_aux.ingresado < led_docs.fecha_vigencia, led_docs.fecha_vigencia, DATEADD(DAY, ISNULL(led_contratos.sla_dias, 3), led_docs_aux.ingresado)) AS tolerancia_verif,

   clientes.nombre_cliente, led_tipos_doc.nombre_tipo_doc,
   led_tipos_doc.validar_lista_cuil, led_tipos_doc.validar_lista_dominios, led_tipos_doc.validar_cuit, 
   padrones.nombre_persona as nombre_contratista, padrones.identificador, padrones.numero,
   padrones_1.nombre_persona as nombre_contratista_1, padrones_1.identificador as identificador_1, padrones_1.numero as numero_1,
   NULL as nombre_empleado, NULL as identificador_e, NULL as numero_e, 
   NULL as nombre_vehiculo, NULL as dominio,led_cliente_contratista.verificacion 

   FROM led_docs
   INNER JOIN led_docs_aux ON (led_docs.doc_id = led_docs_aux.doc_id AND led_docs.doc_version = led_docs_aux.doc_version)

   INNER JOIN clientes ON led_docs.cliente = clientes.cliente
   INNER JOIN led_contratos ON clientes.cliente = led_contratos.cliente
   INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc

   INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
   INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
   INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
   INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron

   INNER JOIN led_contratista_periodo ON (led_docs.contratista = led_contratista_periodo.contratista
             AND led_docs.periodo = led_contratista_periodo.periodo)

   INNER JOIN led_contratista_multi ON led_docs.contratista = led_contratista_multi.contratista

   INNER JOIN led_cliente_contratista ON
    (led_docs.cliente = led_cliente_contratista.cliente
    AND led_docs.tipo_doc = led_cliente_contratista.tipo_doc
    --AND led_contratista_multi.tipo_contratista = led_cliente_contratista.tipo_contratista
    AND led_cliente_contratista.verificacion = 'F'
    AND led_cliente_contratista.activo = 1)

   INNER JOIN dbo.DelimitedSplit8K(@str_acceso, ',') acceso ON ISNULL(led_cliente_contratista.ci_killer, 0) = acceso.Item
   /*INNER JOIN dbo.DelimitedSplit8K(@str_parcial, ',') parciales ON ISNULL(led_docs_aux.aprobacion_parcial, 0) = parciales.Item*/

   LEFT JOIN dbo.DelimitedSplit8K(@DOCS_R, ',') DOCS ON led_docs.doc_id = DOCS.Item

   LEFT OUTER JOIN led_complejidad_doc ON led_tipos_doc.complejidad = led_complejidad_doc.complejidad

   WHERE led_docs.led_seccion = 'C'
   AND led_docs_aux.estado_doc = @str_estado
   and led_docs.doc_id_lista IS NULL
   AND led_cliente_contratista.verificacion = 'F'

   AND (ISNULL(led_docs_aux.aprobacion_parcial, 0) + ISNULL(led_docs_aux.reapertura_por_alta, 0) + ISNULL(led_docs_aux.parcial_actualizado, 0)) <> @suma_parcial
   and led_docs.periodo >= dbo.PeriodoAnual()
   and led_docs.cliente != 5546348
   and led_docs.tipo_doc in (select distinct tipo_doc from led_users_tipo_doc where fecha_hasta >= GETDATE() and user_id = @p_user_id and visible = 1 and tipo_doc > 0)

   GROUP BY led_docs.doc_id, led_docs.doc_version, led_cliente_contratista.ci_killer, led_docs.periodo, led_docs.led_seccion, led_docs.tipo_doc,
   led_complejidad_doc.codigo_complejidad, led_docs.contratista, led_docs.contratista_1, led_docs.empleado, led_docs.vehiculo, 
   led_docs.cliente, led_docs_aux.estado_doc, led_docs.fecha_vigencia, led_docs_aux.fecha_tolerancia,
   led_docs_aux.ingresado, led_docs_aux.verificado, led_docs_aux.rechazado, 
   led_docs_aux.aprobacion_parcial, led_docs_aux.parcial_actualizado, led_docs_aux.reapertura_por_alta, led_contratos.sla_dias, 
   clientes.nombre_cliente, led_tipos_doc.nombre_tipo_doc,
   led_tipos_doc.validar_lista_cuil, led_tipos_doc.validar_lista_dominios, led_tipos_doc.validar_cuit, 
   padrones.nombre_persona, padrones.identificador, padrones.numero,
   padrones_1.nombre_persona, padrones_1.identificador, padrones_1.numero,led_cliente_contratista.verificacion 


   UNION


   /* empleados CON VERSION DE REEMPLAZO */
   SELECT led_docs.doc_id, ISNULL(led_docs.doc_version, 0) AS doc_version,
   ISNULL(led_cliente_empleado.ci_killer, 0) AS ci_killer,
   led_docs.periodo, led_docs.led_seccion, led_docs.tipo_doc, led_complejidad_doc.codigo_complejidad,
   'Empleados' AS nombre_seccion,
   led_docs.contratista, led_docs.contratista_1, led_docs.empleado, led_docs.vehiculo, 
   led_docs.cliente, led_docs_aux.estado_doc, led_docs.fecha_vigencia, led_docs_aux.fecha_tolerancia,
   led_docs_aux.ingresado, led_docs_aux.verificado, led_docs_aux.rechazado,
   0 AS aprobacion_parcial,
   0 AS parcial_actualizado,
   0 AS reapertura_por_alta,

   IIF(led_docs_aux.ingresado < led_docs.fecha_vigencia, led_docs.fecha_vigencia, DATEADD(DAY, ISNULL(led_contratos.sla_dias, 3), led_docs_aux.ingresado)) AS tolerancia_verif,

   clientes.nombre_cliente, led_tipos_doc.nombre_tipo_doc,
   NULL AS validar_lista_cuil, NULL AS validar_lista_dominios, NULL AS validar_cuit, 
   padrones.nombre_persona as nombre_contratista, padrones.identificador, padrones.numero,
   padrones_1.nombre_persona as nombre_contratista_1, padrones_1.identificador as identificador_1, padrones_1.numero as numero_1,
   padrones_e.nombre_persona as nombre_empleado, padrones_e.identificador as identificador_e, padrones_e.numero as numero_e, 
   NULL as nombre_vehiculo, NULL as dominio,led_cliente_empleado.verificacion 


   FROM led_docs
   INNER JOIN led_docs_aux ON (led_docs.doc_id = led_docs_aux.doc_id AND led_docs.doc_version = led_docs_aux.doc_version)

   INNER JOIN clientes ON led_docs.cliente = clientes.cliente
   INNER JOIN led_contratos ON clientes.cliente = led_contratos.cliente
   INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc

   INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
   INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
   INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
   INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron

   INNER JOIN led_empleados ON led_docs.empleado = led_empleados.empleado
   INNER JOIN padrones padrones_e ON led_empleados.id_padron = padrones_e.id_padron

   INNER JOIN led_empleados_periodo ON (led_docs.empleado = led_empleados_periodo.empleado
             AND led_docs.periodo = led_empleados_periodo.periodo)

   INNER JOIN led_cliente_empleado ON
    (led_docs.cliente = led_cliente_empleado.cliente
    AND led_docs.tipo_doc = led_cliente_empleado.tipo_doc
    AND led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
    AND led_cliente_empleado.verificacion = 'F'
    AND led_cliente_empleado.activo = 1)

   INNER JOIN dbo.DelimitedSplit8K(@str_acceso, ',') acceso ON ISNULL(led_cliente_empleado.ci_killer, 0) = acceso.Item

   LEFT JOIN dbo.DelimitedSplit8K(@DOCS_R, ',') DOCS ON led_docs.doc_id = DOCS.Item

   LEFT OUTER JOIN led_complejidad_doc ON led_tipos_doc.complejidad = led_complejidad_doc.complejidad

   WHERE led_docs.led_seccion = 'E'
   AND led_docs_aux.estado_doc = @str_estado
   and led_docs.doc_id_lista IS NULL
   AND led_cliente_empleado.verificacion = 'F'
   and led_docs.periodo >= dbo.PeriodoAnual()
   and led_docs.cliente != 5546348
   and led_docs.tipo_doc in (select distinct tipo_doc from led_users_tipo_doc where fecha_hasta >= GETDATE() and user_id = @p_user_id and visible = 1 and tipo_doc > 0)

   GROUP BY led_docs.doc_id, led_docs.doc_version, led_cliente_empleado.ci_killer, led_docs.periodo, led_docs.led_seccion, led_docs.tipo_doc,
   led_complejidad_doc.codigo_complejidad, led_docs.contratista, led_docs.contratista_1, led_docs.empleado, led_docs.vehiculo, 
   led_docs.cliente, led_docs_aux.estado_doc, led_docs.fecha_vigencia, led_docs_aux.fecha_tolerancia,
   led_docs_aux.ingresado, led_docs_aux.verificado, led_docs_aux.rechazado, led_contratos.sla_dias, 
   clientes.nombre_cliente, led_tipos_doc.nombre_tipo_doc,
   padrones.nombre_persona, padrones.identificador, padrones.numero,
   padrones_1.nombre_persona, padrones_1.identificador, padrones_1.numero,
   padrones_e.nombre_persona, padrones_e.identificador, padrones_e.numero,led_cliente_empleado.verificacion 

 
   UNION


   /* vehiculos CON VERSION DE REEMPLAZO */
   SELECT led_docs.doc_id, ISNULL(led_docs.doc_version, 0) AS doc_version,
   ISNULL(led_cliente_vehiculo.ci_killer, 0) AS ci_killer,
   led_docs.periodo, led_docs.led_seccion, led_docs.tipo_doc, led_complejidad_doc.codigo_complejidad,
   'Vehículos' AS nombre_seccion,
   led_docs.contratista, led_docs.contratista_1, led_docs.empleado, led_docs.vehiculo, 
   led_docs.cliente, led_docs_aux.estado_doc, led_docs.fecha_vigencia, led_docs_aux.fecha_tolerancia,
   led_docs_aux.ingresado, led_docs_aux.verificado, led_docs_aux.rechazado,
   0 AS aprobacion_parcial,
   0 AS parcial_actualizado,
   0 AS reapertura_por_alta,

   IIF(led_docs_aux.ingresado < led_docs.fecha_vigencia, led_docs.fecha_vigencia, DATEADD(DAY, ISNULL(led_contratos.sla_dias, 3), led_docs_aux.ingresado)) AS tolerancia_verif,

   clientes.nombre_cliente, led_tipos_doc.nombre_tipo_doc,
   NULL AS validar_lista_cuil, NULL AS validar_lista_dominios, NULL AS validar_cuit, 
   padrones.nombre_persona as nombre_contratista, padrones.identificador, padrones.numero,
   padrones_1.nombre_persona as nombre_contratista_1, padrones_1.identificador as identificador_1, padrones_1.numero as numero_1,
   NULL as nombre_empleado, NULL as identificador_e, NULL as numero_e, 
   led_vehiculos.nombre_vehiculo, led_vehiculos.dominio,led_cliente_vehiculo.verificacion 

   FROM led_docs
   INNER JOIN led_docs_aux ON (led_docs.doc_id = led_docs_aux.doc_id AND led_docs.doc_version = led_docs_aux.doc_version)

   INNER JOIN clientes ON led_docs.cliente = clientes.cliente
   INNER JOIN led_contratos ON clientes.cliente = led_contratos.cliente
   INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc

   INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
   INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
   INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
   INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron

   INNER JOIN led_vehiculos ON led_docs.vehiculo = led_vehiculos.vehiculo

   INNER JOIN led_vehiculos_periodo ON (led_docs.vehiculo = led_vehiculos_periodo.vehiculo
             AND led_docs.periodo = led_vehiculos_periodo.periodo)

   INNER JOIN led_cliente_vehiculo ON
    (led_docs.cliente = led_cliente_vehiculo.cliente
    AND led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc
    AND led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
    AND led_cliente_vehiculo.verificacion = 'F'
    AND led_cliente_vehiculo.activo = 1)

   INNER JOIN dbo.DelimitedSplit8K(@str_acceso, ',') acceso ON ISNULL(led_cliente_vehiculo.ci_killer, 0) = acceso.Item

   LEFT JOIN dbo.DelimitedSplit8K(@DOCS_R, ',') DOCS ON led_docs.doc_id = DOCS.Item 

   LEFT OUTER JOIN led_complejidad_doc ON led_tipos_doc.complejidad = led_complejidad_doc.complejidad

   WHERE led_docs.led_seccion = 'V'
   AND led_docs_aux.estado_doc = @str_estado
   and led_docs.doc_id_lista IS NULL
   AND led_cliente_vehiculo.verificacion = 'F'
   and led_docs.periodo >= dbo.PeriodoAnual()
   and led_docs.cliente != 5546348
   and led_docs.tipo_doc in (select distinct tipo_doc from led_users_tipo_doc where fecha_hasta >= GETDATE() and user_id = @p_user_id and visible = 1 and tipo_doc > 0)

   GROUP BY led_docs.doc_id, led_docs.doc_version, led_cliente_vehiculo.ci_killer, led_docs.periodo, led_docs.led_seccion, led_docs.tipo_doc,
   led_complejidad_doc.codigo_complejidad, led_docs.contratista, led_docs.contratista_1, led_docs.empleado, led_docs.vehiculo, 
   led_docs.cliente, led_docs_aux.estado_doc, led_docs.fecha_vigencia, led_docs_aux.fecha_tolerancia,
   led_docs_aux.ingresado, led_docs_aux.verificado, led_docs_aux.rechazado, led_contratos.sla_dias, 
   clientes.nombre_cliente, led_tipos_doc.nombre_tipo_doc,
   padrones.nombre_persona, padrones.identificador, padrones.numero,
   padrones_1.nombre_persona, padrones_1.identificador, padrones_1.numero,
   led_vehiculos.nombre_vehiculo, led_vehiculos.dominio,led_cliente_vehiculo.verificacion 


   UNION


   /* SUBcontratistas CON VERSION DE REEMPLAZO */ 
   SELECT led_docs.doc_id, ISNULL(led_docs.doc_version, 0) AS doc_version,
   ISNULL(led_cliente_contratista.ci_killer, 0) AS ci_killer,
   led_docs.periodo, led_docs.led_seccion, led_docs.tipo_doc, led_complejidad_doc.codigo_complejidad,
   'Contratistas' AS nombre_seccion,
   led_docs.contratista, led_docs.contratista_1, led_docs.empleado, led_docs.vehiculo, 
   led_docs.cliente, led_docs_aux.estado_doc, led_docs.fecha_vigencia, led_docs_aux.fecha_tolerancia,
   led_docs_aux.ingresado, led_docs_aux.verificado, led_docs_aux.rechazado,
   ISNULL(led_docs_aux.aprobacion_parcial, 0) AS aprobacion_parcial,
   ISNULL(led_docs_aux.parcial_actualizado, 0) AS parcial_actualizado,
   ISNULL(led_docs_aux.reapertura_por_alta, 0) AS reapertura_por_alta,

   IIF(led_docs_aux.ingresado < led_docs.fecha_vigencia, led_docs.fecha_vigencia, DATEADD(DAY, ISNULL(led_contratos.sla_dias, 3), led_docs_aux.ingresado)) AS tolerancia_verif,

   clientes.nombre_cliente, led_tipos_doc.nombre_tipo_doc,
   led_tipos_doc.validar_lista_cuil, led_tipos_doc.validar_lista_dominios, led_tipos_doc.validar_cuit, 
   padrones.nombre_persona as nombre_contratista, padrones.identificador, padrones.numero,
   padrones_1.nombre_persona as nombre_contratista_1, padrones_1.identificador as identificador_1, padrones_1.numero as numero_1,
   NULL as nombre_empleado, NULL as identificador_e, NULL as numero_e, 
   NULL as nombre_vehiculo, NULL as dominio,led_cliente_contratista.verificacion 

   FROM led_docs
   INNER JOIN led_docs_aux ON (led_docs.doc_id = led_docs_aux.doc_id AND led_docs.doc_version = led_docs_aux.doc_version)

   INNER JOIN clientes ON led_docs.cliente = clientes.cliente
   INNER JOIN led_contratos ON clientes.cliente = led_contratos.cliente
   INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc

   INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
   INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
   INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
   INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron

   INNER JOIN led_subcontratista_periodo ON (led_docs.contratista = led_subcontratista_periodo.subcontratista
             AND led_docs.periodo = led_subcontratista_periodo.periodo)

   INNER JOIN led_contratista_multi ON led_docs.contratista = led_contratista_multi.contratista

   INNER JOIN led_cliente_contratista ON
    (led_docs.cliente = led_cliente_contratista.cliente
    AND led_docs.tipo_doc = led_cliente_contratista.tipo_doc
    --AND led_contratista_multi.tipo_contratista = led_cliente_contratista.tipo_contratista
    AND led_cliente_contratista.verificacion = 'F'
    AND led_cliente_contratista.activo = 1)

   INNER JOIN dbo.DelimitedSplit8K(@str_acceso, ',') acceso ON ISNULL(led_cliente_contratista.ci_killer, 0) = acceso.Item
   /*INNER JOIN dbo.DelimitedSplit8K(@str_parcial, ',') parciales ON ISNULL(led_docs.aprobacion_parcial, 0) = parciales.Item*/

   LEFT JOIN dbo.DelimitedSplit8K(@DOCS_R, ',') DOCS ON led_docs.doc_id = DOCS.Item

   LEFT OUTER JOIN led_complejidad_doc ON led_tipos_doc.complejidad = led_complejidad_doc.complejidad

   WHERE led_docs.led_seccion = 'C'
   AND led_docs_aux.estado_doc = @str_estado
   and led_docs.doc_id_lista IS NULL
   AND led_cliente_contratista.verificacion = 'F'

   AND (ISNULL(led_docs_aux.aprobacion_parcial, 0) + ISNULL(led_docs_aux.reapertura_por_alta, 0) + ISNULL(led_docs_aux.parcial_actualizado, 0)) <> @suma_parcial
   and led_docs.periodo >= dbo.PeriodoAnual()
   and led_docs.cliente != 5546348
   and led_docs.tipo_doc in (select distinct tipo_doc from led_users_tipo_doc where fecha_hasta >= GETDATE() and user_id = @p_user_id and visible = 1 and tipo_doc > 0)

   GROUP BY led_docs.doc_id, led_docs.doc_version, led_cliente_contratista.ci_killer, led_docs.periodo, led_docs.led_seccion, led_docs.tipo_doc,
   led_complejidad_doc.codigo_complejidad, led_docs.contratista, led_docs.contratista_1, led_docs.empleado, led_docs.vehiculo, 
   led_docs.cliente, led_docs_aux.estado_doc, led_docs.fecha_vigencia, led_docs_aux.fecha_tolerancia,
   led_docs_aux.ingresado, led_docs_aux.verificado, led_docs_aux.rechazado, 
   led_docs_aux.aprobacion_parcial, led_docs_aux.parcial_actualizado, led_docs_aux. reapertura_por_alta, led_contratos.sla_dias,
   clientes.nombre_cliente, led_tipos_doc.nombre_tipo_doc,
   led_tipos_doc.validar_lista_cuil, led_tipos_doc.validar_lista_dominios, led_tipos_doc.validar_cuit, 
   padrones.nombre_persona, padrones.identificador, padrones.numero,
   padrones_1.nombre_persona, padrones_1.identificador, padrones_1.numero,led_cliente_contratista.verificacion 



   ORDER BY tolerancia_verif, fecha_tolerancia

   
   
    

  END ELSE BEGIN
   SELECT NULL AS doc_id
  END

 END



 
END

GO

Used By

No items found