200 lines
7.9 KiB
Plaintext
200 lines
7.9 KiB
Plaintext
IMPORT util
|
|
TYPE t_sync_cmd RECORD
|
|
oper STRING,
|
|
data STRING
|
|
END RECORD
|
|
|
|
MAIN
|
|
DEFINE archivo STRING
|
|
CALL init_mobile_log("err_gm_maps.log")
|
|
|
|
TRY
|
|
DATABASE dbmbs
|
|
CATCH
|
|
CREATE DATABASE dbmbs
|
|
END TRY
|
|
DATABASE dbmbs
|
|
|
|
|
|
CALL menu_principal()
|
|
|
|
|
|
END MAIN
|
|
FUNCTION menu_principal()
|
|
|
|
call ui.Interface.loadStyles("menu")
|
|
|
|
case frontend()
|
|
when "GMA" call ui.Interface.loadActionDefaults("menu_android")
|
|
# CALL fgl_winmessage(" ","GMA","info")
|
|
when "GMI" call ui.Interface.loadActionDefaults("menu_ios")
|
|
otherwise call ui.Interface.loadActionDefaults("menu")
|
|
end CASE
|
|
CALL execute()
|
|
|
|
END FUNCTION
|
|
|
|
function execute()
|
|
open window splash with form "splash"
|
|
call splash()
|
|
close window splash
|
|
end function
|
|
|
|
private function splash()
|
|
define splash string
|
|
|
|
define l_result,fecha_crea STRING,
|
|
kusuario,kclave VARCHAR(50),
|
|
fecha_date DATETIME YEAR TO MINUTE
|
|
DEFINE id_num,idx INT,
|
|
url STRING,
|
|
estado BOOLEAN,
|
|
tipo_inventario VARCHAR(100),
|
|
chk_tramo,chk_productos,chk_seccion,chk_bodegas,chk_usuarios,chk_fechaConteo SMALLINT,
|
|
cuenta_existencia,cuenta_productos,cuenta_bodegas,cuenta_secciones,cuenta_tramos,cuenta_fechaConteo INT,
|
|
arrayOfCalendars dynamic ARRAY OF STRING,
|
|
tipo,pfecha CHAR(70)
|
|
DEFINE arr_info DYNAMIC ARRAY OF RECORD
|
|
xtipo,xfecha STRING
|
|
END RECORD
|
|
CALL conexion() RETURNING url
|
|
call inicio(url) RETURNING kusuario,kclave
|
|
IF kusuario = "demo" THEN
|
|
CALL conexion_demo() RETURNING url
|
|
END IF
|
|
call ui.interface.frontcall("webcomponent","call",["formonly.splash","setById","root",splash_html()],l_result)
|
|
|
|
input by name splash attributes(unbuffered, without defaults=true, cancel=false, accept=false)
|
|
before input
|
|
-- set to false before deployment
|
|
call dialog.setActionActive("settings", TRUE)
|
|
|
|
on ACTION settings
|
|
menu "" attributes(style="dialog")
|
|
ON ACTION inventario ATTRIBUTE(TEXT="Gestion Inventario")
|
|
CALL CONTEO(kusuario)
|
|
ON ACTION sincroniza ATTRIBUTE(TEXT="Download Data")
|
|
OPEN WINDOW ws1 WITH FORM "sincroniza"
|
|
INPUT BY NAME tipo_inventario,chk_productos,chk_tramo,chk_seccion,chk_bodegas,chk_usuarios,
|
|
chk_fechaConteo
|
|
BEFORE INPUT
|
|
IF LENGTH(url) > 1 THEN
|
|
DISPLAY "SERVIDOR ACTIVO" TO url
|
|
ELSE
|
|
DISPLAY "SERVIDOR INACTIVO" TO url
|
|
END IF
|
|
SELECT COUNT(*) INTO cuenta_productos FROM productos
|
|
SELECT COUNT(*) INTO cuenta_secciones FROM secciones
|
|
SELECT COUNT(*) INTO cuenta_bodegas FROM bodegas
|
|
SELECT COUNT(*) INTO cuenta_tramos FROM tramos
|
|
SELECT COUNT(*) INTO cuenta_fechaConteo FROM intb00044
|
|
SELECT COUNT(*) INTO cuenta_existencia FROM existencia
|
|
DISPLAY BY NAME cuenta_productos
|
|
DISPLAY BY NAME cuenta_secciones
|
|
DISPLAY BY NAME cuenta_bodegas
|
|
DISPLAY BY NAME cuenta_tramos
|
|
DISPLAY BY NAME cuenta_fechaConteo
|
|
DISPLAY BY NAME cuenta_existencia
|
|
|
|
AFTER INPUT
|
|
IF int_flag THEN
|
|
EXIT INPUT
|
|
END IF
|
|
CALL valida_usuario(kusuario,kclave,"ABIERTA",url) RETURNING estado,id_num
|
|
IF chk_usuarios = 1 THEN
|
|
CALL usuarios_download(url)
|
|
END IF
|
|
IF chk_productos = 1 THEN
|
|
IF tipo_inventario IS NOT NULL THEN
|
|
|
|
CALL productos_download(url,tipo_inventario)
|
|
|
|
ELSE
|
|
CALL fgl_winmessage("ERROR","FAVOR DE ELEJIR INVENTARIO","INFO")
|
|
NEXT FIELD tipo_inventario
|
|
END IF
|
|
END IF
|
|
IF chk_bodegas = 1 THEN
|
|
CALL bodegas_download(url)
|
|
END IF
|
|
IF chk_seccion = 1 THEN
|
|
CALL seccion_download(url)
|
|
END if
|
|
IF chk_tramo = 1 THEN
|
|
CALL tramo_download(url)
|
|
END IF
|
|
IF chk_fechaConteo = 1 THEN
|
|
|
|
CALL fechaConteo_download(url)
|
|
|
|
END IF
|
|
CALL valida_usuario(kusuario,kclave,"CERRAR",url) RETURNING estado,id_num
|
|
END INPUT
|
|
CLOSE WINDOW ws1
|
|
# ON ACTION visualiza ATTRIBUTE(TEXT="view")
|
|
# SELECT a.* INTO tipo,Pfecha FROM intb00044 a
|
|
# OPEN WINDOW w10 WITH FORM "form"
|
|
# DISPLAY tipo TO record1[1].edit1
|
|
# DISPLAY pfecha TO record1[1].edit2
|
|
|
|
# CLOSE WINDOW w10
|
|
# ON ACTION actualiza ATTRIBUTE(TEXT="CONSULTA PRODUCTOS")
|
|
{ LET fecha_date = CURRENT
|
|
LET fecha_crea = fecha_date
|
|
CALL fgl_winmessage("info",fecha_crea,"info")
|
|
UPDATE iptb00012 SET fech_crea = fecha_crea}
|
|
# OPEN WINDOW w20 WITH FORM "form"
|
|
# DECLARE busca_fecha CURSOR FOR
|
|
# SELECT a.descrip_esp,a.codid FROM productos a WHERE
|
|
# a.tipo_inventario = 'REPUESTOS'
|
|
# LET idx = 1
|
|
# FOREACH busca_fecha INTO arr_info[idx].*
|
|
# LET idx = idx +1
|
|
# END FOREACH
|
|
# DISPLAY ARRAY arr_info TO record1.*
|
|
# CLOSE WINDOW w20
|
|
ON ACTION crea_index ATTRIBUTE(TEXT="Crear Index")
|
|
CALL db_add_indexes()
|
|
ON ACTION etiquetas ATTRIBUTE(TEXT="Impresion Etiquetas")
|
|
|
|
CALL imp_etiquetas(url)
|
|
|
|
ON ACTION descargar ATTRIBUTE(TEXT="Descargar Data")
|
|
CALL valida_usuario(kusuario,kclave,"ABIERTA",url) RETURNING estado,id_num
|
|
IF estado THEN
|
|
CALL descargar(url)
|
|
CALL valida_usuario(kusuario,kclave,"CERRAR",url) RETURNING estado,id_num
|
|
ELSE
|
|
CALL fgl_winmessage("INFO","CONEXION INEXISNTETE, CONTACTE AL ADMINISTRADOR","INFO")
|
|
CONTINUE MENU
|
|
END IF
|
|
ON ACTION limpia_conteo ATTRIBUTES(TEXT="Borrar Datos")
|
|
CALL borra_info()
|
|
on action CANCEL ATTRIBUTE(TEXT="Salir Aplicacion")
|
|
exit program
|
|
end menu
|
|
|
|
|
|
# on action help
|
|
# call browser.browser("Help","https://demo.4js.com/gas/help.htm")
|
|
-- this could use a PDF but the PDF is slow to load when it contains images
|
|
-- could also consider embedding PDF inside application
|
|
#call browser.browser("help","https://demo.4js.com/gas/help.pdf")
|
|
|
|
|
|
on action about
|
|
call show_message(about_text(), true)
|
|
|
|
end input
|
|
if int_flag then
|
|
let int_flag = 0
|
|
end if
|
|
end function
|
|
|
|
function frontend()
|
|
define l_frontend string
|
|
call ui.Interface.frontCall("standard","feinfo","fename",l_frontend)
|
|
|
|
return l_frontend
|
|
end FUNCTION
|