cambio de servidor

This commit is contained in:
cvaldes1201
2025-06-04 13:50:10 -06:00
parent c1df998ed6
commit cfe90f8b53
861 changed files with 122055 additions and 24055 deletions

View File

@@ -104,6 +104,17 @@ Sub Class_Globals
Private ET_PICK_CIEGO As EditText
Dim a As Cursor
Dim f As Cursor
Private b_CargarMonto As Button
Private b_arqueocieego As Button
Private Label2 As Label
Private B4XSwitch2 As B4XSwitch
Private p_GeoPass As Panel
Private bAcepGeo As Button
Private bCanGeo As Button
Private p_centraGeoPass As Panel
Private l_fondoPass As Label
Private et_passGeo As EditText
Private l_ingresaPass As Label
End Sub
Public Sub Initialize
@@ -156,6 +167,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
Subs.agregaColumna("CAT_GUNAPROD3", "CAT_DP_CONVERSION1", "TEXT")
Subs.agregaColumna("CAT_GUNAPROD3", "CAT_DP_PRECIO4", "TEXT")
Subs.agregaColumna("CAT_GUNAPROD3", "CAT_DP_CANT_MIN_VENTA", "TEXT")
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS GPS (HABILITADO)")
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS PICK_CIEGO (PC_ID_PROD TEXT, PC_NOM_PROD TEXT, PC_CANT TEXT, PC_ALMACEN TEXT, PC_RUTA TEXT, PC_FECHA TEXT)")
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS ENV_MONTO_LIQ (EML_MONTO TEXT, EML_ALMACEN TEXT, EML_RUTA TEXT, EML_USUARIO TEXT, EML_FECHA_PED TEXT)")
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS TABULADOR_MONEDAS(VEINTE TEXT, DIEZ TEXT, CINCO TEXT, DOS TEXT, PESO TEXT, CENTAVO TEXT, TOTAL TEXT)")
@@ -197,11 +209,12 @@ Private Sub B4XPage_Created (Root1 As B4XView)
Subs.agregaColumna("HIST_VENTAS","BCAJAS_OR","TEXT")
Subs.agregaColumna("HIST_VENTAS","CANTC_OR","TEXT")
Subs.agregaColumna("HIST_VENTAS","HVD_RUTA","TEXT")
Subs.agregaColumna("HIST_VENTAS","HVD_LISTAPRECIO","TEXT")
Subs.agregaColumna("CAT_GUNAPROD","CONVERSION","TEXT")
Subs.agregaColumna("CAT_GUNAPROD","PRECIOCONVER","TEXT")
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS RUTAA (RUTAA TEXT)")
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS wayPoints (codigo TEXT, indice INT)")
Dim server As String = "http://187.189.244.154:1781"
Dim server As String = "http://keymon.net:1781"
' Dim server As String = "http://192.168.100.10:1781"
' Dim server As String = "http://keymon.lat:9000"
' server = "http://10.0.0.205:1782"
@@ -232,12 +245,12 @@ Sub B4XPage_Appear
' LogColor("Start Tracker1", Colors.red)
Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean)
If Result Then
If Not(Tracker.Tracking) Then StartService(Tracker)
' LogColor("Start Tracker", Colors.red)
StartService(Tracker)
Log("Start Tracker")
Else
ToastMessageShow("No permission", True)
Log("Sin permisos")
ToastMessageShow("Sin permisos de ubicacion", True)
End If
' LogColor("Start Tracker3", Colors.red)
c=Starter.skmt.ExecQuery("select USUARIO from usuarioa")
If c.RowCount > 0 Then
@@ -247,6 +260,27 @@ Sub B4XPage_Appear
usuario = c.GetString("USUARIO")
End If
c.Close
Starter.distanciaGeo = ""
c = Starter.skmt.ExecQuery("SELECT HABILITADO FROM GPS")
If c.RowCount = 0 Then
Starter.skmt.ExecNonQuery2("INSERT INTO GPS VALUES (?)", Array As Object(1))
End If
c = Starter.skmt.ExecQuery("SELECT HABILITADO FROM GPS")
If c.RowCount > 0 Then
c.Position = 0
If c.GetString("HABILITADO") = 0 Then
Starter.distanciaGeo = "500000000000"
Log("Esto es la distancia si esta desactivada la Geo: " & Starter.distanciaGeo)
B4XSwitch2.Value = False
Else If c.GetString("HABILITADO") = 1 Then
Starter.distanciaGeo = "50"
Log("Esto es la distancia si esta activada la Geo: " & Starter.distanciaGeo)
B4XSwitch2.Value = True
End If
Else
' B4XSwitch1.Value = False
End If
' Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_WRITE_EXTERNAL_STORAGE)
' Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean)
' If Result Then
@@ -338,10 +372,10 @@ Sub Entrar_Click
cmd.Parameters = Array As Object(user.Text, pass.Text)
reqManager.ExecuteQuery(cmd , 0, "usuario")
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "select_version_MAZAPA"
reqManager.ExecuteQuery(cmd , 0, "version")
' Dim cmd As DBCommand
' cmd.Initialize
' cmd.Name = "select_version_MAZAPA"
' reqManager.ExecuteQuery(cmd , 0, "version")
Else
' principal.B_REGRESA_Click
B4XPages.ShowPage("Principal")
@@ -587,6 +621,8 @@ Private Sub i_engrane_Click
Subs.centraBoton(b_apk, Root.Width)
Subs.centraBoton(b_envioBD, Root.Width)
Subs.centraBoton(b_regesar, Root.Width)
Subs.centraBoton(b_CargarMonto, Root.Width)
Subs.centraBoton(b_arqueocieego, Root.Width)
Subs.centraBoton(b_server, p_serverList.Width)
lv_server.Clear
lv_server.AddSingleLine("http://keymon.lat:1782")
@@ -594,6 +630,12 @@ Private Sub i_engrane_Click
' l_server.Text = Starter.server
et_server.Text = server
Subs.panelVisible(p_appUpdate, 0, 0)
c = Starter.skmt.ExecQuery("SELECT HABILITADO FROM GPS")
If c.RowCount = 0 Then
Starter.skmt.ExecNonQuery2("INSERT INTO GPS VALUES (?)", Array As Object(0))
End If
End Sub
Private Sub B4XPage_CloseRequest As ResumableSub
@@ -1059,4 +1101,54 @@ End Sub
Private Sub ImageView1_LongClick
End Sub
Private Sub bCanGeo_Click
p_GeoPass.Visible = False
B4XSwitch2.Value = True
Starter.skmt.ExecNonQuery2("UPDATE GPS SET HABILITADO = (?)",Array As Object(1))
et_passGeo.Text = ""
End Sub
Private Sub bAcepGeo_Click
If et_passGeo.Text = "KMTS" Or et_passGeo.Text = "MAZAPA" Then
B4XSwitch2.Value = False
p_GeoPass.Visible = False
et_passGeo.Text = ""
Starter.skmt.ExecNonQuery2("UPDATE GPS SET HABILITADO = (?)",Array As Object(0))
Else If et_passGeo.Text = "" Then
MsgboxAsync("Ingresa un codigo","Atención")
B4XSwitch2.Value = True
Starter.skmt.ExecNonQuery2("UPDATE GPS SET HABILITADO = (?)",Array As Object(1))
Else
MsgboxAsync("Codigo incorrecto","Atención")
B4XSwitch2.Value = True
Starter.skmt.ExecNonQuery2("UPDATE GPS SET HABILITADO = (?)",Array As Object(1))
End If
End Sub
Private Sub B4XSwitch2_ValueChanged (Value As Boolean)
c = Starter.skmt.ExecQuery2("SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String("CARGA_DIA"))
If c.RowCount > 0 Then
c.Position = 0
If c.GetString("CAT_VA_VALOR") = 1 Then
Log(Value)
If Value Then
Starter.skmt.ExecNonQuery2("UPDATE GPS SET HABILITADO = (?)",Array As Object(1))
Else
p_GeoPass.Left = 0
p_GeoPass.Width = Root.Width
p_GeoPass.Height = Root.Height
p_GeoPass.Visible = True
Subs.panelVisible(p_GeoPass,0,0)
Starter.skmt.ExecNonQuery2("UPDATE GPS SET HABILITADO = (?)",Array As Object(0))
End If
Else
MsgboxAsync("Por favor primero haz carga de día","Atención")
B4XSwitch2.Value = True
End If
Else
MsgboxAsync("Por favor primero haz carga de día","Atención")
B4XSwitch2.Value = True
End If
End Sub

View File

@@ -77,6 +77,7 @@ Sub Class_Globals
Private l_efectivo As Label
Private l_montoefec As Label
Dim distance As Long
Private b_visitasinentrega As Button
End Sub
'You can add more parameters here.
@@ -302,7 +303,31 @@ Sub B4XPage_Appear
l_montopag.Visible = False
End If
If distance < 50 Then
Starter.distanciaGeo = ""
c = Starter.skmt.ExecQuery("SELECT HABILITADO FROM GPS")
If c.RowCount = 0 Then
Starter.skmt.ExecNonQuery2("INSERT INTO GPS VALUES (?)", Array As Object(1))
End If
c = Starter.skmt.ExecQuery("SELECT HABILITADO FROM GPS")
If c.RowCount > 0 Then
c.Position = 0
If c.GetString("HABILITADO") = 0 Then
Starter.distanciaGeo = "500000000000"
Log("Esto es la distancia si esta desactivada la Geo: " & Starter.distanciaGeo)
Else If c.GetString("HABILITADO") = 1 Then
Starter.distanciaGeo = "50"
Log("Esto es la distancia si esta activada la Geo: " & Starter.distanciaGeo)
End If
Else
' B4XSwitch1.Value = False
End If
Private ubicacionActual, l2 As Location
ubicacionActual.Initialize2(B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps)
l2.Initialize2(LATITUD, LONGITUD)
distance = ubicacionActual.DistanceTo(l2)
' Log("Esto es la distancia?<<<<<<<<<<<<<" & Starter.distanciaGeo)
If distance < Starter.distanciaGeo Then
Tar.Visible = True
gest.Visible = True
b_noEntrega.Visible = True
@@ -313,7 +338,11 @@ Sub B4XPage_Appear
b_noEntrega.Visible = False
HIST.Visible = False
End If
Log(distance)
Tar.Visible = True
gest.Visible = True
b_noEntrega.Visible = True
HIST.Visible = True
End Sub
Sub Activity_Pause (UserClosed As Boolean)
@@ -343,17 +372,22 @@ Sub GPS_LocationChanged (Location1 As Location)
'now we need the distance between our location and the target location
distance = l1.DistanceTo(l2) 'the result is in meter
If distance < 50 Then
Tar.Visible = True
gest.Visible = True
b_noEntrega.Visible = True
HIST.Visible = True
Else
Tar.Visible = False
gest.Visible = False
b_noEntrega.Visible = False
HIST.Visible = False
c = Starter.skmt.ExecQuery("SELECT HABILITADO FROM GPS")
If c.RowCount > 0 Then
c.Position = 0
Dim habi As String = c.GetString("HABILITADO")
End If
' If distance < Starter.distanciaGeo Then
' Tar.Visible = True
' gest.Visible = True
' b_noEntrega.Visible = True
' HIST.Visible = True
' Else
' Tar.Visible = False
' gest.Visible = False
' b_noEntrega.Visible = False
' HIST.Visible = False
' End If
Log("DISTANCIA "&distance)
End If
@@ -409,7 +443,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) AND NV_RUTA ='${rutaactualizar}' "$)
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}' "$)
@@ -1027,4 +1061,43 @@ Sub JobDone(Job As HttpJob)
Job.Release
End If
End Sub
Private Sub b_visitasinentrega_Click
DateTime.DateFormat = "MM/dd/yyyy"
DateTime.TimeFormat="HHmmss"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
c=Starter.skmt.ExecQuery("select CUENTA from cuentaa")
c.Position = 0
cuenta = c.GetString("CUENTA")
c=Starter.skmt.ExecQuery("select usuario from usuarioa")
c.Position = 0
usuario = c.GetString("USUARIO")
c.Close
d = Starter.skmt.ExecQuery("SELECT RUTAA FROM RUTAA")
d.Position = 0
Dim ruta As String = d.GetString("RUTAA")
d.Close
d = Starter.skmt.ExecQuery("SELECT CAT_CL_RUTA FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
d.Position = 0
Dim rutapre As String = d.GetString("CAT_CL_RUTA")
d.Close
' d = Starter.skmt.ExecQuery("SELECT HVD_FECHA FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
' d.Position = 0
Dim fechaprev As String = Subs.traefECHAPREV
' d.Close
Dim rutaactualizar As String
Dim rut As Cursor = Starter.skmt.ExecQuery("SELECT CAT_CL_RUTA FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
If rut.RowCount > 0 Then
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.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, "VISITA PENDIENTE"))
B4XPages.ShowPage("Principal")
End Sub

View File

@@ -63,6 +63,7 @@ End Sub
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
Sub B4XPage_Appear
Subs.centraPanel(p_principal, Root.Width)
' b_guardar.Visible = False

View File

@@ -92,7 +92,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) AND NV_RUTA ='${rutaactualizar}' "$)
'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 ...
@@ -134,7 +134,7 @@ Sub GUARDA_Click
d.Close
d = Starter.skmt.ExecQuery("SELECT HVD_FECHA FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
d.Position = 0
Dim fechaprev As String = d.GetString("HVD_FECHA")
Dim fechaprev As String = Subs.traefECHAPREV
d.Close
d = Starter.skmt.ExecQuery("SELECT CUENTA FROM CUENTAA")
d.Position = 0

View File

@@ -175,7 +175,6 @@ Private Sub B4XPage_Created (Root1 As B4XView)
End Sub
Sub B4XPage_Appear
lVersionName.Text = "Version: " & Application.VersionName
Private c As Cursor = Starter.skmt.ExecQuery("SELECT * FROM NOVENTA")
If c.RowCount > 0 Then
@@ -183,7 +182,7 @@ Sub B4XPage_Appear
End If
Private c As Cursor = Starter.skmt.ExecQuery("SELECT NV_CLIENTE FROM NOVENTA")
If c.RowCount > 0 Then
Starter.skmt.ExecNonQuery("Update kmt_info set gestion = 3 WHERE CAT_CL_CODIGO IN (SELECT NV_CLIENTE FROM NOVENTA WHERE NV_MOTIVO <> 'ENTREGA')")
Starter.skmt.ExecNonQuery("Update kmt_info set gestion = 3 WHERE CAT_CL_CODIGO IN (SELECT NV_CLIENTE FROM NOVENTA WHERE NV_MOTIVO <> 'ENTREGA' AND NV_MOTIVO <> 'ENTREGA')")
End If
b_check.visible = False
@@ -210,6 +209,7 @@ Sub B4XPage_Appear
img2.Visible =False
End If
l_ruta.Text = 0
f=Starter.skmt.ExecQuery("select rutaa from rutaa")
If f.RowCount > 0 Then
f.Position = 0
@@ -406,7 +406,7 @@ Sub B4XPage_Appear
''' RECHAZO - VENTA
Private r5 As Cursor = Starter.skmt.ExecQuery($"select IFNULL(HVD_COSTO_TOT,0) AS HVD_COSTO_TOT, IFNULL(HVD_CANT,0) AS HVD_CANT, IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT, HVD_PROID, HVD_CLIENTE, CONSECUTIVO from HIST_VENTAS where HVD_RECHAZO = '1' and BCAJAS = '0' ORDER BY HVD_PROID "$)
Private r5 As Cursor = Starter.skmt.ExecQuery($"select IFNULL(HVD_COSTO_TOT,0) AS HVD_COSTO_TOT, IFNULL(HVD_CANT,0) AS HVD_CANT, IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT, HVD_PROID, HVD_CLIENTE, CONSECUTIVO from HIST_VENTAS where HVD_RECHAZO = '1' and BCAJAS = '0' ORDER BY HVD_CLIENTE, HVD_PROID "$)
Private rescant As String = 0
If r5.RowCount > 0 Then
@@ -422,7 +422,7 @@ Sub B4XPage_Appear
totalcantped = 0
End If
Log(r5.GetString("HVD_RECHAZOCANT") &" - "& totalcantped)
Log(r5.GetString("HVD_CLIENTE")&"---- ID " &r5.GetString("HVD_PROID")&" ///// "&r5.GetString("HVD_RECHAZOCANT") &" - "& totalcantped&" $$$$$$$$$$$$ "& ((r5.GetString("HVD_COSTO_TOT")/(r5.GetString("HVD_CANT")))*((r5.GetString("HVD_RECHAZOCANT") - totalcantped))))
rescant = rescant + ((r5.GetString("HVD_COSTO_TOT")/(r5.GetString("HVD_CANT")))*((r5.GetString("HVD_RECHAZOCANT") - totalcantped)))
' Log(rescant)
r6.Close
@@ -878,7 +878,7 @@ Sub envioinfo
End If
' HIST_VENTAS para actualización
c = Starter.skmt.ExecQuery("SELECT IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT, HVD_RUTA, HVD_CLIENTE, HVD_PROID, HVD_FECHA, HVD_CODPROMO, HVD_NUM_TICKET, HVD_CANT, CONSECUTIVO, BCAJAS, CANTC FROM HIST_VENTAS")
c = Starter.skmt.ExecQuery("SELECT IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT, HVD_RUTA, HVD_CLIENTE, HVD_PROID, HVD_FECHA, HVD_CODPROMO, HVD_NUM_TICKET, HVD_CANT, CONSECUTIVO, BCAJAS_OR AS BCAJAS, CANTC_OR AS CANTC FROM HIST_VENTAS")
If c.RowCount > 0 Then
Log($"Procesando HIST_VENTAS (actualización): ${c.RowCount} registros"$)
totalRegistros = totalRegistros + c.RowCount
@@ -997,7 +997,8 @@ Sub cargar_Click
End If
End If
If Not (pedidodiaanterior) Then
Log("CUMPLE")
Log("CUMPLE")
EJECUTANDO = 1
reqs.Initialize
TOPE = 0
@@ -1043,12 +1044,12 @@ Sub cargar_Click
reqs.Add("punteo")
' If l_ruta.Text = "0" Then
cmd.Initialize
cmd.Name = "select_almacen_MAZAPA_re_REPG2"
cmd.Parameters = Array As Object(ALMACEN)
reqManager.ExecuteQuery(cmd , 0, "gunaprod")
Log($"Pedimos gunaprod - ${ALMACEN}, ${e_ruta.text}"$)
reqs.Add("gunaprod")
cmd.Initialize
cmd.Name = "select_almacen_MAZAPA_re_REPG2"
cmd.Parameters = Array As Object(ALMACEN)
reqManager.ExecuteQuery(cmd , 0, "gunaprod")
Log($"Pedimos gunaprod - ${ALMACEN}, ${e_ruta.text}"$)
reqs.Add("gunaprod")
' End If
@@ -1123,6 +1124,9 @@ Sub cargar_Click
ProgressDialogShow2("Descargando rutas, espere un momento.", False)
If Not(IsConnectedToInternet) Then MsgboxAsync("No hay conexión a Internet", "Revisa tu conexión")
Starter.skmt.ExecNonQuery2("DELETE FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String("CARGA_DIA"))
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("CARGA_DIA",1))
Else
Log("XXXX")
@@ -1131,6 +1135,26 @@ Sub cargar_Click
End Sub
Sub cargadedia
imei = "" 'p.GetDeviceId
conn = "1"
ime.HideKeyboard
' Dim cmd As DBCommand
' cmd.Initialize
' cmd.Name = "select_version_MAZAPA"
' reqManager.ExecuteQuery(cmd , 0, "version")
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "select_ruta_re_REPG_MAZAPA7"
cmd.Parameters = Array As Object(ALMACEN, e_ruta.text, imei)
' Log($"${ALMACEN}, ${e_ruta.text}, ${imei}"$)
reqManager.ExecuteQuery(cmd , 0, "ruta")
ToastMessageShow("Validando Conexión." , True)
Starter.skmt.ExecNonQuery("DELETE FROM RUTAA")
Starter.skmt.ExecNonQuery2("INSERT INTO RUTAA(RUTAA) VALUES (?)", Array As Object (e_ruta.TEXT))
B4XPages.MainPage.rutaPreventa = e_ruta.TEXT
End Sub
Sub JobDone(Job As HttpJob)
' Private r As DBResult = reqManager.HandleJob(Job)
Log(todosRequest)
@@ -1393,8 +1417,8 @@ Sub JobDone(Job As HttpJob)
reqs.RemoveAt(reqs.IndexOf("hist_datos"))
' Log(reqs.Size)
End If
Log(l_ruta.text)
Log($"******** Insertamos HV - ${result.Rows.Size}"$)
' Log(l_ruta.text)
' Log($"******** Insertamos HV - ${result.Rows.Size}"$)
Starter.skmt.BeginTransaction
Dim consecutivo As Int= 0
For Each records() As Object In result.Rows
@@ -1412,25 +1436,27 @@ Sub JobDone(Job As HttpJob)
Dim bcajas As String = records(result.Columns.Get("HVD_BCAJAS"))
Dim cantc As String = records(result.Columns.Get("HVD_CANTC"))
Dim HVD_RUTA As String = records(result.Columns.Get("HVD_RUTA"))
Dim HVD_LISTAPRECIO As String = records(result.Columns.Get("HVD_LISTAPRECIO"))
' Dim HVD_LISTAPRECIO As String = 1
' Log(" ++ insert into HIST_VENTAS: "&HVD_CLIENTE&","&HVD_PRONOMBRE&","&HVD_CANT)
consecutivo = consecutivo +1
If l_ruta.Text = "0" Then 'Si no hay ruta cargada, guardamos todos los clientes
Log("No hay ruta, guardamos todos")
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_VENTAS(HVD_CLIENTE, HVD_PRONOMBRE, HVD_CANT,HVD_COSTO_TOT, HVD_FECHA, HVD_CODPROMO, HVD_PROID,HVD_NUM_TICKET, HVD_NUM_REGISTRO, HVD_RECHAZO, HVD_ESTATUS, HVD_PARCIAL, PLACA,BCAJAS,CANTC,CONSECUTIVO,BCAJAS_OR,CANTC_OR, HVD_RUTA) VALUES (?,?,?,?,?,?,?,?,?,?,0,0,?,?,?,?,?,?, ?)", Array As Object (HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT,HVD_FECHA, HVD_CODPROMO, HVD_PROID,HVD_NUM_TICKET, HVD_NUM_REGISTRO, HVD_RECHAZO, HVD_PLACA,bcajas,cantc,consecutivo,bcajas,cantc, HVD_RUTA))
' Log("No hay ruta, guardamos todos")
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_VENTAS(HVD_CLIENTE, HVD_PRONOMBRE, HVD_CANT,HVD_COSTO_TOT, HVD_FECHA, HVD_CODPROMO, HVD_PROID,HVD_NUM_TICKET, HVD_NUM_REGISTRO, HVD_RECHAZO, HVD_ESTATUS, HVD_PARCIAL, PLACA,BCAJAS,CANTC,CONSECUTIVO,BCAJAS_OR,CANTC_OR, HVD_RUTA, HVD_LISTAPRECIO) VALUES (?,?,?,?,?,?,?,?,?,?,0,0,?,?,?,?,?,?, ?,?)", Array As Object (HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT,HVD_FECHA, HVD_CODPROMO, HVD_PROID,HVD_NUM_TICKET, HVD_NUM_REGISTRO, HVD_RECHAZO, HVD_PLACA,bcajas,cantc,consecutivo,bcajas,cantc, HVD_RUTA,HVD_LISTAPRECIO))
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_VENTAS2(HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT, HVD_FECHA, HVD_CODPROMO, HVD_PROID,HVD_NUM_TICKET, HVD_NUM_REGISTRO, HVD_RECHAZO, HVD_ESTATUS, HVD_PARCIAL) VALUES (?,?,?,?,?,?,?,?,?,?,0,0)", Array As Object (HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT,HVD_FECHA, HVD_CODPROMO, HVD_PROID,HVD_NUM_TICKET, HVD_NUM_REGISTRO, HVD_RECHAZO))
Else 'Si ya hay ruta cargada, solo guardamos los clientes nuevos.
' Log("Hay ruta, guardamos los nuevos")
Private tc As Cursor = Starter.skmt.ExecQuery($"select HVD_CLIENTE from HIST_VENTAS where HVD_CLIENTE = '${HVD_CLIENTE}' and HVD_PROID = '${HVD_PROID}'"$)
If tc.RowCount = 0 Then
Log($"Guardamos ${HVD_CLIENTE}"$)
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_VENTAS(HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT, HVD_FECHA, HVD_CODPROMO, HVD_PROID,HVD_NUM_TICKET, HVD_NUM_REGISTRO, HVD_RECHAZO, HVD_ESTATUS, HVD_PARCIAL, PLACA,BCAJAS,CANTC,CONSECUTIVO,BCAJAS_OR,CANTC_OR, HVD_RUTA) VALUES (?,?,?,?,?,?,?,?,?,?,0,0,?,?,?,?,?,?, ?)", Array As Object (HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT,HVD_FECHA, HVD_CODPROMO, HVD_PROID,HVD_NUM_TICKET, HVD_NUM_REGISTRO, HVD_RECHAZO, HVD_PLACA,bcajas,cantc,consecutivo,bcajas,cantc, HVD_RUTA))
' Log($"Guardamos ${HVD_CLIENTE}"$)
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_VENTAS(HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT, HVD_FECHA, HVD_CODPROMO, HVD_PROID,HVD_NUM_TICKET, HVD_NUM_REGISTRO, HVD_RECHAZO, HVD_ESTATUS, HVD_PARCIAL, PLACA,BCAJAS,CANTC,CONSECUTIVO,BCAJAS_OR,CANTC_OR, HVD_RUTA, HVD_LISTAPRECIO) VALUES (?,?,?,?,?,?,?,?,?,?,0,0,?,?,?,?,?,?, ?,?)", Array As Object (HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT,HVD_FECHA, HVD_CODPROMO, HVD_PROID,HVD_NUM_TICKET, HVD_NUM_REGISTRO, HVD_RECHAZO, HVD_PLACA,bcajas,cantc,consecutivo,bcajas,cantc, HVD_RUTA,HVD_LISTAPRECIO))
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_VENTAS2(HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT, HVD_FECHA, HVD_CODPROMO, HVD_PROID,HVD_NUM_TICKET, HVD_NUM_REGISTRO, HVD_RECHAZO, HVD_ESTATUS, HVD_PARCIAL) VALUES (?,?,?,?,?,?,?,?,?,?,0,0)", Array As Object (HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT,HVD_FECHA, HVD_CODPROMO, HVD_PROID,HVD_NUM_TICKET, HVD_NUM_REGISTRO, HVD_RECHAZO))
End If
End If
Next
Starter.skmt.TransactionSuccessful
Starter.skmt.EndTransaction
Log($"******** Terminamos HV - ${result.Rows.Size}"$)
' Log($"******** Terminamos HV - ${result.Rows.Size}"$)
' f2=Starter.skmt.ExecQuery2("select COUNT(*) as CAMBIOS from hist_ventas where SUBSTR(HVD_PRONOMBRE,1,6) =?", Array As String("CAMBIO"))
' f2.Position = 0
' If f2.GetString("CAMBIOS") > 0 Then
@@ -1560,7 +1586,7 @@ Sub JobDone(Job As HttpJob)
If result.Tag = "ruta" Then 'query tag
If reqs.IndexOf("ruta") > -1 Then
reqs.RemoveAt(reqs.IndexOf("ruta"))
Log(reqs.Size)
' Log(reqs.Size)
End If
For Each records() As Object In result.Rows
Dim VALIDO As String = records(result.Columns.Get("VALIDO"))
@@ -1595,7 +1621,7 @@ Sub JobDone(Job As HttpJob)
Dim result As DBResult = reqManager.HandleJob(Job)
If result.Tag = "coords_almacen" Then 'query tag
For Each records() As Object In result.Rows
Log("Coordenadas del almacen: " & records(result.Columns.Get("CAT_AL_LATITUD")) & "," & records(result.Columns.Get("CAT_AL_LONGITUD")))
' Log("Coordenadas del almacen: " & records(result.Columns.Get("CAT_AL_LATITUD")) & "," & records(result.Columns.Get("CAT_AL_LONGITUD")))
Private lat, lon As Double
lat = 0.0
lon = 0.0
@@ -1617,7 +1643,7 @@ Sub JobDone(Job As HttpJob)
If result.Tag = "ins_reparto" Then 'query tag
For Each records() As Object In result.Rows
For Each k As String In result.Columns.Keys
Log(k & ": " & records(result.Columns.Get(k)))
' Log(k & ": " & records(result.Columns.Get(k)))
Next
Next
End If
@@ -1628,7 +1654,7 @@ Sub JobDone(Job As HttpJob)
If result.Tag = "ins_rechazos" Then 'query tag
For Each records() As Object In result.Rows
For Each k As String In result.Columns.Keys
Log(k & ": " & records(result.Columns.Get(k)))
' Log(k & ": " & records(result.Columns.Get(k)))
Next
Next
End If
@@ -1654,11 +1680,11 @@ Sub JobDone(Job As HttpJob)
' Log(reqs.size)
' Log("Terminamos lo descarga de ruta!")
End If
Log("---------------------------------------------------")
Log(totalRegistrosTotales)
Log(successfulRequests)
Log(todosRequest)
Log(NumberFormat2(((todosRequest/ totalRegistrosTotales ) * 100),1,0,0,False))
' Log("---------------------------------------------------")
' Log(totalRegistrosTotales)
' Log(successfulRequests)
' Log(todosRequest)
' Log(NumberFormat2(((todosRequest/ totalRegistrosTotales ) * 100),1,0,0,False))
'Aqui voy a cambiar el porcentaje de mi barra de avance.
If totalRegistrosTotales > 0 Then
pbEnvioInfo.Progress = NumberFormat2(((todosRequest/ totalRegistrosTotales ) * 100),1,0,0,False)
@@ -1669,8 +1695,8 @@ Sub JobDone(Job As HttpJob)
lEnviaInfo.Text = "Enviando Informacion: %" & pbEnvioInfo.Progress
End If
End If
Log("---------------------------------------------------")
Log(todosRequest >= totalRegistrosTotales)
' Log("---------------------------------------------------")
' Log(todosRequest >= totalRegistrosTotales)
If todosRequest < totalRegistrosTotales Then
@@ -1705,24 +1731,31 @@ Sub connecta_Click
LogColor($"ReqServer = ${B4XPages.MainPage.server}"$, Colors.red)
If Not(IsConnectedToInternet) Then MsgboxAsync("No hay conexión a conexión a Internet", "Revisa tu conexión")
If e_ruta.Text <> "" Then
imei = "" 'p.GetDeviceId
conn = "1"
ime.HideKeyboard
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "select_version_MAZAPA"
reqManager.ExecuteQuery(cmd , 0, "version")
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "select_ruta_re_REPG_MAZAPA6"
cmd.Parameters = Array As Object(ALMACEN, e_ruta.text, imei)
' Log($"${ALMACEN}, ${e_ruta.text}, ${imei}"$)
reqManager.ExecuteQuery(cmd , 0, "ruta")
ToastMessageShow("Validando Conexión." , True)
Starter.skmt.ExecNonQuery("DELETE FROM RUTAA")
Starter.skmt.ExecNonQuery2("INSERT INTO RUTAA(RUTAA) VALUES (?)", Array As Object (e_ruta.TEXT))
B4XPages.MainPage.rutaPreventa = e_ruta.TEXT
Dim rut As Cursor = Starter.skmt.ExecQuery("SELECT RUTAA FROM RUTAA")
If rut.RowCount = 0 Then
cargadedia
Log(1.1)
Else
rut.Position = 0
Dim rutaquetraje As String= rut.GetString("RUTAA")
If rutaquetraje = e_ruta.Text Then
cargadedia
Log(2.1)
Else
Log(2.2)
MsgboxAsync("Cargaste una ruta diferente. Por favor haz FIN DIA e intenta nuevamente.","Atención")
End If
End If
End If
' If l_ruta.Text = 0 Then
' Subir.Visible = False
' Else
' Subir.Visible = True
' End If
End Sub
Sub BUSCA_Click
@@ -1744,7 +1777,10 @@ Sub e_ruta_EnterPressed
RES = Msgbox2("Seguro que desea hacer el cierre todos los datos se borraran?","Cierre", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore
If RES = DialogResponse.POSITIVE Then
e_ruta.Text = ""
Starter.skmt.ExecNonQuery2("UPDATE GPS SET HABILITADO = (?)",Array As Object(1))
Starter.skmt.ExecNonQuery("delete from GPS")
Starter.skmt.ExecNonQuery("delete from PICK_CIEGO")
Starter.skmt.ExecNonQuery("delete from REPARTO_GEO")
Starter.skmt.ExecNonQuery("delete from pedido_cliente")
Starter.skmt.ExecNonQuery("delete from CHECADO_CHECK")
Starter.skmt.ExecNonQuery("delete from CHECKLIST2")
@@ -2127,4 +2163,24 @@ End Sub
Private Sub pEnvioInfo_Click
End Sub
Private Sub connecta_LongClick
c=Starter.skmt.ExecQuery("SELECT CLIENTE, USUARIO, FECHA_PUNTEO, LATITUD, LONGITUD, ALMACEN, RUTA_REPARTO, RUTA_PREV, FECHA_PREVENTA, MOTIVO, COMENTARIO,TIPO FROM REPARTO_GEO")
If c.RowCount>0 Then
Log($"Procesando REPARTO_GEO: ${c.RowCount} registros"$)
totalRegistros = totalRegistros + c.RowCount
totalRegistrosTotales = totalRegistrosTotales + c.RowCount
Log($"Total acumulado: ${totalRegistros}"$)
For i=0 To c.RowCount -1
c.Position=i
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "insert_REPARTO_MAZAPA"
cmd.Parameters = Array As Object(c.GetString("CLIENTE"), c.GetString("USUARIO"), c.GetString("FECHA_PUNTEO"), c.GetString("LATITUD"), c.GetString("LONGITUD"), c.GetString("ALMACEN"), c.GetString("RUTA_REPARTO"), c.GetString("RUTA_PREV"), c.GetString("FECHA_PREVENTA"), c.GetString("MOTIVO"), c.GetString("COMENTARIO"),c.GetString("TIPO"))
reqManager.ExecuteCommand(cmd , $"ins_REPARTOPendientes_head_${c.GetString("CLIENTE")}"$)
Next
End If
c.Close
End Sub

View File

@@ -724,8 +724,13 @@ Sub b_prodMas_Click
If c2.GetString("HVD_CODPROMO") = Subs.traeAlmacen Then
Private pup As String = c2.GetString("HVD_COSTO_TOT")/c2.GetString("HVD_CANT")
' Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = HVD_RECHAZOCANT - 1 WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente = '${esteTag.Get(5)}'"$)
Starter.skmt.ExecNonQuery($"update PEDIDO set PE_CANT = IFNULL(PE_CANT,0)+(1*'${minimoadesc}'), PE_COSTO_TOT= ((IFNULL(PE_CANT,0)+(1*'${minimoadesc}'))*'${pup}') WHERE PE_PROID = '${esteTag.Get(2)}' and PE_CLIENTE in (Select CUENTA from cuentaa) AND CONSECUTIVO = '${esteTag.Get(6)}'"$)
If c2.GetString("HVD_LISTAPRECIO") = "2" Then
Starter.skmt.ExecNonQuery($"update PEDIDO set PE_CANT = IFNULL(PE_CANT,0)+(1*'${minimoadesc}'), PE_COSTO_TOT= ((IFNULL(PE_CANT,0)+(1*'${minimoadesc}'))*'${preciofull}') WHERE PE_PROID = '${esteTag.Get(2)}' and PE_CLIENTE in (Select CUENTA from cuentaa) AND CONSECUTIVO = '${esteTag.Get(6)}'"$)
Else
Starter.skmt.ExecNonQuery($"update PEDIDO set PE_CANT = IFNULL(PE_CANT,0)+(1*'${minimoadesc}'), PE_COSTO_TOT= ((IFNULL(PE_CANT,0)+(1*'${minimoadesc}'))*'${pup}') WHERE PE_PROID = '${esteTag.Get(2)}' and PE_CLIENTE in (Select CUENTA from cuentaa) AND CONSECUTIVO = '${esteTag.Get(6)}'"$)
End If
Else
Starter.skmt.ExecNonQuery($"update PEDIDO set PE_CANT = IFNULL(PE_CANT,0)+(1*'${minimoadesc}'), PE_COSTO_TOT= ((IFNULL(PE_CANT,0)+(1*'${minimoadesc}'))*'${preciofull}') WHERE PE_PROID = '${esteTag.Get(2)}' and PE_CLIENTE in (Select CUENTA from cuentaa) AND CONSECUTIVO = '${esteTag.Get(6)}'"$)
End If
@@ -758,8 +763,12 @@ Sub b_prodMas_Click
If c2.GetString("HVD_CODPROMO") = Subs.traeAlmacen Then
Private pup As String = c2.GetString("HVD_COSTO_TOT")/c2.GetString("HVD_CANT")
' Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = HVD_RECHAZOCANT - 1 WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente = '${esteTag.Get(5)}'"$)
Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO(PE_PROID,PE_PRONOMBRE,PE_CANT,PE_CLIENTEOR,PE_CLIENTE,PE_COSTOU,PE_COSTO_TOT,PE_CAJAS,PE_BCAJAS,CONSECUTIVO,PE_RUTA, PE_TIPO,PE_CEDIS,PE_FECHA,PE_USUARIO,FECHA_PREV,RUTA_REP,PE_REGALO) VALUES (?,?,?,?,?,?,?,0,0,?,?,?,?,?,?,?,?,?)", Array As String(esteTag.Get(2),c2.GetString("HVD_PRONOMBRE"),1*minimoadesc,esteTag.Get(5),Subs.traeCliente,(pup),(pup*minimoadesc),esteTag.Get(6),Subs.traerUTAPREV,"PREVENTA",Subs.traeAlmacen, sDate & " " & sTime, Subs.traeUsuario,Subs.traefECHAPREV, Subs.traeRutaReparto,esregalo))
If c2.GetString("HVD_LISTAPRECIO") = "2" Then
Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO(PE_PROID,PE_PRONOMBRE,PE_CANT,PE_CLIENTEOR,PE_CLIENTE,PE_COSTOU,PE_COSTO_TOT,PE_CAJAS,PE_BCAJAS,CONSECUTIVO,PE_RUTA, PE_TIPO,PE_CEDIS,PE_FECHA,PE_USUARIO,FECHA_PREV,RUTA_REP,PE_REGALO) VALUES (?,?,?,?,?,?,?,0,0,?,?,?,?,?,?,?,?,?)", Array As String(esteTag.Get(2),c2.GetString("HVD_PRONOMBRE"),1*minimoadesc,esteTag.Get(5),Subs.traeCliente,(preciofull),(preciofull*minimoadesc),esteTag.Get(6),Subs.traerUTAPREV,"PREVENTA",Subs.traeAlmacen, sDate & " " & sTime, Subs.traeUsuario,Subs.traefECHAPREV, Subs.traeRutaReparto,esregalo))
Else
Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO(PE_PROID,PE_PRONOMBRE,PE_CANT,PE_CLIENTEOR,PE_CLIENTE,PE_COSTOU,PE_COSTO_TOT,PE_CAJAS,PE_BCAJAS,CONSECUTIVO,PE_RUTA, PE_TIPO,PE_CEDIS,PE_FECHA,PE_USUARIO,FECHA_PREV,RUTA_REP,PE_REGALO) VALUES (?,?,?,?,?,?,?,0,0,?,?,?,?,?,?,?,?,?)", Array As String(esteTag.Get(2),c2.GetString("HVD_PRONOMBRE"),1*minimoadesc,esteTag.Get(5),Subs.traeCliente,(pup),(pup*minimoadesc),esteTag.Get(6),Subs.traerUTAPREV,"PREVENTA",Subs.traeAlmacen, sDate & " " & sTime, Subs.traeUsuario,Subs.traefECHAPREV, Subs.traeRutaReparto,esregalo))
End If
Else
Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO(PE_PROID,PE_PRONOMBRE,PE_CANT,PE_CLIENTEOR,PE_CLIENTE,PE_COSTOU,PE_COSTO_TOT,PE_CAJAS,PE_BCAJAS,CONSECUTIVO,PE_RUTA, PE_TIPO,PE_CEDIS,PE_FECHA,PE_USUARIO,FECHA_PREV,RUTA_REP,PE_REGALO) VALUES (?,?,?,?,?,?,?,0,0,?,?,?,?,?,?,?,?,?)", Array As String(esteTag.Get(2),c2.GetString("HVD_PRONOMBRE"),1*minimoadesc,esteTag.Get(5),Subs.traeCliente,(preciofull),(preciofull*minimoadesc),esteTag.Get(6),Subs.traerUTAPREV,"PREVENTA",Subs.traeAlmacen, sDate & " " & sTime, Subs.traeUsuario,Subs.traefECHAPREV, Subs.traeRutaReparto,esregalo))
End If

Binary file not shown.

Binary file not shown.

Binary file not shown.

226
B4A/FirebaseMessaging.bas Normal file
View File

@@ -0,0 +1,226 @@
B4A=true
Group=Default Group
ModulesStructureVersion=1
Type=Service
Version=10.2
@EndOfDesignText@
'///////////////////////////////////////////////////////////////////////////////////////
'/// Agregar estas lineas al editor de manifiestos
'
' CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)
' CreateResourceFromFile(Macro, FirebaseAnalytics.Firebase)
' CreateResourceFromFile(Macro, FirebaseAnalytics.FirebaseAnalytics)
' CreateResourceFromFile(Macro, FirebaseNotifications.FirebaseNotifications)
'
'/// Agregar modulo de servicio nuevo FirebaseMessaging y copiar este modulo
'
'/// Bajar el archivo google-services.json de la consola de Firebase (https://console.firebase.google.com/)
'/// El nombre de la app en el archivo json tiene que ser el mismo que el nombre del paquete (Proyecto/Conf de Compilacion/Paquete)
'
'/// En Starter agregar esta linea
'
' Sub Service_Create
' CallSubDelayed(FirebaseMessaging, "SubscribeToTopics")
' End Sub
'
'/// En Main en Sub Process_Globals agregar esta linea
'
' Private const API_KEY As String = "AAAAv__xxxxxxxxxxxxx-xxxxxxxxxxxxxx-xxxxxxxxxxxx"
'
'/// Esta llave se consigue igualmente en la consola de Firebase, configuracion de proyecto, Cloud Messaging,
'/// es la clave de servidor.
'///
'/// Se necesitan agregar las librerías: FirebaseAnalitics, FirebaseNotifications, JSON y OkHttpUtils2
'/// ... JSON es necesario si se van a enviar mensajes, si solo se van a recibir, no es necesario.
'
'///////////////////////////////////////////////////////////////////////////////////////
Sub Process_Globals
Private fm As FirebaseMessaging
Private const API_KEY As String = "AAAAv1qt3Lk:APA91bECIR-pHn6ul53eYyoVlpPuOo85RO-0zcAgEXwE7vqw8DFSbBtCaCINiqWQAkBBZXxHtQMdpU6B-jHIqgFKVL196UgwHv0Gw6_IgmipfV_NiItjzlH9d2QNpGLp9y_JUKVjUEhP" 'Api_Key cheveguerra@gmail.com/Pusher
Dim locRequest As String
' Dim phn As Phone
Dim pe As PhoneEvents
Dim c As Cursor
Public GZip As GZipStrings
Dim Sprvsr As String = "Sprv-Cedex" ' El topico al que se mandan los mensajes push
Dim Subscrito As String
Dim au As String 'ignore
End Sub
Sub Service_Create
fm.Initialize("fm") 'Inicializamos FirebaseMessaging
pe.Initialize("pe") 'Para obtener la bateria
End Sub
Public Sub SubscribeToTopics
' fm.SubscribeToTopic("Trckr") 'Topico general Keymon
fm.SubscribeToTopic("Trckr") 'Tracker Global
' Log("Suscrito al tracker global")
fm.SubscribeToTopic("Trckr-Cedex") 'Topico de Guna
If "Cdx_"&B4XPages.MainPage.usuario <> Subscrito Then
fm.SubscribeToTopic("Cdx_"&B4XPages.MainPage.usuario) 'Propio (you can subscribe to more topics)
fm.UnsubscribeFromTopic(Subscrito) 'Unsubscribe from topic
End If
' Log("Subscrito a "&"Cdx_"&B4XPages.MainPage.usuario)
Subscrito = "Cdx_"&B4XPages.MainPage.usuario
' Log(fm.token)
' fm.UnsubscribeFromTopic("Sprvsr") 'Unsubscribe from topic
End Sub
Sub Service_Start (StartingIntent As Intent)
If StartingIntent.IsInitialized Then fm.HandleIntent(StartingIntent)
Sleep(0)
Service.StopAutomaticForeground 'remove if not using B4A v8+.
StartServiceAt(Me, DateTime.Now + 15 * DateTime.TicksPerMinute, True) 'Iniciamos servicio cada XX minutos
End Sub
Sub fm_MessageArrived (Message As RemoteMessage)
Log("Message arrived")
Log($"Message data: ${Message.GetData}"$)
' getPhnId
If Message.GetData.ContainsKey("t") Then
Dim tipos As List = Regex.Split(",",Message.GetData.Get("t"))
If tipos.IndexOf("pu") <> -1 Or tipos.IndexOf("au") <> -1 Then 'Si es una peticion de ubicacion
Log("Es una peticion de ubicacion")
locRequest="Activa"
Log("Llamamos StartFLPSmall")
CallSubDelayed(Tracker, "StartFLPSmall")
CallSubDelayed(Tracker, "StartFLP")
End If
If tipos.IndexOf("au") <> -1 Then 'Si es una actualizacion de ubicacion
au = 1
End If
If tipos.IndexOf("ping") <> -1 Then 'Si es un ping
Log("Es un ping")
Log("Mandamos pong")
Dim params As Map = CreateMap("topic":Sprvsr,"title":"pong", "body":B4XPages.MainPage.usuario&" - Recibi mensaje "&Message.GetData.Get("title"), "t":"pong")
SendMessage(params)
End If
If tipos.IndexOf("bgps") <> -1 Then 'Si es una instruccion de borrar archivo gps
Log("Es una instruccion de borrar archivo gps")
Log("Borramos archivo gps")
borramosArchivoGPS
End If
If tipos.IndexOf("dr") <> -1 Then 'Si es una peticion de ruta gps
Log("Es una peticion de Ruta GPS")
Dim rutaGpsCmp As String = dameRuta
Dim params As Map = CreateMap("topic":Sprvsr,"title":"ruta", "body":B4XPages.MainPage.usuario&" - Recibi mensaje "&Message.GetData.Get("title"), "t":"ruta", "r":rutaGpsCmp)
SendMessage(params)
End If
If tipos.IndexOf("bgps2") <> -1 Then 'Si es una instruccion de borrar DB gps
Log("Es una instruccion de borrar BD gps")
Log("Borramos BD gps")
borraGPSHist
End If
If tipos.IndexOf("pu") = -1 And tipos.IndexOf("au") = -1 And tipos.IndexOf("ping") = -1 And tipos.IndexOf("dr") = -1 Then
Log("No es ping ni solicitud de ubicacion o ruta, entonces no hacemos nada")
End If
End If
' Dim n As Notification
' n.Initialize
' n.Icon = "icon"
' n.SetInfo("Guna", "Guna", Main)
' n.Notify(1)
End Sub
Sub Service_Destroy
End Sub
Sub SendMessage(params As Map)
' Dim topic As String= params.Get("topic")
' Dim title As String= params.Get("title")
' Dim body As String= params.Get("body")
' Dim tipo As String= params.Get("t")
' If params.ContainsKey("r") Then
' Log("Con ruta")
' Dim rutaGpsCmp As String= params.Get("r")
' Else
' Log("Sin ruta")
' Dim rutaGpsCmp As String = ""
' End If
' Dim Job As HttpJob
' Job.Initialize("fcm", Me)
' Dim m As Map = CreateMap("to": $"/topics/${topic}"$)
' Dim data As Map = CreateMap("title":title, "body":body, "d":B4XPages.MainPage.usuario, "t":tipo, "b":B4XPages.MainPage.batt, "mt":B4XPages.MainPage.montoActual, "r":rutaGpsCmp, "v":B4XPages.MainPage.v)
' m.Put("data", data)
' Dim jg As JSONGenerator
' jg.Initialize(m)
' Job.PostString("https://fcm.googleapis.com/fcm/send", jg.ToString)
' Job.GetRequest.SetContentType("application/json;charset=UTF-8")
' Job.GetRequest.SetHeader("Authorization", "key=" & API_KEY)
' Log(m) 'ignore
End Sub
Sub mandamosLoc(coords As String)
' Log("Iniciamos mandamosLoc "&coords)
' Log("locRequest="&locRequest)
If locRequest="Activa" Then 'Si hay solicitud de ubicacion, entonces la mandamos ...
Dim params As Map = CreateMap("topic":Sprvsr,"title":"ubicacionRecibida", "body":coords, "t":"u")
SendMessage(params)
locRequest="Enviada"
CallSubDelayed(Tracker,"CreateLocationRequest")
End If
End Sub
Sub guardaInfoEnArchivo(coords As String) 'ignore 'Escribimos coordenadas y fecha a un archivo de texto
' Log("Guardamos ubicacion en BD")
' Dim latlon() As String = Regex.Split(",", coords)
' B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO RUTA_GPS(FECHA, LAT, LON) VALUES (?,?,?)", Array As Object (latlon(2),latlon(0),latlon(1)))
End Sub
Sub borramosArchivoGPS
Dim out As OutputStream = File.OpenOutput(File.DirRootExternal, "gps.txt", False)
Dim s As String = ""
Dim t() As Byte = s.GetBytes("UTF-8")
out.WriteBytes(t, 0, t.Length)
out.Close
End Sub
Sub pe_BatteryChanged (Level As Int, Scale As Int, Plugged As Boolean, Intent As Intent)
B4XPages.MainPage.batt=Level
End Sub
Sub compress(str As String) As String
' Compression
Private su As StringUtils
Dim compressed() As Byte = GZip.compress(str)
Log($"CompressedBytesLength: ${compressed.Length}"$)
Dim base64 As String = su.EncodeBase64(compressed)
Log($"CompressedBytes converted to base64 Length: ${base64.Length}"$)
Log($"CompressedBytes converted to base64: ${base64}"$)
Return base64
End Sub
Sub decompress(base64 As String) As String 'ignore
' Decompression
Private su As StringUtils
Dim decompressedbytes() As Byte = su.DecodeBase64(base64)
Log($"decompressedbytesLength: ${decompressedbytes.Length}"$)
Dim bc As ByteConverter
Dim uncompressed As String = bc.StringFromBytes(decompressedbytes,"UTF8")
Log($"uncompressedLength: ${uncompressed.Length}"$) ' 6163 Bytes
Log($"Decompressed String = ${uncompressed}"$)
Return uncompressed
End Sub
Sub dameRuta As String
' Log("dameRuta")
' Dim c As Cursor
' c = B4XPages.MainPage.skmt.ExecQuery("select LAT, LON from RUTA_GPS order by FECHA desc limit 390")
' c.Position = 0
' Dim ruta2 As String = ""
' If c.RowCount>0 Then
' For i=0 To c.RowCount -1
' c.Position=i
' ruta2=ruta2&CRLF&c.GetString("LAT")&","&c.GetString("LON")
' Next
' End If
' c.Close
' Return compress(ruta2)
End Sub
Sub borraGPSHist
' c = B4XPages.MainPage.skmt.ExecQuery("delete FROM RUTA_GPS")
End Sub

File diff suppressed because one or more lines are too long

View File

@@ -23,6 +23,7 @@ ModuleBookmarks28=
ModuleBookmarks29=
ModuleBookmarks3=
ModuleBookmarks30=
ModuleBookmarks31=
ModuleBookmarks4=
ModuleBookmarks5=
ModuleBookmarks6=
@@ -54,6 +55,7 @@ ModuleBreakpoints28=
ModuleBreakpoints29=
ModuleBreakpoints3=
ModuleBreakpoints30=
ModuleBreakpoints31=
ModuleBreakpoints4=
ModuleBreakpoints5=
ModuleBreakpoints6=
@@ -85,12 +87,13 @@ ModuleClosedNodes28=
ModuleClosedNodes29=
ModuleClosedNodes3=
ModuleClosedNodes30=
ModuleClosedNodes31=
ModuleClosedNodes4=
ModuleClosedNodes5=
ModuleClosedNodes6=
ModuleClosedNodes7=
ModuleClosedNodes8=
ModuleClosedNodes9=
NavigationStack=C_Principal,B4XPage_Created,136,0,C_Productos,B4XPage_Created,66,0,C_Productos,B4XPage_Appear,92,6,C_Productos,Class_Globals,52,0,C_Principal,Class_Globals,100,0,C_Principal,B4XPage_Appear,172,6,Diseñador Visual,principal.bal,-100,6,C_Principal,envioinfo,956,2,C_NoVenta,GUARDA_Click,132,1,C_Cliente,B4XPage_Appear,298,0,C_Cliente,GPS_LocationChanged,339,0
NavigationStack=C_Principal,envioinfo,824,0,Diseñador Visual,principal.bal,-100,4,C_Principal,connecta_LongClick,2172,0,C_Principal,B4XPage_Appear,418,6,Starter,Timer1_Tick,95,0,Starter,ENVIA_ULTIMA_GPS,98,0,Starter,Process_Globals,31,3,B4XMainPage,B4XPage_Created,210,4,C_Principal,cargar_Click,1057,0,C_Principal,JobDone,1432,0
SelectedBuild=0
VisibleModules=1,2,6,7,16,30,28,29,17,13
VisibleModules=1,2,6,7,16,31,29,30,17,13

View File

@@ -3,7 +3,7 @@
xmlns:android="http://schemas.android.com/apk/res/android"
package="reparto_mazapa.keymon.lat"
android:versionCode="1"
android:versionName="5.03.31"
android:versionName="5.05.20"
android:installLocation="internalOnly">
<uses-sdk android:minSdkVersion="5" android:targetSdkVersion="33"/>
@@ -47,6 +47,7 @@
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
<uses-permission android:name="reparto_mazapa.keymon.lat.permission.MAPS_RECEIVE"/>
@@ -57,13 +58,11 @@
<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:name="androidx.multidex.MultiDexApplication"
android:icon="@drawable/icon"
android:label="MAZAPA Reparto"
android:theme="@style/LightTheme"
@@ -159,6 +158,14 @@
android:name=".starter$starter_BR"
android:exported="true">
</receiver>
<service
android:name=".firebasemessaging"
android:exported="true">
</service>
<receiver
android:name=".firebasemessaging$firebasemessaging_BR"
android:exported="true">
</receiver>
<activity
android:windowSoftInputMode="stateHidden"
android:launchMode="singleTop"

Binary file not shown.

Binary file not shown.

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