dbo.SAAS_Usuarios_Contratos_

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

10
Name Data Type Length Description
@accion varchar 40
@p_user_id int 4
@p_saas_usuario_contrato int 4
@p_saas_cliente int 4
@p_saas_usuario int 4
@p_saas_contrato int 4
@p_datos_adicionales varchar -1
@p1_vigencia_desde varchar 10
@p1_vigencia_hasta varchar 10
@p_activo int 4

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
-- =============================================
-- Author: María Inés Soria
-- Create date: 30/10/2019
-- ABMC de la tabla SAAS_Usuarios_Contratos -- @accion: INSERT, DELETE, MODIFY, SELECT, SELECTALL, SELECTALL-CONTRATO, SELECTALL-USUARIO 
-- Para delete, select solo basta con los 3 primeros parámetros.
-- select * from saas_usuarios_contratos
-- =============================================
/*
[SAAS_Usuarios_Contratos_] 
'SELECTALL-USUARIO', 
1, 
0, 
21,
35,
0

*/



CREATE OR ALTER PROCEDURE dbo.SAAS_Usuarios_Contratos_ 
 @accion varchar(40),
 @p_user_id int,
 @p_saas_usuario_contrato int =  0,

 @p_saas_cliente int = 0,
 @p_saas_usuario int = 0,
 @p_saas_contrato int = 0,
 @p_datos_adicionales varchar(max) = NULL,
 @p1_vigencia_desde varchar(10) = NULL,
 @p1_vigencia_hasta varchar(10) =  NULL,
 @p_activo int = NULL

AS
BEGIN

 SET NOCOUNT ON;

 if (@p1_vigencia_desde = '') set @p1_vigencia_desde = null
 if (@p1_vigencia_hasta = '') set @p1_vigencia_hasta = null

 declare @p_vigencia_desde date = CONVERT(date, @p1_vigencia_desde) 
 declare @p_vigencia_hasta date = CONVERT(date, @p1_vigencia_hasta) 

 
     if (@accion = 'delete_usuario') begin
   UPDATE SAAS_Usuarios_Contratos
       SET
    activo = 0,
    modified =  GETDATE(), 
    modified_by =  @p_user_id
   WHERE saas_usuario  = @p_saas_usuario
     and saas_contrato = @p_saas_contrato
     and saas_cliente  = @p_saas_cliente
  end 

  if (@accion = 'insert_usuario') begin
   INSERT INTO SAAS_Usuarios_Contratos
              (saas_cliente,
      saas_usuario, 
      saas_contrato, 
      datos_adicionales,
      vigencia_desde,
      vigencia_hasta,
      activo,
      created, 
      created_by)
    VALUES ( @p_saas_cliente,
      @p_saas_usuario, 
      @p_saas_contrato, 
      null,
      GETDATE(),
      null,
      1, 
      GETDATE(), 
      @p_user_id)
 end 

 if (@accion = 'usuarios_todos') begin
  select * from SAAS_Usuarios
   where saas_cliente = @p_saas_cliente 
     and activo = 1
     and isnull(vigencia_desde,'1901-01-01') <= getdate()
     and isnull(vigencia_hasta,'2999-01-01') >= getdate()
 end 

 if (@accion = 'usuarios_disponibles') begin
  select * from SAAS_Usuarios
   where saas_cliente = @p_saas_cliente 
     and activo = 1
     and isnull(vigencia_desde,'1901-01-01') <= getdate()
     and isnull(vigencia_hasta,'2999-01-01') >= getdate()
     and not exists (
       select * from SAAS_Usuarios_Contratos 
            where SAAS_Usuarios_Contratos.saas_usuario = SAAS_Usuarios.saas_usuario 
              and saas_contrato =  @p_saas_contrato
        and activo = 1 ) 
 end 

 if (@accion = 'usuarios_asignados') begin
  select * from SAAS_Usuarios
   where saas_cliente = @p_saas_cliente 
     and activo = 1
     and isnull(vigencia_desde,'1901-01-01') <= getdate()
     and isnull(vigencia_hasta,'2999-01-01') >= getdate()
     and exists (
       select * from SAAS_Usuarios_Contratos 
            where SAAS_Usuarios_Contratos.saas_usuario = SAAS_Usuarios.saas_usuario 
              and saas_contrato =  @p_saas_contrato
        and activo = 1 )  
 end 

 IF (@accion = 'INSERT') BEGIN

  IF not (@p_saas_cliente > 0 AND @p_saas_usuario > 0 AND @p_saas_contrato > 0) 
  begin
     select '1' as error, 'No se puede dar de alta el registro, por falta de datos' as mensaje, null as saas_usuario_contrato
  end 
  else 
  begin
   DECLARE @saas_usuario_contrato int


   INSERT INTO SAAS_Usuarios_Contratos
              (saas_cliente,
      saas_usuario, 
      saas_contrato, 
      datos_adicionales,
      vigencia_desde,
      vigencia_hasta,
      activo,
      created, 
      created_by)

    VALUES ( @p_saas_cliente,
      @p_saas_usuario, 
      @p_saas_contrato, 
      @p_datos_adicionales,
      @p1_vigencia_desde,
      @p1_vigencia_hasta,
      1, 
      GETDATE(), 
      @p_user_id)


   SET @saas_usuario_contrato = SCOPE_IDENTITY()

   SELECT '0' as error, 'Alta OK' as mensaje, @saas_usuario_contrato as saas_usuario_contrato  

  end
 end 


 IF (@accion = 'UPDATE') BEGIN

  IF not (@p_saas_usuario_contrato > 0) 
  begin
     select '1' as error, 'No se puede dar modificar el registro, por falta de datos' as mensaje, @p_saas_usuario_contrato as saas_usuario_contrato 
  end 
  else 
  begin
   UPDATE SAAS_Usuarios_Contratos
      SET saas_cliente  = @p_saas_cliente, 
     saas_usuario  = @p_saas_usuario,
     saas_contrato  = @p_saas_contrato,
     datos_adicionales = @p_datos_adicionales,
     vigencia_desde  = @p_vigencia_desde,
     vigencia_hasta  = @p_vigencia_hasta,
     activo    = @p_activo, 
     modified   = GETDATE(), 
     modified_by   = @p_user_id
   WHERE saas_usuario_contrato = @p_saas_usuario_contrato
     select '0' as error, 'Modificacion OK' as mensaje, @p_saas_usuario_contrato as saas_usuario_contrato 

  end
 end 

 IF (@accion = 'DELETE') BEGIN --> Pasa el registro a inactivo (activo = 0)

  IF not (@p_saas_usuario_contrato > 0) 
  begin
     select '1' as error, 'No se puede dar de baja el registro, por falta de datos' as mensaje, @p_saas_usuario_contrato as saas_usuario_contrato 
  end 
  else 
  begin
   UPDATE SAAS_Usuarios_Contratos
       SET
    activo = 0,
    modified =  GETDATE(), 
    modified_by =  @p_user_id
   WHERE saas_usuario_contrato = @p_saas_usuario_contrato
      select '0' as error, 'Baja OK' as mensaje, @p_saas_usuario_contrato as saas_usuario_contrato 

  end
 end 


 IF (@accion = 'SELECT') BEGIN 

  IF not (@p_saas_usuario_contrato > 0) 
  begin
     select '1' as error, 'No se puede consultar el registro, por falta de datos' as mensaje, @p_saas_usuario as saas_usuario 
  end 
  else 
  begin
   SELECT SAAS_Usuarios_Contratos.*
     FROM SAAS_Usuarios_Contratos
    WHERE saas_usuario_contrato = @p_saas_usuario_contrato
  end
 end 

 IF (@accion = 'SELECTALL') BEGIN 

   SELECT SAAS_Usuarios_Contratos.*, SAAS_Contratos.*
     FROM SAAS_Usuarios_Contratos
    inner join saas_contratos on saas_contratos.saas_contrato = SAAS_Usuarios_Contratos.saas_contrato
    WHERE SAAS_Usuarios_Contratos.saas_cliente = @p_saas_cliente and SAAS_Usuarios_Contratos.activo = 1
      and saas_contratos.activo = 1
 end 

 IF (@accion = 'SELECTALL-CONTRATO') BEGIN 

      SELECT SAAS_Usuarios_Contratos.*, SAAS_Contratos.*
     FROM SAAS_Usuarios_Contratos
    inner join saas_contratos on saas_contratos.saas_contrato = SAAS_Usuarios_Contratos.saas_contrato
    WHERE SAAS_Usuarios_Contratos.saas_contrato = @p_saas_contrato and SAAS_Usuarios_Contratos.activo = 1
      and saas_contratos.activo = 1

 end 

 IF (@accion = 'SELECTALL-USUARIO') BEGIN 

       SELECT SAAS_Usuarios_Contratos.*, SAAS_Contratos.*
     FROM SAAS_Usuarios_Contratos
    inner join saas_contratos on saas_contratos.saas_contrato = SAAS_Usuarios_Contratos.saas_contrato
    WHERE SAAS_Usuarios_Contratos.saas_usuario = @p_saas_usuario and SAAS_Usuarios_Contratos.activo = 1
      and saas_contratos.activo = 1
 end 




 
END

GO

Used By

No items found