Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
6| Name | Data Type | Length | Description |
|---|---|---|---|
| @p_action | varchar | 10 | |
| @p_identificador | varchar | 10 | |
| @p_numero | varchar | 30 | |
| @p_clave | varchar | 20 | |
| @p_nueva_clave | varchar | 20 | |
| @p_confirmar_clave | varchar | 20 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE OR ALTER PROCEDURE dbo.LED_control_login
-- Add the parameters for the stored procedure here
@p_action varchar(10),
@p_identificador varchar(10),
@p_numero varchar(30),
@p_clave varchar(20),
@p_nueva_clave varchar(20),
@p_confirmar_clave varchar(20)
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_action = 'LOGIN') BEGIN
IF (@p_identificador IS NOT NULL AND @p_numero IS NOT NULL AND @p_clave IS NOT NULL) BEGIN
IF EXISTS (SELECT * FROM gdl_entidad_juridica_legajo
WHERE identificador = @p_identificador
AND numero = @p_numero) BEGIN
IF EXISTS (SELECT * FROM gdl_entidad_juridica_legajo
WHERE identificador = @p_identificador
AND numero = @p_numero
AND activa = 1) BEGIN
IF EXISTS (SELECT * FROM gdl_entidad_juridica_legajo
WHERE identificador = @p_identificador
AND numero = @p_numero
AND password = @p_clave
AND activa = 1) BEGIN
SELECT ej.entidad_juridica, ej.nombre_entidad_juridica, ej.cliente,
ej.identificador, ej.numero, ej.email_contacto, ej.idioma,
ej.nombre_contacto, ej.email_contacto, ej.telefono1,
ej.fecha_cierre_ej, ej.password,
ej.changed_pwd, ej.expira_pwd, ej.cliente3, ej.inicio_actividades,
clientes.nombre_cliente, clientes_3ros.nombre_cliente3,
identificadores.abreviatura, identificadores.country_code, country.country_name,
idiomas.nombre_idioma, idiomas.codigo_idioma,
CASE
WHEN ej.changed_pwd > 0 THEN
CASE
WHEN ej.expira_pwd > GETDATE() THEN 0
ELSE 2 END
ELSE 1
END AS result,
CASE
WHEN ej.changed_pwd > 0 THEN
CASE
WHEN ej.expira_pwd > GETDATE() THEN 'OK'
ELSE 'Su clave se encuentra expirada, debe generar una nueva clave.' END
ELSE 'Su clave de acceso es temporaria. Debe generar una nueva clave.'
END AS errortext,
CASE
WHEN ISNULL(ej.expira_pwd, DATEFROMPARTS(2000,0,1)) < GETDATE() THEN 1
ELSE 0 END AS expired_pwd
FROM gdl_entidad_juridica_legajo ej
INNER JOIN identificadores ON ej.identificador = identificadores.identificador
INNER JOIN country ON identificadores.country_code = country.country_code
INNER JOIN clientes ON ej.cliente = clientes.cliente
LEFT OUTER JOIN idiomas ON ej.idioma = idiomas.idioma
LEFT OUTER JOIN clientes_3ros ON ej.cliente3 = clientes_3ros.cliente3
WHERE ej.identificador = @p_identificador
AND ej.numero = @p_numero
AND ej.password = @p_clave
AND ej.activa = 1
END ELSE
SELECT 3 AS result, 'La contraseña indicada es incorrecta.' AS errortext
END ELSE
SELECT 4 AS result, 'Su usuario no se encuentra activo' AS errortext
END ELSE
SELECT 5 AS result, 'La identificación fiscal indicada no se encuentra registrada o es incorrecta.' AS errortext
END ELSE
SELECT 99 AS result, 'Datos incompletos para iniciar sesión' AS errortext
END ELSE
IF (@p_action = 'RECOVER') BEGIN
IF (@p_identificador IS NOT NULL AND @p_numero IS NOT NULL) BEGIN
IF EXISTS (SELECT * FROM gdl_entidad_juridica_legajo
WHERE identificador = @p_identificador
AND numero = @p_numero) BEGIN
IF EXISTS (SELECT * FROM gdl_entidad_juridica_legajo
WHERE identificador = @p_identificador
AND numero = @p_numero
AND activa = 1) BEGIN
SELECT ej.entidad_juridica, ej.nombre_entidad_juridica, ej.cliente,
ej.identificador, ej.numero, ej.email_contacto, ej.idioma,
ej.nombre_contacto, ej.email_contacto, ej.telefono1,
ej.fecha_cierre_ej, ej.password,
ej.changed_pwd, ej.expira_pwd, ej.cliente3, ej.inicio_actividades,
clientes.nombre_cliente, clientes_3ros.nombre_cliente3,
identificadores.abreviatura, identificadores.country_code, country.country_name,
idiomas.nombre_idioma, idiomas.codigo_idioma,
CASE
WHEN ej.changed_pwd > 0 THEN
CASE
WHEN ej.expira_pwd > GETDATE() THEN 0
ELSE 2 END
ELSE 1
END AS result,
CASE
WHEN ej.changed_pwd > 0 THEN
CASE
WHEN ej.expira_pwd > GETDATE() THEN 'OK'
ELSE 'Su clave se encuentra expirada, debe generar una nueva clave.' END
ELSE 'Su clave es temporaria. Debe generar una nueva clave.'
END AS errortext,
CASE
WHEN ISNULL(ej.expira_pwd, DATEFROMPARTS(2000,0,1)) < GETDATE() THEN 1
ELSE 0 END AS expired_pwd
FROM gdl_entidad_juridica_legajo ej
INNER JOIN identificadores ON ej.identificador = identificadores.identificador
INNER JOIN country ON identificadores.country_code = country.country_code
INNER JOIN clientes ON ej.cliente = clientes.cliente
LEFT OUTER JOIN idiomas ON ej.idioma = idiomas.idioma
LEFT OUTER JOIN clientes_3ros ON ej.cliente3 = clientes_3ros.cliente3
WHERE ej.identificador = @p_identificador
AND ej.numero = @p_numero
AND ej.activa = 1
END ELSE
SELECT 2 AS result, 'Su usuario no se encuentra activo' AS errortext
END ELSE
SELECT 1 AS result, 'La identificación fiscal indicada no se encuentra registrada o es incorrecta.' AS errortext
END ELSE
SELECT 99 AS result, 'Datos incompletos para recuperar la contraseña.' AS errortext
END ELSE
IF (@p_action = 'CHANGE') BEGIN
IF EXISTS (SELECT * FROM gdl_entidad_juridica_legajo
WHERE identificador = @p_identificador
AND numero = @p_numero
AND activa = 1) BEGIN
IF EXISTS (SELECT * FROM gdl_entidad_juridica_legajo
WHERE identificador = @p_identificador
AND numero = @p_numero
AND password = @p_clave
AND activa = 1) BEGIN
IF (@p_nueva_clave IS NOT NULL) BEGIN
IF (UPPER(@p_nueva_clave) = UPPER(@p_confirmar_clave)) BEGIN
UPDATE gdl_entidad_juridica_legajo SET
password = @p_nueva_clave,
changed_pwd = 1,
expira_pwd = '2099-12-31 23:59:59'
WHERE identificador = @p_identificador
AND numero = @p_numero
AND password = @p_clave
AND activa = 1
SELECT 0 AS result, 'La contraseña fue cambiada exitosamente.' AS errortext
END ELSE
SELECT 2 AS result, 'La nueva contraseña y su confirmación no coinciden.' AS errortext
END ELSE
SELECT 2 AS result, 'La nueva contraseña no puede estar en blanco.' AS errortext
END ELSE
SELECT 2 AS result, 'La contraseña actual es incorrecta.' AS errortext
END ELSE
SELECT 2 AS result, 'El usuario no se encuentra activo o no existe la identificación fiscal.' AS errortext
END
END
GO
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE OR ALTER PROCEDURE dbo.LED_control_login
-- Add the parameters for the stored procedure here
@p_action varchar(10),
@p_identificador varchar(10),
@p_numero varchar(30),
@p_clave varchar(20),
@p_nueva_clave varchar(20),
@p_confirmar_clave varchar(20)
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_action = 'LOGIN') BEGIN
IF (@p_identificador IS NOT NULL AND @p_numero IS NOT NULL AND @p_clave IS NOT NULL) BEGIN
IF EXISTS (SELECT * FROM gdl_entidad_juridica_legajo
WHERE identificador = @p_identificador
AND numero = @p_numero) BEGIN
IF EXISTS (SELECT * FROM gdl_entidad_juridica_legajo
WHERE identificador = @p_identificador
AND numero = @p_numero
AND activa = 1) BEGIN
IF EXISTS (SELECT * FROM gdl_entidad_juridica_legajo
WHERE identificador = @p_identificador
AND numero = @p_numero
AND password = @p_clave
AND activa = 1) BEGIN
SELECT ej.entidad_juridica, ej.nombre_entidad_juridica, ej.cliente,
ej.identificador, ej.numero, ej.email_contacto, ej.idioma,
ej.nombre_contacto, ej.email_contacto, ej.telefono1,
ej.fecha_cierre_ej, ej.password,
ej.changed_pwd, ej.expira_pwd, ej.cliente3, ej.inicio_actividades,
clientes.nombre_cliente, clientes_3ros.nombre_cliente3,
identificadores.abreviatura, identificadores.country_code, country.country_name,
idiomas.nombre_idioma, idiomas.codigo_idioma,
CASE
WHEN ej.changed_pwd > 0 THEN
CASE
WHEN ej.expira_pwd > GETDATE() THEN 0
ELSE 2 END
ELSE 1
END AS result,
CASE
WHEN ej.changed_pwd > 0 THEN
CASE
WHEN ej.expira_pwd > GETDATE() THEN 'OK'
ELSE 'Su clave se encuentra expirada, debe generar una nueva clave.' END
ELSE 'Su clave de acceso es temporaria. Debe generar una nueva clave.'
END AS errortext,
CASE
WHEN ISNULL(ej.expira_pwd, DATEFROMPARTS(2000,0,1)) < GETDATE() THEN 1
ELSE 0 END AS expired_pwd
FROM gdl_entidad_juridica_legajo ej
INNER JOIN identificadores ON ej.identificador = identificadores.identificador
INNER JOIN country ON identificadores.country_code = country.country_code
INNER JOIN clientes ON ej.cliente = clientes.cliente
LEFT OUTER JOIN idiomas ON ej.idioma = idiomas.idioma
LEFT OUTER JOIN clientes_3ros ON ej.cliente3 = clientes_3ros.cliente3
WHERE ej.identificador = @p_identificador
AND ej.numero = @p_numero
AND ej.password = @p_clave
AND ej.activa = 1
END ELSE
SELECT 3 AS result, 'La contraseña indicada es incorrecta.' AS errortext
END ELSE
SELECT 4 AS result, 'Su usuario no se encuentra activo' AS errortext
END ELSE
SELECT 5 AS result, 'La identificación fiscal indicada no se encuentra registrada o es incorrecta.' AS errortext
END ELSE
SELECT 99 AS result, 'Datos incompletos para iniciar sesión' AS errortext
END ELSE
IF (@p_action = 'RECOVER') BEGIN
IF (@p_identificador IS NOT NULL AND @p_numero IS NOT NULL) BEGIN
IF EXISTS (SELECT * FROM gdl_entidad_juridica_legajo
WHERE identificador = @p_identificador
AND numero = @p_numero) BEGIN
IF EXISTS (SELECT * FROM gdl_entidad_juridica_legajo
WHERE identificador = @p_identificador
AND numero = @p_numero
AND activa = 1) BEGIN
SELECT ej.entidad_juridica, ej.nombre_entidad_juridica, ej.cliente,
ej.identificador, ej.numero, ej.email_contacto, ej.idioma,
ej.nombre_contacto, ej.email_contacto, ej.telefono1,
ej.fecha_cierre_ej, ej.password,
ej.changed_pwd, ej.expira_pwd, ej.cliente3, ej.inicio_actividades,
clientes.nombre_cliente, clientes_3ros.nombre_cliente3,
identificadores.abreviatura, identificadores.country_code, country.country_name,
idiomas.nombre_idioma, idiomas.codigo_idioma,
CASE
WHEN ej.changed_pwd > 0 THEN
CASE
WHEN ej.expira_pwd > GETDATE() THEN 0
ELSE 2 END
ELSE 1
END AS result,
CASE
WHEN ej.changed_pwd > 0 THEN
CASE
WHEN ej.expira_pwd > GETDATE() THEN 'OK'
ELSE 'Su clave se encuentra expirada, debe generar una nueva clave.' END
ELSE 'Su clave es temporaria. Debe generar una nueva clave.'
END AS errortext,
CASE
WHEN ISNULL(ej.expira_pwd, DATEFROMPARTS(2000,0,1)) < GETDATE() THEN 1
ELSE 0 END AS expired_pwd
FROM gdl_entidad_juridica_legajo ej
INNER JOIN identificadores ON ej.identificador = identificadores.identificador
INNER JOIN country ON identificadores.country_code = country.country_code
INNER JOIN clientes ON ej.cliente = clientes.cliente
LEFT OUTER JOIN idiomas ON ej.idioma = idiomas.idioma
LEFT OUTER JOIN clientes_3ros ON ej.cliente3 = clientes_3ros.cliente3
WHERE ej.identificador = @p_identificador
AND ej.numero = @p_numero
AND ej.activa = 1
END ELSE
SELECT 2 AS result, 'Su usuario no se encuentra activo' AS errortext
END ELSE
SELECT 1 AS result, 'La identificación fiscal indicada no se encuentra registrada o es incorrecta.' AS errortext
END ELSE
SELECT 99 AS result, 'Datos incompletos para recuperar la contraseña.' AS errortext
END ELSE
IF (@p_action = 'CHANGE') BEGIN
IF EXISTS (SELECT * FROM gdl_entidad_juridica_legajo
WHERE identificador = @p_identificador
AND numero = @p_numero
AND activa = 1) BEGIN
IF EXISTS (SELECT * FROM gdl_entidad_juridica_legajo
WHERE identificador = @p_identificador
AND numero = @p_numero
AND password = @p_clave
AND activa = 1) BEGIN
IF (@p_nueva_clave IS NOT NULL) BEGIN
IF (UPPER(@p_nueva_clave) = UPPER(@p_confirmar_clave)) BEGIN
UPDATE gdl_entidad_juridica_legajo SET
password = @p_nueva_clave,
changed_pwd = 1,
expira_pwd = '2099-12-31 23:59:59'
WHERE identificador = @p_identificador
AND numero = @p_numero
AND password = @p_clave
AND activa = 1
SELECT 0 AS result, 'La contraseña fue cambiada exitosamente.' AS errortext
END ELSE
SELECT 2 AS result, 'La nueva contraseña y su confirmación no coinciden.' AS errortext
END ELSE
SELECT 2 AS result, 'La nueva contraseña no puede estar en blanco.' AS errortext
END ELSE
SELECT 2 AS result, 'La contraseña actual es incorrecta.' AS errortext
END ELSE
SELECT 2 AS result, 'El usuario no se encuentra activo o no existe la identificación fiscal.' AS errortext
END
END
GO
Depends On
6Used By
No items found