dbo.Imperium_Datos_Documento_Reemplazo

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_doc_id bigint 8
@p_doc_version int 4
@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,,>

/*

exec Imperium_Datos_Documento 4938679033

*/


-- =============================================
CREATE OR ALTER PROCEDURE dbo.Imperium_Datos_Documento_Reemplazo 
 -- Add the parameters for the stored procedure here

 @p_doc_id            bigint = null,
 @p_doc_version           int = 0,
 @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;

    -- Insert statements for procedure here

 if (@p_doc_id > 0) begin


  if (@p_doc_version >= 0)

   SELECT led_docs_aux.doc_id, led_docs_aux.doc_version, led_docs_aux.cliente, clientes.nombre_cliente,
     led_docs_aux.contratista_1, led_docs_aux.contratista, led_docs_aux.estado_doc,
     led_docs_aux.led_seccion, led_docs_aux.periodo, led_docs_aux.fecha_tolerancia, led_docs_aux.fecha_vigencia, 
     ISNULL(led_docs_aux.aprobacion_parcial, 0) AS aprobacion_parcial, led_docs_aux.estado_doc, led_tipos_doc.periodicidad,
     led_docs_aux.empleado, led_docs_aux.vehiculo, led_docs_aux.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.modalidad,
     ISNULL(led_tipos_doc.validar_cuit,0) AS validar_cuit,
     ISNULL(led_tipos_doc.validar_lista_cuil,0) AS validar_lista_cuil,
     ISNULL(led_tipos_doc.validar_lista_dominios,0) AS validar_lista_dominios,
     iif((ISNULL(led_tipos_doc.validar_cuit,0)
      + ISNULL(led_tipos_doc.validar_lista_cuil,0)
      + ISNULL(led_tipos_doc.validar_lista_dominios,0)) > 0, 1, 0) AS es_doc_lista,
     padrones.nombre_persona, padrones.identificador, padrones.numero, padrones.identificacion, 
     identificadores.abreviatura, identificadores.country_code,
     padrones_1.nombre_persona as nombre_persona_1, padrones_1.identificador as identificador_1, 
     padrones_1.numero as numero_1, padrones_1.identificacion as identificacion_1, 
     identificadores_1.abreviatura as abreviatura_1, identificadores_1.country_code as country_code_1,
     led_tipos_contratista.nombre_tipo_contratista, led_tipos_contratista_1.nombre_tipo_contratista as nombre_tipo_contratista_1,
     padrones_e.nombre_persona as nombre_persona_e, padrones_e.identificador as identificador_e, 
     padrones_e.numero as numero_e, padrones_e.identificacion as identificacion_e, 
     identificadores_e.abreviatura as abreviatura_e, identificadores_e.country_code as country_code_e,
     led_vehiculos.nombre_vehiculo, led_vehiculos.dominio, led_vehiculos.country_code as country_code_v,
     convert(varchar, led_docs_aux.ingresado, 103)+' '+convert(varchar(5), led_docs_aux.ingresado, 14) AS ingresado,
     convert(varchar, led_docs_aux.verificado, 103)+' '+convert(varchar(5), led_docs_aux.verificado, 14) AS verificado,
     convert(varchar, led_docs_aux.rechazado, 103)+' '+convert(varchar(5), led_docs_aux.rechazado, 14) AS rechazado,
     led_docs_aux.ingresado_por, led_docs_aux.verificado_por, led_docs_aux.rechazado_por, led_docs_aux.texto_rechazo,
     isnull(users_i.first_name,'') + ' ' + isnull(users_i.last_name,'') as ingresado_por_usuario,
     isnull(users_v.first_name,'') + ' ' + isnull(users_v.last_name,'') as verificado_por_usuario,
     isnull(users_r.first_name,'') + ' ' + isnull(users_r.last_name,'') as rechazado_por_usuario,
     isnull(users_v.aliasname, isnull(users_v.first_name,'') + ' ' + isnull(users_v.last_name,'')) as aliasname_v,
     isnull(users_r.aliasname, isnull(users_r.first_name,'') + ' ' + isnull(users_r.last_name,'')) as aliasname_r,


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


    CASE WHEN led_docs_aux.estado_doc = 'R' THEN 1
      WHEN led_docs_aux.estado_doc = 'E' THEN 2
      WHEN led_docs_aux.estado_doc = 'P' THEN 3
      WHEN led_docs_aux.estado_doc = 'N' THEN 4
      WHEN led_docs_aux.estado_doc = 'I' THEN 5
      WHEN led_docs_aux.estado_doc = 'V' THEN 6 END AS orden_status,

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

    CASE WHEN led_docs_aux.estado_doc = 'R' THEN '<i class="fa fa-exclamation-circle text-rechazados"></i>'
      WHEN led_docs_aux.estado_doc = 'E' THEN '<i class="fa fa-warning text-vencidos"></i>'
      WHEN led_docs_aux.estado_doc = 'P' THEN '<i class="fa fa-exclamation text-parciales"></i>'
      WHEN led_docs_aux.estado_doc = 'N' THEN '<i class="fa fa-cloud-upload text-pendientes"></i>'
      WHEN led_docs_aux.estado_doc = 'I' THEN '<i class="fa fa-pause text-ingresados"></i>'
      WHEN led_docs_aux.estado_doc = 'V' THEN '<i class="fa fa-check text-verificados"></i>' END AS icono,

    led_docs_aux.doc_log, led_docs_aux.doc_id_lista, led_docs_aux.grupo_doc, led_docs_aux.notificacion, 
    isnull(led_docs_aux.reapertura_por_alta, 0) as reapertura_por_alta,
    isnull(led_docs_aux.parcial_actualizado, 0) as parcial_actualizado,

    convert(varchar, led_notificaciones.horario, 103)+' '+convert(varchar(5), led_notificaciones.horario, 14) AS horario_notificacion,
    led_notificaciones.texto_notificacion,

    CASE WHEN led_docs_aux.led_seccion = 'C' THEN ISNULL(led_cliente_contratista.requiere_upload, 0)
      WHEN led_docs_aux.led_seccion = 'E' THEN ISNULL(led_cliente_empleado.requiere_upload, 0)
      WHEN led_docs_aux.led_seccion = 'V' THEN ISNULL(led_cliente_vehiculo.requiere_upload, 0) END AS requiere_upload,

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

    -- Condición de próximo a vencer: verificado, periodo adelantado, killer de acceso, y dentro de las 96 horas de vencimiento
    /*iif(led_docs_aux.estado_doc = 'V' AND
     led_tipos_doc.modalidad = 'A' AND 
     led_docs_aux.periodo = dbo.PeriodoAdelantado() AND
     (ISNULL(led_cliente_contratista.ci_killer, 0)+ISNULL(led_cliente_empleado.ci_killer, 0)+ISNULL(led_cliente_vehiculo.ci_killer, 0)) > 0 AND
     DATEDIFF(HOUR, GETDATE(), ISNULL(led_docs_aux.fecha_vigencia, DATEFROMPARTS(2059,12,31))) <= 96 AND
     DATEDIFF(HOUR, GETDATE(), ISNULL(led_docs_aux.fecha_vigencia, DATEFROMPARTS(2059,12,31))) >= 0, 1, 0) AS prox_vencer*/


   FROM led_docs_aux
   INNER JOIN led_tipos_doc ON led_docs_aux.tipo_doc = led_tipos_doc.tipo_doc
   INNER JOIN clientes ON led_docs_aux.cliente = clientes.cliente
   INNER JOIN led_contratistas ON led_docs_aux.contratista = led_contratistas.contratista
   INNER JOIN led_tipos_contratista ON led_contratistas.tipo_contratista = led_tipos_contratista.tipo_contratista
   INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
   INNER JOIN identificadores ON padrones.identificador = identificadores.identificador

   INNER JOIN led_contratistas led_contratistas_1 ON led_docs_aux.contratista_1 = led_contratistas_1.contratista
   INNER JOIN led_tipos_contratista led_tipos_contratista_1 ON led_contratistas_1.tipo_contratista = led_tipos_contratista_1.tipo_contratista
   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

   LEFT OUTER JOIN led_cliente_contratista ON (led_docs_aux.cliente = led_cliente_contratista.cliente
             AND led_docs_aux.tipo_doc = led_cliente_contratista.tipo_doc
             AND led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista)

   LEFT OUTER JOIN users users_i on led_docs_aux.ingresado_por = users_i.user_id
   LEFT OUTER JOIN users users_v on led_docs_aux.verificado_por = users_v.user_id
   LEFT OUTER JOIN users users_r on led_docs_aux.rechazado_por = users_r.user_id

   LEFT OUTER JOIN led_empleados ON led_docs_aux.empleado = led_empleados.empleado
   LEFT OUTER JOIN padrones padrones_e ON led_empleados.id_padron = padrones_e.id_padron
   LEFT OUTER JOIN identificadores identificadores_e ON padrones_e.identificador = identificadores_e.identificador
   LEFT OUTER JOIN led_cliente_empleado ON (led_docs_aux.cliente = led_cliente_empleado.cliente
             AND led_docs_aux.tipo_doc = led_cliente_empleado.tipo_doc
             AND led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado)

   LEFT OUTER JOIN led_vehiculos ON led_docs_aux.vehiculo = led_vehiculos.vehiculo
   LEFT OUTER JOIN led_cliente_vehiculo ON (led_docs_aux.cliente = led_cliente_vehiculo.cliente
             AND led_docs_aux.tipo_doc = led_cliente_vehiculo.tipo_doc
             AND led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo)

   LEFT OUTER JOIN led_notificaciones ON led_docs_aux.notificacion = led_notificaciones.notificacion

   WHERE led_docs_aux.doc_id = @p_doc_id
   AND led_docs_aux.doc_version = @p_doc_version

  else

   SELECT led_docs_aux.doc_id, led_docs_aux.doc_version, led_docs_aux.cliente, clientes.nombre_cliente,
     led_docs_aux.contratista_1, led_docs_aux.contratista, led_docs_aux.estado_doc,
     led_docs_aux.led_seccion, led_docs_aux.periodo, led_docs_aux.fecha_tolerancia, led_docs_aux.fecha_vigencia, 
     ISNULL(led_docs_aux.aprobacion_parcial, 0) AS aprobacion_parcial, led_docs_aux.estado_doc, led_tipos_doc.periodicidad,
     led_docs_aux.empleado, led_docs_aux.vehiculo, led_docs_aux.tipo_doc, led_tipos_doc.nombre_tipo_doc, led_tipos_doc.modalidad,
     ISNULL(led_tipos_doc.validar_cuit,0) AS validar_cuit,
     ISNULL(led_tipos_doc.validar_lista_cuil,0) AS validar_lista_cuil,
     ISNULL(led_tipos_doc.validar_lista_dominios,0) AS validar_lista_dominios,
     iif((ISNULL(led_tipos_doc.validar_cuit,0)
      + ISNULL(led_tipos_doc.validar_lista_cuil,0)
      + ISNULL(led_tipos_doc.validar_lista_dominios,0)) > 0, 1, 0) AS es_doc_lista,
     padrones.nombre_persona, padrones.identificador, padrones.numero, padrones.identificacion, 
     identificadores.abreviatura, identificadores.country_code,
     padrones_1.nombre_persona as nombre_persona_1, padrones_1.identificador as identificador_1, 
     padrones_1.numero as numero_1, padrones_1.identificacion as identificacion_1, 
     identificadores_1.abreviatura as abreviatura_1, identificadores_1.country_code as country_code_1,
     led_tipos_contratista.nombre_tipo_contratista, led_tipos_contratista_1.nombre_tipo_contratista as nombre_tipo_contratista_1,
     padrones_e.nombre_persona as nombre_persona_e, padrones_e.identificador as identificador_e, 
     padrones_e.numero as numero_e, padrones_e.identificacion as identificacion_e, 
     identificadores_e.abreviatura as abreviatura_e, identificadores_e.country_code as country_code_e,
     led_vehiculos.nombre_vehiculo, led_vehiculos.dominio, led_vehiculos.country_code as country_code_v,
     convert(varchar, led_docs_aux.ingresado, 103)+' '+convert(varchar(5), led_docs_aux.ingresado, 14) AS ingresado,
     convert(varchar, led_docs_aux.verificado, 103)+' '+convert(varchar(5), led_docs_aux.verificado, 14) AS verificado,
     convert(varchar, led_docs_aux.rechazado, 103)+' '+convert(varchar(5), led_docs_aux.rechazado, 14) AS rechazado,
     led_docs_aux.ingresado_por, led_docs_aux.verificado_por, led_docs_aux.rechazado_por, led_docs_aux.texto_rechazo,
     isnull(users_i.first_name,'') + ' ' + isnull(users_i.last_name,'') as ingresado_por_usuario,
     isnull(users_v.first_name,'') + ' ' + isnull(users_v.last_name,'') as verificado_por_usuario,
     isnull(users_r.first_name,'') + ' ' + isnull(users_r.last_name,'') as rechazado_por_usuario,
     isnull(users_v.aliasname, isnull(users_v.first_name,'') + ' ' + isnull(users_v.last_name,'')) as aliasname_v,
     isnull(users_r.aliasname, isnull(users_r.first_name,'') + ' ' + isnull(users_r.last_name,'')) as aliasname_r,


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


    CASE WHEN led_docs_aux.estado_doc = 'R' THEN 1
      WHEN led_docs_aux.estado_doc = 'E' THEN 2
      WHEN led_docs_aux.estado_doc = 'P' THEN 3
      WHEN led_docs_aux.estado_doc = 'N' THEN 4
      WHEN led_docs_aux.estado_doc = 'I' THEN 5
      WHEN led_docs_aux.estado_doc = 'V' THEN 6 END AS orden_status,

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

    CASE WHEN led_docs_aux.estado_doc = 'R' THEN '<i class="fa fa-exclamation-circle text-rechazados"></i>'
      WHEN led_docs_aux.estado_doc = 'E' THEN '<i class="fa fa-warning text-vencidos"></i>'
      WHEN led_docs_aux.estado_doc = 'P' THEN '<i class="fa fa-exclamation text-parciales"></i>'
      WHEN led_docs_aux.estado_doc = 'N' THEN '<i class="fa fa-cloud-upload text-pendientes"></i>'
      WHEN led_docs_aux.estado_doc = 'I' THEN '<i class="fa fa-pause text-ingresados"></i>'
      WHEN led_docs_aux.estado_doc = 'V' THEN '<i class="fa fa-check text-verificados"></i>' END AS icono,

    led_docs_aux.doc_log, led_docs_aux.doc_id_lista, led_docs_aux.grupo_doc, led_docs_aux.notificacion, 
    isnull(led_docs_aux.reapertura_por_alta, 0) as reapertura_por_alta,
    isnull(led_docs_aux.parcial_actualizado, 0) as parcial_actualizado,

    convert(varchar, led_notificaciones.horario, 103)+' '+convert(varchar(5), led_notificaciones.horario, 14) AS horario_notificacion,
    led_notificaciones.texto_notificacion,

    CASE WHEN led_docs_aux.led_seccion = 'C' THEN ISNULL(led_cliente_contratista.requiere_upload, 0)
      WHEN led_docs_aux.led_seccion = 'E' THEN ISNULL(led_cliente_empleado.requiere_upload, 0)
      WHEN led_docs_aux.led_seccion = 'V' THEN ISNULL(led_cliente_vehiculo.requiere_upload, 0) END AS requiere_upload,

    convert(varchar(6),led_docs_aux.periodo)+'/'+convert(varchar,led_docs_aux.cliente)+'/'+convert(varchar,led_docs_aux.contratista_1)+'/' as doc_path,
    convert(varchar(6),led_docs_aux.periodo)+'_'+convert(varchar,led_docs_aux.cliente)+'_'+right('00000'+convert(varchar(5),led_docs_aux.tipo_doc),5)+'_'+led_docs_aux.led_seccion+convert(varchar,led_docs_aux.doc_id)+'_' as preffix,
    0 as es_plan_de_pago 
    -- Condición de próximo a vencer: verificado, periodo adelantado, killer de acceso, y dentro de las 96 horas de vencimiento
    /*iif(led_docs_aux.estado_doc = 'V' AND
     led_tipos_doc.modalidad = 'A' AND 
     led_docs_aux.periodo = dbo.PeriodoAdelantado() AND
     (ISNULL(led_cliente_contratista.ci_killer, 0)+ISNULL(led_cliente_empleado.ci_killer, 0)+ISNULL(led_cliente_vehiculo.ci_killer, 0)) > 0 AND
     DATEDIFF(HOUR, GETDATE(), ISNULL(led_docs_aux.fecha_vigencia, DATEFROMPARTS(2059,12,31))) <= 96 AND
     DATEDIFF(HOUR, GETDATE(), ISNULL(led_docs_aux.fecha_vigencia, DATEFROMPARTS(2059,12,31))) >= 0, 1, 0) AS prox_vencer*/


   FROM led_docs_aux
   INNER JOIN led_tipos_doc ON led_docs_aux.tipo_doc = led_tipos_doc.tipo_doc
   INNER JOIN clientes ON led_docs_aux.cliente = clientes.cliente
   INNER JOIN led_contratistas ON led_docs_aux.contratista = led_contratistas.contratista
   INNER JOIN led_tipos_contratista ON led_contratistas.tipo_contratista = led_tipos_contratista.tipo_contratista
   INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
   INNER JOIN identificadores ON padrones.identificador = identificadores.identificador

   INNER JOIN led_contratistas led_contratistas_1 ON led_docs_aux.contratista_1 = led_contratistas_1.contratista
   INNER JOIN led_tipos_contratista led_tipos_contratista_1 ON led_contratistas_1.tipo_contratista = led_tipos_contratista_1.tipo_contratista
   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

   LEFT OUTER JOIN led_cliente_contratista ON (led_docs_aux.cliente = led_cliente_contratista.cliente
             AND led_docs_aux.tipo_doc = led_cliente_contratista.tipo_doc
             AND led_contratistas.tipo_contratista = led_cliente_contratista.tipo_contratista)

   LEFT OUTER JOIN users users_i on led_docs_aux.ingresado_por = users_i.user_id
   LEFT OUTER JOIN users users_v on led_docs_aux.verificado_por = users_v.user_id
   LEFT OUTER JOIN users users_r on led_docs_aux.rechazado_por = users_r.user_id

   LEFT OUTER JOIN led_empleados ON led_docs_aux.empleado = led_empleados.empleado
   LEFT OUTER JOIN padrones padrones_e ON led_empleados.id_padron = padrones_e.id_padron
   LEFT OUTER JOIN identificadores identificadores_e ON padrones_e.identificador = identificadores_e.identificador
   LEFT OUTER JOIN led_cliente_empleado ON (led_docs_aux.cliente = led_cliente_empleado.cliente
             AND led_docs_aux.tipo_doc = led_cliente_empleado.tipo_doc
             AND led_empleados.tipo_empleado = led_cliente_empleado.tipo_empleado)

   LEFT OUTER JOIN led_vehiculos ON led_docs_aux.vehiculo = led_vehiculos.vehiculo
   LEFT OUTER JOIN led_cliente_vehiculo ON (led_docs_aux.cliente = led_cliente_vehiculo.cliente
             AND led_docs_aux.tipo_doc = led_cliente_vehiculo.tipo_doc
             AND led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo)

   LEFT OUTER JOIN led_notificaciones ON led_docs_aux.notificacion = led_notificaciones.notificacion

   WHERE led_docs_aux.doc_id = @p_doc_id
   ORDER BY led_docs_aux.doc_version



 end
 
END
GO

Used By

No items found