From 5ad7ce20f923e8b8dcd139d41f3d81dc225de88c Mon Sep 17 00:00:00 2001 From: Jose Alberto Guerra Ugalde Date: Thu, 2 Nov 2023 15:02:48 -0600 Subject: [PATCH] =?UTF-8?q?2/11/23=20-=20C=C3=B3digo=20para=20activar=20la?= =?UTF-8?q?=20Geocerca=20desde=20el=20engrane.=20-=20Se=20agreg=C3=B3=20c?= =?UTF-8?q?=C3=B3digo=20para=20activar=20o=20desactivar=20la=20geocerca=20?= =?UTF-8?q?en=20el=20engrane,=20se=20requiere=20ingresar=20la=20contrase?= =?UTF-8?q?=C3=B1a=20del=20supervisor?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- B4A/B4XMainPage.bas | 44 +++++++++++++++++++++++++++++++++++++++- B4A/C_Cliente.bas | 24 +++++++++++----------- B4A/Files/login.bal | Bin 16184 -> 19912 bytes B4A/KelloggsV4.b4a.meta | 8 ++++---- B4A/kms_helperSubs.bas | 26 ++++++++++++++++++++++++ 5 files changed, 85 insertions(+), 17 deletions(-) diff --git a/B4A/B4XMainPage.bas b/B4A/B4XMainPage.bas index b7ba452..0b131bb 100644 --- a/B4A/B4XMainPage.bas +++ b/B4A/B4XMainPage.bas @@ -103,6 +103,12 @@ Sub Class_Globals Private b_cargaLocalCancelar As Button Private p_botones As Panel Private b_importarBD As Button + Private cb_geocerca As CheckBox + Private p_geocerca As Panel + Private et_geocerca As EditText + Private b_geocerca As Button + Private l_greocerca As Label + Private b_aceptarGC As Button End Sub Public Sub Initialize @@ -343,6 +349,8 @@ Sub B4XPage_Appear End If End If kh.RD_Init + kh.SetButtonTintList(cb_geocerca, Colors.LightGray, Colors.RGB(43, 154, 211)) + cb_geocerca.Checked = kh.traeUsarGeocerca ' server = "http://keymon.com.mx:1782" ' server = "http://201.99.139.28:1782" ' server = "http://177.244.63.54:1782" @@ -596,7 +604,7 @@ Private Sub ImageView4_LongClick ' Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_WRITE_EXTERNAL_STORAGE) ' Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean) ' Subs.copiaDB(Result) - Dim x As Int = "a" +' Dim x As Int = "a" End Sub Sub B_SERVER_Click @@ -734,4 +742,38 @@ Private Sub b_importarBD_Click Else ToastMessageShow($"¡BD importada!"$, True) End If +End Sub + +Private Sub cb_geocerca_CheckedChange(Checked As Boolean) + Starter.skmt.ExecNonQuery("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'GEOCERCA'") + Starter.skmt.ExecNonQuery($"insert into CAT_VARIABLES (CAT_VA_DESCRIPCION, CAT_VA_VALOR) values ('GEOCERCA', '${Checked}')"$) +End Sub + +Private Sub et_geocerca_TextChanged (Old As String, New As String) + Private x As Cursor = Starter.skmt.ExecQuery($"select CAT_VA_VALOR from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'FINDIA_PASS'"$) + If x.RowCount > 0 Then + x.Position = 0 + If New = x.GetString("CAT_VA_VALOR") Then + cb_geocerca.Enabled = True + l_greocerca.TextColor = Colors.RGB(43, 154, 211) + Else + cb_geocerca.Enabled = False + l_greocerca.TextColor = Colors.LightGray + End If + End If +End Sub + +Private Sub b_geocerca_Click + p_geocerca.Top = p_botones.Top + kh.centraPanel(p_geocerca, Root.Width) + p_geocerca.Elevation = 100dip + p_geocerca.BringToFront + p_geocerca.Visible = True +End Sub + +Private Sub p_geocerca_Click +End Sub + +Private Sub b_aceptarGC_Click + p_geocerca.Visible = False End Sub \ No newline at end of file diff --git a/B4A/C_Cliente.bas b/B4A/C_Cliente.bas index 930c93a..30329b0 100644 --- a/B4A/C_Cliente.bas +++ b/B4A/C_Cliente.bas @@ -9,6 +9,7 @@ Sub Class_Globals Private xui As XUI 'ignore '// Process Globals Dim g As GPS + dim kh as kms_helperSubs Dim reqManager As DBRequestManager Dim ruta As String Dim clie_id As String @@ -281,10 +282,13 @@ Sub Class_Globals Dim dentroDeGeocerca As Boolean = False Dim motivoNoVenta As String = "" Dim precision As Int = 0 + Dim clienteDeudor As Boolean = False + Dim usarGeocerca As Boolean = False End Sub 'You can add more parameters here. Public Sub Initialize As Object + kh.Initialize(Me, "kh") Return Me End Sub @@ -376,8 +380,8 @@ Sub B4XPage_Appear b_inicioFinVenta.Visible = False End If reqManager.Initialize(Me, Starter.DBReqServer) + usarGeocerca = kh.traeUsarGeocerca ' Log(Subs.traeUltimaActividadBD) - ' P_INF_GENERAL.Height = Root.Height ' P_INF_GENERAL.Width = Root.Width c = Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("MACIMP")) @@ -474,9 +478,11 @@ Sub B4XPage_Appear If CREDITO = "1" Then Msgbox("ALTO","A este cliente no se le puede vender ya que tienen adeudo en su crédito") 'ignore B_VENTA.Visible = False + clienteDeudor = True ' gest.Visible = False Else B_VENTA.Visible = True + clienteDeudor = False ' gest.Visible = True End If ' Msgbox(c.GetString("CAT_CL_NUM_SERIEFISICO"),"AVISO") @@ -704,27 +710,21 @@ Sub GPS_LocationChanged (Location1 As Location) '''' GEO CERCA '''' esto es para la geocerca validar tambien el las variables del whats y del no venta que las borra si existe venta - Dim l1, l2 As Location +' Dim l1, l2 As Location ' Log($"${Starter.lat_gps}, ${Starter.lon_gps}"$) If Starter.lat_gps = "null" Or Starter.lat_gps = Null Or Starter.lat_gps = "" Then 'Zocalo Starter.lat_gps = "19.432568527069805" Starter.lon_gps = "-99.13335030112772" End If - l1.Initialize2(Starter.lat_gps, Starter.lon_gps) - - -' Log($"Coordenadas de la tienda - lat:${m_lat}, lon:${m_lon}"$) - l2.Initialize2(m_lat, m_lon) - - Dim distance As Long - distance = l1.DistanceTo(l2) ' resultado en metros ' gest.Visible = True ' gps_boton_doe ="1" ' LogColor($"Distancia actual: ${distance}"$, Colors.Blue) - If distance <= 5000000 Or usuario = "KMTSKLL1" Or la_cuenta.Text = "0" Then + + 'Si no estamos usando la geocerca o ya estanos dentro de la geocerca o el usuario es KMTS1 o es abordo ... + If Not(usarGeocerca) Or dentroDeGeocerca Or usuario = "KMTSKLL1" Or la_cuenta.Text = "0" Then ' If pgs_boton_noventa = "1" Then b_noVenta.Visible = True ' If gps_boton_doe ="1" Then b_whats.Visible = True - B_VENTA.Visible = True + If Not(clienteDeudor) Then B_VENTA.Visible = True 'Si el cliente no tiene adeudo, habilitamos el boton de venta pedido_doe_muestra Else b_noVenta.Visible = False diff --git a/B4A/Files/login.bal b/B4A/Files/login.bal index 4085abc9900d196248ff73f4bcc611794c0da40b..1979ecbb00ffe550b79673c5a4f6840a15d45bc8 100644 GIT binary patch delta 1776 zcma)6O>7fa5Z>oB5F6HJZ6{9rpEy5|II$f9O|m3$?IwW(0s#?KMdNIoRce)Z-NlKj z(l)fWN=U^TsT6?CD<2UQ)H{;oJS*?Cdx1 z&CHu`K6rAKiS>dYq;?2`4c`Y#Vq|0&lG%)sRSQK$pG@0v*_T=@7Pb6oT`3e)9i4@$ zfxe|ODNWZEeIl2CHK&xORXZuoX698btLj;$^j-frNoHS|I&s;T))ordVt#ImbbI5o$m5>kts+Hiyw!el#}nb&LaL}OXZ6(?&3_?E4Rw5NjkAG~hy zu`XD$Twbn2`%8#D2$M_5od_4gjc7zPAv_4vrXCUxA;+ZkC4K_L&6>niKoCltcMP$*3CXv&xbh zKDmeux0E}l>Dx-bt?JapCyq=WK4pZhRo)NMF4yu=wWydq^#41L^tqO`;xc#6kWuI8 z8+SwKTUyH(bNNL@XSfiA3u8$n>$F&V-+sq$X=bo4wX7w3JRq?G!s)>Y_8B}3%J9Qrj9meLC<4(TE3$Yn1mEv- z!n+|ioF7_+!*UZ$AMn5>j}vBwo$yGuqt}PSVRjWNvJ4fU9i9)r!LDJvMwph*IIiLT zs4;d^!mU@}sMHC+%lF|ES3CR|YzBuBrX_>2b=wX<4X z71W`-#-8AVE*iTCH@#j+_Bi12kiu>m5o?)n+(L&J=Ukzjh+m+M`g_O5)YKF_jg0u| z`q5oxG~f*JkB}JRZWIr}`Cc2u(wFLoKV^F+<*6Oy)<+8DD8coKw@iJHS=a6vQ z&bw^3yJ(`TXZ;Eu4u+v}P^uF)HbC+Pb{do4dXJ*RF`skK1iIZv)C)A;@rN6-*KrRi ze^AUIc8U#t^EAL%mleC9wfiFa7&DTFBU{FYu`L;iacnXh+X@=l3=E9_Ta&Q|M){~= m9^g-WU}~7M*)Sc4%pi&xghrDQgwjsams#Lhq6vay-oF8k{f2u0 delta 576 zcmZ9Gy)Q#i6u{qUOVIW`eYDkjc(m%P8cdQ_Uo}k!8WNFM2u+Akv}rJEV`7r#BwFet zF_;YEEf`pB{0D3{e?SLu+T^u2hTplrd++&rE5hS}xsKzwSqe>b4(H4+ktYc+hm+}a zJRRNGiEPAkij>=4%YBXE0?gwxq;N`igC(64WVGt@nP#f65F()`3`7f|y|*%MCASfF zqK$C}xt8xFZzm+8gYizryK0`{H6aa{NV>7h7MsxU2lGppoCew6K5a|^|PSuom)yePs&wdY~DQiBhZ%e0mDe^vdL Plt#Ra1n@P$>wx 0 Then + x.Position = 0 + If x.GetString("CAT_VA_VALOR") = "true" Then GC = True + End If + Return GC +End Sub + '################ Manage External Storage (MES) ######################### ' ''Inicializa "Manage External Storage" (MES), que nos da acceso a la tarjeta de memoria en Android 11+