- VERSION 4.10.17

- Se modificó la sección del engrane para que se pueda modificar el servidor de DBRequest.
- Se agregó en el engrane la opción de importar una base de datos desde Whatsapp.
This commit is contained in:
Jose Alberto Guerra Ugalde
2024-10-19 10:12:46 -06:00
parent 828527ea5f
commit 47a85d427d
13 changed files with 329 additions and 161 deletions

View File

@@ -21,6 +21,8 @@ Sub Process_Globals
' Dim rutaInicioHoy As String = ""
Private subsLogs As Boolean = False
Dim skmt As SQL
Dim in As Intent
Dim intentUsado As Boolean = False
End Sub
'Pone el valor de phn.Model en la variable global "devModel"
@@ -633,7 +635,7 @@ End Sub
'Regresa el almacen actual de la base de datos.
Sub traeAlmacen As String 'ignore
Private c As Cursor
Private a As String
Private a As String = "NA"
c=B4XPages.MainPage.skmt.ExecQuery("select ID_ALMACEN from CAT_ALMACEN")
c.Position = 0
a = C.GetString("ID_ALMACEN")
@@ -1510,3 +1512,97 @@ Sub revisaPRO3055(idCliente As String) As Boolean
Log($">>>> revisaPRO3055 ${idCliente} = ${x}"$)
Return x
End Sub
'Revisa si hay actualizacion, si es necesario relaizarla y cual es la liga del APK de la actualización.
' Regresa 0, 1 o 2 dependiendo de CAT_VARIABLES (Sin actualizacion, Forzar actualizacion, Sin adtos, forzar descarga de datos)
Sub revisaForzarActualizacion As Map
Private ra As ResultSet = Starter.skmt.ExecQuery($"select * from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'VERSION_NUEVA' or CAT_VA_DESCRIPCION = 'FORZAR_ACTUALIZACION'"$)
Private nuevaVersion As String = ""
Private forzarActualizacion As Int = 2
Private m As Map
m.Initialize
Do While ra.NextRow
If ra.GetString("CAT_VA_DESCRIPCION") = "VERSION_NUEVA" Then nuevaVersion = ra.GetString("CAT_VA_VALOR")
If ra.GetString("CAT_VA_DESCRIPCION") = "FORZAR_ACTUALIZACION" Then forzarActualizacion = ra.GetInt("CAT_VA_VALOR")
Loop
' Log(nuevaVersion)
' Log(forzarActualizacion)
If nuevaVersion <> Application.VersionName And forzarActualizacion = 1 Then
m.Put("forzar", 1)
m.Put("nuevaVersion", nuevaVersion)
else if forzarActualizacion = 2 Then 'Si no existen los datos en CAT_VARIABLES, entonces los recargamos
m.Put("forzar", 2)
m.Put("nuevaVersion", "Recargar")
Else
m.Put("forzar", 0)
m.Put("nuevaVersion", nuevaVersion)
End If
Return m
End Sub
Sub parseHTTPError(error As String) As String
Private nuevoError As String = error
Private inicio As Int = error.IndexOf("<title>")
Private final As Int = error.IndexOf("</title>")
Log("|" & inicio & "|" & final & "|")
If inicio > 0 And final > 0 Then
nuevoError = error.SubString2(inicio + 17, final)
' LogColor(error.SubString2(inicio + 17, final), Colors.Blue)
End If
Return nuevoError
End Sub
' Se revisa si hay una intención (intent) de abrir una base de datos y si es así, entonces se importa esa base de datos.
Sub importaBDDesdeWhatsApp
' Private tmpBDWA As Boolean = traeUsarIntentBDWA
Log("Revisamos intent de importar desde whatsapp")
Log(B4XPages.MainPage.intentUsado)
Log(in)
If Not(in.IsInitialized) Then in = B4XPages.GetNativeParent(B4XPages.MainPage).GetStartingIntent ' Si se usa esta funcion en Mainpage, se pone "Me" en lugar de B4XPages.MainPage.
If Not(B4XPages.MainPage.intentUsado) And in <> Null Then
' Log(in)
LogColor("Importamos base de datos desde Whatsapp.", Colors.blue)
B4XPages.MainPage.intentUsado = True
' Log(in.As(String))
If in.GetData <> Null Then
Dim XmlData As String
XmlData = in.GetData
Try
Dim OutStr As OutputStream = File.OpenOutput(File.DirInternal,"kmt.db",False)
Dim InStr As InputStream = File.OpenInput("ContentDir",XmlData)
File.Copy2(InStr,OutStr)
LogColor("BD copiada a interna.", Colors.Blue)
OutStr.Close
If in.As(String).Contains("whatsapp") Then ToastMessageShow("BD cargada desde Whatsapp", False)
Catch
Log(LastException)
End Try
' ExitApplication
' Starter.skmt.ExecNonQuery("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'IMPORTAR_BD_WA'")
' Starter.skmt.ExecNonQuery($"insert into CAT_VARIABLES (CAT_VA_DESCRIPCION, CAT_VA_VALOR) values ('IMPORTAR_BD_WA', '${tmpBDWA}')"$)
Private a As Cursor = Starter.skmt.ExecQuery($"select CAT_VA_VALOR from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'APP_NAME'"$)
If a.RowCount > 0 Then
a.Position = 0
ToastMessageShow($"BD de "${a.GetString("CAT_VA_VALOR")}" cargada."$, True)
End If
a = Starter.skmt.ExecQuery($"select * from usuarioa"$)
If a.RowCount > 0 Then
a.Position = 0
B4XPages.MainPage.user.Text = a.GetString("USUARIO")
B4XPages.MainPage.pass.Text = a.GetString("PASS")
End If
End If
End If
End Sub
'Regresa si se debe de usar el intent de importar la base d datos desde Whatsapp.
Sub traeUsarIntentBDWA As Boolean 'ignore
Private BDWA As Boolean = False
Private x As Cursor = Starter.skmt.ExecQuery($"select CAT_VA_VALOR from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'IMPORTAR_BD_WA'"$)
If x.RowCount > 0 Then
x.Position = 0
If x.GetString("CAT_VA_VALOR") = "true" Then BDWA = True
End If
Log($"cb_importarBDWA = ${BDWA}"$)
Return BDWA
End Sub