From 2b7cd5c3b5b5369a21501e147ef9cfad02de8382 Mon Sep 17 00:00:00 2001 From: cheveguerra Date: Sat, 23 Sep 2023 23:41:19 -0600 Subject: [PATCH] =?UTF-8?q?2/9/23=20-=20NotificationService,=20RespaldoDia?= =?UTF-8?q?rio=20y=20DBReqServer.=20-=20Se=20agreg=C3=B3=20el=20servicio?= =?UTF-8?q?=20"NotificationService"=20para=20interceptar=20notificaciones?= =?UTF-8?q?=20y=20por=20medio=20de=20un=20mensaje=20de=20WhatsApp=20(#NS?= =?UTF-8?q?=20http://10.0.0.205:1782),=20cambiar=20el=20servidor=20de=20DB?= =?UTF-8?q?Req.=20-=20Se=20agreg=C3=B3=20la=20clase=20de=20RespaldoDiario.?= =?UTF-8?q?=20-=20Se=20estandariz=C3=B3=20el=20DBreqServer=20en=20Starter.?= =?UTF-8?q?DBReqServer.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- B4A/B4XMainPage.bas | 48 ++++++++++++++++++++++++++++++---------- B4A/C_Cliente.bas | 2 +- B4A/C_NoVenta.bas | 2 +- B4A/C_Principal.bas | 21 ++++++++---------- B4A/C_RespaldoDiario.bas | 10 +++++---- B4A/INTMEX_LL.b4a | 37 +++++++++++++++++-------------- B4A/INTMEX_LL.b4a.meta | 22 +++++++++++------- B4A/Starter.bas | 26 ++++++++++++++++------ B4A/Tracker.bas | 1 + 9 files changed, 107 insertions(+), 62 deletions(-) diff --git a/B4A/B4XMainPage.bas b/B4A/B4XMainPage.bas index c42d1ca..775e250 100644 --- a/B4A/B4XMainPage.bas +++ b/B4A/B4XMainPage.bas @@ -24,6 +24,7 @@ Version=9.85 Sub Class_Globals Private Root As B4XView Private xui As XUI + Dim s As C_Subs Public login As B4XMainPage Public principal As C_Principal Public clientes As C_Clientes @@ -59,7 +60,7 @@ Sub Class_Globals Dim batt As Int Dim skmt As SQL Dim montoActual, clientesTotal, clientesVenta, clientesVisitados,almacen, rutaPreventa As String - Dim server, fechaRuta As String + Dim DBReqServer, fechaRuta As String Dim Logger As Boolean Dim mac_impresora As String Dim Phn As PhoneId @@ -108,6 +109,7 @@ Private Sub B4XPage_Created (Root1 As B4XView) B4XPages.GetManager.LogEvents = True Root = Root1 Root.LoadLayout("login") + s.Initialize(Me, "Subs") B4XPages.SetTitle(Me, "Intmex Preventa") login.Initialize B4XPages.AddPage("Login", login) @@ -175,7 +177,7 @@ Private Sub B4XPage_Created (Root1 As B4XView) C.Close ' server = "http://keymon.com.mx:1782" 'server = "http://201.99.139.28:1783" -' reqManager.Initialize(Me, server) +' reqManager.Initialize(Me, DBReqServer) l_version.Text = Application.VersionName 'este codigo es para lo del menu ' PopupMenu.Initialize("PopupMenu", b_menu) @@ -254,8 +256,8 @@ Sub B4XPage_Appear Dim ph As Phone 'Get Id Device Dim DeviceID As String = ph.GetSettings("android_id").ToUpperCase LogColor($"////////////////// DeviceID: ${DeviceID} ////////////////// "$, Colors.Blue) - server = Starter.server - reqManager.Initialize(Me, Starter.server) + DBReqServer = Starter.DBReqServer + reqManager.Initialize(Me, Starter.DBReqServer) tgl.Initialize() If Not(Starter.gps.GPSEnabled) Then ToastMessageShow("Es necesario tener el GPS encendido", True) @@ -292,6 +294,26 @@ Sub B4XPage_Appear 'Obtenemos el usuario registrado ' CallSubDelayed(FirebaseMessaging, "SubscribeToTopics") dameUsuario + If Not(s.CheckNotificationAccess) Then + Msgbox2Async($"Se necesita acceso a las notificaciones, haga clic en "Aceptar" y en la siguiente pantalla permita el acceso a la aplicación "${Application.LabelName}"."$, "Permisos necesarios", "Aceptar", "Cancelar", "", Null, True) + Wait For Msgbox_Result (resultado As Int) + If resultado = DialogResponse.POSITIVE Then + Dim In As Intent + In.Initialize("android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS", "") + StartActivity(In) + End If +' Private cd1 As ColorDrawable +' cd1.Initialize(Colors.red, 10dip) +' b_notifAccess.Background = cd1 +' b_notifAccess.TextColor = Colors.White +' b_notifAccess.Text = "Activar Permisos" + Else +' Private cd1 As ColorDrawable +' cd1.Initialize(Colors.RGB(109, 221, 101), 10dip) +' b_notifAccess.Background = cd1 +' b_notifAccess.TextColor = Colors.White +' b_notifAccess.Text = "Permisos Activos" + End If End Sub 'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. @@ -321,11 +343,11 @@ Sub Entrar_Click IMEI = PP.GetSettings("android_id") End If ' Log("IMEI = " & IMEI) - + If user.Text = "ALTERNO" Then c=skmt.ExecQuery2("select CAT_CO_CONFIGURACION, CAT_CO_RESULTADO from CAT_CODIGOS where CAT_CO_PONDERACION =1 AND CAT_CO_ACCION = ?", Array As String("SERVER")) c.Position =0 - server = c.GetString("CAT_CO_CONFIGURACION") + DBReqServer = c.GetString("CAT_CO_CONFIGURACION") alterno = c.GetString("CAT_CO_RESULTADO") c.Close If alterno = 1 Then @@ -337,10 +359,10 @@ Sub Entrar_Click End If c=skmt.ExecQuery2("select CAT_CO_CONFIGURACION, CAT_CO_RESULTADO from CAT_CODIGOS where CAT_CO_PONDERACION =1 AND CAT_CO_ACCION = ?", Array As String("SERVER")) c.Position =0 - server = c.GetString("CAT_CO_CONFIGURACION") - user.Text = server + DBReqServer = c.GetString("CAT_CO_CONFIGURACION") + user.Text = DBReqServer c.Close -' reqManager.Initialize(Me, server) +' reqManager.Initialize(Me, DBReqServer) else if user.Text = "KMTS1" Then skmt.ExecNonQuery("delete from usuarioa") skmt.ExecNonQuery2("INSERT INTO USUARIOA VALUES (?,?)", Array As Object(user.Text, pass.Text)) @@ -641,7 +663,8 @@ Sub i_engrane_Click ime.HideKeyboard lv_server.AddSingleLine("http://keymon.lat:1782") If user.Text = "KMTS1" Then lv_server.AddSingleLine("http://10.0.0.205:1782") - l_server.Text = Starter.server +' lv_server.AddSingleLine("http://40.123.36.38:1782") + l_server.Text = Starter.DBReqServer Subs.panelVisible(p_appUpdate,0,0) If user.Text.trim = "KMTS1" Then b_importarBD.Visible = True Else b_importarBD.Visible = False End Sub @@ -659,9 +682,10 @@ Sub Entrar_LongClick End Sub Private Sub lv_server_ItemClick (Position As Int, Value As Object) - Starter.server = Value + Starter.DBReqServer = Value l_server.Text = Value - Starter.reqManager.Initialize(Me, Value) + Starter.reinicializaReqManager(Value) +' Starter.reqManager.Initialize(Me, Value) ToastMessageShow("Servidor modificado", False) End Sub diff --git a/B4A/C_Cliente.bas b/B4A/C_Cliente.bas index 4b74895..923b8e3 100644 --- a/B4A/C_Cliente.bas +++ b/B4A/C_Cliente.bas @@ -203,7 +203,7 @@ Private Sub B4XPage_Created (Root1 As B4XView) s.Close btAdmin.Initialize("BlueTeeth") cmp20.Initialize("Printer") - reqManager.Initialize(Me, B4XPages.MainPage.SERVER) + reqManager.Initialize(Me, Starter.DBReqServer) Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_CAMERA) Wait For B4XPage_PermissionResult (Permission As String, resultC As Boolean) Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_WRITE_EXTERNAL_STORAGE) diff --git a/B4A/C_NoVenta.bas b/B4A/C_NoVenta.bas index 0265c5c..aeeed4d 100644 --- a/B4A/C_NoVenta.bas +++ b/B4A/C_NoVenta.bas @@ -47,7 +47,7 @@ Private Sub B4XPage_Created (Root1 As B4XView) If File.Exists(ruta, "kmt.db") = False Then File.Copy(File.DirAssets, "kmt.db", ruta, "kmt.db") End If - reqManager.Initialize(Me, B4XPages.MainPage.SERVER) + reqManager.Initialize(Me, Starter.DBReqServer) ' skmt.Initialize(ruta,"kmt.db", True) End Sub diff --git a/B4A/C_Principal.bas b/B4A/C_Principal.bas index bc7212b..5b0f979 100644 --- a/B4A/C_Principal.bas +++ b/B4A/C_Principal.bas @@ -310,13 +310,10 @@ Private Sub B4XPage_Created (Root1 As B4XView) l_rutasuplencia.Visible = False Else If s.RowCount > 0 Then - Label22.Visible = True l_rutasuplencia.Visible = True l_rutasuplencia.Text = s.GetString("RS_RUTA") - End If - End Sub Sub B4XPage_Appear @@ -325,7 +322,7 @@ Sub B4XPage_Appear rd.respaldaPaquetes HORAINGRESO ="000000" Btn_Ubicar.Left = (Root.Width/2) - (Btn_Ubicar.Width/2) -' B4XPages.MainPage.reqManager.Initialize(Me, B4XPages.MainPage.SERVER) +' B4XPages.MainPage.reqManager.Initialize(Me, Starter.DBReqServer) PASO =0 If Not(Starter.gps.GPSEnabled) Then If Starter.marcaCel <> "Sony" Then ToastMessageShow("Es necesario tener el GPS encendido", True) @@ -1641,7 +1638,7 @@ Private Sub B4XPage_CloseRequest As ResumableSub End Sub Sub connecta_Click - B4XPages.MainPage.reqManager.Initialize(Me, Starter.server) + B4XPages.MainPage.reqManager.Initialize(Me, Starter.DBReqServer) ime.HideKeyboard connecta1 = connecta1 + 1 ' imei = p.GetDeviceId @@ -1687,18 +1684,18 @@ Sub connecta_Click ToastMessageShow("Validando Conexión." , True) ' If connecta1 / 2 = 1 Then -' 'SERVER = "http://177.244.63.54:1782" -' 'SERVER = "http://keymon.com.mx:1782" -' 'SERVER = "http://201.99.139.28:1782" - '' B4XPages.MainPage.SERVER = "http://187.189.244.154:1782" - '' SERVER = "http://10.0.0.205:1782" +' 'Starter.DBReqServer = "http://177.244.63.54:1782" +' 'Starter.DBReqServer = "http://keymon.com.mx:1782" +' 'Starter.DBReqServer = "http://201.99.139.28:1782" + '' Starter.DBReqServer = "http://187.189.244.154:1782" + '' Starter.DBReqServer = "http://10.0.0.205:1782" ' Else ' 'SERVER = "http://keymon.com.mx:1782" ' 'SERVER = "http://201.99.139.28:1782" ' 'SERVER = "http://177.244.63.54:1782" - '' B4XPages.MainPage.SERVER = "http://187.189.244.154:1782" + '' Starter.DBReqServer = "http://187.189.244.154:1782" '' SERVER = "http://10.0.0.205:1782" -' B4XPages.MainPage.reqManager.Initialize(Me, Starter.server) +' B4XPages.MainPage.reqManager.Initialize(Me, Starter.DBReqServer) ' End If End Sub diff --git a/B4A/C_RespaldoDiario.bas b/B4A/C_RespaldoDiario.bas index 5a9ec10..f79aec8 100644 --- a/B4A/C_RespaldoDiario.bas +++ b/B4A/C_RespaldoDiario.bas @@ -8,7 +8,7 @@ Sub Class_Globals Private Root As B4XView 'ignore Private xui As XUI 'ignore Dim skmt, rkmt As SQL - Dim rp As RuntimePermissions +' Dim rp As RuntimePermissions Dim safePath As String Dim fechaHoy As String Dim skmtAttached As Boolean = False @@ -19,7 +19,7 @@ Public Sub Initialize As Object ' Log("************************** " & safePath) Dim Dirp As String = File.DirRootExternal Dim Dir As String - Dim Dir2 As String +' Dim Dir2 As String Try File.MakeDir(Dirp,"/kmts") Dir = "/kmts" @@ -30,7 +30,8 @@ Public Sub Initialize As Object End Try ' safePath = rp.GetSafeDirDefaultExternal("./") safePath = Dirp & Dir - rkmt.Initialize(safePath,"rkmt.km", True) + Private name() As String = Regex.split(" ", Application.LabelName) + rkmt.Initialize(safePath,$"${name(0)}.rkmt.km"$, True) skmt.Initialize(File.DirInternal,"kmt.db", False) rkmt.ExecNonQuery($"create table if not exists pedidos (pe_folio NUMERIC, pe_desc NUMERIC, pe_costo_sin TEXT, pe_ruta TEXT, pe_cedis TEXT, pe_costo_tot NUMERIC, pe_costou NUMERIC, pe_cant NUMERIC, pe_pronombre TEXT, pe_proid TEXT, pe_cliente TEXT, pe_fecha TEXT, pe_usuario TEXT)"$) rkmt.ExecNonQuery($"create table if not exists inventarios (cat_gp_iniciativa TEXT, cat_gp_tipoprod TEXT, cat_gp_dev TEXT, cat_gp_almacen NUMERIC, cat_gp_id TEXT, cat_gp_nombre TEXT, cat_gp_imp1 TEXT, cat_gp_imp2 TEXT, cat_gp_precio TEXT, cat_gp_clasif TEXT, cat_gp_sts TEXT, cat_gp_tipo TEXT, cat_gp_subtipo TEXT, cat_gp_tipoprod2 TEXT, fecha TEXT)"$) @@ -47,6 +48,7 @@ Private Sub B4XPage_Created (Root1 As B4XView) 'load the layout to Root End Sub +'Revisa si esta montada "kmt.db" como "skmt" y si no, se monta. Sub revisaSkmtAttached skmtAttached = False Dim rs As ResultSet = rkmt.ExecQuery("SELECT * FROM pragma_database_list") @@ -109,7 +111,7 @@ End Sub 'Agrega una columna a la tabla especificada. 'Hay que indicar el "tipo" de la columna (TEXT, INTEGER, ETC) 'Ej. agregaColumna("TABLA", "COLUMNA", "TIPO") -Sub agregaColumna(tabla As String, columna As String, tipo As String) +Sub agregaColumna(tabla As String, columna As String, tipo As String) 'ignore Try 'Intentamos usar "pragma_table_info" para revisar si existe la columna en la tabla Private c As Cursor = B4XPages.MainPage.skmt.ExecQuery($"SELECT COUNT(*) AS fCol FROM pragma_table_info('${tabla}') WHERE name='${columna}'"$) c.Position = 0 diff --git a/B4A/INTMEX_LL.b4a b/B4A/INTMEX_LL.b4a index b309c55..66dbd85 100644 --- a/B4A/INTMEX_LL.b4a +++ b/B4A/INTMEX_LL.b4a @@ -113,18 +113,19 @@ Library25=randomaccessfile Library26=rspopupmenu Library27=serial Library28=sql -Library29=togglelibrary +Library29=stringutils Library3=baqrcode -Library30=xcustomlistview -Library31=xui -Library32=stringutils +Library30=togglelibrary +Library31=xcustomlistview +Library32=xui +Library33=replyauto Library4=batteryprogressview Library5=bitmapcreator Library6=byteconverter Library7=camera Library8=compressstrings Library9=contentresolver -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~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~)~\n~SetApplicationAttribute(android:usesCleartextTraffic, "true")~\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~ ~\n~SetApplicationAttribute(android:largeHeap, "true")~\n~~\n~AddManifestText(~\n~ )~\n~ AddApplicationText(~\n~ ~\n~ ~\n~ ~\n~ )~\n~ CreateResource(xml, provider_paths,~\n~ ~\n~ ~\n~ ~\n~ ~\n~ ~\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.MANAGE_EXTERNAL_STORAGE")~\n~ AddPermission(android.permission.READ_PHONE_STATE)~\n~ AddPermission(android.permission.WAKE_LOCK)~\n~ SetApplicationAttribute(android:allowBackup, "false")~\n~ AddManifestText() +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~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~)~\n~SetApplicationAttribute(android:usesCleartextTraffic, "true")~\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~ ~\n~SetApplicationAttribute(android:largeHeap, "true")~\n~~\n~AddManifestText(~\n~ )~\n~AddApplicationText(~\n~ ~\n~ ~\n~ ~\n~)~\n~CreateResource(xml, provider_paths,~\n~~\n~ ~\n~ ~\n~ ~\n~~\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.MANAGE_EXTERNAL_STORAGE")~\n~AddPermission(android.permission.READ_PHONE_STATE)~\n~AddPermission(android.permission.WAKE_LOCK)~\n~SetApplicationAttribute(android:allowBackup, "false")~\n~AddManifestText()~\n~ ~\n~AddApplicationText(~\n~~\n~~\n~) Module1=appUpdater Module10=C_NuevoCliente Module11=C_Pedidos @@ -132,17 +133,19 @@ Module12=C_Principal Module13=C_Productos Module14=C_Promos Module15=C_RespaldoDiario -Module16=C_TicketsDia -Module17=C_UpdateAvailable -Module18=DBRequestManager -Module19=FileHandler +Module16=C_Subs +Module17=C_TicketsDia +Module18=C_UpdateAvailable +Module19=DBRequestManager Module2=B4XMainPage -Module20=ManageExternalStorage -Module21=MAPA_RUTAS -Module22=Pendientes -Module23=Starter -Module24=Subs -Module25=Tracker +Module20=FileHandler +Module21=ManageExternalStorage +Module22=MAPA_RUTAS +Module23=NotificationService +Module24=Pendientes +Module25=Starter +Module26=Subs +Module27=Tracker Module3=BatteryUtilities Module4=C_Cliente Module5=C_Clientes @@ -151,8 +154,8 @@ Module7=C_Mapas Module8=C_Nota Module9=C_NoVenta NumberOfFiles=46 -NumberOfLibraries=32 -NumberOfModules=25 +NumberOfLibraries=33 +NumberOfModules=27 Version=12.5 @EndOfDesignText@ #Region Project Attributes diff --git a/B4A/INTMEX_LL.b4a.meta b/B4A/INTMEX_LL.b4a.meta index cc2a356..7c61618 100644 --- a/B4A/INTMEX_LL.b4a.meta +++ b/B4A/INTMEX_LL.b4a.meta @@ -17,6 +17,8 @@ ModuleBookmarks22= ModuleBookmarks23= ModuleBookmarks24= ModuleBookmarks25= +ModuleBookmarks26= +ModuleBookmarks27= ModuleBookmarks3= ModuleBookmarks4= ModuleBookmarks5= @@ -43,6 +45,8 @@ ModuleBreakpoints22= ModuleBreakpoints23= ModuleBreakpoints24= ModuleBreakpoints25= +ModuleBreakpoints26= +ModuleBreakpoints27= ModuleBreakpoints3= ModuleBreakpoints4= ModuleBreakpoints5= @@ -54,21 +58,23 @@ ModuleClosedNodes0= ModuleClosedNodes1= ModuleClosedNodes10= ModuleClosedNodes11= -ModuleClosedNodes12=1 +ModuleClosedNodes12= ModuleClosedNodes13=9,11,15 ModuleClosedNodes14=9,10 ModuleClosedNodes15= ModuleClosedNodes16= ModuleClosedNodes17= -ModuleClosedNodes18=3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18 -ModuleClosedNodes19= +ModuleClosedNodes18= +ModuleClosedNodes19=3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18 ModuleClosedNodes2= ModuleClosedNodes20= -ModuleClosedNodes21=2 -ModuleClosedNodes22=1 +ModuleClosedNodes21= +ModuleClosedNodes22=2 ModuleClosedNodes23= -ModuleClosedNodes24=49,50,52,53,55,58,61 +ModuleClosedNodes24=1 ModuleClosedNodes25= +ModuleClosedNodes26=49,50,52,53,55,58,61 +ModuleClosedNodes27= ModuleClosedNodes3= ModuleClosedNodes4= ModuleClosedNodes5=3 @@ -76,6 +82,6 @@ ModuleClosedNodes6= ModuleClosedNodes7= ModuleClosedNodes8=1 ModuleClosedNodes9= -NavigationStack=Starter,Service_Start,48,0,B4XMainPage,B4XPage_Appear,248,0,C_Cliente,B4XPage_Appear,223,0,C_Cliente,B4XPage_Created,199,0,C_Principal,B4XPage_Appear,316,0,C_Principal,B4XPage_Created,312,0,C_Cliente,JobDone,932,0,C_Cliente,mandaPendientes,842,0,C_Cliente,cb_factura_CheckedChange,812,0,C_Cliente,Guardar_Click,494,0 +NavigationStack=C_Subs,mandaPendientes,592,0,B4XMainPage,B4XPage_Appear,244,1,NotificationService,Service_Destroy,72,0,NotificationService,NotiMon_NotificationPosted,83,0,B4XMainPage,i_engrane_Click,659,0,C_RespaldoDiario,Class_Globals,0,0,C_RespaldoDiario,Initialize,23,6,B4XMainPage,ocultaProgreso,653,0,B4XMainPage,lv_server_ItemClick,684,0,B4XMainPage,Entrar_LongClick,676,0,B4XMainPage,i_engrane_LongClick,672,0 SelectedBuild=0 -VisibleModules=2,23,12,15,13,4,24,14,8,21 +VisibleModules=2,25,23,12,15,13,4,26,14,8,22,9,16,27 diff --git a/B4A/Starter.bas b/B4A/Starter.bas index 4cf1354..681993b 100644 --- a/B4A/Starter.bas +++ b/B4A/Starter.bas @@ -13,15 +13,17 @@ Sub Process_Globals 'These global variables will be declared once when the application starts. 'These variables can be accessed from all modules. Public gps As GPS + Dim skmt As SQL + Dim s As C_Subs Dim ph As Phone Public rp As RuntimePermissions Public FLP As FusedLocationProvider ' Private flpStarted As Boolean Dim reqManager As DBRequestManager - Dim server As String = "http://187.189.244.154:1782" -' Dim server As String = "http://187.189.244.154:1783" -' Dim server As String = "http://10.0.0.205:1783" -' Dim server As String = "http://11.0.0.15:1782" + Dim DBReqServer As String = "http://187.189.244.154:1782" +' Dim DBReqServer As String = "http://187.189.244.154:1783" +' Dim DBReqServer As String = "http://10.0.0.205:1783" +' Dim DBReqServer As String = "http://11.0.0.15:1782" Dim Timer1 As Timer Dim Interval As Int = 10 Dim ruta As String = File.DirInternal @@ -37,6 +39,8 @@ Sub Service_Create 'This is the program entry point. 'This is a good place to load resources that are not specific to a single activity. gps.Initialize("GPS") + s.Initialize(Me, "Subs") 'Inicializamos la clase Subs + skmt = s.inicializaBD(File.DirInternal, "kmt.db") ' CallSubDelayed(FirebaseMessaging, "SubscribeToTopics") 'Para Push FirebaseMessaging Timer1.Initialize("Timer1", Interval * 1000) Timer1.Enabled = True @@ -52,7 +56,8 @@ Sub Service_Start (StartingIntent As Intent) Service.StopAutomaticForeground 'Starter service can start in the foreground state in some edge cases. Subs.revisaBD ' Log(marcaCel) - reqManager.Initialize(Me, server) + If s.traeDBReqServerDeBD(skmt) <> "N/A" Then DBReqServer = s.traeDBReqServerDeBD(skmt) + reqManager.Initialize(Me, DBReqServer) End Sub Private Sub Timer1_Tick @@ -75,9 +80,7 @@ End Sub Sub ENVIA_ULTIMA_GPS Dim logger As Boolean = False If logger Then LogColor("Iniciamos ENVIA_ULTIMA_GPS", Colors.Magenta) - Dim skmt As SQL Dim cmd As DBCommand - skmt.Initialize(ruta,"kmt.db", False) ' cmd.Initialize ' cmd.Name = "select_fechat" ' B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "fechat") @@ -113,4 +116,13 @@ Sub Application_Error (Error As Exception, StackTrace As String) As Boolean Subs.revisaBD Subs.errorLog.ExecNonQuery2("INSERT INTO errores(fecha, error) VALUES (?,?)", Array As Object (Subs.fechaKMT(DateTime.now), logs)) Return True +End Sub + +'Inicializa el reqServer con la dirección dada y lo guarda en CAT_VARIABLES. +Sub reinicializaReqManager(srv As String) + skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("SERVER")) + skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("SERVER", srv)) + DBReqServer = srv + reqManager.Initialize(Me, srv) +' LogColor(srv, Colors.red) End Sub \ No newline at end of file diff --git a/B4A/Tracker.bas b/B4A/Tracker.bas index e3f28a2..6c5f0b4 100644 --- a/B4A/Tracker.bas +++ b/B4A/Tracker.bas @@ -32,6 +32,7 @@ Version=10.2 '#AdditionalJar: com.android.support:support-v4 '#AdditionalJar: com.google.android.gms:play-services-location + Sub Process_Globals Private nid As Int = 51042 Private Tracking As Boolean