Files
Durakelo_Reparto/Durakelo_reparto.b4a
Jose Alberto Guerra Ugalde d5b9c5f2db - VERSION 5.03.15
- Se agregó a la pantalla de registro, el engrane y la funcionalidad de envío de base de datos.
2025-03-16 13:35:56 -06:00

405 lines
14 KiB
Plaintext

Build1=Default,dreparto.keymon.com.mx
File1=1.bal
File10=fondo_kmt.jpg
File11=foto.bal
File12=guardagestion.bal
File13=guna_viejo.png
File14=info_gral.bal
File15=infonavit1.jpg
File16=itembuttonblue.png
File17=keymon_logo.png
File18=kmt.db
File19=login.bal
File2=alert2.png
File20=LOGO SANFER.jpg
File21=logo_exitus1.jpg
File22=Malo.jpg
File23=mapa.bal
File24=mapa_rutas.bal
File25=nopago.bal
File26=nuevocliente.bal
File27=pedido.bal
File28=planfia_logo.png
File29=planfia_logo_old.png
File3=alerta.jpg
File30=planfia_logo_old2.png
File31=seleccion.bal
File32=sync.png
File33=tarjeta.bal
File34=telefonos.bal
File4=buscar.bal
File5=detalle_promo.bal
File6=durakelo1.png
File7=engrane.jpg
File8=engrane.png
File9=fila.bal
FileGroup1=Default Group
FileGroup10=Default Group
FileGroup11=Default Group
FileGroup12=Default Group
FileGroup13=Default Group
FileGroup14=Default Group
FileGroup15=Default Group
FileGroup16=Default Group
FileGroup17=Default Group
FileGroup18=Default Group
FileGroup19=Default Group
FileGroup2=Default Group
FileGroup20=Default Group
FileGroup21=Default Group
FileGroup22=Default Group
FileGroup23=Default Group
FileGroup24=Default Group
FileGroup25=Default Group
FileGroup26=Default Group
FileGroup27=Default Group
FileGroup28=Default Group
FileGroup29=Default Group
FileGroup3=Default Group
FileGroup30=Default Group
FileGroup31=Default Group
FileGroup32=Default Group
FileGroup33=Default Group
FileGroup34=Default Group
FileGroup4=Default Group
FileGroup5=Default Group
FileGroup6=Default Group
FileGroup7=Default Group
FileGroup8=Default Group
FileGroup9=Default Group
Group=Default Group
Library1=baqrcode
Library10=gps
Library11=ime
Library12=javaobject
Library13=okhttputils2
Library14=phone
Library15=randomaccessfile
Library16=reflection
Library17=runtimepermissions
Library18=serial
Library19=sql
Library2=batteryprogressview
Library20=togglelibrary
Library21=zxing_scanner
Library22=fileprovider
Library3=bitmapcreator
Library4=byteconverter
Library5=camera
Library6=core
Library7=fusedlocationprovider
Library8=googlemaps
Library9=googlemapsextras
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: http://www.basic4ppc.com/forum/showthread.php?p=78136~\n~AddManifestText(~\n~<uses-sdk android:minSdkVersion="4" android:targetSdkVersion="28"/>~\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~AddApplicationText(<activity android:name="com.google.zxing.client.android.CaptureActivity"~\n~android:screenOrientation="landscape" ~\n~android:configChanges="orientation|keyboardHidden"~\n~android:theme="@android:style/Theme.NoTitleBar.Fullscreen"~\n~android:windowSoftInputMode="stateAlwaysHidden">~\n~</activity>)~\n~AddManifestText(~\n~<uses-permission~\n~ android:name="android.permission.READ_PHONE_STATE"~\n~ android:maxSdkVersion="19" />~\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.WRITE_EXTERNAL_STORAGE"~\n~ android:maxSdkVersion="19" />~\n~)~\n~'''' para el teclado~\n~ SetActivityAttribute(main, android:windowSoftInputMode, adjustResize|stateHidden)~\n~SetServiceAttribute(Tracker, android:foregroundServiceType, "location")~\n~~\n~SetApplicationAttribute(android:usesCleartextTraffic, "true")~\n~'Si al cargar un mapa de google manda este error "java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/http/ProtocolVersion". agregar la siguiente linea:~\n~AddApplicationText(<uses-library android:name="org.apache.http.legacy" android:required="false"/>)~\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~)
Module1=BatteryUtilities
Module10=gestion
Module11=Historico
Module12=MAPA_RUTAS
Module13=mapas
Module14=nopago
Module15=nuevocliente
Module16=pedidos
Module17=seleccion
Module18=Starter
Module19=Subs
Module2=BUSCAR
Module20=tarjeta
Module21=telefonos
Module22=Tracker
Module3=CameraExClass
Module4=colonia
Module5=colonia2
Module6=DBRequestManager
Module7=detalle_promo
Module8=fila
Module9=foto
NumberOfFiles=34
NumberOfLibraries=22
NumberOfModules=22
Version=12.8
@EndOfDesignText@
#Region Project Attributes
#ApplicationLabel: Durakelo-Reparto
#VersionCode: 1
#VersionName: 5.03.15
'SupportedOrientations possible values: unspecified, landscape or portrait.
#SupportedOrientations: portrait
#CanInstallToExternalStorage: False
#AdditionalJar: com.android.support:support-v4
#AdditionalJar: com.google.android.gms:play-services-location
#BridgeLogger: 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=..\..\
'###########################################################################################################
'###################### PUSH TORTOISE GIT #########################################################
'Ctrl + click ide://run?file=%WINDIR%\System32\WindowsPowerShell\v1.0\powershell.exe&Args=TortoiseGitProc&Args=/command:commit&Args=/path:"./../"&Args=/closeonend:2
'###########################################################################################################
#End Region
#Region Activity Attributes
#FullScreen: False
#IncludeTitle: True
#End Region
#Region Service Attributes
#End Region
Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
Dim reqManager As DBRequestManager
Dim ruta As String
Dim lat_gps, lon_gps As String
Dim skmt As SQL
Dim batt As String
Dim usuario As String
Dim server As String
Dim montoActual, montorechazo,montosalida, clientesTotal, clientesVenta, clientesVisitados,almacen, rutaPreventa As String
Dim ultimaActualizacionGPS As String = 235959
Dim logger As Boolean
Public Provider As FileProvider
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 skmt As SQL
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 l_version As Label
Private i_engrane As ImageView
Private p_configTransparente As Panel
Private b_enviaBD As Button
Private p_config As Panel
End Sub
Sub Activity_Create(FirstTime As Boolean)
ruta = File.DirInternal
logger = True
' se crea o no el archivo de la base de ddatos de kmt
'NOTAS SI SE MODIFICA LA ESTRUCTURA SE QUITA EL IF Y SE VA DIRECTO A LA SENTENCIA FILE.COPY PARA QUE
'TOME LA NUEVA ESTRUCTURA ES MUY IMPORTANTE TENER EL IF DE LO CONTRARIO SOLO LO ESCRIBE UNA VEZ Y LO BORRA
'SI SE REGRESA A ESTE ACTIVIDAD.
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)
' server = "http://11.0.0.120:1782"
server = "http://keymon.lat:1781"
If FirstTime Then
' reqManager.Initialize(Me,"http://201.99.139.28:1782")
' reqManager.Initialize(Me,"http://177.244.63.54:1782")
reqManager.Initialize(Me,server)
' "http://keymon.com.mx:1782"
End If
Activity.LoadLayout("login")
l_version.Text = Application.VersionName
Dim P As PhoneId
IMEN.Text = "" 'P.GetDeviceId
IMEI = "" 'P.GetDeviceId
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS RUTAA (RUTAA TEXT)")
p_configTransparente.Top = 0 : p_configTransparente.Left = 0
p_configTransparente.Width = Activity.Width : p_configTransparente.Height= Activity.Height
Provider.Initialize
Subs.centraPanel(p_config, p_configTransparente.Width)
End Sub
Sub Activity_Resume
Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_ACCESS_FINE_LOCATION)
Wait For Activity_PermissionResult (Permission As String, Result As Boolean)
If Result Then
StartService(Tracker)
Log("Start Tracker")
Else
ToastMessageShow("No permission", True)
End If
dameUsuario 'Obtenemos el usuario registrado
End Sub
Sub Activity_Pause (UserClosed As Boolean)
End Sub
Sub Entrar_Click
If pass.Text = "YA" Then
skmt.ExecNonQuery("delete from usuarioa")
skmt.ExecNonQuery("delete from VERSION")
skmt.ExecNonQuery2("INSERT INTO USUARIOA VALUES (?,?)", Array As Object("ROOT", "ROOT"))
skmt.ExecNonQuery("delete from cat_almacen")
skmt.ExecNonQuery2("INSERT INTO CAT_ALMACEN(ID_ALMACEN) VALUES (?)", Array As Object (user.Text))
skmt.ExecNonQuery2("INSERT INTO VERSION(NOVERSION) VALUES (?)", Array As Object ("2.1"))
StartActivity(seleccion)
Else
c=skmt.ExecQuery2("select count(*) as EXISTE1 from usuarioa where usuario = ?", Array As String(user.Text))
c.Position=0
existe = c.GetString("EXISTE1")
'existe = 1
If existe = 0 Then
'skmt.ExecNonQuery("delete from usuarioa")
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "select_usuario_guna_DUR"
cmd.Parameters = Array As Object(user.Text, pass.Text)
reqManager.ExecuteQuery(cmd , 0, "usuario")
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "select_version"
reqManager.ExecuteQuery(cmd , 0, "version")
Else
StartActivity(seleccion)
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
skmt.ExecNonQuery("delete from VERSION")
Dim CAT_VE_VERSION As String = records(result.Columns.Get("CAT_VE_VERSION"))
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
skmt.ExecNonQuery("delete from usuarioa")
skmt.ExecNonQuery2("INSERT INTO USUARIOA VALUES (?,?)", Array As Object(user.Text, pass.Text))
skmt.ExecNonQuery("delete from cat_almacen")
skmt.ExecNonQuery2("INSERT INTO CAT_ALMACEN(ID_ALMACEN) VALUES (?)", Array As Object (ID_ALMACEN))
StartActivity(seleccion)
Else If name = "OKExpirado"& IMEI Then
Msgbox("Usuario Expirado llamar al administrador","")
Else If name = "OKCancelado"& IMEI Then
Msgbox("Usuario Cancelado llamar al administrador","")
Else
Msgbox("Usuario o password No validos","")
End If
paso1 = 0
End If
End Sub
Sub Activity_KeyPress (key As Int) As Boolean
' BACK key pressed
If key=KeyCodes.KEYCODE_BACK Then
' I want to capture the key here so I return True
'StartActivity(Main)
ExitApplication
'Return True
End If
' Returning False signals the system to handle the key
Return False
End Sub
Sub dameUsuario
c=skmt.ExecQuery("select count(*) as EXISTE1 from usuarioa")
c.Position=0
existe = c.GetString("EXISTE1")
c.Close
If existe > 0 Then
c=skmt.ExecQuery("select USUARIO from usuarioa")
c.Position=0
usuario = c.GetString("USUARIO")
Else
usuario = "SINUSUARIO"
End If
End Sub
Private Sub i_engrane_Click
p_configTransparente.Visible = True
End Sub
Private Sub p_configTransparente_Click
p_configTransparente.Visible = False
End Sub
Private Sub p_config_Click
End Sub
'Enviamos la base de datos por correo
Private Sub b_enviaBD_Click
' copiaDB
' Sleep(1000)
Dim FileName As String = "durakelo_kmt.db"
'copy the shared file to the shared folder
Log("xxxxxx:"&Provider.SharedFolder)
Sleep(1000)
File.Copy(File.DirInternal, "kmt.db", Provider.SharedFolder, FileName)
Dim email As Email
email.To.Add("cheveguerra@gmail.com")
email.Subject = "subject"
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)
p_configTransparente.Visible = False
End Sub