dbo.Imperium_Datos_Documentos_Hijos

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

1
Name Data Type Length Description
@p_doc_id bigint 8

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
/*

exec Imperium_Datos_Documentos_Hijos 4971402345

*/


-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE OR ALTER PROCEDURE dbo.Imperium_Datos_Documentos_Hijos 
 -- Add the parameters for the stored procedure here

 @p_doc_id          bigint = 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 is not null) begin

   declare @tipo_doc int, @vcuit tinyint, @vcuil tinyint, @vdom tinyint, @periodo int, @contratista int, @cliente int, @tipo_contratista int, @tipo_child int

   select distinct @tipo_doc = led_tipos_doc.tipo_doc,
     @vcuit = led_tipos_doc.validar_cuit,
     @vcuil = led_tipos_doc.validar_lista_cuil,
     @vdom = led_tipos_doc.validar_lista_dominios,
     @contratista = led_docs.contratista,
     @tipo_contratista = led_contratistas.tipo_contratista,
     @periodo = led_docs.periodo,
     @cliente = led_docs.cliente
   from led_docs
   inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
   inner join led_contratistas on led_docs.contratista = led_contratistas.contratista
   where led_docs.doc_id = @p_doc_id


   if (@vcuit = 1) begin

    select distinct led_docs.doc_id, led_tipos_doc.nombre_tipo_doc, led_docs.estado_doc,
      iif(led_docs.estado_doc = 'V', 1, 0) as checked
    from led_docs
    inner join led_tipos_doc on led_docs.tipo_doc = led_tipos_doc.tipo_doc
    inner join led_cliente_contratista on
        (led_tipos_doc.tipo_doc = led_cliente_contratista.tipo_doc
        and led_cliente_contratista.tipo_contratista = @tipo_contratista
        and led_cliente_contratista.cliente = @cliente)
    where led_docs.contratista = @contratista
    and led_docs.periodo = @periodo
    and led_docs.doc_id_lista = @tipo_doc
    order by led_tipos_doc.nombre_tipo_doc

   end

   else if (@vcuil = 1) begin
    
    declare Tipos cursor for

    select distinct led_cliente_empleado.tipo_doc 
    from led_cliente_empleado inner join led_tipos_doc
      on led_cliente_empleado.tipo_doc = led_tipos_doc.tipo_doc
    where led_cliente_empleado.cliente = @cliente
    and led_tipos_doc.tipo_doc_lista = @tipo_doc

    Open Tipos
    Fetch next from Tipos into @tipo_child
    Close Tipos
    Deallocate Tipos


    if (@tipo_child IS NOT NULL)

     select distinct led_docs.empleado,
       led_empleados.estado_empleado,
       padrones.nombre_persona, padrones.identificacion, padrones.identificador,
       padrones.id_padron, identificadores.abreviatura, 
       identificadores.abreviatura+' '+padrones.identificacion as taxid,
       iif(led_docs.estado_doc = 'V', 1, 0) as checked

     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_empleados_periodo on (led_empleados.empleado = led_empleados_periodo.empleado
              and led_empleados_periodo.periodo = @periodo)
     inner join led_cliente_empleado on
         (led_tipos_doc.tipo_doc = led_cliente_empleado.tipo_doc
         and led_cliente_empleado.tipo_empleado = led_empleados.tipo_empleado
         and led_cliente_empleado.cliente = @cliente)


     where led_docs.contratista = @contratista
     and led_docs.periodo = @periodo
     and led_docs.doc_id_lista = @tipo_doc
     --and led_docs.tipo_doc = @tipo_child
     and led_docs.tipo_doc in (select distinct led_cliente_empleado.tipo_doc  from led_cliente_empleado inner join led_tipos_doc on led_cliente_empleado.tipo_doc = led_tipos_doc.tipo_doc
            where led_cliente_empleado.cliente = @cliente and led_tipos_doc.tipo_doc_lista = @tipo_doc)
     and led_docs.led_seccion = 'E'
     and isnull(led_empleados.estado_empleado,'N') = 'A'
     order by padrones.nombre_persona


   end
   
   else if (@vdom = 1) begin

    declare Tipos cursor for

    select distinct led_cliente_vehiculo.tipo_doc 
    from led_cliente_vehiculo inner join led_tipos_doc
      on led_cliente_vehiculo.tipo_doc = led_tipos_doc.tipo_doc
    where led_cliente_vehiculo.cliente = @cliente
    and led_tipos_doc.tipo_doc_lista = @tipo_doc

    Open Tipos
    Fetch next from Tipos into @tipo_child
    Close Tipos
    Deallocate Tipos

    if (@tipo_child IS NOT NULL)

     select distinct led_docs.vehiculo,
       led_vehiculos.estado_vehiculo,
       led_vehiculos.nombre_vehiculo, led_vehiculos.dominio,
       iif(led_docs.estado_doc = 'V', 1, 0) as checked

     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_vehiculos_periodo on (led_vehiculos.vehiculo = led_vehiculos_periodo.vehiculo
              and led_vehiculos_periodo.periodo = @periodo)
     inner join led_cliente_vehiculo on
         (led_tipos_doc.tipo_doc = led_cliente_vehiculo.tipo_doc
         and led_cliente_vehiculo.tipo_vehiculo = led_vehiculos.tipo_vehiculo
         and led_cliente_vehiculo.cliente = @cliente)



     where led_docs.contratista = @contratista
     and led_docs.periodo = @periodo
     and led_docs.doc_id_lista = @tipo_doc
     and led_docs.led_seccion = 'V'
     and isnull(led_vehiculos.estado_vehiculo,'N') = 'A'
     order by led_vehiculos.nombre_vehiculo

   end

 end

 
END
GO

Used By

No items found