dbo.Imperium_KPIs_docs

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

6
Name Data Type Length Description
@action varchar 30
@p_tipo_doc int 4
@p_desde int 4
@p_hasta int 4
@p_user_id int 4
@p_cliente 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_KPIs_docs 
 -- Add the parameters for the stored procedure here
 @action          varchar(30),
 @p_tipo_doc         int,
 @p_desde         int,
 @p_hasta         int,
 @p_user_id         int,
 @p_cliente         int
 
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 @fecha_desde DATETIME = DATETIMEFROMPARTS(CONVERT(INT,(@p_desde/10000)),
         CONVERT(INT, SUBSTRING(CONVERT(VARCHAR, @p_desde),5,2)),
         CONVERT(INT, SUBSTRING(CONVERT(VARCHAR, @p_desde),7,2)), 0, 0, 0, 0)

 DECLARE @fecha_hasta DATETIME = DATETIMEFROMPARTS(CONVERT(INT,(@p_hasta/10000)),
         CONVERT(INT, SUBSTRING(CONVERT(VARCHAR, @p_hasta),5,2)),
         CONVERT(INT, SUBSTRING(CONVERT(VARCHAR, @p_hasta),7,2)),23,59,59,998)




 IF (@action = 'Ingresados') BEGIN

  SELECT led_docs.doc_id, led_docs.contratista, led_docs.contratista_1, led_docs.empleado, led_docs.vehiculo,
    led_docs.estado_doc, led_docs.periodo, led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.led_seccion,
    led_docs.cliente, led_secciones.nombre_seccion, clientes.nombre_cliente,
    LEFT(CONVERT(VARCHAR,led_docs.ingresado,21),16) AS fecha_procesado,
    LEFT(CONVERT(VARCHAR,led_docs.ingresado,21),16) AS ingresado, led_docs.ingresado_por, users_i.first_name + ' ' + users_i.last_name as ingresado_nombre,
    LEFT(CONVERT(VARCHAR,led_docs.verificado,21),16) AS verificado, led_docs.verificado_por, users_v.first_name + ' ' + users_v.last_name as verificado_nombre,
    LEFT(CONVERT(VARCHAR,led_docs.rechazado,21),16) AS rechazado, led_docs.rechazado_por, users_r.first_name + ' ' + users_r.last_name as rechazado_nombre,

  padrones_1.nombre_persona AS nombre_persona_1, padrones_1.identificador + ' ' + padrones_1.numero AS identificacion_1,
  padrones.nombre_persona, padrones.identificador + ' ' + padrones.numero AS identificacion,
  padrones_e.nombre_persona AS nombre_empleado, padrones_e.identificador + ' ' + padrones_e.numero AS identificacion_e,
  led_vehiculos.dominio, led_vehiculos.nombre_vehiculo,

  CASE 
   WHEN led_docs.estado_doc = 'I' THEN 'Ingresado'
   WHEN led_docs.estado_doc = 'R' THEN 'Rechazado'
   WHEN led_docs.estado_doc = 'V' THEN 'Verificado'
  END AS nombre_estado

  FROM led_docs INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
  INNER JOIN led_secciones ON led_docs.led_seccion = led_secciones.led_seccion
  INNER JOIN clientes ON led_docs.cliente = clientes.cliente
  INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
  INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
  INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
  INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron

  LEFT OUTER JOIN led_empleados ON led_docs.empleado = led_empleados.empleado
  LEFT OUTER JOIN padrones padrones_e ON led_empleados.id_padron = padrones_e.id_padron

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

  LEFT OUTER JOIN users users_i ON led_docs.ingresado_por = users_i.user_id
  LEFT OUTER JOIN users users_v ON led_docs.verificado_por = users_v.user_id
  LEFT OUTER JOIN users users_r ON led_docs.rechazado_por = users_r.user_id

  WHERE led_docs.tipo_doc = @p_tipo_doc
  and led_docs.doc_id_lista IS NULL
  AND led_docs.ingresado BETWEEN @fecha_desde AND @fecha_hasta
  AND led_docs.estado_doc IN ('I', 'R', 'V')


 END ELSE

  IF (@action = 'Procesados') BEGIN

   SELECT led_docs.doc_id, led_docs.contratista, led_docs.contratista_1, led_docs.empleado, led_docs.vehiculo,
     led_docs.estado_doc, led_docs.periodo, led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.led_seccion,
     led_docs.cliente, led_secciones.nombre_seccion, clientes.nombre_cliente,
     docs.fecha_procesado,
     LEFT(CONVERT(VARCHAR,led_docs.ingresado,21),16) AS ingresado, led_docs.ingresado_por, users_i.first_name + ' ' + users_i.last_name as ingresado_nombre,
     LEFT(CONVERT(VARCHAR,led_docs.verificado,21),16) AS verificado, led_docs.verificado_por, users_v.first_name + ' ' + users_v.last_name as verificado_nombre,
     LEFT(CONVERT(VARCHAR,led_docs.rechazado,21),16) AS rechazado, led_docs.rechazado_por, users_r.first_name + ' ' + users_r.last_name as rechazado_nombre,

   padrones_1.nombre_persona AS nombre_persona_1, padrones_1.identificador + ' ' + padrones_1.numero AS identificacion_1,
   padrones.nombre_persona, padrones.identificador + ' ' + padrones.numero AS identificacion,
   padrones_e.nombre_persona AS nombre_empleado, padrones_e.identificador + ' ' + padrones_e.numero AS identificacion_e,
   led_vehiculos.dominio, led_vehiculos.nombre_vehiculo,

   CASE 
    WHEN led_docs.estado_doc = 'I' THEN 'Ingresado'
    WHEN led_docs.estado_doc = 'R' THEN 'Rechazado'
    WHEN led_docs.estado_doc = 'V' THEN 'Verificado'
   END AS nombre_estado

   FROM led_docs INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
   INNER JOIN
    (select led_docs.doc_id,
    CASE
     when led_docs.estado_doc = 'V' then verificado
     when led_docs.estado_doc = 'R' then rechazado
    END AS fecha_procesado
    from led_docs 
    where led_docs.tipo_doc = @p_tipo_doc
    and led_docs.doc_id_lista IS NULL
    and led_docs.estado_doc IN ('V','R')
    and led_docs.replicated_doc_id IS NULL
  
    UNION ALL

    select led_docs.doc_id, led_notificaciones.horario as fecha_procesado
    from led_docs inner join led_notificaciones on
     led_docs.notificacion = led_notificaciones.notificacion
    where led_docs.tipo_doc = @p_tipo_doc
    and led_docs.doc_id_lista IS NULL
    and led_docs.estado_doc = 'I'
    and led_docs.aprobacion_parcial = 1) docs ON led_docs.doc_id = docs.doc_id

   INNER JOIN led_secciones ON led_docs.led_seccion = led_secciones.led_seccion
   INNER JOIN clientes ON led_docs.cliente = clientes.cliente
   INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
   INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
   INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
   INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron

   LEFT OUTER JOIN led_empleados ON led_docs.empleado = led_empleados.empleado
   LEFT OUTER JOIN padrones padrones_e ON led_empleados.id_padron = padrones_e.id_padron

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

   LEFT OUTER JOIN users users_i ON led_docs.ingresado_por = users_i.user_id
   LEFT OUTER JOIN users users_v ON led_docs.verificado_por = users_v.user_id
   LEFT OUTER JOIN users users_r ON led_docs.rechazado_por = users_r.user_id

   WHERE docs.fecha_procesado BETWEEN @fecha_desde AND @fecha_hasta


  END ELSE

   IF (@action = 'Verificados') BEGIN

    SELECT led_docs.doc_id, led_docs.contratista, led_docs.contratista_1, led_docs.empleado, led_docs.vehiculo,
      led_docs.estado_doc, led_docs.periodo, led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.led_seccion,
      led_docs.cliente, led_secciones.nombre_seccion, clientes.nombre_cliente,
      LEFT(CONVERT(VARCHAR,led_docs.verificado,21),16) AS fecha_procesado,
      LEFT(CONVERT(VARCHAR,led_docs.ingresado,21),16) AS ingresado, led_docs.ingresado_por, users_i.first_name + ' ' + users_i.last_name as ingresado_nombre,
      LEFT(CONVERT(VARCHAR,led_docs.verificado,21),16) AS verificado, led_docs.verificado_por, users_v.first_name + ' ' + users_v.last_name as verificado_nombre,
      LEFT(CONVERT(VARCHAR,led_docs.rechazado,21),16) AS rechazado, led_docs.rechazado_por, users_r.first_name + ' ' + users_r.last_name as rechazado_nombre,

    padrones_1.nombre_persona AS nombre_persona_1, padrones_1.identificador + ' ' + padrones_1.numero AS identificacion_1,
    padrones.nombre_persona, padrones.identificador + ' ' + padrones.numero AS identificacion,
    padrones_e.nombre_persona AS nombre_empleado, padrones_e.identificador + ' ' + padrones_e.numero AS identificacion_e,
    led_vehiculos.dominio, led_vehiculos.nombre_vehiculo,

    CASE 
     WHEN led_docs.estado_doc = 'I' THEN 'Ingresado'
     WHEN led_docs.estado_doc = 'R' THEN 'Rechazado'
     WHEN led_docs.estado_doc = 'V' THEN 'Verificado'
    END AS nombre_estado

    FROM led_docs INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
    INNER JOIN led_secciones ON led_docs.led_seccion = led_secciones.led_seccion
    INNER JOIN clientes ON led_docs.cliente = clientes.cliente
    INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
    INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
    INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
    INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron

    LEFT OUTER JOIN led_empleados ON led_docs.empleado = led_empleados.empleado
    LEFT OUTER JOIN padrones padrones_e ON led_empleados.id_padron = padrones_e.id_padron

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

    LEFT OUTER JOIN users users_i ON led_docs.ingresado_por = users_i.user_id
    LEFT OUTER JOIN users users_v ON led_docs.verificado_por = users_v.user_id
    LEFT OUTER JOIN users users_r ON led_docs.rechazado_por = users_r.user_id

    WHERE led_docs.tipo_doc = @p_tipo_doc
    and led_docs.doc_id_lista IS NULL
    AND led_docs.verificado BETWEEN @fecha_desde AND @fecha_hasta
    AND led_docs.estado_doc = 'V'



   END ELSE

    IF (@action = 'Rechazados_parciales') BEGIN

     SELECT led_docs.doc_id, led_docs.contratista, led_docs.contratista_1, led_docs.empleado, led_docs.vehiculo,
       led_docs.estado_doc, led_docs.periodo, led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.led_seccion,
       led_docs.cliente, led_secciones.nombre_seccion, clientes.nombre_cliente,
       docs.fecha_procesado,
       LEFT(CONVERT(VARCHAR,led_docs.ingresado,21),16) AS ingresado, led_docs.ingresado_por, users_i.first_name + ' ' + users_i.last_name as ingresado_nombre,
       LEFT(CONVERT(VARCHAR,led_docs.verificado,21),16) AS verificado, led_docs.verificado_por, users_v.first_name + ' ' + users_v.last_name as verificado_nombre,
       LEFT(CONVERT(VARCHAR,led_docs.rechazado,21),16) AS rechazado, led_docs.rechazado_por, users_r.first_name + ' ' + users_r.last_name as rechazado_nombre,

     padrones_1.nombre_persona AS nombre_persona_1, padrones_1.identificador + ' ' + padrones_1.numero AS identificacion_1,
     padrones.nombre_persona, padrones.identificador + ' ' + padrones.numero AS identificacion,
     padrones_e.nombre_persona AS nombre_empleado, padrones_e.identificador + ' ' + padrones_e.numero AS identificacion_e,
     led_vehiculos.dominio, led_vehiculos.nombre_vehiculo,

     CASE 
      WHEN led_docs.estado_doc = 'I' THEN 'Ingresado'
      WHEN led_docs.estado_doc = 'R' THEN 'Rechazado'
      WHEN led_docs.estado_doc = 'V' THEN 'Verificado'
     END AS nombre_estado

     FROM led_docs INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
     INNER JOIN
      (select led_docs.doc_id, led_docs.rechazado AS fecha_procesado
      from led_docs 
      where led_docs.tipo_doc = @p_tipo_doc
      and led_docs.doc_id_lista IS NULL
      and led_docs.estado_doc = 'R'
      and led_docs.replicated_doc_id IS NULL
  
      UNION ALL

      select led_docs.doc_id, led_notificaciones.horario as fecha_procesado
      from led_docs inner join led_notificaciones on
       led_docs.notificacion = led_notificaciones.notificacion
      where led_docs.tipo_doc = @p_tipo_doc
      and led_docs.doc_id_lista IS NULL
      and led_docs.estado_doc = 'I'
      and led_docs.aprobacion_parcial = 1) docs ON led_docs.doc_id = docs.doc_id


     INNER JOIN led_secciones ON led_docs.led_seccion = led_secciones.led_seccion
     INNER JOIN clientes ON led_docs.cliente = clientes.cliente
     INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
     INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
     INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
     INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron

     LEFT OUTER JOIN led_empleados ON led_docs.empleado = led_empleados.empleado
     LEFT OUTER JOIN padrones padrones_e ON led_empleados.id_padron = padrones_e.id_padron

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

     LEFT OUTER JOIN users users_i ON led_docs.ingresado_por = users_i.user_id
     LEFT OUTER JOIN users users_v ON led_docs.verificado_por = users_v.user_id
     LEFT OUTER JOIN users users_r ON led_docs.rechazado_por = users_r.user_id
     WHERE docs.fecha_procesado BETWEEN @fecha_desde AND @fecha_hasta


    END ELSE
 
     IF (@action = 'Procesados_usuario') BEGIN

      SELECT led_docs.doc_id, led_docs.contratista, led_docs.contratista_1, led_docs.empleado, led_docs.vehiculo,
        led_docs.estado_doc, led_docs.periodo, led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.led_seccion,
        led_docs.cliente, led_secciones.nombre_seccion, clientes.nombre_cliente,
        docs.fecha_procesado,
        LEFT(CONVERT(VARCHAR,led_docs.ingresado,21),16) AS ingresado, led_docs.ingresado_por, users_i.first_name + ' ' + users_i.last_name as ingresado_nombre,
        LEFT(CONVERT(VARCHAR,led_docs.verificado,21),16) AS verificado, led_docs.verificado_por, users_v.first_name + ' ' + users_v.last_name as verificado_nombre,
        LEFT(CONVERT(VARCHAR,led_docs.rechazado,21),16) AS rechazado, led_docs.rechazado_por, users_r.first_name + ' ' + users_r.last_name as rechazado_nombre,
        users_p.first_name + ' ' + users_p.last_name as procesado_nombre,

      padrones_1.nombre_persona AS nombre_persona_1, padrones_1.identificador + ' ' + padrones_1.numero AS identificacion_1,
      padrones.nombre_persona, padrones.identificador + ' ' + padrones.numero AS identificacion,
      padrones_e.nombre_persona AS nombre_empleado, padrones_e.identificador + ' ' + padrones_e.numero AS identificacion_e,
      led_vehiculos.dominio, led_vehiculos.nombre_vehiculo,

      CASE 
       WHEN led_docs.estado_doc = 'I' THEN 'Ingresado'
       WHEN led_docs.estado_doc = 'R' THEN 'Rechazado'
       WHEN led_docs.estado_doc = 'V' THEN 'Verificado'
      END AS nombre_estado

      FROM led_docs INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
      INNER JOIN
       (select led_docs.doc_id,
       CASE
        when led_docs.estado_doc = 'V' then verificado
        when led_docs.estado_doc = 'R' then rechazado
       END AS fecha_procesado,
       CASE
        when led_docs.estado_doc = 'V' then verificado_por
        when led_docs.estado_doc = 'R' then rechazado_por
       END AS usuario

       from led_docs 
       where led_docs.tipo_doc = @p_tipo_doc
       and led_docs.doc_id_lista IS NULL
       and led_docs.estado_doc IN ('V','R')
       and led_docs.replicated_doc_id IS NULL  

       UNION ALL

       select led_docs.doc_id, led_notificaciones.horario as fecha_procesado,
       led_notificaciones.usuario_de as usuario
       from led_docs inner join led_notificaciones on
        led_docs.notificacion = led_notificaciones.notificacion
       where led_docs.tipo_doc = @p_tipo_doc
       and led_docs.doc_id_lista IS NULL
       and led_docs.estado_doc = 'I'
       and led_docs.aprobacion_parcial = 1) docs ON led_docs.doc_id = docs.doc_id

      INNER JOIN led_secciones ON led_docs.led_seccion = led_secciones.led_seccion
      INNER JOIN clientes ON led_docs.cliente = clientes.cliente
      INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
      INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
      INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
      INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron

      LEFT OUTER JOIN led_empleados ON led_docs.empleado = led_empleados.empleado
      LEFT OUTER JOIN padrones padrones_e ON led_empleados.id_padron = padrones_e.id_padron

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

      LEFT OUTER JOIN users users_i ON led_docs.ingresado_por = users_i.user_id
      INNER JOIN users users_p ON docs.usuario = users_p.user_id
      LEFT OUTER JOIN users users_v ON led_docs.verificado_por = users_v.user_id
      LEFT OUTER JOIN users users_r ON led_docs.rechazado_por = users_r.user_id

      WHERE docs.fecha_procesado BETWEEN @fecha_desde AND @fecha_hasta
      AND docs.usuario = @p_user_id

     END ELSE

      IF (@action = 'Ingresados_cliente') BEGIN

       SELECT led_docs.doc_id, led_docs.contratista, led_docs.contratista_1, led_docs.empleado, led_docs.vehiculo,
         led_docs.estado_doc, led_docs.periodo, led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.led_seccion,
         led_docs.cliente, led_secciones.nombre_seccion, clientes.nombre_cliente,
         LEFT(CONVERT(VARCHAR,led_docs.ingresado,21),16) AS fecha_procesado,
         LEFT(CONVERT(VARCHAR,led_docs.ingresado,21),16) AS ingresado, led_docs.ingresado_por, users_i.first_name + ' ' + users_i.last_name as ingresado_nombre,
         LEFT(CONVERT(VARCHAR,led_docs.verificado,21),16) AS verificado, led_docs.verificado_por, users_v.first_name + ' ' + users_v.last_name as verificado_nombre,
         LEFT(CONVERT(VARCHAR,led_docs.rechazado,21),16) AS rechazado, led_docs.rechazado_por, users_r.first_name + ' ' + users_r.last_name as rechazado_nombre,

       padrones_1.nombre_persona AS nombre_persona_1, padrones_1.identificador + ' ' + padrones_1.numero AS identificacion_1,
       padrones.nombre_persona, padrones.identificador + ' ' + padrones.numero AS identificacion,
       padrones_e.nombre_persona AS nombre_empleado, padrones_e.identificador + ' ' + padrones_e.numero AS identificacion_e,
       led_vehiculos.dominio, led_vehiculos.nombre_vehiculo,

       CASE 
        WHEN led_docs.estado_doc = 'I' THEN 'Ingresado'
        WHEN led_docs.estado_doc = 'R' THEN 'Rechazado'
        WHEN led_docs.estado_doc = 'V' THEN 'Verificado'
       END AS nombre_estado

       FROM led_docs INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
       INNER JOIN led_secciones ON led_docs.led_seccion = led_secciones.led_seccion
       INNER JOIN clientes ON led_docs.cliente = clientes.cliente
       INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
       INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
       INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
       INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron

       LEFT OUTER JOIN led_empleados ON led_docs.empleado = led_empleados.empleado
       LEFT OUTER JOIN padrones padrones_e ON led_empleados.id_padron = padrones_e.id_padron

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

       LEFT OUTER JOIN users users_i ON led_docs.ingresado_por = users_i.user_id
       LEFT OUTER JOIN users users_v ON led_docs.verificado_por = users_v.user_id
       LEFT OUTER JOIN users users_r ON led_docs.rechazado_por = users_r.user_id

       WHERE led_docs.tipo_doc = @p_tipo_doc
       and led_docs.doc_id_lista IS NULL
       AND led_docs.ingresado BETWEEN @fecha_desde AND @fecha_hasta
       AND led_docs.estado_doc IN ('I', 'R', 'V')
       AND led_docs.cliente = @p_cliente


      END ELSE

       IF (@action = 'Procesados_cliente') BEGIN

        SELECT led_docs.doc_id, led_docs.contratista, led_docs.contratista_1, led_docs.empleado, led_docs.vehiculo,
          led_docs.estado_doc, led_docs.periodo, led_docs.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.led_seccion,
          led_docs.cliente, led_secciones.nombre_seccion, clientes.nombre_cliente,
          docs.fecha_procesado,
          LEFT(CONVERT(VARCHAR,led_docs.ingresado,21),16) AS ingresado, led_docs.ingresado_por, users_i.first_name + ' ' + users_i.last_name as ingresado_nombre,
          LEFT(CONVERT(VARCHAR,led_docs.verificado,21),16) AS verificado, led_docs.verificado_por, users_v.first_name + ' ' + users_v.last_name as verificado_nombre,
          LEFT(CONVERT(VARCHAR,led_docs.rechazado,21),16) AS rechazado, led_docs.rechazado_por, users_r.first_name + ' ' + users_r.last_name as rechazado_nombre,

        padrones_1.nombre_persona AS nombre_persona_1, padrones_1.identificador + ' ' + padrones_1.numero AS identificacion_1,
        padrones.nombre_persona, padrones.identificador + ' ' + padrones.numero AS identificacion,
        padrones_e.nombre_persona AS nombre_empleado, padrones_e.identificador + ' ' + padrones_e.numero AS identificacion_e,
        led_vehiculos.dominio, led_vehiculos.nombre_vehiculo,

        CASE 
         WHEN led_docs.estado_doc = 'I' THEN 'Ingresado'
         WHEN led_docs.estado_doc = 'R' THEN 'Rechazado'
         WHEN led_docs.estado_doc = 'V' THEN 'Verificado'
        END AS nombre_estado

        FROM led_docs INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
        INNER JOIN
         (select led_docs.doc_id, led_docs.cliente,
         CASE
          when led_docs.estado_doc = 'V' then verificado
          when led_docs.estado_doc = 'R' then rechazado
         END AS fecha_procesado
         from led_docs 
         where led_docs.tipo_doc = @p_tipo_doc
         and led_docs.doc_id_lista IS NULL
         and led_docs.estado_doc IN ('V','R')
         and led_docs.replicated_doc_id IS NULL

         UNION ALL

         select led_docs.doc_id, led_docs.cliente, led_notificaciones.horario as fecha_procesado
         from led_docs inner join led_notificaciones on
          led_docs.notificacion = led_notificaciones.notificacion
         where led_docs.tipo_doc = @p_tipo_doc
         and led_docs.doc_id_lista IS NULL
         and led_docs.estado_doc = 'I'
         and led_docs.aprobacion_parcial = 1) docs ON led_docs.doc_id = docs.doc_id

        INNER JOIN led_secciones ON led_docs.led_seccion = led_secciones.led_seccion
        INNER JOIN clientes ON led_docs.cliente = clientes.cliente
        INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
        INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
        INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
        INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron

        LEFT OUTER JOIN led_empleados ON led_docs.empleado = led_empleados.empleado
        LEFT OUTER JOIN padrones padrones_e ON led_empleados.id_padron = padrones_e.id_padron

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

        LEFT OUTER JOIN users users_i ON led_docs.ingresado_por = users_i.user_id
        LEFT OUTER JOIN users users_v ON led_docs.verificado_por = users_v.user_id
        LEFT OUTER JOIN users users_r ON led_docs.rechazado_por = users_r.user_id

        WHERE docs.fecha_procesado BETWEEN @fecha_desde AND @fecha_hasta
        AND docs.cliente = @p_cliente


       END



 


  
END

GO

Used By

No items found