4.04.17 se agrega codigos qr

This commit is contained in:
Javier
2025-09-01 13:34:06 -06:00
parent dea84574e5
commit 7df82c83ae
15 changed files with 483 additions and 423 deletions

View File

@@ -76,6 +76,7 @@ Sub Class_Globals
Private clv_gestionadas As CustomListView
Private l_nombre As Label
Private l_estatus As Label
Private l_version As Label
End Sub
'You can add more parameters here.
@@ -90,23 +91,32 @@ Private Sub B4XPage_Created (Root1 As B4XView)
reqManager.Initialize(Me, Starter.DBReqServer)
g.Initialize("GPS")
qr.Initialize(B4XImageView1.mBase.Width)
Panel1.Width = Root.Width
Panel1.Height = Root.Height
p_camara.Width = Root.Width
p_camara.Height = Root.Height
p_validacion.Width = Root.Width
p_validacion.Height = Root.Height
ScrollView1.height = Root.Height - p_general.Height
p_scroll.height = Root.Height - p_general.Height
p_trabajadas.height = Root.Height - p_general.Height
End Sub
Private Sub B4XPage_Appear
B4XPages.MainPage.login.tipoenvio = "Envio automatico"
l_version.Text = Application.VersionName
CheckAndRequestNotificationPermission
If Not(Subs.IsConnectedToInternet) Then
Msgbox("Habilita los datos del celular","Atención")
B4XPage_Appear
Else
If g.GPSEnabled=False Then
Dim Resultado As Int= -3
Do While Resultado=-3
@@ -121,7 +131,8 @@ Private Sub B4XPage_Appear
End Select
Loop
Else
' Log("ENTRE")
Log("ENTRE")
StartService(Tracker)
m_lat = "0"
@@ -163,7 +174,7 @@ Private Sub B4XPage_Appear
b_checkin.visible = True
b_checout.visible = False
b_comidain.Visible = False
b_comidaout.Visible = False
b_comidaout.Visible = False
End If
'' CallSubDelayed(Tracker, "StartFLPSmall")
@@ -172,7 +183,7 @@ Private Sub B4XPage_Appear
Starter.longitud = Tracker.FLP.GetLastKnownLocation.Longitude
' Log($"Tenemos UUC: ${Tracker.FLP.GetLastKnownLocation.Latitude},${Tracker.FLP.GetLastKnownLocation.Longitude}"$)
GPS_LocationChanged(Tracker.FLP.GetLastKnownLocation)
' Log("hice esto")
Log("hice esto")
End If
bu.Initialize
@@ -462,7 +473,7 @@ Private Sub b_checkin_Click
p_validacion.Visible = True
l_codigo.Text = "Ingresa el codigo para el CHECK-IN."
End If
End If
Else If donde2 = "2" Then
Msgbox2Async(mensaje,"Atención", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png"),False)
Wait For Msgbox_Result (result As Int)
@@ -681,49 +692,49 @@ Private Sub b_gestion_Click
c.Position = 0
Log(c.GetString("ESTATUS"))
If c.GetString("ESTATUS") = "ENTRADA" Or c.GetString("ESTATUS") = "SALIDA A COMER" Or c.GetString("ESTATUS") = "REGRESO DE COMER" Then
If Not(Subs.IsConnectedToInternet) Then
MsgboxAsync("Habilita los datos del celular","Atención")
B4XPage_Appear
Else
If distance > 200 Then
Log("aqui")
MsgboxAsync("No estas cerca del punto asignado","Atención")
Else If distance < 200 Then
p_trabajadas.Visible= False
p_scroll.Visible = True
ScrollView1.Visible = True
If Not(Subs.IsConnectedToInternet) Then
MsgboxAsync("Habilita los datos del celular","Atención")
B4XPage_Appear
Else
' If distance > 200 Then
' Log("aqui")
' MsgboxAsync("No estas cerca del punto asignado","Atención")
' Else If distance < 2000000000000000000000000000 Then
p_trabajadas.Visible= False
p_scroll.Visible = True
ScrollView1.Visible = True
ScrollView1.Panel.LoadLayout("gestion")
ScrollView1.Panel.Height = p_gestion.Height
ScrollView1.Panel.LoadLayout("gestion")
ScrollView1.Panel.Height = p_gestion.Height
p_scroll.BringToFront
y = 1
x = 1
InitializeCamera2
p_camara.Visible = True
b_gestion.Enabled = False
p_gestion.Visible = True
p_scroll.BringToFront
y = 1
x = 1
InitializeCamera2
p_camara.Visible = True
b_gestion.Enabled = False
p_gestion.Visible = True
nombrefoto = "0"
nombrefoto1 = "0"
iv_ine.Bitmap = LoadBitmap(File.DirAssets,"camara.png")
iv_gestion.Bitmap = LoadBitmap(File.DirAssets,"camara.png")
itemselect = ""
nombrefoto = "0"
nombrefoto1 = "0"
iv_ine.Bitmap = LoadBitmap(File.DirAssets,"camara.png")
iv_gestion.Bitmap = LoadBitmap(File.DirAssets,"camara.png")
itemselect = ""
Dim Items As List
Items.Initialize
Items.Clear
Items.Add("SELECCIONA UNA OPCION ")
Items.Add("APROBADO")
Items.Add("RECHAZADO")
Items.Add("INTERMITENCIA")
Items.Add("NO CONCLUIDO")
cb_estatus.SetItems(Items)
itemselect = "SELECCIONA UNA OPCION"
p_inci.Visible = False
ajustaTamano
End If
End If
Dim Items As List
Items.Initialize
Items.Clear
Items.Add("SELECCIONA UNA OPCION ")
Items.Add("APROBADO")
Items.Add("RECHAZADO")
Items.Add("INTERMITENCIA")
Items.Add("NO CONCLUIDO")
cb_estatus.SetItems(Items)
itemselect = "SELECCIONA UNA OPCION"
p_inci.Visible = False
ajustaTamano
' End If
End If
Else
MsgboxAsync("Por favor hacer el check-in","Atención")
End If
@@ -907,7 +918,7 @@ Sub ajustaTamano
Log("Invisible 1 y 2")
b_cancelar.Top = iv_ine.Top + iv_ine.Height + 45
b_finalizar.Top = iv_ine.Top + iv_ine.Height + 45
End If
End If
p_gestion.Height = b_cancelar.Top + 150
ScrollView1.Panel.Height = p_gestion.Height
End Sub
@@ -1126,7 +1137,7 @@ Sub mandaPendientes
If c.RowCount > 0 Then
For i = 0 To c.RowCount -1
c.Position=i
Dim cmd As DBCommand
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "insert_GESTION_GABICO"
cmd.Parameters = Array As Object(c.GetString("HIST_PM_FECHA"), c.GetString("HIST_PR_NOMBRE"),c.GetString("HIST_PR_TELEFONO"), c.GetString("HIST_PR_CORREO"), c.GetString("HIST_PR_CURP"), c.GetBlob("HIST_PR_INE"), c.GetString("HIST_PR_ESTATUS"),c.GetBlob("HIST_PR_EVIDENCIA"), c.GetString("HIST_PR_OBSERVACIONES"), c.GetString("HIST_PR_COMENTARIOERROR"), c.GetString("HIST_PR_IDPROYECTO"), c.GetString("HIST_PR_NOMBREPROYECTO"), c.GetString("HIST_PR_IDSUCURSAL"), c.GetString("HIST_PR_NOMBRESUCURSAL"), c.GetString("HIST_PR_USUARIO"), c.GetString("HIST_PR_LATITUD"), c.GetString("HIST_PR_LONGITUD"), c.GetString("HIST_PR_BATERIA"))
@@ -1403,7 +1414,7 @@ End Sub
Private Sub b_comidain_Click
If p_scroll.Visible = False Then
Log("Cumple panel invisible")
Log("Cumple panel invisible")
If horasalidacomer Then
If Not(Subs.IsConnectedToInternet) Then
Msgbox("Habilita los datos del celular","Atención")
@@ -1511,8 +1522,8 @@ Sub horasalidacomer As Boolean
Log(DateUtils.TicksToString(newDate))
Dim p2 As Period
p2.Hours = 1
p2.Minutes = 0
p2.Hours = 1
p2.Minutes = 0
DateTime.DateFormat = "MM/dd/yyyy HH:mm"
Dim fecha2 As String = DateTime.Date(DateTime.Now)
Dim prueba2() As String = Regex.Split(" ",fecha2)
@@ -1558,7 +1569,7 @@ Sub horasalidacomer As Boolean
End Sub
Private Sub b_aceptar_Click
mandacodigo
mandacodigo
End Sub
Private Sub p_validacion_Click
@@ -1635,7 +1646,7 @@ Private Sub cb_rechazadas_CheckedChange(Checked As Boolean)
botongestionadas
End Sub
Sub botongestionadas
Sub botongestionadas
c = Starter.skmt.ExecQuery("SELECT HIST_PR_NOMBRE, HIST_PR_ESTATUS FROM HIST_PROMOTORIA")
If c.RowCount > 0 Then
If cb_aprobadas.Checked = False And cb_rechazadas.Checked = False Then

View File

@@ -96,6 +96,7 @@ Sub Class_Globals
Private et_codigo As EditText
Private b_cancelarcodigo As Button
Private l_codigo As Label
Private l_version As Label
End Sub
'You can add more parameters here.
@@ -135,6 +136,7 @@ End Sub
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
Private Sub B4XPage_Appear
l_version.Text = Application.VersionName
CheckAndRequestNotificationPermission
If g.GPSEnabled=False Then
Dim result As Int= -3

Binary file not shown.

Binary file not shown.

BIN
B4A/Files/mapa_rutas.bal Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,13 +1,13 @@
Build1=Default,gabinete.keymon.lat
File1=alert2.png
File10=gabinete1.png
File11=gestion.bal
File12=gestion_sup.bal
File13=gestiones.bal
File14=izquierda.png
File15=kmt.db
File16=login.bal
File17=MainPage.bal
File10=gestion.bal
File11=gestion_sup.bal
File12=gestiones.bal
File13=izquierda.png
File14=kmt.db
File15=login.bal
File16=MainPage.bal
File17=mapa_rutas.bal
File18=mas.png
File19=menos.png
File2=atras.png
@@ -18,10 +18,10 @@ File23=supervisor.bal
File3=camara.png
File4=derecha.png
File5=engranes.png
File6=errormanager.bal
File7=frintal.png
File8=from2.png
File9=gabinete.png
File6=frintal.png
File7=from2.png
File8=gabinete.png
File9=gabinete1.png
FileGroup1=Default Group
FileGroup10=Default Group
FileGroup11=Default Group
@@ -52,33 +52,36 @@ Library11=fileprovider
Library12=firebaseanalytics
Library13=firebasenotifications
Library14=fusedlocationprovider
Library15=gps
Library16=ime
Library17=javaobject
Library18=nb6
Library19=okhttputils2
Library15=googlemaps
Library16=gps
Library17=ime
Library18=javaobject
Library19=locationmanager
Library2=appupdating
Library20=phone
Library21=randomaccessfile
Library22=reflection
Library23=runtimepermissions
Library24=sql
Library25=stringutils
Library26=xcustomlistview
Library27=xui
Library28=xui views
Library20=nb6
Library21=okhttputils2
Library22=phone
Library23=randomaccessfile
Library24=reflection
Library25=runtimepermissions
Library26=sql
Library27=stringutils
Library28=xcustomlistview
Library29=xui
Library3=b4xpages
Library30=xui views
Library31=googlemapsextras
Library4=batteryprogressview
Library5=bctoast
Library6=bitmapcreator
Library7=byteconverter
Library8=camera
Library9=compressstrings
ManifestCode='This code will be applied to the manifest file during compilation.~\n~'You do not need to modify it in most cases.~\n~'See this link for for more information: https://www.b4x.com/forum/showthread.php?p=78136~\n~AddManifestText(~\n~<uses-sdk android:minSdkVersion="5" android:targetSdkVersion="33"/>~\n~<supports-screens android:largeScreens="true" ~\n~ android:normalScreens="true" ~\n~ android:smallScreens="true" ~\n~ android:anyDensity="true"/>)~\n~SetApplicationAttribute(android:icon, "@drawable/icon")~\n~SetApplicationAttribute(android:label, "$LABEL$")~\n~CreateResourceFromFile(Macro, Themes.LightTheme)~\n~SetApplicationAttribute(android:usesCleartextTraffic, "true")~\n~SetServiceAttribute(Tracker, android:foregroundServiceType, "location")~\n~'SetServiceAttribute(android:requestLegacyExternalStorage, True)~\n~~\n~AddApplicationText(~\n~<meta-data~\n~ android:name="com.google.android.geo.API_KEY"~\n~ android:value="AIzaSyBlBnx3O-DncOSv3oFIp-12wgujOYYcl-U"/>~\n~ <meta-data android:name="com.google.android.gms.version"~\n~ android:value="@integer/google_play_services_version" />~\n~)~\n~AddManifestText(~\n~<uses-permission~\n~ android:name="android.permission.ACCESS_FINE_LOCATION"~\n~ android:maxSdkVersion="33" />~\n~)~\n~AddManifestText(~\n~<uses-permission ~\n~ android:name="android.permission.ACCESS_COARSE_LOCATION"~\n~ android:maxSdkVersion="33" />~\n~ )~\n~AddPermission(android.permission.ACCESS_BACKGROUND_LOCATION)~\n~~\n~'AddPermission("android.permission.MANAGE_EXTERNAL_STORAGE")~\n~'AddManifestText(<uses-permission~\n~'android:name="android.permission.WRITE_EXTERNAL_STORAGE"~\n~'android:maxSdkVersion="33" />~\n~')~\n~'End of default text.~\n~~\n~'/////////////////////// App Updating ////////////////~\n~' AddManifestText(<uses-permission~\n~' android:name="android.permission.WRITE_EXTERNAL_STORAGE"~\n~' android:maxSdkVersion="33" />~\n~' )~\n~ AddApplicationText(~\n~ <provider~\n~ android:name="android.support.v4.content.FileProvider"~\n~ android:authorities="$PACKAGE$.provider"~\n~ android:exported="false"~\n~ android:grantUriPermissions="true">~\n~ <meta-data~\n~ android:name="android.support.FILE_PROVIDER_PATHS"~\n~ android:resource="@xml/provider_paths"/>~\n~ </provider>~\n~ )~\n~ CreateResource(xml, provider_paths,~\n~ <paths>~\n~ <external-files-path name="name" path="" />~\n~ <files-path name="name" path="" />~\n~ <files-path name="name" path="shared" />~\n~ </paths>~\n~ )~\n~AddManifestText(<uses-feature android:name="android.hardware.telephony" android:required="false" />)~\n~AddManifestText(<uses-feature android:name="android.hardware.camera" android:required="false" />)~\n~AddManifestText(<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />)~\n~AddManifestText(<uses-feature android:name="android.hardware.camera.flash" android:required="false" />)~\n~~\n~AddPermission(android.permission.REQUEST_INSTALL_PACKAGES)~\n~AddPermission(android.permission.INTERNET)~\n~AddPermission(android.permission.INSTALL_PACKAGES)~\n~'AddPermission(android.permission.READ_EXTERNAL_STORAGE)~\n~'AddPermission(android.permission.WRITE_EXTERNAL_STORAGE)~\n~AddPermission(android.permission.READ_PHONE_STATE)~\n~AddPermission(android.permission.WAKE_LOCK)~\n~CreateResourceFromFile(Macro, JhsIceZxing1.CaturePortrait)~\n~'AddPermission("android.permission.MANAGE_EXTERNAL_STORAGE")~\n~SetApplicationAttribute(android:largeHeap, "true")~\n~~\n~AddPermission("android.permission.POST_NOTIFICATIONS")~\n~AddManifestText(<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" android:maxSdkVersion="33" />)~\n~AddPermission(android.permission.INTERNET)~\n~~\n~SetApplicationAttribute(android:allowBackup, "false")~\n~~\n~~\n~'SetServiceAttribute(Tracker, android:foregroundServiceType, "location")~\n~AddPermission(android.permission.ACCESS_NETWORK_STATE)~\n~
ManifestCode='This code will be applied to the manifest file during compilation.~\n~'You do not need to modify it in most cases.~\n~'See this link for for more information: https://www.b4x.com/forum/showthread.php?p=78136~\n~AddManifestText(~\n~<uses-sdk android:minSdkVersion="5" android:targetSdkVersion="33"/>~\n~<supports-screens android:largeScreens="true" ~\n~ android:normalScreens="true" ~\n~ android:smallScreens="true" ~\n~ android:anyDensity="true"/>)~\n~SetApplicationAttribute(android:icon, "@drawable/icon")~\n~SetApplicationAttribute(android:label, "$LABEL$")~\n~CreateResourceFromFile(Macro, Themes.LightTheme)~\n~SetApplicationAttribute(android:usesCleartextTraffic, "true")~\n~SetServiceAttribute(Tracker, android:foregroundServiceType, "location")~\n~'SetServiceAttribute(android:requestLegacyExternalStorage, True)~\n~~\n~AddApplicationText(~\n~<meta-data~\n~ android:name="com.google.android.geo.API_KEY"~\n~ android:value="AIzaSyBlBnx3O-DncOSv3oFIp-12wgujOYYcl-U"/>~\n~ <meta-data android:name="com.google.android.gms.version"~\n~ android:value="@integer/google_play_services_version" />~\n~)~\n~AddApplicationText(<uses-library android:name="org.apache.http.legacy" android:required="false"/>)~\n~AddManifestText(~\n~<uses-permission~\n~ android:name="android.permission.ACCESS_FINE_LOCATION"~\n~ android:maxSdkVersion="33" />~\n~)~\n~~\n~AddManifestText(~\n~<uses-permission ~\n~ android:name="android.permission.ACCESS_COARSE_LOCATION"~\n~ android:maxSdkVersion="33" />~\n~ )~\n~~\n~AddPermission(android.permission.ACCESS_BACKGROUND_LOCATION)~\n~~\n~AddPermission("android.permission.MANAGE_EXTERNAL_STORAGE")~\n~~\n~~\n~AddManifestText(<uses-permission~\n~android:name="android.permission.WRITE_EXTERNAL_STORAGE"~\n~android:maxSdkVersion="33" />~\n~)~\n~~\n~~\n~'End of default text.~\n~~\n~'/////////////////////// App Updating ////////////////~\n~ AddManifestText(<uses-permission~\n~ android:name="android.permission.WRITE_EXTERNAL_STORAGE"~\n~ android:maxSdkVersion="33" />~\n~ )~\n~ AddApplicationText(~\n~ <provider~\n~ android:name="android.support.v4.content.FileProvider"~\n~ android:authorities="$PACKAGE$.provider"~\n~ android:exported="false"~\n~ android:grantUriPermissions="true">~\n~ <meta-data~\n~ android:name="android.support.FILE_PROVIDER_PATHS"~\n~ android:resource="@xml/provider_paths"/>~\n~ </provider>~\n~ )~\n~ CreateResource(xml, provider_paths,~\n~ <paths>~\n~ <external-files-path name="name" path="" />~\n~ <files-path name="name" path="" />~\n~ <files-path name="name" path="shared" />~\n~ </paths>~\n~ )~\n~AddManifestText(<uses-feature android:name="android.hardware.telephony" android:required="false" />)~\n~AddManifestText(<uses-feature android:name="android.hardware.camera" android:required="false" />)~\n~AddManifestText(<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />)~\n~AddManifestText(<uses-feature android:name="android.hardware.camera.flash" android:required="false" />)~\n~~\n~AddPermission(android.permission.REQUEST_INSTALL_PACKAGES)~\n~AddPermission(android.permission.INTERNET)~\n~AddPermission(android.permission.INSTALL_PACKAGES)~\n~AddPermission(android.permission.READ_EXTERNAL_STORAGE)~\n~AddPermission(android.permission.WRITE_EXTERNAL_STORAGE)~\n~AddPermission(android.permission.READ_PHONE_STATE)~\n~AddPermission(android.permission.WAKE_LOCK)~\n~CreateResourceFromFile(Macro, JhsIceZxing1.CaturePortrait)~\n~AddPermission("android.permission.MANAGE_EXTERNAL_STORAGE")~\n~SetApplicationAttribute(android:largeHeap, "true")~\n~AddPermission("android.permission.MANAGE_EXTERNAL_STORAGE")~\n~~\n~AddPermission("android.permission.POST_NOTIFICATIONS")~\n~~\n~AddManifestText(<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" android:maxSdkVersion="33" />)~\n~AddPermission(android.permission.INTERNET)~\n~SetApplicationAttribute(android:allowBackup, "false")~\n~AddManifestText(<queries>~\n~ <package android:name="com.google.android.apps.maps" />~\n~ </queries>)~\n~AddPermission(android.permission.ACCESS_NETWORK_STATE)
Module1=appUpdater
Module10=DBRequestManager
Module11=errorManager
Module12=login
Module11=login
Module12=MAPA_RUTAS
Module13=QRGenerator
Module14=Starter
Module15=Subs
@@ -92,14 +95,14 @@ Module7=C_UpdateAvailable
Module8=CameraExClass
Module9=CameraExClass2
NumberOfFiles=23
NumberOfLibraries=28
NumberOfLibraries=31
NumberOfModules=16
Version=12.8
@EndOfDesignText@
#Region Project Attributes
#ApplicationLabel: Gabinete
#VersionCode: 1
#VersionName: 4.03.07
#VersionName: 4.04.17
'SupportedOrientations possible values: unspecified, landscape or portrait.
#SupportedOrientations: portrait
#CanInstallToExternalStorage: False

View File

@@ -49,6 +49,6 @@ ModuleClosedNodes6=
ModuleClosedNodes7=
ModuleClosedNodes8=
ModuleClosedNodes9=
NavigationStack=login,JobDone,178,0,B4XMainPage,Timerconteo_tick,95,0,B4XMainPage,B4XPage_Appear,72,1,Main,Process_Globals,19,0,Subs,notiLowReturn,69,0,Subs,IsConnectedToInternet,77,0,login,B4XPage_CloseRequest,193,0,B4XMainPage,CheckAndRequestNotificationPermission,86,0,B4XMainPage,B4XPage_Created,52,0,login,B4XPage_Appear,64,2
NavigationStack=Diseñador Visual,gestion.bal,-100,1,C_principal,b_gestion_Click,728,0,Diseñador Visual,principal.bal,-100,3,login,Class_Globals,36,4,C_principal,GPS_LocationChanged,235,0,C_principal,B4XPage_Appear,104,6,login,JobDone,175,6,B4XMainPage,Class_Globals,18,0,Starter,ENVIA_ULTIMA_GPS,97,4,Starter,Process_Globals,10,1,login,ImageView5_Click,209,1
SelectedBuild=0
VisibleModules=14,3,12,5,6,10,15,16,11
VisibleModules=14,3,11,5,6,10,15,16,13,1

348
B4A/MAPA_RUTAS.bas Normal file
View File

@@ -0,0 +1,348 @@
B4A=true
Group=Default Group
ModulesStructureVersion=1
Type=Activity
Version=9.3
@EndOfDesignText@
#Region Activity Attributes
#FullScreen: False
#IncludeTitle: False
#End Region
'Activity module
Sub Process_Globals
Dim GPS As GPS
Dim rp As RuntimePermissions
Dim ruta As String
Dim skmt As SQL
Dim c As Cursor
Dim c2 As Cursor
Dim c22 As Cursor
Dim c3 As Cursor
Dim Cnom As Cursor
End Sub
Sub Globals
Private gmap As GoogleMap
Private MapFragment1 As MapFragment
Dim Latitud As Double = 0
Dim Longitud As Double = 0
Dim Lat2 As Double = 0
Dim Lon2 As Double = 0
Dim p1, p2 As Location
Dim Distance As Float
Dim boton1 As Button
Dim HUE_BLUE As Float
Dim HUE_RED As Float
Dim HUE_GREEN As Float
Private B_AZUL As Button
Private B_ROJO As Button
Private B_VERDE As Button
Private B_TODOS As Button
Dim Tienda As String
Dim LatitudRu As Double
Dim LongitudRU As Double
Dim LIST_AZUL As List
Dim LIST_ROJO As List
Dim LIST_VERDE As List
Dim MARK_AZUL As Marker
Dim MARK_ROJO As Marker
Dim MARK_VERDE As Marker
Dim MARK_CEDIS As Marker
Dim rojo As String
Dim azul As String
Dim verde As String
Dim todos As String
Dim NumSerie As Int
Dim OnInfoWindowClickListener1 As OnInfoWindowClickListener
Dim GoogleMapEXTRA As GoogleMapsExtras
Dim CODIGO As String
Private SEMANA As String
Private l_version As Label
Private EditText1 As EditText
Private EditText2 As EditText
End Sub
Sub Activity_Create(FirstTime As Boolean)
Activity.LoadLayout("MAPA_RUTAS")
ruta = File.DirInternal
If File.Exists(ruta, "kmt.db") = False Then
File.Copy(File.DirAssets, "kmt.db", ruta, "kmt.db")
End If
skmt.Initialize(ruta,"kmt.db", True)
'GPS
If(FirstTime) Then
GPS.Initialize("GPS")
End If
' l_version.Text = Application.VersionName
' l_version.Left = Activity.Width - l_version.Width - 10
If MapFragment1.IsGooglePlayServicesAvailable = False Then
ToastMessageShow("Please install Google Play Services.", True)
End If
'Boton velocidad'
' boton1.Initialize(0)
' boton1.Text = 0 &" "&"km/h"
' boton1.TextColor = Colors.Red
' boton1.TextSize = 15
' Activity.AddView(boton1, 40%x, 5dip, 25%x, 40dip)
'Fin Boton velocidad'
'MARK_CEDIS.IsInitialized
MARK_AZUL.IsInitialized
MARK_ROJO.IsInitialized
MARK_VERDE.IsInitialized
LIST_AZUL.Initialize
LIST_ROJO.Initialize
LIST_VERDE.Initialize
verde = 0
azul = 0
rojo = 0
todos = 1
' c=skmt.ExecQuery2("select count(*) AS CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("SEMANA"))
' c.Position =0
' SEMANA = c.GetString("CUANTOS")
' c.Close
'
' If SEMANA > 0 Then
' c=skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("SEMANA"))
' c.Position =0
' SEMANA = c.GetString("CAT_VA_VALOR")
' c.Close
' End If
End Sub
Sub MapFragment1_Ready
gmap = MapFragment1.GetMap
gmap.IsInitialized
'todos= 1
'permisos
rp.CheckAndRequest(rp.PERMISSION_ACCESS_FINE_LOCATION)
Wait For Activity_PermissionResult (Permission As String, Result As Boolean)
gmap.MyLocationEnabled = Result
Dim JavaMapsObject As JavaObject
JavaMapsObject = gmap.GetUiSettings
JavaMapsObject.RunMethod("setMapToolbarEnabled", Array As Object(True))
'''''''----------------------------MARKER AZUL - POR VISITAR
' If azul =1 Or todos = 1 Then
' c.IsInitialized
' '''''''''VERIFICAR EN QUE TABLA O EN QUE CAMPO NOS LEE LA VENTAS PENDIENTES POR VISITAR
'
' c=skmt.ExecQuery("select HV_CLIENTE, HV_LONG, HV_LAT from PUNTEO_GPS where HV_CLIENTE IN (select CAT_CL_CODIGO from kmt_info where gestion = 0 AND CAT_CL_NOMBRE <>'VENTA ABORDO') AND HV_LONG IS NOT NULL AND HV_LAT IS NOT NULL AND HV_LONG <> 0 AND HV_LAT <> 0")
'
' skmt.Initialize(ruta,"kmt.db", True)
' For i = 0 To c.RowCount -1
' c.Position = i
' LatitudRu = c.GetDouble("HV_LAT")
' LongitudRU = c.GetDouble("HV_LONG")
' CODIGO=c.GetString("HV_CLIENTE")
' Cnom=skmt.ExecQuery2("select CAT_CL_CODIGO,CAT_CL_NOMBRE from kmt_info where CAT_CL_CODIGO = ? ",Array As String(CODIGO))
' Cnom.Position = 0
' Tienda= Cnom.GetString("CAT_CL_NOMBRE")
MARK_AZUL = gmap.AddMarker2(Starter.latitud,Starter.longitud,"UBICACION", gmap.HUE_BLUE)
MARK_AZUL.Snippet = "MI UBICACION"
' Next
'
' c .Close
LIST_AZUL.Add(MARK_AZUL)
' End If
' '''''''----------------------------MARKER VERDE - VENTA
' If verde =1 Or todos = 1 Then
' c2.IsInitialized
' '''''''''VERIFICAR EN QUE TABLA O EN QUE CAMPO NOS LEE LA VENTAS
' c2=skmt.ExecQuery("select HV_CLIENTE, HV_LONG, HV_LAT from PUNTEO_GPS where HV_CLIENTE IN (select CAT_CL_CODIGO from kmt_info where gestion = 2 AND CAT_CL_NOMBRE <>'VENTA ABORDO') AND HV_LONG IS NOT NULL AND HV_LAT IS NOT NULL AND HV_LONG <> 0 AND HV_LAT <> 0")
'
'
' 'c2=skmt.ExecQuery("select CAT_CL_CODIGO, CAT_CL_NOMBRE,CAT_CL_LONG,CAT_CL_LAT from kmt_info where gestion = 2 and CAT_CL_LAT is not null and CAT_CL_LONG is not null and CAT_CL_LAT <> 0 and CAT_CL_LONG <> 0 AND CAT_CL_NOMBRE <>'VENTA ABORDO' ")
' For i = 0 To c2.RowCount -1
' c2.Position = i
' LongitudRU = c2.GetDouble("HV_LONG")
' LatitudRu = c2.GetDouble("HV_LAT")
' CODIGO=c2.GetString("HV_CLIENTE")
' Cnom=skmt.ExecQuery2("select CAT_CL_CODIGO,CAT_CL_NOMBRE from kmt_info where CAT_CL_CODIGO = ? ",Array As String(CODIGO))
' Cnom.Position = 0
' Tienda= Cnom.GetString("CAT_CL_NOMBRE")
' MARK_VERDE = gmap.AddMarker2(LatitudRu,LongitudRU,CODIGO,gmap.HUE_GREEN)
' MARK_VERDE.Snippet = Tienda
'
' Next
'
' Else
' '''''''''VERIFICAR EN QUE TABLA O EN QUE CAMPO NOS LEE LA VENTAS--- ESTE VA IGUAL QUE EL ANTERIOR
' If verde =1 Or todos = 1 Then
' c2.IsInitialized
' c2=skmt.ExecQuery("select HV_CLIENTE, HV_LONG, HV_LAT from PUNTEO_GPS where HV_CLIENTE IN (select CAT_CL_CODIGO from kmt_info where gestion = 2 AND CAT_CL_NOMBRE <>'VENTA ABORDO') AND HV_LONG IS NOT NULL AND HV_LAT IS NOT NULL AND HV_LONG <> 0 AND HV_LAT <> 0")
'
'
' 'c2=skmt.ExecQuery("select CAT_CL_CODIGO, CAT_CL_NOMBRE,CAT_CL_LONG,CAT_CL_LAT from kmt_info where gestion = 2 and CAT_CL_LAT is not null and CAT_CL_LONG is not null and CAT_CL_LAT <> 0 and CAT_CL_LONG <> 0 AND CAT_CL_NOMBRE <>'VENTA ABORDO' ")
' For i = 0 To c2.RowCount -1
' c2.Position = i
' LongitudRU = c2.GetDouble("HV_LONG")
' LatitudRu = c2.GetDouble("HV_LAT")
' CODIGO=c2.GetString("HV_CLIENTE")
' Cnom=skmt.ExecQuery2("select CAT_CL_CODIGO,CAT_CL_NOMBRE from kmt_info where CAT_CL_CODIGO = ? ",Array As String(CODIGO))
' Cnom.Position = 0
' Tienda= Cnom.GetString("CAT_CL_NOMBRE")
' MARK_VERDE = gmap.AddMarker2(LatitudRu,LongitudRU,CODIGO,gmap.HUE_GREEN)
' MARK_VERDE.Snippet = Tienda
' Next
' c2 .Close
' LIST_VERDE.Add(MARK_VERDE)
' End If
' End If
'
'' '''''''----------------------------MARKER ROJO - NO VENTA
' '''''''''VERIFICAR EN QUE TABLA O EN QUE CAMPO NOS LEE LAS NO VENTAS
' If rojo =1 Or todos = 1 Then
' c3.IsInitialized
'
' c3=skmt.ExecQuery("select HV_CLIENTE, HV_LONG, HV_LAT from PUNTEO_GPS where HV_CLIENTE IN (select CAT_CL_CODIGO from kmt_info where gestion = 3 AND CAT_CL_NOMBRE <>'VENTA ABORDO') AND HV_LONG IS NOT NULL AND HV_LAT IS NOT NULL AND HV_LONG <> 0 AND HV_LAT <> 0")
'
' 'c3=skmt.ExecQuery("select CAT_CL_CODIGO, CAT_CL_NOMBRE,CAT_CL_LONG,CAT_CL_LAT from kmt_info where gestion = 3 and CAT_CL_LAT is not null and CAT_CL_LONG is not null and CAT_CL_LAT <> 0 and CAT_CL_LONG <> 0 AND CAT_CL_NOMBRE <>'VENTA ABORDO' ")
' For i = 0 To c3.RowCount -1
' c3.Position = i
' LongitudRU = c3.GetDouble("HV_LONG")
' LatitudRu = c3.GetDouble("HV_LAT")
' CODIGO=c3.GetString("HV_CLIENTE")
' Cnom=skmt.ExecQuery2("select CAT_CL_CODIGO,CAT_CL_NOMBRE from kmt_info where CAT_CL_CODIGO = ? ",Array As String(CODIGO))
' Cnom.Position = 0
' Tienda= Cnom.GetString("CAT_CL_NOMBRE")
' MARK_ROJO = gmap.AddMarker2(LatitudRu,LongitudRU,Tienda, gmap.HUE_RED)
' MARK_ROJO.Snippet = Tienda
' Next
'
' Else
' '''''''''VERIFICAR EN QUE TABLA O EN QUE CAMPO NOS LEE LAS NO VENTAS- ESTE VA IGUAL QUE EL ANTERIOR
' If rojo =1 Or todos = 1 Then
' c3.IsInitialized
'
' c3=skmt.ExecQuery("select HV_CLIENTE, HV_LONG, HV_LAT from PUNTEO_GPS where HV_CLIENTE IN (select CAT_CL_CODIGO from kmt_info where gestion = 3 AND CAT_CL_NOMBRE <>'VENTA ABORDO') AND HV_LONG IS NOT NULL AND HV_LAT IS NOT NULL AND HV_LONG <> 0 AND HV_LAT <> 0")
'
' For i = 0 To c3.RowCount -1
' c3.Position = i
' LongitudRU = c3.GetDouble("HV_LONG")
' LatitudRu = c3.GetDouble("HV_LAT")
' CODIGO=c3.GetString("HV_CLIENTE")
' Cnom=skmt.ExecQuery2("select CAT_CL_CODIGO,CAT_CL_NOMBRE from kmt_info where CAT_CL_CODIGO = ? ",Array As String(CODIGO))
' Cnom.Position = 0
' Tienda= Cnom.GetString("CAT_CL_NOMBRE")
' MARK_ROJO = gmap.AddMarker2(LatitudRu,LongitudRU,Tienda, gmap.HUE_RED)
' MARK_ROJO.Snippet = Tienda
' Next
' LIST_ROJO.Add(MARK_ROJO)
' c3.Close
' End If
' End If
' ''------------------------------
'
'' MARK_CEDIS = gmap.AddMarker3("19.3961802","-99.0784293","CEDIS", LoadBitmap(File.DirAssets, "marker-azul-0.png"))
'' If MARK_VERDE.Visible Or MARK_ROJO.Visible Then
'' MARK_CEDIS.Remove
'' End If
Dim aa As CameraPosition
aa.Initialize(Starter.latitud,Starter.longitud,17)''' RECOMENDABLE CAMBIAR A 10 PARA QUE SE VEAN MAS MARCADORES
gmap.AnimateCamera(aa)
EditText1.Text= Starter.latitud
EditText2.Text= Starter.longitud
'''''---------------------- ESTO ES PARA LOS CLICK EN LAS VENTANAS DE INFORMACION-----------
Dim OnInfoWindowClickListener1 As OnInfoWindowClickListener
OnInfoWindowClickListener1.Initialize("OnInfoWindowClickListener1")
GoogleMapEXTRA.SetOnInfoWindowClickListener(gmap, OnInfoWindowClickListener1)
End Sub
Sub OnInfoWindowClickListener1_click(Marker1 As Marker)
' skmt.ExecNonQuery("delete from CUENTAA")
' skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?) ", Array As Object(Marker1.Title))
' StartActivity(fila)
End Sub
Sub GPS_LocationChanged (Parametro As Location)
MARK_CEDIS.IsInitialized
' Dim sp As Int
' sp = Ceil(Parametro.Speed * 3.6)
' boton1.Text = sp &" "&"km/h"
' Latitud = Parametro.Latitude
' Longitud = Parametro.Longitude
' p2.Initialize2(Latitud,Longitud)
' p1.Initialize2(Lat2, Lon2)
' Distance = p1.DistanceTo(p2)
' If Latitud <> 0 And Longitud <> 0 Then
' If Distance > 10 Then
' Lat2 = Latitud
' Lon2 = Longitud
' Dim cp As CameraPosition
' cp.Initialize2(Parametro.Latitude, Parametro.Longitude, gmap.CameraPosition.Zoom, Parametro.Bearing, 0)
' gmap.AnimateCamera(cp)
' End If
' End If
End Sub
Sub Activity_Resume
If GPS.GPSEnabled = False Then
ToastMessageShow("Debe Activar el GPS del Equipo.", True)
StartActivity(GPS.LocationSettingsIntent)
Else
GPS.Start(0, 0)
End If
End Sub
Sub Activity_Pause (UserClosed As Boolean)
GPS.Stop
End Sub
'Sub B_TODOS_Click
' todos =1
' verde = 0
' azul = 0
' rojo = 0
'
' MapFragment1_Ready
'
'End Sub
'
'Sub B_VERDE_Click
' verde = 1
' azul = 0
' rojo = 0
' todos = 0
' gmap.Clear
' MapFragment1_Ready
'
'End Sub
'
'Sub B_ROJO_Click
' rojo = 1
' verde = 0
' azul = 0
' todos = 0
' gmap.Clear
'
' MapFragment1_Ready
'
'End Sub
'
'Sub B_AZUL_Click
' azul = 1
' verde = 0
' rojo = 0
' todos = 0
' gmap.Clear
'
' MapFragment1_Ready
'
'End Sub

View File

@@ -14,7 +14,7 @@ Sub Process_Globals
'These variables can be accessed from all modules.
Public rp As RuntimePermissions
Dim reqManager As DBRequestManager
Dim DBReqServer As String = "http://keymon.lat:1783" '"http://keymon.lat:1782" "http://10.0.0.205:1782" ""' CAMBIAR HACIA AFUERA O DENTRO DE LA OFNA
Dim DBReqServer As String = "http://keymon.net:1783" '"http://keymon.lat:1782" "http://10.0.0.205:1782" ""' CAMBIAR HACIA AFUERA O DENTRO DE LA OFNA
Dim rutaBD As String = File.DirInternal
Dim skmt As SQL
Dim almacen As String
@@ -39,9 +39,6 @@ Sub Process_Globals
Dim horacomin As String
Dim horacomout As String
Dim trabaja As Int
'Para los Logs
Dim logs As StringBuilder
Private logcat As LogCat
End Sub
Sub Service_Create
@@ -64,19 +61,8 @@ Sub Service_TaskRemoved
Timer1.Enabled = False
End Sub
'Return true to allow the OS default exceptions handler to handle the uncaught exception. 'Para los Logs
'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
'wait for 500ms to allow the logs to be updated.
Log(">>>>>>>>> ERROR")
Dim jo As JavaObject
Dim l As Long = 500: jo.InitializeStatic("java.lang.Thread").RunMethod("sleep", Array(l)) 'Sleep 500ms
logcat.LogCatStop
logs.Initialize
logs.Append(Application.LabelName & " Ver " & Application.VersionName & CRLF)
logs.Append(StackTrace)
Subs.revisaBD
Subs.errorLog.ExecNonQuery2("INSERT INTO errores(fecha, error) VALUES (?,?)", Array As Object (Subs.fechaKMT(DateTime.now), logs))
StartActivity(errorManager)
Return True
End Sub
@@ -84,6 +70,7 @@ Sub Service_Destroy
End Sub
Private Sub Timer1_Tick
' ToastMessageShow("Timer",False)
' If logger Then Log("Siguiente actuaizacion " & DateTime.Time(DateTime.Now + Interval * 1000))
@@ -114,8 +101,8 @@ Sub ENVIA_ULTIMA_GPS 'ignore
If bateria = 0 Then bateria = 100
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "insert_ubicaprom_GABICO"
cmd.Parameters = Array As Object(sDate &" " &sTime, B4XPages.MainPage.login.user, latitud,longitud,B4XPages.MainPage.principal.bateria,almacen,B4XPages.MainPage.login.nom_proyec,B4XPages.MainPage.login.sucursal,B4XPages.MainPage.login.suc_nom)
cmd.Name = "insert_ubicaprom_GABICO_2"
cmd.Parameters = Array As Object(sDate &" " &sTime, B4XPages.MainPage.login.user, latitud,longitud,B4XPages.MainPage.principal.bateria,almacen,B4XPages.MainPage.login.nom_proyec,B4XPages.MainPage.login.sucursal,B4XPages.MainPage.login.suc_nom,Application.VersionName,B4XPages.MainPage.login.tipoenvio)
' cmd.Parameters = Array As Object(sDate &" " &sTime, " ", latitud,longitud," ",almacen," "," "," ")
reqManager.ExecuteCommand(cmd,"inst_GESTION_GPS")

View File

@@ -9,7 +9,7 @@ Version=11.8
Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
Dim errorLog As SQL 'Requiere la libreria "SQL"
End Sub
Sub revisaBD 'ignore
@@ -23,24 +23,6 @@ Sub revisaBD 'ignore
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_SUPERVISOR(HIST_CHKS_PROYECTO TEXT, HIST_CHKS_NOMPROY TEXT, HIST_CHKS_SUCURSAL TEXT,HIST_CHKS_FORMATO TEXT, HIST_CHKS_SUPERVISOR TEXT, HIST_CHKS_PROMOTOR TEXT, HIST_CHKS_FECHA TEXT, HIST_CHKS_ID TEXT, HIST_CHKS_CALIF_MULTIPLE TEXT, HIST_CHKS_CALIF_ABIERTA TEXT, HIST_CHKS_HORARIO TEXT, ENVIADO INT)")
' Starter.skmt.ExecNonQuery("DROP TABLE IF EXISTS HIST_SUPERVISOR")
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS trabaja(sitrabaja TEXT)")
If Not(errorLog.IsInitialized) Then errorLog.Initialize(File.DirInternal, "errorLog.db", True)
errorLog.ExecNonQuery("CREATE TABLE IF NOT EXISTS errores(fecha INTEGER, error TEXT)")
End Sub
'Limpiamos la tabla errorLog de la BD
Sub deleteErrorLog_DB 'ignore
errorLog.ExecNonQuery("delete from errores")
errorLog.ExecNonQuery("vacuum;")
ToastMessageShow("BD Errores Borrada", False)
End Sub
'Borramos renglones extra de la tabla de errores
Sub borraArribaDe100Errores 'ignore
revisaBD
LogColor("Borramos BD de log", Colors.Magenta)
errorLog.ExecNonQuery("DELETE FROM errores WHERE fecha NOT in (SELECT fecha FROM errores ORDER BY fecha desc LIMIT 99 )")
errorLog.ExecNonQuery("vacuum;")
Log("Borramos mas de 100 de errorLog")
End Sub
'Genera una notificacion con importancia alta
@@ -69,12 +51,6 @@ Sub notiLowReturn(title As String, Body As String, id As Int) As Notification 'i
notification.Notify(id)
' Log("notiLowReturn SetInfo")
Return notification
' java.lang.SecurityException: Starting FGS with Type location callerApp=ProcessRecord{d39abd3 32668:gabinete.keymon.lat/u0a261}
' targetSDK=34 requires permissions: all of the permissions allOf=True [android.permission.FOREGROUND_SERVICE_LOCATION]
' any of the permissions allOf=False [android.permission.ACCESS_COARSE_LOCATION, android.permission.ACCESS_FINE_LOCATION]
' And the app must be in the eligible state/exemptions To access the foreground only permission
End Sub
Sub IsConnectedToInternet As Boolean 'ignore
@@ -88,15 +64,4 @@ Sub IsConnectedToInternet As Boolean 'ignore
End If
' If logger Then LogColor("Not connected", Colors.red)
Return False
End Sub
'Convierte una fecha al formato yyMMddHHmmss
Sub fechaKMT(fecha As String) As String 'ignore
' Log(fecha)
Dim OrigFormat As String = DateTime.DateFormat 'save orig date format
DateTime.DateFormat="yyMMddHHmmss"
Dim nuevaFecha As String=DateTime.Date(fecha)
DateTime.DateFormat=OrigFormat 'return to orig date format
' Log(nuevaFecha)
Return nuevaFecha
End Sub

View File

@@ -58,8 +58,8 @@ Sub Service_Create
End Sub
Sub flp_ConnectionSuccess
' If logger Then Log("Connected to location provider")
'FLP.GetLastKnownLocation
If logger Then Log("Connected to location provider")
FLP.GetLastKnownLocation
End Sub
Sub flp_ConnectionFailed(ConnectionResult1 As Int)

View File

@@ -1,167 +0,0 @@
B4A=true
Group=Default Group
ModulesStructureVersion=1
Type=Activity
Version=10.2
@EndOfDesignText@
#Region Activity Attributes
#FullScreen: False
#IncludeTitle: True
#End Region
'******************************************************************************
'Este modulo intercepta los errores de la aplicación mediante "Starter.Application_Error" y muestra una pantalla
'con el log del error y lo manda al servidor con un query de DBRequestManager, se necesita que exista el query
'en el "config.properties" llamado "guardaErrores" y que tenga el siguiente texto:
'
'sql.guardaErrores=INSERT INTO KELLOGGS.PUSH_INFO (ID, RUTA, FECHA, DATOS) VALUES((?),(?),(?),(?))
'
'Agregar estas lineas a "Starter.Process_Globals"
' 'Para los Logs
' Dim logs As StringBuilder
' Private logcat As LogCat
'
'Agregar estas lineas a "Starter.Service_Create"
' 'Para los Logs
' #if RELEASE
' logcat.LogCatStart(Array As String("-v","raw","*:F","B4A:v"), "logcat")
' #end if
' logs.Initialize
'
'Agregar este Sub a "Starter"
'
'Return true to allow the OS default exceptions handler to handle the uncaught exception. 'Para los Logs
'Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
' 'wait for 500ms to allow the logs to be updated.
' Dim jo As JavaObject
' Dim l As Long = 500: jo.InitializeStatic("java.lang.Thread").RunMethod("sleep", Array(l)) 'Sleep 500ms
' logcat.LogCatStop
' logs.Append(StackTrace)
' Subs.revisaBD
' Subs.errorLog.ExecNonQuery2("INSERT INTO errores(fecha, error) VALUES (?,?)", Array As Object (Subs.fechaKMT(DateTime.now), logs))
' StartActivity(errorManager)
' Return True
'End Sub
'******************************************************************************
Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
End Sub
Sub Globals
'These global variables will be redeclared each time the activity is created.
'These variables can only be accessed from this module.
' Dim errorLog As SQL
Dim c As Cursor
Private p_principal As Panel
Private l_titulo As Label
Private svScroll As ScrollView
Private etText As EditText
Private c_continuar As Button
Private p_botones As Panel
Private b_salir As Button
End Sub
Sub Activity_Create(FirstTime As Boolean)
'Do not forget to load the layout file created with the visual designer. For example:
Activity.LoadLayout("errorManager")
End Sub
Sub Activity_Resume
Dim elError As String = ""
Dim laFecha As String = ""
' svScroll.Initialize(500dip)
' Activity.AddView(svScroll, 0, 300, 100%x, 80%y)
p_principal.Height = Activity.Height
p_principal.Width = Activity.Width
svScroll.Width = Round(p_principal.Width * 0.9)
svScroll.Left = Round(p_principal.Width/2)-Round(svScroll.Width/2)
p_botones.Left = Round(p_principal.Width/2)-Round(p_botones.Width/2)
p_botones.Top = Activity.Height - (p_botones.Height + 80)
etText.Initialize("")
svScroll.Panel.AddView(etText, 0, 0, 90%x, 80%y)
etText.InputType = etText.INPUT_TYPE_NONE
etText.Gravity = Gravity.TOP
etText.SingleLine = False
etText.Wrap = False
' Dim lblText, edtText As StringBuilder
Dim lbl As Label
lbl.Initialize("")
Activity.AddView(lbl, 0, 300, 100%x, 100%y) 'ignore
etText.Text = ""
Subs.revisaBD
c = Subs.errorLog.ExecQuery("select * from errores order by fecha desc limit 1")
If c.RowCount > 0 Then
c.Position = 0
elError = c.GetString("error")
laFecha = c.GetString("fecha")
etText.Text = elError
End If
c.Close
Dim usuario As String = "XXXXX"
' c = Starter.skmt.ExecQuery("select usuario from usuarioa")
' If c.RowCount > 0 Then
' c.Position = 0
' usuario = c.GetString("USUARIO")
' End If
' Log("++++++" & Starter.logsStr)
' etText.Text = etText.Text & Starter.logsStr
' lbl.TextSize = etText.TextSize
' lbl.Text = etText.Text
' Dim su As StringUtils
' Dim edheight As Int = su.MeasureMultilineTextHeight(lbl, lbl.Text)
' lbl.RemoveView
' etText.Height = edheight
' svScroll.Panel.Height = edheight
svScroll.Height = Round(Activity.Height * 0.9)
' Log(edheight)
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "guardaErrores"
cmd.Parameters = Array As Object(laFecha, usuario, laFecha, elError)
Log($"Mandamos: ${Subs.fechaKMT(DateTime.Now)}, |${usuario}|, ${Subs.fechaKMT(DateTime.Now)}"$)
Starter.reqManager.ExecuteCommand(cmd,"guardaErrores")
End Sub
Sub Activity_Pause (UserClosed As Boolean)
End Sub
Sub JobDone(Job As HttpJob)
Log("errorManager - JobDone")
If Job.Success = False Then
ToastMessageShow("Error: " & Job.ErrorMessage, True)
Else
LogColor("JobDone: '" & Starter.reqManager.HandleJob(Job).tag & "' - Registros: " & Starter.reqManager.HandleJob(Job).Rows.Size, Colors.Green) 'Mod por CHV - 211110
If Job.JobName = "DBRequest" Then
Dim result As DBResult = Starter.reqManager.HandleJob(Job)
If result.Tag = "guardaErrores" Then 'query tag
For Each records() As Object In result.Rows
For Each k As String In result.Columns.Keys
Log("GuardaErrores: " & k & ": " & records(result.Columns.Get(k)))
Next
Next
End If
End If
End If
Job.Release
End Sub
Private Sub c_continuar_Click
' Subs.iniciaActividad("Principal")
' B4XPages.ShowPage("Principal")
End Sub
Private Sub b_salir_Click
cierraActividades
End Sub
Sub cierraActividades
Log("closing activities")
Dim jo As JavaObject
jo.InitializeContext
jo.RunMethod("finishAffinity", Null)
End Sub

View File

@@ -39,7 +39,8 @@ Sub Class_Globals
Dim horacomout As String
Private p_adorno As Panel
Private l_version As Label
Public rp As RuntimePermissions
Dim tipoenvio As String
End Sub
'You can add more parameters here.
@@ -58,6 +59,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
End Sub
Sub B4XPage_Appear
If Starter.muestraProgreso = 1 Then
muestraProgreso("Descargando actualización")
Starter.muestraProgreso = 0
@@ -68,7 +70,7 @@ Sub B4XPage_Appear
p_adorno.Width = Root.Width * 0.85
p_adorno.Height = Root.Height * 0.80
Log("inicio1")
' StartService(Tracker)
StartService(Tracker)
Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_ACCESS_FINE_LOCATION)
Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean)
If Result Then
@@ -78,7 +80,8 @@ Sub B4XPage_Appear
ToastMessageShow("Sin permisos para GPS", True)
End If
Log(Result)
Log("latitud " &Starter.latitud)
Log("longitud " &Starter.longitud)
' Dim p As Period
' p.Days = 0
' p.Hours = 0
@@ -102,6 +105,8 @@ Sub B4XPage_Appear
' Else If EsDomingo(newDate) Then
' Log("¡Hoy es Domingo!")
' End If
Log(Starter.latitud)
Log(Starter.longitud)
End Sub
Private Sub b_inicio_Click
@@ -119,10 +124,6 @@ Private Sub b_inicio_Click
' B4XPages.ShowPage ("Principal")
End Sub
Private Sub b_inicio_LongClick
Private X As Int = "A"
End Sub
Sub JobDone (Job As HttpJob)
If Job.Success = False Then
ToastMessageShow("Error: " & Job.ErrorMessage, True)
@@ -134,7 +135,7 @@ Sub JobDone (Job As HttpJob)
If result.Tag = "usuario" Then 'query tag
For Each records() As Object In result.Rows
For Each k As String In result.Columns.Keys
' Log(result.Tag & ": " & k & ": " & records(result.Columns.Get(k)))
Log(result.Tag & ": " & k & ": " & records(result.Columns.Get(k)))
Next
If records(result.Columns.Get ("USUARIO")) = "OKActivo" Then
Starter.almacen = records(result.Columns.Get ("CAT_LO_AGENCIA"))
@@ -173,23 +174,28 @@ Sub JobDone (Job As HttpJob)
Log(Starter.trabaja)
If Starter.trabaja = 1 Then
If perfil = 3 Then
tipoenvio = "Ingreso"
CallSubDelayed(Starter,"ENVIA_ULTIMA_GPS")
B4XPages.ShowPage("Principal")
' Log("AQUI ANDO")
Log("AQUI ANDO")
Else If perfil = 2 Then
tipoenvio = "Ingreso"
CallSubDelayed(Starter,"ENVIA_ULTIMA_GPS")
' Log("AQUI ACA")
Log("AQUI ACA")
B4XPages.ShowPage("Supervisor")
End If
Else If Starter.trabaja = 0 Then
B4XPages.ShowPage("Principal")
MsgboxAsync("Hoy es día de descanso","Atención")
End If
Next
' ToastMessageShow(" Historico Clientes Promociones Actualizado." , True)
End If
End If
End If
End Sub
Private Sub B4XPage_CloseRequest As ResumableSub
@@ -198,6 +204,7 @@ Private Sub B4XPage_CloseRequest As ResumableSub
Else
B4XPages.ShowPage("login")
End If
' Return True
Return False
End Sub
@@ -205,10 +212,12 @@ End Sub
Private Sub ImageView5_Click
p_configuracion.Visible = True
lv_server.Clear
lv_server.AddSingleLine("http://keymon.lat:1783")
lv_server.AddSingleLine("http://keymon.net:1783")
If et_user.Text = "KMTS1" Then lv_server.AddSingleLine("http://11.0.0.196:1783")
' l_server.Text = Starter.server
et_server.Text = Starter.DBReqServer
Log("latitud " &Starter.latitud)
Log("longitud " &Starter.longitud)
End Sub
Private Sub p_configuracion_Click
@@ -285,108 +294,10 @@ Sub notiLowReturn(title As String, Body As String, id As Int) As Notification 'i
Return notification
End Sub
'' Función para verificar si la fecha actual es un lunes
'Sub EsLunes(fecha As Long) As Boolean
' ' Crear un objeto Calendar
' Dim cal As JavaObject
' cal.InitializeNewInstance("java.util.GregorianCalendar", Null)
'
' ' Establecer la fecha actual en el objeto Calendar
' cal.RunMethod("setTimeInMillis", Array(fecha))
'
' ' Obtener el día de la semana (1 para domingo, 2 para lunes, ..., 7 para sábado)
' Dim diaSemana As Int = cal.RunMethod("get", Array(7))
'
' ' Verificar si es lunes (día de la semana = 2)
' Return diaSemana = 2
'End Sub
'
'Sub EsMartes(fecha As Long) As Boolean
' ' Crear un objeto Calendar
' Dim cal As JavaObject
' cal.InitializeNewInstance("java.util.GregorianCalendar", Null)
'
' ' Establecer la fecha actual en el objeto Calendar
' cal.RunMethod("setTimeInMillis", Array(fecha))
'
' ' Obtener el día de la semana (1 para domingo, 2 para lunes, ..., 7 para sábado)
' Dim diaSemana As Int = cal.RunMethod("get", Array(7))
'
' ' Verificar si es lunes (día de la semana = 2)
' Return diaSemana = 3
'End Sub
'
'Sub EsMiercoles(fecha As Long) As Boolean
' ' Crear un objeto Calendar
' Dim cal As JavaObject
' cal.InitializeNewInstance("java.util.GregorianCalendar", Null)
'
' ' Establecer la fecha actual en el objeto Calendar
' cal.RunMethod("setTimeInMillis", Array(fecha))
'
' ' Obtener el día de la semana (1 para domingo, 2 para lunes, ..., 7 para sábado)
' Dim diaSemana As Int = cal.RunMethod("get", Array(7))
'
' ' Verificar si es lunes (día de la semana = 2)
' Return diaSemana = 4
'End Sub
'
'Sub Esjueves(fecha As Long) As Boolean
' ' Crear un objeto Calendar
' Dim cal As JavaObject
' cal.InitializeNewInstance("java.util.GregorianCalendar", Null)
'
' ' Establecer la fecha actual en el objeto Calendar
' cal.RunMethod("setTimeInMillis", Array(fecha))
'
' ' Obtener el día de la semana (1 para domingo, 2 para lunes, ..., 7 para sábado)
' Dim diaSemana As Int = cal.RunMethod("get", Array(7))
'
' ' Verificar si es lunes (día de la semana = 2)
' Return diaSemana = 5
'End Sub
'
'Sub Esviernes(fecha As Long) As Boolean
' ' Crear un objeto Calendar
' Dim cal As JavaObject
' cal.InitializeNewInstance("java.util.GregorianCalendar", Null)
'
' ' Establecer la fecha actual en el objeto Calendar
' cal.RunMethod("setTimeInMillis", Array(fecha))
'
' ' Obtener el día de la semana (1 para domingo, 2 para lunes, ..., 7 para sábado)
' Dim diaSemana As Int = cal.RunMethod("get", Array(7))
'
' ' Verificar si es lunes (día de la semana = 2)
' Return diaSemana = 6
'End Sub
'
'Sub Essabado(fecha As Long) As Boolean
' ' Crear un objeto Calendar
' Dim cal As JavaObject
' cal.InitializeNewInstance("java.util.GregorianCalendar", Null)
'
' ' Establecer la fecha actual en el objeto Calendar
' cal.RunMethod("setTimeInMillis", Array(fecha))
'
' ' Obtener el día de la semana (1 para domingo, 2 para lunes, ..., 7 para sábado)
' Dim diaSemana As Int = cal.RunMethod("get", Array(7))
'
' ' Verificar si es lunes (día de la semana = 2)
' Return diaSemana = 7
'End Sub
'
'Sub EsDomingo(fecha As Long) As Boolean
' ' Crear un objeto Calendar
' Dim cal As JavaObject
' cal.InitializeNewInstance("java.util.GregorianCalendar", Null)
'
' ' Establecer la fecha actual en el objeto Calendar
' cal.RunMethod("setTimeInMillis", Array(fecha))
'
' ' Obtener el día de la semana (1 para domingo, 2 para lunes, ..., 7 para sábado)
' Dim diaSemana As Int = cal.RunMethod("get", Array(7))
'
' ' Verificar si es lunes (día de la semana = 2)
' Return diaSemana = 1
'End Sub
Private Sub b_cambiaubi_Click
rp.CheckAndRequest(rp.PERMISSION_ACCESS_FINE_LOCATION)
Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean)
If Result Then
StartActivity(MAPA_RUTAS)
End If
End Sub