26/2/23 - Cuestionario para clientes

- Se agregó el cuestionario popup al entrar a un cliente.
- FALTA PONERLO EN LOS CLIENTES NUEVOS
This commit is contained in:
2023-12-26 16:52:36 -06:00
parent 7360a5630f
commit 2a3a701d3c
13 changed files with 884 additions and 385 deletions

View File

@@ -74,6 +74,10 @@ Sub Class_Globals
Private lv_server As ListView
Private l_server As Label
Private et_server As EditText
Dim q As C_Cuestionario
' Private bAceptarPregunta As Button
' Dim encuestaIniciada As Boolean = False
End Sub
Public Sub Initialize
@@ -94,7 +98,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
B4XPages.AddPage("Clientes", clientes)
cliente.Initialize
B4XPages.AddPageAndCreate("Cliente", cliente)
' productos.Initialize
' productos.InitializeQuestionario
' B4XPages.AddPage("Productos", productos)
updateAvailable.Initialize
B4XPages.AddPage("updateAvailable", updateAvailable)
@@ -117,6 +121,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
' historico.Initialize
' B4XPages.AddPage("Historico", historico)
ruta = Starter.ruta
p_Main.Height = Root.Height
' Subs.borraArribaDe100Errores ' Para Websockets
' Subs.borraArribaDe600RenglonesBitacora ' Para Websockets
If File.Exists(ruta, "kmt.db") = False Then
@@ -143,6 +148,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_GIROS (id TEXT, descripcion TEXT)")
' skmt.ExecNonQuery("drop table kmt_info")
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS kmt_info (CAT_CL_FOTO BLOB, CAT_CL_NUM_SERIEFISICO TEXT, CAT_CL_MTOCOMPRA TEXT, CAT_CL_CEDIS TEXT, CAT_CL_LAT TEXT, CAT_CL_LONG TEXT, CAT_CL_FBAJA TEXT, CAT_CL_FALTA TEXT, CAT_CL_CP TEXT, CAT_CL_EDO TEXT, CAT_CL_MUNI TEXT, CAT_CL_COLONIA TEXT, CAT_CL_CALLE2 TEXT, CAT_CL_CALLE1 TEXT, CAT_CL_NOINT TEXT, CAT_CL_NOEXT TEXT, CAT_CL_CALLE TEXT, CAT_CL_EMAIL TEXT, CAT_CL_TELEFONO TEXT, CAT_CL_ATIENTE2 TEXT, CAT_CL_ATIENDE1 TEXT, CAT_CL_NOMBRE TEXT, CAT_CL_GIRO TEXT, CAT_CL_DIAS_VISITA TEXT, CAT_CL_TIPO_RUTA TEXT, CAT_CL_RUTA TEXT, CAT_CL_CODIGO TEXT, gestion NUMERIC, CAT_CL_DIASEMANA TEXT, CAT_CL_SECUENCIA INT)")
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CUESTIONARIO (Q_IDCLIENTE TEXT, Q_IDPREGUNTA TEXT, Q_PREGUNTA TEXT, Q_IDRESPUESTA TEXT, Q_RESPUESTA TEXT, Q_FECHA TEXT)")
Subs.agregaColumna("kmt_info", "CAT_CL_CRUCE1", "TEXT")
Subs.agregaColumna("kmt_info", "CAT_CL_ESTATUS", "TEXT")
Subs.agregaColumna("kmt_info", "CAT_CL_ENVIO_PENDIENTE", "TEXT")
@@ -203,8 +209,9 @@ Private Sub B4XPage_Created (Root1 As B4XView)
almacen = 0
rutaPreventa = 0
p_appUpdate.Visible = False
Log(Starter.server)
reqManager.Initialize(Me, Starter.server)
' q.Initialize(Me, "q", Root, skmt)
End Sub
Sub B4XPage_Appear
@@ -218,12 +225,12 @@ Sub B4XPage_Appear
Else
Log("SIN permisos de ubicacion")
End If
Log("1")
p_Main.Width = Root.Width
Dim ph As Phone 'Get Id Device
Dim DeviceID As String = ph.GetSettings("android_id").ToUpperCase
LogColor($"////////////////// DeviceID: ${DeviceID} ////////////////// "$, Colors.Blue)
server = Starter.server
Log(Starter.server)
reqManager.Initialize(Me, Starter.server)
tgl.Initialize()
If Not(Starter.gps.GPSEnabled) Then
@@ -261,7 +268,9 @@ Sub B4XPage_Appear
'Obtenemos el usuario registrado
' CallSubDelayed(FirebaseMessaging, "SubscribeToTopics")
dameUsuario
' If Not(q.encuestaIniciada) 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
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
Sub Entrar_Click
@@ -577,8 +586,8 @@ End Sub
Sub i_engrane_Click
lv_server.Clear
lv_server.AddSingleLine("http://keymon.lat:1782")
If user.Text = "KMTS1" Then lv_server.AddSingleLine("http://10.0.0.205:1782")
lv_server.AddSingleLine("http://keymon.lat:1781")
If user.Text = "KMTS1" Then lv_server.AddSingleLine("http://10.0.0.205:1781")
l_server.Text = Starter.server
et_server.Text = Starter.server
Subs.panelVisible(p_appUpdate,0,0)
@@ -587,6 +596,7 @@ End Sub
Sub b_guardar_Click
p_appUpdate.Visible = False
Starter.reqManager.Initialize(Me, et_server.Text)
reqManager.Initialize(Me, et_server.Text)
Starter.server = et_server.Text
ToastMessageShow("Servidor modificado", False)
Subs.panelVisible(p_Main,0,0)
@@ -625,3 +635,32 @@ Private Sub b_enviarbd_Click
in.Flags = 1 'FLAG_GRANT_READ_URI_PERMISSION
StartActivity(in)
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)
'' 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"
' skmt.ExecNonQuery($"delete from QUESTIONARIO where Q_IDCLIENTE = '${Subs.traeCliente}' and Q_IDPREGUNTA = '${m.Get("idPregunta")}'"$)
' skmt.ExecNonQuery($"insert into QUESTIONARIO (Q_IDCLIENTE, Q_IDPREGUNTA, Q_PREGUNTA, Q_IDRESPUESTA, Q_RESPUESTA, Q_FECHA) values ('${Subs.traeCliente}', '${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")
' 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")
' 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. ¿El local esta enfocado a venta especializada?"))
' End If
' Case 3
' Log(">>>>>>>>>> " & q.encuestaIniciada)
' q.encuestaIniciada = False
' Log(">>>>>>>>>> " & q.encuestaIniciada)
' End Select
'End Sub