3/1/2023 - Se agregaron campos nuevos y scroll a cliente

- Se agregó el telefono y correo a clienets nuevos y clientes viejos.
- Se agregó un scroll a cliente para que se vean todos los campos!
This commit is contained in:
2024-01-03 16:21:23 -06:00
parent 2a3a701d3c
commit 05b32b3e43
10 changed files with 242 additions and 78 deletions

View File

@@ -132,7 +132,7 @@ Sub Class_Globals
Private l_secuencia As Label Private l_secuencia As Label
Private l_ruta As Label Private l_ruta As Label
Private et_diaSemana As EditText Private et_diaSemana As EditText
Private et_giro As EditText ' Private et_giro As EditText
Private lv_diaSemana As ListView Private lv_diaSemana As ListView
Private et_calle As EditText Private et_calle As EditText
Private et_NoExt As EditText Private et_NoExt As EditText
@@ -160,6 +160,11 @@ Sub Class_Globals
Dim clienteAnt As String = "" Dim clienteAnt As String = ""
Private l_cuestionario As Label Private l_cuestionario As Label
Private b_mapa2 As Button Private b_mapa2 As Button
Private l_tituloCuestionaro As Label
Private cb_diaSemana As B4XComboBox
Dim diasDeLaSemana As List = Array As String("LUNES", "MARTES", "MIERCOLES", "JUEVES", "VIERNES", "SABADO")
Private et_telefono As EditText
Private et_email As EditText
End Sub End Sub
'You can add more parameters here. 'You can add more parameters here.
@@ -206,6 +211,7 @@ Sub B4XPage_Appear
Wait For B4XPage_PermissionResult (Permission As String, resultC As Boolean) Wait For B4XPage_PermissionResult (Permission As String, resultC As Boolean)
sv_clientesDatos.Panel.Height = p_cliente.Height sv_clientesDatos.Panel.Height = p_cliente.Height
l_cuestionario.Visible = False l_cuestionario.Visible = False
l_tituloCuestionaro.Visible = False
reqManager.Initialize(Me, Starter.server) reqManager.Initialize(Me, Starter.server)
lv_colonia.Visible = False lv_colonia.Visible = False
Timer2.Initialize("Timer2", Interval * 1) Timer2.Initialize("Timer2", Interval * 1)
@@ -225,7 +231,7 @@ Sub B4XPage_Appear
c.Position=0 c.Position=0
la_cuenta.Text = c.GetString("CAT_CL_CODIGO") la_cuenta.Text = c.GetString("CAT_CL_CODIGO")
l_ruta.Text = c.GetString("CAT_CL_RUTA") l_ruta.Text = c.GetString("CAT_CL_RUTA")
et_giro.Text = c.GetString("CAT_CL_GIRO") ' et_giro.Text = c.GetString("CAT_CL_GIRO")
et_diaSemana.Text = c.GetString("CAT_CL_DIASEMANA") et_diaSemana.Text = c.GetString("CAT_CL_DIASEMANA")
l_secuencia.text = c.GetString("CAT_CL_SECUENCIA") l_secuencia.text = c.GetString("CAT_CL_SECUENCIA")
la_cuenta.Text = c.GetString("CAT_CL_CODIGO") la_cuenta.Text = c.GetString("CAT_CL_CODIGO")
@@ -233,6 +239,8 @@ Sub B4XPage_Appear
et_direccion.Text = c.GetString("CAT_CL_CALLE1") et_direccion.Text = c.GetString("CAT_CL_CALLE1")
et_colonia.Text = "" et_colonia.Text = ""
et_colonia.Text = c.GetString("CAT_CL_COLONIA") et_colonia.Text = c.GetString("CAT_CL_COLONIA")
et_telefono.Text = c.GetString("CAT_CL_TELEFONO")
et_email.Text = c.GetString("CAT_CL_EMAIL")
et_estado.Text = c.GetString("CAT_CL_EDO") et_estado.Text = c.GetString("CAT_CL_EDO")
desdeBD = True desdeBD = True
et_cp.Text = c.GetString("CAT_CL_CP") et_cp.Text = c.GetString("CAT_CL_CP")
@@ -261,21 +269,15 @@ Sub B4XPage_Appear
If cuest.RowCount > 0 Then If cuest.RowCount > 0 Then
Private cs As CSBuilder Private cs As CSBuilder
cs.Initialize cs.Initialize
Private cuestText As String
For i = 0 To cuest.RowCount - 1 For i = 0 To cuest.RowCount - 1
cuest.Position = i cuest.Position = i
' If i = 0 Then cs.color(Colors.black).Append(cuest.GetString("Q_PREGUNTA")).popall.Append(CRLF).Append(" " & cuest.GetString("Q_RESPUESTA")).Append(CRLF).popall
cs.color(Colors.black).Append(cuest.GetString("Q_PREGUNTA")).popall.Append(CRLF).Append(" " & cuest.GetString("Q_RESPUESTA")).Append(CRLF).popall
' Else
' cuestText = cuestText & cs.bold.Append(CRLF).Append(cuest.GetString("Q_PREGUNTA")).pop.Append(CRLF).Append(cuest.GetString("Q_RESPUESTA")).popall
' End If
Next Next
l_cuestionario.Text = cs l_cuestionario.Text = cs
l_cuestionario.Visible = True l_cuestionario.Visible = True
l_tituloCuestionaro.Visible = True
End If End If
l_cuestionario.Height = su.MeasureMultilineTextHeight(l_cuestionario, l_cuestionario.Text) l_cuestionario.Height = su.MeasureMultilineTextHeight(l_cuestionario, l_cuestionario.Text)
ajustaTamano ajustaTamano
' Tracker.FLP.Connect ' Tracker.FLP.Connect
If Tracker.FLP.IsInitialized And Tracker.FLP.GetLastKnownLocation.IsInitialized Then 'Si tenemos "UltimaUbicaccionConocida" la usamos. If Tracker.FLP.IsInitialized And Tracker.FLP.GetLastKnownLocation.IsInitialized Then 'Si tenemos "UltimaUbicaccionConocida" la usamos.
@@ -304,8 +306,10 @@ Sub B4XPage_Appear
End If End If
Dim losGiros As List = Subs.traeGirosLista Dim losGiros As List = Subs.traeGirosLista
cb_giro.SetItems(losGiros) cb_giro.SetItems(losGiros)
cb_giro.SelectedIndex = losGiros.IndexOf(c.GetString("CAT_CL_GIRO")) cb_giro.SelectedIndex = losGiros.IndexOf(c.GetString("CAT_CL_GIRO").As(String).ToUpperCase)
cb_giro.mBase.Width = et_diaSemana.Width cb_giro.mBase.Width = et_diaSemana.Width
cb_diaSemana.SetItems(diasDeLaSemana)
cb_diaSemana.SelectedIndex = diasDeLaSemana.IndexOf(c.GetString("CAT_CL_DIASEMANA"))
' Log("|"&c.GetString("CAT_CL_GIRO")&"|") ' Log("|"&c.GetString("CAT_CL_GIRO")&"|")
c.Close c.Close
camposModificados.Clear camposModificados.Clear
@@ -314,9 +318,12 @@ Sub B4XPage_Appear
'Revisamos si el cliente actual es diferente del anterior y si es diferente ponemos encuestaIniciada en VERDADERO. 'Revisamos si el cliente actual es diferente del anterior y si es diferente ponemos encuestaIniciada en VERDADERO.
If clienteAnt <> Subs.traeCliente Then q.encuestaIniciada = False If clienteAnt <> Subs.traeCliente Then q.encuestaIniciada = False
clienteAnt = Subs.traeCliente clienteAnt = Subs.traeCliente
' Log("CON ENCUESTA: " & q.clienteConEncuesta(Subs.traeCliente)) ' Log("CON ENCUESTA: " & q.clienteConCuestionario(Subs.traeCliente))
' Log("INICIADA: " & q.encuestaIniciada) ' Log("INICIADA: " & q.encuestaIniciada)
If Not(q.encuestaIniciada) And Not(q.clienteConEncuesta(Subs.traeCliente)) Then q.agregaPregunta("1", "¿Se puede acceder al negocio o está enrejado?", Array As String("No, está enrejado o no se tiene acceso", "Si se pude acceder")) l_cuestionario.Height = su.MeasureMultilineTextHeight(l_cuestionario, l_cuestionario.Text)
ajustaTamano
If Not(q.encuestaIniciada) And Not(q.clienteConCuestionario(Subs.traeCliente)) Then q.agregaPregunta("1", "¿Se puede acceder al negocio o está enrejado?", Array As String("No, está enrejado o no se tiene acceso", "Si se pude acceder"))
End Sub End Sub
Private Sub Timer2_Tick Private Sub Timer2_Tick
@@ -375,8 +382,8 @@ Private Sub b_guardaCambios_Click
Log(camposModificados) Log(camposModificados)
If CLIENTE_ACTIVO = "Inactivo" Or CLIENTE_ACTIVO = "Cerrado Permanente" Then l_secuencia.Text = "0" 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" 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)"$) 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 = '${cb_diaSemana.SelectedItem}', 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}', CAT_CL_TELEFONO = '${et_telefono.Text}', CAT_CL_EMAIL = '${et_email.Text}', 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"$) 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 = '${cb_diaSemana.SelectedItem}', 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)) ' 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 mandaPendientes
B4XPages.ShowPage("Clientes") B4XPages.ShowPage("Clientes")
@@ -415,9 +422,9 @@ Sub mandaPendientes
reqManager.ExecuteCommand(cmd, "guaradClienteGeocerca") reqManager.ExecuteCommand(cmd, "guaradClienteGeocerca")
cmd.Initialize cmd.Initialize
cmd.Name = "sp_confirmaCliente" cmd.Name = "sp_confirmaCliente2"
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) cmd.Parameters = Array As Object(c.GetString("CAT_CL_CODIGO"), Subs.traeAlmacen, c.GetString("CAT_CL_LAT"), c.GetString("CAT_CL_LONG"), c.GetString("CAT_CL_SECUENCIA"), c.GetString("CAT_CL_RUTA"), c.GetString("CAT_CL_DIASEMANA"), c.GetString("CAT_CL_GIRO"), Subs.escapeSQLString(c.GetString("CAT_CL_NOMBRE")), c.GetString("CAT_CL_ATIENDE1"), c.GetString("CAT_CL_CALLE"), c.GetString("CAT_CL_NOINT"), c.GetString("CAT_CL_NOEXT"), Subs.escapeSQLString(c.GetString("CAT_CL_CALLE1")), c.GetString("CAT_CL_CRUCE1"), c.GetString("CAT_CL_CALLE2"), c.GetString("CAT_CL_CP"), c.GetString("CAT_CL_COLONIA"), c.GetString("CAT_CL_MUNI"), c.GetString("CAT_CL_EDO"), c.GetString("CAT_CL_ESTATUS"), c.GetString("CAT_CL_FECHA_CAPTURA"), sDate, Subs.traeUsuarioDeBD, c.GetString("CAT_CL_TELEFONO"), c.GetString("CAT_CL_EMAIL"))
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}"$) Log($"${c.GetString("CAT_CL_CODIGO")}, ${Subs.traeAlmacen}, ${c.GetString("CAT_CL_LAT")}, ${c.GetString("CAT_CL_LONG")}, ${c.GetString("CAT_CL_SECUENCIA")}, ${c.GetString("CAT_CL_RUTA")}, ${c.GetString("CAT_CL_DIASEMANA")}, ${c.GetString("CAT_CL_GIRO")}, ${Subs.escapeSQLString(c.GetString("CAT_CL_NOMBRE"))}, ${c.GetString("CAT_CL_ATIENDE1")}, ${c.GetString("CAT_CL_CALLE")}, ${c.GetString("CAT_CL_NOINT")}, ${c.GetString("CAT_CL_NOEXT")}, ${c.GetString("CAT_CL_CALLE1")}, ${c.GetString("CAT_CL_CRUCE1")}, ${c.GetString("CAT_CL_CALLE2")}, ${c.GetString("CAT_CL_CP")}, ${c.GetString("CAT_CL_COLONIA")}, ${c.GetString("CAT_CL_MUNI")}, ${c.GetString("CAT_CL_EDO")}, ${c.GetString("CAT_CL_ESTATUS")}, ${c.GetString("CAT_CL_FECHA_CAPTURA")}, ${sDate}, ${Subs.traeUsuarioDeBD}, ${c.GetString("CAT_CL_TELEFONO")}, ${c.GetString("CAT_CL_EMAIL")}"$)
reqManager.ExecuteCommand(cmd , $"confirmaCliente_${c.GetString("CAT_CL_CODIGO")}"$) reqManager.ExecuteCommand(cmd , $"confirmaCliente_${c.GetString("CAT_CL_CODIGO")}"$)
cmd.Initialize cmd.Initialize
@@ -602,7 +609,7 @@ End Sub
Private Sub lv_giro_ItemClick (Position As Int, Value As Object) Private Sub lv_giro_ItemClick (Position As Int, Value As Object)
' lv_giro.Visible = False ' lv_giro.Visible = False
et_giro.Text = Value ' et_giro.Text = Value
End Sub End Sub
Private Sub l_cp_LongClick Private Sub l_cp_LongClick
@@ -689,6 +696,10 @@ Private Sub et_diaSemana_TextChanged (Old As String, New As String)
camposModificados.Add("CAT_CL_DIAS_VISITA") camposModificados.Add("CAT_CL_DIAS_VISITA")
End Sub End Sub
Private Sub cb_diaSemana_SelectedIndexChanged (Index As Int)
camposModificados.Add("CAT_CL_DIAS_VISITA")
End Sub
Sub q_preguntaContestada(m As Map) Sub q_preguntaContestada(m As Map)
' Recibimos el id de la pregunta, el id de la respuesta, el texto de la respuesta y el objeto del panelSombra para poder ocultarlo. ' Recibimos el id de la pregunta, el id de la respuesta, el texto de la respuesta y el objeto del panelSombra para poder ocultarlo.
Log(m) Log(m)
@@ -769,17 +780,19 @@ Sub ajustaTamano
' Log("xx: " & sv_clientesDatos.Panel.Height) ' Log("xx: " & sv_clientesDatos.Panel.Height)
End Sub End Sub
Private Sub Label9_LongClick 'Private Sub Label9_LongClick
' Log(b_guardaCambios.Top) '' Log(b_guardaCambios.Top)
If l_cuestionario.Visible Then ' If l_cuestionario.Visible Then
l_cuestionario.Visible = False ' l_cuestionario.Visible = False
' b_guardaCambios.Top = b_mapa2.Top + b_mapa2.Height + 20 ' l_tituloCuestionaro.Visible = False
' Log($"${b_mapa2.Top} + ${b_mapa2.Height} + 20dip"$) '' b_guardaCambios.Top = b_mapa2.Top + b_mapa2.Height + 20
Else '' Log($"${b_mapa2.Top} + ${b_mapa2.Height} + 20dip"$)
l_cuestionario.Visible = True ' Else
' b_guardaCambios.Top = l_cuestionario.Top + l_cuestionario.Height + 20 ' l_cuestionario.Visible = True
' Log($"${l_cuestionario.Top} + ${l_cuestionario.Height} + 20"$) ' l_tituloCuestionaro.Visible = True
End If '' b_guardaCambios.Top = l_cuestionario.Top + l_cuestionario.Height + 20
' Log(b_guardaCambios.Top) '' Log($"${l_cuestionario.Top} + ${l_cuestionario.Height} + 20"$)
ajustaTamano ' End If
End Sub '' Log(b_guardaCambios.Top)
' ajustaTamano
'End Sub

View File

@@ -139,7 +139,7 @@ Private Sub bAceptarPregunta_Click
End Sub End Sub
'Regresa verdadero si el cliente dado tiene cuestionario contestado. 'Regresa verdadero si el cliente dado tiene cuestionario contestado.
Sub clienteConEncuesta(idCliente As String) As Boolean 'ignore Sub clienteConCuestionario(idCliente As String) As Boolean 'ignore
Private r As Boolean = False Private r As Boolean = False
Private c As Cursor = db.ExecQuery($"select count(*) as q from CUESTIONARIO where Q_IDCLIENTE = '${idCliente}'"$) Private c As Cursor = db.ExecQuery($"select count(*) as q from CUESTIONARIO where Q_IDCLIENTE = '${idCliente}'"$)
c.Position = 0 c.Position = 0

View File

@@ -54,6 +54,13 @@ Sub Class_Globals
Private et_atiende As EditText Private et_atiende As EditText
Private et_telefono As EditText Private et_telefono As EditText
Private et_email As EditText Private et_email As EditText
Private sv_nuevoClienteDatos As ScrollView
Private l_tituloCuestionaro As Label
Private l_cuestionario As Label
Dim q As C_Cuestionario
Dim su As StringUtils
Dim clienteAnt As String = ""
dim cuestionarioTexto as string
End Sub End Sub
'You can add more parameters here. 'You can add more parameters here.
@@ -70,20 +77,39 @@ Private Sub B4XPage_Created (Root1 As B4XView)
If File.Exists(ruta, "kmt.db") = False Then If File.Exists(ruta, "kmt.db") = False Then
File.Copy(File.DirAssets, "kmt.db", ruta, "kmt.db") File.Copy(File.DirAssets, "kmt.db", ruta, "kmt.db")
End If End If
sv_nuevoClienteDatos.Width = Root.Width
sv_nuevoClienteDatos.Height = Root.Height
sv_nuevoClienteDatos.Panel.LoadLayout("nuevoClienteDatos")
' Subs.centraBoton(p_botones, p_nuevoCliente.Width)
' skmt.Initialize(ruta,"kmt.db", True) ' skmt.Initialize(ruta,"kmt.db", True)
' p_camara.Height = Root.Height ' p_camara.Height = Root.Height
' p_camara.Width = Root.Width ' p_camara.Width = Root.Width
q.Initialize(Me, "q", Root, B4XPages.MainPage.skmt)
End Sub End Sub
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. 'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
Sub B4XPage_Appear Sub B4XPage_Appear
camposModificados.Initialize camposModificados.Initialize
l_cuestionario.Visible = False
l_tituloCuestionaro.Visible = False
et_nombre.Text = ""
et_direccion.Text = ""
et_atiende.Text = ""
et_telefono.Text = ""
et_email.Text = ""
sTime=DateTime.Time(DateTime.Now)
no_cliente= "NC" & sTime & no_ruta
Log(no_cliente)
Log($"CargarCliente: ${cargarCliente}"$)
reqManager.Initialize(Me, Starter.server) reqManager.Initialize(Me, Starter.server)
If Not(Starter.gps.GPSEnabled) Then If Not(Starter.gps.GPSEnabled) Then
ToastMessageShow("Es necesario tener el GPS encendido", True) ToastMessageShow("Es necesario tener el GPS encendido", True)
StartActivity(Starter.gps.LocationSettingsIntent) StartActivity(Starter.gps.LocationSettingsIntent)
End If End If
' p_botones.Top = l_cuestionario.top + l_cuestionario.Height + 20dip
p_nuevoCliente.Height = p_botones.Top + p_botones.Height + 20dip
sv_nuevoClienteDatos.Panel.Height = p_nuevoCliente.Height
Dim losGiros As List = Subs.traeGirosLista Dim losGiros As List = Subs.traeGirosLista
cb_giro.SetItems(losGiros) cb_giro.SetItems(losGiros)
B_FOTO.Enabled = True B_FOTO.Enabled = True
@@ -101,18 +127,18 @@ Sub B4XPage_Appear
elOtroCliente = cc.GetString("CAT_CL_CODIGO") elOtroCliente = cc.GetString("CAT_CL_CODIGO")
et_nombre.Text = cc.GetString("CAT_CL_NOMBRE") et_nombre.Text = cc.GetString("CAT_CL_NOMBRE")
et_direccion.Text = cc.GetString("CAT_CL_CALLE1") et_direccion.Text = cc.GetString("CAT_CL_CALLE1")
et_nombre.Text = cc.GetString("CAT_CL_NOMBRE") et_atiende.Text = cc.GetString("CAT_CL_NOMBRE")
' B_FOTO.Enabled = False et_telefono.Text = cc.GetString("CAT_CL_TELEFONO")
et_email.Text = cc.GetString("CAT_CL_EMAIL")
Log($"${losGiros.IndexOf(cc.GetString("CAT_CL_GIRO"))}, ${losGiros}, ${cc.GetString("CAT_CL_GIRO")}"$) Log($"${losGiros.IndexOf(cc.GetString("CAT_CL_GIRO"))}, ${losGiros}, ${cc.GetString("CAT_CL_GIRO")}"$)
cb_giro.SelectedIndex = losGiros.IndexOf(cc.GetString("CAT_CL_GIRO")) cb_giro.SelectedIndex = losGiros.IndexOf(cc.GetString("CAT_CL_GIRO"))
End If End If
End If End If
b_ubicacion.Text = "Buscando ubicación ..." b_ubicacion.Text = "Buscando ubicación ..."
b_guardar.Visible = False b_guardar.Visible = False
Subs.panelVisible(p_nuevoCliente, 0, 0) ' Subs.panelVisible(p_nuevoCliente, 0, 0)
p_nuevoCliente.Height = Root.Height ' p_nuevoCliente.Height = Root.Height
p_nuevoCliente.Width = Root.Width ' p_nuevoCliente.Width = Root.Width
' Subs.centraEtiqueta(Label1, Root.Width) ' Subs.centraEtiqueta(Label1, Root.Width)
' Subs.centraEtiqueta(l_sinUbicacion, Root.Width) ' Subs.centraEtiqueta(l_sinUbicacion, Root.Width)
Subs.centraPanel(p_botones, Root.Width) Subs.centraPanel(p_botones, Root.Width)
@@ -128,7 +154,37 @@ Sub B4XPage_Appear
' cb_giro. ' cb_giro.
' l_sinUbicacion.Visible = True ' l_sinUbicacion.Visible = True
CallSubDelayed(Tracker, "StartFLPSmall") CallSubDelayed(Tracker, "StartFLPSmall")
Log($"${B4XPages.MainPage.principal.l_dia.text}, ${Starter.dia_semana}"$) ' Log($"${B4XPages.MainPage.principal.l_dia.text}, ${Starter.dia_semana}"$)
'Revisamos si el cliente actual es diferente del anterior y si es diferente ponemos encuestaIniciada en VERDADERO.
If clienteAnt <> no_cliente Then q.encuestaIniciada = False
clienteAnt = no_cliente
' Log("CON ENCUESTA: " & q.clienteConCuestionario(Subs.traeCliente))
' Log("INICIADA: " & q.encuestaIniciada)
If cargarCliente Then
Log(">>>>>> " & no_cliente)
If l_cuestionario.Visible Then
p_botones.Top = l_cuestionario.Top + l_cuestionario.Height + 20dip
Else
p_botones.Top = l_tituloCuestionaro.Top + 20dip
End If
Private cuest As Cursor = B4XPages.MainPage.skmt.ExecQuery($"select * from cuestionario where Q_IDCLIENTE = '${Subs.traeCliente}'"$)
If cuest.RowCount > 0 Then
Log("HAY CUESTIONARIO")
Private cs As CSBuilder
cs.Initialize
For i = 0 To cuest.RowCount - 1
cuest.Position = i
cs.color(Colors.black).Append(cuest.GetString("Q_PREGUNTA")).popall.Append(CRLF).Append(" " & cuest.GetString("Q_RESPUESTA")).Append(CRLF).popall
Next
l_cuestionario.Text = cs
l_cuestionario.Visible = True
l_tituloCuestionaro.Visible = True
l_cuestionario.Height = su.MeasureMultilineTextHeight(l_cuestionario, l_cuestionario.Text)
End If
End If
Log($"${q.encuestaIniciada} | ${cargarCliente}"$)
If Not(q.encuestaIniciada) And Not(cargarCliente) Then q.agregaPregunta("1", "¿Se puede acceder al negocio o está enrejado?", Array As String("No, está enrejado o no se tiene acceso", "Si se pude acceder"))
ajustaTamano
End Sub End Sub
Sub GPS_LocationChanged (Location1 As Location) Sub GPS_LocationChanged (Location1 As Location)
@@ -165,23 +221,22 @@ Sub b_guardar_Click
else if B4XPages.MainPage.principal.l_ruta.Text = "0" Then else if B4XPages.MainPage.principal.l_ruta.Text = "0" Then
ToastMessageShow("Es necesario cargar una ruta.", False) ToastMessageShow("Es necesario cargar una ruta.", False)
Else Else
Log("entramos a b_guardar") ' Log("entramos a b_guardar")
Log($"CargarCliente: ${cargarCliente}"$) Log($"CargarCliente: ${cargarCliente}"$)
DateTime.DateFormat = "dd/MM/yyyy" DateTime.DateFormat = "dd/MM/yyyy"
DateTime.Timeformat = "HHmmss" DateTime.Timeformat = "HHmmss"
sDate=DateTime.Date(DateTime.Now) sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now) sTime=DateTime.Time(DateTime.Now)
Log($" //////////// Date: ${sDate} - Time: ${sTime} ////////////////"$) ' Log($" //////////// Date: ${sDate} - Time: ${sTime} ////////////////"$)
'Aqui creamos manualmete la hora con el separador de los 2 puntos porque en algunas versiones de android no respeta el formato "Timeformat = 'HH:mm:ss'" 'Aqui creamos manualmete la hora con el separador de los 2 puntos porque en algunas versiones de android no respeta el formato "Timeformat = 'HH:mm:ss'"
Private hora As String = sTime.SubString2(0,2) Private hora As String = sTime.SubString2(0,2)
Private mins As String = sTime.SubString2(2,4) Private mins As String = sTime.SubString2(2,4)
Private segs As String = sTime.SubString(4) Private segs As String = sTime.SubString(4)
sTime = hora&":"&mins&":"&segs sTime = hora&":"&mins&":"&segs
Log("////////////// sTime: "&sTime&" ////////////////") ' Log("////////////// sTime: "&sTime&" ////////////////")
c = B4XPages.MainPage.skmt.ExecQuery("select CAT_CL_RUTA FROM kmt_info") c = B4XPages.MainPage.skmt.ExecQuery("select CAT_CL_RUTA FROM kmt_info")
c.Position=0 c.Position=0
no_ruta= c.GetString("CAT_CL_RUTA") no_ruta= c.GetString("CAT_CL_RUTA")
no_cliente= "NC" & sTime & no_ruta
If cargarCliente Then no_cliente = elOtroCliente If cargarCliente Then no_cliente = elOtroCliente
Log("++ ++ no_cliente = "&no_cliente) Log("++ ++ no_cliente = "&no_cliente)
c.Close c.Close
@@ -194,7 +249,7 @@ Sub b_guardar_Click
CAT_CL_LAT = '${B4XPages.MainPage.lat_gps}', CAT_CL_LONG = '${B4XPages.MainPage.lon_gps}', CAT_CL_GIRO = '${cb_giro.SelectedItem}', CAT_CL_NOMBRE = '${Subs.escapeSQLString(et_nombre.Text)}', CAT_CL_CALLE1 = '${Subs.escapeSQLString(et_direccion.text)}', CAT_CL_ENVIO_PENDIENTE = 1, CAT_CL_LAT = '${B4XPages.MainPage.lat_gps}', CAT_CL_LONG = '${B4XPages.MainPage.lon_gps}', CAT_CL_GIRO = '${cb_giro.SelectedItem}', CAT_CL_NOMBRE = '${Subs.escapeSQLString(et_nombre.Text)}', CAT_CL_CALLE1 = '${Subs.escapeSQLString(et_direccion.text)}', CAT_CL_ENVIO_PENDIENTE = 1,
LAT_CENSADOR = '${B4XPages.MainPage.lat_gps}', LON_CENSADOR = '${B4XPages.MainPage.lon_gps}', CAMPOS_MODIFICADOS = '${Subs.list2string(camposModificados)}' where CAT_CL_CODIGO In (select cuenta from cuentaa)"$) LAT_CENSADOR = '${B4XPages.MainPage.lat_gps}', LON_CENSADOR = '${B4XPages.MainPage.lon_gps}', CAMPOS_MODIFICADOS = '${Subs.list2string(camposModificados)}' where CAT_CL_CODIGO In (select cuenta from cuentaa)"$)
Else Else
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO kmt_info(CAT_CL_CODIGO, CAT_CL_RUTA, CAT_CL_NOMBRE, CAT_CL_CALLE1, CAT_CL_LAT, CAT_CL_LONG, CAT_CL_FECHA_CAPTURA, CAT_CL_DIAS_VISITA, LAT_CENSADOR, LON_CENSADOR, CAT_CL_ENVIO_PENDIENTE, CAT_CL_TELEFONO, CAT_CL_ATIENDE1, CAT_CL_EMAIL) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, 1, ?, ?, ?) ", Array As Object (no_cliente, no_ruta, et_nombre.Text, et_direccion.Text, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, DateNC, Starter.dia_semana, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, et_atiende.Text, et_telefono.Text, et_email.Text)) B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO kmt_info(CAT_CL_CODIGO, CAT_CL_RUTA, CAT_CL_NOMBRE, CAT_CL_CALLE1, CAT_CL_LAT, CAT_CL_LONG, CAT_CL_FECHA_CAPTURA, CAT_CL_DIAS_VISITA, LAT_CENSADOR, LON_CENSADOR, CAT_CL_ENVIO_PENDIENTE, CAT_CL_TELEFONO, CAT_CL_ATIENDE1, CAT_CL_EMAIL, CAT_CL_GIRO) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, 1, ?, ?, ?, ?) ", Array As Object (no_cliente, no_ruta, et_nombre.Text, et_direccion.Text, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, DateNC, Starter.dia_semana, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, et_atiende.Text, et_telefono.Text, et_email.Text, cb_giro.SelectedItem))
End If End If
B4XPages.MainPage.skmt.ExecNonQuery("delete from CUENTAA") B4XPages.MainPage.skmt.ExecNonQuery("delete from CUENTAA")
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object(no_cliente)) B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object(no_cliente))
@@ -391,17 +446,27 @@ Sub mandaPendientesNuevosClientes
If c.RowCount > 0 Then If c.RowCount > 0 Then
For i = 0 To c.RowCount - 1 For i = 0 To c.RowCount - 1
c.Position = i c.Position = i
Log(c.GetString("NOM_FOTO")) cuestionarioTexto = ""
Private cuest As Cursor = B4XPages.MainPage.skmt.ExecQuery($"select * from cuestionario where Q_IDCLIENTE = '${c.GetString("CAT_CL_CODIGO")}'"$)
If cuest.RowCount > 0 Then
cuest.Position = 0
cuestionarioTexto = cuest.GetString("Q_FECHA")
For cu = 0 To cuest.RowCount - 1
cuestionarioTexto = $"${cuestionarioTexto}|${cuest.GetString("Q_IDPREGUNTA")}|${cuest.GetString("Q_PREGUNTA")}|${cuest.GetString("Q_IDRESPUESTA")}|${cuest.GetString("Q_RESPUESTA")}"$
Next
End If
' Log(c.GetString("NOM_FOTO"))
If c.GetString("NOM_FOTO") <> Null And c.GetString("NOM_FOTO") <> "" And c.GetString("NOM_FOTO") <> "null" Then If c.GetString("NOM_FOTO") <> Null And c.GetString("NOM_FOTO") <> "" And c.GetString("NOM_FOTO") <> "null" Then
Log(File.Exists(Dirp&Dir&Dir2,c.GetString("NOM_FOTO"))) ' Log(File.Exists(Dirp&Dir&Dir2,c.GetString("NOM_FOTO")))
Log($"${Dirp&Dir&Dir2},${c.GetString("NOM_FOTO")}"$) ' Log($"${Dirp&Dir&Dir2},${c.GetString("NOM_FOTO")}"$)
fotox = Null fotox = Null
If File.Exists(Dirp&Dir&Dir2,c.GetString("NOM_FOTO")) Then fotox = Bit.InputStreamToBytes(File.OpenInput(Dirp&Dir&Dir2,c.GetString("NOM_FOTO"))) If File.Exists(Dirp&Dir&Dir2,c.GetString("NOM_FOTO")) Then fotox = Bit.InputStreamToBytes(File.OpenInput(Dirp&Dir&Dir2,c.GetString("NOM_FOTO")))
Dim cmd As DBCommand Dim cmd As DBCommand
cmd.Initialize cmd.Initialize
cmd.Name = "guardaClienteNuevo_MARDS" cmd.Name = "guardaClienteNuevo2_MARDS"
' Log(">>>>>>> TMP_CLIENTES_CENSOS")
' TMP_ALMACENID, TMP_RUTA, TMP_USUARIO, TMP_ID_CLIENTE, TMP_NOMBRE, TMP_DOMICILIO, TMP_FECHA_CAPTURA_MOVIL, TMP_FECHA_SINCRONIZACION, TMP_LATITUD, TMP_LONGITUD ' TMP_ALMACENID, TMP_RUTA, TMP_USUARIO, TMP_ID_CLIENTE, TMP_NOMBRE, TMP_DOMICILIO, TMP_FECHA_CAPTURA_MOVIL, TMP_FECHA_SINCRONIZACION, TMP_LATITUD, TMP_LONGITUD
cmd.Parameters = Array As Object(Subs.traeAlmacen, c.GetString("CAT_CL_RUTA"), Subs.traeUsuarioDeBD, c.GetString("CAT_CL_CODIGO"), c.GetString("CAT_CL_NOMBRE"), c.GetString("CAT_CL_CALLE1"), c.GetString("CAT_CL_FECHA_CAPTURA"), sDateP, c.GetString("CAT_CL_LAT"), c.GetString("CAT_CL_LONG"), fotox, elGiro, Starter.dia_semana) cmd.Parameters = Array As Object(Subs.traeAlmacen, c.GetString("CAT_CL_RUTA"), Subs.traeUsuarioDeBD, c.GetString("CAT_CL_CODIGO"), c.GetString("CAT_CL_NOMBRE"), c.GetString("CAT_CL_CALLE1"), c.GetString("CAT_CL_FECHA_CAPTURA"), sDateP, c.GetString("CAT_CL_LAT"), c.GetString("CAT_CL_LONG"), fotox, elGiro, Starter.dia_semana, c.GetString("CAT_CL_TELEFONO"), c.GetString("CAT_CL_EMAIL"), cuestionarioTexto)
' Log($"${c.GetString("CAT_CL_CODIGO")}, ${Subs.traeAlmacen}, ${c.GetString("CAT_CL_LAT")}, ${c.GetString("CAT_CL_LONG")}, ${c.GetString("CAT_CL_SECUENCIA")}, ${c.GetString("CAT_CL_RUTA")}, ${c.GetString("CAT_CL_DIASEMANA")}, ${c.GetString("CAT_CL_GIRO")}, ${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}"$) ' 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")}, ${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 , $"guardaClienteNuevo_${c.GetString("CAT_CL_CODIGO")}"$) reqManager.ExecuteCommand(cmd , $"guardaClienteNuevo_${c.GetString("CAT_CL_CODIGO")}"$)
@@ -426,4 +491,83 @@ End Sub
Private Sub et_direccion_TextChanged (Old As String, New As String) Private Sub et_direccion_TextChanged (Old As String, New As String)
camposModificados.Add("CAT_CL_CALLE1") camposModificados.Add("CAT_CL_CALLE1")
End Sub
Sub q_preguntaContestada(m As Map)
' Recibimos el id de la pregunta, el id de la respuesta, el texto de la respuesta y el objeto del panelSombra para poder ocultarlo.
Log(m)
Log($">>>>>>> PREGUNTA ${m.Get("idPregunta")}"$)
' If q.IsInitialized Then Log($"${q.encuestaIniciada}|${q.preguntaActual}"$)
' m.Get("panel").As(Panel).Visible = False 'Ocultamos el panel de la pregunta.
m.Get("panel").As(Panel).RemoveView 'Quitamos le panel de la pregunta
DateTime.DateFormat = "yyyyMMdd"
B4XPages.MainPage.skmt.ExecNonQuery($"delete from CUESTIONARIO where Q_IDCLIENTE = '${Subs.traeCliente}' and Q_IDPREGUNTA = '${m.Get("idPregunta")}'"$)
B4XPages.MainPage.skmt.ExecNonQuery($"insert into CUESTIONARIO (Q_IDCLIENTE, Q_IDPREGUNTA, Q_PREGUNTA, Q_IDRESPUESTA, Q_RESPUESTA, Q_FECHA) values ('${no_cliente}', '${m.Get("idPregunta")}', '${m.Get("pregunta")}', '${m.Get("idRespuesta")}', '${m.Get("respuesta")}', '${DateTime.Date(DateTime.now)}')"$)
Select Case m.Get("idPregunta")
Case "1"
If m.Get("respuesta") = "No, está enrejado o no se tiene acceso" Then
Log("Tiendajon / Ventana / Kiosko")
ToastMessageShow("Tiendajon / Ventana / Kiosko", False)
q.agregaPregunta("6", "¿Cuenta con caja de salida para cobro con sistema de computo?", Array As String("Si, tiene sistema de computo para cobro", "No"))
Else if m.Get("respuesta") = "Si se pude acceder" Then
q.agregaPregunta("2", "¿Tiene al menos 2 pasillos con acceso directo a la mercancía?", Array As String("Si tiene al menos 2 pasillos con acceso directo a la mercancía", "No tiene pasillos o solo uno central"))
End If
Case "2"
If m.Get("respuesta") = "Si tiene al menos 2 pasillos con acceso directo a la mercancía" Then
Log("Mini-Super")
ToastMessageShow("Mini-Super", False)
q.agregaPregunta("6", "¿Cuenta con caja de salida para cobro con sistema de computo?", Array As String("Si, tiene sistema de computo para cobro", "No"))
else If m.Get("respuesta") = "No tiene pasillos o solo uno central" Then
q.agregaPregunta("3", "¿Cuenta con enfriador horizontal para venta de perecederos como queso, jamon, crema, etc.?", Array As String("Si", "No tiene enfriador horizontal."))
End If
Case "3"
Log("|"&m.Get("respuesta")&"|")
If m.Get("respuesta") = "Si" Then
Log("Miscelanea")
ToastMessageShow("Miscelanea", False)
q.agregaPregunta("6", "¿Cuenta con caja de salida para cobro con sistema de computo?", Array As String("Si, tiene sistema de computo para cobro", "No"))
else If m.Get("respuesta") = "No tiene enfriador horizontal." Then
q.agregaPregunta("4", "¿El local esta enfocado a venta especializada?", Array As String("No", "Si"))
End If
Case "4"
If m.Get("respuesta") = "No" Then
Log("Abarrotera")
ToastMessageShow("Abarrotera", False)
q.agregaPregunta("6", "¿Cuenta con caja de salida para cobro con sistema de computo?", Array As String("Si, tiene sistema de computo para cobro", "No"))
else If m.Get("respuesta") = "Si" Then
q.agregaPregunta("5", "¿Cual venta especializada?", Array As String("Carnicería / Pollería", "Cremería", "Depósito / Vinateria", "Dulcería", "Farmacia", "Fonda / Restaurante / Cafetería", "Verdulería"))
End If
Case "5"
Log(m.Get("respuesta"))
ToastMessageShow(m.Get("respuesta"), False)
' If m.Get("respuesta") = "No" Then
' Log("Abarrotera")
' q.agregaPregunta("5", "¿Cuenta con caja de salida para cobro con sistema de computo?", Array As String("Si, tiene sistema de computo para cobro", "No"))
' else If m.Get("respuesta") = "Si" Then
q.agregaPregunta("6", "¿Cuenta con caja de salida para cobro con sistema de computo?", Array As String("Si, tiene sistema de computo para cobro", "No"))
' End If
Case "6"
Log(m.Get("respuesta"))
ToastMessageShow(m.Get("respuesta"), False)
Log(">>>>>>>>>> " & q.encuestaIniciada)
q.encuestaIniciada = False
Log(">>>>>>>>>> " & q.encuestaIniciada)
' Case 6
End Select
End Sub
'Ajusta el tamaño del panel de scroll.
Sub ajustaTamano
' Log("xx: " & sv_clientesDatos.Panel.Height)
' Log($"${b_guardaCambios.Top} + 350"$)
If l_cuestionario.Visible Then
Log("visible")
p_botones.Top = l_cuestionario.Top + l_cuestionario.Height + 20
Else
Log("INVisible")
p_botones.Top = b_ubicacion.Top + b_ubicacion.Height + 20
End If
p_nuevoCliente.Height = p_botones.Top + 350
sv_nuevoClienteDatos.Panel.Height = p_nuevoCliente.Height
' Log("xx: " & sv_clientesDatos.Panel.Height)
End Sub End Sub

View File

@@ -233,6 +233,7 @@ Sub Class_Globals
Dim l_visitados As Label Dim l_visitados As Label
Dim l_total As Label Dim l_total As Label
Dim mapTiempos As Map Dim mapTiempos As Map
Private cs As CSBuilder
End Sub End Sub
'You can add more parameters here. 'You can add more parameters here.
@@ -379,9 +380,11 @@ Sub B4XPage_Appear
l_ruta.Text = "0" l_ruta.Text = "0"
l_dia.Text = "NINGUNA" l_dia.Text = "NINGUNA"
If f.RowCount > 0 Then If f.RowCount > 0 Then
cs.Initialize
f.Position = 0 f.Position = 0
l_ruta.Text = f.GetString("CAT_CL_RUTA") l_ruta.Text = cs.Append("RUTA ").Color(Colors.RGB(165, 42, 42)).Append(f.GetString("CAT_CL_RUTA")).pop.Append(" CARGADA").popall
l_dia.Text = f.GetString("CAT_CL_DIASEMANA") cs.Initialize
l_dia.Text = cs.Append("DÍA CARGADO: ").Bold.Append(f.GetString("CAT_CL_DIASEMANA")).PopAll
End If End If
f.Close f.Close
c.Close c.Close
@@ -399,6 +402,7 @@ Sub B4XPage_Appear
B4XPages.MainPage.usuario = usuario B4XPages.MainPage.usuario = usuario
c.Close c.Close
CallSub(Starter, "ENVIA_ULTIMA_GPS") CallSub(Starter, "ENVIA_ULTIMA_GPS")
' B4XPages.MainPage.nuevoCliente.mandaPendientesNuevosClientes
End Sub End Sub
Sub b_subir_Click Sub b_subir_Click
@@ -1039,6 +1043,7 @@ Sub hacer_ped_Click
End Sub End Sub
Sub nvo_cliente_Click Sub nvo_cliente_Click
B4XPages.MainPage.nuevoCliente.cargarCliente = False
B4XPages.ShowPage("NuevoCliente") B4XPages.ShowPage("NuevoCliente")
End Sub End Sub

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -257,25 +257,26 @@ File328=nota.bal
File329=noventa.bal File329=noventa.bal
File33=marker-azul-15.png File33=marker-azul-15.png
File330=nuevocliente.bal File330=nuevocliente.bal
File331=Nvo Cliente.jpg File331=nuevoClienteDatos.bal
File332=palomita_verde.png File332=Nvo Cliente.jpg
File333=pedido.bal File333=palomita_verde.png
File334=planfia_logo.png File334=pedido.bal
File335=principal.bal File335=planfia_logo.png
File336=proditem.bal File336=principal.bal
File337=productos.bal File337=proditem.bal
File338=promociones.bal File338=productos.bal
File339=resdia.bal File339=promociones.bal
File34=marker-azul-16.png File34=marker-azul-16.png
File340=ResDia.jpg File340=resdia.bal
File341=salma.jpg File341=ResDia.jpg
File342=salma.png File342=salma.jpg
File343=senial.jpg File343=salma.png
File344=sync.png File344=senial.jpg
File345=tache_rojo.png File345=sync.png
File346=ticketsdia.bal File346=tache_rojo.png
File347=Tiendita.jpg File347=ticketsdia.bal
File348=verde.png File348=Tiendita.jpg
File349=verde.png
File35=marker-azul-17.png File35=marker-azul-17.png
File36=marker-azul-18.png File36=marker-azul-18.png
File37=marker-azul-19.png File37=marker-azul-19.png
@@ -624,6 +625,7 @@ FileGroup345=Default Group
FileGroup346=Default Group FileGroup346=Default Group
FileGroup347=Default Group FileGroup347=Default Group
FileGroup348=Default Group FileGroup348=Default Group
FileGroup349=Default Group
FileGroup35=Default Group FileGroup35=Default Group
FileGroup36=Default Group FileGroup36=Default Group
FileGroup37=Default Group FileGroup37=Default Group
@@ -743,7 +745,7 @@ Module6=C_Cuestionario
Module7=C_Mapas Module7=C_Mapas
Module8=C_NuevoCliente Module8=C_NuevoCliente
Module9=C_Principal Module9=C_Principal
NumberOfFiles=348 NumberOfFiles=349
NumberOfLibraries=30 NumberOfLibraries=30
NumberOfModules=16 NumberOfModules=16
Version=12.5 Version=12.5
@@ -751,7 +753,7 @@ Version=12.5
#Region Project Attributes #Region Project Attributes
#ApplicationLabel: Mariana Censos #ApplicationLabel: Mariana Censos
#VersionCode: 1 #VersionCode: 1
#VersionName: 3.12.21 #VersionName: 4.01.03
'SupportedOrientations possible values: unspecified, landscape or portrait. 'SupportedOrientations possible values: unspecified, landscape or portrait.
#SupportedOrientations: portrait #SupportedOrientations: portrait
#CanInstallToExternalStorage: False #CanInstallToExternalStorage: False

View File

@@ -41,14 +41,14 @@ ModuleClosedNodes13=3,5
ModuleClosedNodes14= ModuleClosedNodes14=
ModuleClosedNodes15=63,64,65,67,68 ModuleClosedNodes15=63,64,65,67,68
ModuleClosedNodes16=4,5,6,10,13,17,18,19 ModuleClosedNodes16=4,5,6,10,13,17,18,19
ModuleClosedNodes2= ModuleClosedNodes2=2
ModuleClosedNodes3= ModuleClosedNodes3=
ModuleClosedNodes4=6,7,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,44 ModuleClosedNodes4=6,7,10,11,13,14,15,16,17,18,20,21,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44
ModuleClosedNodes5= ModuleClosedNodes5=
ModuleClosedNodes6= ModuleClosedNodes6=
ModuleClosedNodes7= ModuleClosedNodes7=
ModuleClosedNodes8=6,9,11,12,13,14,16,17,18 ModuleClosedNodes8=6,9,11,12,13,14,16,17
ModuleClosedNodes9=3 ModuleClosedNodes9=3
NavigationStack=C_Cliente,q_preguntaContestada,688,6,B4XMainPage,B4XPage_Created,144,0,C_Cuestionario,clienteConEncuesta,137,0,C_Cliente,Label9_LongClick,763,6,C_Cliente,ajustaTamano,745,6,C_Cuestionario,ocultPanelPregunta,144,0,C_Cuestionario,agregaPregunta,78,0,C_Cliente,B4XPage_Appear,270,6,Visual Designer,clienteDatos.bal,-100,4,C_Cliente,Class_Globals,156,0 NavigationStack=C_Cliente,B4XPage_Appear,263,5,C_Cliente,B4XPage_CloseRequest,369,0,C_Cliente,b_guardaCambios_Click,381,6,C_Cliente,p_cliente_Click,392,0,C_Cliente,q_preguntaContestada,725,0,Visual Designer,clienteDatos.bal,-100,6,Main,Process_Globals,21,0,C_Cliente,mandaPendientes,416,0,Visual Designer,principal.bal,-100,6,C_Principal,B4XPage_Appear,378,6
SelectedBuild=0 SelectedBuild=0
VisibleModules=2,14,6,9,4,5,15,8,7,16 VisibleModules=2,14,6,9,4,8,5,15,7,16