- Correcciones en la encuesta.

This commit is contained in:
2024-05-21 21:02:33 -06:00
parent 66757c60de
commit 9497bdb9b5
6 changed files with 94 additions and 83 deletions

View File

@@ -164,6 +164,7 @@ Sub Class_Globals
Private botonPresionado As Int
Private encuestaRes As String
Dim TOMAR_FOTO As String
Private l_segmentoK2 As Label
End Sub
Sub initialize
@@ -201,7 +202,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
If s.RowCount > 0 Then
s.Position = 0
l_total.Text = s.GetString("TOTAL_CLIE")
total_cliente = s.GetString("TOTAL_CLIE")
total_cliente = s.GetString("TOTAL_CLIE")
End If
' c = Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("MACIMP"))
' If c.RowCount > 0 Then
@@ -248,7 +249,7 @@ Sub B4XPage_Appear
Else
g.Start(0,0)
End If
c=Starter.skmt.ExecQuery("select 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 from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
c=Starter.skmt.ExecQuery("select * from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
s=Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
s.Position=0
c.Position=0
@@ -270,11 +271,12 @@ Sub B4XPage_Appear
m_lon =c.GetString("CAT_CL_LONG")
FACTURA = c.GetString("CAT_CL_BFACTURA")
CREDITO = c.GetString("CAT_CL_BCREDITO")
l_segmentoK2.Text = c.GetString("CAT_CL_CLASIFICADOR1")
'####################################################################################
'######## Ponemos CREDITO en CERO porque ahora se esta usando para #################
'######## INFO en el TICKET y no para restringir venta #################
'####################################################################################
CREDITO = 0
CREDITO = 0
'####################################################################################
If l_total.Text <> Null Then
@@ -314,9 +316,9 @@ Sub B4XPage_Appear
End If
If META2 = 0 Then
META2 = "CUBIERTO"
Else
Else
la_saldooper.Text = NumberFormat2(META2, 1, 3, 2, False)
la_saldooper.Text = NumberFormat2(META2, 1, 3, 2, False)
End If
If Printer1.IsConnected = False Then
@@ -382,11 +384,11 @@ Sub B4XPage_Appear
If perfil = "V-ESPECIAL" Then
c= Starter.skmt.ExecQuery("SELECT CAT_GP_PRECIO, CAT_GP_ID FROM CAT_PRECIOS")
If c.RowCount > 0 Then
For i = 0 To c.RowCount -1
c.Position = i
Starter.skmt.ExecNonQuery2("Update PEDIDO SET PE_PRECIO2 = ? WHERE PE_PROID = ? AND PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA)",Array As String(c.GetString("CAT_GP_PRECIO"),c.GetString("CAT_GP_ID")))
Starter.skmt.ExecNonQuery("Update PEDIDO SET PE_TIPO = 'VENTA' WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
Next
For i = 0 To c.RowCount -1
c.Position = i
Starter.skmt.ExecNonQuery2("Update PEDIDO SET PE_PRECIO2 = ? WHERE PE_PROID = ? AND PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA)",Array As String(c.GetString("CAT_GP_PRECIO"),c.GetString("CAT_GP_ID")))
Starter.skmt.ExecNonQuery("Update PEDIDO SET PE_TIPO = 'VENTA' WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
Next
End If
End If
End Sub
@@ -425,7 +427,7 @@ Sub gest_Click
' If B4XPages.MainPage.principal.ALMACEN = "5" Then queenc = "6"
' c2 = Starter.skmt.ExecQuery2("SELECT HE_CLIE FROM HIST_ENCUESTA3 WHERE HE_TIPO = ? AND HE_CLIE IN (SELECT CUENTA FROM CUENTAA) ",Array As String(queenc))
' If c2.RowCount = 0 Then
'' 2=2 ----> si no esta en el historico local mostrar encuesta
'' 2=2 ----> si no esta en el historico local mostrar encuesta
' c = Starter.skmt.ExecQuery("SELECT DISTINCT HE_CLIE FROM HIST_ENCUESTA4 WHERE HE_CLIE IN(SELECT CUENTA FROM CUENTAA)")
' If c.RowCount = 0 Then
' b_factura.Visible = False
@@ -611,13 +613,13 @@ Sub B_IMP_Click
c.Close
' If perfil > 0 Then
c=Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("PERFIL"))
If c.RowCount > 0 Then
c=Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("PERFIL"))
If c.RowCount > 0 Then
c.Position =0
perfil = c.GetString("CAT_VA_VALOR")
c.Close
End If
LogColor(perfil,Colors.Magenta)
End If
LogColor(perfil,Colors.Magenta)
' End If
@@ -1059,10 +1061,10 @@ Sub B_IMP2_Click
s=Starter.skmt.ExecQuery2("select SUM(PE_COSTO_TOT) AS TOTAL, SUM(PE_PRECIO2 * PE_CANT) AS TOTAL2 FROM PEDIDO WHERE PE_TIPO = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("VENTA"))
s.Position =0
If perfil = "V-ESPECIAL" Then
If s.GetString("TOTAL") - s.GetString("TOTAL2") <> 0 Then
Dim totaltotaltoal As Float = s.GetString("TOTAL2") - s.GetString("TOTAL")
Printer1.WriteString("Descuento: $" & NumberFormat2(totaltotaltoal, 1, 3, 2, False) & CRLF)
End If
If s.GetString("TOTAL") - s.GetString("TOTAL2") <> 0 Then
Dim totaltotaltoal As Float = s.GetString("TOTAL2") - s.GetString("TOTAL")
Printer1.WriteString("Descuento: $" & NumberFormat2(totaltotaltoal, 1, 3, 2, False) & CRLF)
End If
End If
s.Close
s=Starter.skmt.ExecQuery2("select SUM(PE_COSTO_TOT) AS TOTAL FROM PEDIDO WHERE PE_TIPO = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("VENTA"))
@@ -1099,7 +1101,7 @@ Sub B_IMP2_Click
End Sub
Sub B_INV_Click
'' Printer1.Connect2
'' Printer1.Connect2
c=Starter.skmt.ExecQuery("select USUARIO from usuarioa")
c.Position=0
usuario = c.GetString("USUARIO")
@@ -1876,12 +1878,14 @@ Sub Cuestionario
' 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
If enc.GetInt("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}"$)
@@ -1903,13 +1907,51 @@ Sub Cuestionario
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 enc.GetString("CAT_EP_IDTIPOPREGUNTA") = 1 Then ' Tipo Abierta
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
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.
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
i = 0
else If enc.GetString("CAT_EP_IDTIPOPREGUNTA") = 2 Then ' Tipo Opcion Multiple
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")) + 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 = 0 ' indicePregunta
Log($"i = ${i}"$)
ocultaPanelEncuesta
else if enc.GetString("CAT_EP_IDTIPOPREGUNTA") = 3 Then ' Tipo Verdadero/Falso
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")
@@ -1926,7 +1968,8 @@ Sub Cuestionario
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
i = 0
else if enc.GetString("CAT_EP_IDTIPOPREGUNTA") = 4 Then ' Tipo Decision
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")
@@ -1945,40 +1988,24 @@ Sub Cuestionario
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
i = 0 '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
i = 0 'indicePregunta
Log($"i = ${i}, IndicePreg = ${indicePregunta}"$)
End If
If i = enc.RowCount - 1 Then
i = i - 1
i = 0 '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
else If enc.GetString("CAT_EP_IDTIPOPREGUNTA") = 5 Then ' Tipo Foto
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") = 6 Then ' Tipo Multi-Seleccion
If logger Then Log("Pregunta tipo 6")
Panel10.Visible = True
l_chk_e.Text = enc.GetString("CAT_EP_PREGUNTA")
@@ -1996,27 +2023,8 @@ Sub Cuestionario
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
i = 0
' Exit
Else
' Starter.tipov = "VENTA"
B4XPages.ShowPage("productos")
@@ -2067,7 +2075,7 @@ Sub centroPantalla As Int
End Sub
Private Sub b_encuesta_1_Click
Log("BOTON 1 CLICK")
' Log("BOTON 1 CLICK")
Dim btn As Button = Sender
Log("BOTON 1 CLICKED "& " clicked - " & btn.Text & " - " & btn.Tag)
encuestaRes = btn.Text