dbo.Imperium_vista_contratista_Subcontratistas

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

4
Name Data Type Length Description
@p_contratista int 4
@p_subcontratista int 4
@p_estado_doc varchar 10
@p_horas_venc int 4

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE OR ALTER PROCEDURE dbo.Imperium_vista_contratista_Subcontratistas 
 -- Add the parameters for the stored procedure here
 @p_contratista       int,
 @p_subcontratista      int,
 @p_estado_doc       varchar(10),
 @p_horas_venc       int = 96

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

    -- Insert statements for procedure here
 DECLARE @periodo_actual INT = CONVERT(INT, CONVERT(VARCHAR(4),YEAR(GETDATE())) + RIGHT('00' + CONVERT(VARCHAR(2),MONTH(GETDATE())), 2))


 IF (@p_subcontratista IS NULL) BEGIN


  IF(@p_estado_doc = 'N' OR @p_estado_doc = 'R') BEGIN
   /* no ingresados (pendientes) o rechazados */

   select led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1,
   led_contratistas.contratista, led_contratistas.cliente, 
   padrones_1.identificador AS identificador_1, 
   padrones_1.numero AS numero_1,
   padrones_1.nombre_persona AS nombre_persona_1,
   identificadores_1.abreviatura AS abreviatura_1, 
   padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura, 
   led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
   led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,


   clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email
   from led_contratistas 
   inner join led_contratistas AS led_contratistas_1 on led_contratistas.contratista_1 = led_contratistas_1.contratista
   inner join clientes on led_contratistas.cliente = clientes.cliente

   inner join padrones on led_contratistas.id_padron = padrones.id_padron
   inner join identificadores on padrones.identificador = identificadores.identificador

   inner join padrones padrones_1 on led_contratistas_1.id_padron = padrones_1.id_padron
   inner join identificadores identificadores_1 on padrones_1.identificador = identificadores_1.identificador

   inner join led_docs on led_contratistas.contratista = led_docs.contratista
   inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc

   inner join led_subcontratista_periodo on (led_contratistas.contratista = led_subcontratista_periodo.subcontratista
             and led_docs.periodo = led_subcontratista_periodo.periodo)

   inner join users on led_contratistas_1.user_id = users.user_id

   inner join led_contratista_multi on led_contratistas.contratista = led_contratista_multi.contratista
   inner join 
     (select lcc.cliente, lcc.tipo_contratista, lcc.tipo_doc
     from led_cliente_contratista lcc
     where /*lcc.afecta_compliance = 1
      and*/
 lcc.requiere_upload = 1
     and lcc.activo = 1) CONFIG_TC
      ON (led_docs.cliente = CONFIG_TC.cliente 
       AND led_contratista_multi.tipo_contratista = CONFIG_TC.tipo_contratista
       AND led_docs.tipo_doc = CONFIG_TC.tipo_doc)

   where led_docs.estado_doc IN (@p_estado_doc)
   and led_contratistas.estado_contratista = 'A'
   and led_contratistas_1.estado_contratista = 'A'
   and led_docs.doc_id_lista IS NULL
   and led_tipos_doc.tipo_doc_lista IS NULL


   and led_contratista_multi.vigencia_desde <= GETDATE()
   and (led_contratista_multi.vigencia_hasta IS NULL OR led_contratista_multi.vigencia_hasta >= GETDATE())
   and led_contratista_multi.activo = 1
   and clientes.estado_cliente = 'A'

   and led_contratistas_1.contratista = @p_contratista

   group by led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1, 
   led_contratistas.contratista, led_contratistas.cliente, 
   padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura, 
   padrones_1.identificador, padrones_1.numero, padrones_1.nombre_persona, identificadores_1.abreviatura, 
   led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
   led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,
   clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email

   ORDER BY led_docs.periodo, led_tipos_doc.nombre_tipo_doc

  END ELSE BEGIN

   IF (@p_estado_doc = 'I') BEGIN
    /* ingresados con aprobación parcial */

    select led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1,
    led_contratistas.contratista, led_contratistas.cliente, 
    padrones_1.identificador AS identificador_1, 
    padrones_1.numero AS numero_1,
    padrones_1.nombre_persona AS nombre_persona_1,
    identificadores_1.abreviatura AS abreviatura_1, 
    padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura, 
    led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
    led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,


    clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email
    from led_contratistas 
    inner join led_contratistas AS led_contratistas_1 on led_contratistas.contratista_1 = led_contratistas_1.contratista
    inner join clientes on led_contratistas.cliente = clientes.cliente

    inner join padrones on led_contratistas.id_padron = padrones.id_padron
    inner join identificadores on padrones.identificador = identificadores.identificador

    inner join padrones padrones_1 on led_contratistas_1.id_padron = padrones_1.id_padron
    inner join identificadores identificadores_1 on padrones_1.identificador = identificadores_1.identificador

    inner join led_docs on led_contratistas.contratista = led_docs.contratista
    inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc

    inner join led_subcontratista_periodo on (led_contratistas.contratista = led_subcontratista_periodo.subcontratista
              and led_docs.periodo = led_subcontratista_periodo.periodo)

    inner join users on led_contratistas_1.user_id = users.user_id

    inner join led_contratista_multi on led_contratistas.contratista = led_contratista_multi.contratista
    inner join 
      (select lcc.cliente, lcc.tipo_contratista, lcc.tipo_doc
      from led_cliente_contratista lcc
      where /*lcc.afecta_compliance = 1
       and*/
 lcc.requiere_upload = 1
      and lcc.activo = 1) CONFIG_TC
       ON (led_docs.cliente = CONFIG_TC.cliente 
        AND led_contratista_multi.tipo_contratista = CONFIG_TC.tipo_contratista
        AND led_docs.tipo_doc = CONFIG_TC.tipo_doc)

    where led_docs.estado_doc IN (@p_estado_doc)

    and led_docs.aprobacion_parcial = 1
    and (led_docs.parcial_actualizado = 0 OR led_docs.parcial_actualizado IS NULL)

    and led_contratistas.estado_contratista = 'A'
    and led_contratistas_1.estado_contratista = 'A'
    and led_docs.doc_id_lista IS NULL
    and led_tipos_doc.tipo_doc_lista IS NULL


    and led_contratista_multi.vigencia_desde <= GETDATE()
    and (led_contratista_multi.vigencia_hasta IS NULL OR led_contratista_multi.vigencia_hasta >= GETDATE())
    and led_contratista_multi.activo = 1
    and clientes.estado_cliente = 'A'

    and led_contratistas_1.contratista = @p_contratista

    group by led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1, 
    led_contratistas.contratista, led_contratistas.cliente, 
    padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura, 
    padrones_1.identificador, padrones_1.numero, padrones_1.nombre_persona, identificadores_1.abreviatura, 
    led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
    led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,
    clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email

    ORDER BY led_docs.periodo, led_tipos_doc.nombre_tipo_doc

   END ELSE BEGIN

    IF (@p_estado_doc = 'V') BEGIN

     /* Documentos verificados de acceso por vencer */

     select led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1,
     led_contratistas.contratista, led_contratistas.cliente, 
     padrones_1.identificador AS identificador_1, 
     padrones_1.numero AS numero_1,
     padrones_1.nombre_persona AS nombre_persona_1,
     identificadores_1.abreviatura AS abreviatura_1, 
     padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura, 
     led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
     led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,


     clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email
     from led_contratistas 
     inner join led_contratistas AS led_contratistas_1 on led_contratistas.contratista_1 = led_contratistas_1.contratista
     inner join clientes on led_contratistas.cliente = clientes.cliente

     inner join padrones on led_contratistas.id_padron = padrones.id_padron
     inner join identificadores on padrones.identificador = identificadores.identificador

     inner join padrones padrones_1 on led_contratistas_1.id_padron = padrones_1.id_padron
     inner join identificadores identificadores_1 on padrones_1.identificador = identificadores_1.identificador

     inner join led_docs on led_contratistas.contratista = led_docs.contratista
     inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc

     inner join led_subcontratista_periodo on (led_contratistas.contratista = led_subcontratista_periodo.subcontratista
               and led_docs.periodo = led_subcontratista_periodo.periodo)

     inner join users on led_contratistas_1.user_id = users.user_id

     inner join led_contratista_multi on led_contratistas.contratista = led_contratista_multi.contratista
     inner join 
       (select lcc.cliente, lcc.tipo_contratista, lcc.tipo_doc
       from led_cliente_contratista lcc
       where /*lcc.afecta_compliance = 1
        and*/
 lcc.requiere_upload = 1
       and lcc.activo = 1
       and lcc.ci_killer = 1) CONFIG_TC
        ON (led_docs.cliente = CONFIG_TC.cliente 
         AND led_contratista_multi.tipo_contratista = CONFIG_TC.tipo_contratista
         AND led_docs.tipo_doc = CONFIG_TC.tipo_doc)

     where led_docs.estado_doc IN (@p_estado_doc)
     and DATEDIFF(HOUR, GETDATE(), led_docs.fecha_vigencia) <= @p_horas_venc
     and DATEDIFF(HOUR, GETDATE(), led_docs.fecha_vigencia) > 0
     and led_docs.periodo = @periodo_actual

     and led_contratistas.estado_contratista = 'A'
     and led_contratistas_1.estado_contratista = 'A'
     and led_docs.doc_id_lista IS NULL
     and led_tipos_doc.tipo_doc_lista IS NULL

     and led_contratista_multi.vigencia_desde <= GETDATE()
     and (led_contratista_multi.vigencia_hasta IS NULL OR led_contratista_multi.vigencia_hasta >= GETDATE())
     and led_contratista_multi.activo = 1
     and clientes.estado_cliente = 'A'

     and led_contratistas_1.contratista = @p_contratista

     group by led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1, 
     led_contratistas.contratista, led_contratistas.cliente, 
     padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura, 
     padrones_1.identificador, padrones_1.numero, padrones_1.nombre_persona, identificadores_1.abreviatura, 
     led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
     led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,
     clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email

     ORDER BY led_docs.periodo, led_tipos_doc.nombre_tipo_doc

    END ELSE BEGIN
     
     /* TODOS LOS ESTADOS */

     select led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1,
     led_contratistas.contratista, led_contratistas.cliente, 
     padrones_1.identificador AS identificador_1, 
     padrones_1.numero AS numero_1,
     padrones_1.nombre_persona AS nombre_persona_1,
     identificadores_1.abreviatura AS abreviatura_1, 
     padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura, 
     led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
     led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,


     clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email
     from led_contratistas 
     inner join led_contratistas AS led_contratistas_1 on led_contratistas.contratista_1 = led_contratistas_1.contratista
     inner join clientes on led_contratistas.cliente = clientes.cliente

     inner join padrones on led_contratistas.id_padron = padrones.id_padron
     inner join identificadores on padrones.identificador = identificadores.identificador

     inner join padrones padrones_1 on led_contratistas_1.id_padron = padrones_1.id_padron
     inner join identificadores identificadores_1 on padrones_1.identificador = identificadores_1.identificador

     inner join led_docs on led_contratistas.contratista = led_docs.contratista
     inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc

     inner join led_subcontratista_periodo on (led_contratistas.contratista = led_subcontratista_periodo.subcontratista
               and led_docs.periodo = led_subcontratista_periodo.periodo)

     inner join users on led_contratistas_1.user_id = users.user_id

     inner join led_contratista_multi on led_contratistas.contratista = led_contratista_multi.contratista
     inner join 
       (select lcc.cliente, lcc.tipo_contratista, lcc.tipo_doc
       from led_cliente_contratista lcc
       where /*lcc.afecta_compliance = 1
        and*/
 lcc.requiere_upload = 1
       and lcc.activo = 1) CONFIG_TC
        ON (led_docs.cliente = CONFIG_TC.cliente 
         AND led_contratista_multi.tipo_contratista = CONFIG_TC.tipo_contratista
         AND led_docs.tipo_doc = CONFIG_TC.tipo_doc)

     where led_docs.estado_doc IN ('N', 'R')
     and led_contratistas.estado_contratista = 'A'
     and led_contratistas_1.estado_contratista = 'A'
     and led_docs.doc_id_lista IS NULL
     and led_tipos_doc.tipo_doc_lista IS NULL


     and led_contratista_multi.vigencia_desde <= GETDATE()
     and (led_contratista_multi.vigencia_hasta IS NULL OR led_contratista_multi.vigencia_hasta >= GETDATE())
     and led_contratista_multi.activo = 1
     and clientes.estado_cliente = 'A'

     and led_contratistas_1.contratista = @p_contratista

     group by led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1, 
     led_contratistas.contratista, led_contratistas.cliente, 
     padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura, 
     padrones_1.identificador, padrones_1.numero, padrones_1.nombre_persona, identificadores_1.abreviatura, 
     led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
     led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,
     clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email


     UNION ALL


     select led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1,
     led_contratistas.contratista, led_contratistas.cliente, 
     padrones_1.identificador AS identificador_1, 
     padrones_1.numero AS numero_1,
     padrones_1.nombre_persona AS nombre_persona_1,
     identificadores_1.abreviatura AS abreviatura_1, 
     padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura, 
     led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
     led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,


     clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email
     from led_contratistas 
     inner join led_contratistas AS led_contratistas_1 on led_contratistas.contratista_1 = led_contratistas_1.contratista
     inner join clientes on led_contratistas.cliente = clientes.cliente

     inner join padrones on led_contratistas.id_padron = padrones.id_padron
     inner join identificadores on padrones.identificador = identificadores.identificador

     inner join padrones padrones_1 on led_contratistas_1.id_padron = padrones_1.id_padron
     inner join identificadores identificadores_1 on padrones_1.identificador = identificadores_1.identificador

     inner join led_docs on led_contratistas.contratista = led_docs.contratista
     inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc

     inner join led_subcontratista_periodo on (led_contratistas.contratista = led_subcontratista_periodo.subcontratista
               and led_docs.periodo = led_subcontratista_periodo.periodo)

     inner join users on led_contratistas_1.user_id = users.user_id

     inner join led_contratista_multi on led_contratistas.contratista = led_contratista_multi.contratista
     inner join 
       (select lcc.cliente, lcc.tipo_contratista, lcc.tipo_doc
       from led_cliente_contratista lcc
       where /*lcc.afecta_compliance = 1
        and*/
 lcc.requiere_upload = 1
       and lcc.activo = 1) CONFIG_TC
        ON (led_docs.cliente = CONFIG_TC.cliente 
         AND led_contratista_multi.tipo_contratista = CONFIG_TC.tipo_contratista
         AND led_docs.tipo_doc = CONFIG_TC.tipo_doc)

     where led_docs.estado_doc IN ('I')

     and led_docs.aprobacion_parcial = 1
     and (led_docs.parcial_actualizado = 0 OR led_docs.parcial_actualizado IS NULL)

     and led_contratistas.estado_contratista = 'A'
     and led_contratistas_1.estado_contratista = 'A'
     and led_docs.doc_id_lista IS NULL
     and led_tipos_doc.tipo_doc_lista IS NULL


     and led_contratista_multi.vigencia_desde <= GETDATE()
     and (led_contratista_multi.vigencia_hasta IS NULL OR led_contratista_multi.vigencia_hasta >= GETDATE())
     and led_contratista_multi.activo = 1
     and clientes.estado_cliente = 'A'

     and led_contratistas_1.contratista = @p_contratista

     group by led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1, 
     led_contratistas.contratista, led_contratistas.cliente, 
     padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura, 
     padrones_1.identificador, padrones_1.numero, padrones_1.nombre_persona, identificadores_1.abreviatura, 
     led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
     led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,
     clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email


     UNION ALL


     select led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1,
     led_contratistas.contratista, led_contratistas.cliente, 
     padrones_1.identificador AS identificador_1, 
     padrones_1.numero AS numero_1,
     padrones_1.nombre_persona AS nombre_persona_1,
     identificadores_1.abreviatura AS abreviatura_1, 
     padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura, 
     led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
     led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,


     clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email
     from led_contratistas 
     inner join led_contratistas AS led_contratistas_1 on led_contratistas.contratista_1 = led_contratistas_1.contratista
     inner join clientes on led_contratistas.cliente = clientes.cliente

     inner join padrones on led_contratistas.id_padron = padrones.id_padron
     inner join identificadores on padrones.identificador = identificadores.identificador

     inner join padrones padrones_1 on led_contratistas_1.id_padron = padrones_1.id_padron
     inner join identificadores identificadores_1 on padrones_1.identificador = identificadores_1.identificador

     inner join led_docs on led_contratistas.contratista = led_docs.contratista
     inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc

     inner join led_subcontratista_periodo on (led_contratistas.contratista = led_subcontratista_periodo.subcontratista
               and led_docs.periodo = led_subcontratista_periodo.periodo)

     inner join users on led_contratistas_1.user_id = users.user_id

     inner join led_contratista_multi on led_contratistas.contratista = led_contratista_multi.contratista
     inner join 
       (select lcc.cliente, lcc.tipo_contratista, lcc.tipo_doc
       from led_cliente_contratista lcc
       where /*lcc.afecta_compliance = 1
        and*/
 lcc.requiere_upload = 1
       and lcc.activo = 1
       and lcc.ci_killer = 1) CONFIG_TC
        ON (led_docs.cliente = CONFIG_TC.cliente 
         AND led_contratista_multi.tipo_contratista = CONFIG_TC.tipo_contratista
         AND led_docs.tipo_doc = CONFIG_TC.tipo_doc)

     where led_docs.estado_doc IN ('V')
     and DATEDIFF(HOUR, GETDATE(), led_docs.fecha_vigencia) <= @p_horas_venc
     and DATEDIFF(HOUR, GETDATE(), led_docs.fecha_vigencia) > 0
     and led_docs.periodo = @periodo_actual

     and led_contratistas.estado_contratista = 'A'
     and led_contratistas_1.estado_contratista = 'A'
     and led_docs.doc_id_lista IS NULL
     and led_tipos_doc.tipo_doc_lista IS NULL

     and led_contratista_multi.vigencia_desde <= GETDATE()
     and (led_contratista_multi.vigencia_hasta IS NULL OR led_contratista_multi.vigencia_hasta >= GETDATE())
     and led_contratista_multi.activo = 1
     and clientes.estado_cliente = 'A'

     and led_contratistas_1.contratista = @p_contratista

     group by led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1, 
     led_contratistas.contratista, led_contratistas.cliente, 
     padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura, 
     padrones_1.identificador, padrones_1.numero, padrones_1.nombre_persona, identificadores_1.abreviatura, 
     led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
     led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,
     clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email


     ORDER BY nombre_persona, periodo, nombre_tipo_doc

    END
   END
  END

 END ELSE BEGIN


  IF(@p_estado_doc = 'N' OR @p_estado_doc = 'R') BEGIN
   /* no ingresados (pendientes) o rechazados */

   select led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1,
   led_contratistas.contratista, led_contratistas.cliente, 
   padrones_1.identificador AS identificador_1, 
   padrones_1.numero AS numero_1,
   padrones_1.nombre_persona AS nombre_persona_1,
   identificadores_1.abreviatura AS abreviatura_1, 
   padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura, 
   led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
   led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,


   clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email
   from led_contratistas 
   inner join led_contratistas AS led_contratistas_1 on led_contratistas.contratista_1 = led_contratistas_1.contratista
   inner join clientes on led_contratistas.cliente = clientes.cliente

   inner join padrones on led_contratistas.id_padron = padrones.id_padron
   inner join identificadores on padrones.identificador = identificadores.identificador

   inner join padrones padrones_1 on led_contratistas_1.id_padron = padrones_1.id_padron
   inner join identificadores identificadores_1 on padrones_1.identificador = identificadores_1.identificador

   inner join led_docs on led_contratistas.contratista = led_docs.contratista
   inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc

   inner join led_subcontratista_periodo on (led_contratistas.contratista = led_subcontratista_periodo.subcontratista
             and led_docs.periodo = led_subcontratista_periodo.periodo)

   inner join users on led_contratistas_1.user_id = users.user_id

   inner join led_contratista_multi on led_contratistas.contratista = led_contratista_multi.contratista
   inner join 
     (select lcc.cliente, lcc.tipo_contratista, lcc.tipo_doc
     from led_cliente_contratista lcc
     where /*lcc.afecta_compliance = 1
      and*/
 lcc.requiere_upload = 1
     and lcc.activo = 1) CONFIG_TC
      ON (led_docs.cliente = CONFIG_TC.cliente 
       AND led_contratista_multi.tipo_contratista = CONFIG_TC.tipo_contratista
       AND led_docs.tipo_doc = CONFIG_TC.tipo_doc)

   where led_docs.estado_doc IN (@p_estado_doc)
   and led_contratistas.estado_contratista = 'A'
   and led_contratistas_1.estado_contratista = 'A'
   and led_docs.doc_id_lista IS NULL
   and led_tipos_doc.tipo_doc_lista IS NULL


   and led_contratista_multi.vigencia_desde <= GETDATE()
   and (led_contratista_multi.vigencia_hasta IS NULL OR led_contratista_multi.vigencia_hasta >= GETDATE())
   and led_contratista_multi.activo = 1
   and clientes.estado_cliente = 'A'

   and led_contratistas_1.contratista = @p_contratista
   and led_contratistas.contratista = @p_subcontratista

   group by led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1, 
   led_contratistas.contratista, led_contratistas.cliente, 
   padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura, 
   padrones_1.identificador, padrones_1.numero, padrones_1.nombre_persona, identificadores_1.abreviatura, 
   led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
   led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,
   clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email

   ORDER BY led_docs.periodo, led_tipos_doc.nombre_tipo_doc

  END ELSE BEGIN

   IF (@p_estado_doc = 'I') BEGIN
    /* ingresados con aprobación parcial */

    select led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1,
    led_contratistas.contratista, led_contratistas.cliente, 
    padrones_1.identificador AS identificador_1, 
    padrones_1.numero AS numero_1,
    padrones_1.nombre_persona AS nombre_persona_1,
    identificadores_1.abreviatura AS abreviatura_1, 
    padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura, 
    led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
    led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,


    clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email
    from led_contratistas 
    inner join led_contratistas AS led_contratistas_1 on led_contratistas.contratista_1 = led_contratistas_1.contratista
    inner join clientes on led_contratistas.cliente = clientes.cliente

    inner join padrones on led_contratistas.id_padron = padrones.id_padron
    inner join identificadores on padrones.identificador = identificadores.identificador

    inner join padrones padrones_1 on led_contratistas_1.id_padron = padrones_1.id_padron
    inner join identificadores identificadores_1 on padrones_1.identificador = identificadores_1.identificador

    inner join led_docs on led_contratistas.contratista = led_docs.contratista
    inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc

    inner join led_subcontratista_periodo on (led_contratistas.contratista = led_subcontratista_periodo.subcontratista
              and led_docs.periodo = led_subcontratista_periodo.periodo)

    inner join users on led_contratistas_1.user_id = users.user_id

    inner join led_contratista_multi on led_contratistas.contratista = led_contratista_multi.contratista
    inner join 
      (select lcc.cliente, lcc.tipo_contratista, lcc.tipo_doc
      from led_cliente_contratista lcc
      where /*lcc.afecta_compliance = 1
       and*/
 lcc.requiere_upload = 1
      and lcc.activo = 1) CONFIG_TC
       ON (led_docs.cliente = CONFIG_TC.cliente 
        AND led_contratista_multi.tipo_contratista = CONFIG_TC.tipo_contratista
        AND led_docs.tipo_doc = CONFIG_TC.tipo_doc)

    where led_docs.estado_doc IN (@p_estado_doc)

    and led_docs.aprobacion_parcial = 1
    and (led_docs.parcial_actualizado = 0 OR led_docs.parcial_actualizado IS NULL)

    and led_contratistas.estado_contratista = 'A'
    and led_contratistas_1.estado_contratista = 'A'
    and led_docs.doc_id_lista IS NULL
    and led_tipos_doc.tipo_doc_lista IS NULL


    and led_contratista_multi.vigencia_desde <= GETDATE()
    and (led_contratista_multi.vigencia_hasta IS NULL OR led_contratista_multi.vigencia_hasta >= GETDATE())
    and led_contratista_multi.activo = 1
    and clientes.estado_cliente = 'A'

    and led_contratistas_1.contratista = @p_contratista
    and led_contratistas.contratista = @p_subcontratista

    group by led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1, 
    led_contratistas.contratista, led_contratistas.cliente, 
    padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura, 
    padrones_1.identificador, padrones_1.numero, padrones_1.nombre_persona, identificadores_1.abreviatura, 
    led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
    led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,
    clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email

    ORDER BY led_docs.periodo, led_tipos_doc.nombre_tipo_doc

   END ELSE BEGIN

    IF (@p_estado_doc = 'V') BEGIN

     /* Documentos verificados de acceso por vencer */

     select led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1,
     led_contratistas.contratista, led_contratistas.cliente, 
     padrones_1.identificador AS identificador_1, 
     padrones_1.numero AS numero_1,
     padrones_1.nombre_persona AS nombre_persona_1,
     identificadores_1.abreviatura AS abreviatura_1, 
     padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura, 
     led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
     led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,


     clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email
     from led_contratistas 
     inner join led_contratistas AS led_contratistas_1 on led_contratistas.contratista_1 = led_contratistas_1.contratista
     inner join clientes on led_contratistas.cliente = clientes.cliente

     inner join padrones on led_contratistas.id_padron = padrones.id_padron
     inner join identificadores on padrones.identificador = identificadores.identificador

     inner join padrones padrones_1 on led_contratistas_1.id_padron = padrones_1.id_padron
     inner join identificadores identificadores_1 on padrones_1.identificador = identificadores_1.identificador

     inner join led_docs on led_contratistas.contratista = led_docs.contratista
     inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc

     inner join led_subcontratista_periodo on (led_contratistas.contratista = led_subcontratista_periodo.subcontratista
               and led_docs.periodo = led_subcontratista_periodo.periodo)

     inner join users on led_contratistas_1.user_id = users.user_id

     inner join led_contratista_multi on led_contratistas.contratista = led_contratista_multi.contratista
     inner join 
       (select lcc.cliente, lcc.tipo_contratista, lcc.tipo_doc
       from led_cliente_contratista lcc
       where /*lcc.afecta_compliance = 1
        and*/
 lcc.requiere_upload = 1
       and lcc.activo = 1
       and lcc.ci_killer = 1) CONFIG_TC
        ON (led_docs.cliente = CONFIG_TC.cliente 
         AND led_contratista_multi.tipo_contratista = CONFIG_TC.tipo_contratista
         AND led_docs.tipo_doc = CONFIG_TC.tipo_doc)

     where led_docs.estado_doc IN (@p_estado_doc)
     and DATEDIFF(HOUR, GETDATE(), led_docs.fecha_vigencia) <= @p_horas_venc
     and DATEDIFF(HOUR, GETDATE(), led_docs.fecha_vigencia) > 0
     and led_docs.periodo = @periodo_actual

     and led_contratistas.estado_contratista = 'A'
     and led_contratistas_1.estado_contratista = 'A'
     and led_docs.doc_id_lista IS NULL
     and led_tipos_doc.tipo_doc_lista IS NULL

     and led_contratista_multi.vigencia_desde <= GETDATE()
     and (led_contratista_multi.vigencia_hasta IS NULL OR led_contratista_multi.vigencia_hasta >= GETDATE())
     and led_contratista_multi.activo = 1
     and clientes.estado_cliente = 'A'

     and led_contratistas_1.contratista = @p_contratista
     and led_contratistas.contratista = @p_subcontratista

     group by led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1, 
     led_contratistas.contratista, led_contratistas.cliente, 
     padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura, 
     padrones_1.identificador, padrones_1.numero, padrones_1.nombre_persona, identificadores_1.abreviatura, 
     led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
     led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,
     clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email

     ORDER BY led_docs.periodo, led_tipos_doc.nombre_tipo_doc

    END ELSE BEGIN
     
     /* TODOS LOS ESTADOS */

     select led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1,
     led_contratistas.contratista, led_contratistas.cliente, 
     padrones_1.identificador AS identificador_1, 
     padrones_1.numero AS numero_1,
     padrones_1.nombre_persona AS nombre_persona_1,
     identificadores_1.abreviatura AS abreviatura_1, 
     padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura, 
     led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
     led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,


     clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email
     from led_contratistas 
     inner join led_contratistas AS led_contratistas_1 on led_contratistas.contratista_1 = led_contratistas_1.contratista
     inner join clientes on led_contratistas.cliente = clientes.cliente

     inner join padrones on led_contratistas.id_padron = padrones.id_padron
     inner join identificadores on padrones.identificador = identificadores.identificador

     inner join padrones padrones_1 on led_contratistas_1.id_padron = padrones_1.id_padron
     inner join identificadores identificadores_1 on padrones_1.identificador = identificadores_1.identificador

     inner join led_docs on led_contratistas.contratista = led_docs.contratista
     inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc

     inner join led_subcontratista_periodo on (led_contratistas.contratista = led_subcontratista_periodo.subcontratista
               and led_docs.periodo = led_subcontratista_periodo.periodo)

     inner join users on led_contratistas_1.user_id = users.user_id

     inner join led_contratista_multi on led_contratistas.contratista = led_contratista_multi.contratista
     inner join 
       (select lcc.cliente, lcc.tipo_contratista, lcc.tipo_doc
       from led_cliente_contratista lcc
       where /*lcc.afecta_compliance = 1
        and*/
 lcc.requiere_upload = 1
       and lcc.activo = 1) CONFIG_TC
        ON (led_docs.cliente = CONFIG_TC.cliente 
         AND led_contratista_multi.tipo_contratista = CONFIG_TC.tipo_contratista
         AND led_docs.tipo_doc = CONFIG_TC.tipo_doc)

     where led_docs.estado_doc IN ('N', 'R')
     and led_contratistas.estado_contratista = 'A'
     and led_contratistas_1.estado_contratista = 'A'
     and led_docs.doc_id_lista IS NULL
     and led_tipos_doc.tipo_doc_lista IS NULL


     and led_contratista_multi.vigencia_desde <= GETDATE()
     and (led_contratista_multi.vigencia_hasta IS NULL OR led_contratista_multi.vigencia_hasta >= GETDATE())
     and led_contratista_multi.activo = 1
     and clientes.estado_cliente = 'A'

     and led_contratistas_1.contratista = @p_contratista
     and led_contratistas.contratista = @p_subcontratista

     group by led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1, 
     led_contratistas.contratista, led_contratistas.cliente, 
     padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura, 
     padrones_1.identificador, padrones_1.numero, padrones_1.nombre_persona, identificadores_1.abreviatura, 
     led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
     led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,
     clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email


     UNION ALL


     select led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1,
     led_contratistas.contratista, led_contratistas.cliente, 
     padrones_1.identificador AS identificador_1, 
     padrones_1.numero AS numero_1,
     padrones_1.nombre_persona AS nombre_persona_1,
     identificadores_1.abreviatura AS abreviatura_1, 
     padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura, 
     led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
     led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,


     clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email
     from led_contratistas 
     inner join led_contratistas AS led_contratistas_1 on led_contratistas.contratista_1 = led_contratistas_1.contratista
     inner join clientes on led_contratistas.cliente = clientes.cliente

     inner join padrones on led_contratistas.id_padron = padrones.id_padron
     inner join identificadores on padrones.identificador = identificadores.identificador

     inner join padrones padrones_1 on led_contratistas_1.id_padron = padrones_1.id_padron
     inner join identificadores identificadores_1 on padrones_1.identificador = identificadores_1.identificador

     inner join led_docs on led_contratistas.contratista = led_docs.contratista
     inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc

     inner join led_subcontratista_periodo on (led_contratistas.contratista = led_subcontratista_periodo.subcontratista
               and led_docs.periodo = led_subcontratista_periodo.periodo)

     inner join users on led_contratistas_1.user_id = users.user_id

     inner join led_contratista_multi on led_contratistas.contratista = led_contratista_multi.contratista
     inner join 
       (select lcc.cliente, lcc.tipo_contratista, lcc.tipo_doc
       from led_cliente_contratista lcc
       where /*lcc.afecta_compliance = 1
        and*/
 lcc.requiere_upload = 1
       and lcc.activo = 1) CONFIG_TC
        ON (led_docs.cliente = CONFIG_TC.cliente 
         AND led_contratista_multi.tipo_contratista = CONFIG_TC.tipo_contratista
         AND led_docs.tipo_doc = CONFIG_TC.tipo_doc)

     where led_docs.estado_doc IN ('I')

     and led_docs.aprobacion_parcial = 1
     and (led_docs.parcial_actualizado = 0 OR led_docs.parcial_actualizado IS NULL)

     and led_contratistas.estado_contratista = 'A'
     and led_contratistas_1.estado_contratista = 'A'
     and led_docs.doc_id_lista IS NULL
     and led_tipos_doc.tipo_doc_lista IS NULL


     and led_contratista_multi.vigencia_desde <= GETDATE()
     and (led_contratista_multi.vigencia_hasta IS NULL OR led_contratista_multi.vigencia_hasta >= GETDATE())
     and led_contratista_multi.activo = 1
     and clientes.estado_cliente = 'A'

     and led_contratistas_1.contratista = @p_contratista
     and led_contratistas.contratista = @p_subcontratista

     group by led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1, 
     led_contratistas.contratista, led_contratistas.cliente, 
     padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura, 
     padrones_1.identificador, padrones_1.numero, padrones_1.nombre_persona, identificadores_1.abreviatura, 
     led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
     led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,
     clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email


     UNION ALL


     select led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1,
     led_contratistas.contratista, led_contratistas.cliente, 
     padrones_1.identificador AS identificador_1, 
     padrones_1.numero AS numero_1,
     padrones_1.nombre_persona AS nombre_persona_1,
     identificadores_1.abreviatura AS abreviatura_1, 
     padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura, 
     led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
     led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,

     clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email
     from led_contratistas 
     inner join led_contratistas AS led_contratistas_1 on led_contratistas.contratista_1 = led_contratistas_1.contratista
     inner join clientes on led_contratistas.cliente = clientes.cliente

     inner join padrones on led_contratistas.id_padron = padrones.id_padron
     inner join identificadores on padrones.identificador = identificadores.identificador

     inner join padrones padrones_1 on led_contratistas_1.id_padron = padrones_1.id_padron
     inner join identificadores identificadores_1 on padrones_1.identificador = identificadores_1.identificador

     inner join led_docs on led_contratistas.contratista = led_docs.contratista
     inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc

     inner join led_subcontratista_periodo on (led_contratistas.contratista = led_subcontratista_periodo.subcontratista
               and led_docs.periodo = led_subcontratista_periodo.periodo)

     inner join users on led_contratistas_1.user_id = users.user_id

     inner join led_contratista_multi on led_contratistas.contratista = led_contratista_multi.contratista
     inner join 
       (select lcc.cliente, lcc.tipo_contratista, lcc.tipo_doc
       from led_cliente_contratista lcc
       where /*lcc.afecta_compliance = 1
        and*/
 lcc.requiere_upload = 1
       and lcc.activo = 1
       and lcc.ci_killer = 1) CONFIG_TC
        ON (led_docs.cliente = CONFIG_TC.cliente 
         AND led_contratista_multi.tipo_contratista = CONFIG_TC.tipo_contratista
         AND led_docs.tipo_doc = CONFIG_TC.tipo_doc)

     where led_docs.estado_doc IN ('V')
     and DATEDIFF(HOUR, GETDATE(), led_docs.fecha_vigencia) <= @p_horas_venc
     and DATEDIFF(HOUR, GETDATE(), led_docs.fecha_vigencia) > 0
     and led_docs.periodo = @periodo_actual

     and led_contratistas.estado_contratista = 'A'
     and led_contratistas_1.estado_contratista = 'A'
     and led_docs.doc_id_lista IS NULL
     and led_tipos_doc.tipo_doc_lista IS NULL

     and led_contratista_multi.vigencia_desde <= GETDATE()
     and (led_contratista_multi.vigencia_hasta IS NULL OR led_contratista_multi.vigencia_hasta >= GETDATE())
     and led_contratista_multi.activo = 1
     and clientes.estado_cliente = 'A'

     and led_contratistas_1.contratista = @p_contratista
     and led_contratistas.contratista = @p_subcontratista

     group by led_docs.doc_id, led_docs.led_seccion, led_contratistas.contratista_1, 
     led_contratistas.contratista, led_contratistas.cliente, 
     padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura, 
     padrones_1.identificador, padrones_1.numero, padrones_1.nombre_persona, identificadores_1.abreviatura, 
     led_docs.periodo, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc, led_docs.fecha_tolerancia,
     led_docs.led_seccion, led_docs.empleado, led_docs.vehiculo,
     clientes.nombre_cliente, users.user_id, users.first_name, users.last_name, users.username, users.email


     ORDER BY nombre_persona, periodo, nombre_tipo_doc

    END
   END
  END

 END
 
END

GO

Used By

No items found