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
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