mirror of
https://github.com/KeymonSoft/Kelloggs_v4.git
synced 2026-04-18 10:39:16 +00:00
291 lines
9.0 KiB
QBasic
291 lines
9.0 KiB
QBasic
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
|
|
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 String
|
|
Dim LongitudRU As String
|
|
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
|
|
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
|
|
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=Starter.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=Starter.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 Activity_Resume
|
|
If GPS.GPSEnabled = False Then
|
|
ToastMessageShow("Debe Activar el GPS del Equipo.", True)
|
|
StartActivity(GPS.LocationSettingsIntent)
|
|
Else
|
|
GPS.Start(19.4316281, -99.1333579)
|
|
End If
|
|
' Subs.ultimaActividad(Me)
|
|
End Sub
|
|
|
|
Sub MapFragment1_Ready
|
|
gmap = MapFragment1.GetMap
|
|
LongitudRU = 19.4316281
|
|
LatitudRU = -99.1333579
|
|
|
|
' 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
|
|
c=Starter.skmt.ExecQuery2("select CAT_CL_CODIGO,CAT_CL_NOMBRE,CAT_CL_LONG,CAT_CL_LAT,CAT_CL_NUM_SERIEFISICO from kmt_info where CAT_CL_NOMBRE <>'VENTA ABORDO' AND CAT_CL_CODIGO NOT IN (Select PE_CLIENTE from PEDIDO) AND CAT_CL_CODIGO NOT In (Select NV_CLIENTE from NOVENTA) AND CAT_CL_CODIGO NOT LIKE 'N%' and CAT_CL_DIAS_VISITA = (SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = 'DIA_VISITA') and cat_cl_codigo <> 0 AND CAT_CL_TIPO_RUTA IN (?,?) ORDER BY CAT_CL_NUM_SERIEFISICO", Array As String(SEMANA, "SEMANAL"))
|
|
' skmt.Initialize(ruta,"kmt.db", True)
|
|
Log($"Por visitar = ${c.RowCount}"$)
|
|
If c.RowCount > 0 Then
|
|
For i = 0 To c.RowCount -1
|
|
c.Position = i
|
|
LongitudRU = c.GetDouble("CAT_CL_LONG")
|
|
LatitudRU = c.GetDouble("CAT_CL_LAT")
|
|
CODIGO=c.GetString("CAT_CL_CODIGO")
|
|
Tienda= c.GetString("CAT_CL_NOMBRE")
|
|
NumSerie=c.GetInt("CAT_CL_NUM_SERIEFISICO")
|
|
'MARK_AZUL = gmap.AddMarker2(LongitudRU,LatitudRu,Tienda, gmap.HUE_BLUE)
|
|
MARK_AZUL = gmap.AddMarker3(LatitudRU, LongitudRU, CODIGO, LoadBitmap(File.DirAssets, "marker-azul-" & NumSerie &".png"))
|
|
MARK_AZUL.Snippet = Tienda
|
|
Next
|
|
c .Close
|
|
If MARK_AZUL.IsInitialized Then LIST_AZUL.Add(MARK_AZUL)
|
|
End If
|
|
End If
|
|
|
|
'''''''---------------------------- MARKER VERDE - VENTA
|
|
If verde = 1 Or todos = 1 Then
|
|
c2.IsInitialized
|
|
c2=Starter.skmt.ExecQuery("select CAT_CL_CODIGO, CAT_CL_NOMBRE,CAT_CL_LONG,CAT_CL_LAT,CAT_CL_NUM_SERIEFISICO from kmt_info WHERE CAT_CL_NOMBRE <>'VENTA ABORDO' AND CAT_CL_CODIGO IN (Select PE_CLIENTE from PEDIDO) AND CAT_CL_CODIGO NOT In (Select NV_CLIENTE from NOVENTA) and CAT_CL_DIAS_VISITA = (SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = 'DIA_VISITA')")
|
|
Log($"Con ventar = ${c2.RowCount}"$)
|
|
For i = 0 To c2.RowCount -1
|
|
c2.Position = i
|
|
LongitudRU = c2.GetDouble("CAT_CL_LONG")
|
|
LatitudRU = c2.GetDouble("CAT_CL_LAT")
|
|
CODIGO=c2.GetString("CAT_CL_CODIGO")
|
|
Tienda= c2.GetString("CAT_CL_NOMBRE")
|
|
NumSerie=c2.GetInt("CAT_CL_NUM_SERIEFISICO")
|
|
MARK_VERDE = gmap.AddMarker3(LatitudRU,LongitudRU,CODIGO, LoadBitmap(File.DirAssets, "marker-verde-"&NumSerie&".png"))
|
|
MARK_VERDE.Snippet = Tienda
|
|
Next
|
|
c2 .Close
|
|
End If
|
|
|
|
'''''''---------------------------- MARKER ROJO - NO VENTA
|
|
|
|
If rojo =1 Or todos = 1 Then
|
|
c3.IsInitialized
|
|
c3=Starter.skmt.ExecQuery("select CAT_CL_CODIGO, CAT_CL_NOMBRE,CAT_CL_LONG,CAT_CL_LAT ,CAT_CL_NUM_SERIEFISICO from kmt_info where CAT_CL_NOMBRE <>'VENTA ABORDO' AND CAT_CL_CODIGO In (Select NV_CLIENTE from NOVENTA ) AND CAT_CL_CODIGO NOT IN (Select PE_CLIENTE from PEDIDO) and CAT_CL_DIAS_VISITA = (SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = 'DIA_VISITA')order by CAT_CL_NUM_SERIEFISICO")
|
|
Log($"Sin venta = ${c3.RowCount}"$)
|
|
For i = 0 To c3.RowCount -1
|
|
c3.Position = i
|
|
LongitudRU = c3.GetDouble("CAT_CL_LONG")
|
|
LatitudRU = c3.GetDouble("CAT_CL_LAT")
|
|
CODIGO=c3.GetString("CAT_CL_CODIGO")
|
|
Tienda= c3.GetString("CAT_CL_NOMBRE")
|
|
NumSerie=c3.GetInt("CAT_CL_NUM_SERIEFISICO")
|
|
MARK_ROJO = gmap.AddMarker3(LatitudRU,LongitudRU,CODIGO, LoadBitmap(File.DirAssets, "marker-rojo-" & NumSerie &".png"))
|
|
MARK_ROJO.Snippet = Tienda
|
|
Next
|
|
c3.Close
|
|
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
|
|
If LatitudRU > -1 Then
|
|
LongitudRU = 19.4316281
|
|
LatitudRU = -99.1333579
|
|
End If
|
|
Dim aa As CameraPosition
|
|
aa.Initialize(LongitudRU,LatitudRU,10)''' RECOMENDABLE CAMBIAR A 10 PARA QUE SE VEAN MAS MARCADORES
|
|
gmap.AnimateCamera(aa)
|
|
|
|
'''''---------------------- ESTO ES PARA LOS CLICK EN LAS VENTANAS DE INFORMACION-----------
|
|
Dim OnInfoWindowClickListener1 As OnInfoWindowClickListener
|
|
OnInfoWindowClickListener1.Initialize("OnInfoWindowClickListener1")
|
|
GoogleMapEXTRA.SetOnInfoWindowClickListener(gmap, OnInfoWindowClickListener1)
|
|
End Sub
|
|
'
|
|
''''-------------------------- PRUEBA CON MARKER _CLICK
|
|
|
|
Sub OnInfoWindowClickListener1_click(Marker1 As Marker)
|
|
Starter.skmt.ExecNonQuery("delete from CUENTAA")
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?) ", Array As Object(Marker1.Title))
|
|
Activity.Finish
|
|
Subs.iniciaActividad("Cliente")
|
|
End Sub
|
|
|
|
Sub GPS_LocationChanged (Parametro As Location)
|
|
gmap = MapFragment1.GetMap
|
|
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_Pause (UserClosed As Boolean)
|
|
GPS.Stop
|
|
End Sub
|
|
|
|
Sub B_TODOS_Click
|
|
todos = 1
|
|
verde = 0
|
|
azul = 0
|
|
rojo = 0
|
|
If gmap.IsInitialized Then gmap.Clear
|
|
MapFragment1_Ready
|
|
End Sub
|
|
|
|
Sub B_VERDE_Click
|
|
verde = 1
|
|
azul = 0
|
|
rojo = 0
|
|
todos = 0
|
|
If gmap.IsInitialized Then gmap.Clear
|
|
MapFragment1_Ready
|
|
End Sub
|
|
|
|
Sub B_ROJO_Click
|
|
rojo = 1
|
|
verde = 0
|
|
azul = 0
|
|
todos = 0
|
|
If gmap.IsInitialized Then gmap.Clear
|
|
MapFragment1_Ready
|
|
End Sub
|
|
|
|
Sub B_AZUL_Click
|
|
azul = 1
|
|
verde = 0
|
|
rojo = 0
|
|
todos = 0
|
|
If gmap.IsInitialized Then gmap.Clear
|
|
MapFragment1_Ready
|
|
End Sub
|
|
|
|
Sub Activity_KeyPress (key As Int) As Boolean 'ignore
|
|
' BACK key pressed
|
|
If key=KeyCodes.KEYCODE_BACK Then
|
|
Subs.iniciaActividad("Principal")
|
|
Return False
|
|
'End If
|
|
End If
|
|
' Returning False signals the system to handle the key
|
|
End Sub |