mirror of
https://github.com/KeymonSoft/Intmex_Multiventa.git
synced 2026-04-19 05:39:19 +00:00
- VERSION 5.05.11
- Se agrego en "Principal" que cuando haya pedidos pendientes, aparezca un mensaje y el estatus del envio de los pedidos. - Se agregó en "Principal" un icono de "conexion" en la esquina superior derecha, que dependiendo de la conexion se pone verde o rojo. - Se agrego la version y el estatus de la conexion a tmp_drop. - Se agrego la version y el estatus de la conexion a la ubicacion em tiempo real (CAT_RUTAS)
This commit is contained in:
@@ -451,10 +451,34 @@ Sub JobDone(Job As HttpJob)
|
|||||||
End If
|
End If
|
||||||
If Job.Success = False Then
|
If Job.Success = False Then
|
||||||
LogColor("Error: " & Job.tag & " : " & Job.ErrorMessage, Colors.red)
|
LogColor("Error: " & Job.tag & " : " & Job.ErrorMessage, Colors.red)
|
||||||
|
If Job.Tag = "ping" Then 'query tag
|
||||||
|
' Log("ERROR DE PING")
|
||||||
|
' B4XPages.MainPage.principal.p_conexion.Color = Colors.red
|
||||||
|
If B4XPages.MainPage.principal.l_conexion.IsInitialized Then
|
||||||
|
Starter.senial = 0
|
||||||
|
B4XPages.MainPage.principal.l_conexion.TextColor = Colors.red
|
||||||
|
End If
|
||||||
|
End If
|
||||||
Else
|
Else
|
||||||
LogColor("JobDone: '" & reqManager.HandleJob(Job).tag & "' - Registros: " & reqManager.HandleJob(Job).Rows.Size, Colors.Green) 'Mod por CHV - 211027
|
LogColor("JobDone: '" & reqManager.HandleJob(Job).tag & "' - Registros: " & reqManager.HandleJob(Job).Rows.Size, Colors.Green) 'Mod por CHV - 211027
|
||||||
If Job.JobName = "DBRequest" Then
|
If Job.JobName = "DBRequest" Then
|
||||||
Dim result As DBResult = reqManager.HandleJob(Job)
|
Dim result As DBResult = reqManager.HandleJob(Job)
|
||||||
|
If result.Tag = "ping" Then 'query tag
|
||||||
|
' Log("PING OK!!")
|
||||||
|
If B4XPages.MainPage.principal.l_conexion.IsInitialized Then
|
||||||
|
Starter.senial = 1
|
||||||
|
B4XPages.MainPage.principal.l_conexion.TextColor = Colors.Green
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
If result.Tag = "fecha" Then 'query tag
|
||||||
|
For Each records() As Object In result.Rows
|
||||||
|
For Each k As String In result.Columns.Keys
|
||||||
|
Log("select_fechat: " & k & ": " & records(result.Columns.Get(k)))
|
||||||
|
Next
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
|
||||||
If result.Tag = "version" Then 'query tag
|
If result.Tag = "version" Then 'query tag
|
||||||
For Each records() As Object In result.Rows
|
For Each records() As Object In result.Rows
|
||||||
skmt.ExecNonQuery("delete from VERSION")
|
skmt.ExecNonQuery("delete from VERSION")
|
||||||
@@ -470,19 +494,13 @@ Sub JobDone(Job As HttpJob)
|
|||||||
Next
|
Next
|
||||||
Next
|
Next
|
||||||
End If
|
End If
|
||||||
End If
|
|
||||||
|
|
||||||
If Job.JobName = "DBRequest" Then
|
|
||||||
Dim result As DBResult = reqManager.HandleJob(Job)
|
|
||||||
If result.Tag = "agencia" Then 'query tag
|
If result.Tag = "agencia" Then 'query tag
|
||||||
For Each records() As Object In result.Rows
|
For Each records() As Object In result.Rows
|
||||||
Dim ID_ALMACEN As String = records(result.Columns.Get("ID_ALMACEN"))
|
Dim ID_ALMACEN As String = records(result.Columns.Get("ID_ALMACEN"))
|
||||||
Next
|
Next
|
||||||
End If
|
End If
|
||||||
End If
|
|
||||||
|
|
||||||
If Job.JobName = "DBRequest" Then
|
|
||||||
Dim result As DBResult = reqManager.HandleJob(Job)
|
|
||||||
If result.Tag = "fecha" Then 'query tag
|
If result.Tag = "fecha" Then 'query tag
|
||||||
For Each records() As Object In result.Rows
|
For Each records() As Object In result.Rows
|
||||||
Dim FECHA_HOY As String = records(result.Columns.Get("FECHA"))
|
Dim FECHA_HOY As String = records(result.Columns.Get("FECHA"))
|
||||||
@@ -490,10 +508,7 @@ Sub JobDone(Job As HttpJob)
|
|||||||
skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("FECHA",FECHA_HOY))
|
skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("FECHA",FECHA_HOY))
|
||||||
Next
|
Next
|
||||||
End If
|
End If
|
||||||
End If
|
|
||||||
|
|
||||||
If Job.JobName = "DBRequest" Then
|
|
||||||
Dim result As DBResult = reqManager.HandleJob(Job)
|
|
||||||
If result.Tag = "usuario" Then 'query tag
|
If result.Tag = "usuario" Then 'query tag
|
||||||
For Each records() As Object In result.Rows
|
For Each records() As Object In result.Rows
|
||||||
Dim name As String = records(result.Columns.Get("USUARIO"))
|
Dim name As String = records(result.Columns.Get("USUARIO"))
|
||||||
@@ -505,10 +520,7 @@ Sub JobDone(Job As HttpJob)
|
|||||||
ToastMessageShow(name, False)
|
ToastMessageShow(name, False)
|
||||||
Log("////////////////////////// "&name)
|
Log("////////////////////////// "&name)
|
||||||
End If
|
End If
|
||||||
End If
|
|
||||||
|
|
||||||
If Job.JobName = "DBRequest" Then
|
|
||||||
Dim result As DBResult = reqManager.HandleJob(Job)
|
|
||||||
If result.Tag = "usuario_10" Then 'query tag
|
If result.Tag = "usuario_10" Then 'query tag
|
||||||
For Each records() As Object In result.Rows
|
For Each records() As Object In result.Rows
|
||||||
Dim name As String = records(result.Columns.Get("USUARIO"))
|
Dim name As String = records(result.Columns.Get("USUARIO"))
|
||||||
@@ -520,19 +532,18 @@ Sub JobDone(Job As HttpJob)
|
|||||||
IMEI_BASE = ""
|
IMEI_BASE = ""
|
||||||
IMEI = ""
|
IMEI = ""
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
If result.Tag = "ruta" Then 'query tag
|
||||||
|
Log("JOBDONE PRINCIPAL MAINPAGE")
|
||||||
|
For Each records() As Object In result.Rows
|
||||||
|
Dim VALIDO As String = records(result.Columns.Get("VALIDO"))
|
||||||
|
If VALIDO = "OK" Then
|
||||||
|
Log(VALIDO)
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If result.Tag = "ruta" Then 'query tag
|
|
||||||
Log("JOBDONE PRINCIPAL MAINPAGE")
|
|
||||||
For Each records() As Object In result.Rows
|
|
||||||
Dim VALIDO As String = records(result.Columns.Get("VALIDO"))
|
|
||||||
If VALIDO = "OK" Then
|
|
||||||
Log(VALIDO)
|
|
||||||
End If
|
|
||||||
Next
|
|
||||||
End If
|
|
||||||
|
|
||||||
|
|
||||||
Job.Release
|
Job.Release
|
||||||
End If
|
End If
|
||||||
Log($"Paso1 = ${paso1} - Name: ${name} - IMEI: ${IMEI} - IMEI_BASE: ${IMEI_BASE}"$)
|
Log($"Paso1 = ${paso1} - Name: ${name} - IMEI: ${IMEI} - IMEI_BASE: ${IMEI_BASE}"$)
|
||||||
|
|||||||
@@ -214,6 +214,10 @@ Sub Class_Globals
|
|||||||
Private L_VENTA As Label
|
Private L_VENTA As Label
|
||||||
Private L_PREVENTA As Label
|
Private L_PREVENTA As Label
|
||||||
Dim validador As C_Validador
|
Dim validador As C_Validador
|
||||||
|
Dim p_muestraPendientes As Panel
|
||||||
|
Private b_muestraPendientes As Button
|
||||||
|
' Dim p_conexion As Panel
|
||||||
|
Dim l_conexion As Label
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
'You can add more parameters here.
|
'You can add more parameters here.
|
||||||
@@ -228,7 +232,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
|
|||||||
Root.LoadLayout("principal")
|
Root.LoadLayout("principal")
|
||||||
rd.Initialize
|
rd.Initialize
|
||||||
rd.vacuum
|
rd.vacuum
|
||||||
validador.Initialize
|
validador.Initialize(Me, "val")
|
||||||
EJECUTANDO=1
|
EJECUTANDO=1
|
||||||
Dim ruta As String
|
Dim ruta As String
|
||||||
img2.Visible =False
|
img2.Visible =False
|
||||||
@@ -301,6 +305,10 @@ Private Sub B4XPage_Created (Root1 As B4XView)
|
|||||||
l_rutasuplencia.Text = s.GetString("RS_RUTA")
|
l_rutasuplencia.Text = s.GetString("RS_RUTA")
|
||||||
End If
|
End If
|
||||||
Starter.Skmt.ExecNonQuery($"create table if not exists kmt_info2 (${getTableColumnList(Starter.skmt, "kmt_info")})"$)
|
Starter.Skmt.ExecNonQuery($"create table if not exists kmt_info2 (${getTableColumnList(Starter.skmt, "kmt_info")})"$)
|
||||||
|
p_mandaInfo.Left = 0: p_mandaInfo.top = 0
|
||||||
|
p_muestraPendientes.Left = Root.Width - p_muestraPendientes.Width - 5dip
|
||||||
|
' p_conexion.Top = 1 : p_conexion.left = Root.width - p_conexion.width
|
||||||
|
l_conexion.Top = 0 : l_conexion.left = Root.width - l_conexion.width -2
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Sub chkIfTableExists(db As SQL, table As String) As Boolean 'ignore
|
Sub chkIfTableExists(db As SQL, table As String) As Boolean 'ignore
|
||||||
@@ -490,8 +498,6 @@ Sub B4XPage_Appear
|
|||||||
c.Close
|
c.Close
|
||||||
bu.Initialize
|
bu.Initialize
|
||||||
batterystatus = bu.BatteryInformation
|
batterystatus = bu.BatteryInformation
|
||||||
|
|
||||||
|
|
||||||
c=B4XPages.MainPage.skmt.ExecQuery("select usuario from usuarioa")
|
c=B4XPages.MainPage.skmt.ExecQuery("select usuario from usuarioa")
|
||||||
c.Position = 0
|
c.Position = 0
|
||||||
usuario = c.GetString("USUARIO")
|
usuario = c.GetString("USUARIO")
|
||||||
@@ -503,38 +509,47 @@ Sub B4XPage_Appear
|
|||||||
B4XPages.MainPage.clientesvisitados = l_porvisitar.TEXT
|
B4XPages.MainPage.clientesvisitados = l_porvisitar.TEXT
|
||||||
B4XPages.MainPage.ALMACEN = ALMACEN
|
B4XPages.MainPage.ALMACEN = ALMACEN
|
||||||
B4XPages.MainPage.rutapreventa = l_ruta.text
|
B4XPages.MainPage.rutapreventa = l_ruta.text
|
||||||
|
c = B4XPages.MainPage.skmt.ExecQuery("select usuario from usuarioa")
|
||||||
'////// Para el usuario global - Chv
|
|
||||||
c=B4XPages.MainPage.skmt.ExecQuery("select usuario from usuarioa")
|
|
||||||
c.Position = 0
|
c.Position = 0
|
||||||
usuario = c.GetString("USUARIO")
|
usuario = c.GetString("USUARIO")
|
||||||
B4XPages.MainPage.usuario = usuario
|
B4XPages.MainPage.usuario = usuario
|
||||||
c.Close
|
c.Close
|
||||||
'///////
|
|
||||||
CallSub(Starter, "ENVIA_ULTIMA_GPS")
|
CallSub(Starter, "ENVIA_ULTIMA_GPS")
|
||||||
|
|
||||||
|
|
||||||
s = B4XPages.MainPage.skmt.ExecQuery("select RS_RUTA FROM RUTA_SUPLENCIA")
|
s = B4XPages.MainPage.skmt.ExecQuery("select RS_RUTA FROM RUTA_SUPLENCIA")
|
||||||
s.Position = 0
|
s.Position = 0
|
||||||
If s.RowCount = 0 Then
|
If s.RowCount = 0 Then
|
||||||
|
|
||||||
Label22.Visible = False
|
Label22.Visible = False
|
||||||
l_rutasuplencia.Visible = False
|
l_rutasuplencia.Visible = False
|
||||||
l_rutasuplencia.Text = ""
|
l_rutasuplencia.Text = ""
|
||||||
|
|
||||||
Else If s.RowCount > 0 Then
|
Else If s.RowCount > 0 Then
|
||||||
|
|
||||||
Label22.Visible = True
|
Label22.Visible = True
|
||||||
l_rutasuplencia.Visible = True
|
l_rutasuplencia.Visible = True
|
||||||
l_rutasuplencia.Text = s.GetString("RS_RUTA")
|
l_rutasuplencia.Text = s.GetString("RS_RUTA")
|
||||||
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
' If l_ruta.Text = "0" Then
|
' If l_ruta.Text = "0" Then
|
||||||
' b_abordo.Visible = False
|
' b_abordo.Visible = False
|
||||||
' Else
|
' Else
|
||||||
' b_abordo.Visible = True
|
' b_abordo.Visible = True
|
||||||
' End If
|
' End If
|
||||||
|
Dim RedDisponible As Phone
|
||||||
|
Log("GetNetworkOperatorName: "&RedDisponible.GetNetworkOperatorName)
|
||||||
|
Log("GetNetworkType: "&RedDisponible.GetNetworkType)
|
||||||
|
Log("GetPhoneType: "&RedDisponible.GetPhoneType)
|
||||||
|
' If RedDisponible.GetNetworkOperatorName <> "" And RedDisponible.GetNetworkType <> "UNKNOWN" Then
|
||||||
|
' Log("Red Disponible")
|
||||||
|
' Else
|
||||||
|
' Log("Red no disponible")
|
||||||
|
' End If
|
||||||
|
Log("GetDataState: " & RedDisponible.GetDataState)
|
||||||
|
Log("IsAirplaneModeOn: " & RedDisponible.IsAirplaneModeOn)
|
||||||
|
Log("|" & validador.buscaSinEnviar & "|")
|
||||||
|
If validador.buscaSinEnviar > 0 Then
|
||||||
|
p_muestraPendientes.Visible = True
|
||||||
|
b_muestraPendientes.Enabled = True
|
||||||
|
b_muestraPendientes.text = "Enviar"
|
||||||
|
Else
|
||||||
|
p_muestraPendientes.Visible = False
|
||||||
|
End If
|
||||||
validador.iniciaValidacion
|
validador.iniciaValidacion
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
@@ -737,8 +752,8 @@ Sub Subir_Click
|
|||||||
sTime=DateTime.Time(DateTime.Now)
|
sTime=DateTime.Time(DateTime.Now)
|
||||||
Dim cmd As DBCommand
|
Dim cmd As DBCommand
|
||||||
cmd.Initialize
|
cmd.Initialize
|
||||||
cmd.Name ="insert_drop_INTMEX_2"
|
cmd.Name ="insert_drop_INTMEX_3"
|
||||||
cmd.Parameters = Array As Object(usuario,l_ruta.Text,sDate & sTime, l_porvisitar.Text,l_drop.Text,l_efectiva.Text,l_cuantosc.Text,l_cuantosn.Text, L_MONTOD.Text,"ENVIO",ALMACEN)
|
cmd.Parameters = Array As Object(usuario,l_ruta.Text,sDate & sTime, l_porvisitar.Text,l_drop.Text,l_efectiva.Text,l_cuantosc.Text,l_cuantosn.Text, L_MONTOD.Text,"ENVIO",ALMACEN, Application.VersionName, Starter.senial)
|
||||||
reqManager.ExecuteCommand(cmd , "inst_noventa")
|
reqManager.ExecuteCommand(cmd , "inst_noventa")
|
||||||
img2.Visible =True
|
img2.Visible =True
|
||||||
PORCENTAJE = Round(100/ (cuantos_noventa + cuantos_pedido + cuantos_pedidosc + 1))
|
PORCENTAJE = Round(100/ (cuantos_noventa + cuantos_pedido + cuantos_pedidosc + 1))
|
||||||
@@ -876,8 +891,8 @@ Sub cargar_Click
|
|||||||
' imei = P.GetDeviceId
|
' imei = P.GetDeviceId
|
||||||
imei = "xxxx"
|
imei = "xxxx"
|
||||||
cmd.Initialize
|
cmd.Initialize
|
||||||
cmd.Name ="insert_drop_INTMEX_2"
|
cmd.Name ="insert_drop_INTMEX_3"
|
||||||
cmd.Parameters = Array As Object(usuario,e_ruta.text,sDate,imei,sTime,"","","","","CARGA",ALMACEN)
|
cmd.Parameters = Array As Object(usuario,e_ruta.text,sDate,imei,sTime,"","","","","CARGA",ALMACEN, Application.VersionName, Starter.senial)
|
||||||
reqManager.ExecuteCommand(cmd , "inst_noventa")
|
reqManager.ExecuteCommand(cmd , "inst_noventa")
|
||||||
|
|
||||||
cmd.Initialize
|
cmd.Initialize
|
||||||
@@ -2665,4 +2680,35 @@ Private Sub b_abordo_Click
|
|||||||
Starter.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object("0"))
|
Starter.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object("0"))
|
||||||
B4XPages.MainPage.tipo_venta = "ABORDO"
|
B4XPages.MainPage.tipo_venta = "ABORDO"
|
||||||
B4XPages.ShowPage("Productos")
|
B4XPages.ShowPage("Productos")
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub b_muestraPendientes_Click
|
||||||
|
validador.iniciaValidacion
|
||||||
|
b_muestraPendientes.Enabled = False
|
||||||
|
b_muestraPendientes.TextColor = Colors.white
|
||||||
|
B4XPages.ShowPage("ticketsDia")
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub val_Guardando(msg As String)
|
||||||
|
Log("##################################################" & CRLF & msg)
|
||||||
|
b_muestraPendientes.Enabled = False
|
||||||
|
b_muestraPendientes.TextColor = Colors.white
|
||||||
|
b_muestraPendientes.Text = msg
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub val_Enviando(msg As String)
|
||||||
|
Log("##################################################" & CRLF & msg)
|
||||||
|
b_muestraPendientes.Text = msg
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub val_Validando(msg As String)
|
||||||
|
Log("##################################################" & CRLF & msg)
|
||||||
|
b_muestraPendientes.Text = msg
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub val_Terminado(msg As String)
|
||||||
|
Log("##################################################" & CRLF & msg)
|
||||||
|
b_muestraPendientes.Text = msg
|
||||||
|
Sleep (1000)
|
||||||
|
p_muestraPendientes.Visible = False
|
||||||
End Sub
|
End Sub
|
||||||
@@ -98,7 +98,7 @@ Sub B4XPage_Appear
|
|||||||
color = Colors.RGB(0,146,1)
|
color = Colors.RGB(0,146,1)
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
Log(estatus)
|
' Log(estatus)
|
||||||
Private cs As CSBuilder
|
Private cs As CSBuilder
|
||||||
cs.Initialize
|
cs.Initialize
|
||||||
ListView1.AddTwoLines(c.GetString("PC_CLIENTE"), _
|
ListView1.AddTwoLines(c.GetString("PC_CLIENTE"), _
|
||||||
|
|||||||
@@ -7,16 +7,21 @@ Version=12.8
|
|||||||
Sub Class_Globals
|
Sub Class_Globals
|
||||||
Private Root As B4XView 'ignore
|
Private Root As B4XView 'ignore
|
||||||
Private xui As XUI 'ignore
|
Private xui As XUI 'ignore
|
||||||
|
Private EventName As String 'ignore
|
||||||
|
Private CallBack As Object 'ignore
|
||||||
Dim reqManager As DBRequestManager
|
Dim reqManager As DBRequestManager
|
||||||
Dim timerValidador As Timer
|
Dim timerValidador As Timer
|
||||||
Dim intervalo As Int = 300
|
Dim intervalo As Int = 300
|
||||||
Dim skmt As SQL
|
Dim skmt As SQL
|
||||||
Dim c As Cursor
|
Dim c As Cursor
|
||||||
Dim sDate, sTime As String
|
Dim sDate, sTime As String
|
||||||
|
dim totalAValidar as int = 0
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
'You can add more parameters here.
|
'You can add more parameters here.
|
||||||
Public Sub Initialize As Object
|
Public Sub Initialize (vCallback As Object, vEventName As String) As Object
|
||||||
|
EventName = vEventName
|
||||||
|
CallBack = vCallback
|
||||||
reqManager.Initialize(Me, Starter.DBReqServer)
|
reqManager.Initialize(Me, Starter.DBReqServer)
|
||||||
timerValidador.Initialize("timerValidador", intervalo * 1000)
|
timerValidador.Initialize("timerValidador", intervalo * 1000)
|
||||||
timerValidador.Enabled = True
|
timerValidador.Enabled = True
|
||||||
@@ -57,6 +62,17 @@ Sub timerValidador_Tick
|
|||||||
iniciaValidacion
|
iniciaValidacion
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
' Regresa cuantos pedidos sin gardar o enviar hay.
|
||||||
|
Sub buscaSinEnviar As Int
|
||||||
|
Private x As Int = 0
|
||||||
|
Private f As Cursor = skmt.ExecQuery("SELECT count(*) as cuantos FROM PEDIDO_CLIENTE where PC_ENVIO_OK < 2 and PC_GUARDADO = 1")
|
||||||
|
If f.RowCount > 0 Then
|
||||||
|
f.Position = 0
|
||||||
|
x = f.GetInt("cuantos")
|
||||||
|
End If
|
||||||
|
Return x
|
||||||
|
End Sub
|
||||||
|
|
||||||
'Manda a web los pedidos GUARDADOS con ENVIO_OK = 0 y los pone en 1.
|
'Manda a web los pedidos GUARDADOS con ENVIO_OK = 0 y los pone en 1.
|
||||||
Sub mandaGuardados
|
Sub mandaGuardados
|
||||||
Log(">>>>>>> MANDA GUARDADOS")
|
Log(">>>>>>> MANDA GUARDADOS")
|
||||||
@@ -67,6 +83,7 @@ Sub mandaGuardados
|
|||||||
c = skmt.ExecQuery("SELECT * FROM PEDIDO_CLIENTE where PC_ENVIO_OK < 2 and PC_GUARDADO = 1")
|
c = skmt.ExecQuery("SELECT * FROM PEDIDO_CLIENTE where PC_ENVIO_OK < 2 and PC_GUARDADO = 1")
|
||||||
Log($"Pedido_Cliente PENDIENTE: ${c.RowCount}"$)
|
Log($"Pedido_Cliente PENDIENTE: ${c.RowCount}"$)
|
||||||
If c.RowCount > 0 Then
|
If c.RowCount > 0 Then
|
||||||
|
pedidoGuardando($"Guardando ..."$)
|
||||||
For i = 0 To c.RowCount - 1
|
For i = 0 To c.RowCount - 1
|
||||||
c.Position = i
|
c.Position = i
|
||||||
Log($"${c.GetString("PC_CLIENTE")}|${c.GetString("PC_FECHA")}|${c.GetString("PC_ENVIO_OK")}|"$)
|
Log($"${c.GetString("PC_CLIENTE")}|${c.GetString("PC_FECHA")}|${c.GetString("PC_ENVIO_OK")}|"$)
|
||||||
@@ -100,30 +117,16 @@ End Sub
|
|||||||
'Revisa que los pedidos con envio_ok < 2 esten completos en web y los pone en 2.
|
'Revisa que los pedidos con envio_ok < 2 esten completos en web y los pone en 2.
|
||||||
Sub revisaGuardados
|
Sub revisaGuardados
|
||||||
Log(">>>>>>> VALIDA GUARDADOS")
|
Log(">>>>>>> VALIDA GUARDADOS")
|
||||||
'' Dim PCNoArts As String
|
'' Dim PCNoArts As String
|
||||||
'' Dim PCMonto As String
|
'' Dim PCMonto As String
|
||||||
Private almacen As String = Subs.traeAlmacen
|
Private almacen As String = Subs.traeAlmacen
|
||||||
Private laRuta As String = Subs.traeRuta
|
Private laRuta As String = Subs.traeRuta
|
||||||
c = skmt.ExecQuery("SELECT * FROM PEDIDO_CLIENTE where PC_ENVIO_OK = 1")
|
|
||||||
Log($"Pedido_Cliente VALIDAR: ${c.RowCount}"$)
|
|
||||||
If c.RowCount > 0 Then
|
|
||||||
For i = 0 To c.RowCount - 1
|
|
||||||
c.Position = i
|
|
||||||
Log($"${c.GetString("PC_CLIENTE")}|${c.GetString("PC_FECHA")}|${c.GetString("PC_ENVIO_OK")}|"$)
|
|
||||||
Dim cmd As DBCommand
|
|
||||||
cmd.Initialize
|
|
||||||
cmd.Name = "validaPC_Intmex"
|
|
||||||
cmd.Parameters = Array As Object(c.GetString("PC_CLIENTE"), c.GetString("PC_USER"), c.GetString("PC_FECHA"), almacen, laRuta)
|
|
||||||
' PCNoArts = c.GetString("PC_NOART")
|
|
||||||
' PCMonto = c.GetString("PC_MONTO")
|
|
||||||
reqManager.ExecuteCommand(cmd , $"ins_revisaGuardados_head_${c.GetString("PC_CLIENTE")}"$)
|
|
||||||
Next
|
|
||||||
End If
|
|
||||||
|
|
||||||
'PEDIDO (Pendientes)
|
'PEDIDO (Pendientes)
|
||||||
c = skmt.ExecQuery($"SELECT * FROM PEDIDO where PE_ENVIO_OK = 1"$)
|
c = skmt.ExecQuery($"SELECT * FROM PEDIDO where PE_ENVIO_OK = 1"$)
|
||||||
Log($"Pedido VALIDAR: ${c.RowCount}"$)
|
Log($"Pedidos a VALIDAR: ${c.RowCount}"$)
|
||||||
If c.RowCount > 0 Then
|
If c.RowCount > 0 Then
|
||||||
|
pedidoEnviando($"Enviando ..."$)
|
||||||
For i = 0 To c.RowCount - 1
|
For i = 0 To c.RowCount - 1
|
||||||
c.Position=i
|
c.Position=i
|
||||||
Dim cmd As DBCommand
|
Dim cmd As DBCommand
|
||||||
@@ -134,6 +137,40 @@ Sub revisaGuardados
|
|||||||
' Log($">>>> INS_PEDIDO= ${C.GetString("PE_CEDIS")},${almacen},${C.GetString("PE_COSTO_TOT")},${C.GetString("PE_COSTOU")},${C.GetString("PE_CANT")}, ${C.GetString("PE_PRONOMBRE")}, ${C.GetString("PE_PROID")}, ${C.GetString("PE_CLIENTE")}, ${C.GetString("PE_FECHA")}, ${C.GetString("PE_USUARIO")}, ${C.GetString("PE_RUTA")}, ${C.GetString("PE_COSTO_SIN")}, ${C.GetString("PE_DESC")}, ${c.GetString("PE_FOLIO")}, ${PCNoArts}, ${PCMonto}, ${PCMonto}, ${c.GetString("PE_TICKET")}"$)
|
' Log($">>>> INS_PEDIDO= ${C.GetString("PE_CEDIS")},${almacen},${C.GetString("PE_COSTO_TOT")},${C.GetString("PE_COSTOU")},${C.GetString("PE_CANT")}, ${C.GetString("PE_PRONOMBRE")}, ${C.GetString("PE_PROID")}, ${C.GetString("PE_CLIENTE")}, ${C.GetString("PE_FECHA")}, ${C.GetString("PE_USUARIO")}, ${C.GetString("PE_RUTA")}, ${C.GetString("PE_COSTO_SIN")}, ${C.GetString("PE_DESC")}, ${c.GetString("PE_FOLIO")}, ${PCNoArts}, ${PCMonto}, ${PCMonto}, ${c.GetString("PE_TICKET")}"$)
|
||||||
Next
|
Next
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
Sleep(5000)
|
||||||
|
|
||||||
|
' Subir los productos del pedido, y en el jobdone revisar si ya se enviaron todos los de ese pedido (verificar con AffectedRows = 1), si ya se enviaron,
|
||||||
|
' entonces Y SOLO ENTONCES, subir el header del pedido y validarlo con AffectedRows = 1.
|
||||||
|
|
||||||
|
'PEDIDO CLIENTE
|
||||||
|
c = skmt.ExecQuery("SELECT * FROM PEDIDO_CLIENTE where PC_ENVIO_OK = 1")
|
||||||
|
Log($"Pedidos_Cliente a VALIDAR: ${c.RowCount}"$)
|
||||||
|
If c.RowCount > 0 Then
|
||||||
|
pedidoEnviando($"Enviando ..."$)
|
||||||
|
For i = 0 To c.RowCount - 1
|
||||||
|
Private cuantosProdsPedido As Int = 0
|
||||||
|
c.Position = i
|
||||||
|
' Traemos la cantidad de productos "validados" de PEDIDO.
|
||||||
|
Private x As Cursor = Starter.skmt.ExecQuery($"select sum(pe_cant) as cuantos from pedido where pe_cliente = '${c.GetString("PC_CLIENTE")}' and pe_envio_ok = 2"$)
|
||||||
|
If x.RowCount > 0 Then
|
||||||
|
x.Position = 0
|
||||||
|
cuantosProdsPedido = x.GetInt("cuantos")
|
||||||
|
End If
|
||||||
|
Log($"Articulos en cliente ${c.GetString("PC_CLIENTE")}: P:${cuantosProdsPedido}, PC:${c.GetInt("PC_NOART")}"$)
|
||||||
|
' Si los productos validados en PEDIDO coinciden con los productos de PEDIDO_CLIENTE, entonces validamos el header.
|
||||||
|
If cuantosProdsPedido = c.GetInt("PC_NOART") Then
|
||||||
|
Log($"${c.GetString("PC_CLIENTE")}|${c.GetString("PC_FECHA")}|${c.GetString("PC_ENVIO_OK")}|"$)
|
||||||
|
Dim cmd As DBCommand
|
||||||
|
cmd.Initialize
|
||||||
|
cmd.Name = "validaPC_Intmex"
|
||||||
|
cmd.Parameters = Array As Object(c.GetString("PC_CLIENTE"), c.GetString("PC_USER"), c.GetString("PC_FECHA"), almacen, laRuta)
|
||||||
|
' PCNoArts = c.GetString("PC_NOART")
|
||||||
|
' PCMonto = c.GetString("PC_MONTO")
|
||||||
|
reqManager.ExecuteCommand(cmd , $"ins_revisaGuardados_head_${c.GetString("PC_CLIENTE")}"$)
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
End If
|
||||||
c.Close
|
c.Close
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
@@ -145,7 +182,8 @@ Sub revisaCantsYMontosTotales
|
|||||||
Private laRuta As String = Subs.traeRuta
|
Private laRuta As String = Subs.traeRuta
|
||||||
c = skmt.ExecQuery("SELECT * FROM PEDIDO_CLIENTE where PC_ENVIO_OK = 2 or 1") ' El uno del final es para que SIEMPRE revise las cantidades y montos, por si se borra la orden desde web, para que se envíe NUEVAMENTE.
|
c = skmt.ExecQuery("SELECT * FROM PEDIDO_CLIENTE where PC_ENVIO_OK = 2 or 1") ' El uno del final es para que SIEMPRE revise las cantidades y montos, por si se borra la orden desde web, para que se envíe NUEVAMENTE.
|
||||||
Log($"Pedidos a VALIDAR (Cants y Montos): ${c.RowCount}"$)
|
Log($"Pedidos a VALIDAR (Cants y Montos): ${c.RowCount}"$)
|
||||||
If c.RowCount>0 Then
|
If c.RowCount > 0 Then
|
||||||
|
totalAValidar = c.RowCount
|
||||||
For i=0 To c.RowCount -1
|
For i=0 To c.RowCount -1
|
||||||
c.Position=i
|
c.Position=i
|
||||||
Dim cmd As DBCommand
|
Dim cmd As DBCommand
|
||||||
@@ -172,7 +210,6 @@ Sub JobDone(Job As HttpJob)
|
|||||||
Log("JOBDONE VALIDADOR RUTA")
|
Log("JOBDONE VALIDADOR RUTA")
|
||||||
Subs.logJobDoneResultados(resultado)
|
Subs.logJobDoneResultados(resultado)
|
||||||
End If
|
End If
|
||||||
|
|
||||||
' PEDIDOS GUARDADOS HEAD
|
' PEDIDOS GUARDADOS HEAD
|
||||||
If resultado.Tag.As(String).IndexOf("ins_mandaGuardados_head_") > -1 Then
|
If resultado.Tag.As(String).IndexOf("ins_mandaGuardados_head_") > -1 Then
|
||||||
Log("ins_mandaGuardados_head_")
|
Log("ins_mandaGuardados_head_")
|
||||||
@@ -185,6 +222,7 @@ Sub JobDone(Job As HttpJob)
|
|||||||
skmt.ExecNonQuery($"update PEDIDO_CLIENTE set PC_ENVIO_OK = 1 where PC_CLIENTE = '${pars(3)}'"$)
|
skmt.ExecNonQuery($"update PEDIDO_CLIENTE set PC_ENVIO_OK = 1 where PC_CLIENTE = '${pars(3)}'"$)
|
||||||
End If
|
End If
|
||||||
Next
|
Next
|
||||||
|
' pedidoGuardando("Listo")
|
||||||
End If
|
End If
|
||||||
' PEDIDOS GUARDADOS PRODS
|
' PEDIDOS GUARDADOS PRODS
|
||||||
Dim resultado As DBResult = reqManager.HandleJob(Job)
|
Dim resultado As DBResult = reqManager.HandleJob(Job)
|
||||||
@@ -224,7 +262,7 @@ Sub JobDone(Job As HttpJob)
|
|||||||
' REVISA GUARDADOS HEAD
|
' REVISA GUARDADOS HEAD
|
||||||
If resultado.Tag.As(String).IndexOf("ins_revisaGuardados_head_") > -1 Then
|
If resultado.Tag.As(String).IndexOf("ins_revisaGuardados_head_") > -1 Then
|
||||||
Log("ins_revisaGuardados_head_")
|
Log("ins_revisaGuardados_head_")
|
||||||
Subs.logJobDoneResultados(resultado)
|
Subs.logJobDoneResultados(resultado)
|
||||||
Private cliente As String= resultado.Tag
|
Private cliente As String= resultado.Tag
|
||||||
cliente = cliente.SubString(cliente.IndexOf("_") + 22)
|
cliente = cliente.SubString(cliente.IndexOf("_") + 22)
|
||||||
Log(cliente)
|
Log(cliente)
|
||||||
@@ -238,7 +276,10 @@ Sub JobDone(Job As HttpJob)
|
|||||||
End If
|
End If
|
||||||
' REVISA CANTIDADES Y MONTOS TOTALES
|
' REVISA CANTIDADES Y MONTOS TOTALES
|
||||||
If resultado.Tag.As(String).IndexOf("validaCantsCostosTotales_") > -1 Then
|
If resultado.Tag.As(String).IndexOf("validaCantsCostosTotales_") > -1 Then
|
||||||
|
pedidoValidando($"Validando ..."$)
|
||||||
|
totalAValidar = totalAValidar - 1
|
||||||
Log("validaCantsCostosTotales_")
|
Log("validaCantsCostosTotales_")
|
||||||
|
Log("totalAValidar: " & totalAValidar)
|
||||||
Subs.logJobDoneResultados(resultado)
|
Subs.logJobDoneResultados(resultado)
|
||||||
Private cliente As String= resultado.Tag
|
Private cliente As String= resultado.Tag
|
||||||
cliente = cliente.SubString(cliente.IndexOf("_")+1)
|
cliente = cliente.SubString(cliente.IndexOf("_")+1)
|
||||||
@@ -270,6 +311,10 @@ Sub JobDone(Job As HttpJob)
|
|||||||
skmt.ExecNonQuery($"update PEDIDO set PE_ENVIO_OK = 0 where PE_CLIENTE = '${pars(1)}'"$)
|
skmt.ExecNonQuery($"update PEDIDO set PE_ENVIO_OK = 0 where PE_CLIENTE = '${pars(1)}'"$)
|
||||||
End If
|
End If
|
||||||
Next
|
Next
|
||||||
|
If totalAValidar <= 0 Then
|
||||||
|
totalAValidar = 0
|
||||||
|
validacionTerminada("Listo!!")
|
||||||
|
End If
|
||||||
End If
|
End If
|
||||||
' VALIDA CANTIDADES Y COSTOS TOTALES
|
' VALIDA CANTIDADES Y COSTOS TOTALES
|
||||||
If resultado.Tag.As(String).IndexOf("validaCCT2_") > -1 Then
|
If resultado.Tag.As(String).IndexOf("validaCCT2_") > -1 Then
|
||||||
@@ -284,4 +329,36 @@ Sub JobDone(Job As HttpJob)
|
|||||||
End If
|
End If
|
||||||
Job.Release
|
Job.Release
|
||||||
End If
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub pedidoGuardando(msg As String)
|
||||||
|
Log("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& - Guardando")
|
||||||
|
If SubExists(CallBack, EventName & "_Guardando") Then
|
||||||
|
Log("GGG")
|
||||||
|
CallSub2(CallBack, EventName & "_Guardando", msg)
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub pedidoEnviando(msg As String)
|
||||||
|
' Log("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& - Enviando")
|
||||||
|
If SubExists(CallBack, EventName & "_Enviando") Then
|
||||||
|
' Log("EEE")
|
||||||
|
CallSub2(CallBack, EventName & "_Enviando", msg)
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub pedidoValidando(msg As String)
|
||||||
|
' Log("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& - Validadndo")
|
||||||
|
If SubExists(CallBack, EventName & "_Validando") Then
|
||||||
|
' Log("VVVV")
|
||||||
|
CallSub2(CallBack, EventName & "_Validando", msg)
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub validacionTerminada(msg As String)
|
||||||
|
Log("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& - Terminado")
|
||||||
|
If SubExists(CallBack, EventName & "_Terminado") Then
|
||||||
|
' Log("VVVV")
|
||||||
|
CallSub2(CallBack, EventName & "_Terminado", msg)
|
||||||
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
Binary file not shown.
@@ -164,7 +164,7 @@ Version=12.8
|
|||||||
#Region Project Attributes
|
#Region Project Attributes
|
||||||
#ApplicationLabel: Intmex
|
#ApplicationLabel: Intmex
|
||||||
#VersionCode: 1
|
#VersionCode: 1
|
||||||
#VersionName: 5.03.25
|
#VersionName: 5.05.11
|
||||||
'SupportedOrientations possible values: unspecified, landscape or portrait.
|
'SupportedOrientations possible values: unspecified, landscape or portrait.
|
||||||
#SupportedOrientations: portrait
|
#SupportedOrientations: portrait
|
||||||
#CanInstallToExternalStorage: False
|
#CanInstallToExternalStorage: False
|
||||||
|
|||||||
@@ -65,14 +65,14 @@ ModuleClosedNodes1=
|
|||||||
ModuleClosedNodes10=
|
ModuleClosedNodes10=
|
||||||
ModuleClosedNodes11=
|
ModuleClosedNodes11=
|
||||||
ModuleClosedNodes12=
|
ModuleClosedNodes12=
|
||||||
ModuleClosedNodes13=3
|
ModuleClosedNodes13=4,5,6
|
||||||
ModuleClosedNodes14=11
|
ModuleClosedNodes14=11
|
||||||
ModuleClosedNodes15=
|
ModuleClosedNodes15=
|
||||||
ModuleClosedNodes16=
|
ModuleClosedNodes16=
|
||||||
ModuleClosedNodes17=
|
ModuleClosedNodes17=
|
||||||
ModuleClosedNodes18=
|
ModuleClosedNodes18=
|
||||||
ModuleClosedNodes19=
|
ModuleClosedNodes19=
|
||||||
ModuleClosedNodes2=
|
ModuleClosedNodes2=6
|
||||||
ModuleClosedNodes20=
|
ModuleClosedNodes20=
|
||||||
ModuleClosedNodes21=
|
ModuleClosedNodes21=
|
||||||
ModuleClosedNodes22=
|
ModuleClosedNodes22=
|
||||||
@@ -81,7 +81,7 @@ ModuleClosedNodes24=
|
|||||||
ModuleClosedNodes25=2
|
ModuleClosedNodes25=2
|
||||||
ModuleClosedNodes26=
|
ModuleClosedNodes26=
|
||||||
ModuleClosedNodes27=1
|
ModuleClosedNodes27=1
|
||||||
ModuleClosedNodes28=
|
ModuleClosedNodes28=3,7,8,9,11,12
|
||||||
ModuleClosedNodes29=
|
ModuleClosedNodes29=
|
||||||
ModuleClosedNodes3=
|
ModuleClosedNodes3=
|
||||||
ModuleClosedNodes30=
|
ModuleClosedNodes30=
|
||||||
@@ -91,6 +91,6 @@ ModuleClosedNodes6=
|
|||||||
ModuleClosedNodes7=
|
ModuleClosedNodes7=
|
||||||
ModuleClosedNodes8=
|
ModuleClosedNodes8=
|
||||||
ModuleClosedNodes9=
|
ModuleClosedNodes9=
|
||||||
NavigationStack=C_Nota,ListView1_ItemLongClick,165,0,C_Nota,B4XPage_Appear,57,0,C_Nota,borra_Click,154,6,C_RespaldoDiario,Class_Globals,0,0,C_Promos,Class_Globals,18,0,Diseñador Visual,pedido.bal,-100,1,C_Productos,b_terminar1_Click,770,0,Diseñador Visual,productos.bal,-100,3,C_Productos,lv_prodsPedido_ItemLongClick,987,4,C_Validador,Class_Globals,10,0,C_Validador,revisaCantsYMontosTotales,153,0
|
NavigationStack=C_Principal,cargar_Click,886,0,C_Principal,Class_Globals,212,2,C_Principal,B4XPage_Created,303,0,Starter,Service_Start,58,0,Starter,tConexion_Tick,83,0,B4XMainPage,JobDone,441,6,C_Principal,b_muestraPendientes_Click,2681,4,Diseñador Visual,principal.bal,-100,6,C_TicketsDia,B4XPage_Appear,94,0,C_Principal,val_Guardando,2688,0
|
||||||
SelectedBuild=0
|
SelectedBuild=0
|
||||||
VisibleModules=2,28,14,9,4,20,29,15,16,18
|
VisibleModules=28,2,13,20,14,9,4,29,27,17,18
|
||||||
|
|||||||
135
B4A/Starter.bas
135
B4A/Starter.bas
@@ -24,8 +24,9 @@ Sub Process_Globals
|
|||||||
' Dim DBReqServer As String = "http://11.0.0.119:1781"
|
' Dim DBReqServer As String = "http://11.0.0.119:1781"
|
||||||
' Dim DBReqServer As String = "http://10.0.0.205:1783"
|
' Dim DBReqServer As String = "http://10.0.0.205:1783"
|
||||||
' Dim DBReqServer As String = "http://192.168.100.10:1781"
|
' Dim DBReqServer As String = "http://192.168.100.10:1781"
|
||||||
Dim Timer1 As Timer
|
Dim Timer1, tConexion As Timer
|
||||||
Dim Interval As Int = 10
|
Dim Interval As Int = 300
|
||||||
|
Dim IntervalC As Int = 10
|
||||||
Dim ruta As String = File.DirInternal
|
Dim ruta As String = File.DirInternal
|
||||||
'Para los Logs
|
'Para los Logs
|
||||||
Private logs As StringBuilder
|
Private logs As StringBuilder
|
||||||
@@ -36,6 +37,7 @@ Sub Process_Globals
|
|||||||
Dim tabla As String
|
Dim tabla As String
|
||||||
Dim MAC_IMPRESORA As String
|
Dim MAC_IMPRESORA As String
|
||||||
Dim utimaPagina As String
|
Dim utimaPagina As String
|
||||||
|
Dim senial As Int = 1
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Sub Service_Create
|
Sub Service_Create
|
||||||
@@ -45,6 +47,8 @@ Sub Service_Create
|
|||||||
s.Initialize(Me, "Subs") 'Inicializamos la clase Subs
|
s.Initialize(Me, "Subs") 'Inicializamos la clase Subs
|
||||||
skmt = s.inicializaBD(File.DirInternal, "kmt.db")
|
skmt = s.inicializaBD(File.DirInternal, "kmt.db")
|
||||||
' CallSubDelayed(FirebaseMessaging, "SubscribeToTopics") 'Para Push FirebaseMessaging
|
' CallSubDelayed(FirebaseMessaging, "SubscribeToTopics") 'Para Push FirebaseMessaging
|
||||||
|
tConexion.Initialize("tConexion", IntervalC * 1000)
|
||||||
|
tConexion.Enabled = True
|
||||||
Timer1.Initialize("Timer1", Interval * 1000)
|
Timer1.Initialize("Timer1", Interval * 1000)
|
||||||
Timer1.Enabled = True
|
Timer1.Enabled = True
|
||||||
' 'Para los Logs
|
' 'Para los Logs
|
||||||
@@ -62,6 +66,13 @@ Sub Service_Start (StartingIntent As Intent)
|
|||||||
If s.traeDBReqServerDeBD(skmt) <> "N/A" And s.traeDBReqServerDeBD(skmt) <> "" Then DBReqServer = s.traeDBReqServerDeBD(skmt)
|
If s.traeDBReqServerDeBD(skmt) <> "N/A" And s.traeDBReqServerDeBD(skmt) <> "" Then DBReqServer = s.traeDBReqServerDeBD(skmt)
|
||||||
reqManager.Initialize(Me, DBReqServer)
|
reqManager.Initialize(Me, DBReqServer)
|
||||||
Log($"Starter - |${DBReqServer}|"$)
|
Log($"Starter - |${DBReqServer}|"$)
|
||||||
|
|
||||||
|
' Dim ctxt As JavaObject
|
||||||
|
' ctxt.InitializeContext
|
||||||
|
' Dim TelephonyManager As JavaObject = ctxt.RunMethod("getSystemService", Array("phone"))
|
||||||
|
' Dim listener As JavaObject
|
||||||
|
' listener.InitializeNewInstance(Application.PackageName & ".starter.ResilientPhoneListener", Null)
|
||||||
|
' TelephonyManager.RunMethod("listen", Array(listener, 0x00000100))
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub Timer1_Tick
|
Private Sub Timer1_Tick
|
||||||
@@ -69,6 +80,16 @@ Private Sub Timer1_Tick
|
|||||||
ENVIA_ULTIMA_GPS
|
ENVIA_ULTIMA_GPS
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
Private Sub tConexion_Tick
|
||||||
|
' Log("Next run " & DateTime.Time(DateTime.Now + Interval * 1000))
|
||||||
|
' ENVIA_ULTIMA_GPS
|
||||||
|
Dim cmd As DBCommand
|
||||||
|
cmd.Initialize
|
||||||
|
cmd.Name = "select_fecha"
|
||||||
|
B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "ping") 'Usamos el "reqManager" de Mainpage para que usar el jobDone de ahi!!
|
||||||
|
' Log("tConexion")
|
||||||
|
End Sub
|
||||||
|
|
||||||
Sub GPS_LocationChanged (Location1 As Location)
|
Sub GPS_LocationChanged (Location1 As Location)
|
||||||
' CallSub2(Main, "GPS_LocationChanged", Location1)
|
' CallSub2(Main, "GPS_LocationChanged", Location1)
|
||||||
End Sub
|
End Sub
|
||||||
@@ -82,7 +103,7 @@ Sub Service_Destroy
|
|||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Sub ENVIA_ULTIMA_GPS
|
Sub ENVIA_ULTIMA_GPS
|
||||||
Dim logger As Boolean = False
|
Dim logger As Boolean = True
|
||||||
If logger Then LogColor("Iniciamos ENVIA_ULTIMA_GPS", Colors.Magenta)
|
If logger Then LogColor("Iniciamos ENVIA_ULTIMA_GPS", Colors.Magenta)
|
||||||
Dim cmd As DBCommand
|
Dim cmd As DBCommand
|
||||||
' cmd.Initialize
|
' cmd.Initialize
|
||||||
@@ -90,12 +111,13 @@ Sub ENVIA_ULTIMA_GPS
|
|||||||
' B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "fechat")
|
' B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "fechat")
|
||||||
Dim cmd As DBCommand
|
Dim cmd As DBCommand
|
||||||
cmd.Initialize
|
cmd.Initialize
|
||||||
cmd.Name = "UPDATE_INTMEX_ACTUAL2_GPS"
|
cmd.Name = "UPDATE_INTMEX_ACTUAL3_GPS"
|
||||||
If B4XPages.MainPage.lat_gps.Length < 15 Then B4XPages.MainPage.lat_gps = B4XPages.MainPage.lat_gps&"0"
|
If B4XPages.MainPage.lat_gps.Length < 15 Then B4XPages.MainPage.lat_gps = B4XPages.MainPage.lat_gps&"0"
|
||||||
cmd.Parameters = Array As Object(B4XPages.MainPage.montoActual, B4XPages.MainPage.clientestotal, B4XPages.MainPage.clientesventa,B4XPages.MainPage.clientesvisitados,B4XPages.MainPage.lat_gps,B4XPages.MainPage.lon_gps,B4XPages.MainPage.batt,0, 0, 0,B4XPages.MainPage.ALMACEN,B4XPages.MainPage.rutapreventa)
|
cmd.Parameters = Array As Object(B4XPages.MainPage.montoActual, B4XPages.MainPage.clientestotal, B4XPages.MainPage.clientesventa,B4XPages.MainPage.clientesvisitados,B4XPages.MainPage.lat_gps,B4XPages.MainPage.lon_gps,B4XPages.MainPage.batt,0, 0, 0, Application.VersionName,senial,B4XPages.MainPage.ALMACEN,B4XPages.MainPage.rutapreventa)
|
||||||
If logger Then Log($"montoActual: ${B4XPages.MainPage.montoActual}, cTotal: ${B4XPages.MainPage.clientestotal}, cVenta: ${B4XPages.MainPage.clientesventa}, cVisitados: ${B4XPages.MainPage.clientesvisitados}, ${B4XPages.MainPage.lat_gps}, ${B4XPages.MainPage.lon_gps}, Batt: ${B4XPages.MainPage.batt}, 0, 0, 0, Almacen: ${B4XPages.MainPage.ALMACEN}, Ruta: ${B4XPages.MainPage.rutapreventa}"$)
|
If logger Then Log($"montoActual: ${B4XPages.MainPage.montoActual}, cTotal: ${B4XPages.MainPage.clientestotal}, cVenta: ${B4XPages.MainPage.clientesventa}, cVisitados: ${B4XPages.MainPage.clientesvisitados}, ${B4XPages.MainPage.lat_gps}, ${B4XPages.MainPage.lon_gps}, Batt: ${B4XPages.MainPage.batt}, 0, 0, 0, ${Application.VersionName},${senial},Almacen: ${B4XPages.MainPage.ALMACEN}, Ruta: ${B4XPages.MainPage.rutapreventa}"$)
|
||||||
reqManager.ExecuteCommand(cmd, "inst_visitas")
|
reqManager.ExecuteCommand(cmd, "inst_visitas")
|
||||||
skmt.ExecNonQuery2("Update cat_variables set CAT_VA_VALOR = ? WHERE CAT_VA_DESCRIPCION = ?" , Array As String(DateTime.Time(DateTime.Now),"HoraIngreso"))
|
skmt.ExecNonQuery2("Update cat_variables set CAT_VA_VALOR = ? WHERE CAT_VA_DESCRIPCION = ?" , Array As String(DateTime.Time(DateTime.Now),"HoraIngreso"))
|
||||||
|
|
||||||
'Reiniciamos el timer para cuando llamamos el Sub desde "seleccion"
|
'Reiniciamos el timer para cuando llamamos el Sub desde "seleccion"
|
||||||
Timer1.Enabled = False
|
Timer1.Enabled = False
|
||||||
Timer1.Interval = Interval * 1000
|
Timer1.Interval = Interval * 1000
|
||||||
@@ -129,4 +151,103 @@ Sub reinicializaReqManager(srv As String)
|
|||||||
DBReqServer = srv
|
DBReqServer = srv
|
||||||
reqManager.Initialize(Me, srv)
|
reqManager.Initialize(Me, srv)
|
||||||
LogColor(srv, Colors.red)
|
LogColor(srv, Colors.red)
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
Sub Signal_Changedx (SignalStrengh As Object)
|
||||||
|
Dim s2 As JavaObject = SignalStrengh
|
||||||
|
Private theSignal As String = s2.RunMethod("getGsmSignalStrength", Null)
|
||||||
|
Log(theSignal)
|
||||||
|
ToastMessageShow(theSignal, False)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'Sub Signal_Changed (strength As Int)
|
||||||
|
' Log($"Intensidad de señal recibida: ${strength}"$)
|
||||||
|
' ToastMessageShow($"Intensidad de señal recibida: ${strength}"$, False)
|
||||||
|
' ' Procesar el valor según el tipo de red
|
||||||
|
' If strength >= 0 And strength <= 31 Then
|
||||||
|
' ' GSM: convertir a dBm aproximado
|
||||||
|
' Dim dBm As Int = -113 + strength * 2
|
||||||
|
' Log($"Señal GSM: ${strength} (~${dBm} dBm)"$)
|
||||||
|
' ToastMessageShow($"Señal GSM: ${strength} (~${dBm} dBm)"$, False)
|
||||||
|
' Else If strength < 0 Then
|
||||||
|
' ' CDMA/LTE: ya está en dBm
|
||||||
|
' Log($"Señal CDMA/LTE: ${strength} dBm"$)
|
||||||
|
' ToastMessageShow($"Señal GSM: ${strength} (~${dBm} dBm)"$, False)
|
||||||
|
' Else If strength = 99 Then
|
||||||
|
' Log("Señal desconocida o error")
|
||||||
|
' ToastMessageShow("Señal desconicida", False)
|
||||||
|
' End If
|
||||||
|
'End Sub
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
'if Java
|
||||||
|
'
|
||||||
|
'import android.telephony.*;
|
||||||
|
'import android.os.Build;
|
||||||
|
'Public static class MyPhoneStateListener extends PhoneStateListener {
|
||||||
|
'Public MyPhoneStateListener() {
|
||||||
|
'}
|
||||||
|
'Public void onSignalStrengthsChanged(SignalStrength signalStrength) {
|
||||||
|
' anywheresoftware.b4a.BA.Log("onSignalStrengthsChanged");
|
||||||
|
'
|
||||||
|
' int strengthValue;
|
||||||
|
'
|
||||||
|
' Try {
|
||||||
|
' If (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||||
|
' strengthValue = signalStrength.getLevel(); // 0-4
|
||||||
|
' } Else {
|
||||||
|
' If (signalStrength.isGsm()) {
|
||||||
|
' strengthValue = signalStrength.getGsmSignalStrength(); // 0-31, 99 es desconocido
|
||||||
|
' } Else {
|
||||||
|
' strengthValue = signalStrength.getCdmaDbm();
|
||||||
|
' }
|
||||||
|
' }
|
||||||
|
'
|
||||||
|
' // Pasar solo el valor entero, no el objeto SignalStrength completo
|
||||||
|
' starter.processBA.raiseEventFromUI(Null, "signal_changed", strengthValue);
|
||||||
|
'
|
||||||
|
' } Catch (Exception e) {
|
||||||
|
' anywheresoftware.b4a.BA.Log("Error: " + e.getMessage());
|
||||||
|
' starter.processBA.raiseEventFromUI(Null, "signal_changed", 99); // Valor por defecto en caso de error
|
||||||
|
' }
|
||||||
|
'}
|
||||||
|
'}
|
||||||
|
'End If
|
||||||
|
|
||||||
|
|
||||||
|
#if Java
|
||||||
|
|
||||||
|
import android.telephony.*;
|
||||||
|
import android.os.Build;
|
||||||
|
public static class ResilientPhoneListener extends PhoneStateListener {
|
||||||
|
private long lastUpdate = 0;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onSignalStrengthsChanged(SignalStrength signalStrength) {
|
||||||
|
lastUpdate = System.currentTimeMillis();
|
||||||
|
anywheresoftware.b4a.BA.Log("onSignalStrengthsChanged");
|
||||||
|
|
||||||
|
int strengthValue;
|
||||||
|
try {
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||||
|
strengthValue = signalStrength.getLevel();
|
||||||
|
} else {
|
||||||
|
if (signalStrength.isGsm()) {
|
||||||
|
strengthValue = signalStrength.getGsmSignalStrength();
|
||||||
|
} else {
|
||||||
|
strengthValue = signalStrength.getCdmaDbm();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
starter.processBA.raiseEventFromUI(null, "signal_changed", strengthValue);
|
||||||
|
} catch (Exception e) {
|
||||||
|
starter.processBA.raiseEventFromUI(null, "signal_changed", 99);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isAlive() {
|
||||||
|
return (System.currentTimeMillis() - lastUpdate) < 120000;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
#End If
|
||||||
Reference in New Issue
Block a user