mirror of
https://github.com/KeymonSoft/Intmex_Multiventa.git
synced 2026-04-17 21:06:08 +00:00
- VERSION 5.05.11
- Se agrego en "Principal" que cuando haya pedidos pendientes, aparezca un mensaje y el estatus del envio de los pedidos. - Se agregó en "Principal" un icono de "conexion" en la esquina superior derecha, que dependiendo de la conexion se pone verde o rojo. - Se agrego la version y el estatus de la conexion a tmp_drop. - Se agrego la version y el estatus de la conexion a la ubicacion em tiempo real (CAT_RUTAS)
This commit is contained in:
135
B4A/Starter.bas
135
B4A/Starter.bas
@@ -24,8 +24,9 @@ Sub Process_Globals
|
||||
' Dim DBReqServer As String = "http://11.0.0.119:1781"
|
||||
' Dim DBReqServer As String = "http://10.0.0.205:1783"
|
||||
' Dim DBReqServer As String = "http://192.168.100.10:1781"
|
||||
Dim Timer1 As Timer
|
||||
Dim Interval As Int = 10
|
||||
Dim Timer1, tConexion As Timer
|
||||
Dim Interval As Int = 300
|
||||
Dim IntervalC As Int = 10
|
||||
Dim ruta As String = File.DirInternal
|
||||
'Para los Logs
|
||||
Private logs As StringBuilder
|
||||
@@ -36,6 +37,7 @@ Sub Process_Globals
|
||||
Dim tabla As String
|
||||
Dim MAC_IMPRESORA As String
|
||||
Dim utimaPagina As String
|
||||
Dim senial As Int = 1
|
||||
End Sub
|
||||
|
||||
Sub Service_Create
|
||||
@@ -45,6 +47,8 @@ Sub Service_Create
|
||||
s.Initialize(Me, "Subs") 'Inicializamos la clase Subs
|
||||
skmt = s.inicializaBD(File.DirInternal, "kmt.db")
|
||||
' CallSubDelayed(FirebaseMessaging, "SubscribeToTopics") 'Para Push FirebaseMessaging
|
||||
tConexion.Initialize("tConexion", IntervalC * 1000)
|
||||
tConexion.Enabled = True
|
||||
Timer1.Initialize("Timer1", Interval * 1000)
|
||||
Timer1.Enabled = True
|
||||
' 'Para los Logs
|
||||
@@ -62,6 +66,13 @@ Sub Service_Start (StartingIntent As Intent)
|
||||
If s.traeDBReqServerDeBD(skmt) <> "N/A" And s.traeDBReqServerDeBD(skmt) <> "" Then DBReqServer = s.traeDBReqServerDeBD(skmt)
|
||||
reqManager.Initialize(Me, DBReqServer)
|
||||
Log($"Starter - |${DBReqServer}|"$)
|
||||
|
||||
' Dim ctxt As JavaObject
|
||||
' ctxt.InitializeContext
|
||||
' Dim TelephonyManager As JavaObject = ctxt.RunMethod("getSystemService", Array("phone"))
|
||||
' Dim listener As JavaObject
|
||||
' listener.InitializeNewInstance(Application.PackageName & ".starter.ResilientPhoneListener", Null)
|
||||
' TelephonyManager.RunMethod("listen", Array(listener, 0x00000100))
|
||||
End Sub
|
||||
|
||||
Private Sub Timer1_Tick
|
||||
@@ -69,6 +80,16 @@ Private Sub Timer1_Tick
|
||||
ENVIA_ULTIMA_GPS
|
||||
End Sub
|
||||
|
||||
Private Sub tConexion_Tick
|
||||
' Log("Next run " & DateTime.Time(DateTime.Now + Interval * 1000))
|
||||
' ENVIA_ULTIMA_GPS
|
||||
Dim cmd As DBCommand
|
||||
cmd.Initialize
|
||||
cmd.Name = "select_fecha"
|
||||
B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "ping") 'Usamos el "reqManager" de Mainpage para que usar el jobDone de ahi!!
|
||||
' Log("tConexion")
|
||||
End Sub
|
||||
|
||||
Sub GPS_LocationChanged (Location1 As Location)
|
||||
' CallSub2(Main, "GPS_LocationChanged", Location1)
|
||||
End Sub
|
||||
@@ -82,7 +103,7 @@ Sub Service_Destroy
|
||||
End Sub
|
||||
|
||||
Sub ENVIA_ULTIMA_GPS
|
||||
Dim logger As Boolean = False
|
||||
Dim logger As Boolean = True
|
||||
If logger Then LogColor("Iniciamos ENVIA_ULTIMA_GPS", Colors.Magenta)
|
||||
Dim cmd As DBCommand
|
||||
' cmd.Initialize
|
||||
@@ -90,12 +111,13 @@ Sub ENVIA_ULTIMA_GPS
|
||||
' B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "fechat")
|
||||
Dim cmd As DBCommand
|
||||
cmd.Initialize
|
||||
cmd.Name = "UPDATE_INTMEX_ACTUAL2_GPS"
|
||||
cmd.Name = "UPDATE_INTMEX_ACTUAL3_GPS"
|
||||
If B4XPages.MainPage.lat_gps.Length < 15 Then B4XPages.MainPage.lat_gps = B4XPages.MainPage.lat_gps&"0"
|
||||
cmd.Parameters = Array As Object(B4XPages.MainPage.montoActual, B4XPages.MainPage.clientestotal, B4XPages.MainPage.clientesventa,B4XPages.MainPage.clientesvisitados,B4XPages.MainPage.lat_gps,B4XPages.MainPage.lon_gps,B4XPages.MainPage.batt,0, 0, 0,B4XPages.MainPage.ALMACEN,B4XPages.MainPage.rutapreventa)
|
||||
If logger Then Log($"montoActual: ${B4XPages.MainPage.montoActual}, cTotal: ${B4XPages.MainPage.clientestotal}, cVenta: ${B4XPages.MainPage.clientesventa}, cVisitados: ${B4XPages.MainPage.clientesvisitados}, ${B4XPages.MainPage.lat_gps}, ${B4XPages.MainPage.lon_gps}, Batt: ${B4XPages.MainPage.batt}, 0, 0, 0, Almacen: ${B4XPages.MainPage.ALMACEN}, Ruta: ${B4XPages.MainPage.rutapreventa}"$)
|
||||
cmd.Parameters = Array As Object(B4XPages.MainPage.montoActual, B4XPages.MainPage.clientestotal, B4XPages.MainPage.clientesventa,B4XPages.MainPage.clientesvisitados,B4XPages.MainPage.lat_gps,B4XPages.MainPage.lon_gps,B4XPages.MainPage.batt,0, 0, 0, Application.VersionName,senial,B4XPages.MainPage.ALMACEN,B4XPages.MainPage.rutapreventa)
|
||||
If logger Then Log($"montoActual: ${B4XPages.MainPage.montoActual}, cTotal: ${B4XPages.MainPage.clientestotal}, cVenta: ${B4XPages.MainPage.clientesventa}, cVisitados: ${B4XPages.MainPage.clientesvisitados}, ${B4XPages.MainPage.lat_gps}, ${B4XPages.MainPage.lon_gps}, Batt: ${B4XPages.MainPage.batt}, 0, 0, 0, ${Application.VersionName},${senial},Almacen: ${B4XPages.MainPage.ALMACEN}, Ruta: ${B4XPages.MainPage.rutapreventa}"$)
|
||||
reqManager.ExecuteCommand(cmd, "inst_visitas")
|
||||
skmt.ExecNonQuery2("Update cat_variables set CAT_VA_VALOR = ? WHERE CAT_VA_DESCRIPCION = ?" , Array As String(DateTime.Time(DateTime.Now),"HoraIngreso"))
|
||||
|
||||
'Reiniciamos el timer para cuando llamamos el Sub desde "seleccion"
|
||||
Timer1.Enabled = False
|
||||
Timer1.Interval = Interval * 1000
|
||||
@@ -129,4 +151,103 @@ Sub reinicializaReqManager(srv As String)
|
||||
DBReqServer = srv
|
||||
reqManager.Initialize(Me, srv)
|
||||
LogColor(srv, Colors.red)
|
||||
End Sub
|
||||
End Sub
|
||||
|
||||
Sub Signal_Changedx (SignalStrengh As Object)
|
||||
Dim s2 As JavaObject = SignalStrengh
|
||||
Private theSignal As String = s2.RunMethod("getGsmSignalStrength", Null)
|
||||
Log(theSignal)
|
||||
ToastMessageShow(theSignal, False)
|
||||
End Sub
|
||||
|
||||
'Sub Signal_Changed (strength As Int)
|
||||
' Log($"Intensidad de señal recibida: ${strength}"$)
|
||||
' ToastMessageShow($"Intensidad de señal recibida: ${strength}"$, False)
|
||||
' ' Procesar el valor según el tipo de red
|
||||
' If strength >= 0 And strength <= 31 Then
|
||||
' ' GSM: convertir a dBm aproximado
|
||||
' Dim dBm As Int = -113 + strength * 2
|
||||
' Log($"Señal GSM: ${strength} (~${dBm} dBm)"$)
|
||||
' ToastMessageShow($"Señal GSM: ${strength} (~${dBm} dBm)"$, False)
|
||||
' Else If strength < 0 Then
|
||||
' ' CDMA/LTE: ya está en dBm
|
||||
' Log($"Señal CDMA/LTE: ${strength} dBm"$)
|
||||
' ToastMessageShow($"Señal GSM: ${strength} (~${dBm} dBm)"$, False)
|
||||
' Else If strength = 99 Then
|
||||
' Log("Señal desconocida o error")
|
||||
' ToastMessageShow("Señal desconicida", False)
|
||||
' End If
|
||||
'End Sub
|
||||
|
||||
|
||||
|
||||
'if Java
|
||||
'
|
||||
'import android.telephony.*;
|
||||
'import android.os.Build;
|
||||
'Public static class MyPhoneStateListener extends PhoneStateListener {
|
||||
'Public MyPhoneStateListener() {
|
||||
'}
|
||||
'Public void onSignalStrengthsChanged(SignalStrength signalStrength) {
|
||||
' anywheresoftware.b4a.BA.Log("onSignalStrengthsChanged");
|
||||
'
|
||||
' int strengthValue;
|
||||
'
|
||||
' Try {
|
||||
' If (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||
' strengthValue = signalStrength.getLevel(); // 0-4
|
||||
' } Else {
|
||||
' If (signalStrength.isGsm()) {
|
||||
' strengthValue = signalStrength.getGsmSignalStrength(); // 0-31, 99 es desconocido
|
||||
' } Else {
|
||||
' strengthValue = signalStrength.getCdmaDbm();
|
||||
' }
|
||||
' }
|
||||
'
|
||||
' // Pasar solo el valor entero, no el objeto SignalStrength completo
|
||||
' starter.processBA.raiseEventFromUI(Null, "signal_changed", strengthValue);
|
||||
'
|
||||
' } Catch (Exception e) {
|
||||
' anywheresoftware.b4a.BA.Log("Error: " + e.getMessage());
|
||||
' starter.processBA.raiseEventFromUI(Null, "signal_changed", 99); // Valor por defecto en caso de error
|
||||
' }
|
||||
'}
|
||||
'}
|
||||
'End If
|
||||
|
||||
|
||||
#if Java
|
||||
|
||||
import android.telephony.*;
|
||||
import android.os.Build;
|
||||
public static class ResilientPhoneListener extends PhoneStateListener {
|
||||
private long lastUpdate = 0;
|
||||
|
||||
@Override
|
||||
public void onSignalStrengthsChanged(SignalStrength signalStrength) {
|
||||
lastUpdate = System.currentTimeMillis();
|
||||
anywheresoftware.b4a.BA.Log("onSignalStrengthsChanged");
|
||||
|
||||
int strengthValue;
|
||||
try {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||
strengthValue = signalStrength.getLevel();
|
||||
} else {
|
||||
if (signalStrength.isGsm()) {
|
||||
strengthValue = signalStrength.getGsmSignalStrength();
|
||||
} else {
|
||||
strengthValue = signalStrength.getCdmaDbm();
|
||||
}
|
||||
}
|
||||
starter.processBA.raiseEventFromUI(null, "signal_changed", strengthValue);
|
||||
} catch (Exception e) {
|
||||
starter.processBA.raiseEventFromUI(null, "signal_changed", 99);
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isAlive() {
|
||||
return (System.currentTimeMillis() - lastUpdate) < 120000;
|
||||
}
|
||||
|
||||
}
|
||||
#End If
|
||||
Reference in New Issue
Block a user