Compare commits

6 Commits

Author SHA1 Message Date
Javier
6d7edaaff3 ... 2026-01-15 08:52:13 -06:00
jaguerrau
f1511e004a Delete B4A/Objects directory 2025-11-12 13:13:39 -06:00
Javier
afbe27d10d ... 2025-11-04 10:29:54 -06:00
Javier
f155af5f0c se ajusta el proceso para mostrar los clientes aunque no tengan coordenadas 2025-09-26 13:32:49 -06:00
Javier
8e9761bdb5 5.09.01
Se cambia querie para descargar clientes nuevos
Se cambia proceso para que si hay coordenadas en 0 de multiples clientes si los muestre
2025-09-09 13:29:39 -06:00
jaguerrau
7ac6729054 Add files via upload 2025-09-01 14:09:09 -06:00
787 changed files with 50 additions and 73013 deletions

16
.gitattributes vendored Normal file
View File

@@ -0,0 +1,16 @@
# Auto detect text files and perform LF normalization
* text=auto
# linguist-language
*.b4a linguist-language=B4X
*.b4i linguist-language=B4X
*.b4j linguist-language=B4X
*.b4r linguist-language=B4X
*.bas linguist-language=B4X
# linguist-detectable
*.b4a linguist-detectable=true
*.b4i linguist-detectable=true
*.b4j linguist-detectable=true
*.b4r linguist-detectable=true
*.bas linguist-detectable=true

2
.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
**/Objects
**/AutoBackups

View File

@@ -540,7 +540,7 @@ Private Sub i_engrane_Click
Subs.centraBoton(b_regesar, Root.Width)
Subs.centraBoton(b_server, p_serverList.Width)
lv_server.Clear
lv_server.AddSingleLine("http://keymon.lat:1782")
lv_server.AddSingleLine("http://keymon.net:1782")
If user.Text = "KMTS1" Then lv_server.AddSingleLine("http://10.0.0.205:1782")
' l_server.Text = Starter.server
et_server.Text = server

View File

@@ -466,7 +466,7 @@ Sub Guardado
rutaactualizar = rut.GetString("CAT_CL_RUTA")
End If
Starter.skmt.ExecNonQuery($"DELETE FROM NOVENTA WHERE NV_CLIENTE IN (select cuenta from cuentaa) AND NV_RUTA ='${rutaactualizar}' "$)
Starter.skmt.ExecNonQuery($"DELETE FROM NOVENTA WHERE NV_CLIENTE IN (select cuenta from cuentaa) "$)
Starter.skmt.ExecNonQuery2("INSERT INTO NOVENTA (NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON,NV_RUTA) VALUES(?,?,?,?,?,?,?,?) ", Array As Object (cuenta,sDate &" "& sTime, usuario, "ENTREGA","ENTREGA COMPLETA", B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,rutaactualizar))
Starter.skmt.ExecNonQuery2("INSERT INTO REPARTO_GEO (CLIENTE, USUARIO, FECHA_PUNTEO, LATITUD, LONGITUD, ALMACEN, RUTA_REPARTO, RUTA_PREV, FECHA_PREVENTA, TIPO,ENVIO) VALUES(?,?,?,?,?,?,?,?,?,?,0)",Array As String (la_cuenta.Text, usuario, sDate &" "&sTime, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,B4XPages.MainPage.almacen,ruta,rutapre,fechaprev, "ENTREGADO"))
Starter.skmt.ExecNonQuery($"UPDATE kmt_info set gestion = 2, HORAENT = '${sDate & " " & sTime}' where CAT_CL_CODIGO In (select cuenta from cuentaa) and CAT_CL_RUTA = '${rutaactualizar}' "$)
@@ -1090,7 +1090,7 @@ Sub JobDone(Job As HttpJob)
End Sub
Private Sub b_acred_Click
If et_montoacredito.Text > l_total.Text Then
If et_montoacredito.Text > l_total.Text.Replace(",","") Then
MsgboxAsync("El monto del pagare no puede ser mayor a la venta","Atención")
Else
DateTime.DateFormat = "dd/MM/yyyy"

View File

@@ -29,8 +29,9 @@ Sub Class_Globals
Dim listaWayPoints As List
Dim lv1Top As String
Private b_limpiarRuta As Button
Dim rutaGenerada As Boolean = False
Dim rutaGenerada As Boolean = False
Dim rutaacambiar As String
Dim distanciacero as Int = 0
End Sub
'You can add more parameters here.
@@ -167,6 +168,7 @@ Sub ListView1_ItemClick (Position As Int, Value As Object)
If entro = 2 Then ListView1.TwoLinesLayout.ItemHeight = 90dip
lfila.text = "Nombre y Calle"
distOrderedMap.Initialize
If c2.RowCount > 0 Then
For i = 0 To c2.RowCount -1 'Generamos mapa de clientes
c2.Position = i
@@ -174,10 +176,23 @@ Sub ListView1_ItemClick (Position As Int, Value As Object)
thisLoc.Longitude = c2.GetString("CAT_CL_LONG")
' Log(Tracker.UUGCoords)
Private distancia As Int = Tracker.UUGCoords.DistanceTo(thisLoc) 'Calculamos la distancia de la posicion ACTUAL a la tienda.
' If distancia = 0 And distanciacero = 0 Then
distancia = distancia + i
' distanciacero = distancia
' Else If distanciacero <> 0 And distancia = 0 Then
' distancia = distanciacero + i
' distanciacero = distancia
' End If
' distancia = distancia + i 'comentar la linea despues de tener las coordenadas correctas
Private esteCliente As Map = CreateMap("distancia": distancia, "ubicacion": thisLoc.Longitude&","&thisLoc.Latitude, "codigo": c2.GetString("CAT_CL_CODIGO"), "nomDirDist": $"${c2.GetString("CAT_CL_NOMBRE")} CALLE: ${c2.GetString("CAT_CL_CALLE")} ${CRLF}Distancia: $1.1{(distancia/1000)} kms"$)
distOrderedMap.Put(distancia, esteCliente)
Next
distOrderedMap.Keys.Sort(True) 'Ordenamos la mapa de clientes por distancia.
Log(distOrderedMap)
ListView1.Clear
Private m1 As Map
For Each k As Object In distOrderedMap.Keys 'Generamos el listView con el mapa ordenada.
@@ -615,8 +630,8 @@ Sub caculaRutaGPS(coords As List)
ProgressDialogShow2("Calculando distancia y tiempo, un momento por favor.", False)
Dim j As HttpJob
j.Initialize("trip", Me) 'Calculamos el resto de la ruta.
j.Download($"http://keymon.lat:9002/ruteador?m=OSRM&r=${Subs.traeRutaReparto}&a=${Subs.traeAlmacen}&f=CEDIS,${Starter.cedisLocation.Longitude},${Starter.cedisLocation.Latitude}&c=${coordsStr}"$)
Log($"http://keymon.lat:9002/ruteador?m=OSRM&r=${Subs.traeRutaReparto}&a=${Subs.traeAlmacen}&f=CEDIS,${Starter.cedisLocation.Longitude},${Starter.cedisLocation.Latitude}&c=${coordsStr}"$)
j.Download($"http://keymon.net:9002/ruteador?m=OSRM&r=${Subs.traeRutaReparto}&a=${Subs.traeAlmacen}&f=CEDIS,${Starter.cedisLocation.Longitude},${Starter.cedisLocation.Latitude}&c=${coordsStr}"$)
Log($"http://keymon.net:9002/ruteador?m=OSRM&r=${Subs.traeRutaReparto}&a=${Subs.traeAlmacen}&f=CEDIS,${Starter.cedisLocation.Longitude},${Starter.cedisLocation.Latitude}&c=${coordsStr}"$)
Wait For (j) JobDone(j As HttpJob)
If j.Success Then
Dim jp As JSONParser

View File

@@ -95,7 +95,7 @@ Sub GUARDA_Click
rut.Position = 0
rutaactualizar = rut.GetString("CAT_CL_RUTA")
End If
Starter.skmt.ExecNonQuery($"DELETE FROM NOVENTA WHERE NV_CLIENTE IN (select cuenta from cuentaa) AND NV_RUTA ='${rutaactualizar}' "$)
Starter.skmt.ExecNonQuery($"DELETE FROM NOVENTA WHERE NV_CLIENTE IN (select cuenta from cuentaa) "$)
'Traemos los productos del pedido.
c=Starter.skmt.ExecQuery("select HVD_NUM_REGISTRO, HVD_CLIENTE, HVD_PRONOMBRE, HVD_CANT, HVD_COSTO_TOT, HVD_FECHA, HVD_PROID, CAT_GP_PRECIO from HIST_VENTAS2 join CAT_GUNAPROD on CAT_GP_ID = HVD_PROID WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) order by HVD_PRONOMBRE asc")
If c.RowCount > 0 Then 'Si hay pedido en HIST_VENTAS ...

View File

@@ -893,8 +893,8 @@ Sub envioinfo
c.Position=i
Dim cmd As DBCommand
Dim fechatabulador() As String = Regex.Split(" ", f.GetString("HVD_FECHA"))
Dim fechatabulador2() As String = Regex.Split("-", fechatabulador(0))
Dim fechatabulador3 As String = fechatabulador2(1)&"/"&fechatabulador2(2)&"/"&fechatabulador2(0)
Dim fechatabulador3 As String = fechatabulador(0)
cmd.Initialize
cmd.Name = "insert_tabulador_monedas_INTMEX"
cmd.Parameters = Array As Object(d.GetString("RUTAA"), b.GetString("ID_ALMACEN"),c.GetString("VEINTE"),c.GetString("DIEZ"),c.GetString("CINCO"),c.GetString("DOS"),c.GetString("PESO"),c.GetString("CENTAVO"),fechatabulador3)
@@ -962,8 +962,8 @@ Sub envioinfo
c.Position=i
Dim cmd As DBCommand
Dim fechatabulador() As String = Regex.Split(" ", f.GetString("HVD_FECHA"))
Dim fechatabulador2() As String = Regex.Split("-", fechatabulador(0))
Dim fechatabulador3 As String = fechatabulador2(1)&"/"&fechatabulador2(2)&"/"&fechatabulador2(0)
Dim fechatabulador3 As String = fechatabulador(0)
cmd.Initialize
cmd.Name = "insert_tabulador_billetes_INTMEX"
cmd.Parameters = Array As Object(b.GetString("ID_ALMACEN"), d.GetString("RUTAA"),c.GetString("MIL"),c.GetString("QUINIENTOS"),c.GetString("DOCIENTOS"),c.GetString("CIEN"),c.GetString("CINCUENTA"),c.GetString("VEINTE"),fechatabulador3)
@@ -1064,8 +1064,8 @@ Sub cargar_Click
reqManager.ExecuteQuery(cmd , 0, "select_abonosp")
cmd.Initialize
cmd.Name = "select_cliente_INTMEX_re_REPG"
cmd.Parameters = Array As Object(e_ruta.text, ALMACEN,ALMACEN,e_ruta.text, ALMACEN)
cmd.Name = "select_cliente_INTMEX_re_REPG2"
cmd.Parameters = Array As Object(e_ruta.text, ALMACEN, ALMACEN,e_ruta.text)
reqManager.ExecuteQuery(cmd , 0, "kmt_datos")
Log($"Pedimos kmt_datos"$)
reqs.Add("kmt_datos")

View File

@@ -3012,7 +3012,7 @@ Version=12.8
#Region Project Attributes
#ApplicationLabel: Intmex Reparto
#VersionCode: 1
#VersionName: 5.08.10
#VersionName: 5.09.01
'SupportedOrientations possible values: unspecified, landscape or portrait.
#SupportedOrientations: portrait
#CanInstallToExternalStorage: False

View File

@@ -91,6 +91,6 @@ ModuleClosedNodes6=
ModuleClosedNodes7=
ModuleClosedNodes8=
ModuleClosedNodes9=
NavigationStack=C_Principal,b_rechazos_Click,2265,1,Diseñador Visual,productos.bal,-100,1,Diseñador Visual,detalleVenta.bal,-100,1,appUpdater,Service_Start,132,0,C_Principal,cargar____Click,1169,3,B4XMainPage,B4XPage_Created,205,3,Starter,Process_Globals,19,0,C_Principal,cargar_Click,980,0,C_Principal,envioinfo,975,6,Starter,ENVIA_ULTIMA_GPS,114,0,C_Cliente,Class_Globals,0,0
NavigationStack=C_Cliente,b_cxc_Click,1207,0,C_Cliente,gest_Click,359,0,C_Mapas,Class_Globals,0,0,MAPA_RUTAS,MapFragment1_Ready,145,0,C_Clientes,ListView1_ItemClick,132,0,Starter,ENVIA_ULTIMA_GPS,134,0,C_Principal,cargar_Click,980,0,C_Principal,envioinfo,959,0,appUpdater,Process_Globals,74,1,B4XMainPage,i_engrane_Click,536,1,C_Clientes,caculaRutaGPS,607,2
SelectedBuild=0
VisibleModules=1,2,3,4,5,6,7,8,9,10,16,28
VisibleModules=1,2,3,4,5,6,7,8,9,10,16

View File

@@ -1,198 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="reparto_intmex.keymon.lat"
android:versionCode="1"
android:versionName="5.08.10"
android:installLocation="internalOnly">
<uses-sdk android:minSdkVersion="5" android:targetSdkVersion="33"/>
<supports-screens android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:anyDensity="true"/>
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion="33" />
<uses-permission
android:name="android.permission.ACCESS_FINE_LOCATION"
android:maxSdkVersion="33" />
<uses-permission
android:name="android.permission.ACCESS_COARSE_LOCATION"
android:maxSdkVersion="33" />
<uses-permission
android:name="android.permission.READ_PHONE_STATE"
android:maxSdkVersion="33" />
<uses-permission
android:name="android.permission.READ_PRIVILEGED_PHONE_STATE"
android:maxSdkVersion="33" />
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion="33" />
<uses-feature android:name="android.hardware.telephony" android:required="false" />
<uses-feature android:name="android.hardware.camera" android:required="false" />
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />
<uses-feature android:name="android.hardware.camera.flash" android:required="false" />
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion="33" />
<queries><package android:name="com.google.android.apps.maps" /></queries>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
<uses-permission android:name="reparto_intmex.keymon.lat.permission.MAPS_RECEIVE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION"/>
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>
<uses-permission android:name="android.permission.INSTALL_PACKAGES"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADVERTISE"/>
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT"/>
<uses-permission android:name="android.permission.BLUETOOTH_SCAN"/>
<application
android:icon="@drawable/icon"
android:label="Intmex Reparto"
android:theme="@style/LightTheme"
android:usesCleartextTraffic="true"
android:largeHeap="true"
android:allowBackup="false">
<activity android:name="com.google.zxing.client.android.CaptureActivity"
android:screenOrientation="landscape"
android:configChanges="orientation|keyboardHidden"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:windowSoftInputMode="stateAlwaysHidden">
</activity>
<activity android:name="com.google.android.gms.common.api.GoogleApiActivity"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:exported="false"/>
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="AIzaSyBlBnx3O-DncOSv3oFIp-12wgujOYYcl-U"/>
<meta-data android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<uses-library
android:name="org.apache.http.legacy"
android:required="false" />
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="reparto_intmex.keymon.lat.provider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths"/>
</provider>
<activity android:name="ice.zxing.CaptureActivity"
android:screenOrientation="portrait" android:configChanges="orientation|keyboardHidden"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:windowSoftInputMode="stateAlwaysHidden">
</activity>
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="reparto_intmex.keymon.lat.provider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths"/>
</provider>
<service android:name="b4a.jsaplication.com.br.ReplyAuto"
android:label="Mazapa" android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE" android:exported="true">
<intent-filter><action android:name="android.service.notification.NotificationListenerService" /></intent-filter>
</service>
<activity
android:windowSoftInputMode="stateHidden"
android:launchMode="singleTop"
android:name=".main"
android:label="Intmex Reparto"
android:screenOrientation="portrait"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<service
android:name=".appupdater"
android:exported="true">
</service>
<receiver
android:name=".appupdater$appupdater_BR"
android:exported="true">
</receiver>
<service
android:name=".starter"
android:exported="true">
</service>
<receiver
android:name=".starter$starter_BR"
android:exported="true">
</receiver>
<activity
android:windowSoftInputMode="stateHidden"
android:launchMode="singleTop"
android:name=".foto"
android:label="Intmex Reparto"
android:screenOrientation="portrait"
android:exported="true">
</activity>
<activity
android:windowSoftInputMode="stateHidden"
android:launchMode="singleTop"
android:name=".mapa_cliente"
android:label="Intmex Reparto"
android:screenOrientation="portrait"
android:exported="true">
</activity>
<activity
android:windowSoftInputMode="stateHidden"
android:launchMode="singleTop"
android:name=".mapa_rutas"
android:label="Intmex Reparto"
android:screenOrientation="portrait"
android:exported="true">
</activity>
<service
android:name=".tracker"
android:exported="true"
android:foregroundServiceType="location">
</service>
<receiver
android:name=".tracker$tracker_BR"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
</intent-filter>
</receiver>
<service
android:name=".newinst2"
android:exported="true">
</service>
<receiver
android:name=".newinst2$newinst2_BR"
android:exported="true">
</receiver>
<receiver
android:name=".httputils2service"
android:exported="true">
</receiver>
</application>
</manifest>

Binary file not shown.

View File

@@ -1,37 +0,0 @@
.b4xdialog .scroll-bar:horizontal, .b4xdialog .scroll-bar:vertical{
-fx-background-color:transparent;
}
.b4xdialog .increment-button, .b4xdialog .decrement-button {
-fx-background-color: transparent;
-fx-border-color: transparent;
}
.b4xdialog .scroll-bar:horizontal .track,
.b4xdialog .scroll-bar:vertical .track{
-fx-background-color: transparent;
-fx-border-color: transparent;
-fx-background-radius: 0em;
}
.b4xdialog .scroll-bar:horizontal .thumb,
.b4xdialog .scroll-bar:vertical .thumb {
-fx-background-color: #4B4B4B;
-fx-background-radius: 5em;
}
.b4xdialoglight .scroll-bar:horizontal .thumb,
.b4xdialoglight .scroll-bar:vertical .thumb {
-fx-background-color: #B8B8B8;
}
.scroll-pane{
-fx-background-color:transparent;
}
.scroll-pane .viewport {
-fx-background-color: transparent;
}
.text-area .content {
-fx-padding: 15 5 5 5;
}

Some files were not shown because too many files have changed in this diff Show More