dbo.Imperium_Datos_Documentos_Recursos

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

3
Name Data Type Length Description
@p_contratista int 4
@p_periodo int 4
@p_tipo_doc 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_Datos_Documentos_Recursos
 -- Add the parameters for the stored procedure here

 @p_contratista         int = null,
 @p_periodo          int = null,
 @p_tipo_doc          int = null

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

 DECLARE @led_seccion varchar(1)

 select @led_seccion = led_seccion from led_tipos_doc where tipo_doc = @p_tipo_doc

 IF (@led_seccion = 'E')

  -- Insert statements for procedure here
  SELECT led_docs.doc_id, led_docs.periodo, led_docs.cliente, led_docs.estado_doc, led_docs.status_doc, led_docs.doc_version,
    led_docs.contratista, led_docs.contratista_1, led_docs.led_seccion, led_docs.empleado, led_docs.texto_rechazo,
    padrones.nombre_persona, padrones.identificador, padrones.numero, identificadores.abreviatura, padrones.identificacion,

    right(convert(varchar(6), led_docs.periodo),2) + '/' + left(convert(varchar(6), led_docs.periodo),4) AS periodo_my, 
    convert(varchar, led_docs.fecha_vigencia, 103) AS vigencia,
    convert(date,led_docs.fecha_vigencia) AS vigencia_ymd,
    convert(varchar, led_docs.fecha_tolerancia, 103) AS plazo_carga,

    CASE WHEN led_docs.status_doc = 'R' THEN 'Rechazado'
      WHEN led_docs.status_doc = 'E' THEN 'Vencido'
      WHEN led_docs.status_doc = 'P' THEN 'Aprob. parcial'
      WHEN led_docs.status_doc = 'N' THEN 'No ingresado'
      WHEN led_docs.status_doc = 'I' THEN 'Ingresado'
      WHEN led_docs.status_doc = 'V' THEN 'Verificado' END AS nombre_estado,
      
      CASE WHEN led_docs.status_doc = 'R' THEN 1
     WHEN led_docs.status_doc = 'E' THEN 2
     WHEN led_docs.status_doc = 'P' THEN 3
     WHEN led_docs.status_doc = 'N' THEN 4
     WHEN led_docs.status_doc = 'I' THEN 5
     WHEN led_docs.status_doc = 'V' THEN 6 END AS orden_status,

    CASE WHEN led_docs.status_doc = 'R' THEN 'fa-exclamation-circle text-rechazados'
      WHEN led_docs.status_doc = 'E' THEN 'fa-warning text-vencidos'
      WHEN led_docs.status_doc = 'P' THEN 'fa-exclamation text-parciales'
      WHEN led_docs.status_doc = 'N' THEN 'fa-cloud-upload text-pendientes'
      WHEN led_docs.status_doc = 'I' THEN 'fa-pause text-ingresados'
      WHEN led_docs.status_doc = 'V' THEN 'fa-check text-verificados' END AS icono_small,

    CASE WHEN led_docs.status_doc = 'R' THEN '<i class="fa fa-exclamation-circle text-rechazados fa-2x"></i>'
      WHEN led_docs.status_doc = 'E' THEN '<i class="fa fa-warning text-vencidos fa-2x" title="Documento vencido."></i>'
      WHEN led_docs.status_doc = 'P' THEN '<i class="fa fa-exclamation text-parciales fa-2x"></i>'
      WHEN led_docs.status_doc = 'N' THEN '<i class="fa fa-cloud-upload text-pendientes fa-2x" title="Documento pendiente de ingresar."></i>'
      WHEN led_docs.status_doc = 'I' THEN '<i class="fa fa-pause text-ingresados fa-2x" title="Documento pendiente de verificación."></i>'
      WHEN led_docs.status_doc = 'V' THEN '<i class="fa fa-check text-verificados fa-2x" title="Documento en cumplimiento."></i>' END AS icono,

    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_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)    
     
     ) AS prox_vencer

  from led_docs
  inner join led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
  inner join led_empleados on led_docs.empleado = led_empleados.empleado
  inner join padrones on led_empleados.id_padron = padrones.id_padron
  inner join identificadores on padrones.identificador = identificadores.identificador
  inner join led_cliente_empleado ON (led_docs.cliente = led_cliente_empleado.cliente
            AND led_docs.tipo_doc = led_cliente_empleado.tipo_doc
            AND led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado)

  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_contratista
  and led_docs.periodo = @p_periodo
  and led_docs.tipo_doc = @p_tipo_doc
  order by orden_status, padrones.nombre_persona

 ELSE IF (@led_seccion = 'V')

  -- Insert statements for procedure here
  SELECT led_docs.doc_id, led_docs.periodo, led_docs.cliente, led_docs.estado_doc, led_docs.status_doc, led_docs.doc_version,
    led_docs.contratista, led_docs.contratista_1, led_docs.led_seccion, led_docs.vehiculo, led_docs.texto_rechazo,
    led_vehiculos.dominio, led_vehiculos.nombre_vehiculo,

    right(convert(varchar(6), led_docs.periodo),2) + '/' + left(convert(varchar(6), led_docs.periodo),4) AS periodo_my, 
    convert(varchar, led_docs.fecha_vigencia, 103) AS vigencia,
    convert(date,led_docs.fecha_vigencia) AS vigencia_ymd,

    convert(varchar, led_docs.fecha_tolerancia, 103) AS plazo_carga,

    CASE WHEN led_docs.status_doc = 'R' THEN 'Rechazado'
      WHEN led_docs.status_doc = 'E' THEN 'Vencido'
      WHEN led_docs.status_doc = 'P' THEN 'Aprob. parcial'
      WHEN led_docs.status_doc = 'N' THEN 'No ingresado'
      WHEN led_docs.status_doc = 'I' THEN 'Ingresado'
      WHEN led_docs.status_doc = 'V' THEN 'Verificado' END AS nombre_estado,

    CASE WHEN led_docs.status_doc = 'R' THEN 1
     WHEN led_docs.status_doc = 'E' THEN 2
     WHEN led_docs.status_doc = 'P' THEN 3
     WHEN led_docs.status_doc = 'N' THEN 4
     WHEN led_docs.status_doc = 'I' THEN 5
     WHEN led_docs.status_doc = 'V' THEN 6 END AS orden_status,
    
    CASE WHEN led_docs.status_doc = 'R' THEN 'fa-exclamation-circle text-rechazados'
      WHEN led_docs.status_doc = 'E' THEN 'fa-warning text-vencidos'
      WHEN led_docs.status_doc = 'P' THEN 'fa-exclamation text-parciales'
      WHEN led_docs.status_doc = 'N' THEN 'fa-cloud-upload text-pendientes'
      WHEN led_docs.status_doc = 'I' THEN 'fa-pause text-ingresados'
      WHEN led_docs.status_doc = 'V' THEN 'fa-check text-verificados' END AS icono_small,

    CASE WHEN led_docs.status_doc = 'R' THEN '<i class="fa fa-exclamation-circle text-rechazados fa-2x"></i>'
      WHEN led_docs.status_doc = 'E' THEN '<i class="fa fa-warning text-vencidos fa-2x" title="Documento vencido."></i>'
      WHEN led_docs.status_doc = 'P' THEN '<i class="fa fa-exclamation text-parciales fa-2x"></i>'
      WHEN led_docs.status_doc = 'N' THEN '<i class="fa fa-cloud-upload text-pendientes fa-2x" title="Documento pendiente de ingresar."></i>'
      WHEN led_docs.status_doc = 'I' THEN '<i class="fa fa-pause text-ingresados fa-2x" title="Documento pendiente de verificación."></i>'
      WHEN led_docs.status_doc = 'V' THEN '<i class="fa fa-check text-verificados fa-2x" title="Documento en cumplimiento."></i>' END AS icono,

    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_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)    
     
     ) AS prox_vencer

  from led_docs
  inner join led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
  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_docs.tipo_doc = led_cliente_vehiculo.tipo_doc
            AND led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo)

  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_contratista
  and led_docs.periodo = @p_periodo
  and led_docs.tipo_doc = @p_tipo_doc
  order by orden_status, led_vehiculos.dominio


END
GO

Used By

No items found