_ Se agregó el modulo de Cuestionario desde Guna.

This commit is contained in:
2024-05-17 01:17:56 -06:00
parent a2f036d7f7
commit bad642477c
9 changed files with 381 additions and 26 deletions

View File

@@ -153,14 +153,16 @@ Private Sub B4XPage_Created (Root1 As B4XView)
Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("SERVER")) Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("SERVER"))
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("SERVER",Starter.skmt)) Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("SERVER",Starter.skmt))
End If End If
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_ENCUESTA (HE_CLIE TEXT, HE_RES TEXT, HE_FECHA TEXT, HE_TIPO TEXT)") ' Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_ENCUESTA (HE_CLIE TEXT, HE_RES TEXT, HE_FECHA TEXT, HE_TIPO TEXT)")
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_ENCUESTA (HE_CLIE TEXT, HE_RES TEXT, HE_FECHA TEXT, HE_TIPO TEXT, HE_LAT TEXT, HE_LON TEXT)")
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_ENCUESTA4 (HE_CLIE TEXT, HE_RES TEXT, HE_FECHA TEXT, HE_TIPO TEXT, HE_ORDEN)") Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_ENCUESTA4 (HE_CLIE TEXT, HE_RES TEXT, HE_FECHA TEXT, HE_TIPO TEXT, HE_ORDEN)")
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_ENCUESTA3 (HE_CLIE TEXT, HE_TIPO TEXT)") Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_ENCUESTA3 (HE_CLIE TEXT, HE_TIPO TEXT)")
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_ENCUESTA2 (HE_CLIE TEXT, HE_RES TEXT, HE_FECHA TEXT, HE_TIPO TEXT, HE_PRECIO TEXT)") Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_ENCUESTA2 (HE_CLIE TEXT, HE_RES TEXT, HE_FECHA TEXT, HE_TIPO TEXT, HE_PRECIO TEXT)")
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_ENCUESTA_PREGUNTA (CAT_EP_ID TEXT,CAT_EP_IDTIPOPREGUNTA TEXT,CAT_CE_DESCRIPCION TEXT,CAT_EP_PREGUNTA TEXT,CAT_EP_RES1_PRED TEXT,CAT_EP_RES2_PRED TEXT,CAT_EP_RES3_PRED TEXT,CAT_EP_ORDEN_PREGUNTA TEXT)") Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_ENCUESTA_PREGUNTA (CAT_EP_ID TEXT,CAT_EP_IDTIPOPREGUNTA TEXT,CAT_CE_DESCRIPCION TEXT,CAT_EP_PREGUNTA TEXT,CAT_EP_RES1_PRED TEXT,CAT_EP_RES2_PRED TEXT,CAT_EP_RES3_PRED TEXT,CAT_EP_ORDEN_PREGUNTA TEXT)")
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_ENCUESTA_PREGUNTA5P (CAT_EP_ID TEXT,CAT_EP_IDTIPOPREGUNTA TEXT,CAT_CE_DESCRIPCION TEXT,CAT_EP_PREGUNTA TEXT,CAT_EP_RES1_PRED TEXT,CAT_EP_RES2_PRED TEXT,CAT_EP_RES3_PRED TEXT,CAT_EP_ORDEN_PREGUNTA TEXT)") Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_ENCUESTA_PREGUNTA5P (CAT_EP_ID TEXT,CAT_EP_IDTIPOPREGUNTA TEXT,CAT_CE_DESCRIPCION TEXT,CAT_EP_PREGUNTA TEXT,CAT_EP_RES1_PRED TEXT,CAT_EP_RES2_PRED TEXT,CAT_EP_RES3_PRED TEXT,CAT_EP_ORDEN_PREGUNTA TEXT)")
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_CLASF_PROD (CAT_CP_ID TEXT, CAT_CP_NOMPROD TEXT)") Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_CLASF_PROD (CAT_CP_ID TEXT, CAT_CP_NOMPROD TEXT)")
Subs.agregaColumna("HIST_ENCUESTA", "HE_LAT", "TEXT")
Subs.agregaColumna("HIST_ENCUESTA", "HE_LON", "TEXT")
c=Starter.skmt.ExecQuery2("select count(*) as CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("SERVER")) c=Starter.skmt.ExecQuery2("select count(*) as CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("SERVER"))
c.Position =0 c.Position =0
If c.GetString("CUANTOS") = 0 Then If c.GetString("CUANTOS") = 0 Then

View File

@@ -151,6 +151,19 @@ Sub Class_Globals
Dim bandera As Int Dim bandera As Int
Dim errorImpresora As Int = 0 Dim errorImpresora As Int = 0
Dim cuest As C_Cuestionario Dim cuest As C_Cuestionario
Private p_encuesta As Panel
Private l_txtEncuesta As Label
Private b_encuesta_1 As Button
Private b_encuesta_2 As Button
Private b_encuesta_3 As Button
Private l_titEncuesta As Label
Private ImageView11 As ImageView
Private b_encuesta_continuar As Button
Private et_encuesta As EditText
Dim indicePregunta As Int
Private botonPresionado As Int
Private encuestaRes As String
Dim TOMAR_FOTO As String
End Sub End Sub
Sub initialize Sub initialize
@@ -208,6 +221,8 @@ Private Sub B4XPage_Created (Root1 As B4XView)
End Sub End Sub
Sub B4XPage_Appear Sub B4XPage_Appear
indicePregunta = 0
If TOMAR_FOTO <> 0 Then Cuestionario
c=Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("MARCAS")) c=Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("MARCAS"))
c.Position =0 c.Position =0
Private MARCASQ As String = c.GetString("CAT_VA_VALOR") Private MARCASQ As String = c.GetString("CAT_VA_VALOR")
@@ -221,7 +236,7 @@ Sub B4XPage_Appear
Starter.MAC_IMPRESORA = c.GetString("CAT_VA_VALOR") Starter.MAC_IMPRESORA = c.GetString("CAT_VA_VALOR")
End If End If
If Starter.MAC_IMPRESORA = "" Then Starter.MAC_IMPRESORA = "0" If Starter.MAC_IMPRESORA = "" Then Starter.MAC_IMPRESORA = "0"
Log("|" & Starter.MAC_IMPRESORA & "|") ' Log("|" & Starter.MAC_IMPRESORA & "|")
Printer1.Initialize(Me, "Printer1") Printer1.Initialize(Me, "Printer1")
BT_QR.Enabled = False BT_QR.Enabled = False
@@ -306,7 +321,7 @@ Sub B4XPage_Appear
If Printer1.IsConnected = False Then If Printer1.IsConnected = False Then
' Printer1.Connect ' Printer1.Connect
Log("1") ' Log("1")
Else Else
Printer1.DisConnect Printer1.DisConnect
Printer1.Connect Printer1.Connect
@@ -363,7 +378,7 @@ Sub B4XPage_Appear
c.Position =0 c.Position =0
perfil = c.GetString("CAT_VA_VALOR") perfil = c.GetString("CAT_VA_VALOR")
c.Close c.Close
Log(perfil&"-------------------------") ' Log(perfil&"-------------------------")
If perfil = "V-ESPECIAL" Then If perfil = "V-ESPECIAL" Then
c= Starter.skmt.ExecQuery("SELECT CAT_GP_PRECIO, CAT_GP_ID FROM CAT_PRECIOS") c= Starter.skmt.ExecQuery("SELECT CAT_GP_PRECIO, CAT_GP_ID FROM CAT_PRECIOS")
If c.RowCount > 0 Then If c.RowCount > 0 Then
@@ -393,6 +408,7 @@ Sub ListView1_ItemLongClick (Position As Int, Value As Object)
End Sub End Sub
Sub gest_Click Sub gest_Click
Log("GEST CLIC")
' Log($"${cuest.encuestaIniciada} - ${cuest.clienteConCuestionario(Subs.traeCliente)}"$) ' Log($"${cuest.encuestaIniciada} - ${cuest.clienteConCuestionario(Subs.traeCliente)}"$)
' If Not(cuest.encuestaIniciada) And Not(cuest.clienteConCuestionario(Subs.traeCliente)) Then ' If Not(cuest.encuestaIniciada) And Not(cuest.clienteConCuestionario(Subs.traeCliente)) Then
' cuest.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")) ' cuest.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"))
@@ -462,11 +478,15 @@ Sub gest_Click
' If Subs.traeCliente = 0 Then Starter.tipov = "ABORDO" ' If Subs.traeCliente = 0 Then Starter.tipov = "ABORDO"
' B4XPages.ShowPage("Productos") ' B4XPages.ShowPage("Productos")
' End If ' End If
Log($"TOMAR_FOTO = ${TOMAR_FOTO}"$)
Starter.tipov = "PREVENTA" If TOMAR_FOTO = 0 Then
B4XPages.ShowPage("Productos") Cuestionario
Else
Starter.tipov = "PREVENTA"
B4XPages.ShowPage("Productos")
' StartActivity(colonia2) ' StartActivity(colonia2)
cuestionario ' Cuestionario
End If
End Sub End Sub
Sub Tels_Click Sub Tels_Click
@@ -1285,11 +1305,15 @@ Sub B_VENTA_Click
' Starter.tipov = "VENTA" ' Starter.tipov = "VENTA"
' B4XPages.ShowPage("Productos") ' B4XPages.ShowPage("Productos")
' End If ' End If
Log($"TOMAR_FOTO = ${TOMAR_FOTO}"$)
Starter.tipov = "VENTA" If TOMAR_FOTO = 0 Then
Cuestionario
Else
Starter.tipov = "VENTA"
' StartActivity(colonia2) ' StartActivity(colonia2)
B4XPages.ShowPage("Productos") B4XPages.ShowPage("Productos")
cuestionario ' Cuestionario
End If
End Sub End Sub
Sub b_factura_Click Sub b_factura_Click
@@ -1464,7 +1488,7 @@ Sub StartPrinter
End If End If
End Sub End Sub
Sub cuestionario Sub cuestionario2
DateTime.DateFormat = "MM/dd/yyyy" DateTime.DateFormat = "MM/dd/yyyy"
sDate=DateTime.Date(DateTime.Now) sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now) sTime=DateTime.Time(DateTime.Now)
@@ -1574,7 +1598,7 @@ Sub B_E_NEXT_Click
Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, E_RES_E.Text ,sDate & sTime,c.GetString("CAT_EP_ID"))) Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, E_RES_E.Text ,sDate & sTime,c.GetString("CAT_EP_ID")))
Starter.tipov = "VENTA" Starter.tipov = "VENTA"
'TOMAR_FOTO = 1 'TOMAR_FOTO = 1
cuestionario Cuestionario
'StartActivity(colonia2) 'StartActivity(colonia2)
End Sub End Sub
@@ -1591,7 +1615,7 @@ Sub b_chk_e_Click
End If End If
Starter.tipov = "VENTA" Starter.tipov = "VENTA"
'TOMAR_FOTO = 1 'TOMAR_FOTO = 1
cuestionario Cuestionario
End Sub End Sub
Private Sub cb_pregunta1_SelectedIndexChanged (Index As Int) Private Sub cb_pregunta1_SelectedIndexChanged (Index As Int)
@@ -1804,3 +1828,312 @@ Sub cuest_preguntaContestada(m As Map)
' Case 6 ' Case 6
End Select End Select
End Sub End Sub
'Esta subrutina muestra las encuestas.
Sub Cuestionario
Log("########################################################")
Log("Entramos a Cuestionario")
Private logger As Boolean = True
b_encuesta_continuar.Visible = False
et_encuesta.Visible = False
DateTime.DateFormat = "MM/dd/yyyy"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
Private fecha As String = $"${DateTime.Date(DateTime.Now)} ${DateTime.Time(DateTime.Now)}"$
CUANTOS = 0
' indicePregunta = 0
If logger Then Log($"Tomar_Foto = ${TOMAR_FOTO}"$)
If TOMAR_FOTO = 0 Then
s = Starter.skmt.ExecQuery("select COUNT(*) AS CUANTOS from HIST_ENCUESTA where HE_CLIE In (Select cuenta from cuentaa)")
s.Position= 0
CUANTOS = s.GetString("CUANTOS")
Private CUANTOS2 As Int = 0
' s = Starter.skmt.ExecQuery("select COUNT(*) AS CUANTOS2 from HIST_ENCUESTA2 where HE_CLIENTE In (Select cuenta from cuentaa)")
' s.Position = 0
' CUANTOS2 = s.GetString("CUANTOS2")
' If logger Then LogColor($"Hist:encuesta=${CUANTOS}, hist_encuesta2 = ${CUANTOS2}"$, Colors.Magenta)
End If
If logger Then Log(CUANTOS & "|" & CUANTOS2)
If CUANTOS = 0 And CUANTOS2 = 0 Then
Private enc As Cursor = Starter.skmt.ExecQuery("SELECT CAT_EP_ID, CAT_EP_IDTIPOPREGUNTA, CAT_CE_DESCRIPCION, CAT_EP_PREGUNTA, CAT_EP_RES1_PRED, CAT_EP_RES2_PRED, CAT_EP_RES3_PRED, CAT_EP_ORDEN_PREGUNTA FROM CAT_ENCUESTA_PREGUNTA ORDER BY CAT_CE_DESCRIPCION, CAST(CAT_EP_ORDEN_PREGUNTA AS DECIMAL)")
If enc.RowCount > 0 Then
enc.position = 0
If logger Then Log($"CAT_EP_ID=${enc.GetString("CAT_EP_ID")}"$)
Private listaPreguntas As List
listaPreguntas.Initialize
For j = 0 To enc.RowCount - 1 'Ponemos en una lista los ID de las preguntas.
enc.Position = j
listaPreguntas.Add(enc.GetString("CAT_EP_ID"))
Next
If logger Then Log(listaPreguntas)
enc.position = 0
For i = 0 To enc.RowCount - 1
i = indicePregunta
Log("####################################################")
Log($"i = ${i}, indicePregunta = ${indicePregunta}"$)
' enc.Position = i
' If logger Then Log($"ROWCOUNT: ${enc.RowCount}"$)
' If logger Then Log($"tipo: ${enc.GetString("CAT_EP_IDTIPOPREGUNTA")}"$)
If logger Then Log($"Tipo: ${enc.GetString("CAT_EP_IDTIPOPREGUNTA")}, CAT_EP_ID=${enc.GetString("CAT_EP_ID")}, CAT_EP_PREGUNTA=${enc.GetString("CAT_EP_PREGUNTA")}"$)
If enc.GetString("CAT_EP_IDTIPOPREGUNTA") <> 4 And indicePregunta <> 0 Then
Log(333)
indicePregunta = listaPreguntas.IndexOf(enc.GetString("CAT_EP_ID")) + 1 'Nos movemos a la posicion especificada por la respuesta, en las preguntas de tipo desicion, la respuesta nos indica a que pregunta movernos.
i = indicePregunta
Log($"i = ${i}"$)
End If
If logger Then Log($"i = ${i}, indicePregunta: "$ & indicePregunta & ", TIPO: " & enc.GetString("CAT_EP_IDTIPOPREGUNTA"))
' Log($"Tomar_Foto = ${TOMAR_FOTO}"$)
If logger Then Log($"EncuestaRes = ${encuestaRes}"$)
If logger Then Log(listaPreguntas)
If TOMAR_FOTO = 1 Then
If CURSOR_FOTO + 1 > enc.RowCount -1 Then
TOMAR_FOTO = 0
Exit
Else
i = CURSOR_FOTO + 1
End If
If logger Then Log($"i = ${i}"$)
TOMAR_FOTO = 0
End If
If i > (enc.RowCount - 1) Then Exit ' Si se contestó la ultima pregunta, entonces salimos.
' indicePregunta = listaPreguntas.IndexOf(enc.GetString("CAT_EP_ID")) 'Nos movemos a la posicion especificada por la respuesta, en las preguntas de tipo desicion, la respuesta nos indica a que pregunta movernos.
' i = indicePregunta
enc.Position = i
' Log($"POSICION = ${enc.Position}"$)
If enc.GetString("CAT_EP_IDTIPOPREGUNTA") = 5 Then
If logger Then Log("Pregunta tipo 5")
id_encuesta = enc.GetString("CAT_EP_ID")
TOMAR_FOTO = 1
CURSOR_FOTO = i
Exit
ELSE IF enc.GetString("CAT_EP_IDTIPOPREGUNTA") = 3 Then ' Tipo SI/NO
If logger Then Log("Pregunta tipo 3")
botonPresionado = 0 ' Bandera para que espere a que se conteste la pregunta
l_titEncuesta.Text = enc.GetString("CAT_CE_DESCRIPCION")
l_txtEncuesta.Text = enc.GetString("CAT_EP_PREGUNTA")
Subs.centraEtiqueta(l_txtEncuesta, Root.Width)
muestraBoton(b_encuesta_1,"SI", enc.GetString("CAT_EP_ID"), centroPantalla-350, 580, 300, 160)
muestraBoton(b_encuesta_2, "NO", enc.GetString("CAT_EP_ID"), centroPantalla+50, 580, 300, 160)
muestraEncuesta
Log("Esperamos respuesta")
Do Until botonPresionado = 1 'Esperamos que respondan la pregunta
Sleep(0)
Loop
If logger Then Log("encuestaRes: " & encuestaRes)
If logger Then LogColor($"Guardamos tipo 3 : ${encuestaRes}"$, Colors.Green)
Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO, HE_LAT, HE_LON) VALUES (?,?,?,?,?,?)", Array As Object(la_cuenta.Text, encuestaRes, fecha, enc.GetString("CAT_EP_ID"), B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps))
ocultaPanelEncuesta
ELSE IF enc.GetString("CAT_EP_IDTIPOPREGUNTA") = 4 Then
If logger Then Log("Pregunta tipo 4")
botonPresionado = 0 ' Bandera para que espere a que se conteste la pregunta
l_titEncuesta.Text = enc.GetString("CAT_CE_DESCRIPCION")
l_txtEncuesta.Text = enc.GetString("CAT_EP_PREGUNTA")
If logger Then Log(enc.GetString("CAT_EP_PREGUNTA"))
Subs.centraEtiqueta(l_txtEncuesta, Root.Width)
muestraBoton(b_encuesta_1,"SI", enc.GetString("CAT_EP_ID"), centroPantalla-350, 580, 300, 160)
muestraBoton(b_encuesta_2, "NO", enc.GetString("CAT_EP_ID"), centroPantalla+50, 580, 300, 160)
muestraEncuesta
Log("Esperamos respuesta")
Do Until botonPresionado = 1 'Esperamos que respondan la pregunta
Sleep(0)
Loop
If logger Then Log("encuestaRes: " & encuestaRes)
If logger Then LogColor($"Guardamos tipo 4 : ${encuestaRes}"$, Colors.Green)
If encuestaRes = "SI" Then
Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO, HE_LAT, HE_LON) VALUES (?,?,?,?,?,?)", Array As Object(la_cuenta.Text, "SI", fecha, enc.GetString("CAT_EP_ID"), B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps))
indicePregunta = listaPreguntas.IndexOf(enc.GetString("CAT_EP_RES1_PRED")) 'Nos movemos a la posicion especificada por la respuesta, en las preguntas de tipo desicion, la respuesta nos indica a que pregunta movernos.
i = indicePregunta
Log($"i = ${i}, IndicePreg = ${indicePregunta}"$)
else if encuestaRes = "NO" Then
Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO, HE_LAT, HE_LON) VALUES (?,?,?,?,?,?)", Array As Object(la_cuenta.Text, "NO", fecha, enc.GetString("CAT_EP_ID"), B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps))
indicePregunta = listaPreguntas.IndexOf(enc.GetString("CAT_EP_RES2_PRED")) 'Nos movemos a la posicion especificada por la respuesta, en las preguntas de tipo desicion, la respuesta nos indica a que pregunta movernos.
i = indicePregunta
Log($"i = ${i}, IndicePreg = ${indicePregunta}"$)
End If
If i = enc.RowCount - 1 Then
i = i - 1
End If
ELSE If enc.GetString("CAT_EP_IDTIPOPREGUNTA") = 2 Then ' Tipo 3 opciones.
Log("Pregunta tipo 2")
botonPresionado = 0 ' Bandera para que espere a que se conteste la pregunta.
l_titEncuesta.Text = enc.GetString("CAT_CE_DESCRIPCION")
l_txtEncuesta.Text = enc.GetString("CAT_EP_PREGUNTA")
If logger Then Log(enc.GetString("CAT_EP_PREGUNTA"))
muestraBoton(b_encuesta_1, enc.GetString("CAT_EP_RES1_PRED"), enc.GetString("CAT_EP_ID"), centroPantalla-250, 580, 500, 160)
muestraBoton(b_encuesta_2, enc.GetString("CAT_EP_RES2_PRED"), enc.GetString("CAT_EP_ID"), centroPantalla-250, 740, 500, 160)
muestraBoton(b_encuesta_3, enc.GetString("CAT_EP_RES3_PRED"), enc.GetString("CAT_EP_ID"), centroPantalla-250, 900, 500, 160)
muestraEncuesta
Log("Esperamos respuesta")
Do Until botonPresionado = 1 'Esperamos que respondan la pregunta.
Sleep(0)
Loop
Log("encuestaRes: " & encuestaRes)
If logger Then LogColor($"Guardamos tipo 2 : ${encuestaRes}"$, Colors.Green)
Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO, HE_LAT, HE_LON) VALUES (?,?,?,?,?,?)", Array As Object(la_cuenta.Text, encuestaRes, fecha, enc.GetString("CAT_EP_ID"), B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps))
Log($"CAT_EP_ID: ${enc.GetString("CAT_EP_ID")}, listaPreguntas.IndexOf(enc.GetString("CAT_EP_ID")) = ${listaPreguntas.IndexOf(enc.GetString("CAT_EP_ID"))} "$)
indicePregunta = listaPreguntas.IndexOf(enc.GetString("CAT_EP_ID")) 'Nos movemos a la posicion especificada por la respuesta, en las preguntas de tipo desicion, la respuesta nos indica a que pregunta movernos.
i = indicePregunta
Log($"i = ${i}"$)
ocultaPanelEncuesta
ELSE If enc.GetString("CAT_EP_IDTIPOPREGUNTA") = 6 Then
If logger Then Log("Pregunta tipo 6")
Panel10.Visible = True
l_chk_e.Text = enc.GetString("CAT_EP_PREGUNTA")
Chk_1.Checked = False
chk_2.Checked = False
chk_3.Checked = False
Chk_1.Text = enc.GetString("CAT_EP_RES1_PRED")
chk_2.Text = enc.GetString("CAT_EP_RES2_PRED")
chk_3.Text = enc.GetString("CAT_EP_RES3_PRED")
chk_1_valor = enc.GetString("CAT_EP_RES1_PRED")
chk_2_valor = enc.GetString("CAT_EP_RES2_PRED")
chk_3_valor = enc.GetString("CAT_EP_RES3_PRED")
Chk_1.Tag = enc.GetString("CAT_EP_ID")
chk_2.Tag = enc.GetString("CAT_EP_ID")
chk_3.Tag = enc.GetString("CAT_EP_ID")
TOMAR_FOTO = 1
CURSOR_FOTO = i
Exit
ELSE If enc.GetString("CAT_EP_IDTIPOPREGUNTA") = 1 Then
Log("Pregunta tipo 1")
botonPresionado = 0 ' Bandera para que espere a que se conteste la pregunta
l_titEncuesta.Text = enc.GetString("CAT_CE_DESCRIPCION")
l_txtEncuesta.Text = enc.GetString("CAT_EP_PREGUNTA")
If logger Then Log(enc.GetString("CAT_EP_PREGUNTA") &"|"&enc.GetString("CAT_EP_ORDEN_PREGUNTA"))
Subs.centraEditText(et_encuesta, Root.Width)
et_encuesta.Visible = True
b_encuesta_continuar.Enabled = False
Private bTop = et_encuesta.Top + 130
muestraBoton(b_encuesta_continuar,"Continuar", enc.GetString("CAT_EP_ID"), centroPantalla-250, bTop, 500, 160)
muestraEncuesta
Log("Esperamos respuesta")
Do Until botonPresionado = 1 'Esperamos que respondan la pregunta
Sleep(0)
Loop
Log($"Respuesta: ${encuestaRes}"$)
If logger Then LogColor($"Guardamos tipo 1 : ${encuestaRes}"$, Colors.Green)
Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO, HE_LAT, HE_LON) VALUES (?,?,?,?,?,?)", Array As Object(la_cuenta.Text, encuestaRes, fecha, enc.GetString("CAT_EP_ID"), B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps))
ocultaPanelEncuesta
Else
' Starter.tipov = "VENTA"
B4XPages.ShowPage("productos")
End If
Next
enc.Close
Else
' Starter.tipov = "VENTA"
B4XPages.ShowPage("productos")
End If
Else
' Starter.tipov = "VENTA"
B4XPages.ShowPage("productos")
End If
End Sub
'Muestra el panel de la encuesta, le da el alto y ancho de la pantalla y la pone en 0,0
Sub muestraEncuesta
Log("Muestra Encuesta")
p_encuesta.Top = 0
p_encuesta.left = 0
p_encuesta.Height = GetDeviceLayoutValues.Height
p_encuesta.Width = GetDeviceLayoutValues.Width
p_encuesta.SetVisibleAnimated(200, True)
p_encuesta.Visible = True
p_encuesta.Elevation = 90 'ignore
p_encuesta.BringToFront
' P_INF_GENERAL.Visible = False
' Log("Panel general="&P_INF_GENERAL.Visible)
End Sub
' Oculta el panel de la encuesta y los botones de la misma.
Sub ocultaPanelEncuesta
' Log("Oculta Encuesta")
b_encuesta_1.Visible = False
b_encuesta_2.Visible = False
b_encuesta_3.Visible = False
p_encuesta.Visible = False
' P_INF_GENERAL.Visible = True
' If logger Then Log("Panel general="&P_INF_GENERAL.Visible)
End Sub
'Regresa el valor de "left" para el centro de la pantalla
Sub centroPantalla As Int
Private anchoPantalla As Int = GetDeviceLayoutValues.Width
Private anchoPantalla As Int = Root.Width
Return anchoPantalla/2
End Sub
Private Sub b_encuesta_1_Click
Log("BOTON 1 CLICK")
Dim btn As Button = Sender
Log("BOTON 1 CLICKED "& " clicked - " & btn.Text & " - " & btn.Tag)
encuestaRes = btn.Text
indicePregunta = btn.Tag
ocultaPanelEncuesta
botonPresionado = 1
End Sub
Private Sub b_encuesta_2_Click
Log("BOTON 2 CLICK")
Dim btn As Button = Sender
Log("BOTON 2 CLICKED "& " clicked - " & btn.Text & " - " & btn.Tag)
encuestaRes = btn.Text
indicePregunta = btn.Tag
ocultaPanelEncuesta
botonPresionado = 1
End Sub
Private Sub b_encuesta_3_Click
Log("BOTON 3 CLICK")
Dim btn As Button = Sender
Log("BOTON 3 CLICKED "& " clicked - " & btn.Text & " - " & btn.Tag)
encuestaRes = btn.Text
indicePregunta = btn.Tag
ocultaPanelEncuesta
botonPresionado = 1
End Sub
Private Sub b_encuesta_continuar_Click
Dim btn As Button = Sender
Log("BOTON CONTINUAR CLICK - " & btn.Text & " - " & btn.Tag)
encuestaRes = et_encuesta.Text
indicePregunta = btn.Tag
et_encuesta.Text = ""
et_encuesta.Visible = False
b_encuesta_continuar.Visible = False
ocultaPanelEncuesta
botonPresionado = 1
End Sub
Private Sub et_encuesta_TextChanged (Old As String, New As String)
' Log($"|${Old}|,|${New}|"$)
If New.Length > 0 Then b_encuesta_continuar.Enabled = True
If New.Length < 1 Then b_encuesta_continuar.Enabled = False
End Sub
'Muestra un boton con las dimensiones, posicion y texto especificados.
Sub muestraBoton (thisButton As Button, theText As String, theTag As String, Left As Int, Top As Int, width As Int, height As Int)
thisButton.Text = theText
thisButton.Tag = theTag
thisButton.Left = Left
thisButton.Top = Top
thisButton.Width = width
thisButton.Height = height
thisButton.Visible = True
End Sub
'Muestra un boton con las dimensiones, posicion y texto especificados.
Sub muestraBotonCentrado (thisButton As Button, theText As String, theTag As String, Top As Int, width As Int, height As Int) 'ignore
Private anchoPantalla As Int
thisButton.Text = theText
thisButton.Tag = theTag
anchoPantalla = GetDeviceLayoutValues.Width
thisButton.Left = (anchoPantalla/2) - (width/2)
thisButton.Top = Top
thisButton.Width = width
thisButton.Height = height
thisButton.Visible = True
End Sub

View File

@@ -1134,7 +1134,7 @@ Sub JobDone(Job As HttpJob)
Dim CAT_CL_BFACTURA As String = records(RESULT.Columns.Get("CAT_CL_BFACTURA")) Dim CAT_CL_BFACTURA As String = records(RESULT.Columns.Get("CAT_CL_BFACTURA"))
Dim CAT_CL_BCREDITO As String = records(RESULT.Columns.Get("CAT_CL_BBLOQUEOCRED")) Dim CAT_CL_BCREDITO As String = records(RESULT.Columns.Get("CAT_CL_BBLOQUEOCRED"))
skmt.ExecNonQuery2("INSERT INTO kmt_info(CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LONG,CAT_CL_LAT,CAT_CL_MTOCOMPRA,CAT_CL_NUM_SERIEFISICO,CAT_CL_BFACTURA,CAT_CL_BCREDITO, gestion) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,0)", Array As Object (CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LONG,CAT_CL_LAT,CAT_CL_MTOCOMPRA,CAT_CL_NUM_SERIEFISICO,CAT_CL_BFACTURA,CAT_CL_BCREDITO)) skmt.ExecNonQuery2("INSERT INTO kmt_info(CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LONG,CAT_CL_LAT,CAT_CL_MTOCOMPRA,CAT_CL_NUM_SERIEFISICO,CAT_CL_BFACTURA,CAT_CL_BCREDITO, gestion) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,0)", Array As Object (CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LONG,CAT_CL_LAT,CAT_CL_MTOCOMPRA,CAT_CL_NUM_SERIEFISICO,CAT_CL_BFACTURA,CAT_CL_BCREDITO))
Log(">>>>>>>> " & CAT_CL_BCREDITO) ' Log(">>>>>>>> " & CAT_CL_BCREDITO)
Next Next
skmt.TransactionSuccessful skmt.TransactionSuccessful
Catch Catch

View File

@@ -270,7 +270,7 @@ Sub B4XPage_Appear
'Traemos las promociones con el proveedor incluido. 'Traemos las promociones con el proveedor incluido.
c2=Starter.skmt.ExecQuery("Select distinct CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_TIPO, CAT_DP_CLASIF, CAT_CLASF_PROD.* from " & query & " join CAT_DETALLES_PAQ on CAT_DP_ID = CAT_GP_ID join CAT_CLASF_PROD on CAT_DP_CLASIF = CAT_CP_ID where CAT_GP_ALMACEN > 0 And CAT_GP_TIPO = 'PROMOS' AND CAT_GP_SUBTIPO ='PROMOS' AND CAT_GP_TIPOPROD <> 1 and (length(CAT_GP_CODPROMO) = 1 OR CAT_GP_CODPROMO = CAT_GP_ID) order by CAT_CP_NOMPROD") c2=Starter.skmt.ExecQuery("Select distinct CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_TIPO, CAT_DP_CLASIF, CAT_CLASF_PROD.* from " & query & " join CAT_DETALLES_PAQ on CAT_DP_ID = CAT_GP_ID join CAT_CLASF_PROD on CAT_DP_CLASIF = CAT_CP_ID where CAT_GP_ALMACEN > 0 And CAT_GP_TIPO = 'PROMOS' AND CAT_GP_SUBTIPO ='PROMOS' AND CAT_GP_TIPOPROD <> 1 and (length(CAT_GP_CODPROMO) = 1 OR CAT_GP_CODPROMO = CAT_GP_ID) order by CAT_CP_NOMPROD")
Log($"Resultados : ${c2.RowCount}"$) ' Log($"Resultados : ${c2.RowCount}"$)
Private mPromosProv As Map Private mPromosProv As Map
mPromosProv.Initialize mPromosProv.Initialize
If c2.RowCount > 0 Then If c2.RowCount > 0 Then
@@ -1504,7 +1504,7 @@ End Sub
'Regresa la lista de precios de acuerdo al almacen, ruta, perfil y id dados. 'Regresa la lista de precios de acuerdo al almacen, ruta, perfil y id dados.
Sub traeListaPrecios (almacenX As String, rutaX As String, idX As String, perfilX As String) As List 'ignore Sub traeListaPrecios (almacenX As String, rutaX As String, idX As String, perfilX As String) As List 'ignore
Log($"${almacenX}, ${rutaX}, ${idX}, ${perfilX}"$) ' Log($"${almacenX}, ${rutaX}, ${idX}, ${perfilX}"$)
Private listaPrecios As List Private listaPrecios As List
listaPrecios.Initialize listaPrecios.Initialize
listaPrecios.Add("-= Seleccione Precio =-") listaPrecios.Add("-= Seleccione Precio =-")

View File

@@ -1393,12 +1393,12 @@ Module9=C_NoVenta
NumberOfFiles=667 NumberOfFiles=667
NumberOfLibraries=31 NumberOfLibraries=31
NumberOfModules=24 NumberOfModules=24
Version=12.5 Version=12.8
@EndOfDesignText@ @EndOfDesignText@
#Region Project Attributes #Region Project Attributes
#ApplicationLabel: Durakelo #ApplicationLabel: Durakelo
#VersionCode: 1 #VersionCode: 1
#VersionName: 4.04.20 #VersionName: 4.05.16
'SupportedOrientations possible values: unspecified, landscape or portrait. 'SupportedOrientations possible values: unspecified, landscape or portrait.
#SupportedOrientations: portrait #SupportedOrientations: portrait
#CanInstallToExternalStorage: False #CanInstallToExternalStorage: False

View File

@@ -60,19 +60,19 @@ ModuleClosedNodes16=
ModuleClosedNodes17= ModuleClosedNodes17=
ModuleClosedNodes18= ModuleClosedNodes18=
ModuleClosedNodes19= ModuleClosedNodes19=
ModuleClosedNodes2=3,6,7,19 ModuleClosedNodes2=
ModuleClosedNodes20= ModuleClosedNodes20=
ModuleClosedNodes21= ModuleClosedNodes21=
ModuleClosedNodes22=1 ModuleClosedNodes22=1
ModuleClosedNodes23=10,12,14,58 ModuleClosedNodes23=
ModuleClosedNodes24= ModuleClosedNodes24=
ModuleClosedNodes3= ModuleClosedNodes3=
ModuleClosedNodes4= ModuleClosedNodes4=3,41
ModuleClosedNodes5= ModuleClosedNodes5=
ModuleClosedNodes6= ModuleClosedNodes6=
ModuleClosedNodes7= ModuleClosedNodes7=
ModuleClosedNodes8= ModuleClosedNodes8=
ModuleClosedNodes9= ModuleClosedNodes9=
NavigationStack=C_Principal,IsConnectedToInternet,263,0,MAPA_RUTAS,MapFragment1_Ready,158,0,C_Principal,B4XPage_Appear,265,0,C_Principal,checaPedido,2794,0,C_Principal,B_OK_PAS_Click,2160,0,C_Cliente,B_VENTA_Click,1214,0,C_Cliente,gest_Click,390,0,C_Principal,Class_Globals,27,0,Subs,traeMaxPromos,983,0,C_Nota,Class_Globals,0,0,C_Nota,ListView1_ItemLongClick,200,0 NavigationStack=C_Cliente,Class_Globals,1,0,C_Cliente,cuestionario2,1484,0,C_Cliente,cuest_preguntaContestada,1827,0,C_Cliente,Cuestionario,1827,6,C_Cliente,b_guadaenc_Click,1631,0,C_Principal,JobDone,1219,0,B4XMainPage,B4XPage_Created,145,0,C_Historico,initialize,31,0,C_Historico,B4XPage_Appear,43,0,C_Historico,B4XPage_Created,36,0
SelectedBuild=0 SelectedBuild=0
VisibleModules=1,2,10,4,5,6,8,9,11,24,23 VisibleModules=2,10,4,5,6,8,9,11,24,7

Binary file not shown.

BIN
B4A/Files/historico.bal Normal file

Binary file not shown.

View File

@@ -1464,3 +1464,23 @@ Sub logJobDoneResultados(resultado As DBResult)
Next Next
Next Next
End Sub End Sub
Sub agregaColumna(tabla As String, columna As String, tipo As String) 'ignore
Try 'Intentamos usar "pragma_table_info" para revisar si existe la columna en la tabla
Private c As Cursor = Starter.skmt.ExecQuery($"SELECT COUNT(*) AS fCol FROM pragma_table_info('${tabla}') WHERE name='${columna}'"$)
c.Position = 0
If c.GetString("fCol") = 0 Then 'Si no esta la columna la agregamos
Starter.skmt.ExecNonQuery($"ALTER TABLE ${tabla} ADD COLUMN ${columna} ${tipo}"$)
Log($"Columna "${columna} ${tipo}", agregada a "${tabla}"."$)
End If
Log(1)
Catch 'Si no funciona "pragma_table_info" lo hacemos con try/catch
Try
Starter.skmt.ExecNonQuery($"ALTER TABLE ${tabla} ADD COLUMN ${columna} ${tipo}"$)
Log($"Columna "${columna} ${tipo}", agregada a "${tabla}".."$)
Catch
Log(LastException)
End Try
Log(2)
End Try
End Sub