dbo.LN_tipo_doc_secciones_

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

9
Name Data Type Length Description
@accion varchar 10
@p_seccion int 4
@p_tipo_doc int 4
@p_titulo_seccion varchar 100
@p_texto_bajada varchar 1000
@p_texto_pie varchar 1000
@p_orden_seccion tinyint 1
@p_seccion_visible tinyint 1
@p_user_id 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.LN_tipo_doc_secciones_ 
 -- Add the parameters for the stored procedure here
 @accion          varchar(10),
 @p_seccion         int,
 @p_tipo_doc         int,
 @p_titulo_seccion       varchar(100),
 @p_texto_bajada        varchar(1000),
 @p_texto_pie        varchar(1000),
 @p_orden_seccion       tinyint,
 @p_seccion_visible       tinyint,
 @p_user_id         int

 
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 @ord tinyint
 DECLARE @secc int
 DECLARE @cant tinyint
 
 if (@accion = 'INSERT') begin

  DECLARE @seccion int

  INSERT INTO LN_tipo_doc_secciones
   (tipo_doc, titulo_seccion, texto_bajada, texto_pie, orden_seccion, seccion_visible, created, created_by)
  SELECT @p_tipo_doc AS tipo_doc, @p_titulo_seccion AS titulo_seccion, 
    @p_texto_bajada AS texto_bajada, @p_texto_pie AS texto_pie,
     (select ISNULL(max(orden_seccion),0)+1
     from LN_tipo_doc_secciones
     where tipo_doc = @p_tipo_doc) AS orden_seccion, 
    @p_seccion_visible AS seccion_visible, GETDATE() AS created, @p_user_id AS created_by

    
  SET @seccion = SCOPE_IDENTITY()

  SELECT @seccion AS seccion from LN_tipo_doc_secciones

 end else

  if (@accion = 'UPDATE') begin

   UPDATE LN_tipo_doc_secciones SET
    titulo_seccion = @p_titulo_seccion,
    texto_bajada = @p_texto_bajada,
    texto_pie = @p_texto_pie,
    seccion_visible = @p_seccion_visible,
    modified = GETDATE(),
    modified_by = @p_user_id
   WHERE seccion = @p_seccion

  end else

   if (@accion = 'DELETE') begin

    SELECT @ord = orden_seccion
    from LN_tipo_doc_secciones
    where tipo_doc = @p_tipo_doc
    and seccion = @p_seccion

    DELETE LN_tipo_doc_secciones
    where tipo_doc = @p_tipo_doc
    and seccion = @p_seccion

    UPDATE LN_tipo_doc_secciones SET orden_seccion = orden_seccion-1
    where tipo_doc = @p_tipo_doc
    and orden_seccion > @ord

   end else

    if (@accion = 'SELECT') begin

     SELECT LN_tipo_doc_secciones.seccion, LN_tipo_doc_secciones.titulo_seccion,
      LN_tipo_doc_secciones.texto_bajada, LN_tipo_doc_secciones.texto_pie,
      LN_tipo_doc_secciones.seccion_visible, LN_tipo_doc_secciones.tipo_doc,
      LN_tipo_doc_secciones.orden_seccion, LN_tipos_doc.nombre_tipo_doc, 
      LN_tipo_doc_secciones.created_by, LN_tipo_doc_secciones.modified_by,
      CONVERT(varchar,LN_tipo_doc_secciones.created,121) AS created,
      CONVERT(varchar,LN_tipo_doc_secciones.modified,121) AS modified,
      users1.first_name + ' ' + users1.last_name AS created_by_user,
      users2.first_name + ' ' + users2.last_name AS modified_by_user
      
     FROM LN_tipo_doc_secciones
     INNER JOIN LN_tipos_doc ON LN_tipo_doc_secciones.tipo_doc = LN_tipos_doc.tipo_doc
     LEFT OUTER JOIN users users1 ON LN_tipo_doc_secciones.created_by = users1.user_id
     LEFT OUTER JOIN users users2 ON LN_tipo_doc_secciones.modified_by = users2.user_id
     WHERE LN_tipo_doc_secciones.seccion = @p_seccion

    end else

     if (@accion = 'SEARCH') begin

      if (@p_seccion_visible is not null)

       SELECT LN_tipo_doc_secciones.seccion, LN_tipo_doc_secciones.titulo_seccion,
        LN_tipo_doc_secciones.texto_bajada, LN_tipo_doc_secciones.texto_pie,
        LN_tipo_doc_secciones.seccion_visible, LN_tipo_doc_secciones.tipo_doc,
        LN_tipo_doc_secciones.orden_seccion, LN_tipos_doc.nombre_tipo_doc, 
        LN_tipo_doc_secciones.created_by, LN_tipo_doc_secciones.modified_by,
        CONVERT(varchar,LN_tipo_doc_secciones.created,121) AS created,
        CONVERT(varchar,LN_tipo_doc_secciones.modified,121) AS modified,
        users1.first_name + ' ' + users1.last_name AS created_by_user,
        users2.first_name + ' ' + users2.last_name AS modified_by_user
      
       FROM LN_tipo_doc_secciones
       INNER JOIN LN_tipos_doc ON LN_tipo_doc_secciones.tipo_doc = LN_tipos_doc.tipo_doc
       LEFT OUTER JOIN users users1 ON LN_tipo_doc_secciones.created_by = users1.user_id
       LEFT OUTER JOIN users users2 ON LN_tipo_doc_secciones.modified_by = users2.user_id
       WHERE LN_tipo_doc_secciones.tipo_doc = @p_tipo_doc
       AND LN_tipo_doc_secciones.seccion_visible = @p_seccion_visible
       ORDER BY LN_tipo_doc_secciones.orden_seccion

      else

       SELECT LN_tipo_doc_secciones.seccion, LN_tipo_doc_secciones.titulo_seccion,
        LN_tipo_doc_secciones.texto_bajada, LN_tipo_doc_secciones.texto_pie,
        LN_tipo_doc_secciones.seccion_visible, LN_tipo_doc_secciones.tipo_doc,
        LN_tipo_doc_secciones.orden_seccion, LN_tipos_doc.nombre_tipo_doc, 
        LN_tipo_doc_secciones.created_by, LN_tipo_doc_secciones.modified_by,
        CONVERT(varchar,LN_tipo_doc_secciones.created,121) AS created,
        CONVERT(varchar,LN_tipo_doc_secciones.modified,121) AS modified,
        users1.first_name + ' ' + users1.last_name AS created_by_user,
        users2.first_name + ' ' + users2.last_name AS modified_by_user
      
       FROM LN_tipo_doc_secciones
       INNER JOIN LN_tipos_doc ON LN_tipo_doc_secciones.tipo_doc = LN_tipos_doc.tipo_doc
       LEFT OUTER JOIN users users1 ON LN_tipo_doc_secciones.created_by = users1.user_id
       LEFT OUTER JOIN users users2 ON LN_tipo_doc_secciones.modified_by = users2.user_id
       WHERE LN_tipo_doc_secciones.tipo_doc = @p_tipo_doc
       ORDER BY LN_tipo_doc_secciones.orden_seccion


     end else

      if (@accion = 'UP') begin

       SELECT @ord = orden_seccion
       from LN_tipo_doc_secciones
       where seccion = @p_seccion
       
       IF (@ord > 1) BEGIN

        SELECT @secc = seccion
        from LN_tipo_doc_secciones
        where tipo_doc = @p_tipo_doc
        and orden_seccion = (@ord-1)

        UPDATE LN_tipo_doc_secciones SET
         orden_seccion = @ord - 1,
        modified = GETDATE(),
        modified_by = @p_user_id
        where tipo_doc = @p_tipo_doc
        and seccion = @p_seccion

        UPDATE LN_tipo_doc_secciones SET
         orden_seccion = @ord,
         modified = GETDATE(),
         modified_by = @p_user_id
        where tipo_doc = @p_tipo_doc
        and seccion = @secc

       END


      end else

       if (@accion = 'DOWN') begin

        SELECT @ord = orden_seccion
        from LN_tipo_doc_secciones
        where seccion = @p_seccion

        SELECT @cant = MAX(orden_seccion)
        from LN_tipo_doc_secciones
        where tipo_doc = @p_tipo_doc

        IF (@ord < @cant) BEGIN

         SELECT @secc = seccion
         from LN_tipo_doc_secciones
         where tipo_doc = @p_tipo_doc
         and orden_seccion = (@ord+1)

         UPDATE LN_tipo_doc_secciones SET
          orden_seccion = @ord + 1
         where tipo_doc = @p_tipo_doc
         and seccion = @p_seccion

         UPDATE LN_tipo_doc_secciones SET
          orden_seccion = @ord
         where tipo_doc = @p_tipo_doc
         and seccion = @secc

        END
        

       end





END

GO

Used By

No items found