105 lines
3.6 KiB
Plaintext
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
|
|
|