dbo.Imperium_Documentos_Recurso

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

5
Name Data Type Length Description
@p_periodo int 4
@p_empleado int 4
@p_vehiculo int 4
@p_subcontratista int 4
@p_excluir_hijos tinyint 1

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
-- =============================================
-- Author: LUIS PRENAFETA
-- Create date: 27/05/2020

/*

exec imperium_documentos_recurso 202005,59284
exec imperium_documentos_recurso 202005,null,5152
exec imperium_documentos_recurso 202212,null,null,9308
*/


-- Description: PARA TRAER UNA LISTA DE DOCUMENTOS DE UN RECURSO EN PARTICULAR (EMPLEADO, VEHICULO O SUBCONTRATISTA) EN UN PERIODO
-- =============================================
CREATE OR ALTER PROCEDURE dbo.Imperium_Documentos_Recurso
 -- Add the parameters for the stored procedure here

 @p_periodo       int = null,
 @p_empleado       int = null,
 @p_vehiculo       int = null,
 @p_subcontratista     int = null,
 @p_excluir_hijos     tinyint = 0 --- pasar en 1 para ignorar docs con doc_id_lista != NULL


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_periodo > 0) begin

  if (@p_empleado is not null) begin

   if (@p_excluir_hijos = 0) 

    select led_docs.doc_id, led_docs.doc_version, led_docs.tipo_doc, led_docs.periodo, led_docs.cliente,
      led_docs.led_seccion, clientes.nombre_cliente, led_tipos_doc.nombre_tipo_doc, 
      led_empleados.id_padron, padrones.nombre_persona, padrones.identificador,
      padrones.numero, padrones.identificacion, led_docs.texto_rechazo,
      led_docs.contratista, led_docs.contratista_1, led_docs.estado_doc,
      case
       when led_docs.estado_doc = 'N' then 'No ingresado'
       when led_docs.estado_doc = 'I' then 'Pend. de verificar'
       when led_docs.estado_doc = 'R' then 'Rechazado'
       when led_docs.estado_doc = 'V' then 'Verificado'
      end as nombre_estado,
      
      CASE WHEN led_docs.estado_doc = 'R' THEN '<i class="fa fa-exclamation-circle text-rechazados fa-2x" title="Rechazado"></i>'
        WHEN led_docs.estado_doc = 'N' THEN '<i class="fa fa-cloud-upload text-pendientes fa-2x" title="No ingresado"></i>'
        WHEN led_docs.estado_doc = 'I' THEN '<i class="fa fa-pause text-ingresados fa-2x" title="Pend. de verificar"></i>'
        WHEN led_docs.estado_doc = 'V' THEN '<i class="fa fa-check text-verificados fa-2x" title="Verificado"></i>' 
         END AS icono_full,

      convert(varchar,led_docs.fecha_vigencia, 103) as fecha_vigencia, 
      convert(varchar,led_docs.fecha_tolerancia, 103) as fecha_tolerancia, 
      convert(varchar,led_docs.ingresado, 103) as ingresado,
      led_docs.ingresado_por, led_docs.tipo_doc, led_docs.status_doc, led_docs.doc_id_lista,
      padrones_c.identificador as identificador_c, 
      padrones_c.numero as numero_c, 
      padrones_c.identificacion as identificacion_c,

      convert(varchar(6),led_docs.periodo)+'/'+convert(varchar,led_docs.cliente)+'/'+convert(varchar,led_docs.contratista_1)+'/' as doc_path,
      convert(varchar(6),led_docs.periodo)+'_'+convert(varchar,led_docs.cliente)+'_'+right('00000'+convert(varchar(5),led_docs.tipo_doc),5)+'_'+led_docs.led_seccion+convert(varchar,led_docs.doc_id)+'_' as preffix,


      /* Para saber si es próximo a vencer hay que ver si depende del padre o es individual de recurso empleado */
      IIF(led_docs.doc_id_lista IS NULL,

       iif(led_docs.estado_doc = 'V' AND     
         led_tipos_doc.modalidad = 'A' AND 
         led_docs.periodo = dbo.PeriodoAdelantado() AND
         ISNULL(led_cliente_empleado.ci_killer, 0) > 0 AND
         DATEDIFF(HOUR, GETDATE(), ISNULL(led_docs.fecha_vigencia, DATEFROMPARTS(2059,12,31))) <= 96 AND
         DATEDIFF(HOUR, GETDATE(), ISNULL(led_docs.fecha_vigencia, DATEFROMPARTS(2059,12,31))) >= 0, 1, 
     
         -- Else hay versión de reemplazo y se encuentra ingresada o rechazada con las mismas condiciones anteriores
         iif (led_docs.doc_version > 0 AND
          led_docs.estado_doc IN ('I','R') AND
          led_docs_aux.estado_doc IN ('I','R') AND
          led_tipos_doc.modalidad = 'A' AND 
          led_docs.periodo = dbo.PeriodoAdelantado() AND
          ISNULL(led_cliente_empleado.ci_killer, 0) > 0 AND
          DATEDIFF(HOUR, GETDATE(), ISNULL(led_docs.fecha_vigencia, DATEFROMPARTS(2059,12,31))) <= 96 AND
          DATEDIFF(HOUR, GETDATE(), ISNULL(led_docs.fecha_vigencia, DATEFROMPARTS(2059,12,31))) >= 0, 1, 0)     
        ) ,

       -- Depende del padre
       iif(padre.estado_doc = 'V' AND     
         led_tipos_doc.modalidad = 'A' AND 
         led_docs.periodo = dbo.PeriodoAdelantado() AND
         ISNULL(led_cliente_empleado.ci_killer, 0) > 0 AND
         DATEDIFF(HOUR, GETDATE(), ISNULL(padre.fecha_vigencia, DATEFROMPARTS(2059,12,31))) <= 96 AND
         DATEDIFF(HOUR, GETDATE(), ISNULL(padre.fecha_vigencia, DATEFROMPARTS(2059,12,31))) >= 0, 1, 
     
         -- Else hay versión de reemplazo y se encuentra ingresada o rechazada con las mismas condiciones anteriores
         iif (padre.doc_version > 0 AND
          padre.estado_doc IN ('I','R') AND
          padre_aux.estado_doc IN ('I','R') AND
          led_tipos_doc.modalidad = 'A' AND 
          led_docs.periodo = dbo.PeriodoAdelantado() AND
          ISNULL(led_cliente_empleado.ci_killer, 0) > 0 AND
          DATEDIFF(HOUR, GETDATE(), ISNULL(padre.fecha_vigencia, DATEFROMPARTS(2059,12,31))) <= 96 AND
          DATEDIFF(HOUR, GETDATE(), ISNULL(padre.fecha_vigencia, DATEFROMPARTS(2059,12,31))) >= 0, 1, 0)     
        )
              
       ) AS prox_vencer,
       padre.doc_id as doc_id_padre, padre.doc_version as doc_version_padre, padre.estado_doc as estado_doc_padre


    from led_docs inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
    inner join clientes on led_docs.cliente = clientes.cliente
    inner join led_empleados on led_docs.empleado = led_empleados.empleado
    inner join led_cliente_empleado on (led_docs.cliente = led_cliente_empleado.cliente
             and led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
             and led_docs.tipo_doc = led_cliente_empleado.tipo_doc)
    inner join led_empleados_periodo on (led_empleados.empleado = led_empleados_periodo.empleado
             and led_docs.periodo = led_empleados_periodo.periodo)
    inner join led_contratistas on led_empleados.contratista = led_contratistas.contratista
    inner join padrones on led_empleados.id_padron = padrones.id_padron
    inner join padrones padrones_c on led_contratistas.id_padron = padrones_c.id_padron

    left outer join led_docs_aux on (led_docs.doc_id = led_docs_aux.doc_id AND led_docs.doc_version = led_docs_aux.doc_version)
    left outer join led_docs padre on (led_docs.doc_id_lista = padre.tipo_doc AND led_docs.periodo = padre.periodo AND led_docs.contratista = padre.contratista)
    left outer join led_cliente_contratista lcc on (padre.cliente = lcc.cliente AND led_contratistas.tipo_contratista = lcc.tipo_contratista AND padre.tipo_doc = lcc.tipo_doc)
    left outer join led_docs_aux padre_aux on (padre.doc_id = padre_aux.doc_id AND padre.doc_version = padre_aux.doc_version)

    where led_docs.empleado = @p_empleado
    and led_docs.periodo = @p_periodo
    order by led_tipos_doc.nombre_tipo_doc

   else

    select led_docs.doc_id, led_docs.doc_version, led_docs.tipo_doc, led_docs.periodo, led_docs.cliente,
      led_docs.led_seccion, clientes.nombre_cliente, led_tipos_doc.nombre_tipo_doc, 
      led_empleados.id_padron, padrones.nombre_persona, padrones.identificador,
      padrones.numero, padrones.identificacion, led_docs.texto_rechazo,
      led_docs.contratista, led_docs.contratista_1, led_docs.estado_doc,
      case
       when led_docs.estado_doc = 'N' then 'No ingresado'
       when led_docs.estado_doc = 'I' then 'Pend. de verificar'
       when led_docs.estado_doc = 'R' then 'Rechazado'
       when led_docs.estado_doc = 'V' then 'Verificado'
      end as nombre_estado,
      CASE WHEN led_docs.estado_doc = 'R' THEN '<i class="fa fa-exclamation-circle text-rechazados fa-2x" title="Rechazado"></i>'
        WHEN led_docs.estado_doc = 'N' THEN '<i class="fa fa-cloud-upload text-pendientes fa-2x" title="No ingresado"></i>'
        WHEN led_docs.estado_doc = 'I' THEN '<i class="fa fa-pause text-ingresados fa-2x" title="Pend. de verificar"></i>'
        WHEN led_docs.estado_doc = 'V' THEN '<i class="fa fa-check text-verificados fa-2x" title="Verificado"></i>' 
         END AS icono_full,
      convert(varchar,led_docs.fecha_vigencia, 103) as fecha_vigencia, 
      convert(varchar,led_docs.fecha_tolerancia, 103) as fecha_tolerancia, 
      convert(varchar,led_docs.ingresado, 103) as ingresado,
      led_docs.ingresado_por, led_docs.tipo_doc, led_docs.status_doc, led_docs.doc_id_lista,
      padrones_c.identificador as identificador_c, 
      padrones_c.numero as numero_c, 
      padrones_c.identificacion as identificacion_c,

      convert(varchar(6),led_docs.periodo)+'/'+convert(varchar,led_docs.cliente)+'/'+convert(varchar,led_docs.contratista_1)+'/' as doc_path,
      convert(varchar(6),led_docs.periodo)+'_'+convert(varchar,led_docs.cliente)+'_'+right('00000'+convert(varchar(5),led_docs.tipo_doc),5)+'_'+led_docs.led_seccion+convert(varchar,led_docs.doc_id)+'_' as preffix

    from led_docs inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
    inner join clientes on led_docs.cliente = clientes.cliente
    inner join led_empleados on led_docs.empleado = led_empleados.empleado
    inner join led_cliente_empleado on (led_docs.cliente = led_cliente_empleado.cliente
             and led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado
             and led_docs.tipo_doc = led_cliente_empleado.tipo_doc)
    inner join led_empleados_periodo on (led_empleados.empleado = led_empleados_periodo.empleado
             and led_docs.periodo = led_empleados_periodo.periodo)
    inner join led_contratistas on led_empleados.contratista = led_contratistas.contratista
    inner join padrones on led_empleados.id_padron = padrones.id_padron
    inner join padrones padrones_c on led_contratistas.id_padron = padrones_c.id_padron

    where led_docs.empleado = @p_empleado
    and led_docs.periodo = @p_periodo
    and led_docs.doc_id_lista IS NULL
    order by led_tipos_doc.nombre_tipo_doc

  end

  else if (@p_vehiculo is not null) begin

   if (@p_excluir_hijos = 0) 

    select led_docs.doc_id, led_docs.doc_version, led_docs.tipo_doc, led_docs.periodo, led_docs.cliente,
      led_docs.led_seccion, clientes.nombre_cliente, led_tipos_doc.nombre_tipo_doc, 
      led_vehiculos.dominio, led_docs.texto_rechazo,
      led_docs.contratista, led_docs.contratista_1, led_docs.estado_doc,
      case
       when led_docs.estado_doc = 'N' then 'No ingresado'
       when led_docs.estado_doc = 'I' then 'Pend. de verificar'
       when led_docs.estado_doc = 'R' then 'Rechazado'
       when led_docs.estado_doc = 'V' then 'Verificado'
      end as nombre_estado,
      CASE WHEN led_docs.estado_doc = 'R' THEN '<i class="fa fa-exclamation-circle text-rechazados fa-2x" title="Rechazado"></i>'
        WHEN led_docs.estado_doc = 'N' THEN '<i class="fa fa-cloud-upload text-pendientes fa-2x" title="No ingresado"></i>'
        WHEN led_docs.estado_doc = 'I' THEN '<i class="fa fa-pause text-ingresados fa-2x" title="Pend. de verificar"></i>'
        WHEN led_docs.estado_doc = 'V' THEN '<i class="fa fa-check text-verificados fa-2x" title="Verificado"></i>' 
         END AS icono_full,
      convert(varchar,led_docs.fecha_vigencia, 103) as fecha_vigencia, 
      convert(varchar,led_docs.fecha_tolerancia, 103) as fecha_tolerancia, 
      convert(varchar,led_docs.ingresado, 103) as ingresado,
      led_docs.ingresado_por, led_docs.tipo_doc, led_docs.status_doc, led_docs.doc_id_lista,
      padrones_c.identificador as identificador_c, 
      padrones_c.numero as numero_c, 
      padrones_c.identificacion as identificacion_c,

      convert(varchar(6),led_docs.periodo)+'/'+convert(varchar,led_docs.cliente)+'/'+convert(varchar,led_docs.contratista_1)+'/' as doc_path,
      convert(varchar(6),led_docs.periodo)+'_'+convert(varchar,led_docs.cliente)+'_'+right('00000'+convert(varchar(5),led_docs.tipo_doc),5)+'_'+led_docs.led_seccion+convert(varchar,led_docs.doc_id)+'_' as preffix,

      /* Para saber si es próximo a vencer hay que ver si depende del padre o es individual de recurso empleado */
      IIF(led_docs.doc_id_lista IS NULL,

       iif(led_docs.estado_doc = 'V' AND     
         led_tipos_doc.modalidad = 'A' AND 
         led_docs.periodo = dbo.PeriodoAdelantado() AND
         ISNULL(led_cliente_vehiculo.ci_killer, 0) > 0 AND
         DATEDIFF(HOUR, GETDATE(), ISNULL(led_docs.fecha_vigencia, DATEFROMPARTS(2059,12,31))) <= 96 AND
         DATEDIFF(HOUR, GETDATE(), ISNULL(led_docs.fecha_vigencia, DATEFROMPARTS(2059,12,31))) >= 0, 1, 
     
         -- Else hay versión de reemplazo y se encuentra ingresada o rechazada con las mismas condiciones anteriores
         iif (led_docs.doc_version > 0 AND
          led_docs.estado_doc IN ('I','R') AND
          led_docs_aux.estado_doc IN ('I','R') AND
          led_tipos_doc.modalidad = 'A' AND 
          led_docs.periodo = dbo.PeriodoAdelantado() AND
          ISNULL(led_cliente_vehiculo.ci_killer, 0) > 0 AND
          DATEDIFF(HOUR, GETDATE(), ISNULL(led_docs.fecha_vigencia, DATEFROMPARTS(2059,12,31))) <= 96 AND
          DATEDIFF(HOUR, GETDATE(), ISNULL(led_docs.fecha_vigencia, DATEFROMPARTS(2059,12,31))) >= 0, 1, 0)     
        ) ,

       -- Depende del padre
       iif(padre.estado_doc = 'V' AND     
         led_tipos_doc.modalidad = 'A' AND 
         led_docs.periodo = dbo.PeriodoAdelantado() AND
         ISNULL(led_cliente_vehiculo.ci_killer, 0) > 0 AND
         DATEDIFF(HOUR, GETDATE(), ISNULL(padre.fecha_vigencia, DATEFROMPARTS(2059,12,31))) <= 96 AND
         DATEDIFF(HOUR, GETDATE(), ISNULL(padre.fecha_vigencia, DATEFROMPARTS(2059,12,31))) >= 0, 1, 
     
         -- Else hay versión de reemplazo y se encuentra ingresada o rechazada con las mismas condiciones anteriores
         iif (padre.doc_version > 0 AND
          padre.estado_doc IN ('I','R') AND
          padre_aux.estado_doc IN ('I','R') AND
          led_tipos_doc.modalidad = 'A' AND 
          led_docs.periodo = dbo.PeriodoAdelantado() AND
          ISNULL(led_cliente_vehiculo.ci_killer, 0) > 0 AND
          DATEDIFF(HOUR, GETDATE(), ISNULL(padre.fecha_vigencia, DATEFROMPARTS(2059,12,31))) <= 96 AND
          DATEDIFF(HOUR, GETDATE(), ISNULL(padre.fecha_vigencia, DATEFROMPARTS(2059,12,31))) >= 0, 1, 0)     
        )
              
       ) AS prox_vencer,
       padre.doc_id as doc_id_padre, padre.doc_version as doc_version_padre, padre.estado_doc as estado_doc_padre

    from led_docs inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
    inner join clientes on led_docs.cliente = clientes.cliente
    inner join led_vehiculos on led_docs.vehiculo = led_vehiculos.vehiculo
    inner join led_cliente_vehiculo on (led_docs.cliente = led_cliente_vehiculo.cliente
             and led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
             and led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc)
    inner join led_vehiculos_periodo on (led_vehiculos.vehiculo = led_vehiculos_periodo.vehiculo
             and led_docs.periodo = led_vehiculos_periodo.periodo)
    inner join led_contratistas on led_vehiculos.contratista = led_contratistas.contratista
    inner join padrones padrones_c on led_contratistas.id_padron = padrones_c.id_padron

    left outer join led_docs_aux on (led_docs.doc_id = led_docs_aux.doc_id AND led_docs.doc_version = led_docs_aux.doc_version)
    left outer join led_docs padre on (led_docs.doc_id_lista = padre.tipo_doc AND led_docs.periodo = padre.periodo AND led_docs.contratista = padre.contratista)
    left outer join led_cliente_contratista lcc on (padre.cliente = lcc.cliente AND led_contratistas.tipo_contratista = lcc.tipo_contratista AND padre.tipo_doc = lcc.tipo_doc)
    left outer join led_docs_aux padre_aux on (padre.doc_id = padre_aux.doc_id AND padre.doc_version = padre_aux.doc_version)

    where led_docs.vehiculo = @p_vehiculo
    and led_docs.periodo = @p_periodo
    order by led_tipos_doc.nombre_tipo_doc

   else

    select led_docs.doc_id, led_docs.doc_version, led_docs.tipo_doc, led_docs.periodo, led_docs.cliente,
      led_docs.led_seccion, clientes.nombre_cliente, led_tipos_doc.nombre_tipo_doc, 
      led_vehiculos.dominio, led_docs.texto_rechazo,
      led_docs.contratista, led_docs.contratista_1, led_docs.estado_doc,
      case
       when led_docs.estado_doc = 'N' then 'No ingresado'
       when led_docs.estado_doc = 'I' then 'Pend. de verificar'
       when led_docs.estado_doc = 'R' then 'Rechazado'
       when led_docs.estado_doc = 'V' then 'Verificado'
      end as nombre_estado,
      CASE WHEN led_docs.estado_doc = 'R' THEN '<i class="fa fa-exclamation-circle text-rechazados fa-2x" title="Rechazado"></i>'
        WHEN led_docs.estado_doc = 'N' THEN '<i class="fa fa-cloud-upload text-pendientes fa-2x" title="No ingresado"></i>'
        WHEN led_docs.estado_doc = 'I' THEN '<i class="fa fa-pause text-ingresados fa-2x" title="Pend. de verificar"></i>'
        WHEN led_docs.estado_doc = 'V' THEN '<i class="fa fa-check text-verificados fa-2x" title="Verificado"></i>' 
         END AS icono_full,
      convert(varchar,led_docs.fecha_vigencia, 103) as fecha_vigencia, 
      convert(varchar,led_docs.fecha_tolerancia, 103) as fecha_tolerancia, 
      convert(varchar,led_docs.ingresado, 103) as ingresado,
      led_docs.ingresado_por, led_docs.tipo_doc, led_docs.status_doc, led_docs.doc_id_lista,
      padrones_c.identificador as identificador_c, 
      padrones_c.numero as numero_c, 
      padrones_c.identificacion as identificacion_c,

      convert(varchar(6),led_docs.periodo)+'/'+convert(varchar,led_docs.cliente)+'/'+convert(varchar,led_docs.contratista_1)+'/' as doc_path,
      convert(varchar(6),led_docs.periodo)+'_'+convert(varchar,led_docs.cliente)+'_'+right('00000'+convert(varchar(5),led_docs.tipo_doc),5)+'_'+led_docs.led_seccion+convert(varchar,led_docs.doc_id)+'_' as preffix

    from led_docs inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
    inner join clientes on led_docs.cliente = clientes.cliente
    inner join led_vehiculos on led_docs.vehiculo = led_vehiculos.vehiculo
    inner join led_cliente_vehiculo on (led_docs.cliente = led_cliente_vehiculo.cliente
             and led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
             and led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc)
    inner join led_vehiculos_periodo on (led_vehiculos.vehiculo = led_vehiculos_periodo.vehiculo
             and led_docs.periodo = led_vehiculos_periodo.periodo)
    inner join led_contratistas on led_vehiculos.contratista = led_contratistas.contratista
    inner join padrones padrones_c on led_contratistas.id_padron = padrones_c.id_padron

    where led_docs.vehiculo = @p_vehiculo
    and led_docs.periodo = @p_periodo
    and led_docs.doc_id_lista IS NULL
    order by led_tipos_doc.nombre_tipo_doc


  end 

  else if (@p_subcontratista is not null) begin

   select led_docs.doc_id, led_docs.doc_version, led_docs.tipo_doc, led_docs.periodo, led_docs.cliente,
     led_docs.led_seccion, clientes.nombre_cliente, led_tipos_doc.nombre_tipo_doc, 
     led_contratistas.id_padron, padrones.nombre_persona, padrones.identificador,
     padrones.numero, padrones.identificacion, led_docs.texto_rechazo,
     led_docs.contratista, led_docs.contratista_1, led_docs.estado_doc,
     case
      when led_docs.estado_doc = 'N' then 'No ingresado'
      when led_docs.estado_doc = 'I' then 'Pend. de verificar'
      when led_docs.estado_doc = 'R' then 'Rechazado'
      when led_docs.estado_doc = 'V' then 'Verificado'
     end as nombre_estado,
     CASE WHEN led_docs.estado_doc = 'R' THEN '<i class="fa fa-exclamation-circle text-rechazados fa-2x" title="Rechazado"></i>'
        WHEN led_docs.estado_doc = 'N' THEN '<i class="fa fa-cloud-upload text-pendientes fa-2x" title="No ingresado"></i>'
        WHEN led_docs.estado_doc = 'I' THEN '<i class="fa fa-pause text-ingresados fa-2x" title="Pend. de verificar"></i>'
        WHEN led_docs.estado_doc = 'V' THEN '<i class="fa fa-check text-verificados fa-2x" title="Verificado"></i>' 
     END AS icono_full,
     convert(varchar,led_docs.fecha_vigencia, 103) as fecha_vigencia, 
     convert(varchar,led_docs.fecha_tolerancia, 103) as fecha_tolerancia, 
     convert(varchar,led_docs.ingresado, 103) as ingresado,
     led_docs.ingresado_por, led_docs.tipo_doc, led_docs.status_doc, led_docs.doc_id_lista,

     convert(varchar(6),led_docs.periodo)+'/'+convert(varchar,led_docs.cliente)+'/'+convert(varchar,led_docs.contratista_1)+'/' as doc_path,
     convert(varchar(6),led_docs.periodo)+'_'+convert(varchar,led_docs.cliente)+'_'+right('00000'+convert(varchar(5),led_docs.tipo_doc),5)+'_'+led_docs.led_seccion+convert(varchar,led_docs.doc_id)+'_' as preffix,

     iif(led_docs.estado_doc = 'V' AND     
       led_tipos_doc.modalidad = 'A' AND 
       led_docs.periodo = dbo.PeriodoAdelantado() AND
       ISNULL(led_cliente_contratista.ci_killer, 0) > 0 AND
       DATEDIFF(HOUR, GETDATE(), ISNULL(led_docs.fecha_vigencia, DATEFROMPARTS(2059,12,31))) <= 96 AND
       DATEDIFF(HOUR, GETDATE(), ISNULL(led_docs.fecha_vigencia, DATEFROMPARTS(2059,12,31))) >= 0, 1, 
     
       -- Else hay versión de reemplazo y se encuentra ingresada o rechazada con las mismas condiciones anteriores
       iif (led_docs.doc_version > 0 AND
        led_docs.estado_doc IN ('I','R') AND
        led_docs_aux.estado_doc IN ('I','R') AND
        led_tipos_doc.modalidad = 'A' AND 
        led_docs.periodo = dbo.PeriodoAdelantado() AND
        ISNULL(led_cliente_contratista.ci_killer, 0) > 0 AND
        DATEDIFF(HOUR, GETDATE(), ISNULL(led_docs.fecha_vigencia, DATEFROMPARTS(2059,12,31))) <= 96 AND
        DATEDIFF(HOUR, GETDATE(), ISNULL(led_docs.fecha_vigencia, DATEFROMPARTS(2059,12,31))) >= 0, 1, 0)    
     
      ) AS prox_vencer

   from led_docs inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
   inner join clientes on led_docs.cliente = clientes.cliente
   inner join led_contratistas on led_docs.contratista = led_contratistas.contratista
   inner join led_cliente_contratista on (led_docs.cliente = led_cliente_contratista.cliente
            and led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista
            and led_docs.tipo_doc = led_cliente_contratista.tipo_doc)
   inner join led_subcontratista_periodo on (led_contratistas.contratista = led_subcontratista_periodo.subcontratista
             and led_docs.periodo = led_subcontratista_periodo.periodo)
   inner join padrones on led_contratistas.id_padron = padrones.id_padron

   LEFT OUTER JOIN led_docs_aux ON (led_docs.doc_id = led_docs_aux.doc_id AND led_docs.doc_version = led_docs_aux.doc_version)

   where led_docs.contratista = @p_subcontratista
   and led_docs.periodo = @p_periodo
   order by led_tipos_doc.nombre_tipo_doc
   

  end

 end
 
END
GO

Used By

No items found