diff --git a/B4A/B4XMainPage.bas b/B4A/B4XMainPage.bas index ec4f211..18ec3c7 100644 --- a/B4A/B4XMainPage.bas +++ b/B4A/B4XMainPage.bas @@ -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 \ No newline at end of file +'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 \ No newline at end of file diff --git a/B4A/C_Cliente.bas b/B4A/C_Cliente.bas index 63b5827..046d725 100644 --- a/B4A/C_Cliente.bas +++ b/B4A/C_Cliente.bas @@ -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 diff --git a/B4A/C_NuevoCliente.bas b/B4A/C_NuevoCliente.bas index 4c83b24..01153b3 100644 --- a/B4A/C_NuevoCliente.bas +++ b/B4A/C_NuevoCliente.bas @@ -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 diff --git a/B4A/Files/login.bal b/B4A/Files/login.bal index 50619e2..e6e899f 100644 Binary files a/B4A/Files/login.bal and b/B4A/Files/login.bal differ diff --git a/B4A/Mariana Censos.b4a b/B4A/Mariana Censos.b4a index 569b621..68e18c5 100644 --- a/B4A/Mariana Censos.b4a +++ b/B4A/Mariana Censos.b4a @@ -728,7 +728,7 @@ Library6=byteconverter Library7=camera Library8=compressstrings Library9=core -ManifestCode='This code will be applied to the manifest file during compilation.~\n~'You do not need to modify it in most cases.~\n~'See this link for for more information: https://www.b4x.com/forum/showthread.php?p=78136~\n~AddManifestText(~\n~~\n~)~\n~SetApplicationAttribute(android:icon, "@drawable/icon")~\n~SetApplicationAttribute(android:label, "$LABEL$")~\n~CreateResourceFromFile(Macro, Themes.LightTheme)~\n~AddApplicationText(~\n~)~\n~CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)~\n~ 'End of default text.~\n~''''' CAMBIA LA CLAVE API~\n~AddApplicationText(~\n~~\n~ ~\n~)~\n~AddManifestText(~\n~ ~\n~ )~\n~AddApplicationText(~\n~~\n~)~\n~AddManifestText(~\n~~\n~)~\n~''CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)~\n~ 'End of default text.~\n~ ~\n~SetApplicationAttribute(android:usesCleartextTraffic, "true")~\n~ AddManifestText(~\n~~\n~) AddManifestText(~\n~~\n~)~\n~AddPermission(android.permission.ACCESS_BACKGROUND_LOCATION)~\n~AddManifestText(~\n~~\n~)~\n~AddManifestText(~\n~~\n~) 'in order to access the device non-resettable identifiers such as IMEI and serial number.~\n~~\n~'///////////////////////// FLP Y PUSH /////////////~\n~' CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)~\n~' CreateResourceFromFile(Macro, FirebaseAnalytics.Firebase)~\n~' CreateResourceFromFile(Macro, FirebaseAnalytics.FirebaseAnalytics)~\n~' CreateResourceFromFile(Macro, FirebaseNotifications.FirebaseNotifications)~\n~ SetServiceAttribute(Tracker, android:foregroundServiceType, "location")~\n~'//////////////////////////////////////////////////////~\n~~\n~'/////////////////////// App Updating ////////////////~\n~ AddManifestText(~\n~ )~\n~ AddApplicationText(~\n~ ~\n~ ~\n~ ~\n~ )~\n~ CreateResource(xml, provider_paths,~\n~ ~\n~ ~\n~ ~\n~ ~\n~ ~\n~ )~\n~AddManifestText()~\n~AddManifestText()~\n~AddManifestText()~\n~AddManifestText()~\n~~\n~AddPermission(android.permission.REQUEST_INSTALL_PACKAGES)~\n~AddPermission(android.permission.INTERNET)~\n~AddPermission(android.permission.INSTALL_PACKAGES)~\n~AddPermission(android.permission.READ_EXTERNAL_STORAGE)~\n~'AddPermission(android.permission.WRITE_EXTERNAL_STORAGE)~\n~AddPermission(android.permission.READ_PHONE_STATE)~\n~AddPermission(android.permission.WAKE_LOCK)~\n~CreateResourceFromFile(Macro, JhsIceZxing1.CaturePortrait)~\n~AddPermission("android.permission.MANAGE_EXTERNAL_STORAGE")~\n~SetApplicationAttribute(android:largeHeap, "true")~\n~AddPermission("android.permission.MANAGE_EXTERNAL_STORAGE")~\n~SetApplicationAttribute(android:allowBackup, "false")~\n~ +ManifestCode='This code will be applied to the manifest file during compilation.~\n~'You do not need to modify it in most cases.~\n~'See this link for for more information: https://www.b4x.com/forum/showthread.php?p=78136~\n~AddManifestText(~\n~~\n~)~\n~SetApplicationAttribute(android:icon, "@drawable/icon")~\n~SetApplicationAttribute(android:label, "$LABEL$")~\n~CreateResourceFromFile(Macro, Themes.LightTheme)~\n~AddApplicationText(~\n~)~\n~CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)~\n~ 'End of default text.~\n~''''' CAMBIA LA CLAVE API~\n~AddApplicationText(~\n~~\n~ ~\n~)~\n~AddManifestText(~\n~ ~\n~ )~\n~AddApplicationText(~\n~~\n~)~\n~AddManifestText(~\n~~\n~)~\n~''CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)~\n~ 'End of default text.~\n~ ~\n~SetApplicationAttribute(android:usesCleartextTraffic, "true")~\n~ AddManifestText(~\n~~\n~) AddManifestText(~\n~~\n~)~\n~AddPermission(android.permission.ACCESS_BACKGROUND_LOCATION)~\n~AddManifestText(~\n~~\n~)~\n~AddManifestText(~\n~~\n~) 'in order to access the device non-resettable identifiers such as IMEI and serial number.~\n~~\n~'///////////////////////// FLP Y PUSH /////////////~\n~' CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)~\n~' CreateResourceFromFile(Macro, FirebaseAnalytics.Firebase)~\n~' CreateResourceFromFile(Macro, FirebaseAnalytics.FirebaseAnalytics)~\n~' CreateResourceFromFile(Macro, FirebaseNotifications.FirebaseNotifications)~\n~ SetServiceAttribute(Tracker, android:foregroundServiceType, "location")~\n~'//////////////////////////////////////////////////////~\n~~\n~'/////////////////////// App Updating ////////////////~\n~ AddManifestText(~\n~ )~\n~ AddApplicationText(~\n~ ~\n~ ~\n~ ~\n~ )~\n~ CreateResource(xml, provider_paths,~\n~ ~\n~ ~\n~ ~\n~ ~\n~ ~\n~ )~\n~AddManifestText()~\n~AddManifestText()~\n~AddManifestText()~\n~AddManifestText()~\n~~\n~AddPermission(android.permission.REQUEST_INSTALL_PACKAGES)~\n~AddPermission(android.permission.INTERNET)~\n~AddPermission(android.permission.INSTALL_PACKAGES)~\n~AddPermission(android.permission.READ_EXTERNAL_STORAGE)~\n~'AddPermission(android.permission.WRITE_EXTERNAL_STORAGE)~\n~AddPermission(android.permission.READ_PHONE_STATE)~\n~AddPermission(android.permission.WAKE_LOCK)~\n~CreateResourceFromFile(Macro, JhsIceZxing1.CaturePortrait)~\n~AddPermission("android.permission.MANAGE_EXTERNAL_STORAGE")~\n~SetApplicationAttribute(android:largeHeap, "true")~\n~AddPermission("android.permission.MANAGE_EXTERNAL_STORAGE")~\n~SetApplicationAttribute(android:allowBackup, "false")~\n~~\n~ 'Para que se registre para abrir bases de datos~\n~ AddActivityText(main,~\n~~\n~~\n~~\n~~\n~)~\n~ Module1=appUpdater Module10=C_UpdateAvailable Module11=CameraExClass2 diff --git a/B4A/Mariana Censos.b4a.meta b/B4A/Mariana Censos.b4a.meta index f09b51b..20d5e0e 100644 --- a/B4A/Mariana Censos.b4a.meta +++ b/B4A/Mariana Censos.b4a.meta @@ -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 diff --git a/B4A/Subs.bas b/B4A/Subs.bas index 2d5c8de..01d4c48 100644 --- a/B4A/Subs.bas +++ b/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 \ No newline at end of file