mirror of
https://github.com/KeymonSoft/Mazapa-Reparto.git
synced 2026-04-17 13:06:13 +00:00
167 lines
7.7 KiB
QBasic
167 lines
7.7 KiB
QBasic
B4A=true
|
|
Group=Default Group
|
|
ModulesStructureVersion=1
|
|
Type=Service
|
|
Version=9.85
|
|
@EndOfDesignText@
|
|
#Region Service Attributes
|
|
#StartAtBoot: False
|
|
#ExcludeFromLibrary: True
|
|
#End Region
|
|
|
|
Sub Process_Globals
|
|
'These global variables will be declared once when the application starts.
|
|
'These variables can be accessed from all modules.
|
|
Public gps As GPS
|
|
Public distanciaGeo As String = 0
|
|
Public rp As RuntimePermissions
|
|
Public FLP As FusedLocationProvider
|
|
Private flpStarted As Boolean
|
|
Dim skmt As SQL
|
|
Dim ruta As String
|
|
Private BTAdmin As BluetoothAdmin
|
|
Public BluetoothState As Boolean
|
|
Dim Timer1 As Timer
|
|
Dim Interval As Int = 10
|
|
'Para WebSockets
|
|
' Dim monitor As Timer 'Lo usamos para monitorear los servicios Tracker y PushService
|
|
' Dim monitorTicks As Int = 0
|
|
Dim trackerActividad As String = "501231235959"
|
|
Dim pushServiceActividad As String = "501231235959"
|
|
'Para los Logs
|
|
Dim MAC_IMPRESORA As String
|
|
Private logs As StringBuilder
|
|
Private logcat As LogCat
|
|
Public SharedFolder As String 'Para actualizar apk
|
|
Dim cedisLocation As Location
|
|
Dim reqManager As DBRequestManager
|
|
Dim server As String = "http://keymon.net:1781"
|
|
' Dim server As String = "http://192.168.100.10:1781"
|
|
' Dim server As String = "http://keymon.lat:9000"
|
|
' Dim server = "http://192.168.100.10:1781"
|
|
Dim muestraProgreso = 0
|
|
Dim c As Cursor
|
|
End Sub
|
|
|
|
Sub Service_Create
|
|
'This is the program entry point.
|
|
'This is a good place to load resources that are not specific to a single activity.
|
|
ruta = File.DirInternal 'Ruta de la base de datos por defecto.
|
|
' If File.ExternalWritable Then ruta = rp.GetSafeDirDefaultExternal("") 'Si podemos escribir a la tarjeta, cambiamos la ruta.
|
|
If Not(File.Exists(ruta, "kmt.db")) Then File.Copy(File.DirAssets, "kmt.db", ruta, "kmt.db") 'Si no existe el archivo de la base de datos, lo copiamos.
|
|
Log(ruta)
|
|
skmt.Initialize(ruta,"kmt.db", True)
|
|
' CallSubDelayed(PushService, "SubscribeToTopics")
|
|
' CallSubDelayed(FirebaseMessaging, "SubscribeToTopics")
|
|
' BTAdmin.Initialize("admin")
|
|
' If BTAdmin.IsEnabled = False Then
|
|
' If BTAdmin.Enable = False Then
|
|
' ToastMessageShow("Error enabling Bluetooth adapter.", True)
|
|
' Else
|
|
' ToastMessageShow("Enabling Bluetooth adapter...", False)
|
|
' End Ifate = True
|
|
' Else
|
|
' BluetoothSt
|
|
' End If
|
|
' reqManager.Initialize(Me, Main.server)
|
|
Timer1.Initialize("Timer1", Interval * 1000)
|
|
Timer1.Enabled = True
|
|
SharedFolder = rp.GetSafeDirDefaultExternal("")
|
|
cedisLocation.Initialize
|
|
' cedisLocation.Latitude = "19.48118148992086"
|
|
' cedisLocation.Longitude = "-99.15295579261536"
|
|
cedisLocation.Latitude = "0"
|
|
cedisLocation.Longitude = "0"
|
|
End Sub
|
|
|
|
Sub Service_Start (StartingIntent As Intent)
|
|
Service.StopAutomaticForeground 'Starter service can start in the foreground state in some edge cases.
|
|
' StartService(PushService)
|
|
' monitor.Initialize("monitor", 30000)
|
|
' monitor.Enabled = True
|
|
End Sub
|
|
|
|
Sub Service_TaskRemoved
|
|
'This event will be raised when the user removes the app from the recent apps list.
|
|
End Sub
|
|
|
|
'Return true to allow the OS default exceptions handler to handle the uncaught exception.
|
|
Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
|
|
Return True
|
|
End Sub
|
|
|
|
Sub Service_Destroy
|
|
|
|
End Sub
|
|
|
|
Private Sub Timer1_Tick
|
|
' ToastMessageShow("Timer",False)
|
|
' LogColor("Siguiente actualizacion " & DateTime.Time(DateTime.Now + Interval * 1000),Colors.Blue)
|
|
ENVIA_ULTIMA_GPS
|
|
End Sub
|
|
|
|
Sub ENVIA_ULTIMA_GPS
|
|
Dim reqManager As DBRequestManager
|
|
reqManager.Initialize(Me, server)
|
|
If IsConnectedToInternet Then
|
|
Log("Con internet, enviamos UTR!")
|
|
Dim skmt As SQL
|
|
Dim cmd As DBCommand
|
|
' LogColor($"ReqServer = ${server}"$, Colors.red)
|
|
skmt.Initialize(ruta,"kmt.db", True)
|
|
' Log("server: "&Main.server)
|
|
skmt.Initialize(ruta,"kmt.db", True)
|
|
If B4XPages.MainPage.logger Then LogColor("Iniciamos ENVIA_ULTIMA_GPS", Colors.red)
|
|
DateTime.TimeFormat = "HHmmss"
|
|
B4XPages.MainPage.ultimaActualizacionGPS = DateTime.Time(DateTime.Now)
|
|
cmd.Initialize
|
|
cmd.Name = "select_fechat"
|
|
reqManager.ExecuteQuery(cmd , 0, "fechat")
|
|
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "UPDATE_MAZAPA_ACTUALR3_GPS"
|
|
cmd.Parameters = Array As Object(B4XPages.MainPage.montoActual, B4XPages.MainPage.clientestotal, B4XPages.MainPage.clientesvisitados, B4XPages.MainPage.clientesventa, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, B4XPages.MainPage.batt, B4XPages.MainPage.montoRechazado, B4XPages.MainPage.montoEntregado, B4XPages.MainPage.clientestotal, B4XPages.MainPage.porVisitar, B4XPages.MainPage.entregas, B4XPages.MainPage.rechazos, Application.VersionName, B4XPages.MainPage.ALMACEN, B4XPages.MainPage.rutapreventa )
|
|
' CAT_RR_MONTO, CAT_RR_TT, CAT_RR_VISIT_ACT, CAT_RR_DEV_ACT, CAT_RR_LAT_ACT, CAT_RR_LONG_ACT, CAT_RR_BAT_ACT, CAT_RR_MRECH_ACT, CAT_RR_MONTO_ACT, CAT_RR_TOT_CLIENTES, CAT_RR_PORVISITAR, CAT_RR_ENTREGAS, CAT_RR_RECHAZOS, CAT_RR_VERSION
|
|
Log($"Monto actual: ${B4XPages.MainPage.montoActual} & Clientes totales: ${B4XPages.MainPage.clientestotal} & Clientes con venta: ${B4XPages.MainPage.clientesventa} & Clientes visitados: ${B4XPages.MainPage.clientesvisitados} & Latitud: ${B4XPages.MainPage.lat_gps} & Longitud: ${B4XPages.MainPage.lon_gps} & Bateria: ${B4XPages.MainPage.batt} & Monto Rechazado: ${B4XPages.MainPage.montoRechazado} & Monto entregado: ${B4XPages.MainPage.montoEntregado} & Clientes totales: ${B4XPages.MainPage.clientestotal} & Por visitar: ${B4XPages.MainPage.porVisitar} & Entregas: ${B4XPages.MainPage.entregas} & Rechazos: ${B4XPages.MainPage.rechazos} & Version: ${Application.VersionName} & Almacen: ${B4XPages.MainPage.ALMACEN} & Ruta cargada: ${B4XPages.MainPage.rutapreventa}"$)
|
|
|
|
If B4XPages.MainPage.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}, montoRechazado: ${B4XPages.MainPage.montoRechazado}, montoEntregado: ${B4XPages.MainPage.montoEntregado}, porVisitar: ${B4XPages.MainPage.porVisitar}, entregas: ${B4XPages.MainPage.entregas}, rechazos: ${B4XPages.MainPage.rechazos}, 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 otra actividad
|
|
Timer1.Enabled = False
|
|
Timer1.Interval = Interval * 1000
|
|
Timer1.Enabled = True
|
|
Else
|
|
Log("Sin conexión a internet, no se envió UTR!")
|
|
End If
|
|
End Sub
|
|
|
|
Sub IsConnectedToInternet As Boolean 'ignore
|
|
Dim r As Reflector
|
|
r.Target = r.GetContext
|
|
r.Target = r.RunMethod2("getSystemService", "connectivity", "java.lang.String")
|
|
r.Target = r.RunMethod("getActiveNetworkInfo")
|
|
If r.Target <> Null Then
|
|
Return r.RunMethod("isConnectedOrConnecting")
|
|
End If
|
|
Return False
|
|
End Sub
|
|
|
|
Sub JobDone(Job As HttpJob)
|
|
' LogColor("starter jobdone", Colors.Red)
|
|
' Log(Job.ErrorMessage)
|
|
Log("ENTRAMOS A JOBDONE")
|
|
' Private r As DBResult = reqManager.HandleJob(Job)
|
|
If Job.Success = False Then
|
|
' LogColor("** " & Job.Tag & " Error: " & Job.ErrorMessage, Colors.Red) ' Mod by CHV - 211023
|
|
If Job.ErrorMessage.Contains("failed to connect") Or Job.ErrorMessage.Contains("Failed to connect") Then
|
|
ToastMessageShow("!Hubo un error contactando al servidor, por favor revise su conexión!", True)
|
|
End If
|
|
'ToastMessageShow("Error: " & Job.ErrorMessage, True)
|
|
Else
|
|
' LogColor("JobDone: '" & reqManager.HandleJob(Job).tag & "' - Registros: " & reqManager.HandleJob(Job).Rows.Size, Colors.Green) 'Mod por CHV - 211023
|
|
End If
|
|
End Sub |