Se agrega codigo unico de imei

Se agrego el brinco para replicar con el KMTM
se agrego que mande la fecha
This commit is contained in:
jalarakmt
2026-03-18 11:18:56 -06:00
parent ba16ec6d46
commit 1919f61049
8 changed files with 569 additions and 60 deletions

View File

@@ -95,6 +95,7 @@ Sub Class_Globals
Private b_regreso As Button
Private lv_prod_Prin As ListView
Private b_venta_emp As Button
Dim linker As C_deviceLinker
End Sub
'You can add more parameters here.
@@ -167,6 +168,8 @@ End Sub
Sub B4XPage_Appear
linker.Initialize(Me, "Linker", True)
Private c As Cursor = Starter.skmt.ExecQuery("SELECT * FROM NOVENTA")
If c.RowCount > 0 Then
Starter.skmt.ExecNonQuery("Update kmt_info set gestion = 2 WHERE CAT_CL_CODIGO IN (SELECT NV_CLIENTE FROM NOVENTA WHERE NV_MOTIVO = 'ENTREGA')")
@@ -243,6 +246,9 @@ Sub B4XPage_Appear
' If f.RowCount > 0 Then l_ruta.Text = f.GetString("CAT_CL_RUTA")
' f.Close
reqManager.Initialize(Me, Starter.DBReqServer)
Log($"DBREQSERVER = ${Starter.DBReqServer}"$)
cargar.Visible = False
Subir.Visible = False
connecta.Visible = True
@@ -1064,8 +1070,8 @@ Sub cargar_Click
If Not(IsConnectedToInternet) Then MsgboxAsync("No hay conexión a Internet", "Revisa tu conexión")
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "select_ruta_entrega_cargada"
cmd.Parameters = Array As Object(ALMACEN, e_ruta.text)
cmd.Name = "select_ruta_entrega_cargada2"
cmd.Parameters = Array As Object(ALMACEN, e_ruta.text, Subs.traeUsuario)
reqManager.ExecuteQuery(cmd ,0, "entrega_cargada")
End If
@@ -1386,7 +1392,7 @@ Sub JobDone(Job As HttpJob)
' Dim CAT_GP_DEV As String = records(RESULT.Columns.Get("CAT_GP_DEV"))
' skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_DEV) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_DEV))
' Log(" ++ insert into CAT_GUNAPROD: "&CAT_GP_ID&","&CAT_GP_NOMBRE&","&CAT_GP_IMP1)
Log(CAT_GP_NOMBRE & "<-------------------------------------")
' Log(CAT_GP_NOMBRE & "<-------------------------------------")
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CONVERSION,PRECIOCONVER) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, 0,CONVERSION,PRECIOCONVER))
Next
Starter.skmt.TransactionSuccessful
@@ -1661,17 +1667,17 @@ Sub JobDone(Job As HttpJob)
End If
End If
If Job.JobName = "DBRequest" Then
Dim result As DBResult = reqManager.HandleJob(Job)
If result.Tag = "version" Then 'query tag
For Each records() As Object In result.Rows
Starter.skmt.ExecNonQuery("delete from VERSION")
Dim CAT_VE_VERSION As String = records(result.Columns.Get("CAT_VE_VERSION"))
' Log(" ++ insert into VERSION: "&CAT_VE_VERSION)
Starter.skmt.ExecNonQuery2("INSERT INTO VERSION(NOVERSION) VALUES (?)", Array As Object (CAT_VE_VERSION))
Next
End If
End If
' If Job.JobName = "DBRequest" Then
' Dim result As DBResult = reqManager.HandleJob(Job)
' If result.Tag = "version" Then 'query tag
' For Each records() As Object In result.Rows
' Starter.skmt.ExecNonQuery("delete from VERSION")
' Dim CAT_VE_VERSION As String = records(result.Columns.Get("CAT_VE_VERSION"))
'' Log(" ++ insert into VERSION: "&CAT_VE_VERSION)
' Starter.skmt.ExecNonQuery2("INSERT INTO VERSION(NOVERSION) VALUES (?)", Array As Object (CAT_VE_VERSION))
' Next
' End If
' End If
If Job.JobName = "DBRequest" Then
Dim result As DBResult = reqManager.HandleJob(Job)
@@ -1702,7 +1708,7 @@ Sub JobDone(Job As HttpJob)
Else If l_ctast.Text <> "0" Then
Subir.Visible = False
End If
cargar.Visible = True
' cargar.Visible = True
If Subs.dameUsuarioDeDB = "ROOT" Then Subir.Visible = True
connecta.Visible = False
Starter.skmt.ExecNonQuery("DELETE FROM RUTAA")
@@ -1712,6 +1718,11 @@ Sub JobDone(Job As HttpJob)
If conn = "1" Then
ToastMessageShow("Existe Conexión con el Servidor." , True)
End If
' EL EVENTO DE CONECTAR AHORA SE DISPARA DESPUES DE REVISAR SI LA RUTA ESTA LIGADA O NO AL DISPOSITIVO (verifyDevice).
' REVISAR EL SUB "Linker_Response"
linker.verifyDevice(Subs.traeAlmacen, e_ruta.text)
Else
cargar.Visible = False
Subir.Visible = False
@@ -1756,7 +1767,7 @@ Sub JobDone(Job As HttpJob)
Else
cmd.Initialize
cmd.Name = "update_ruta_entrega_cargada"
cmd.Name = "update_ruta_entrega_cargada2"
cmd.Parameters = Array As Object(ALMACEN,e_ruta.text)
reqManager.ExecuteCommand(cmd , "update_rrcargada")
Starter.skmt.ExecNonQuery("DELETE FROM RUTAA")
@@ -1962,13 +1973,14 @@ Sub connecta_Click
imei = "" 'p.GetDeviceId
conn = "1"
ime.HideKeyboard
' Dim cmd As DBCommand
' cmd.Initialize
' cmd.Name = "select_version_MARDS"
' reqManager.ExecuteQuery(cmd , 0, "version")
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "select_version_MARDS"
reqManager.ExecuteQuery(cmd , 0, "version")
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "select_ruta_re_REPG3"
cmd.Name = "select_ruta_re_REPG4"
cmd.Parameters = Array As Object(ALMACEN, e_ruta.text, Subs.traeUsuario)
' Log($"${ALMACEN}, ${e_ruta.text}, ${imei}"$)
reqManager.ExecuteQuery(cmd , 0, "ruta")
@@ -1978,6 +1990,24 @@ Sub connecta_Click
End If
End Sub
Private Sub connecta_LongClick
' Private h As ResultSet = Starter.skmt.ExecQuery($"select * from bitacoraGPS"$)
' Do While h.nextrow
' cmd.Initialize
' cmd.Name = "mandaBitacora"
'' TMP_ALMACEN, TMP_USUARIO, TMP_RUTA, TMP_EVENTO, TMP_ID_CLIENTE, TMP_NOMBRE_CLIENTE, TMP_INICIO, TMP_FINAL, TMP_LATITUD, TMP_LONGITUD, TMP_PRESICION, TMP_MOTIVO_NO_VENTA, TMP_MOTIVO_NO_VISITA, TMP_FECHA_SINC
' cmd.Parameters = Array As Object(h.GetString("almacenb"), h.GetString("usuariob"), h.GetString("rutab"), h.GetString("eventob"), h.GetString("clienteb"), h.GetString("clienteb"), h.GetString("iniciob"), h.GetString("finb"), h.GetString("latitudb"), h.GetString("longitudb"), h.GetString("precision"), h.GetString("motivonoventa"), h.GetString("motivonovisita"))
' reqManager.ExecuteCommand(cmd , "mandaBitacora")
'' cmd.Name = "borraBitacora"
'' cmd.Parameters = Array As Object(c.GetString("almacenb"), c.GetString("rutab"), c.GetString("usuariob"), c.GetString("almacenb"))
' Loop
'' End If
' Log("MANDAMOS BITACORA")
If e_ruta.Text = "KMTM" Then Subs.deshabilitaValidaciones
' B4XPages.MainPage.recordatorio.agregaPanelRecordatorio(Root)
End Sub
Sub BUSCA_Click
If b_check.Visible = True Then
MsgboxAsync("Favor de hacer el checklist.","Atención")
@@ -2014,6 +2044,8 @@ Sub e_ruta_EnterPressed
Starter.skmt.ExecNonQuery("DELETE FROM TABULADOR_MONEDAS")
Starter.skmt.ExecNonQuery("DELETE FROM TABULADOR_BILLETES")
Starter.skmt.ExecNonQuery("DELETE FROM RUTAA")
Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("VERIFY_DEVICE"))
B4XPage_Appear
End If
' Starter.waypointsOrdered.Clear
@@ -2377,4 +2409,57 @@ Private Sub b_venta_emp_Click
Starter.skmt.ExecNonQuery("delete from CUENTAA")
Starter.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object("63403"))
B4XPages.ShowPage("Cliente")
End Sub
Sub Linker_Response(Status As String) ' << AÑADE ESTE SUB [New Query]
' If Starter.Logger Then
LogColor($"Respuesta de DeviceLinker para la verificación del dispositivo: ${Status}"$, Colors.Magenta) '
' End If
Select Status
Case "UUID_ERROR"
Log("Error interno al obtener el identificador único del dispositivo.")
ToastMessageShow("Error interno al obtener el identificador único del dispositivo.", True)
Case "HTTP_ERROR"
LogColor("Error HTTP al verificar el dispositivo: " & linker.lastJobDoneError, Colors.Red)
ToastMessageShow("Error de conexión al servidor durante la verificación del dispositivo.", True)
Case "SERVER_LOGIC_ERROR"
Log("El servidor no proporcionó un estado de verificación válido. Contacte a soporte.")
ToastMessageShow("El servidor no proporcionó un estado de verificación válido. Contacte a soporte.", True)
Case "OK"
Log("ocultamos cargar")
cargar.Visible = True
Log("########################################################")
Log("Dispositivo vinculado y verificado exitosamente.")
ToastMessageShow("Dispositivo verificado y vinculado correctamente.", False)
' Aquí puedes añadir lógica adicional si la verificación es exitosa, por ejemplo, habilitar ciertos botones o continuar con el flujo normal.
' connecta2
Case "REGISTRO_COMPLETO"
Log("ocultamos cargar")
cargar.Visible = True
Log("########################################################")
Log("¡Registro completo!")
ToastMessageShow("¡Registro completo!", False)
' connecta2
Case "SIN_REGISTRO"
Log("########################################################")
Log("Sin registro")
ToastMessageShow("¡Dispositivo sin registro!", False)
linker.linkDevice(Subs.traeAlmacen, e_ruta.text)
Case "REGISTRANDO"
Log("¡Registro en proceso!")
ToastMessageShow("¡Registro en proceso!", True)
Case "YA_REGISTRADO"
Log("ocultamos cargar")
cargar.Visible = False
Subir.Visible = False
Log("########################################################")
Log("¡El dispositivo ya esta registrado con otra ruta!")
ToastMessageShow("¡¡El dispositivo ya esta registrado con otra ruta!!", True)
Msgbox2("Esa ruta ya esta registrada en otro dispositivo", "RUTA INCORRECTA","Aceptar", "", "",Null) 'ignore
Case Else ' Otros estados que tu servidor pueda devolver (ej. "UNAUTHORIZED", "PENDING_APPROVAL")
Log("########################################################")
Log($"Estado de verificación del dispositivo: ${Status}"$)
ToastMessageShow($"Verificación del dispositivo: ${Status}"$, True)
' Puedes decidir si bloquear la funcionalidad o mostrar un mensaje específico según el estado.
End Select
End Sub