Files

105 lines
3.6 KiB
Plaintext

FUNCTION inicio(url)
DEFINE i INT,
url STRING
DEFINE
fecha_login DATETIME YEAR TO MINUTE
DEFINE nombre_vend,usuario,clave VARCHAR(50),
psec_vend INT,
pbodega SMALLINT,
valido BOOLEAN,
sesion VARCHAR(10)
# WHENEVER ERROR CONTINUE
OPEN WINDOW inicio WITH FORM "inicio"
TRY
SELECT a.ultimo_usuario INTO usuario FROM companias a
CATCH
CALL db_drop_tables()
CALL db_create_tables()
CALL db_add_indexes()
END TRY
INPUT BY NAME usuario,clave WITHOUT DEFAULTS
BEFORE INPUT
IF LENGTH(url) > 1 THEN
DISPLAY "SERVIDOR ACTIVO" TO servidor
ELSE
DISPLAY "SERVIDOR INACTIVO" TO servidor
END IF
ON ACTION connecta ATTRIBUTE(IMAGE="connect.png")
CALL conexion() RETURNING url
IF LENGTH(url) > 1 THEN
DISPLAY "SERVIDOR ACTIVO" TO servidor
ELSE
DISPLAY "SERVIDOR INACTIVO" TO servidor
END IF
AFTER INPUT
IF int_flag THEN
EXIT INPUT
END IF
IF usuario = "inicio" OR usuario = "demo" THEN
CALL db_drop_tables()
CALL db_create_tables()
CALL db_add_indexes()
IF usuario = "inicio" THEN
EXECUTE IMMEDIATE "INSERT INTO seg000 (nombre,usuario,password,ocupacion,bodega) VALUES ('ADM','adm','lmmjvsd2016','USUARIO','1')"
EXECUTE IMMEDIATE "INSERT INTO companias (cod_cia,nombre,servidor_sync,ultimo_usuario,ultima_fecha_login)
VALUES (2,'DCM MARMOTECH',' ',' ','01/01/01')"
CONTINUE INPUT
END IF
IF usuario = "demo" THEN
EXECUTE IMMEDIATE "INSERT INTO seg000 (nombre,usuario,password,ocupacion,bodega) VALUES ('demo','demo','demo','usuario','1')"
EXECUTE IMMEDIATE "INSERT INTO companias (cod_cia,nombre,servidor_sync,ultimo_usuario,ultima_fecha_login)
VALUES (2,'EMPRESA DEMO',' ',' ','01/01/01')"
CALL conexion_demo() RETURNING url
END IF
ELSE
SELECT a.nombre,a.sec_vend # ,a.bodega
INTO nombre_vend,psec_vend,pbodega
FROM seg000 a
WHERE a.usuario = usuario AND a.password = clave
IF STATUS = NOTFOUND THEN
LET sesion="CERRAR"
CALL valida_usuario(usuario,clave,sesion,url) RETURNING valido,pbodega
IF NOT valido THEN
CALL fgl_winmessage("ERROR","USUARIO NO VALIDO","INFO")
NEXT FIELD usuario
ELSE
SELECT a.nombre,a.sec_vend # ,a.bodega
INTO nombre_vend,psec_vend,pbodega
FROM seg000 a
WHERE a.usuario = usuario
IF STATUS = NOTFOUND THEN
INSERT INTO seg000 (usuario,password,bodega,ocupacion) VALUES (usuario,clave,pbodega,'USUARIO')
ELSE
UPDATE seg000 SET password = clave,bodega = pbodega
WHERE seg000.usuario = usuario
END IF
END IF
END IF
END IF
UPDATE companias SET ultimo_usuario = usuario,ultima_fecha_login = date('now'),
bodega = pbodega
DISPLAY BY NAME nombre_vend
END INPUT
CLOSE WINDOW inicio
IF int_flag THEN
EXIT PROGRAM
END IF
RETURN usuario,clave
END FUNCTION