diff --git a/B4A/C_principal.bas b/B4A/C_principal.bas index c39b440..728fe86 100644 --- a/B4A/C_principal.bas +++ b/B4A/C_principal.bas @@ -76,6 +76,7 @@ Sub Class_Globals Private clv_gestionadas As CustomListView Private l_nombre As Label Private l_estatus As Label + Private l_version As Label End Sub 'You can add more parameters here. @@ -90,23 +91,32 @@ Private Sub B4XPage_Created (Root1 As B4XView) reqManager.Initialize(Me, Starter.DBReqServer) g.Initialize("GPS") qr.Initialize(B4XImageView1.mBase.Width) + Panel1.Width = Root.Width Panel1.Height = Root.Height p_camara.Width = Root.Width p_camara.Height = Root.Height p_validacion.Width = Root.Width p_validacion.Height = Root.Height + + ScrollView1.height = Root.Height - p_general.Height p_scroll.height = Root.Height - p_general.Height + p_trabajadas.height = Root.Height - p_general.Height + End Sub Private Sub B4XPage_Appear + B4XPages.MainPage.login.tipoenvio = "Envio automatico" + l_version.Text = Application.VersionName CheckAndRequestNotificationPermission If Not(Subs.IsConnectedToInternet) Then Msgbox("Habilita los datos del celular","Atención") B4XPage_Appear Else + + If g.GPSEnabled=False Then Dim Resultado As Int= -3 Do While Resultado=-3 @@ -121,7 +131,8 @@ Private Sub B4XPage_Appear End Select Loop Else -' Log("ENTRE") + + Log("ENTRE") StartService(Tracker) m_lat = "0" @@ -163,7 +174,7 @@ Private Sub B4XPage_Appear b_checkin.visible = True b_checout.visible = False b_comidain.Visible = False - b_comidaout.Visible = False + b_comidaout.Visible = False End If '' CallSubDelayed(Tracker, "StartFLPSmall") @@ -172,7 +183,7 @@ Private Sub B4XPage_Appear Starter.longitud = Tracker.FLP.GetLastKnownLocation.Longitude ' Log($"Tenemos UUC: ${Tracker.FLP.GetLastKnownLocation.Latitude},${Tracker.FLP.GetLastKnownLocation.Longitude}"$) GPS_LocationChanged(Tracker.FLP.GetLastKnownLocation) -' Log("hice esto") + Log("hice esto") End If bu.Initialize @@ -462,7 +473,7 @@ Private Sub b_checkin_Click p_validacion.Visible = True l_codigo.Text = "Ingresa el codigo para el CHECK-IN." - End If + End If Else If donde2 = "2" Then Msgbox2Async(mensaje,"Atención", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png"),False) Wait For Msgbox_Result (result As Int) @@ -681,49 +692,49 @@ Private Sub b_gestion_Click c.Position = 0 Log(c.GetString("ESTATUS")) If c.GetString("ESTATUS") = "ENTRADA" Or c.GetString("ESTATUS") = "SALIDA A COMER" Or c.GetString("ESTATUS") = "REGRESO DE COMER" Then - If Not(Subs.IsConnectedToInternet) Then - MsgboxAsync("Habilita los datos del celular","Atención") - B4XPage_Appear - Else - If distance > 200 Then - Log("aqui") - MsgboxAsync("No estas cerca del punto asignado","Atención") - Else If distance < 200 Then - p_trabajadas.Visible= False - p_scroll.Visible = True - ScrollView1.Visible = True + If Not(Subs.IsConnectedToInternet) Then + MsgboxAsync("Habilita los datos del celular","Atención") + B4XPage_Appear + Else +' If distance > 200 Then +' Log("aqui") +' MsgboxAsync("No estas cerca del punto asignado","Atención") +' Else If distance < 2000000000000000000000000000 Then + p_trabajadas.Visible= False + p_scroll.Visible = True + ScrollView1.Visible = True - ScrollView1.Panel.LoadLayout("gestion") - ScrollView1.Panel.Height = p_gestion.Height + ScrollView1.Panel.LoadLayout("gestion") + ScrollView1.Panel.Height = p_gestion.Height - p_scroll.BringToFront - y = 1 - x = 1 - InitializeCamera2 - p_camara.Visible = True - b_gestion.Enabled = False - p_gestion.Visible = True + p_scroll.BringToFront + y = 1 + x = 1 + InitializeCamera2 + p_camara.Visible = True + b_gestion.Enabled = False + p_gestion.Visible = True - nombrefoto = "0" - nombrefoto1 = "0" - iv_ine.Bitmap = LoadBitmap(File.DirAssets,"camara.png") - iv_gestion.Bitmap = LoadBitmap(File.DirAssets,"camara.png") - itemselect = "" + nombrefoto = "0" + nombrefoto1 = "0" + iv_ine.Bitmap = LoadBitmap(File.DirAssets,"camara.png") + iv_gestion.Bitmap = LoadBitmap(File.DirAssets,"camara.png") + itemselect = "" - Dim Items As List - Items.Initialize - Items.Clear - Items.Add("SELECCIONA UNA OPCION ") - Items.Add("APROBADO") - Items.Add("RECHAZADO") - Items.Add("INTERMITENCIA") - Items.Add("NO CONCLUIDO") - cb_estatus.SetItems(Items) - itemselect = "SELECCIONA UNA OPCION" - p_inci.Visible = False - ajustaTamano - End If - End If + Dim Items As List + Items.Initialize + Items.Clear + Items.Add("SELECCIONA UNA OPCION ") + Items.Add("APROBADO") + Items.Add("RECHAZADO") + Items.Add("INTERMITENCIA") + Items.Add("NO CONCLUIDO") + cb_estatus.SetItems(Items) + itemselect = "SELECCIONA UNA OPCION" + p_inci.Visible = False + ajustaTamano +' End If + End If Else MsgboxAsync("Por favor hacer el check-in","Atención") End If @@ -907,7 +918,7 @@ Sub ajustaTamano Log("Invisible 1 y 2") b_cancelar.Top = iv_ine.Top + iv_ine.Height + 45 b_finalizar.Top = iv_ine.Top + iv_ine.Height + 45 - End If + End If p_gestion.Height = b_cancelar.Top + 150 ScrollView1.Panel.Height = p_gestion.Height End Sub @@ -1126,7 +1137,7 @@ Sub mandaPendientes If c.RowCount > 0 Then For i = 0 To c.RowCount -1 c.Position=i - Dim cmd As DBCommand + Dim cmd As DBCommand cmd.Initialize cmd.Name = "insert_GESTION_GABICO" cmd.Parameters = Array As Object(c.GetString("HIST_PM_FECHA"), c.GetString("HIST_PR_NOMBRE"),c.GetString("HIST_PR_TELEFONO"), c.GetString("HIST_PR_CORREO"), c.GetString("HIST_PR_CURP"), c.GetBlob("HIST_PR_INE"), c.GetString("HIST_PR_ESTATUS"),c.GetBlob("HIST_PR_EVIDENCIA"), c.GetString("HIST_PR_OBSERVACIONES"), c.GetString("HIST_PR_COMENTARIOERROR"), c.GetString("HIST_PR_IDPROYECTO"), c.GetString("HIST_PR_NOMBREPROYECTO"), c.GetString("HIST_PR_IDSUCURSAL"), c.GetString("HIST_PR_NOMBRESUCURSAL"), c.GetString("HIST_PR_USUARIO"), c.GetString("HIST_PR_LATITUD"), c.GetString("HIST_PR_LONGITUD"), c.GetString("HIST_PR_BATERIA")) @@ -1403,7 +1414,7 @@ End Sub Private Sub b_comidain_Click If p_scroll.Visible = False Then - Log("Cumple panel invisible") + Log("Cumple panel invisible") If horasalidacomer Then If Not(Subs.IsConnectedToInternet) Then Msgbox("Habilita los datos del celular","Atención") @@ -1511,8 +1522,8 @@ Sub horasalidacomer As Boolean Log(DateUtils.TicksToString(newDate)) Dim p2 As Period - p2.Hours = 1 - p2.Minutes = 0 + p2.Hours = 1 + p2.Minutes = 0 DateTime.DateFormat = "MM/dd/yyyy HH:mm" Dim fecha2 As String = DateTime.Date(DateTime.Now) Dim prueba2() As String = Regex.Split(" ",fecha2) @@ -1558,7 +1569,7 @@ Sub horasalidacomer As Boolean End Sub Private Sub b_aceptar_Click - mandacodigo + mandacodigo End Sub Private Sub p_validacion_Click @@ -1635,7 +1646,7 @@ Private Sub cb_rechazadas_CheckedChange(Checked As Boolean) botongestionadas End Sub -Sub botongestionadas +Sub botongestionadas c = Starter.skmt.ExecQuery("SELECT HIST_PR_NOMBRE, HIST_PR_ESTATUS FROM HIST_PROMOTORIA") If c.RowCount > 0 Then If cb_aprobadas.Checked = False And cb_rechazadas.Checked = False Then diff --git a/B4A/C_supervisor.bas b/B4A/C_supervisor.bas index c1bc599..1529d98 100644 --- a/B4A/C_supervisor.bas +++ b/B4A/C_supervisor.bas @@ -96,6 +96,7 @@ Sub Class_Globals Private et_codigo As EditText Private b_cancelarcodigo As Button Private l_codigo As Label + Private l_version As Label End Sub 'You can add more parameters here. @@ -135,6 +136,7 @@ End Sub 'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. Private Sub B4XPage_Appear + l_version.Text = Application.VersionName CheckAndRequestNotificationPermission If g.GPSEnabled=False Then Dim result As Int= -3 diff --git a/B4A/Files/errormanager.bal b/B4A/Files/errormanager.bal deleted file mode 100644 index 50d6f73..0000000 Binary files a/B4A/Files/errormanager.bal and /dev/null differ diff --git a/B4A/Files/login.bal b/B4A/Files/login.bal index 4cf0264..f5270ad 100644 Binary files a/B4A/Files/login.bal and b/B4A/Files/login.bal differ diff --git a/B4A/Files/mapa_rutas.bal b/B4A/Files/mapa_rutas.bal new file mode 100644 index 0000000..dc857ba Binary files /dev/null and b/B4A/Files/mapa_rutas.bal differ diff --git a/B4A/Files/principal.bal b/B4A/Files/principal.bal index d17ac73..039907e 100644 Binary files a/B4A/Files/principal.bal and b/B4A/Files/principal.bal differ diff --git a/B4A/Files/supervisor.bal b/B4A/Files/supervisor.bal index 81618fd..12d1e38 100644 Binary files a/B4A/Files/supervisor.bal and b/B4A/Files/supervisor.bal differ diff --git a/B4A/Gabinete roit.b4a b/B4A/Gabinete roit.b4a index e113376..432f094 100644 --- a/B4A/Gabinete roit.b4a +++ b/B4A/Gabinete roit.b4a @@ -1,13 +1,13 @@ Build1=Default,gabinete.keymon.lat File1=alert2.png -File10=gabinete1.png -File11=gestion.bal -File12=gestion_sup.bal -File13=gestiones.bal -File14=izquierda.png -File15=kmt.db -File16=login.bal -File17=MainPage.bal +File10=gestion.bal +File11=gestion_sup.bal +File12=gestiones.bal +File13=izquierda.png +File14=kmt.db +File15=login.bal +File16=MainPage.bal +File17=mapa_rutas.bal File18=mas.png File19=menos.png File2=atras.png @@ -18,10 +18,10 @@ File23=supervisor.bal File3=camara.png File4=derecha.png File5=engranes.png -File6=errormanager.bal -File7=frintal.png -File8=from2.png -File9=gabinete.png +File6=frintal.png +File7=from2.png +File8=gabinete.png +File9=gabinete1.png FileGroup1=Default Group FileGroup10=Default Group FileGroup11=Default Group @@ -52,33 +52,36 @@ Library11=fileprovider Library12=firebaseanalytics Library13=firebasenotifications Library14=fusedlocationprovider -Library15=gps -Library16=ime -Library17=javaobject -Library18=nb6 -Library19=okhttputils2 +Library15=googlemaps +Library16=gps +Library17=ime +Library18=javaobject +Library19=locationmanager Library2=appupdating -Library20=phone -Library21=randomaccessfile -Library22=reflection -Library23=runtimepermissions -Library24=sql -Library25=stringutils -Library26=xcustomlistview -Library27=xui -Library28=xui views +Library20=nb6 +Library21=okhttputils2 +Library22=phone +Library23=randomaccessfile +Library24=reflection +Library25=runtimepermissions +Library26=sql +Library27=stringutils +Library28=xcustomlistview +Library29=xui Library3=b4xpages +Library30=xui views +Library31=googlemapsextras Library4=batteryprogressview Library5=bctoast Library6=bitmapcreator Library7=byteconverter Library8=camera Library9=compressstrings -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~SetApplicationAttribute(android:usesCleartextTraffic, "true")~\n~SetServiceAttribute(Tracker, android:foregroundServiceType, "location")~\n~'SetServiceAttribute(android:requestLegacyExternalStorage, True)~\n~~\n~AddApplicationText(~\n~~\n~ ~\n~)~\n~AddManifestText(~\n~~\n~)~\n~AddManifestText(~\n~~\n~ )~\n~AddPermission(android.permission.ACCESS_BACKGROUND_LOCATION)~\n~~\n~'AddPermission("android.permission.MANAGE_EXTERNAL_STORAGE")~\n~'AddManifestText(~\n~')~\n~'End of default text.~\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~~\n~AddPermission("android.permission.POST_NOTIFICATIONS")~\n~AddManifestText()~\n~AddPermission(android.permission.INTERNET)~\n~~\n~SetApplicationAttribute(android:allowBackup, "false")~\n~~\n~~\n~'SetServiceAttribute(Tracker, android:foregroundServiceType, "location")~\n~AddPermission(android.permission.ACCESS_NETWORK_STATE)~\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~SetApplicationAttribute(android:usesCleartextTraffic, "true")~\n~SetServiceAttribute(Tracker, android:foregroundServiceType, "location")~\n~'SetServiceAttribute(android:requestLegacyExternalStorage, True)~\n~~\n~AddApplicationText(~\n~~\n~ ~\n~)~\n~AddApplicationText()~\n~AddManifestText(~\n~~\n~)~\n~~\n~AddManifestText(~\n~~\n~ )~\n~~\n~AddPermission(android.permission.ACCESS_BACKGROUND_LOCATION)~\n~~\n~AddPermission("android.permission.MANAGE_EXTERNAL_STORAGE")~\n~~\n~~\n~AddManifestText(~\n~)~\n~~\n~~\n~'End of default text.~\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~~\n~AddPermission("android.permission.POST_NOTIFICATIONS")~\n~~\n~AddManifestText()~\n~AddPermission(android.permission.INTERNET)~\n~SetApplicationAttribute(android:allowBackup, "false")~\n~AddManifestText(~\n~ ~\n~ )~\n~AddPermission(android.permission.ACCESS_NETWORK_STATE) Module1=appUpdater Module10=DBRequestManager -Module11=errorManager -Module12=login +Module11=login +Module12=MAPA_RUTAS Module13=QRGenerator Module14=Starter Module15=Subs @@ -92,14 +95,14 @@ Module7=C_UpdateAvailable Module8=CameraExClass Module9=CameraExClass2 NumberOfFiles=23 -NumberOfLibraries=28 +NumberOfLibraries=31 NumberOfModules=16 Version=12.8 @EndOfDesignText@ #Region Project Attributes #ApplicationLabel: Gabinete #VersionCode: 1 - #VersionName: 4.03.07 + #VersionName: 4.04.17 'SupportedOrientations possible values: unspecified, landscape or portrait. #SupportedOrientations: portrait #CanInstallToExternalStorage: False diff --git a/B4A/Gabinete roit.b4a.meta b/B4A/Gabinete roit.b4a.meta index 349b3fa..83e62f3 100644 --- a/B4A/Gabinete roit.b4a.meta +++ b/B4A/Gabinete roit.b4a.meta @@ -49,6 +49,6 @@ ModuleClosedNodes6= ModuleClosedNodes7= ModuleClosedNodes8= ModuleClosedNodes9= -NavigationStack=login,JobDone,178,0,B4XMainPage,Timerconteo_tick,95,0,B4XMainPage,B4XPage_Appear,72,1,Main,Process_Globals,19,0,Subs,notiLowReturn,69,0,Subs,IsConnectedToInternet,77,0,login,B4XPage_CloseRequest,193,0,B4XMainPage,CheckAndRequestNotificationPermission,86,0,B4XMainPage,B4XPage_Created,52,0,login,B4XPage_Appear,64,2 +NavigationStack=Diseñador Visual,gestion.bal,-100,1,C_principal,b_gestion_Click,728,0,Diseñador Visual,principal.bal,-100,3,login,Class_Globals,36,4,C_principal,GPS_LocationChanged,235,0,C_principal,B4XPage_Appear,104,6,login,JobDone,175,6,B4XMainPage,Class_Globals,18,0,Starter,ENVIA_ULTIMA_GPS,97,4,Starter,Process_Globals,10,1,login,ImageView5_Click,209,1 SelectedBuild=0 -VisibleModules=14,3,12,5,6,10,15,16,11 +VisibleModules=14,3,11,5,6,10,15,16,13,1 diff --git a/B4A/MAPA_RUTAS.bas b/B4A/MAPA_RUTAS.bas new file mode 100644 index 0000000..6ade4c4 --- /dev/null +++ b/B4A/MAPA_RUTAS.bas @@ -0,0 +1,348 @@ +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Activity +Version=9.3 +@EndOfDesignText@ +#Region Activity Attributes + #FullScreen: False + #IncludeTitle: False +#End Region + +'Activity module +Sub Process_Globals + Dim GPS As GPS + Dim rp As RuntimePermissions + Dim ruta As String + Dim skmt As SQL + Dim c As Cursor + Dim c2 As Cursor + Dim c22 As Cursor + Dim c3 As Cursor + Dim Cnom As Cursor +End Sub + +Sub Globals + Private gmap As GoogleMap + Private MapFragment1 As MapFragment + Dim Latitud As Double = 0 + Dim Longitud As Double = 0 + Dim Lat2 As Double = 0 + Dim Lon2 As Double = 0 + Dim p1, p2 As Location + Dim Distance As Float + Dim boton1 As Button + Dim HUE_BLUE As Float + Dim HUE_RED As Float + Dim HUE_GREEN As Float + Private B_AZUL As Button + Private B_ROJO As Button + Private B_VERDE As Button + Private B_TODOS As Button + Dim Tienda As String + Dim LatitudRu As Double + Dim LongitudRU As Double + Dim LIST_AZUL As List + Dim LIST_ROJO As List + Dim LIST_VERDE As List + Dim MARK_AZUL As Marker + Dim MARK_ROJO As Marker + Dim MARK_VERDE As Marker + Dim MARK_CEDIS As Marker + Dim rojo As String + Dim azul As String + Dim verde As String + Dim todos As String + Dim NumSerie As Int + Dim OnInfoWindowClickListener1 As OnInfoWindowClickListener + Dim GoogleMapEXTRA As GoogleMapsExtras + Dim CODIGO As String + Private SEMANA As String + Private l_version As Label + Private EditText1 As EditText + Private EditText2 As EditText +End Sub + +Sub Activity_Create(FirstTime As Boolean) + Activity.LoadLayout("MAPA_RUTAS") + ruta = File.DirInternal + If File.Exists(ruta, "kmt.db") = False Then + File.Copy(File.DirAssets, "kmt.db", ruta, "kmt.db") + End If + skmt.Initialize(ruta,"kmt.db", True) + 'GPS + If(FirstTime) Then + GPS.Initialize("GPS") + End If +' l_version.Text = Application.VersionName +' l_version.Left = Activity.Width - l_version.Width - 10 + If MapFragment1.IsGooglePlayServicesAvailable = False Then + ToastMessageShow("Please install Google Play Services.", True) + End If + + 'Boton velocidad' +' boton1.Initialize(0) +' boton1.Text = 0 &" "&"km/h" +' boton1.TextColor = Colors.Red +' boton1.TextSize = 15 +' Activity.AddView(boton1, 40%x, 5dip, 25%x, 40dip) + 'Fin Boton velocidad' + 'MARK_CEDIS.IsInitialized + MARK_AZUL.IsInitialized + MARK_ROJO.IsInitialized + MARK_VERDE.IsInitialized + + LIST_AZUL.Initialize + LIST_ROJO.Initialize + LIST_VERDE.Initialize + + verde = 0 + azul = 0 + rojo = 0 + todos = 1 +' c=skmt.ExecQuery2("select count(*) AS CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("SEMANA")) +' c.Position =0 +' SEMANA = c.GetString("CUANTOS") +' c.Close +' +' If SEMANA > 0 Then +' c=skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("SEMANA")) +' c.Position =0 +' SEMANA = c.GetString("CAT_VA_VALOR") +' c.Close +' End If + + +End Sub + +Sub MapFragment1_Ready + gmap = MapFragment1.GetMap + gmap.IsInitialized + 'todos= 1 + 'permisos + rp.CheckAndRequest(rp.PERMISSION_ACCESS_FINE_LOCATION) + Wait For Activity_PermissionResult (Permission As String, Result As Boolean) + gmap.MyLocationEnabled = Result + + Dim JavaMapsObject As JavaObject + JavaMapsObject = gmap.GetUiSettings + JavaMapsObject.RunMethod("setMapToolbarEnabled", Array As Object(True)) + + + '''''''----------------------------MARKER AZUL - POR VISITAR + +' If azul =1 Or todos = 1 Then +' c.IsInitialized +' '''''''''VERIFICAR EN QUE TABLA O EN QUE CAMPO NOS LEE LA VENTAS PENDIENTES POR VISITAR +' +' c=skmt.ExecQuery("select HV_CLIENTE, HV_LONG, HV_LAT from PUNTEO_GPS where HV_CLIENTE IN (select CAT_CL_CODIGO from kmt_info where gestion = 0 AND CAT_CL_NOMBRE <>'VENTA ABORDO') AND HV_LONG IS NOT NULL AND HV_LAT IS NOT NULL AND HV_LONG <> 0 AND HV_LAT <> 0") +' +' skmt.Initialize(ruta,"kmt.db", True) +' For i = 0 To c.RowCount -1 +' c.Position = i +' LatitudRu = c.GetDouble("HV_LAT") +' LongitudRU = c.GetDouble("HV_LONG") +' CODIGO=c.GetString("HV_CLIENTE") +' Cnom=skmt.ExecQuery2("select CAT_CL_CODIGO,CAT_CL_NOMBRE from kmt_info where CAT_CL_CODIGO = ? ",Array As String(CODIGO)) +' Cnom.Position = 0 +' Tienda= Cnom.GetString("CAT_CL_NOMBRE") + MARK_AZUL = gmap.AddMarker2(Starter.latitud,Starter.longitud,"UBICACION", gmap.HUE_BLUE) + MARK_AZUL.Snippet = "MI UBICACION" + +' Next +' +' c .Close + LIST_AZUL.Add(MARK_AZUL) + +' End If + +' '''''''----------------------------MARKER VERDE - VENTA +' If verde =1 Or todos = 1 Then +' c2.IsInitialized +' '''''''''VERIFICAR EN QUE TABLA O EN QUE CAMPO NOS LEE LA VENTAS +' c2=skmt.ExecQuery("select HV_CLIENTE, HV_LONG, HV_LAT from PUNTEO_GPS where HV_CLIENTE IN (select CAT_CL_CODIGO from kmt_info where gestion = 2 AND CAT_CL_NOMBRE <>'VENTA ABORDO') AND HV_LONG IS NOT NULL AND HV_LAT IS NOT NULL AND HV_LONG <> 0 AND HV_LAT <> 0") +' +' +' 'c2=skmt.ExecQuery("select CAT_CL_CODIGO, CAT_CL_NOMBRE,CAT_CL_LONG,CAT_CL_LAT from kmt_info where gestion = 2 and CAT_CL_LAT is not null and CAT_CL_LONG is not null and CAT_CL_LAT <> 0 and CAT_CL_LONG <> 0 AND CAT_CL_NOMBRE <>'VENTA ABORDO' ") +' For i = 0 To c2.RowCount -1 +' c2.Position = i +' LongitudRU = c2.GetDouble("HV_LONG") +' LatitudRu = c2.GetDouble("HV_LAT") +' CODIGO=c2.GetString("HV_CLIENTE") +' Cnom=skmt.ExecQuery2("select CAT_CL_CODIGO,CAT_CL_NOMBRE from kmt_info where CAT_CL_CODIGO = ? ",Array As String(CODIGO)) +' Cnom.Position = 0 +' Tienda= Cnom.GetString("CAT_CL_NOMBRE") +' MARK_VERDE = gmap.AddMarker2(LatitudRu,LongitudRU,CODIGO,gmap.HUE_GREEN) +' MARK_VERDE.Snippet = Tienda +' +' Next +' +' Else +' '''''''''VERIFICAR EN QUE TABLA O EN QUE CAMPO NOS LEE LA VENTAS--- ESTE VA IGUAL QUE EL ANTERIOR +' If verde =1 Or todos = 1 Then +' c2.IsInitialized +' c2=skmt.ExecQuery("select HV_CLIENTE, HV_LONG, HV_LAT from PUNTEO_GPS where HV_CLIENTE IN (select CAT_CL_CODIGO from kmt_info where gestion = 2 AND CAT_CL_NOMBRE <>'VENTA ABORDO') AND HV_LONG IS NOT NULL AND HV_LAT IS NOT NULL AND HV_LONG <> 0 AND HV_LAT <> 0") +' +' +' 'c2=skmt.ExecQuery("select CAT_CL_CODIGO, CAT_CL_NOMBRE,CAT_CL_LONG,CAT_CL_LAT from kmt_info where gestion = 2 and CAT_CL_LAT is not null and CAT_CL_LONG is not null and CAT_CL_LAT <> 0 and CAT_CL_LONG <> 0 AND CAT_CL_NOMBRE <>'VENTA ABORDO' ") +' For i = 0 To c2.RowCount -1 +' c2.Position = i +' LongitudRU = c2.GetDouble("HV_LONG") +' LatitudRu = c2.GetDouble("HV_LAT") +' CODIGO=c2.GetString("HV_CLIENTE") +' Cnom=skmt.ExecQuery2("select CAT_CL_CODIGO,CAT_CL_NOMBRE from kmt_info where CAT_CL_CODIGO = ? ",Array As String(CODIGO)) +' Cnom.Position = 0 +' Tienda= Cnom.GetString("CAT_CL_NOMBRE") +' MARK_VERDE = gmap.AddMarker2(LatitudRu,LongitudRU,CODIGO,gmap.HUE_GREEN) +' MARK_VERDE.Snippet = Tienda +' Next +' c2 .Close +' LIST_VERDE.Add(MARK_VERDE) +' End If +' End If +' +'' '''''''----------------------------MARKER ROJO - NO VENTA +' '''''''''VERIFICAR EN QUE TABLA O EN QUE CAMPO NOS LEE LAS NO VENTAS +' If rojo =1 Or todos = 1 Then +' c3.IsInitialized +' +' c3=skmt.ExecQuery("select HV_CLIENTE, HV_LONG, HV_LAT from PUNTEO_GPS where HV_CLIENTE IN (select CAT_CL_CODIGO from kmt_info where gestion = 3 AND CAT_CL_NOMBRE <>'VENTA ABORDO') AND HV_LONG IS NOT NULL AND HV_LAT IS NOT NULL AND HV_LONG <> 0 AND HV_LAT <> 0") +' +' 'c3=skmt.ExecQuery("select CAT_CL_CODIGO, CAT_CL_NOMBRE,CAT_CL_LONG,CAT_CL_LAT from kmt_info where gestion = 3 and CAT_CL_LAT is not null and CAT_CL_LONG is not null and CAT_CL_LAT <> 0 and CAT_CL_LONG <> 0 AND CAT_CL_NOMBRE <>'VENTA ABORDO' ") +' For i = 0 To c3.RowCount -1 +' c3.Position = i +' LongitudRU = c3.GetDouble("HV_LONG") +' LatitudRu = c3.GetDouble("HV_LAT") +' CODIGO=c3.GetString("HV_CLIENTE") +' Cnom=skmt.ExecQuery2("select CAT_CL_CODIGO,CAT_CL_NOMBRE from kmt_info where CAT_CL_CODIGO = ? ",Array As String(CODIGO)) +' Cnom.Position = 0 +' Tienda= Cnom.GetString("CAT_CL_NOMBRE") +' MARK_ROJO = gmap.AddMarker2(LatitudRu,LongitudRU,Tienda, gmap.HUE_RED) +' MARK_ROJO.Snippet = Tienda +' Next +' +' Else +' '''''''''VERIFICAR EN QUE TABLA O EN QUE CAMPO NOS LEE LAS NO VENTAS- ESTE VA IGUAL QUE EL ANTERIOR +' If rojo =1 Or todos = 1 Then +' c3.IsInitialized +' +' c3=skmt.ExecQuery("select HV_CLIENTE, HV_LONG, HV_LAT from PUNTEO_GPS where HV_CLIENTE IN (select CAT_CL_CODIGO from kmt_info where gestion = 3 AND CAT_CL_NOMBRE <>'VENTA ABORDO') AND HV_LONG IS NOT NULL AND HV_LAT IS NOT NULL AND HV_LONG <> 0 AND HV_LAT <> 0") +' +' For i = 0 To c3.RowCount -1 +' c3.Position = i +' LongitudRU = c3.GetDouble("HV_LONG") +' LatitudRu = c3.GetDouble("HV_LAT") +' CODIGO=c3.GetString("HV_CLIENTE") +' Cnom=skmt.ExecQuery2("select CAT_CL_CODIGO,CAT_CL_NOMBRE from kmt_info where CAT_CL_CODIGO = ? ",Array As String(CODIGO)) +' Cnom.Position = 0 +' Tienda= Cnom.GetString("CAT_CL_NOMBRE") +' MARK_ROJO = gmap.AddMarker2(LatitudRu,LongitudRU,Tienda, gmap.HUE_RED) +' MARK_ROJO.Snippet = Tienda +' Next +' LIST_ROJO.Add(MARK_ROJO) +' c3.Close +' End If +' End If +' ''------------------------------ +' +'' MARK_CEDIS = gmap.AddMarker3("19.3961802","-99.0784293","CEDIS", LoadBitmap(File.DirAssets, "marker-azul-0.png")) +'' If MARK_VERDE.Visible Or MARK_ROJO.Visible Then +'' MARK_CEDIS.Remove +'' End If + Dim aa As CameraPosition + aa.Initialize(Starter.latitud,Starter.longitud,17)''' RECOMENDABLE CAMBIAR A 10 PARA QUE SE VEAN MAS MARCADORES + gmap.AnimateCamera(aa) + EditText1.Text= Starter.latitud + EditText2.Text= Starter.longitud + '''''---------------------- ESTO ES PARA LOS CLICK EN LAS VENTANAS DE INFORMACION----------- + Dim OnInfoWindowClickListener1 As OnInfoWindowClickListener + OnInfoWindowClickListener1.Initialize("OnInfoWindowClickListener1") + GoogleMapEXTRA.SetOnInfoWindowClickListener(gmap, OnInfoWindowClickListener1) + +End Sub + + +Sub OnInfoWindowClickListener1_click(Marker1 As Marker) +' skmt.ExecNonQuery("delete from CUENTAA") +' skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?) ", Array As Object(Marker1.Title)) +' StartActivity(fila) +End Sub + + +Sub GPS_LocationChanged (Parametro As Location) + MARK_CEDIS.IsInitialized +' Dim sp As Int +' sp = Ceil(Parametro.Speed * 3.6) +' boton1.Text = sp &" "&"km/h" +' Latitud = Parametro.Latitude +' Longitud = Parametro.Longitude +' p2.Initialize2(Latitud,Longitud) +' p1.Initialize2(Lat2, Lon2) +' Distance = p1.DistanceTo(p2) +' If Latitud <> 0 And Longitud <> 0 Then +' If Distance > 10 Then +' Lat2 = Latitud +' Lon2 = Longitud +' Dim cp As CameraPosition +' cp.Initialize2(Parametro.Latitude, Parametro.Longitude, gmap.CameraPosition.Zoom, Parametro.Bearing, 0) +' gmap.AnimateCamera(cp) +' End If +' End If +End Sub + +Sub Activity_Resume + + If GPS.GPSEnabled = False Then + ToastMessageShow("Debe Activar el GPS del Equipo.", True) + StartActivity(GPS.LocationSettingsIntent) + Else + GPS.Start(0, 0) + End If +End Sub + +Sub Activity_Pause (UserClosed As Boolean) + GPS.Stop +End Sub + + +'Sub B_TODOS_Click +' todos =1 +' verde = 0 +' azul = 0 +' rojo = 0 +' +' MapFragment1_Ready +' +'End Sub +' +'Sub B_VERDE_Click +' verde = 1 +' azul = 0 +' rojo = 0 +' todos = 0 +' gmap.Clear +' MapFragment1_Ready +' +'End Sub +' +'Sub B_ROJO_Click +' rojo = 1 +' verde = 0 +' azul = 0 +' todos = 0 +' gmap.Clear +' +' MapFragment1_Ready +' +'End Sub +' +'Sub B_AZUL_Click +' azul = 1 +' verde = 0 +' rojo = 0 +' todos = 0 +' gmap.Clear +' +' MapFragment1_Ready +' +'End Sub diff --git a/B4A/Starter.bas b/B4A/Starter.bas index dd7970d..4ec3fcb 100644 --- a/B4A/Starter.bas +++ b/B4A/Starter.bas @@ -14,7 +14,7 @@ Sub Process_Globals 'These variables can be accessed from all modules. Public rp As RuntimePermissions Dim reqManager As DBRequestManager - Dim DBReqServer As String = "http://keymon.lat:1783" '"http://keymon.lat:1782" "http://10.0.0.205:1782" ""' CAMBIAR HACIA AFUERA O DENTRO DE LA OFNA + Dim DBReqServer As String = "http://keymon.net:1783" '"http://keymon.lat:1782" "http://10.0.0.205:1782" ""' CAMBIAR HACIA AFUERA O DENTRO DE LA OFNA Dim rutaBD As String = File.DirInternal Dim skmt As SQL Dim almacen As String @@ -39,9 +39,6 @@ Sub Process_Globals Dim horacomin As String Dim horacomout As String Dim trabaja As Int - 'Para los Logs - Dim logs As StringBuilder - Private logcat As LogCat End Sub Sub Service_Create @@ -64,19 +61,8 @@ Sub Service_TaskRemoved Timer1.Enabled = False End Sub -'Return true to allow the OS default exceptions handler to handle the uncaught exception. 'Para los Logs +'Return true to allow the OS default exceptions handler to handle the uncaught exception. Sub Application_Error (Error As Exception, StackTrace As String) As Boolean - 'wait for 500ms to allow the logs to be updated. - Log(">>>>>>>>> ERROR") - Dim jo As JavaObject - Dim l As Long = 500: jo.InitializeStatic("java.lang.Thread").RunMethod("sleep", Array(l)) 'Sleep 500ms - logcat.LogCatStop - logs.Initialize - logs.Append(Application.LabelName & " Ver " & Application.VersionName & CRLF) - logs.Append(StackTrace) - Subs.revisaBD - Subs.errorLog.ExecNonQuery2("INSERT INTO errores(fecha, error) VALUES (?,?)", Array As Object (Subs.fechaKMT(DateTime.now), logs)) - StartActivity(errorManager) Return True End Sub @@ -84,6 +70,7 @@ Sub Service_Destroy End Sub + Private Sub Timer1_Tick ' ToastMessageShow("Timer",False) ' If logger Then Log("Siguiente actuaizacion " & DateTime.Time(DateTime.Now + Interval * 1000)) @@ -114,8 +101,8 @@ Sub ENVIA_ULTIMA_GPS 'ignore If bateria = 0 Then bateria = 100 Dim cmd As DBCommand cmd.Initialize - cmd.Name = "insert_ubicaprom_GABICO" - cmd.Parameters = Array As Object(sDate &" " &sTime, B4XPages.MainPage.login.user, latitud,longitud,B4XPages.MainPage.principal.bateria,almacen,B4XPages.MainPage.login.nom_proyec,B4XPages.MainPage.login.sucursal,B4XPages.MainPage.login.suc_nom) + cmd.Name = "insert_ubicaprom_GABICO_2" + cmd.Parameters = Array As Object(sDate &" " &sTime, B4XPages.MainPage.login.user, latitud,longitud,B4XPages.MainPage.principal.bateria,almacen,B4XPages.MainPage.login.nom_proyec,B4XPages.MainPage.login.sucursal,B4XPages.MainPage.login.suc_nom,Application.VersionName,B4XPages.MainPage.login.tipoenvio) ' cmd.Parameters = Array As Object(sDate &" " &sTime, " ", latitud,longitud," ",almacen," "," "," ") reqManager.ExecuteCommand(cmd,"inst_GESTION_GPS") diff --git a/B4A/Subs.bas b/B4A/Subs.bas index 10ea7d1..ec5cf4e 100644 --- a/B4A/Subs.bas +++ b/B4A/Subs.bas @@ -9,7 +9,7 @@ Version=11.8 Sub Process_Globals 'These global variables will be declared once when the application starts. 'These variables can be accessed from all modules. - Dim errorLog As SQL 'Requiere la libreria "SQL" + End Sub Sub revisaBD 'ignore @@ -23,24 +23,6 @@ Sub revisaBD 'ignore Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_SUPERVISOR(HIST_CHKS_PROYECTO TEXT, HIST_CHKS_NOMPROY TEXT, HIST_CHKS_SUCURSAL TEXT,HIST_CHKS_FORMATO TEXT, HIST_CHKS_SUPERVISOR TEXT, HIST_CHKS_PROMOTOR TEXT, HIST_CHKS_FECHA TEXT, HIST_CHKS_ID TEXT, HIST_CHKS_CALIF_MULTIPLE TEXT, HIST_CHKS_CALIF_ABIERTA TEXT, HIST_CHKS_HORARIO TEXT, ENVIADO INT)") ' Starter.skmt.ExecNonQuery("DROP TABLE IF EXISTS HIST_SUPERVISOR") Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS trabaja(sitrabaja TEXT)") - If Not(errorLog.IsInitialized) Then errorLog.Initialize(File.DirInternal, "errorLog.db", True) - errorLog.ExecNonQuery("CREATE TABLE IF NOT EXISTS errores(fecha INTEGER, error TEXT)") -End Sub - -'Limpiamos la tabla errorLog de la BD -Sub deleteErrorLog_DB 'ignore - errorLog.ExecNonQuery("delete from errores") - errorLog.ExecNonQuery("vacuum;") - ToastMessageShow("BD Errores Borrada", False) -End Sub - -'Borramos renglones extra de la tabla de errores -Sub borraArribaDe100Errores 'ignore - revisaBD - LogColor("Borramos BD de log", Colors.Magenta) - errorLog.ExecNonQuery("DELETE FROM errores WHERE fecha NOT in (SELECT fecha FROM errores ORDER BY fecha desc LIMIT 99 )") - errorLog.ExecNonQuery("vacuum;") - Log("Borramos mas de 100 de errorLog") End Sub 'Genera una notificacion con importancia alta @@ -69,12 +51,6 @@ Sub notiLowReturn(title As String, Body As String, id As Int) As Notification 'i notification.Notify(id) ' Log("notiLowReturn SetInfo") Return notification - -' java.lang.SecurityException: Starting FGS with Type location callerApp=ProcessRecord{d39abd3 32668:gabinete.keymon.lat/u0a261} -' targetSDK=34 requires permissions: all of the permissions allOf=True [android.permission.FOREGROUND_SERVICE_LOCATION] -' any of the permissions allOf=False [android.permission.ACCESS_COARSE_LOCATION, android.permission.ACCESS_FINE_LOCATION] -' And the app must be in the eligible state/exemptions To access the foreground only permission - End Sub Sub IsConnectedToInternet As Boolean 'ignore @@ -88,15 +64,4 @@ Sub IsConnectedToInternet As Boolean 'ignore End If ' If logger Then LogColor("Not connected", Colors.red) Return False -End Sub - -'Convierte una fecha al formato yyMMddHHmmss -Sub fechaKMT(fecha As String) As String 'ignore -' Log(fecha) - Dim OrigFormat As String = DateTime.DateFormat 'save orig date format - DateTime.DateFormat="yyMMddHHmmss" - Dim nuevaFecha As String=DateTime.Date(fecha) - DateTime.DateFormat=OrigFormat 'return to orig date format -' Log(nuevaFecha) - Return nuevaFecha End Sub \ No newline at end of file diff --git a/B4A/Tracker.bas b/B4A/Tracker.bas index f24c06b..f373f90 100644 --- a/B4A/Tracker.bas +++ b/B4A/Tracker.bas @@ -58,8 +58,8 @@ Sub Service_Create End Sub Sub flp_ConnectionSuccess -' If logger Then Log("Connected to location provider") - 'FLP.GetLastKnownLocation + If logger Then Log("Connected to location provider") + FLP.GetLastKnownLocation End Sub Sub flp_ConnectionFailed(ConnectionResult1 As Int) diff --git a/B4A/errorManager.bas b/B4A/errorManager.bas deleted file mode 100644 index 4f043b5..0000000 --- a/B4A/errorManager.bas +++ /dev/null @@ -1,167 +0,0 @@ -B4A=true -Group=Default Group -ModulesStructureVersion=1 -Type=Activity -Version=10.2 -@EndOfDesignText@ -#Region Activity Attributes - #FullScreen: False - #IncludeTitle: True -#End Region -'****************************************************************************** -'Este modulo intercepta los errores de la aplicación mediante "Starter.Application_Error" y muestra una pantalla -'con el log del error y lo manda al servidor con un query de DBRequestManager, se necesita que exista el query -'en el "config.properties" llamado "guardaErrores" y que tenga el siguiente texto: -' -'sql.guardaErrores=INSERT INTO KELLOGGS.PUSH_INFO (ID, RUTA, FECHA, DATOS) VALUES((?),(?),(?),(?)) -' -'Agregar estas lineas a "Starter.Process_Globals" -' 'Para los Logs -' Dim logs As StringBuilder -' Private logcat As LogCat -' -'Agregar estas lineas a "Starter.Service_Create" -' 'Para los Logs -' #if RELEASE -' logcat.LogCatStart(Array As String("-v","raw","*:F","B4A:v"), "logcat") -' #end if -' logs.Initialize -' -'Agregar este Sub a "Starter" -' -'Return true to allow the OS default exceptions handler to handle the uncaught exception. 'Para los Logs -'Sub Application_Error (Error As Exception, StackTrace As String) As Boolean -' 'wait for 500ms to allow the logs to be updated. -' Dim jo As JavaObject -' Dim l As Long = 500: jo.InitializeStatic("java.lang.Thread").RunMethod("sleep", Array(l)) 'Sleep 500ms -' logcat.LogCatStop -' logs.Append(StackTrace) -' Subs.revisaBD -' Subs.errorLog.ExecNonQuery2("INSERT INTO errores(fecha, error) VALUES (?,?)", Array As Object (Subs.fechaKMT(DateTime.now), logs)) -' StartActivity(errorManager) -' Return True -'End Sub -'****************************************************************************** - -Sub Process_Globals - 'These global variables will be declared once when the application starts. - 'These variables can be accessed from all modules. - -End Sub - -Sub Globals - 'These global variables will be redeclared each time the activity is created. - 'These variables can only be accessed from this module. -' Dim errorLog As SQL - Dim c As Cursor - Private p_principal As Panel - Private l_titulo As Label - Private svScroll As ScrollView - Private etText As EditText - Private c_continuar As Button - Private p_botones As Panel - Private b_salir As Button -End Sub - -Sub Activity_Create(FirstTime As Boolean) - 'Do not forget to load the layout file created with the visual designer. For example: - Activity.LoadLayout("errorManager") -End Sub - -Sub Activity_Resume - Dim elError As String = "" - Dim laFecha As String = "" -' svScroll.Initialize(500dip) -' Activity.AddView(svScroll, 0, 300, 100%x, 80%y) - p_principal.Height = Activity.Height - p_principal.Width = Activity.Width - svScroll.Width = Round(p_principal.Width * 0.9) - svScroll.Left = Round(p_principal.Width/2)-Round(svScroll.Width/2) - p_botones.Left = Round(p_principal.Width/2)-Round(p_botones.Width/2) - p_botones.Top = Activity.Height - (p_botones.Height + 80) - etText.Initialize("") - svScroll.Panel.AddView(etText, 0, 0, 90%x, 80%y) - etText.InputType = etText.INPUT_TYPE_NONE - etText.Gravity = Gravity.TOP - etText.SingleLine = False - etText.Wrap = False -' Dim lblText, edtText As StringBuilder - Dim lbl As Label - lbl.Initialize("") - Activity.AddView(lbl, 0, 300, 100%x, 100%y) 'ignore - etText.Text = "" - Subs.revisaBD - c = Subs.errorLog.ExecQuery("select * from errores order by fecha desc limit 1") - If c.RowCount > 0 Then - c.Position = 0 - elError = c.GetString("error") - laFecha = c.GetString("fecha") - etText.Text = elError - End If - c.Close - Dim usuario As String = "XXXXX" -' c = Starter.skmt.ExecQuery("select usuario from usuarioa") -' If c.RowCount > 0 Then -' c.Position = 0 -' usuario = c.GetString("USUARIO") -' End If - -' Log("++++++" & Starter.logsStr) -' etText.Text = etText.Text & Starter.logsStr -' lbl.TextSize = etText.TextSize -' lbl.Text = etText.Text -' Dim su As StringUtils -' Dim edheight As Int = su.MeasureMultilineTextHeight(lbl, lbl.Text) -' lbl.RemoveView -' etText.Height = edheight -' svScroll.Panel.Height = edheight - svScroll.Height = Round(Activity.Height * 0.9) -' Log(edheight) - - Dim cmd As DBCommand - cmd.Initialize - cmd.Name = "guardaErrores" - cmd.Parameters = Array As Object(laFecha, usuario, laFecha, elError) - Log($"Mandamos: ${Subs.fechaKMT(DateTime.Now)}, |${usuario}|, ${Subs.fechaKMT(DateTime.Now)}"$) - Starter.reqManager.ExecuteCommand(cmd,"guardaErrores") -End Sub - -Sub Activity_Pause (UserClosed As Boolean) - -End Sub - -Sub JobDone(Job As HttpJob) - Log("errorManager - JobDone") - If Job.Success = False Then - ToastMessageShow("Error: " & Job.ErrorMessage, True) - Else - LogColor("JobDone: '" & Starter.reqManager.HandleJob(Job).tag & "' - Registros: " & Starter.reqManager.HandleJob(Job).Rows.Size, Colors.Green) 'Mod por CHV - 211110 - If Job.JobName = "DBRequest" Then - Dim result As DBResult = Starter.reqManager.HandleJob(Job) - If result.Tag = "guardaErrores" Then 'query tag - For Each records() As Object In result.Rows - For Each k As String In result.Columns.Keys - Log("GuardaErrores: " & k & ": " & records(result.Columns.Get(k))) - Next - Next - End If - End If - End If - Job.Release -End Sub - -Private Sub c_continuar_Click -' Subs.iniciaActividad("Principal") -' B4XPages.ShowPage("Principal") -End Sub - -Private Sub b_salir_Click - cierraActividades -End Sub - -Sub cierraActividades - Log("closing activities") - Dim jo As JavaObject - jo.InitializeContext - jo.RunMethod("finishAffinity", Null) -End Sub \ No newline at end of file diff --git a/B4A/login.bas b/B4A/login.bas index 0023f47..fe22db9 100644 --- a/B4A/login.bas +++ b/B4A/login.bas @@ -39,7 +39,8 @@ Sub Class_Globals Dim horacomout As String Private p_adorno As Panel Private l_version As Label - + Public rp As RuntimePermissions + Dim tipoenvio As String End Sub 'You can add more parameters here. @@ -58,6 +59,7 @@ Private Sub B4XPage_Created (Root1 As B4XView) End Sub Sub B4XPage_Appear + If Starter.muestraProgreso = 1 Then muestraProgreso("Descargando actualización") Starter.muestraProgreso = 0 @@ -68,7 +70,7 @@ Sub B4XPage_Appear p_adorno.Width = Root.Width * 0.85 p_adorno.Height = Root.Height * 0.80 Log("inicio1") -' StartService(Tracker) + StartService(Tracker) Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_ACCESS_FINE_LOCATION) Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean) If Result Then @@ -78,7 +80,8 @@ Sub B4XPage_Appear ToastMessageShow("Sin permisos para GPS", True) End If Log(Result) - + Log("latitud " &Starter.latitud) + Log("longitud " &Starter.longitud) ' Dim p As Period ' p.Days = 0 ' p.Hours = 0 @@ -102,6 +105,8 @@ Sub B4XPage_Appear ' Else If EsDomingo(newDate) Then ' Log("¡Hoy es Domingo!") ' End If + Log(Starter.latitud) + Log(Starter.longitud) End Sub Private Sub b_inicio_Click @@ -119,10 +124,6 @@ Private Sub b_inicio_Click ' B4XPages.ShowPage ("Principal") End Sub -Private Sub b_inicio_LongClick - Private X As Int = "A" -End Sub - Sub JobDone (Job As HttpJob) If Job.Success = False Then ToastMessageShow("Error: " & Job.ErrorMessage, True) @@ -134,7 +135,7 @@ Sub JobDone (Job As HttpJob) If result.Tag = "usuario" Then 'query tag For Each records() As Object In result.Rows For Each k As String In result.Columns.Keys -' Log(result.Tag & ": " & k & ": " & records(result.Columns.Get(k))) + Log(result.Tag & ": " & k & ": " & records(result.Columns.Get(k))) Next If records(result.Columns.Get ("USUARIO")) = "OKActivo" Then Starter.almacen = records(result.Columns.Get ("CAT_LO_AGENCIA")) @@ -173,23 +174,28 @@ Sub JobDone (Job As HttpJob) Log(Starter.trabaja) If Starter.trabaja = 1 Then If perfil = 3 Then + tipoenvio = "Ingreso" CallSubDelayed(Starter,"ENVIA_ULTIMA_GPS") B4XPages.ShowPage("Principal") -' Log("AQUI ANDO") + Log("AQUI ANDO") Else If perfil = 2 Then + tipoenvio = "Ingreso" CallSubDelayed(Starter,"ENVIA_ULTIMA_GPS") -' Log("AQUI ACA") + Log("AQUI ACA") B4XPages.ShowPage("Supervisor") End If Else If Starter.trabaja = 0 Then - B4XPages.ShowPage("Principal") MsgboxAsync("Hoy es día de descanso","Atención") End If Next ' ToastMessageShow(" Historico Clientes Promociones Actualizado." , True) + End If + End If + End If + End Sub Private Sub B4XPage_CloseRequest As ResumableSub @@ -198,6 +204,7 @@ Private Sub B4XPage_CloseRequest As ResumableSub Else B4XPages.ShowPage("login") End If + ' Return True Return False End Sub @@ -205,10 +212,12 @@ End Sub Private Sub ImageView5_Click p_configuracion.Visible = True lv_server.Clear - lv_server.AddSingleLine("http://keymon.lat:1783") + lv_server.AddSingleLine("http://keymon.net:1783") If et_user.Text = "KMTS1" Then lv_server.AddSingleLine("http://11.0.0.196:1783") ' l_server.Text = Starter.server et_server.Text = Starter.DBReqServer + Log("latitud " &Starter.latitud) + Log("longitud " &Starter.longitud) End Sub Private Sub p_configuracion_Click @@ -285,108 +294,10 @@ Sub notiLowReturn(title As String, Body As String, id As Int) As Notification 'i Return notification End Sub -'' Función para verificar si la fecha actual es un lunes -'Sub EsLunes(fecha As Long) As Boolean -' ' Crear un objeto Calendar -' Dim cal As JavaObject -' cal.InitializeNewInstance("java.util.GregorianCalendar", Null) -' -' ' Establecer la fecha actual en el objeto Calendar -' cal.RunMethod("setTimeInMillis", Array(fecha)) -' -' ' Obtener el día de la semana (1 para domingo, 2 para lunes, ..., 7 para sábado) -' Dim diaSemana As Int = cal.RunMethod("get", Array(7)) -' -' ' Verificar si es lunes (día de la semana = 2) -' Return diaSemana = 2 -'End Sub -' -'Sub EsMartes(fecha As Long) As Boolean -' ' Crear un objeto Calendar -' Dim cal As JavaObject -' cal.InitializeNewInstance("java.util.GregorianCalendar", Null) -' -' ' Establecer la fecha actual en el objeto Calendar -' cal.RunMethod("setTimeInMillis", Array(fecha)) -' -' ' Obtener el día de la semana (1 para domingo, 2 para lunes, ..., 7 para sábado) -' Dim diaSemana As Int = cal.RunMethod("get", Array(7)) -' -' ' Verificar si es lunes (día de la semana = 2) -' Return diaSemana = 3 -'End Sub -' -'Sub EsMiercoles(fecha As Long) As Boolean -' ' Crear un objeto Calendar -' Dim cal As JavaObject -' cal.InitializeNewInstance("java.util.GregorianCalendar", Null) -' -' ' Establecer la fecha actual en el objeto Calendar -' cal.RunMethod("setTimeInMillis", Array(fecha)) -' -' ' Obtener el día de la semana (1 para domingo, 2 para lunes, ..., 7 para sábado) -' Dim diaSemana As Int = cal.RunMethod("get", Array(7)) -' -' ' Verificar si es lunes (día de la semana = 2) -' Return diaSemana = 4 -'End Sub -' -'Sub Esjueves(fecha As Long) As Boolean -' ' Crear un objeto Calendar -' Dim cal As JavaObject -' cal.InitializeNewInstance("java.util.GregorianCalendar", Null) -' -' ' Establecer la fecha actual en el objeto Calendar -' cal.RunMethod("setTimeInMillis", Array(fecha)) -' -' ' Obtener el día de la semana (1 para domingo, 2 para lunes, ..., 7 para sábado) -' Dim diaSemana As Int = cal.RunMethod("get", Array(7)) -' -' ' Verificar si es lunes (día de la semana = 2) -' Return diaSemana = 5 -'End Sub -' -'Sub Esviernes(fecha As Long) As Boolean -' ' Crear un objeto Calendar -' Dim cal As JavaObject -' cal.InitializeNewInstance("java.util.GregorianCalendar", Null) -' -' ' Establecer la fecha actual en el objeto Calendar -' cal.RunMethod("setTimeInMillis", Array(fecha)) -' -' ' Obtener el día de la semana (1 para domingo, 2 para lunes, ..., 7 para sábado) -' Dim diaSemana As Int = cal.RunMethod("get", Array(7)) -' -' ' Verificar si es lunes (día de la semana = 2) -' Return diaSemana = 6 -'End Sub -' -'Sub Essabado(fecha As Long) As Boolean -' ' Crear un objeto Calendar -' Dim cal As JavaObject -' cal.InitializeNewInstance("java.util.GregorianCalendar", Null) -' -' ' Establecer la fecha actual en el objeto Calendar -' cal.RunMethod("setTimeInMillis", Array(fecha)) -' -' ' Obtener el día de la semana (1 para domingo, 2 para lunes, ..., 7 para sábado) -' Dim diaSemana As Int = cal.RunMethod("get", Array(7)) -' -' ' Verificar si es lunes (día de la semana = 2) -' Return diaSemana = 7 -'End Sub -' -'Sub EsDomingo(fecha As Long) As Boolean -' ' Crear un objeto Calendar -' Dim cal As JavaObject -' cal.InitializeNewInstance("java.util.GregorianCalendar", Null) -' -' ' Establecer la fecha actual en el objeto Calendar -' cal.RunMethod("setTimeInMillis", Array(fecha)) -' -' ' Obtener el día de la semana (1 para domingo, 2 para lunes, ..., 7 para sábado) -' Dim diaSemana As Int = cal.RunMethod("get", Array(7)) -' -' ' Verificar si es lunes (día de la semana = 2) -' Return diaSemana = 1 -'End Sub +Private Sub b_cambiaubi_Click + rp.CheckAndRequest(rp.PERMISSION_ACCESS_FINE_LOCATION) + Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean) + If Result Then + StartActivity(MAPA_RUTAS) + End If +End Sub \ No newline at end of file