mirror of
https://github.com/KeymonSoft/Guna_Cuenta_Kilometros.git
synced 2026-04-21 13:19:15 +00:00
19/9/23 - Commit Inicial
This commit is contained in:
315
B4A/B4XMainPage.bas
Normal file
315
B4A/B4XMainPage.bas
Normal file
@@ -0,0 +1,315 @@
|
||||
B4A=true
|
||||
Group=Default Group
|
||||
ModulesStructureVersion=1
|
||||
Type=Class
|
||||
Version=9.85
|
||||
@EndOfDesignText@
|
||||
#Region Shared Files
|
||||
#CustomBuildAction: folders ready, %WINDIR%\System32\Robocopy.exe,"..\..\Shared Files" "..\Files"
|
||||
'Ctrl + click to sync files: ide://run?file=%WINDIR%\System32\Robocopy.exe&args=..\..\Shared+Files&args=..\Files&FilesSync=True
|
||||
'###########################################################################################################
|
||||
'###################### PULL #############################################################
|
||||
'Ctrl + click ide://run?file=%WINDIR%\System32\cmd.exe&Args=/c&Args=git&Args=pull
|
||||
'###########################################################################################################
|
||||
'###################### PUSH #############################################################
|
||||
'Ctrl + click ide://run?file=%WINDIR%\System32\WindowsPowerShell\v1.0\powershell.exe&Args=github&Args=..\..\
|
||||
'###########################################################################################################
|
||||
#End Region
|
||||
|
||||
'Ctrl + click to export as zip: ide://run?File=%B4X%\Zipper.jar&Args=Project.zip
|
||||
|
||||
Sub Class_Globals
|
||||
Dim rp As RuntimePermissions
|
||||
Private Root As B4XView
|
||||
Private xui As XUI
|
||||
Private Root As B4XView
|
||||
Public rp As RuntimePermissions
|
||||
Public login As B4XMainPage
|
||||
Public principal As C_Principal
|
||||
Public clientes As C_Clientes
|
||||
Public updateAvailable As C_UpdateAvailable
|
||||
Dim reqManager As DBRequestManager
|
||||
' Dim ruta As String
|
||||
Dim usuario As String
|
||||
Dim logger As Boolean = True
|
||||
Dim lat_gps, lon_gps As String
|
||||
' Dim skmt As SQL
|
||||
Dim usuario As String
|
||||
Dim server As String
|
||||
Dim montoActual, clientesTotal, clientesVenta, clientesRechazo, clientesVisitados, almacen, rutaPreventa, CANTIDADPROD As String
|
||||
Dim ultimaActualizacionGPS As String = 235959
|
||||
Dim fechaRuta As String
|
||||
' Public wsServerLink As String = "ws://187.189.244.154:51042/push/b4a_ws2"
|
||||
' Public wsServerLink As String = "ws://10.0.0.214:51042/push/b4a_ws2"
|
||||
Dim srvIp As String
|
||||
Dim phn As Phone
|
||||
Dim user As EditText
|
||||
Dim pass As EditText
|
||||
Dim c As Cursor
|
||||
Dim existe As String
|
||||
Dim paso1 As String
|
||||
Private IMEN As Label
|
||||
Dim IMEI As String
|
||||
Private Label1 As Label
|
||||
Dim server As String
|
||||
Private p_principal As Panel
|
||||
Private Entrar As Button
|
||||
Dim batt As Int
|
||||
Dim porVisitar, entregas, rechazos, montoEntregado, montoRechazado As String
|
||||
Private p_appUpdate As Panel
|
||||
Private i_engrane As ImageView
|
||||
Private b_server As Button
|
||||
Private b_apk As Button
|
||||
Private b_envioBD As Button
|
||||
Private b_regesar As Button
|
||||
Private et_server As EditText
|
||||
Private p_serverList As Panel
|
||||
Private lv_server As ListView
|
||||
Public rutaBDBackup As String = ""
|
||||
End Sub
|
||||
|
||||
Public Sub Initialize
|
||||
' B4XPages.GetManager.LogEvents = True
|
||||
End Sub
|
||||
|
||||
'This event will be called once, before the page becomes visible.
|
||||
Private Sub B4XPage_Created (Root1 As B4XView)
|
||||
Root = Root1
|
||||
B4XPages.GetManager.LogEvents = True
|
||||
Root.LoadLayout("login")
|
||||
B4XPages.SetTitle(Me, "Guna - Control de Kilometraje")
|
||||
login.Initialize
|
||||
B4XPages.AddPage("Login", login)
|
||||
principal.Initialize
|
||||
B4XPages.AddPage("Principal", principal)
|
||||
clientes.Initialize
|
||||
B4XPages.AddPage("Clientes", clientes)
|
||||
updateAvailable.Initialize
|
||||
B4XPages.AddPage("updateAvailable", updateAvailable)
|
||||
reqManager.Initialize(Me, Starter.server)
|
||||
LogColor($"ReqServer = ${Starter.server}"$, Colors.red)
|
||||
Label1.Text = Application.VersionName
|
||||
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CONTROL_KMS(PLACAS TEXT, OPERADOR TEXT, RUTA TEXT, KMS_INICIAL TEXT, KMS_FINAL TEXT)")
|
||||
End Sub
|
||||
|
||||
Sub B4XPage_Appear
|
||||
If Starter.muestraProgreso = 1 Then
|
||||
muestraProgreso("Descargando actualización")
|
||||
Starter.muestraProgreso = 0
|
||||
End If
|
||||
Subs.centraPanel(p_principal, Root.Width)
|
||||
' Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_ACCESS_FINE_LOCATION)
|
||||
'' LogColor("Start Tracker1", Colors.red)
|
||||
' Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean)
|
||||
' If Result Then
|
||||
'' StartService(Tracker)
|
||||
'' LogColor("Start Tracker", Colors.red)
|
||||
' Else
|
||||
' ToastMessageShow("No permission", True)
|
||||
' Log("Sin permisos")
|
||||
' End If
|
||||
' LogColor("Start Tracker3", Colors.red)
|
||||
c=Starter.skmt.ExecQuery("select USUARIO from usuarioa")
|
||||
If c.RowCount > 0 Then
|
||||
' c.Position=0
|
||||
' c=skmt.ExecQuery("select USUARIO from usuarioa")
|
||||
c.Position=0
|
||||
usuario = c.GetString("USUARIO")
|
||||
End If
|
||||
c.Close
|
||||
' Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_WRITE_EXTERNAL_STORAGE)
|
||||
' Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean)
|
||||
' If Result Then
|
||||
' Log("Con permisos de escritura externa")
|
||||
' End If
|
||||
End Sub
|
||||
|
||||
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
|
||||
|
||||
Sub Entrar_Click
|
||||
If user.Text = "KMTS1" Then
|
||||
Starter.skmt.ExecNonQuery("delete from usuarioa")
|
||||
' Starter.skmt.ExecNonQuery("delete from VERSION")
|
||||
Starter.skmt.ExecNonQuery2("INSERT INTO USUARIOA VALUES (?,?)", Array As Object("ROOT", "ROOT"))
|
||||
' Starter.skmt.ExecNonQuery("delete from cat_almacen")
|
||||
' Starter.skmt.ExecNonQuery2("INSERT INTO CAT_ALMACEN(ID_ALMACEN) VALUES (?)", Array As Object (user.Text))
|
||||
' Starter.skmt.ExecNonQuery2("INSERT INTO VERSION(NOVERSION) VALUES (?)", Array As Object ("2.1"))
|
||||
' principal.B_REGRESA_Click
|
||||
' B4XPages.MainPage.principal.Subir.Visible = True
|
||||
B4XPages.ShowPage("Principal")
|
||||
Else
|
||||
c=Starter.skmt.ExecQuery2("select count(*) as EXISTE1 from usuarioa where usuario = ?", Array As String(user.Text))
|
||||
c.Position=0
|
||||
existe = c.GetString("EXISTE1")
|
||||
c.Close
|
||||
'existe = 1
|
||||
If existe = 0 Then
|
||||
'skmt.ExecNonQuery("delete from usuarioa")
|
||||
Dim cmd As DBCommand
|
||||
cmd.Initialize
|
||||
cmd.Name = "select_usuario_mards_REPG"
|
||||
cmd.Parameters = Array As Object(user.Text, pass.Text)
|
||||
reqManager.ExecuteQuery(cmd , 0, "usuario")
|
||||
|
||||
Dim cmd As DBCommand
|
||||
cmd.Initialize
|
||||
cmd.Name = "select_version_MARDS"
|
||||
reqManager.ExecuteQuery(cmd , 0, "version")
|
||||
Else
|
||||
' principal.B_REGRESA_Click
|
||||
B4XPages.ShowPage("Principal")
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Sub JobDone(Job As HttpJob)
|
||||
If Job.Success = False Then
|
||||
ToastMessageShow("Error: " & Job.ErrorMessage, True)
|
||||
Else
|
||||
If Job.JobName = "DBRequest" Then
|
||||
Dim result As DBResult = reqManager.HandleJob(Job)
|
||||
If result.Tag = "version" Then 'query tag
|
||||
For Each records() As Object In result.Rows
|
||||
Starter.skmt.ExecNonQuery("delete from VERSION")
|
||||
Dim CAT_VE_VERSION As String = records(result.Columns.Get("CAT_VE_VERSION"))
|
||||
' Starter.skmt.ExecNonQuery2("INSERT INTO VERSION(NOVERSION) VALUES (?)", Array As Object (CAT_VE_VERSION))
|
||||
Next
|
||||
End If
|
||||
End If
|
||||
|
||||
If Job.JobName = "DBRequest" Then
|
||||
Dim result As DBResult = reqManager.HandleJob(Job)
|
||||
If result.Tag = "agencia" Then 'query tag
|
||||
For Each records() As Object In result.Rows
|
||||
|
||||
Dim ID_ALMACEN As String = records(result.Columns.Get("ID_ALMACEN"))
|
||||
Next
|
||||
End If
|
||||
End If
|
||||
|
||||
If Job.JobName = "DBRequest" Then
|
||||
Dim result As DBResult = reqManager.HandleJob(Job)
|
||||
If result.Tag = "usuario" Then 'query tag
|
||||
For Each records() As Object In result.Rows
|
||||
Dim name As String = records(result.Columns.Get("USUARIO"))
|
||||
Dim ID_ALMACEN As String = records(result.Columns.Get("CAT_LO_AGENCIA"))
|
||||
Dim IMEI_BASE As String = records(result.Columns.Get("CAT_LO_IDTELEFONO"))
|
||||
Next
|
||||
paso1 = 1
|
||||
End If
|
||||
End If
|
||||
Job.Release
|
||||
End If
|
||||
|
||||
If paso1 = 1 Then
|
||||
If name = "OKActivo" Then
|
||||
Starter.skmt.ExecNonQuery("delete from usuarioa")
|
||||
Starter.skmt.ExecNonQuery2("INSERT INTO USUARIOA VALUES (?,?)", Array As Object(user.Text, pass.Text))
|
||||
Starter.skmt.ExecNonQuery("delete from cat_almacen")
|
||||
' Starter.skmt.ExecNonQuery2("INSERT INTO CAT_ALMACEN(ID_ALMACEN) VALUES (?)", Array As Object (ID_ALMACEN))
|
||||
B4XPages.ShowPage("Principal")
|
||||
Else If name = "OKExpirado"& IMEI Then
|
||||
Msgbox("Usuario Expirado llamar al administrador","") 'ignore
|
||||
Else If name = "OKCancelado"& IMEI Then
|
||||
Msgbox("Usuario Cancelado llamar al administrador","") 'ignore
|
||||
Else
|
||||
Msgbox("Usuario o password No validos","") 'ignore
|
||||
End If
|
||||
paso1 = 0
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub i_engrane_Click
|
||||
p_appUpdate.Width = Root.Width
|
||||
p_appUpdate.Height = Root.Height
|
||||
Subs.centraPanel(p_serverList, Root.Width)
|
||||
Subs.centraBoton(b_server, Root.Width)
|
||||
Subs.centraBoton(b_apk, Root.Width)
|
||||
Subs.centraBoton(b_envioBD, Root.Width)
|
||||
Subs.centraBoton(b_regesar, Root.Width)
|
||||
Subs.centraBoton(b_server, p_serverList.Width)
|
||||
lv_server.Clear
|
||||
lv_server.AddSingleLine("http://keymon.lat:1787")
|
||||
If user.Text = "KMTS1" Then lv_server.AddSingleLine("http://10.0.0.205:1787")
|
||||
' l_server.Text = Starter.server
|
||||
et_server.Text = Starter.server
|
||||
Subs.panelVisible(p_appUpdate, 0, 0)
|
||||
End Sub
|
||||
|
||||
Private Sub B4XPage_CloseRequest As ResumableSub
|
||||
' Log("closreq")
|
||||
If p_appUpdate.Visible Then
|
||||
p_appUpdate.Visible = False
|
||||
Else
|
||||
Sleep(0)
|
||||
ExitApplication
|
||||
End If
|
||||
Return False
|
||||
End Sub
|
||||
|
||||
Private Sub b_regesar_Click
|
||||
p_principal.Visible = True
|
||||
p_appUpdate.Visible = False
|
||||
End Sub
|
||||
|
||||
'Enviamos la base de datos por correo o Whatsapp
|
||||
Private Sub b_envioBD_Click
|
||||
Public Provider As FileProvider
|
||||
Log("provider")
|
||||
Provider.Initialize
|
||||
Dim FileName As String = "kmt.db"
|
||||
Log("********* : "&Provider.SharedFolder)
|
||||
Sleep(1000)
|
||||
'Copy the shared file to the shared folder
|
||||
File.Copy(File.DirInternal, FileName, Provider.SharedFolder, FileName)
|
||||
Dim email As Email
|
||||
email.To.Add("soporte@keymonsoft.com")
|
||||
email.Subject = "Base de datos para revisión"
|
||||
email.Attachments.Add(Provider.GetFileUri(FileName))
|
||||
' email.Attachments.Add(Provider.GetFileUri(FileName)) 'second attachment
|
||||
Dim in As Intent = email.GetIntent
|
||||
in.Flags = 1 'FLAG_GRANT_READ_URI_PERMISSION
|
||||
StartActivity(in)
|
||||
End Sub
|
||||
|
||||
Private Sub b_apk_Click
|
||||
StartService(appUpdater)
|
||||
End Sub
|
||||
|
||||
Private Sub b_server_Click
|
||||
Log("Guardar servidor")
|
||||
Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("SERVER"))
|
||||
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("SERVER",et_server.text))
|
||||
Starter.server = et_server.text
|
||||
If logger Then Log("Inicializamos reqManager con " & Starter.server)
|
||||
reqManager.Initialize(Me, Starter.server)
|
||||
LogColor($"ReqServer = ${Starter.server}"$, Colors.red)
|
||||
reinicializaReqManager
|
||||
p_appUpdate.Visible = False
|
||||
' Entrar.Visible = True
|
||||
End Sub
|
||||
|
||||
Private Sub lv_server_ItemClick (Position As Int, Value As Object)
|
||||
' l_server.Text = Value
|
||||
et_server.Text = Value
|
||||
Starter.server = Value
|
||||
reqManager.Initialize(Me, Value)
|
||||
LogColor($"ReqServer = ${Value}"$, Colors.red)
|
||||
ToastMessageShow("Servidor modificado", False)
|
||||
End Sub
|
||||
|
||||
Sub reinicializaReqManager
|
||||
reqManager.Initialize(Me, Starter.server)
|
||||
If logger Then Log(Starter.server)
|
||||
LogColor($"ReqServer = ${Starter.server}"$, Colors.red)
|
||||
End Sub
|
||||
|
||||
'appUpdater - Mostramos el anuncio de que se esta descargando el nuevo apk
|
||||
Sub muestraProgreso(mensaje As String)
|
||||
ProgressDialogShow(mensaje)
|
||||
End Sub
|
||||
|
||||
'appUpdater - Ocultamos el anuncio de que se esta descargando el nuevo apk
|
||||
Sub ocultaProgreso
|
||||
ProgressDialogHide
|
||||
End Sub
|
||||
Reference in New Issue
Block a user