dbo.Imperium_Reporte_Docs_Pendientes

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
/*

exec Imperium_Reporte_Docs_Pendientes

*/

-- Description: <Description,,>
-- =============================================
CREATE OR ALTER PROCEDURE dbo.Imperium_Reporte_Docs_Pendientes
 -- Add the parameters for the stored procedure here

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 @suma_parcial int = 999
declare @str_acceso varchar(3) = '0,1'
declare @str_estado varchar(1) = 'I'
declare @periodo_desde int = dbo.PeriodoAnual()


   SELECT clientes.nombre_cliente,
   led_tipos_doc.nombre_tipo_doc, led_complejidad_doc.codigo_complejidad,   
   isnull(convert(varchar,aux.ingresado,103), convert(varchar, led_docs.ingresado,103)) as ingresado, 
   convert(varchar, DATEADD(DAY, ISNULL(led_contratos.sla_dias, 3), led_docs.ingresado),103) AS tolerancia_verif,
   ISNULL(led_cliente_contratista.ci_killer, 0) AS acceso,
   led_docs.periodo, 
   'Contratistas' AS nombre_seccion,
   convert(varchar, led_docs.fecha_vigencia, 103) as fecha_vigencia,
   padrones.nombre_persona as nombre_contratista, padrones.identificador, padrones.numero as cuit,
   padrones_1.nombre_persona as nombre_contratista_1, padrones_1.identificador as identificador_1, padrones_1.numero as cuit_1,
   NULL as nombre_empleado, NULL as identificador_e, NULL as cuit_e, 
   NULL as nombre_vehiculo, NULL as dominio,
   DATEADD(DAY, ISNULL(led_contratos.sla_dias, 3), led_docs.ingresado) AS VERIFICAR

   FROM led_docs
   INNER JOIN clientes ON led_docs.cliente = clientes.cliente
   INNER JOIN led_contratos ON clientes.cliente = led_contratos.cliente
   INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
   INNER JOIN led_complejidad_doc on led_tipos_doc.complejidad = led_complejidad_doc.complejidad

   INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
   INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
   INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
   INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron

   INNER JOIN led_contratista_periodo ON (led_docs.contratista = led_contratista_periodo.contratista
             AND led_docs.periodo = led_contratista_periodo.periodo)

   INNER JOIN led_contratista_multi ON led_docs.contratista = led_contratista_multi.contratista

   INNER JOIN led_cliente_contratista ON
    (led_docs.cliente = led_cliente_contratista.cliente
    AND led_docs.tipo_doc = led_cliente_contratista.tipo_doc
    AND led_contratista_multi.tipo_contratista = led_cliente_contratista.tipo_contratista
    AND led_cliente_contratista.activo = 1)

   INNER JOIN dbo.DelimitedSplit8K(@str_acceso, ',') acceso ON ISNULL(led_cliente_contratista.ci_killer, 0) = acceso.Item
   /*INNER JOIN dbo.DelimitedSplit8K(@str_parcial, ',') parciales ON ISNULL(led_docs.aprobacion_parcial, 0) = parciales.Item*/
   LEFT OUTER JOIN led_docs_aux aux on (led_docs.doc_id = aux.doc_id AND led_docs.doc_version = aux.doc_version)
   
   WHERE led_docs.led_seccion = 'C'
   AND led_docs.estado_doc = @str_estado
   AND led_docs.doc_id_lista IS NULL
   AND led_docs.periodo >= @periodo_desde
   AND ISNULL(led_docs.doc_version, 0) >= 0
   AND led_cliente_contratista.verificacion = 'F'
   AND (ISNULL(led_docs.aprobacion_parcial, 0) + ISNULL(led_docs.reapertura_por_alta, 0) + ISNULL(led_docs.parcial_actualizado, 0)) <> @suma_parcial
   AND led_docs.contratista = led_docs.contratista_1

   GROUP BY led_docs.doc_id, led_cliente_contratista.ci_killer, led_docs.periodo, 
   led_docs.fecha_vigencia, led_docs.fecha_tolerancia,
   led_docs.ingresado, led_contratos.sla_dias, 
   clientes.nombre_cliente, led_tipos_doc.nombre_tipo_doc, led_complejidad_doc.codigo_complejidad,
   led_tipos_doc.validar_lista_cuil, led_tipos_doc.validar_lista_dominios, led_tipos_doc.validar_cuit, 
   padrones.nombre_persona, padrones.identificador, padrones.numero,
   padrones_1.nombre_persona, padrones_1.identificador, padrones_1.numero,
   aux.ingresado


   UNION ALL

   /* empleados */
   SELECT clientes.nombre_cliente,
   led_tipos_doc.nombre_tipo_doc, led_complejidad_doc.codigo_complejidad,
   isnull(convert(varchar,aux.ingresado,103), convert(varchar, led_docs.ingresado,103)) as ingresado, 
   convert(varchar, DATEADD(DAY, ISNULL(led_contratos.sla_dias, 3), led_docs.ingresado),103) AS tolerancia_verif,
   ISNULL(led_cliente_empleado.ci_killer, 0) AS acceso,
   led_docs.periodo,
   'Empleados' AS nombre_seccion,
   convert(varchar, led_docs.fecha_vigencia, 103) as fecha_vigencia,
   padrones.nombre_persona as nombre_contratista, padrones.identificador, padrones.numero as cuit,
   padrones_1.nombre_persona as nombre_contratista_1, padrones_1.identificador as identificador_1, padrones_1.numero as cuit_1,
   padrones_e.nombre_persona as nombre_empleado, padrones_e.identificador as identificador_e, padrones_e.numero as cuit_e, 
   NULL as nombre_vehiculo, NULL as dominio
   ,   DATEADD(DAY, ISNULL(led_contratos.sla_dias, 3), led_docs.ingresado) AS VERIFICAR
   FROM led_docs
   INNER JOIN clientes ON led_docs.cliente = clientes.cliente
   INNER JOIN led_contratos ON clientes.cliente = led_contratos.cliente
   INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
   INNER JOIN led_complejidad_doc on led_tipos_doc.complejidad = led_complejidad_doc.complejidad

   INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
   INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
   INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
   INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron

   INNER JOIN led_empleados ON led_docs.empleado = led_empleados.empleado
   INNER JOIN padrones padrones_e ON led_empleados.id_padron = padrones_e.id_padron

   INNER JOIN led_empleados_periodo ON (led_docs.empleado = led_empleados_periodo.empleado
             AND led_docs.periodo = led_empleados_periodo.periodo)

   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
    AND led_cliente_empleado.activo = 1)

   INNER JOIN dbo.DelimitedSplit8K(@str_acceso, ',') acceso ON ISNULL(led_cliente_empleado.ci_killer, 0) = acceso.Item

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

   WHERE led_docs.led_seccion = 'E'
   AND led_docs.estado_doc = @str_estado
   AND led_docs.doc_id_lista IS NULL
   AND led_docs.periodo >= @periodo_desde
   AND ISNULL(led_docs.doc_version, 0) >= 0
   AND led_cliente_empleado.verificacion = 'F'
   
   GROUP BY led_docs.doc_id, led_cliente_empleado.ci_killer, led_docs.periodo, 
   led_docs.fecha_vigencia, led_docs.fecha_tolerancia,
   led_docs.ingresado, led_contratos.sla_dias, 
   clientes.nombre_cliente, led_tipos_doc.nombre_tipo_doc, led_complejidad_doc.codigo_complejidad,
   padrones.nombre_persona, padrones.identificador, padrones.numero,
   padrones_1.nombre_persona, padrones_1.identificador, padrones_1.numero,
   padrones_e.nombre_persona, padrones_e.identificador, padrones_e.numero,
   aux.ingresado


   UNION ALL

   /* vehiculos */
   SELECT clientes.nombre_cliente, 
   led_tipos_doc.nombre_tipo_doc, led_complejidad_doc.codigo_complejidad,
   isnull(convert(varchar,aux.ingresado,103), convert(varchar, led_docs.ingresado,103)) as ingresado, 
   convert(varchar, DATEADD(DAY, ISNULL(led_contratos.sla_dias, 3), led_docs.ingresado),103) AS tolerancia_verif,
   ISNULL(led_cliente_vehiculo.ci_killer, 0) AS acceso, led_docs.periodo,
   'VehĂ­culos' AS nombre_seccion,
   convert(varchar, led_docs.fecha_vigencia, 103) as fecha_vigencia,
   padrones.nombre_persona as nombre_contratista, padrones.identificador, padrones.numero as cuit,
   padrones_1.nombre_persona as nombre_contratista_1, padrones_1.identificador as identificador_1, padrones_1.numero as cuit_1,
   NULL as nombre_empleado, NULL as identificador_e, NULL as cuit_e, 
   led_vehiculos.nombre_vehiculo, led_vehiculos.dominio
   ,   DATEADD(DAY, ISNULL(led_contratos.sla_dias, 3), led_docs.ingresado) AS VERIFICAR
   FROM led_docs
   INNER JOIN clientes ON led_docs.cliente = clientes.cliente
   INNER JOIN led_contratos ON clientes.cliente = led_contratos.cliente
   INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
   INNER JOIN led_complejidad_doc on led_tipos_doc.complejidad = led_complejidad_doc.complejidad

   INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
   INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
   INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
   INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron

   INNER JOIN led_vehiculos ON led_docs.vehiculo = led_vehiculos.vehiculo

   INNER JOIN led_vehiculos_periodo ON (led_docs.vehiculo = led_vehiculos_periodo.vehiculo
             AND led_docs.periodo = led_vehiculos_periodo.periodo)

   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
    AND led_cliente_vehiculo.activo = 1)

   INNER JOIN dbo.DelimitedSplit8K(@str_acceso, ',') acceso ON ISNULL(led_cliente_vehiculo.ci_killer, 0) = acceso.Item
   LEFT OUTER JOIN led_docs_aux aux on (led_docs.doc_id = aux.doc_id AND led_docs.doc_version = aux.doc_version)

   WHERE led_docs.led_seccion = 'V'
   AND led_docs.estado_doc = @str_estado
   AND led_docs.doc_id_lista IS NULL
   AND led_docs.periodo >= @periodo_desde
   AND ISNULL(led_docs.doc_version, 0) >= 0
   AND led_cliente_vehiculo.verificacion = 'F'
   GROUP BY led_docs.doc_id, led_cliente_vehiculo.ci_killer, led_docs.periodo, led_docs.fecha_vigencia, led_docs.fecha_tolerancia,
   led_docs.ingresado, led_contratos.sla_dias, 
   clientes.nombre_cliente, led_tipos_doc.nombre_tipo_doc,  led_complejidad_doc.codigo_complejidad,
   padrones.nombre_persona, padrones.identificador, padrones.numero,
   padrones_1.nombre_persona, padrones_1.identificador, padrones_1.numero,
   led_vehiculos.nombre_vehiculo, led_vehiculos.dominio,
   aux.ingresado

 
    
   UNION ALL
   
   /* SUBcontratistas */ 
   SELECT clientes.nombre_cliente, 
   led_tipos_doc.nombre_tipo_doc, led_complejidad_doc.codigo_complejidad,   
   isnull(convert(varchar,aux.ingresado,103), convert(varchar, led_docs.ingresado,103)) as ingresado, 
   convert(varchar, DATEADD(DAY, ISNULL(led_contratos.sla_dias, 3), led_docs.ingresado),103) AS tolerancia_verif,
   ISNULL(led_cliente_contratista.ci_killer, 0) AS acceso,
   led_docs.periodo, 
   'Contratistas' AS nombre_seccion,

   convert(varchar, led_docs.fecha_vigencia, 103) as fecha_vigencia,

   padrones.nombre_persona as nombre_contratista, padrones.identificador, padrones.numero as cuit,
   padrones_1.nombre_persona as nombre_contratista_1, padrones_1.identificador as identificador_1, padrones_1.numero as cuit_1,
   NULL as nombre_empleado, NULL as identificador_e, NULL as cuit_e, 
   NULL as nombre_vehiculo, NULL as dominio
   ,   DATEADD(DAY, ISNULL(led_contratos.sla_dias, 3), led_docs.ingresado) AS VERIFICAR
   FROM led_docs
   INNER JOIN clientes ON led_docs.cliente = clientes.cliente
   INNER JOIN led_contratos ON clientes.cliente = led_contratos.cliente
   INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
   INNER JOIN led_complejidad_doc on led_tipos_doc.complejidad = led_complejidad_doc.complejidad

   INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
   INNER JOIN padrones ON led_contratistas.id_padron = padrones.id_padron
   INNER JOIN led_contratistas led_contratistas_1 ON led_docs.contratista_1 = led_contratistas_1.contratista
   INNER JOIN padrones padrones_1 ON led_contratistas_1.id_padron = padrones_1.id_padron

   INNER JOIN led_subcontratista_periodo ON (led_docs.contratista = led_subcontratista_periodo.subcontratista
             AND led_docs.periodo = led_subcontratista_periodo.periodo)

   INNER JOIN led_contratista_multi ON led_docs.contratista = led_contratista_multi.contratista

   INNER JOIN led_cliente_contratista ON
    (led_docs.cliente = led_cliente_contratista.cliente
    AND led_docs.tipo_doc = led_cliente_contratista.tipo_doc
    AND led_contratista_multi.tipo_contratista = led_cliente_contratista.tipo_contratista
    AND led_cliente_contratista.activo = 1)

   INNER JOIN dbo.DelimitedSplit8K(@str_acceso, ',') acceso ON ISNULL(led_cliente_contratista.ci_killer, 0) = acceso.Item
   /*INNER JOIN dbo.DelimitedSplit8K(@str_parcial, ',') parciales ON ISNULL(led_docs.aprobacion_parcial, 0) = parciales.Item*/
   LEFT OUTER JOIN led_docs_aux aux on (led_docs.doc_id = aux.doc_id AND led_docs.doc_version = aux.doc_version)

   WHERE led_docs.led_seccion = 'C'
   AND led_docs.estado_doc = @str_estado
   AND led_docs.doc_id_lista IS NULL
   AND led_docs.periodo >= @periodo_desde
   AND ISNULL(led_docs.doc_version, 0) >= 0
   AND led_cliente_contratista.verificacion = 'F'
   AND (ISNULL(led_docs.aprobacion_parcial, 0) + ISNULL(led_docs.reapertura_por_alta, 0) + ISNULL(led_docs.parcial_actualizado, 0)) <> @suma_parcial
   AND led_docs.contratista <> led_docs.contratista_1

   GROUP BY led_docs.doc_id, led_docs.doc_version, led_cliente_contratista.ci_killer, led_docs.periodo, led_docs.led_seccion, led_docs.tipo_doc,
   led_docs.contratista, led_docs.contratista_1, led_docs.empleado, led_docs.vehiculo, 
   led_docs.cliente, led_docs.estado_doc, led_docs.fecha_vigencia, led_docs.fecha_tolerancia,
   led_docs.ingresado, led_docs.verificado, led_docs.rechazado, 
   led_docs.aprobacion_parcial, led_docs.parcial_actualizado, led_docs.reapertura_por_alta, led_contratos.sla_dias,
   clientes.nombre_cliente, led_tipos_doc.nombre_tipo_doc, led_complejidad_doc.codigo_complejidad,
   led_tipos_doc.validar_lista_cuil, led_tipos_doc.validar_lista_dominios, led_tipos_doc.validar_cuit, 
   padrones.nombre_persona, padrones.identificador, padrones.numero,
   padrones_1.nombre_persona, padrones_1.identificador, padrones_1.numero,
   aux.ingresado, aux.verificado, aux.rechazado, aux.aprobacion_parcial, aux.parcial_actualizado, aux.reapertura_por_alta

   ORDER BY VERIFICAR ASC

END
GO

Used By

No items found