Files
Mariana_Censos/B4A/C_Cliente.bas
cheveguerra b4d0e069ab 21/9/23 - Modificacion al mandapendientes y tmp_drop
- Se modifico el mandaPendientes y mandaPendientesNuevosClientes para que cuando se llamen desde Principal se manden TODOS, y cuando se llamen al guardar un cliente solo se manden los pendientes.
- Se egrego que cuando se mande información al final del día, se mande tambien información al TMP_DROP
2023-09-21 16:13:36 -06:00

644 lines
24 KiB
QBasic

B4A=true
Group=Default Group
ModulesStructureVersion=1
Type=Class
Version=11.5
@EndOfDesignText@
Sub MODS 'ignore
'V3.04.10 - Se agregó código para el registro de abonos, en B4XMainPage se genera la tabla y aquí se agregó el panel p_abonos para ralizar el abono, y el codigo en el sub "mandaPendientes" para cambiar la bandera de enviado en el abono.
End Sub
Sub Class_Globals
Private Root As B4XView 'ignore
Dim rp As RuntimePermissions
Private xui As XUI 'ignore
Private p_cliente As Panel
Dim reqManager As DBRequestManager
Dim cmd As DBCommand
Dim ime As IME
Dim g As GPS
Dim ruta As String
Dim skmt As SQL
Dim clie_id As String
Dim sDate,sTime As String
Dim usuario As String
Dim total_cliente As String
Dim m_lat, m_lon As String
' Dim btAdmin As BluetoothAdmin
Dim cmp20 As Serial
Dim printer As TextWriter
Dim PairedDevices As Map
Dim L As List
Dim TAMANO As Int
Dim ESPACIO As Int
Dim BLANCO As String
Dim cuenta As String
Dim tipo_venta As String = "PREVENTA"
Dim MAC_IMPRESORA As String
Dim c As Cursor
Dim s As Cursor
Dim DD As Cursor
Dim c2 As Cursor
Dim ListView1 As ListView
Dim la_cuenta As Label
Dim La_nombre As Label
Dim la_Calle As Label
Dim la_numero As Label
Dim la_nint As Label
Dim la_edo As Label
Dim la_pob As Label
Dim la_col As Label
Dim la_cp As Label
Dim la_zona As Label
Dim gest As Button
Dim la_saldotot As Label
Dim la_saldooper As Label
Dim Tels As Button
Dim Label10 As Label
Dim Label11 As Label
Dim Tar As Button
Dim la_comm As Label
Dim la_actdte As Label
Dim la_usuario As Label
Dim la_resultado As Label
Dim l_entre1 As Label
Dim l_entre2 As Label
Dim l_atiende As Label
Dim l_atiende2 As Label
Dim DATOS As Button
Dim NUEVO As Button
' Dim lat_gps, lon_gps As String
Dim l_total As Label
Dim c2 As Cursor
Dim S2 As Cursor
Private s As Cursor
Dim res As String
Private HIST As Button
Private MONTO_COMPRA As String
Private META As String
Private META2 As String
Private VERIFICA As String
Private L_QR As Label
Private BT_QR As Button
Dim CODIGO As String
Private b_mapa As Button
Dim CUANTOS As String
Private B_IMP As Button
Dim Toggla As Toggle
Dim tgl As Toggle
Private Panel1 As Panel
Private I_COMPRA As EditText
Private b_venta As Button
Dim ALMACEN As String
Private LA_GPS As Label
Private B_E_NEXT As Button
Private E_RES_E As EditText
Private t_tenc As Label
Private Panel2 As Panel
Private CONTADOR_E As String
Private HR_RES1 As String
Private HR_RES2 As String
Private HR_RES3 As String
Private EXISTE As String
Private TELEFONO As String
Private RB1, RB2, RB3, RB4, RB5 As RadioButton
Private stay_hh, stay_mi, stay_ss As String
Dim result As Int
Private LA_RUTA As String
Private b_like As Button
Private B_GPS As Button
Dim CODIGO As String
Private cb_factura As CheckBox
Private p_cbFactura As Panel
Dim venimosDeTicketsDia As Boolean = False
Private p_abono As Panel
Private et_abono As EditText
Private b_abono As Button
Private b_cancelar As Button
Private b_abono1 As Button
Private E_NOMBRE_C As EditText
Private et_direccion As EditText
Private E_ENTRE1 As EditText
Private E_ENTRE_2 As EditText
Private CH_ACTIVO As CheckBox
Private CLIENTE_ACTIVO As String
Private et_cp As EditText
Private et_colonia As EditText
Private lv_colonia As ListView
Private et_estado As EditText
Private et_municipio As EditText
Dim desdeBD As Boolean
Private b_guardaCambios As Button
Private l_secuencia As Label
Private l_ruta As Label
Private et_diaSemana As EditText
Private et_giro As EditText
Private lv_diaSemana As ListView
Private et_calle As EditText
Private et_NoExt As EditText
Private et_NoInt As EditText
Private l_cp As Label
Private l_lon As Label
Private l_lat As Label
Private b_actCoords As Button
Private estatus As String
Private cb_activo As B4XComboBox
Private et_atiende As EditText
Private cb_giro As B4XComboBox
Dim refrescarCliente As Boolean = False
Dim Timer2 As Timer
Dim Interval As Int = 300
Dim turnoColor As Int = 1
Dim cd As ColorDrawable
Dim camposModificados As List
dim mandarTodo as Boolean = False
End Sub
'You can add more parameters here.
Public Sub Initialize As Object
Return Me
End Sub
'This event will be called once, before the page becomes visible.
Private Sub B4XPage_Created (Root1 As B4XView)
Log("Entramos a clientes create")
Root = Root1
'load the layout to Root
' Activity.RemoveAllViews
Root.LoadLayout("cliente")
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)
' btAdmin.Initialize("BlueTeeth")
' cmp20.Initialize("Printer")
m_lat = 0
m_lon = 0
reqManager.Initialize(Me, Starter.server)
Log("terminamos create")
camposModificados.Initialize
End Sub
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
Sub B4XPage_Appear
rp.CheckAndRequest(Starter.rp.PERMISSION_CAMERA)
Wait For B4XPage_PermissionResult (Permission As String, resultC As Boolean)
rp.CheckAndRequest(Starter.rp.PERMISSION_WRITE_EXTERNAL_STORAGE)
Wait For B4XPage_PermissionResult (Permission As String, resultC As Boolean)
CallSubDelayed(Tracker, "StartFLPSmall")
reqManager.Initialize(Me, Starter.server)
lv_colonia.Visible = False
Timer2.Initialize("Timer2", Interval * 1)
Timer2.Enabled = True
b_guardaCambios.Enabled = False
b_guardaCambios.Text = "Buscando Ubicación"
If Not(Starter.gps.GPSEnabled) Then
ToastMessageShow("Es necesario tener el GPS encendido", True)
StartActivity(Starter.gps.LocationSettingsIntent)
End If
If refrescarCliente Then
LogColor("Cargamos cliente de BD", Colors.Magenta)
skmt.Initialize(ruta,"kmt.db", True)
c = B4XPages.MainPage.skmt.ExecQuery("select * from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
If c.RowCount > 0 Then
c.Position=0
la_cuenta.Text = c.GetString("CAT_CL_CODIGO")
l_ruta.Text = c.GetString("CAT_CL_RUTA")
et_giro.Text = c.GetString("CAT_CL_GIRO")
et_diaSemana.Text = c.GetString("CAT_CL_DIASEMANA")
l_secuencia.text = c.GetString("CAT_CL_SECUENCIA")
la_cuenta.Text = c.GetString("CAT_CL_CODIGO")
E_NOMBRE_C.TEXT = c.GetString("CAT_CL_NOMBRE")
et_direccion.Text = c.GetString("CAT_CL_CALLE1")
et_colonia.Text = ""
et_colonia.Text = c.GetString("CAT_CL_COLONIA")
et_estado.Text = c.GetString("CAT_CL_EDO")
desdeBD = True
et_cp.Text = c.GetString("CAT_CL_CP")
et_calle.Text = c.GetString("CAT_CL_CALLE")
et_NoExt.Text = c.GetString("CAT_CL_NOEXT")
et_NoInt.Text = c.GetString("CAT_CL_NOINT")
estatus = c.GetString("CAT_CL_ESTATUS")
If estatus = Null Then estatus = ""
cb_activo.Tag = estatus
E_ENTRE1.Text = ""
E_ENTRE_2.Text = ""
et_atiende.Text = ""
If c.GetString("CAT_CL_CRUCE1") <> Null Then E_ENTRE1.Text = c.GetString("CAT_CL_CRUCE1")
If c.GetString("CAT_CL_CALLE2") <> Null Then E_ENTRE_2.Text = c.GetString("CAT_CL_CALLE2")
If c.GetString("CAT_CL_ATIENDE1") <> Null Then et_atiende.Text = c.GetString("CAT_CL_ATIENDE1")
m_lat = "0"
If c.GetString("CAT_CL_LAT") <> "" Then m_lat = c.GetString("CAT_CL_LAT")
If m_lat.Length < 5 Then m_lat = "0"
m_lon = "0"
If c.GetString("CAT_CL_LONG") <> "" Then m_lon = c.GetString("CAT_CL_LONG")
If m_lon.Length < 5 Then m_lon = "0"
l_lat.Text = m_lat
l_lon.Text = m_lon
End If
' Tracker.FLP.Connect
If Tracker.FLP.IsInitialized And Tracker.FLP.GetLastKnownLocation.IsInitialized Then 'Si tenemos "UltimaUbicaccionConocida" la usamos.
B4XPages.MainPage.lat_gps = Tracker.FLP.GetLastKnownLocation.Latitude
B4XPages.MainPage.lon_gps = Tracker.FLP.GetLastKnownLocation.Longitude
' Log($"Tenemos UUC: ${Tracker.FLP.GetLastKnownLocation.Latitude},${Tracker.FLP.GetLastKnownLocation.Longitude}"$)
' GPS_LocationChanged(Tracker.FLP.GetLastKnownLocation)
End If
desdeBD = False
Dim itemsAct As List
itemsAct.Initialize
itemsAct.Add("Activo")
itemsAct.Add("No Activo")
itemsAct.Add("Cerrado Permanente")
cb_activo.SetItems(itemsAct)
' Log(estatus)
If estatus = "Activo" Then
cb_activo.SelectedIndex = 0
CLIENTE_ACTIVO = "Activo"
Else If estatus = "Inactivo" Then
cb_activo.SelectedIndex = 1
CLIENTE_ACTIVO = "Inactivo"
Else
cb_activo.SelectedIndex = 2
CLIENTE_ACTIVO = "Cerrado Permanente"
End If
Dim losGiros As List = Subs.traeGirosLista
cb_giro.SetItems(losGiros)
cb_giro.SelectedIndex = losGiros.IndexOf(c.GetString("CAT_CL_GIRO"))
cb_giro.mBase.Width = et_diaSemana.Width
Log("|"&c.GetString("CAT_CL_GIRO")&"|")
c.Close
camposModificados.Clear
End If
refrescarCliente = False
End Sub
Private Sub Timer2_Tick
' Log(turnoColor)
If turnoColor = 1 Then
cd.Initialize(Colors.RGB(125, 125, 125), 5dip) '210, 132, 79 '210, 105, 30 '125, 125, 125
b_guardaCambios.Background = cd
turnoColor = 0
Else
cd.Initialize(Colors.RGB(87, 87, 87), 5dip) '210, 132, 79 '210, 105, 30 '125, 125, 125
b_guardaCambios.Background = cd
turnoColor = 1
End If
End Sub
Sub GPS_LocationChanged (Location1 As Location)
LogColor($"Entrando a Cliente.GPS_LocationChanged"$, Colors.red)
' Log($"${Tracker.FLP.GetLastKnownLocation.Latitude}, ${Tracker.FLP.GetLastKnownLocation.Longitude}"$)
If Tracker.FLP.GetLastKnownLocation.IsInitialized And Tracker.FLP.GetLastKnownLocation.Latitude <> 0 Then
B4XPages.MainPage.lat_gps = Tracker.FLP.GetLastKnownLocation.Latitude
B4XPages.MainPage.lon_gps = Tracker.FLP.GetLastKnownLocation.Longitude
' Log("Coords set to: " & B4XPages.MainPage.lat_gps & " and " & B4XPages.MainPage.lon_gps)
End If
Dim l1, l2 As Location
l1.Initialize2(B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps)
' Log($"Coordenadas de la tienda - lat:${m_lat}, lon:${m_lon}"$)
l2.Initialize2(m_lat, m_lon)
' Log($"${Location1.Latitude}, ${Location1.Longitude} - ${Tracker.FLP.GetLastKnownLocation.Latitude}, ${Tracker.FLP.GetLastKnownLocation.Longitude}"$)
'now we need the distance between our location and the target location
Dim distance As Long
distance = l1.DistanceTo(l2) 'the result is in meter
B4XPages.MainPage.skmt.ExecNonQuery("DELETE FROM HIST_GPS")
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO HIST_GPS (HGDATE, HGLAT, HGLON) VALUES(?,?,?) ", Array As Object (sDate & " " & sTime, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps))
CallSubDelayed(Tracker, "CreateLocationRequest")
b_guardaCambios.Text = "Guardar"
b_guardaCambios.Enabled = True
Timer2.Enabled = False
b_guardaCambios.Color = Colors.RGB(210, 105, 30) '210, 132, 79 '210, 105, 30
End Sub
Private Sub B4XPage_CloseRequest As ResumableSub
' BACK key pressed
' Return True To close, False To cancel
Return True
' Return False
End Sub
Private Sub b_guardaCambios_Click
' dd/mm/yyyy hh24:mi:ss
DateTime.DateFormat = "dd/MM/yyyy HH:mm:ss"
sDate=DateTime.Date(DateTime.Now)
camposModificados = Subs.RemoveDuplicates(camposModificados)
Log(camposModificados)
If CLIENTE_ACTIVO = "Inactivo" Or CLIENTE_ACTIVO = "Cerrado Permanente" Then l_secuencia.Text = "0"
If CLIENTE_ACTIVO = "Cerrado Permanente" Then CLIENTE_ACTIVO = "Cerrado permanente confirmado"
B4XPages.MainPage.skmt.ExecNonQuery($"UPDATE kmt_info set CAT_CL_CODIGO = '${la_cuenta.text}', CAT_CL_CEDIS = '${Subs.traeAlmacen}', CAT_CL_LAT = '${l_lat.text}', CAT_CL_LONG = '${l_lon.text}', CAT_CL_SECUENCIA = '${l_secuencia.text}', CAT_CL_RUTA = '${l_ruta.text}', CAT_CL_DIASEMANA = '${et_diaSemana.text}', CAT_CL_GIRO = '${cb_giro.SelectedItem}', CAT_CL_NOMBRE = '${Subs.escapeSQLString(E_NOMBRE_C.text)}', CAT_CL_ATIENDE1 = '${et_atiende.text}', CAT_CL_CALLE = '${Subs.escapeSQLString(et_calle.text)}', CAT_CL_NOINT = '${et_NoInt.text}', CAT_CL_NOEXT = '${et_NoExt.text}', CAT_CL_CALLE1 = '${Subs.escapeSQLString(et_direccion.text)}', CAT_CL_CRUCE1 = '${E_ENTRE1.text}', CAT_CL_CALLE2 = '${E_ENTRE_2.text}', CAT_CL_CP = '${et_cp.text}', CAT_CL_COLONIA = '${et_colonia.text}', CAT_CL_MUNI = '${et_municipio.text}', CAT_CL_EDO = '${et_estado.text}', CAT_CL_ESTATUS = '${CLIENTE_ACTIVO}', gestion = 11, CAT_CL_FECHA_CAPTURA = '${sDate & " " & sTime}', CAT_CL_ENVIO_PENDIENTE = 1, LAT_CENSADOR = '${B4XPages.MainPage.lat_gps}', LON_CENSADOR = '${B4XPages.MainPage.lon_gps}', ESTATUS_ORIGINAL = '${cb_activo.tag}', CAMPOS_MODIFICADOS = '${Subs.list2string(camposModificados)}' where CAT_CL_CODIGO In (select cuenta from cuentaa)"$)
Log($"CAT_CL_CODIGO = '${la_cuenta.text}', CAT_CL_CEDIS = '${Subs.traeAlmacen}', CAT_CL_LAT = '${l_lat.text}', CAT_CL_LONG = '${l_lon.text}', CAT_CL_SECUENCIA = '${l_secuencia.text}', CAT_CL_RUTA = '${l_ruta.text}', CAT_CL_DIASEMANA = '${et_diaSemana.text}', CAT_CL_GIRO = '${cb_giro.SelectedItem}', CAT_CL_NOMBRE = '${E_NOMBRE_C.text}', CAT_CL_ATIENDE1 = '${et_atiende.text}', CAT_CL_CALLE = '${et_calle.text}', CAT_CL_NOINT = '${et_NoInt.text}', CAT_CL_NOEXT = '${et_NoExt.text}', CAT_CL_CALLE1 = '${et_direccion.text}', CAT_CL_CRUCE1 = '${E_ENTRE1.text}', CAT_CL_CALLE2 = '${E_ENTRE_2.text}', CAT_CL_CP = '${et_cp.text}', CAT_CL_COLONIA = '${et_colonia.text}', CAT_CL_MUNI = '${et_municipio.text}', CAT_CL_EDO = '${et_estado.text}', CAT_CL_ESTATUS = '${CLIENTE_ACTIVO}', gestion = 11"$)
' B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO NOVENTA (NV_CLIENTE, NV_FECHA, NV_USER, NV_MOTIVO, NV_COMM, NV_LAT, NV_LON) VALUES(?,?,?,?,?,?,?) ", Array As Object (clie_id, sDate & sTime, usuario, "CENSOS", CLIENTE_ACTIVO, l_lat.text, l_lon.text))
mandaPendientes
B4XPages.ShowPage("Clientes")
End Sub
Sub NUEVO_Click
B4XPages.ShowPage("NuevoCliente")
End Sub
Private Sub p_cliente_Click
'Nada aqui, solo esta para que los clics no se pasen hacia atras.
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")
Log($"Cliente PENDIENTE: ${c.RowCount}"$)
If c.RowCount > 0 Then
For i = 0 To c.RowCount - 1
c.Position = i
' Dim fechaCaptura As String = c.GetString("CAT_CL_FECHA_CAPTURA").As(String).SubString2(0,10)
Dim fechaCaptura As String = c.GetString("CAT_CL_FECHA_CAPTURA")
Log(fechaCaptura)
Dim cmd As DBCommand
Dim motivo As String = "VERIFICACION DE DATOS"
Dim comentario As String = c.GetString("ESTATUS_ORIGINAL")
If c.GetString("CAT_CL_CODIGO").As(String).SubString2(0,1) = "N" Then motivo = "VERIFICACION CLIENTE NUEVO PREVENTA"
If c.GetString("CAT_CL_CODIGO").As(String).SubString2(0,2) = "NC" Then motivo = "CLIENTE NUEVO CENSOS"
If c.GetString("CAT_CL_CODIGO").As(String).SubString2(0,1) = "N" Then comentario = ""
If c.GetString("CAT_CL_CODIGO").As(String).SubString2(0,2) = "NC" Then comentario = c.GetString("CAT_CL_CALLE1")
cmd.Initialize
cmd.Name = "guardaClienteGeocerca_MARDS"
cmd.Parameters = Array As Object(c.GetString("CAT_CL_CODIGO"), fechaCaptura, Subs.traeUsuarioDeBD, c.GetString("CAT_CL_LAT"), c.GetString("CAT_CL_LONG"), l_ruta.text, Subs.traeAlmacen, c.GetString("LAT_CENSADOR"), c.GetString("LON_CENSADOR"), motivo, comentario)
reqManager.ExecuteCommand(cmd, "guaradClienteGeocerca")
cmd.Initialize
cmd.Name = "sp_confirmaCliente"
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)
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}"$)
reqManager.ExecuteCommand(cmd , $"confirmaCliente_${c.GetString("CAT_CL_CODIGO")}"$)
cmd.Initialize
cmd.Name = "guardaClientesNuevosMods_MARDS"
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
Sub JobDone(Job As HttpJob)
Log(Job.Success)
If Job.Success = False Then
ToastMessageShow("Error: " & Job.ErrorMessage, True)
LogColor("Error: " & Job.ErrorMessage, Colors.red)
Else
LogColor("JobDone: '" & reqManager.HandleJob(Job).tag & "' - Registros: " & reqManager.HandleJob(Job).Rows.Size, Colors.Green) 'Mod por CHV - 211027
If Job.JobName = "DBRequest" Then
Dim resultado As DBResult = reqManager.HandleJob(Job)
If resultado.Tag = "confirmaCliente" Then
Subs.logJobDoneResultados(resultado)
End If
'Modificamos la bandera de pendiente en kmt_info
If resultado.Tag.As(String).IndexOf("confirmaCliente_") > -1 Then
Private cliente As String= resultado.Tag
cliente = cliente.SubString(cliente.IndexOf("_")+1)
' Log($"Cliente: ${cliente}"$)
B4XPages.MainPage.skmt.ExecNonQuery($"update kmt_info set CAT_CL_ENVIO_PENDIENTE = 0 where CAT_CL_CODIGO = '${cliente}'"$)
Subs.logJobDoneResultados(resultado)
End If
If resultado.Tag = "guaradClienteGeocerca" Then
Subs.logJobDoneResultados(resultado)
End If
End If
Job.Release
End If
End Sub
Private Sub b_cancelar_Click
et_abono.Text = ""
p_abono.Visible = False
ime.HideKeyboard
End Sub
Private Sub et_cp_TextChanged (Old As String, New As String)
' Log(desdeBD)
camposModificados.Add("CAT_CL_CP")
If Not(desdeBD) And New.Length = 5 Then
Private cc As Cursor = skmt.ExecQuery($"select estado, municipio, colonia from sepomex where codigo = '${et_cp.text}'"$)
' LogColor(cc.RowCount, Colors.Green)
If cc.RowCount > 0 Then
For x = 0 To cc.RowCount - 1
cc.Position = x
et_estado.Text = cc.GetString("ESTADO")
et_municipio.Text = cc.GetString("MUNICIPIO")
Next
End If
End If
desdeBD = False
End Sub
Private Sub et_cp_FocusChanged (HasFocus As Boolean)
et_cp_click
End Sub
Sub et_cp_click
lv_colonia.Visible = False
End Sub
Private Sub et_colonia_Click
Sender.As(EditText).InputType = 524288
If lv_colonia.Visible = False Then
lv_colonia.Visible = True
Else
lv_colonia.Visible = False
End If
End Sub
Private Sub et_colonia_FocusChanged (HasFocus As Boolean)
If HasFocus Then
Private cc As Cursor = skmt.ExecQuery($"select colonia from sepomex where codigo = '${et_cp.text}'"$)
lv_colonia.Clear
lv_colonia.BringToFront
Private label1 As Label
label1 = lv_colonia.SingleLineLayout.Label
label1.TextColor = Colors.White
label1.TextSize = 14
' Log(cc.RowCount)
If cc.RowCount > 0 Then
For i = 0 To cc.RowCount - 1
cc.Position = i
lv_colonia.AddSingleLine(cc.GetString("COLONIA"))
' Log(cc.GetString("COLONIA"))
Next
Else
lv_colonia.AddSingleLine("Código no encontrado.")
lv_colonia.AddSingleLine("Ingrese colonia manualmente.")
End If
lv_colonia.Visible = True
End If
End Sub
Private Sub lv_colonia_ItemClick (Position As Int, Value As Object)
lv_colonia.Visible = False
If Value <> "Código no encontrado." And Value <> "Ingrese colonia manualmente." Then
et_colonia.Text = Value
End If
End Sub
Sub et_diaSemana_Click
LogColor("Clic diasemana", Colors.Red)
Sender.As(EditText).InputType = 524288
If Not(lv_diaSemana.Visible) Then
lv_diaSemana.Visible = True
Else
Log("Si visible")
lv_diaSemana.Visible = False
End If
End Sub
Private Sub et_diaSemana_FocusChanged (HasFocus As Boolean)
If HasFocus And lv_diaSemana.Visible = False Then
' lv_diaSemana.Visible = True
lv_diaSemana.BringToFront
lv_diaSemana.Clear
Private label1 As Label
label1 = lv_diaSemana.SingleLineLayout.Label
label1.TextColor = Colors.White
label1.TextSize = 14
lv_diaSemana.AddSingleLine("LUNES")
lv_diaSemana.AddSingleLine("MARTES")
lv_diaSemana.AddSingleLine("MIERCOLES")
lv_diaSemana.AddSingleLine("JUEVES")
lv_diaSemana.AddSingleLine("VIERNES")
lv_diaSemana.AddSingleLine("SABADO")
lv_diaSemana.Visible = True
End If
If Not(HasFocus) And lv_diaSemana.Visible Then
lv_diaSemana.Visible = False
End If
End Sub
Private Sub lv_diaSemana_ItemClick (Position As Int, Value As Object)
lv_diaSemana.Visible = False
et_diaSemana.Text = Value
End Sub
Sub et_giro_Click
' If lv_giro.Visible Then
' lv_giro.Visible = False
' Else
' lv_giro.Visible = True
' End If
End Sub
Sub et_giro_FocusChanged (HasFocus As Boolean)
' If HasFocus Then
' Sender.As(EditText).InputType = 524288
' Private cc As Cursor = skmt.ExecQuery($"select * from cat_giros"$)
' lv_giro.Clear
' lv_giro.BringToFront
' Private label1 As Label
'' label1 = lv_giro.SingleLineLayout.Label
' label1.TextColor = Colors.White
' label1.TextSize = 14
' Log(cc.RowCount)
' If cc.RowCount > 0 Then
' For i = 0 To cc.RowCount - 1
' cc.Position = i
' label1.Tag = cc.GetString("id")
' lv_giro.AddSingleLine(cc.GetString("descripcion"))
' Log(cc.GetString("descripcion"))
' Next
' End If
' lv_giro.Visible = True
' Else
' lv_giro.Visible = False
' End If
End Sub
Private Sub lv_giro_ItemClick (Position As Int, Value As Object)
' lv_giro.Visible = False
et_giro.Text = Value
End Sub
Private Sub l_cp_LongClick
et_cp_TextChanged(et_cp.Text, et_cp.Text)
End Sub
Private Sub b_mapa2_Click
B4XPages.MainPage.mapa.Latitud = l_lat.text
B4XPages.MainPage.mapa.Longitud = l_lon.text
B4XPages.MainPage.mapa.NOMBRE_TIENDA = E_NOMBRE_C.text
' B4XPages.MainPage.mapa.gmap.Clear
B4XPages.ShowPage("mapa")
End Sub
Private Sub b_actCoords_Click
l_lat.Text = B4XPages.MainPage.lat_gps
l_lon.Text = B4XPages.MainPage.lon_gps
camposModificados.Add("CAT_CL_LAT")
camposModificados.Add("CAT_CL_LONG")
ToastMessageShow("¡Coordenadas actualizadas!", False)
End Sub
Private Sub cb_activo_SelectedIndexChanged (Index As Int)
If Index = 0 Then
CLIENTE_ACTIVO = "Activo"
else if Index = 1 Then
CLIENTE_ACTIVO = "Inactivo"
Else
CLIENTE_ACTIVO = "Cerrado Permanente"
End If
Log(CLIENTE_ACTIVO)
camposModificados.Add("CAT_CL_ESTATUS")
End Sub
Private Sub cb_giro_SelectedIndexChanged (Index As Int)
camposModificados.Add("CAT_CL_GIRO")
End Sub
Private Sub et_atiende_TextChanged (Old As String, New As String)
camposModificados.Add("CAT_CL_ATIENDE1")
End Sub
Private Sub E_ENTRE_2_TextChanged (Old As String, New As String)
camposModificados.Add("CAT_CL_CALLE2")
End Sub
Private Sub E_ENTRE1_TextChanged (Old As String, New As String)
camposModificados.Add("CAT_CL_CRUCE1")
End Sub
Private Sub et_NoInt_TextChanged (Old As String, New As String)
camposModificados.Add("CAT_CL_NOINT")
End Sub
Private Sub et_NoExt_TextChanged (Old As String, New As String)
camposModificados.Add("CAT_CL_NOEXT")
End Sub
Private Sub et_calle_TextChanged (Old As String, New As String)
camposModificados.Add("CAT_CL_CALLE")
End Sub
Private Sub et_direccion_TextChanged (Old As String, New As String)
camposModificados.Add("CAT_CL_CALLE1")
End Sub
Private Sub et_colonia_TextChanged (Old As String, New As String)
camposModificados.Add("CAT_CL_COLONIA")
End Sub
Private Sub et_municipio_TextChanged (Old As String, New As String)
camposModificados.Add("CAT_CL_MUNI")
End Sub
Private Sub et_estado_TextChanged (Old As String, New As String)
camposModificados.Add("CAT_CL_EDO")
End Sub
Private Sub E_NOMBRE_C_TextChanged (Old As String, New As String)
camposModificados.Add("CAT_CL_NOMBRE")
End Sub
Private Sub et_diaSemana_TextChanged (Old As String, New As String)
camposModificados.Add("CAT_CL_DIAS_VISITA")
End Sub