diff --git a/B4A/B4XMainPage.bas b/B4A/B4XMainPage.bas index 03aa225..44c0743 100644 --- a/B4A/B4XMainPage.bas +++ b/B4A/B4XMainPage.bas @@ -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("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("SERVER",Starter.skmt)) 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_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 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_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.Position =0 If c.GetString("CUANTOS") = 0 Then diff --git a/B4A/C_Cliente.bas b/B4A/C_Cliente.bas index fb9ea0f..cabd0e7 100644 --- a/B4A/C_Cliente.bas +++ b/B4A/C_Cliente.bas @@ -151,6 +151,19 @@ Sub Class_Globals Dim bandera As Int Dim errorImpresora As Int = 0 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 Sub initialize @@ -208,6 +221,8 @@ Private Sub B4XPage_Created (Root1 As B4XView) End Sub 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.Position =0 Private MARCASQ As String = c.GetString("CAT_VA_VALOR") @@ -221,7 +236,7 @@ Sub B4XPage_Appear Starter.MAC_IMPRESORA = c.GetString("CAT_VA_VALOR") End If If Starter.MAC_IMPRESORA = "" Then Starter.MAC_IMPRESORA = "0" - Log("|" & Starter.MAC_IMPRESORA & "|") +' Log("|" & Starter.MAC_IMPRESORA & "|") Printer1.Initialize(Me, "Printer1") BT_QR.Enabled = False @@ -306,7 +321,7 @@ Sub B4XPage_Appear If Printer1.IsConnected = False Then ' Printer1.Connect - Log("1") +' Log("1") Else Printer1.DisConnect Printer1.Connect @@ -363,7 +378,7 @@ Sub B4XPage_Appear c.Position =0 perfil = c.GetString("CAT_VA_VALOR") c.Close - Log(perfil&"-------------------------") +' Log(perfil&"-------------------------") If perfil = "V-ESPECIAL" Then c= Starter.skmt.ExecQuery("SELECT CAT_GP_PRECIO, CAT_GP_ID FROM CAT_PRECIOS") If c.RowCount > 0 Then @@ -393,6 +408,7 @@ Sub ListView1_ItemLongClick (Position As Int, Value As Object) End Sub Sub gest_Click + Log("GEST CLIC") ' Log($"${cuest.encuestaIniciada} - ${cuest.clienteConCuestionario(Subs.traeCliente)}"$) ' 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")) @@ -462,11 +478,15 @@ Sub gest_Click ' If Subs.traeCliente = 0 Then Starter.tipov = "ABORDO" ' B4XPages.ShowPage("Productos") ' End If - - Starter.tipov = "PREVENTA" - B4XPages.ShowPage("Productos") + Log($"TOMAR_FOTO = ${TOMAR_FOTO}"$) + If TOMAR_FOTO = 0 Then + Cuestionario + Else + Starter.tipov = "PREVENTA" + B4XPages.ShowPage("Productos") ' StartActivity(colonia2) - cuestionario +' Cuestionario + End If End Sub Sub Tels_Click @@ -1285,11 +1305,15 @@ Sub B_VENTA_Click ' Starter.tipov = "VENTA" ' B4XPages.ShowPage("Productos") ' End If - - Starter.tipov = "VENTA" + Log($"TOMAR_FOTO = ${TOMAR_FOTO}"$) + If TOMAR_FOTO = 0 Then + Cuestionario + Else + Starter.tipov = "VENTA" ' StartActivity(colonia2) - B4XPages.ShowPage("Productos") - cuestionario + B4XPages.ShowPage("Productos") +' Cuestionario + End If End Sub Sub b_factura_Click @@ -1464,7 +1488,7 @@ Sub StartPrinter End If End Sub -Sub cuestionario +Sub cuestionario2 DateTime.DateFormat = "MM/dd/yyyy" sDate=DateTime.Date(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.tipov = "VENTA" 'TOMAR_FOTO = 1 - cuestionario + Cuestionario 'StartActivity(colonia2) End Sub @@ -1591,7 +1615,7 @@ Sub b_chk_e_Click End If Starter.tipov = "VENTA" 'TOMAR_FOTO = 1 - cuestionario + Cuestionario End Sub Private Sub cb_pregunta1_SelectedIndexChanged (Index As Int) @@ -1804,3 +1828,312 @@ Sub cuest_preguntaContestada(m As Map) ' Case 6 End Select 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 diff --git a/B4A/C_Principal.bas b/B4A/C_Principal.bas index 405e8f7..7424ce0 100644 --- a/B4A/C_Principal.bas +++ b/B4A/C_Principal.bas @@ -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_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)) - Log(">>>>>>>> " & CAT_CL_BCREDITO) +' Log(">>>>>>>> " & CAT_CL_BCREDITO) Next skmt.TransactionSuccessful Catch diff --git a/B4A/C_Productos.bas b/B4A/C_Productos.bas index 8f03421..e8569ec 100644 --- a/B4A/C_Productos.bas +++ b/B4A/C_Productos.bas @@ -270,7 +270,7 @@ Sub B4XPage_Appear '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") - Log($"Resultados : ${c2.RowCount}"$) +' Log($"Resultados : ${c2.RowCount}"$) Private mPromosProv As Map mPromosProv.Initialize 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. 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 listaPrecios.Initialize listaPrecios.Add("-= Seleccione Precio =-") diff --git a/B4A/Durakelo.b4a b/B4A/Durakelo.b4a index 5e432c0..379c19b 100644 --- a/B4A/Durakelo.b4a +++ b/B4A/Durakelo.b4a @@ -1393,12 +1393,12 @@ Module9=C_NoVenta NumberOfFiles=667 NumberOfLibraries=31 NumberOfModules=24 -Version=12.5 +Version=12.8 @EndOfDesignText@ #Region Project Attributes #ApplicationLabel: Durakelo #VersionCode: 1 - #VersionName: 4.04.20 + #VersionName: 4.05.16 'SupportedOrientations possible values: unspecified, landscape or portrait. #SupportedOrientations: portrait #CanInstallToExternalStorage: False diff --git a/B4A/Durakelo.b4a.meta b/B4A/Durakelo.b4a.meta index 856c845..d211c7a 100644 --- a/B4A/Durakelo.b4a.meta +++ b/B4A/Durakelo.b4a.meta @@ -60,19 +60,19 @@ ModuleClosedNodes16= ModuleClosedNodes17= ModuleClosedNodes18= ModuleClosedNodes19= -ModuleClosedNodes2=3,6,7,19 +ModuleClosedNodes2= ModuleClosedNodes20= ModuleClosedNodes21= ModuleClosedNodes22=1 -ModuleClosedNodes23=10,12,14,58 +ModuleClosedNodes23= ModuleClosedNodes24= ModuleClosedNodes3= -ModuleClosedNodes4= +ModuleClosedNodes4=3,41 ModuleClosedNodes5= ModuleClosedNodes6= ModuleClosedNodes7= ModuleClosedNodes8= 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 -VisibleModules=1,2,10,4,5,6,8,9,11,24,23 +VisibleModules=2,10,4,5,6,8,9,11,24,7 diff --git a/B4A/Files/cliente.bal b/B4A/Files/cliente.bal index 3ef5f4a..0f09841 100644 Binary files a/B4A/Files/cliente.bal and b/B4A/Files/cliente.bal differ diff --git a/B4A/Files/historico.bal b/B4A/Files/historico.bal new file mode 100644 index 0000000..f8786e7 Binary files /dev/null and b/B4A/Files/historico.bal differ diff --git a/B4A/Subs.bas b/B4A/Subs.bas index b9be7c7..7f4baca 100644 --- a/B4A/Subs.bas +++ b/B4A/Subs.bas @@ -1463,4 +1463,24 @@ Sub logJobDoneResultados(resultado As DBResult) LogColor(k & " = " & records(resultado.Columns.Get(k)), Colors.RGB(215,37,0)) Next Next +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 \ No newline at end of file