mirror of
https://github.com/KeymonSoft/Mariana_Censos.git
synced 2026-04-19 21:59:22 +00:00
- Se agregó que se pueda importar la base de datos directamente desde Whatsapp.
- Se agrego un boton en el engrane (hay que poner KMTS1 en el usuario) para mandar a web los usuarios de kmt_info
This commit is contained in:
@@ -26,6 +26,7 @@ Sub Class_Globals
|
||||
' Dim rp As RuntimePermissions
|
||||
Private xui As XUI
|
||||
Public login As B4XMainPage
|
||||
Dim ime As IME
|
||||
Public principal As C_Principal
|
||||
Public clientes As C_Clientes
|
||||
Public cliente As C_Cliente
|
||||
@@ -77,6 +78,12 @@ Sub Class_Globals
|
||||
Dim q As C_Cuestionario
|
||||
' Private bAceptarPregunta As Button
|
||||
' Dim encuestaIniciada As Boolean = False
|
||||
Private b_mandaUsrs As Button
|
||||
Private p_importarBDWA As Panel
|
||||
Private cb_importarBDWA As CheckBox
|
||||
Dim subirClientes As Int = 0
|
||||
Private p_avanceSubirUsrs As Panel
|
||||
Private l_avanceSubirUsrs As Label
|
||||
End Sub
|
||||
|
||||
Public Sub Initialize
|
||||
@@ -184,6 +191,10 @@ Private Sub B4XPage_Created (Root1 As B4XView)
|
||||
Log(LastException)
|
||||
End Try
|
||||
End Try
|
||||
|
||||
'Revisamos si se disparo el intent de cargar la base de datos desde WhatApp.
|
||||
If Subs.traeUsarIntentBDWA Then Subs.importaBDDesdeWhatsApp
|
||||
|
||||
c=skmt.ExecQuery("select COUNT(*) AS CUANTOS from HIST_STAY_OUT ")
|
||||
C.Position = 0
|
||||
If c.GetString("CUANTOS") = 0 Then
|
||||
@@ -214,6 +225,13 @@ Private Sub B4XPage_Created (Root1 As B4XView)
|
||||
End Sub
|
||||
|
||||
Sub B4XPage_Appear
|
||||
|
||||
'Revisamos si se disparo el intent de cargar la base de datos desde WhatApp.
|
||||
If Subs.traeUsarIntentBDWA Then
|
||||
Log(111)
|
||||
Subs.importaBDDesdeWhatsApp
|
||||
End If
|
||||
|
||||
LogColor("Revisa permisos Location", Colors.Green)
|
||||
Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_ACCESS_FINE_LOCATION)
|
||||
Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean)
|
||||
@@ -371,6 +389,7 @@ End Sub
|
||||
Sub JobDone(Job As HttpJob)
|
||||
Log(Job.Success)
|
||||
If Job.Success = False Then
|
||||
LogColor("Error: " & Job.tag & " : " & Job.ErrorMessage, Colors.red)
|
||||
ToastMessageShow("Error: " & Job.ErrorMessage, True)
|
||||
' LogColor("Error: " & Job.ErrorMessage, Colors.red)
|
||||
Else
|
||||
@@ -443,6 +462,20 @@ Sub JobDone(Job As HttpJob)
|
||||
IMEI = ""
|
||||
End If
|
||||
End If
|
||||
|
||||
If Job.JobName = "DBRequest" Then
|
||||
Dim result As DBResult = reqManager.HandleJob(Job)
|
||||
If result.Tag.As(String).Contains("guardaCliente_") Then 'query tag
|
||||
subirClientes = subirClientes - 1
|
||||
l_avanceSubirUsrs.Text = $"Subiendo usuarios ${subirClientes}"$
|
||||
Log($"Subiendo usuarios ${subirClientes}"$)
|
||||
If subirClientes = 0 Then
|
||||
ToastMessageShow("Usuarios mandados a web", False)
|
||||
p_avanceSubirUsrs.Visible = False
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
||||
Job.Release
|
||||
End If
|
||||
' Log($"Paso1 = ${paso1} - Name: ${name} - IMEI: ${IMEI} - IMEI_BASE: ${IMEI_BASE}"$)
|
||||
@@ -594,11 +627,20 @@ End Sub
|
||||
|
||||
Sub i_engrane_Click
|
||||
lv_server.Clear
|
||||
user.Text = user.Text.Trim
|
||||
b_mandaUsrs.Visible = False
|
||||
cb_importarBDWA.Checked = Subs.traeUsarIntentBDWA
|
||||
p_importarBDWA.Visible = False
|
||||
lv_server.AddSingleLine("http://keymon.lat:1781")
|
||||
If user.Text = "KMTS1" Then lv_server.AddSingleLine("http://10.0.0.205:1781")
|
||||
If user.Text = "KMTS1" Then
|
||||
lv_server.AddSingleLine("http://10.0.0.205:1781")
|
||||
b_mandaUsrs.Visible = True
|
||||
p_importarBDWA.Visible = True
|
||||
End If
|
||||
l_server.Text = Starter.server
|
||||
et_server.Text = Starter.server
|
||||
Subs.panelVisible(p_appUpdate,0,0)
|
||||
ime.HideKeyboard
|
||||
End Sub
|
||||
|
||||
Sub b_guardar_Click
|
||||
@@ -671,4 +713,31 @@ End Sub
|
||||
' q.encuestaIniciada = False
|
||||
' Log(">>>>>>>>>> " & q.encuestaIniciada)
|
||||
' End Select
|
||||
'End Sub
|
||||
'End Sub
|
||||
|
||||
Private Sub b_mandaUsrs_Click
|
||||
Private c As Cursor = Starter.skmt.ExecQuery($"select * from kmt_info"$)
|
||||
Private dbr As DBRequestManager
|
||||
Private cmd1 As DBCommand
|
||||
dbr.Initialize(Me, "http://keymon.lat:9001")
|
||||
If c.RowCount > 0 Then
|
||||
subirClientes = c.RowCount - 1
|
||||
Subs.centraPanel(p_avanceSubirUsrs, p_appUpdate.Width)
|
||||
l_avanceSubirUsrs.Text = $"Subiendo usuarios ${subirClientes}"$
|
||||
p_avanceSubirUsrs.Visible = True
|
||||
For i = 0 To c.RowCount - 1
|
||||
c.Position = i
|
||||
cmd1.Initialize
|
||||
cmd1.Name = "guardaClientesMardsCensosBORR"
|
||||
cmd1.Parameters = Array As Object(c.GetBlob("CAT_CL_FOTO"), c.getstring("CAT_CL_NUM_SERIEFISICO"), c.getstring("CAT_CL_MTOCOMPRA"), c.getstring("CAT_CL_CEDIS"), c.getstring("CAT_CL_LAT"), c.getstring("CAT_CL_LONG"), c.getstring("CAT_CL_FBAJA"), c.getstring("CAT_CL_FALTA"), c.getstring("CAT_CL_CP"), c.getstring("CAT_CL_EDO"), c.getstring("CAT_CL_MUNI"), c.getstring("CAT_CL_COLONIA"), c.getstring("CAT_CL_CALLE2"), c.getstring("CAT_CL_CALLE1"), c.getstring("CAT_CL_NOINT"), c.getstring("CAT_CL_NOEXT"), c.getstring("CAT_CL_CALLE"), c.getstring("CAT_CL_EMAIL"), c.getstring("CAT_CL_TELEFONO"), c.getstring("CAT_CL_ATIENTE2"), c.getstring("CAT_CL_ATIENDE1"), c.getstring("CAT_CL_NOMBRE"), c.getstring("CAT_CL_GIRO"), c.getstring("CAT_CL_DIAS_VISITA"), c.getstring("CAT_CL_TIPO_RUTA"), c.getstring("CAT_CL_RUTA"), c.getstring("CAT_CL_CODIGO"), c.getstring("gestion"), c.getstring("CAT_CL_CRUCE1"), c.getstring("CAT_CL_ESTATUS"), c.getstring("CAT_CL_ENVIO_PENDIENTE"), c.getstring("CAT_CL_FECHA_CAPTURA"), c.getstring("NUEVO"), c.getstring("LAT_CENSADOR"), c.getstring("LON_CENSADOR"), c.getstring("ESTATUS_ORIGINAL"), c.getstring("CAMPOS_MODIFICADOS"), c.getstring("CAT_CL_DIASEMANA"), c.getstring("CAT_CL_SECUENCIA"))
|
||||
Log($"${c.getstring("CAT_CL_CODIGO")}, ${c.getstring("CAT_CL_NOMBRE")}"$)
|
||||
dbr.ExecuteCommand(cmd1 , $"guardaCliente_${c.getstring("CAT_CL_CODIGO")}"$)
|
||||
Next
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub cb_importarBDWA_CheckedChange(Checked As Boolean)
|
||||
' LogColor($"cb_importarBDWA_CheckedChange = ${Checked}"$, Colors.Red)
|
||||
Starter.skmt.ExecNonQuery("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'IMPORTAR_BD_WA'")
|
||||
Starter.skmt.ExecNonQuery($"insert into CAT_VARIABLES (CAT_VA_DESCRIPCION, CAT_VA_VALOR) values ('IMPORTAR_BD_WA', '${Checked}')"$)
|
||||
End Sub
|
||||
@@ -421,7 +421,7 @@ End Sub
|
||||
Sub mandaPendientes
|
||||
'Enviamos Pendientes
|
||||
c = B4XPages.MainPage.skmt.ExecQuery("SELECT * from kmt_info where CAT_CL_ENVIO_PENDIENTE = '1'")
|
||||
If mandarTodo Then c = B4XPages.MainPage.skmt.ExecQuery("SELECT * from kmt_info")
|
||||
If mandarTodo Then c = B4XPages.MainPage.skmt.ExecQuery("SELECT * from kmt_info where gestion = 11")
|
||||
Log($">>>>>> Cliente PENDIENTE: ${c.RowCount}"$)
|
||||
If c.RowCount > 0 Then
|
||||
For i = 0 To c.RowCount - 1
|
||||
@@ -459,6 +459,7 @@ Sub mandaPendientes
|
||||
' Log("******* LARGO - " & cuestionarioTexto.Length)
|
||||
cmd.Parameters = Array As Object(c.GetString("CAT_CL_CODIGO"), Subs.traeAlmacen, c.GetString("CAT_CL_LAT"), c.GetString("CAT_CL_LONG"), c.GetString("CAT_CL_SECUENCIA"), c.GetString("CAT_CL_RUTA"), c.GetString("CAT_CL_DIASEMANA"), c.GetString("CAT_CL_GIRO"), Subs.escapeSQLString(c.GetString("CAT_CL_NOMBRE")), c.GetString("CAT_CL_ATIENDE1"), c.GetString("CAT_CL_CALLE"), c.GetString("CAT_CL_NOINT"), c.GetString("CAT_CL_NOEXT"), Subs.escapeSQLString(c.GetString("CAT_CL_CALLE1")), c.GetString("CAT_CL_CRUCE1"), c.GetString("CAT_CL_CALLE2"), c.GetString("CAT_CL_CP"), c.GetString("CAT_CL_COLONIA"), c.GetString("CAT_CL_MUNI"), c.GetString("CAT_CL_EDO"), c.GetString("CAT_CL_ESTATUS"), c.GetString("CAT_CL_FECHA_CAPTURA"), sDate, Subs.traeUsuarioDeBD, c.GetString("CAT_CL_TELEFONO"), c.GetString("CAT_CL_EMAIL"), cuestionarioTexto)
|
||||
' Log($"${c.GetString("CAT_CL_CODIGO")}, ${Subs.traeAlmacen}, ${c.GetString("CAT_CL_LAT")}, ${c.GetString("CAT_CL_LONG")}, ${c.GetString("CAT_CL_SECUENCIA")}, ${c.GetString("CAT_CL_RUTA")}, ${c.GetString("CAT_CL_DIASEMANA")}, ${c.GetString("CAT_CL_GIRO")}, ${Subs.escapeSQLString(c.GetString("CAT_CL_NOMBRE"))}, ${c.GetString("CAT_CL_ATIENDE1")}, ${c.GetString("CAT_CL_CALLE")}, ${c.GetString("CAT_CL_NOINT")}, ${c.GetString("CAT_CL_NOEXT")}, ${c.GetString("CAT_CL_CALLE1")}, ${c.GetString("CAT_CL_CRUCE1")}, ${c.GetString("CAT_CL_CALLE2")}, ${c.GetString("CAT_CL_CP")}, ${c.GetString("CAT_CL_COLONIA")}, ${c.GetString("CAT_CL_MUNI")}, ${c.GetString("CAT_CL_EDO")}, ${c.GetString("CAT_CL_ESTATUS")}, ${c.GetString("CAT_CL_FECHA_CAPTURA")}, ${sDate}, ${Subs.traeUsuarioDeBD}, ${c.GetString("CAT_CL_TELEFONO")}, ${c.GetString("CAT_CL_EMAIL")}, ${cuestionarioTexto}"$)
|
||||
Logcolor($"MANDAMOS CIENTE ${c.GetString("CAT_CL_CODIGO")}"$, Colors.Magenta)
|
||||
reqManager.ExecuteCommand(cmd , $"confirmaCliente_${c.GetString("CAT_CL_CODIGO")}"$)
|
||||
|
||||
cmd.Initialize
|
||||
@@ -466,6 +467,8 @@ Sub mandaPendientes
|
||||
cmd.Parameters = Array As Object(Subs.traeUsuarioDeBD, Subs.traeAlmacen, Subs.traeAlmacen, c.GetString("CAT_CL_RUTA"), Subs.traeCliente, c.GetString("CAMPOS_MODIFICADOS"))
|
||||
' Log($"${Subs.traeUsuarioDeBD}, ${Subs.traeAlmacen}, ${Subs.traeAlmacen}, ${c.GetString("CAT_CL_RUTA")}, ${Subs.traeCliente}, ${c.GetString("CAMPOS_MODIFICADOS")}"$)
|
||||
reqManager.ExecuteCommand(cmd , $"guardaClientesNuevosMods_${c.GetString("CAT_CL_CODIGO")}"$)
|
||||
|
||||
|
||||
Next
|
||||
End If
|
||||
End Sub
|
||||
|
||||
@@ -268,7 +268,7 @@ Sub b_guardar_Click
|
||||
Private DateNC As String = DateTime.Date(DateTime.Now)
|
||||
If cargarCliente Then
|
||||
camposModificados = Subs.RemoveDuplicates(camposModificados)
|
||||
B4XPages.MainPage.skmt.ExecNonQuery($"UPDATE kmt_info set CAT_CL_CODIGO = '${no_cliente}', CAT_CL_CEDIS = '${Subs.traeAlmacen}', CAT_CL_TELEFONO = '${et_telefono.text}', CAT_CL_EMAIL = '${et_email.text}', CAT_CL_ATIENDE1 = '${et_atiende.Text}',
|
||||
B4XPages.MainPage.skmt.ExecNonQuery($"UPDATE kmt_info set CAT_CL_CODIGO = '${no_cliente}', CAT_CL_CEDIS = '${Subs.traeAlmacen}', CAT_CL_TELEFONO = '${et_telefono.text}', CAT_CL_EMAIL = '${et_email.text}', CAT_CL_ATIENDE1 = '${et_atiende.Text}', gestion = 11,
|
||||
CAT_CL_LAT = '${B4XPages.MainPage.lat_gps}', CAT_CL_LONG = '${B4XPages.MainPage.lon_gps}', CAT_CL_GIRO = '${cb_giro.SelectedItem}', CAT_CL_NOMBRE = '${Subs.escapeSQLString(et_nombre.Text)}', CAT_CL_CALLE1 = '${Subs.escapeSQLString(et_direccion.text)}', CAT_CL_ENVIO_PENDIENTE = 1,
|
||||
LAT_CENSADOR = '${B4XPages.MainPage.lat_gps}', LON_CENSADOR = '${B4XPages.MainPage.lon_gps}', CAMPOS_MODIFICADOS = '${Subs.list2string(camposModificados)}' where CAT_CL_CODIGO In (select cuenta from cuentaa)"$)
|
||||
Else
|
||||
@@ -468,7 +468,7 @@ Sub mandaPendientesNuevosClientes
|
||||
Private sDateP As String = DateTime.Date(DateTime.Now)
|
||||
' c = B4XPages.MainPage.skmt.ExecQuery("SELECT * from kmt_info where CAT_CL_CODIGO like 'NC%' and CAT_CL_ENVIO_PENDIENTE = '1'")
|
||||
c = B4XPages.MainPage.skmt.ExecQuery("Select kmt_info.*, nom_foto from kmt_info left join HIST_FOTO_CLIENTE on cat_cl_codigo = codigo where CAT_CL_CODIGO like 'N%' and CAT_CL_ENVIO_PENDIENTE = '1'")
|
||||
If mandarTodo Then c = B4XPages.MainPage.skmt.ExecQuery("Select kmt_info.*, nom_foto from kmt_info left join HIST_FOTO_CLIENTE on cat_cl_codigo = codigo where CAT_CL_CODIGO like 'N%'")
|
||||
If mandarTodo Then c = B4XPages.MainPage.skmt.ExecQuery("Select kmt_info.*, nom_foto from kmt_info left join HIST_FOTO_CLIENTE on cat_cl_codigo = codigo where CAT_CL_CODIGO like 'N%' and gestion = 11")
|
||||
Log($"Cliente Nuevo PENDIENTE: ${c.RowCount}"$)
|
||||
Dim fotox() As Byte
|
||||
Dim cmd As DBCommand
|
||||
|
||||
Binary file not shown.
File diff suppressed because one or more lines are too long
@@ -49,6 +49,6 @@ ModuleClosedNodes6=
|
||||
ModuleClosedNodes7=
|
||||
ModuleClosedNodes8=
|
||||
ModuleClosedNodes9=
|
||||
NavigationStack=C_Cliente,mandaPendientes,422,6,C_Principal,Class_Globals,0,0,Starter,JobDone,131,0,C_NuevoCliente,b_guardar_Click,277,0,B4XMainPage,Class_Globals,17,0,C_NuevoCliente,mandaPendientesNuevosClientes,463,0,C_Principal,connecta_Click,935,0,C_Principal,cargar_Click,501,0,C_Principal,b_subir_Click,452,0,C_Principal,JobDone,555,6
|
||||
NavigationStack=B4XMainPage,i_engrane_Click,623,6,B4XMainPage,Class_Globals,21,4,B4XMainPage,cb_importarBDWA_CheckedChange,700,0,B4XMainPage,B4XPage_Appear,221,1,B4XMainPage,B4XPage_Created,211,0,Subs,importaBDDesdeWhatsApp,1368,6,Visual Designer,login.bal,-100,6,DBRequestManager,ExecuteQuery,31,0,B4XMainPage,b_mandaUsrs_Click,719,6,B4XMainPage,JobDone,463,6
|
||||
SelectedBuild=0
|
||||
VisibleModules=2,14,9,4,8,5,15,7,16
|
||||
VisibleModules=2,14,9,12,4,8,5,15,7,16,13
|
||||
|
||||
54
B4A/Subs.bas
54
B4A/Subs.bas
@@ -20,6 +20,8 @@ Sub Process_Globals
|
||||
Dim rutaHrsAtras As Int = 48
|
||||
' Dim rutaInicioHoy As String = ""
|
||||
Private subsLogs As Boolean = False
|
||||
Dim in As Intent
|
||||
Dim intentUsado As Boolean = False
|
||||
End Sub
|
||||
|
||||
'Pone el valor de phn.Model en la variable global "devModel"
|
||||
@@ -1322,4 +1324,56 @@ Sub guardaAppInfo 'ignore
|
||||
B4XPages.MainPage.skmt.ExecNonQuery("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'EMPRESA' or CAT_VA_DESCRIPCION = 'APP_NAME' or CAT_VA_DESCRIPCION = 'APP_VERSION'")
|
||||
B4XPages.MainPage.skmt.ExecNonQuery($"insert into CAT_VARIABLES (CAT_VA_DESCRIPCION, CAT_VA_VALOR) values ('APP_NAME', '${Application.LabelName}')"$)
|
||||
B4XPages.MainPage.skmt.ExecNonQuery($"insert into CAT_VARIABLES (CAT_VA_DESCRIPCION, CAT_VA_VALOR) values ('APP_VERSION', '${Application.VersionName}')"$)
|
||||
End Sub
|
||||
|
||||
|
||||
'Regresa si se debe de usar el intent de importar la base d datos desde Whatsapp.
|
||||
Sub traeUsarIntentBDWA As Boolean 'ignore
|
||||
Private BDWA As Boolean = False
|
||||
Private x As Cursor = Starter.skmt.ExecQuery($"select CAT_VA_VALOR from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'IMPORTAR_BD_WA'"$)
|
||||
If x.RowCount > 0 Then
|
||||
x.Position = 0
|
||||
If x.GetString("CAT_VA_VALOR") = "true" Then BDWA = True
|
||||
End If
|
||||
' Log($"cb_importarBDWA = ${BDWA}"$)
|
||||
Return BDWA
|
||||
End Sub
|
||||
|
||||
' Se revisa si hay una intención (intent) de abrir una base de datos y si es así, entonces se importa esa base de datos.
|
||||
Sub importaBDDesdeWhatsApp
|
||||
Private tmpBDWA As Boolean = traeUsarIntentBDWA
|
||||
If Not(in.IsInitialized) Then in = B4XPages.GetNativeParent(B4XPages.MainPage).GetStartingIntent ' Si se usa esta funcion en Mainpage, se pone "Me" en lugar de B4XPages.MainPage.
|
||||
If Not(intentUsado) And in <> Null Then
|
||||
' Log(in)
|
||||
intentUsado = True
|
||||
' Log(in.As(String))
|
||||
If in.GetData <> Null Then
|
||||
' Log(333)
|
||||
Dim XmlData As String
|
||||
XmlData = in.GetData
|
||||
Try
|
||||
Dim OutStr As OutputStream = File.OpenOutput(File.DirInternal,"kmt.db",False)
|
||||
Dim InStr As InputStream = File.OpenInput("ContentDir",XmlData)
|
||||
File.Copy2(InStr,OutStr)
|
||||
LogColor("BD copiada a interna.", Colors.Blue)
|
||||
OutStr.Close
|
||||
If in.As(String).Contains("whatsapp") Then ToastMessageShow("BD cargada desde Whatsapp", False)
|
||||
Catch
|
||||
Log(LastException)
|
||||
End Try
|
||||
' ExitApplication
|
||||
Starter.skmt.ExecNonQuery("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'IMPORTAR_BD_WA'")
|
||||
Starter.skmt.ExecNonQuery($"insert into CAT_VARIABLES (CAT_VA_DESCRIPCION, CAT_VA_VALOR) values ('IMPORTAR_BD_WA', '${tmpBDWA}')"$)
|
||||
Private a As Cursor = Starter.skmt.ExecQuery($"select CAT_VA_VALOR from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'APP_NAME'"$)
|
||||
If a.RowCount > 0 Then
|
||||
a.Position = 0
|
||||
ToastMessageShow($"BD de "${a.GetString("CAT_VA_VALOR")}" cargada."$, True)
|
||||
End If
|
||||
a = Starter.skmt.ExecQuery($"select * from usuarioa"$)
|
||||
If a.RowCount > 0 Then
|
||||
a.Position = 0
|
||||
B4XPages.MainPage.user.text = a.GetString("USUARIO")
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
Reference in New Issue
Block a user