Files
Durakelo/B4A/C_Cliente.bas
Jose Alberto Guerra Ugalde e233af99fd - VERSION 5.05.07
- Se quito del ticket de venta el header de las promos
- Se agregó a Resumen Dia el monto y piezas de abordo
2025-05-08 12:53:53 -06:00

2156 lines
84 KiB
QBasic

B4A=true
Group=Default Group
ModulesStructureVersion=1
Type=Class
Version=11.5
@EndOfDesignText@
Sub Class_Globals
Private Root As B4XView 'ignore
Private xui As XUI 'ignore
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
Dim g As GPS
Dim ruta As String
Dim clie_id As String
Dim sDate,sTime As String
Dim usuario As String
Dim total_cliente As String
Dim m_lat As String
Dim m_lon As String
Dim btAdmin As BluetoothAdmin
Dim cmp20 As Serial
'Dim printer As TextWriter
Dim PairedDevices As Map
Dim L As List
Dim TAMANO As Int
Dim ESPACIO As Int
Dim BLANCO As String
Dim cuenta As String
' Dim tipov As String
Dim Printer1 As EscPosPrinter
' Dim MAC_IMPRESORA As String
'These global variables will be redeclared each time the activity is created.
'These variables can only be accessed from this module.
Dim c As Cursor
Dim s As Cursor
Dim c2 As Cursor
Dim E1 As Cursor
Dim ListView1 As ListView
Dim la_cuenta As Label
Dim La_nombre As Label
Dim la_Calle As Label
Dim la_numero As Label
Dim la_nint As Label
Dim la_edo As Label
Dim la_pob As Label
Dim la_col As Label
Dim la_cp As Label
Dim la_zona As Label
Dim gest As Button
Dim la_saldotot As Label
Dim la_saldooper As Label
Dim Tels As Button
Dim Label10 As Label
Dim Label11 As Label
Dim Tar As Button
Dim la_comm As Label
Dim la_actdte As Label
Dim la_usuario As Label
Dim la_resultado As Label
Dim l_entre1 As Label
Dim l_entre2 As Label
Dim l_atiende As Label
Dim l_atiende2 As Label
Dim DATOS As Button
Dim Guardar As Button
Dim NUEVO As Button
' Dim lat_gps, lon_gps As String
Dim l_total As Label
Dim c2 As Cursor
Dim S2 As Cursor
Private s As Cursor
Dim res As String
Private HIST As Button
Private MONTO_COMPRA As String
Private META As String
Private META2 As String
Private VERIFICA As String
Private L_QR As Label
Private BT_QR As Button
Private qr As QRCode
Dim sc As Zxing_scanner
Dim CODIGO As String
Private b_mapa As Button
Dim CUANTOS As String
Private B_IMP As Button
' Dim Toggla As Toggle
Private B_VENTA As Button
Dim PASA_IMP As String
Dim sucursal As String
Dim FACTURA As String
Dim CREDITO As String
Private b_factura As Button
Dim perfil As String
Private CH_TA As CheckBox
Private CH_TC As CheckBox
Private CH_TB As CheckBox
Private CH_TD As CheckBox
Private E_CUANTOS_E As EditText
Private B_GUARDAR As Button
Private TIPOEX As String
Private B_EXIBI As Button
Private Panel1 As Panel
Dim t3 As Timer
Private B_INV As Button
Private B_IMP2 As Button
Dim id_encuesta As String
Dim LLAMAR_FOTO As String
Dim CURSOR_FOTO As Int
Dim TOMAR_FOTO As String
Private Panel10 As Panel
Private l_chk_e As Label
Private Chk_1 As CheckBox
Private chk_2 As CheckBox
Private chk_3 As CheckBox
Private b_chk_e As Button
Private chk_1_valor As String
Private chk_2_valor As String
Private chk_3_valor As String
Private t_tenc As Label
Private E_RES_E As EditText
Private B_E_NEXT As Button
Private Panel9 As Panel
Private Label26 As Label
Dim impresoraConectada As Boolean = False
Dim printer As TextWriter
Private b_guadaenc As Button
Private cb_pregunta8 As B4XComboBox
Private rb_p7si As RadioButton
Private rb_p7no As RadioButton
Private et_pregunta6 As EditText
Private et_pregunta5 As EditText
Private et_pregunta4 As EditText
Private et_pregunta3 As EditText
Private et_pregunta2 As EditText
Private cb_pregunta1 As B4XComboBox
Private Label1 As Label
Private sv_encuesta As ScrollView
Private p_encuestas As Panel
Dim itemselect As String
Dim itemselect2 As String
Dim pregunta7 As String
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
Private l_segmentoK2 As Label
Dim salirDeEncuesta As Boolean
End Sub
Sub initialize
End Sub
Private Sub B4XPage_Created (Root1 As B4XView)
'Do not forget to load the layout file created with the visual designer. For example:
'Activity.LoadLayout("Layout1")
Root = Root1
Root.RemoveAllViews
Root.LoadLayout("Cliente")
B4XPages.SetTitle(Me, "Cliente - " & Application.VersionName)
cuest.Initialize(Me, "cuest", Root, Starter.skmt)
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_BFACTURA,CAT_CL_BCREDITO 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)")
If c.RowCount > 0 Then
c.Position = 0
la_cuenta.Text = c.GetString("CAT_CL_CODIGO")
cuenta = c.GetString("CAT_CL_CODIGO")
La_nombre.Text = c.GetString("CAT_CL_NOMBRE")
la_Calle.Text = c.GetString("CAT_CL_CALLE") & c.GetString("CAT_CL_NOEXT")
la_col.Text = c.GetString("CAT_CL_COLONIA")
la_edo.Text = c.GetString("CAT_CL_EDO")
la_cp.Text = c.GetString("CAT_CL_CP")
l_entre1.Text = c.GetString("CAT_CL_CALLE1")
l_entre2.Text = c.GetString("CAT_CL_CALLE2")
l_atiende.Text = c.GetString("CAT_CL_ATIENDE1")
l_atiende2.Text = c.GetString("CAT_CL_ATIENTE2")
la_saldotot.Text = c.GetString("CAT_CL_TELEFONO")
la_saldooper.Text = c.GetString("CAT_CL_EMAIL")
MONTO_COMPRA = c.GetString("CAT_CL_MTOCOMPRA")
FACTURA = c.GetString("CAT_CL_BFACTURA")
CREDITO = c.GetString("CAT_CL_BCREDITO")
End If
If s.RowCount > 0 Then
s.Position = 0
l_total.Text = 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
' c.Position = 0
' Starter.MAC_IMPRESORA = c.GetString("CAT_VA_VALOR")
' End If
' If Starter.MAC_IMPRESORA = "" Then Starter.MAC_IMPRESORA = "0"
' Log("|" & Starter.MAC_IMPRESORA & "|")
' Printer1.Initialize(Me, "Printer1")
TOMAR_FOTO = 0
g.Initialize("GPS")
Panel1.Top = La_nombre.Top + La_nombre.Height + 5 : Panel1.left = 0
Panel9.Top = La_nombre.Top + La_nombre.Height + 5 : Panel9.left = 0
Panel10.Top = La_nombre.Top + La_nombre.Height + 5 : Panel10.left = 0
End Sub
Sub B4XPage_Appear
indicePregunta = 0
salirDeEncuesta = False
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")
c.Close
Starter.skmt.ExecNonQuery("delete from CAT_GUNAPROD WHERE CAT_GP_CLASIF NOT IN (" & MARCASQ &")" )
B_VENTA.Enabled = True
If Subs.traeCliente = 0 Then B_VENTA.Enabled = False
c = Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("MACIMP"))
If c.RowCount > 0 Then
c.Position = 0
Starter.MAC_IMPRESORA = c.GetString("CAT_VA_VALOR")
End If
If Starter.MAC_IMPRESORA = "" Then Starter.MAC_IMPRESORA = "0"
' Log("|" & Starter.MAC_IMPRESORA & "|")
Printer1.Initialize(Me, "Printer1")
BT_QR.Enabled = False
b_factura.Visible = False
FACTURA =0
If g.GPSEnabled=False Then
ToastMessageShow("Habilitar el GPS", True)
StartActivity(g.LocationSettingsIntent)
Else
g.Start(0,0)
End If
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
la_cuenta.Text = c.GetString("CAT_CL_CODIGO")
La_nombre.Text = c.GetString("CAT_CL_NOMBRE")
la_Calle.Text = c.GetString("CAT_CL_CALLE") & " " & c.GetString("CAT_CL_NOEXT")
la_col.Text = c.GetString("CAT_CL_COLONIA")
la_edo.Text = c.GetString("CAT_CL_EDO")
la_cp.Text = c.GetString("CAT_CL_CP")
l_entre1.Text = c.GetString("CAT_CL_CALLE1")
l_entre2.Text = c.GetString("CAT_CL_CALLE2")
l_atiende.Text = c.GetString("CAT_CL_ATIENDE1")
l_atiende2.Text = c.GetString("CAT_CL_ATIENTE2")
'la_saldotot.Text = c.GetString("CAT_CL_TELEFONO")
'la_saldooper.Text = c.GetString("CAT_CL_EMAIL")
l_total.Text = s.GetString("TOTAL_CLIE")
total_cliente = s.GetString("TOTAL_CLIE")
m_lat =c.GetString("CAT_CL_LAT")
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
'####################################################################################
If l_total.Text <> Null Then
If la_cuenta.Text.Contains("N") = True Then
FACTURA = 0
End If
' If FACTURA = "1" Then
' b_factura.Visible = True
' End If
End If
If c.GetString("CAT_CL_NUM_SERIEFISICO") = "0" Then
L_QR.Visible = True
Else
L_QR.Visible = False
End If
S2=Starter.skmt.ExecQuery("select count(*) AS CUANTOS from HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa)")
S2.Position =0
CUANTOS = S2.GetString("CUANTOS")
S2.Close
If CUANTOS > 0 Then
c2=Starter.skmt.ExecQuery("select sum(HVD_COSTO_TOT) AS TOTAL from HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa)")
c2.Position =0
MONTO_COMPRA = c2.GetString("TOTAL")
c2.Close
Else
MONTO_COMPRA = "0"
End If
la_saldotot.Text = MONTO_COMPRA
If MONTO_COMPRA <> "0" Then
META2 = 300 - MONTO_COMPRA
Else
META2 = 300
End If
If META2 = 0 Then
META2 = "CUBIERTO"
Else
la_saldooper.Text = NumberFormat2(META2, 1, 3, 2, False)
End If
If Printer1.IsConnected = False Then
' Printer1.Connect
' Log("1")
Else
Printer1.DisConnect
Printer1.Connect
Log("2")
End If
' Printer1.DisConnect
If PASA_IMP = "1" Then
B_IMP.Enabled = True
End If
If la_cuenta.Text = "0" Then
B_VENTA.Visible = False
gest.Visible = False
Else
B_VENTA.Visible = True
gest.Visible = True
End If
' Log(">>>>>>>>>>>> "&Starter.tipov)
If sv_encuesta.Visible = False Then
b_factura.Visible = False
B_EXIBI.Visible = True
HIST.Visible = True
Tar.Visible = True
Tels.Visible = True
B_VENTA.Visible = True
B_IMP.Visible = True
gest.Visible = True
B_IMP2.Visible = True
B_INV.Visible = True
Guardar.Visible = True
Else if sv_encuesta.Visible = True Then
b_factura.Visible = False
B_EXIBI.Visible = False
HIST.Visible = False
Tar.Visible = False
Tels.Visible = False
B_VENTA.Visible = False
B_IMP.Visible = False
gest.Visible = False
B_IMP2.Visible = False
B_INV.Visible = False
Guardar.Visible = False
End If
If CREDITO = "1" Then
Msgbox("A este cliente no se le puede vender ya que tiene adeudo en su crédito","ALTO")
B_VENTA.Visible = False
gest.Visible = False
Else
B_VENTA.Visible = True
gest.Visible = True
End If
c=Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("PERFIL"))
c.Position =0
perfil = c.GetString("CAT_VA_VALOR")
c.Close
' 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
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
Sub GPS_LocationChanged (Location1 As Location)
'lat_gps=Location1.Latitude
'lon_gps=Location1.Longitude
' BT_QR.Enabled = True
Dim sDate,sTime As String
DateTime.DateFormat = "MM/dd/yyyy"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
Starter.skmt.ExecNonQuery("DELETE FROM HIST_GPS")
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_GPS (HGDATE, HGLAT, HGLON) VALUES(?,?,?) ", Array As Object (sDate & sTime, Starter.lat_gps, Starter.lon_gps))
End Sub
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"))
' Return False
' End If
' If la_cuenta.Text <> "0" Then
' Dim queenc As String
' ' 1=1 ----> si no esta en el historico que se descargue del web ver si esta contestada de manera local
' If B4XPages.MainPage.principal.ALMACEN = "6" Then queenc = "1"
' If B4XPages.MainPage.principal.ALMACEN = "1" Then queenc = "2"
' If B4XPages.MainPage.principal.ALMACEN = "2" Then queenc = "3"
' If B4XPages.MainPage.principal.ALMACEN = "3" Then queenc = "4"
' If B4XPages.MainPage.principal.ALMACEN = "4" Then queenc = "5"
' 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
' 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
' B_EXIBI.Visible = False
' HIST.Visible = False
' Tar.Visible = False
' Tels.Visible = False
' B_VENTA.Visible = False
' B_IMP.Visible = False
' gest.Visible = False
' B_IMP2.Visible = False
' B_INV.Visible = False
' Guardar.Visible = False
' sv_encuesta.Visible = True
' sv_encuesta.Height = Root.Height
' sv_encuesta.Width = Root.Width
' sv_encuesta.Panel.LoadLayout("encuesta")
' sv_encuesta.Panel.Height = p_encuestas.Height
' p_encuestas.Width = Root.Width
'
' Dim items As List
' items.Initialize
' items.Add("Selecciona una opción")
' items.Add("ESQUINA")
' items.Add("CALLE")
' items.Add("AVENIDA")
' cb_pregunta1.SetItems(items)
' itemselect = "Selecciona una opción"
'
' Dim items2 As List
' items2.Initialize
' items2.Add("Selecciona una opción")
' items2.Add("1 persona")
' items2.Add("2 personas")
' items2.Add("Mas de 2 personas")
' cb_pregunta8.SetItems(items2)
' itemselect2 = "Selecciona una opción"
'
' bandera = 2
' Else
' Starter.tipov = "PREVENTA"
' B4XPages.ShowPage("Productos")
' End If
' Else
' Starter.tipov = "PREVENTA"
' B4XPages.ShowPage("Productos")
' End If
' Else If la_cuenta.Text = "0" Then
' Starter.tipov = "PREVENTA"
' If Subs.traeCliente = 0 Then Starter.tipov = "ABORDO"
' B4XPages.ShowPage("Productos")
' End If
Starter.tipov = "PREVENTA"
Log($"TOMAR_FOTO = ${TOMAR_FOTO}"$)
If TOMAR_FOTO = 0 Then
Cuestionario
Else
B4XPages.ShowPage("Productos")
' StartActivity(colonia2)
' Cuestionario
End If
End Sub
Sub Tels_Click
' skmt.ExecNonQuery("delete from PEDIDO")
' StartActivity(nopago)
B4XPages.ShowPage("NoVenta")
End Sub
Private Sub B4XPage_CloseRequest As ResumableSub
cuest.encuestaIniciada = False
cuest.ocultPanelPregunta
Log(p_encuesta.Visible)
If p_encuesta.Visible Then
salirDeEncuesta = True
botonPresionado = 1
ocultaPanelEncuesta
Return False
Else If sv_encuesta.Visible = True Then
Return False
Else If Subs.hayPedido Then
ToastMessageShow("Hay VENTA, por favor presiona GUARDAR para continuar.", True)
Return False
Else
B4XPages.ShowPage("Principal")
Return False
End If
End Sub
Sub Tar_Click
' StartActivity(tarjeta)
B4XPages.ShowPage("Nota")
End Sub
Sub DATOS_Click
' StartActivity(telefonos)
End Sub
Sub Guardar_Click
DateTime.DateFormat = "MM/dd/yyyy"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa")
c.Position=0
clie_id = c.GetString("CUENTA")
c=Starter.skmt.ExecQuery("select USUARIO from usuarioa")
c.Position=0
usuario = c.GetString("USUARIO")
c=Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, COUNT(*) AS CUANTOS FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
c.Position=0
If c.GetString("CUANTOS") > 0 Then
Starter.skmt.ExecNonQuery("delete from NOVENTA where NV_CLIENTE In (select cuenta from cuentaa)")
Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)")
Starter.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT) VALUES (?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), Starter.lon_gps, Starter.lat_gps))
Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
End If
c.Close
Starter.skmt.ExecNonQuery("delete from pedido3")
Starter.skmt.ExecNonQuery("INSERT INTO PEDIDO3 SELECT PE_PRECIO2, PE_TIPO, PE_FOLIO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, SUM(PE_COSTO_TOT) AS PE_COSTO_TOT, PE_COSTOU, SUM(PE_CANT) As PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, 1 As PE_FECHA, PE_USUARIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) GROUP BY PE_PRECIO2, PE_TIPO, PE_FOLIO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, PE_COSTOU, PE_PRONOMBRE, PE_PROID, PE_CLIENTE")
c=Starter.skmt.ExecQuery("select PE_PRECIO2,PE_TIPO,PE_FOLIO,PE_DESC,PE_COSTO_SIN,PE_RUTA,PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE, PE_FECHA,PE_USUARIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
If c.RowCount>0 Then
For i=0 To c.RowCount -1
c.Position=i
Starter.skmt.ExecNonQuery2("UPDATE PEDIDO3 SET PE_FECHA= ? WHERE PE_CLIENTE = ? AND PE_PRONOMBRE = ? AND PE_PROID = ? AND PE_CEDIS = ?", Array As Object(c.GetString("PE_FECHA"), c.GetString("PE_CLIENTE"),c.GetString("PE_PRONOMBRE"),c.GetString("PE_PROID"),c.GetString("PE_CEDIS")))
Next
End If
Starter.skmt.ExecNonQuery("delete from pedido WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) ")
Starter.skmt.ExecNonQuery("INSERT INTO PEDIDO SELECT * FROM PEDIDO3")
B4XPages.ShowPage("Principal")
' StartActivity(seleccion)
End Sub
Sub NUEVO_Click
' StartActivity(nuevocliente)
End Sub
Sub HIST_Click
' StartActivity(Historico)
B4XPages.ShowPage("Historico")
End Sub
Sub BT_QR_Click
'StartActivity(QR_MODULE)
Dim scan_width As Int
Dim scan_height As Int
scan_width = 400
scan_height = 400
sc.BeginScan("sc","CODIGO CLIENTE",scan_width,scan_height)
End Sub
Sub sc_result(atype As String,Values As String)
CODIGO = Values
Starter.skmt.ExecNonQuery2("UPDATE kmt_info set CAT_CL_NUM_SERIEFISICO = ?, CAT_CL_LONG = ?, CAT_CL_LAT =? where CAT_CL_CODIGO In (select cuenta from cuentaa)", Array As Object(CODIGO, Starter.lon_gps, Starter.lat_gps))
End Sub
Sub sc_noScan
Log("nothing returned from the scan !!!!!")
End Sub
Sub calc_ean_checksum(number As String) As String 'this has now become redundant as I am only interested in QR Codes
Dim i As Int
Dim cO As Char
Dim soma As Int
Dim n As Int
Dim digit As Float
soma = 0
For i=0 To number.Length - 1
digit = number.SubString2(i,i+1)
n= digit * ((i Mod 2) * 2 + 1)
soma=soma+n
Next
Return number & ( ( 10 - ( soma Mod 10 )) Mod 10 )
End Sub
Sub b_mapa_Click
' StartActivity(mapas)
End Sub
Sub B_IMP_Click
' Printer1.Connect2
c=Starter.skmt.ExecQuery2("select count(*) AS CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("PERFIL"))
c.Position =0
perfil = c.GetString("CUANTOS")
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.Position =0
perfil = c.GetString("CAT_VA_VALOR")
c.Close
End If
LogColor(perfil,Colors.Magenta)
' End If
c=Starter.skmt.ExecQuery("select USUARIO from usuarioa")
c.Position=0
usuario = c.GetString("USUARIO")
DateTime.DateFormat = "MM/dd/yyyy HH:mm:ss"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
c.Close
c=Starter.skmt.ExecQuery2("SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION =?", Array As String ("SUCURSAL"))
c.Position = 0
sucursal = c.GetString("CAT_VA_VALOR")
c.Close
ProgressDialogShow("Imprimiendo, un momento ...")
Printer1.DisConnect
If Not(Printer1.IsConnected) Then
Log("Conectando a impresora ...")
Printer1.Connect
Private cont As Int = 0
Do While Not(impresoraConectada)
Sleep(1000)
Log("++++++ " & cont)
cont = cont + 1
If cont = 2 Then Printer1.Connect 'Tratamos de reconectar
If cont > 3 Then impresoraConectada = True
Loop
Sleep(500)
impresoraConectada = False
Else
Log("conectando 2")
Printer1.Connect
Private cont As Int = 0
Do While Not(impresoraConectada) Or Not(Printer1.IsConnected)
Sleep(1000)
Log("****** " & cont)
cont = cont + 1
If cont = 2 Then Printer1.Connect
If cont > 3 Then impresoraConectada = True
Loop
Sleep(500)
impresoraConectada = False
End If
TAMANO = 0
ESPACIO = 21
BLANCO = " "
Dim bmp As Bitmap
bmp.InitializeResize(File.DirAssets, "durakelo1.png", 376, 129, True) 'ignore
Dim myimage As AnImage = Printer1.ImageToBWIMage(bmp)
myimage = Printer1.DitherImage2D(myimage, 128)
myimage= Printer1.PackImage(myimage)
Printer1.WriteString(CRLF) ' nudge the printer to show the user something is happening
Printer1.WriteString(Printer1.REVERSE)
Printer1.PrintImage(myimage)
Printer1.WriteString(Printer1.UNREVERSE)
Private x As ResultSet = Starter.skmt.ExecQuery($"SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION ='DOMICILIO'"$)
Private domicilioF As String = ""
Do While x.NextRow
domicilioF = x.GetString("CAT_VA_VALOR")
Loop
'Printer1.Justify = 1
'printer.Initialize(cmp20.OutputStream)
Printer1.WriteString("DURAKELO S.A. de C.V." & CRLF)
Printer1.WriteString("RFC: DUR-011025-T12" & CRLF)
Printer1.WriteString("REGIMEN GENERAL DE LEY DE PERSONAS MORALES" & CRLF)
Printer1.WriteString("DOM: " & domicilioF & CRLF)
Printer1.WriteString(sucursal & CRLF)
Printer1.WriteString(Subs.fechanormal(DateTime.Now) & CRLF)
Printer1.WriteString("Vendedor:" & usuario & CRLF)
Printer1.WriteString("Tienda: " & La_nombre.Text & CRLF)
Printer1.WriteString("ID.Cliente: " & la_cuenta.Text & CRLF)
Printer1.WriteString("Calle: " & la_Calle.Text & CRLF)
Printer1.WriteString("Colonia: " & la_col.Text & CRLF)
Printer1.WriteString("C.P.: " & la_cp.Text & CRLF)
Printer1.WriteString("Entre calle1: " & l_entre1.Text & CRLF)
Printer1.WriteString("Entre Calle2: " & l_entre2.Text & CRLF)
If perfil = "V-ESPECIAL" Then 'Or perfil = "V-SUPER"
Printer1.WriteString("-----------PREVENTA-----------" & CRLF)
' aqui es donde esta el pedo de julieta de los descuentos quitar el precio2 pero meter un if para saber si es ruta especial o es normal o que show.
s = Starter.skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_PRECIO2 as PE_COSTOU, length(PE_PRECIO2) as L_COSTOU,PE_CANT * PE_PRECIO2 AS PE_COSTO_TOT, length(PE_CANT * PE_PRECIO2) as L_COSTO_TOT,PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_TIPO = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PROID", Array As String("PREVENTA"))
If S.RowCount>0 Then
For i=0 To S.RowCount -1
S.Position=i
If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then
Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF)
Else
Printer1.WriteString(s.GetString("PE_CANT") & " " & s.GetString("PE_PRONOMBRE") & CRLF)
TAMANO = s.GetLong("L_CANT") + TAMANO
TAMANO = s.GetLong("L_COSTOU") + TAMANO
TAMANO = s.GetLong("L_COSTO_TOT") + TAMANO
ESPACIO = ESPACIO - TAMANO
For E=0 To ESPACIO -1
BLANCO = " " & BLANCO
Next
Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & s.GETSTRING("PE_COSTOU") & " $" & s.GETSTRING("PE_COSTO_TOT") & CRLF )
TAMANO = 0
ESPACIO = 21
BLANCO = " "
End If
Next
End If
s.Close
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("PREVENTA"))
s.Position =0
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
Printer1.WriteString("Total Preventa: $" & s.GetString("TOTAL") & CRLF)
s.Close
c=Starter.skmt.ExecQuery("select sum(PE_CANT) as PC_NOART from PEDIDO where PE_CLIENTE in (Select CUENTA from cuentaa) AND PE_PROID NOT IN (SELECT CAT_PA_ID FROM PROMOS_COMP )")
C.Position=0
Printer1.WriteString("Total Articulos: " & c.GetString("PC_NOART") & CRLF)
c.Close
Printer1.WriteString(" " & CRLF)
Else
Printer1.WriteString("-----------PREVENTA-----------" & CRLF)
' aqui es donde esta el pedo de julieta de los descuentos quitar el precio2 pero meter un if para saber si es ruta especial o es normal o que show.
s=Starter.skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU,PE_CANT * PE_COSTOU AS PE_COSTO_TOT, length(PE_CANT * PE_COSTOU) as L_COSTO_TOT,PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_TIPO = ? AND PE_CEDIS <> ? AND LENGTH(PE_CEDIS) < 4 AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PROID", Array As String("PREVENTA","DUR"))
If S.RowCount>0 Then
For i=0 To S.RowCount -1
S.Position=i
If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then
Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF)
Else
Printer1.WriteString(s.GetString("PE_CANT") & " " & s.GetString("PE_PRONOMBRE") & CRLF)
TAMANO = s.GetLong("L_CANT") + TAMANO
TAMANO = s.GetLong("L_COSTOU") + TAMANO
TAMANO = s.GetLong("L_COSTO_TOT") + TAMANO
ESPACIO = ESPACIO - TAMANO
For E=0 To ESPACIO -1
BLANCO = " " & BLANCO
Next
Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & s.GETSTRING("PE_COSTOU") & " $" & s.GETSTRING("PE_COSTO_TOT") & CRLF )
TAMANO = 0
ESPACIO = 21
BLANCO = " "
End If
Next
End If
s.Close
Printer1.WriteString(" " & CRLF)
s=Starter.skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU,PE_CANT * PE_COSTOU AS PE_COSTO_TOT, length(PE_CANT * PE_COSTOU) as L_COSTO_TOT,PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_TIPO = ? and LENGTH(PE_CEDIS) > 3 AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_CEDIS, PE_COSTOU", Array As String("PREVENTA"))
If S.RowCount>0 Then
Printer1.WriteString("----PROMOS----" & CRLF)
For i=0 To S.RowCount -1
S.Position=i
If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then
' Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF) ' Quitamos el nombre de la promo para que los tenderos no pidan la promo nuevamente.
Else
Printer1.WriteString(s.GetString("PE_CANT") & " " & s.GetString("PE_PRONOMBRE") & CRLF)
TAMANO = s.GetLong("L_CANT") + TAMANO
TAMANO = s.GetLong("L_COSTOU") + TAMANO
TAMANO = s.GetLong("L_COSTO_TOT") + TAMANO
ESPACIO = ESPACIO - TAMANO
For E=0 To ESPACIO -1
BLANCO = " " & BLANCO
Next
Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & s.GETSTRING("PE_COSTOU") & " $" & s.GETSTRING("PE_COSTO_TOT") & CRLF )
TAMANO = 0
ESPACIO = 21
BLANCO = " "
End If
Next
Printer1.WriteString(" " & CRLF)
End If
s.Close
Printer1.WriteString("-------------RMI..-----------" & CRLF)
' aqui es donde esta el pedo de julieta de los descuentos quitar el precio2 pero meter un if para saber si es ruta especial o es normal o que show.
s=Starter.skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU,PE_CANT * PE_COSTOU AS PE_COSTO_TOT, length(PE_CANT * PE_COSTOU) as L_COSTO_TOT,PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_TIPO = ? AND PE_CEDIS = ? AND LENGTH(PE_CEDIS) < 4 AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PROID", Array As String("PREVENTA","DUR"))
If S.RowCount>0 Then
For i=0 To S.RowCount -1
S.Position=i
If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then
Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF)
Else
Printer1.WriteString(s.GetString("PE_CANT") & " " & s.GetString("PE_PRONOMBRE") & CRLF)
TAMANO = s.GetLong("L_CANT") + TAMANO
TAMANO = s.GetLong("L_COSTOU") + TAMANO
TAMANO = s.GetLong("L_COSTO_TOT") + TAMANO
ESPACIO = ESPACIO - TAMANO
For E=0 To ESPACIO -1
BLANCO = " " & BLANCO
Next
Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & s.GETSTRING("PE_COSTOU") & " $" & s.GETSTRING("PE_COSTO_TOT") & CRLF )
TAMANO = 0
ESPACIO = 21
BLANCO = " "
End If
Next
End If
s.Close
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("PREVENTA"))
s.Position =0
' If s.GetString("TOTAL") - s.GetString("TOTAL2") <> 0 Then
' Printer1.WriteString("Descuento: $" & (s.GetString("TOTAL2") - s.GetString("TOTAL")))
' End If
Printer1.WriteString("Total Preventa: $" & s.GetString("TOTAL") & CRLF)
s.Close
c=Starter.skmt.ExecQuery("select sum(PE_CANT) as PC_NOART from PEDIDO where PE_CLIENTE in (Select CUENTA from cuentaa) AND PE_PROID NOT IN (SELECT CAT_PA_ID FROM PROMOS_COMP ) and PE_TIPO = 'PREVENTA'")
C.Position=0
Printer1.WriteString("Total Articulos: " & c.GetString("PC_NOART") & CRLF)
Private bc As ResultSet = Starter.skmt.ExecQuery($"select CAT_CL_BCREDITO from kmt_info where CAT_CL_CODIGO = '${Subs.traeCliente}'"$)
Private formaPago As String = "Efectivo"
Do While bc.NextRow
If bc.GetString("CAT_CL_BCREDITO") = 1 Then formaPago = "Por definir"
Loop
Printer1.WriteString("Forma de pago: " & formaPago & CRLF)
c.Close
End If
Printer1.WriteString(" " & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString("ENTREGA EN :" & CRLF)
Printer1.WriteString(la_Calle.Text & CRLF)
Printer1.WriteString("----ESTE TICKET NO ES UN -----" & CRLF)
Printer1.WriteString("--COMPROBANTE FISCAL, SOLO ES-" & CRLF)
Printer1.WriteString("--------INFORMATIVO-----------" & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString(" " & CRLF)
Sleep(1000)
Printer1.DisConnect
ProgressDialogHide
' printer.Flush
' printer.Close
End Sub
Sub B_IMP2_Click
' Printer1.Connect2
c=Starter.skmt.ExecQuery2("select count(*) AS CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("PERFIL"))
c.Position =0
perfil = c.GetString("CUANTOS")
c.Close
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)
Log(1)
c=Starter.skmt.ExecQuery("select USUARIO from usuarioa")
c.Position=0
usuario = c.GetString("USUARIO")
DateTime.DateFormat = "MM/dd/yyyy HH:mm:ss"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
c.Close
c=Starter.skmt.ExecQuery2("SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION =?", Array As String ("SUCURSAL"))
c.Position = 0
sucursal = c.GetString("CAT_VA_VALOR")
c.Close
ProgressDialogShow("Imprimiendo, un momento ...")
Printer1.DisConnect
If Not(Printer1.IsConnected) Then
Log("conectando 1")
Printer1.Connect
Private cont As Int = 0
Do While Not(impresoraConectada)
Sleep(1000)
cont = cont + 1
Log("x")
If cont = 7 Then Printer1.Connect 'Tratamos de reconectar
If cont > 15 Then impresoraConectada = True
Loop
Sleep(500)
impresoraConectada = False
Else
Log("conectando 2")
Printer1.Connect
Private cont As Int = 0
Do While Not(impresoraConectada) Or Not(Printer1.IsConnected)
Sleep(1000)
cont = cont + 1
If cont = 2 Then Printer1.Connect
If cont > 4 Then impresoraConectada = True
Loop
Sleep(500)
impresoraConectada = False
End If
Log("Iniciamos ...")
TAMANO = 0
ESPACIO = 21
BLANCO = " "
Dim bmp As Bitmap
bmp.InitializeResize(File.DirAssets, "durakelo1.png", 376, 129, True) 'ignore
Dim myimage As AnImage = Printer1.ImageToBWIMage(bmp)
myimage = Printer1.DitherImage2D(myimage, 128)
myimage= Printer1.PackImage(myimage)
Log("Iniciamos 2 ...")
Printer1.WriteString(CRLF) ' nudge the printer to show the user something is happening
Printer1.WriteString(Printer1.REVERSE)
Printer1.PrintImage(myimage)
Printer1.WriteString(Printer1.UNREVERSE)
Private x As ResultSet = Starter.skmt.ExecQuery($"SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION ='DOMICILIO'"$)
Private domicilioF As String = ""
Do While x.NextRow
domicilioF = x.GetString("CAT_VA_VALOR")
Loop
' printer.Initialize(cmp20.OutputStream)
Printer1.WriteString("DURAKELO S.A. de C.V." & CRLF)
Printer1.WriteString("RFC: DUR-011025-T12" & CRLF)
Printer1.WriteString("REGIMEN GENERAL DE LEY DE PERSONAS MORALES" & CRLF)
Printer1.WriteString("DOM: " & domicilioF & CRLF)
Printer1.WriteString(sucursal & CRLF)
Printer1.WriteString(Subs.fechanormal(DateTime.Now) & CRLF)
Printer1.WriteString("Vendedor:" & usuario & CRLF)
Printer1.WriteString("Tienda: " & La_nombre.Text & CRLF)
Printer1.WriteString("ID.Cliente: " & la_cuenta.Text & CRLF)
Printer1.WriteString("Calle: " & la_Calle.Text & CRLF)
Printer1.WriteString("Colonia: " & la_col.Text & CRLF)
Printer1.WriteString("C.P.: " & la_cp.Text & CRLF)
Printer1.WriteString("Entre calle1: " & l_entre1.Text & CRLF)
Printer1.WriteString("Entre Calle2: " & l_entre2.Text & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString("-----------ENTREGA------------" & CRLF)
s=Starter.skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU, PE_COSTO_TOT, length(PE_COSTO_TOT) as L_COSTO_TOT, PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_TIPO = ? AND PE_CEDIS <> ? AND LENGTH(PE_CEDIS) < 4 AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PRONOMBRE", Array As String("VENTA","DUR"))
If S.RowCount>0 Then
For i=0 To S.RowCount -1
S.Position=i
If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then
Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF)
Else
Printer1.WriteString(s.GetString("PE_CANT") & " " & s.GetString("PE_PRONOMBRE") & CRLF)
TAMANO = s.GetLong("L_CANT") + TAMANO
TAMANO = s.GetLong("L_COSTOU") + TAMANO
TAMANO = s.GetLong("L_COSTO_TOT") + TAMANO
ESPACIO = ESPACIO - TAMANO
For E=0 To ESPACIO -1
BLANCO = " " & BLANCO
Next
Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & s.GETSTRING("PE_COSTOU") & " $" & s.GETSTRING("PE_COSTO_TOT") & CRLF )
TAMANO = 0
ESPACIO = 21
BLANCO = " "
End If
Next
End If
s.Close
Printer1.WriteString(" " & CRLF)
s=Starter.skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU, PE_COSTO_TOT, length(PE_COSTO_TOT) as L_COSTO_TOT, PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_TIPO = ? AND LENGTH(PE_CEDIS) > 3 AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_CEDIS, PE_COSTOU", Array As String("VENTA"))
If S.RowCount>0 Then
Printer1.WriteString("-----------PROMOS-------------" & CRLF)
For i=0 To S.RowCount -1
S.Position=i
If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then
' Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF) ' Quitamos el nombre de la promo para que los tenderos no pidan la promo nuevamente.
Else
Printer1.WriteString(s.GetString("PE_CANT") & " " & s.GetString("PE_PRONOMBRE") & CRLF)
TAMANO = s.GetLong("L_CANT") + TAMANO
TAMANO = s.GetLong("L_COSTOU") + TAMANO
TAMANO = s.GetLong("L_COSTO_TOT") + TAMANO
ESPACIO = ESPACIO - TAMANO
For E=0 To ESPACIO -1
BLANCO = " " & BLANCO
Next
Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & s.GETSTRING("PE_COSTOU") & " $" & s.GETSTRING("PE_COSTO_TOT") & CRLF )
TAMANO = 0
ESPACIO = 21
BLANCO = " "
End If
Next
Printer1.WriteString(" " & CRLF)
End If
s.Close
Printer1.WriteString("-------------RMI--------------" & CRLF)
s=Starter.skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU, PE_COSTO_TOT, length(PE_COSTO_TOT) as L_COSTO_TOT, PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_TIPO = ? AND PE_CEDIS = ? AND LENGTH(PE_CEDIS) < 4 AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PRONOMBRE", Array As String("VENTA","DUR"))
If S.RowCount>0 Then
For i=0 To S.RowCount -1
S.Position=i
If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then
Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF)
Else
Printer1.WriteString(s.GetString("PE_CANT") & " " & s.GetString("PE_PRONOMBRE") & CRLF)
TAMANO = s.GetLong("L_CANT") + TAMANO
TAMANO = s.GetLong("L_COSTOU") + TAMANO
TAMANO = s.GetLong("L_COSTO_TOT") + TAMANO
ESPACIO = ESPACIO - TAMANO
For E=0 To ESPACIO -1
BLANCO = " " & BLANCO
Next
Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & s.GETSTRING("PE_COSTOU") & " $" & s.GETSTRING("PE_COSTO_TOT") & CRLF )
TAMANO = 0
ESPACIO = 21
BLANCO = " "
End If
Next
End If
s.Close
Printer1.WriteString(" " & CRLF)
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
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"))
s.Position =0
Printer1.WriteString("Total entrega: $" & s.GetString("TOTAL") & CRLF)
s.Close
c=Starter.skmt.ExecQuery("select sum(PE_CANT) as PC_NOART from PEDIDO where PE_CLIENTE in (Select CUENTA from cuentaa) AND PE_PROID NOT IN (SELECT CAT_PA_ID FROM PROMOS_COMP ) and PE_TIPO = 'PREVENTA' ")
C.Position=0
Printer1.WriteString("Total Articulos: " & c.GetString("PC_NOART") & CRLF)
Private bc As ResultSet = Starter.skmt.ExecQuery($"select CAT_CL_BCREDITO from kmt_info where CAT_CL_CODIGO = '${Subs.traeCliente}'"$)
Private formaPago As String = "Efectivo"
Do While bc.NextRow
If bc.GetString("CAT_CL_BCREDITO") = 1 Then formaPago = "Por definir"
Loop
Printer1.WriteString("Forma de pago: " & formaPago & CRLF)
c.Close
' Printer1.WriteString("------------VENTA-------------")
' Printer1.WriteString("TOTAL COMPRA: $:" & total_cliente)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString("ENTREGA EN :" & CRLF)
Printer1.WriteString(la_Calle.Text & CRLF)
Printer1.WriteString("----ESTE TICKET NO ES UN -----" & CRLF)
Printer1.WriteString("--COMPROBANTE FISCAL, SOLO ES-" & CRLF)
Printer1.WriteString("--------INFORMATIVO-----------" & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString(" " & CRLF)
Sleep(1000)
Printer1.DisConnect
ProgressDialogHide
'printer.Flush
' printer.Close
End Sub
Sub B_INV_Click
'' Printer1.Connect2
c=Starter.skmt.ExecQuery("select USUARIO from usuarioa")
c.Position=0
usuario = c.GetString("USUARIO")
DateTime.DateFormat = "MM/dd/yyyy"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
c.Close
ProgressDialogShow("Imprimiendo, un momento ...")
' Printer1.DisConnect
If Not(Printer1.IsConnected) Then
Log("conectando 1")
Printer1.Connect
Private cont As Int = 0
Do While Not(impresoraConectada)
' Log("conectando ...")
Sleep(1000)
cont = cont + 1
If cont = 3 Then Printer1.Connect 'Tratamos de reconectar
If cont > 15 Then impresoraConectada = True
Loop
Sleep(500)
impresoraConectada = False
Else
Log("conectando 2")
Printer1.Connect
Private cont As Int = 0
Do While Not(impresoraConectada) Or Not(Printer1.IsConnected)
' Log("conectando ...")
Sleep(1000)
cont = cont + 1
If cont = 2 Then Printer1.Connect
If cont > 4 Then impresoraConectada = True
Loop
Sleep(500)
impresoraConectada = False
End If
TAMANO = 5
ESPACIO = 21
BLANCO = " "
' printer.Initialize(cmp20.OutputStream)
Printer1.WriteString("DURAKELO S.A. de C.V." & CRLF)
Printer1.WriteString("RESUMEN DIA A LA HORA" & CRLF)
Printer1.WriteString(sDate & " " & sTime & CRLF)
Printer1.WriteString("Vendedor:" & usuario & CRLF )
Printer1.WriteString("-------------VENTA-------------" & CRLF)
E1=Starter.skmt.ExecQuery2("Select count(*) As CUANTOS from pedido where PE_TIPO = ?", Array As String("VENTA"))
E1.Position = 0
If E1.GetString("CUANTOS") > 0 Then
c=Starter.skmt.ExecQuery2("Select sum(PE_COSTO_TOT) As MONTO_DIA from pedido where PE_TIPO = ?", Array As String("VENTA"))
c.Position = 0
Printer1.WriteString("VENTA: " & c.GetString("MONTO_DIA") & CRLF)
c.Close
Else
Printer1.WriteString("VENTA: " & "0" & CRLF)
End If
E1.Close
E1=Starter.skmt.ExecQuery2("Select count(*) As CUANTOS from pedido where PE_TIPO = ?", Array As String("PREVENTA"))
E1.Position = 0
If E1.GetString("CUANTOS") > 0 Then
c=Starter.skmt.ExecQuery2("Select sum(PE_COSTO_TOT) As MONTO_DIA from pedido where PE_TIPO = ?", Array As String("PREVENTA"))
c.Position = 0
Printer1.WriteString("PREVENTA: " & c.GetString("MONTO_DIA") & CRLF)
c.Close
Else
Printer1.WriteString("PREVENTA: " & "0" & CRLF)
End If
E1.Close
E1=Starter.skmt.ExecQuery2("Select count(*) As CUANTOS from pedido where PE_TIPO = ?", Array As String("ABORDO"))
E1.Position = 0
If E1.GetString("CUANTOS") > 0 Then
c=Starter.skmt.ExecQuery2("Select sum(PE_COSTO_TOT) As MONTO_DIA from pedido where PE_TIPO = ?", Array As String("ABORDO"))
c.Position = 0
Printer1.WriteString("ABORDO: " & c.GetString("MONTO_DIA") & CRLF)
c.Close
Else
Printer1.WriteString("ABORDO: " & "0" & CRLF)
End If
E1.Close
Printer1.WriteString("-----------INVENTARIO-----------" & CRLF)
' aqui es donde esta el pedo de julieta de los descuentos quitar el precio2 pero meter un if para saber si es ruta especial o es normal o que show.
s=Starter.skmt.ExecQuery2 ("select CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_ALMACEN from cat_gunaprod2 where CAT_GP_CLASIF <> ? ORDER BY CAT_GP_NOMBRE ", Array As String("PROMOS"))
If S.RowCount>0 Then
For i=0 To S.RowCount -1
S.Position=i
Printer1.WriteString(s.GetString("CAT_GP_NOMBRE") & CRLF)
Printer1.WriteString("CANTIDAD: " & s.GetString("CAT_GP_ALMACEN") & CRLF)
TAMANO = TAMANO + 1
If TAMANO > 40 Then
t3.Initialize("T3", 4000) ' 1000 = 1 second
t3.Enabled = True
Wait For t3_tick
TAMANO = 0
End If
Next
End If
s.Close
Printer1.WriteString(" " & CRLF)
Printer1.WriteString("-----------RMI----------------" & CRLF)
Printer1.WriteString(" " & CRLF)
'c=Starter.skmt.ExecQuery2("select count(*) as CUANTOS from pedido where substr(pe_pronombre,1,6) = ? GROUP BY PE_PRONOMBRE", Array As String("CAMBIO"))
'c.Position =0
'Cuantos = c.GETSTRING("CUANTOS")
'c.Close
'If Cuantos >0 Then
c=Starter.skmt.ExecQuery2("select SUM(PE_CANT) AS CANTIDAD,PE_PRONOMBRE from pedido where substr(pe_pronombre,1,6) = ? GROUP BY PE_PRONOMBRE", Array As String("CAMBIO"))
If C.RowCount>0 Then
For i=0 To C.RowCount -1
C.Position=i
Printer1.WriteString(C.GetString("CANTIDAD") & " " & C.GetString("PE_PRONOMBRE") & CRLF )
Next
End If
c.Close
'End If
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString("Nombre y Firma" & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString("______________________________" & CRLF )
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString(" " & CRLF)
' printer.Flush
ProgressDialogHide
Printer1.DisConnect
End Sub
Sub B_VENTA_Click
' 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"))
' Return False
' End If
' If la_cuenta.Text <> "0" Then
' Dim queenc As String
' ' 1=1 ----> si no esta en el historico que se descargue del web ver si esta contestada de manera local
' If B4XPages.MainPage.principal.ALMACEN = "6" Then queenc = "1"
' If B4XPages.MainPage.principal.ALMACEN = "1" Then queenc = "2"
' If B4XPages.MainPage.principal.ALMACEN = "2" Then queenc = "3"
' If B4XPages.MainPage.principal.ALMACEN = "3" Then queenc = "4"
' If B4XPages.MainPage.principal.ALMACEN = "4" Then queenc = "5"
' 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
' 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
' B_EXIBI.Visible = False
' HIST.Visible = False
' Tar.Visible = False
' Tels.Visible = False
' B_VENTA.Visible = False
' B_IMP.Visible = False
' gest.Visible = False
' B_IMP2.Visible = False
' B_INV.Visible = False
' Guardar.Visible = False
' sv_encuesta.Visible = True
' sv_encuesta.Height = Root.Height
' sv_encuesta.Width = Root.Width
' sv_encuesta.Panel.LoadLayout("encuesta")
' sv_encuesta.Panel.Height = p_encuestas.Height
' p_encuestas.Width = Root.Width
'
' Dim items As List
' items.Initialize
' items.Add("Selecciona una opción")
' items.Add("ESQUINA")
' items.Add("CALLE")
' items.Add("AVENIDA")
' cb_pregunta1.SetItems(items)
' itemselect = "Selecciona una opción"
'
' Dim items2 As List
' items2.Initialize
' items2.Add("Selecciona una opción")
' items2.Add("1 persona")
' items2.Add("2 personas")
' items2.Add("Mas de 2 personas")
' cb_pregunta8.SetItems(items2)
' itemselect2 = "Selecciona una opción"
'
' bandera = 1
' Else
' Starter.tipov = "VENTA"
' B4XPages.ShowPage("Productos")
' End If
' Else
' Starter.tipov = "VENTA"
' B4XPages.ShowPage("Productos")
' End If
' Else If la_cuenta.Text = "0" Then
' Starter.tipov = "VENTA"
' B4XPages.ShowPage("Productos")
' End If
Starter.tipov = "VENTA"
Log($"TOMAR_FOTO = ${TOMAR_FOTO}"$)
If TOMAR_FOTO = 0 Then
Cuestionario
Else
' StartActivity(colonia2)
B4XPages.ShowPage("Productos")
' Cuestionario
End If
End Sub
Sub b_factura_Click
End Sub
Sub CH_TA_CheckedChange(Checked As Boolean)
End Sub
Sub CH_TC_CheckedChange(Checked As Boolean)
End Sub
Sub CH_TB_CheckedChange(Checked As Boolean)
End Sub
Sub CH_TD_CheckedChange(Checked As Boolean)
End Sub
Sub B_GUARDAR_Click
If CH_TA.Checked = True Then
TIPOEX = CH_TA.Text
ELSE If CH_TB.Checked = True Then
TIPOEX = CH_TB.Text
ELSE If CH_TC.Checked = True Then
TIPOEX = CH_TC.Text
ELSE If CH_TD.Checked = True Then
TIPOEX = CH_TD.Text
End If
Panel1.Visible = False
B_EXIBI.Visible = True
' b_factura.Visible = True
HIST.Visible = True
Tar.VISIBLE = True
B_IMP.Visible = True
Tels.Visible = True
B_VENTA.Visible = True
B_IMP2.Visible = True
gest.Visible = True
Guardar.Visible = True
B_INV.Visible = True
c=Starter.skmt.ExecQuery("select CUENTA from cuentaa")
c.Position = 0
cuenta = c.GetString("CUENTA")
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_EXIBIDORES(CAT_CL_CLIENTE,CAT_CL_EXHIBIDOR,CAT_CL_BEXHIBIDOR) VALUES(?,?,?)", Array As Object(cuenta,TIPOEX,E_CUANTOS_E.Text))
End Sub
Sub B_EXIBI_Click
s=Starter.skmt.ExecQuery("select CAT_EX_ID, CAT_EX_TIPO, CAT_EX_VALOR FROM CAT_EXHIBIDORES")
If s.RowCount>0 Then
For i=0 To s.RowCount -1
s.Position=i
If s.GetString("CAT_EX_ID") = "1" Then
CH_TA.Text = s.GetString("CAT_EX_VALOR")
End If
If s.GetString("CAT_EX_ID") = "2" Then
CH_TB.Text = s.GetString("CAT_EX_VALOR")
End If
If s.GetString("CAT_EX_ID") = "3" Then
CH_TC.Text = s.GetString("CAT_EX_VALOR")
End If
If s.GetString("CAT_EX_ID") = "4" Then
CH_TD.Text = s.GetString("CAT_EX_VALOR")
End If
Next
End If
E_CUANTOS_E.Text = ""
CH_TA.Checked = False
CH_TB.Checked = False
CH_TC.Checked = False
CH_TD.Checked = False
Panel1.Visible = True
B_EXIBI.Visible = False
b_factura.Visible = False
HIST.Visible = False
Tar.VISIBLE = False
B_IMP.Visible = False
Tels.Visible = False
B_VENTA.Visible = False
B_IMP2.Visible = False
gest.Visible = False
Guardar.Visible = False
B_INV.Visible = False
End Sub
Sub Printer1_Connected (Success As Boolean)
' If Logger Then Log("Printer1_Connected")
If Success Then
ToastMessageShow("Impresora conectada", False)
Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("MACIMP"))
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("MACIMP",Starter.mac_impresora))
LogColor("Impresora conectada", Colors.Green)
' B_IMP2.Enabled = True
impresoraConectada = True
Else
' Msgbox(Printer1.ConnectedErrorMsg, "Error connecting.") 'ignore
' ToastMessageShow("Error conectando la impresora", False)
LogColor("Error conectando la impresora", Colors.Red)
errorImpresora = errorImpresora + 1
If errorImpresora > 1 Then
Starter.MAC_IMPRESORA = "0"
errorImpresora = 0
End If
End If
End Sub
'Sub Printer1_Connected (Success As Boolean)
' Log("Impresora conectada.")
' If Success Then
' Log("aqui estoy 1")
' ToastMessageShow("Connected successfully", False)
' Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("MACIMP"))
' Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("MACIMP", Starter.mac_impresora))
' B_IMP.Enabled = True
' impresoraConectada = False
'' Printer1.DisConnect
' Else
'' Msgbox(Printer1.ConnectedErrorMsg, "Error connecting.")
'' If Msgbox2("", "Printer Error","Reprint","Cancel","",Null) = DialogResponse.POSITIVE Then 'ignore
'' StartPrinter
'' End If
' End If
'End Sub
Sub StartPrinter
Dim PairedDevices As Map
Dim L As List
Dim resimp As Int
ToastMessageShow("Printing.....",True)
PairedDevices.Initialize
Try
PairedDevices = cmp20.GetPairedDevices
Catch
Msgbox("Getting Paired Devices","Printer Error") 'ignore
printer.Close
cmp20.Disconnect
End Try
If PairedDevices.Size = 0 Then
Msgbox("Error Connecting to Printer - Printer Not Found","") 'ignore
Return
End If
If PairedDevices.Size = 1 Then
Try
cmp20.Connect(PairedDevices.Get(PairedDevices.GetKeyAt(0)))
Catch
Msgbox("Connecting","Printer Error") 'ignore
printer.Close
cmp20.Disconnect
End Try
Else
L.Initialize
For i = 0 To PairedDevices.Size - 1
L.Add(PairedDevices.GetKeyAt(i))
Next
resimp = InputList(L, "Choose device", -1) 'ignore
If resimp <> DialogResponse.CANCEL Then
cmp20.Connect(PairedDevices.Get(L.Get(resimp)))
End If
End If
End Sub
Sub cuestionario2
DateTime.DateFormat = "MM/dd/yyyy HH:mm:ss"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
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")
Else
CUANTOS = 0
End If
If CUANTOS = 0 Then
c=Starter.skmt.ExecQuery("SELECT * FROM CAT_ENCUESTA_PREGUNTA ORDER BY CAT_CE_DESCRIPCION, CAST(CAT_EP_ORDEN_PREGUNTA AS DECIMAL)")
If c.RowCount>0 Then
For i=0 To c.RowCount -1
Log($"#### |${sDate}|${sTime}| ######"$)
If TOMAR_FOTO = 1 Then
If CURSOR_FOTO + 1 > c.RowCount -1 Then
TOMAR_FOTO = 0
Exit
Else
i = CURSOR_FOTO +1
End If
'Msgbox(i,"a")
TOMAR_FOTO = 0
End If
c.Position=i
' Msgbox("paso1","a")
If c.GetString("CAT_EP_IDTIPOPREGUNTA") = 5 Then
id_encuesta = c.GetString("CAT_EP_ID")
TOMAR_FOTO = 1
CURSOR_FOTO = i
' StartActivity(foto)
' Msgbox("paso2","a")
Exit
ELSE IF c.GetString("CAT_EP_IDTIPOPREGUNTA") = 3 Then
res = Msgbox2(c.GetString("CAT_EP_PREGUNTA"),c.GetString("CAT_CE_DESCRIPCION"), "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png"))
If res = DialogResponse.POSITIVE Then
Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, "SI",sDate & sTime,c.GetString("CAT_EP_ID")))
Else IF res = DialogResponse.NEGATIVE Then
Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, "NO",sDate & sTime,c.GetString("CAT_EP_ID")))
Else IF res = DialogResponse.CANCEL Then
i = i -1
End If
ELSE IF c.GetString("CAT_EP_IDTIPOPREGUNTA") = 4 Then
res = Msgbox2(c.GetString("CAT_EP_PREGUNTA"),c.GetString("CAT_CE_DESCRIPCION"), "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png"))
If res = DialogResponse.POSITIVE Then
Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, "SI",sDate & sTime,c.GetString("CAT_EP_ID")))
'i = c.GetString("CAT_EP_RES1_PRED") -1
Else IF res = DialogResponse.NEGATIVE Then
Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, "NO",sDate & sTime,c.GetString("CAT_EP_ID")))
i = c.GetInt("CAT_EP_RES2_PRED") -2
Else IF res = DialogResponse.CANCEL Then
i = i -1
End If
' Msgbox("paso3","a")
ELSE If c.GetString("CAT_EP_IDTIPOPREGUNTA") = 2 Then
res = Msgbox2(c.GetString("CAT_EP_PREGUNTA"),c.GetString("CAT_CE_DESCRIPCION"), c.GetString("CAT_EP_RES1_PRED"), c.GetString("CAT_EP_RES2_PRED"),c.GetString("CAT_EP_RES3_PRED"),LoadBitmap(File.DirAssets,"alert2.png"))
If res = DialogResponse.POSITIVE Then
Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, c.GetString("CAT_EP_RES1_PRED"),sDate & sTime,c.GetString("CAT_EP_ID")))
Else IF res = DialogResponse.NEGATIVE Then
Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, c.GetString("CAT_EP_RES3_PRED"),sDate & sTime,c.GetString("CAT_EP_ID")))
Else IF res = DialogResponse.CANCEL Then
Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, c.GetString("CAT_EP_RES2_PRED"),sDate & sTime,c.GetString("CAT_EP_ID")))
End If
' Msgbox("paso4","a")
ELSE If c.GetString("CAT_EP_IDTIPOPREGUNTA") = 6 Then
Panel10.Visible = True
l_chk_e.Text = c.GetString("CAT_EP_PREGUNTA")
Chk_1.Checked = False
chk_2.Checked = False
chk_3.Checked = False
Chk_1.Text = c.GetString("CAT_EP_RES1_PRED")
chk_2.Text = c.GetString("CAT_EP_RES2_PRED")
chk_3.Text = c.GetString("CAT_EP_RES3_PRED")
chk_1_valor = c.GetString("CAT_EP_RES1_PRED")
chk_2_valor = c.GetString("CAT_EP_RES2_PRED")
chk_3_valor = c.GetString("CAT_EP_RES3_PRED")
TOMAR_FOTO = 1
CURSOR_FOTO = i
' Msgbox("paso5","a")
Exit
ELSE If c.GetString("CAT_EP_IDTIPOPREGUNTA") = 1 Then
Panel9.Visible = True
t_tenc.Text = c.GetString("CAT_EP_PREGUNTA")
Label26.Text = c.GetString("CAT_CE_DESCRIPCION")
E_RES_E.Text = ""
TOMAR_FOTO = 1
CURSOR_FOTO = i
Exit
Else
' Main.tipov = "VENTA"
' StartActivity(colonia2)
End If
Next
Else
' Main.tipov = "VENTA"
' StartActivity(colonia2)
End If
Else
' Main.tipov = "VENTA"
' StartActivity(colonia2)
End If
End Sub
Sub B_E_NEXT_Click
Panel9.Visible = False
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
'StartActivity(colonia2)
End Sub
Sub b_chk_e_Click
Panel10.Visible = False
If Chk_1.Checked = True Then
Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, chk_1_valor,sDate & sTime,c.GetString("CAT_EP_ID")))
else if chk_2.Checked = True Then
Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, chk_2_valor,sDate & sTime,c.GetString("CAT_EP_ID")))
else if chk_3.Checked = True Then
Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, chk_3_valor,sDate & sTime,c.GetString("CAT_EP_ID")))
End If
Starter.tipov = "VENTA"
'TOMAR_FOTO = 1
Cuestionario
End Sub
Private Sub cb_pregunta1_SelectedIndexChanged (Index As Int)
itemselect = cb_pregunta1.SelectedItem
End Sub
Private Sub cb_pregunta8_SelectedIndexChanged (Index As Int)
itemselect2 = cb_pregunta8.SelectedItem
End Sub
Private Sub b_guadaenc_Click
Starter.skmt.ExecNonQuery("Delete from HIST_ENCUESTA WHERE HE_CLIE IN (SELECT CUENTA FROM CUENTAA)")
If itemselect <> "Selecciona una opción" Then
DateTime.DateFormat = "MM/dd/yyyy"
DateTime.TimeFormat = "HH:mm:ss"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
c = Starter.skmt.ExecQuery("SELECT CUENTA FROM CUENTAA")
c.Position = 0
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_ENCUESTA4 VALUES(?,?,?,?,?) ",Array As String(c.GetString("CUENTA"),itemselect,sDate&" "&sTime,2,1 ))
c.Close
If et_pregunta2.Text <> "" Then
DateTime.DateFormat = "MM/dd/yyyy"
DateTime.TimeFormat = "HH:mm:ss"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
c = Starter.skmt.ExecQuery("SELECT CUENTA FROM CUENTAA")
c.Position = 0
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_ENCUESTA4 VALUES(?,?,?,?,?) ",Array As String(c.GetString("CUENTA"),et_pregunta2.Text,sDate&" "&sTime,1,2 ))
c.Close
If et_pregunta3.Text <> "" Then
DateTime.DateFormat = "MM/dd/yyyy"
DateTime.TimeFormat = "HH:mm:ss"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
c = Starter.skmt.ExecQuery("SELECT CUENTA FROM CUENTAA")
c.Position = 0
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_ENCUESTA4 VALUES(?,?,?,?,?) ",Array As String(c.GetString("CUENTA"),et_pregunta3.Text,sDate&" "&sTime,1 ,3))
c.Close
If et_pregunta4.Text <> "" Then
DateTime.DateFormat = "MM/dd/yyyy"
DateTime.TimeFormat = "HH:mm:ss"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
c = Starter.skmt.ExecQuery("SELECT CUENTA FROM CUENTAA")
c.Position = 0
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_ENCUESTA4 VALUES(?,?,?,?,?) ",Array As String(c.GetString("CUENTA"),et_pregunta4.Text,sDate&" "&sTime,1,4 ))
c.Close
If et_pregunta5.Text <> "" Then
DateTime.DateFormat = "MM/dd/yyyy"
DateTime.TimeFormat = "HH:mm:ss"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
c = Starter.skmt.ExecQuery("SELECT CUENTA FROM CUENTAA")
c.Position = 0
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_ENCUESTA4 VALUES(?,?,?,?,?) ",Array As String(c.GetString("CUENTA"),et_pregunta5.Text,sDate&" "&sTime,1,5 ))
c.Close
If et_pregunta6.Text <> "" Then
DateTime.DateFormat = "MM/dd/yyyy"
DateTime.TimeFormat = "HH:mm:ss"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
c = Starter.skmt.ExecQuery("SELECT CUENTA FROM CUENTAA")
c.Position = 0
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_ENCUESTA4 VALUES(?,?,?,?,?) ",Array As String(c.GetString("CUENTA"),et_pregunta6.Text,sDate&" "&sTime,1 ,6))
c.Close
If rb_p7no.Checked = True Or rb_p7si.Checked = True Then
DateTime.DateFormat = "MM/dd/yyyy"
DateTime.TimeFormat = "HH:mm:ss"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
c = Starter.skmt.ExecQuery("SELECT CUENTA FROM CUENTAA")
c.Position = 0
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_ENCUESTA4 VALUES(?,?,?,?,?) ",Array As String(c.GetString("CUENTA"),pregunta7,sDate&" "&sTime,3,7 ))
c.Close
If itemselect2 <> "Selecciona una opción" Then
DateTime.DateFormat = "MM/dd/yyyy"
DateTime.TimeFormat = "HH:mm:ss"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
c = Starter.skmt.ExecQuery("SELECT CUENTA FROM CUENTAA")
c.Position = 0
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_ENCUESTA4 VALUES(?,?,?,?,?) ",Array As String(c.GetString("CUENTA"),itemselect2,sDate&" "&sTime,2,8 ))
c.Close
If bandera = 1 Then
rb_p7si.Checked = False
rb_p7no.Checked = False
et_pregunta2.Text = ""
et_pregunta3.Text = ""
et_pregunta4.Text = ""
et_pregunta5.Text = ""
et_pregunta6.Text = ""
itemselect2 = "Selecciona una opción"
itemselect = "Selecciona una opción"
sv_encuesta.Visible =False
Starter.tipov = "VENTA"
B4XPages.ShowPage("Productos")
Else If bandera = 2 Then
rb_p7si.Checked = False
rb_p7no.Checked = False
et_pregunta2.Text = ""
et_pregunta3.Text = ""
et_pregunta4.Text = ""
et_pregunta5.Text = ""
et_pregunta6.Text = ""
itemselect2 = "Selecciona una opción"
itemselect = "Selecciona una opción"
sv_encuesta.Visible =False
Starter.tipov = "PREVENTA"
B4XPages.ShowPage("Productos")
End If
Else
MsgboxAsync("Por favor completa la encuesta","Atención")
End If
Else
MsgboxAsync("Por favor completa la encuesta","Atención")
End If
Else
MsgboxAsync("Por favor completa la encuesta","Atención")
End If
Else
MsgboxAsync("Por favor completa la encuesta","Atención")
End If
Else
MsgboxAsync("Por favor completa la encuesta","Atención")
End If
Else
MsgboxAsync("Por favor completa la encuesta","Atención")
End If
Else
MsgboxAsync("Por favor completa la encuesta","Atención")
End If
Else
MsgboxAsync("Por favor completa la encuesta","Atención")
End If
End Sub
Private Sub rb_p7si_CheckedChange(Checked As Boolean)
pregunta7 = "Si"
End Sub
Private Sub rb_p7no_CheckedChange(Checked As Boolean)
pregunta7 = "No"
End Sub
Sub cuest_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 = "dd/MM/yyyy"
DateTime.TimeFormat = "HH:mm:ss"
Starter.skmt.ExecNonQuery($"delete from CUESTIONARIO where Q_IDCLIENTE = '${Subs.traeCliente}' and Q_IDPREGUNTA = '${m.Get("idPregunta")}'"$)
Starter.skmt.ExecNonQuery($"insert into CUESTIONARIO (Q_RUTA, Q_ALMACEN, Q_IDCLIENTE, Q_IDPREGUNTA, Q_PREGUNTA, Q_IDRESPUESTA, Q_RESPUESTA, Q_FECHA) values ('${Subs.traeRuta}', '${Subs.traeAlmacen}', '${Subs.traeCliente}', '${m.Get("idPregunta")}', '${m.Get("pregunta")}', '${m.Get("idRespuesta")}', '${m.Get("respuesta")}', '${DateTime.Date(DateTime.now)} ${DateTime.time(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)
cuest.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
cuest.agregaPregunta("2", "¿Tiene al menos 3 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 3 pasillos con acceso directo a la mercancía" Then
Log("Mini-Super")
ToastMessageShow("Mini-Super", False)
cuest.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
cuest.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)
cuest.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
cuest.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)
cuest.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
cuest.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
cuest.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(">>>>>>>>>> " & cuest.encuestaIniciada)
cuest.encuestaIniciada = False
Log(">>>>>>>>>> " & cuest.encuestaIniciada)
' refrescarCliente = True
' Log($"#### REFRESCAR CLIENTE -> ${refrescarCliente}"$)
B4XPage_Appear
' Case 6
End Select
End Sub
'Esta subrutina muestra las encuestas.
Sub Cuestionario
Log("########################################################")
Log("Entramos a Cuestionario")
Private gruposPermitidos As String = ""
Private gr As ResultSet = Starter.skmt.ExecQuery($"select distinct cat_ep_idgrupo, cat_ep_rutas from cat_encuesta_pregunta"$) 'Traemos el grupo y lista de rutas permitidas para la encuesta
Do While gr.NextRow
Private lasRutas() As String = Regex.Split(",", gr.GetString("CAT_EP_RUTAS")) ' Generamos lista de rutas y por cada una de ellas revisamos si es permitida y si SI, agregamos el grupo a una otra lista.
For i = 0 To lasRutas.Length - 1
If lasRutas(i) = Subs.traeRuta Then
gruposPermitidos = $"${gruposPermitidos},"${gr.GetString("CAT_EP_IDGRUPO")}""$
End If
Next
Loop
If gruposPermitidos.StartsWith(",") Then gruposPermitidos = gruposPermitidos.SubString(1) ' Si la lista de grupos inicia con ",", la quitamos.
' Log("--------------------------------")
' Log(gruposPermitidos)
' Log("--------------------------------")
' Log(gr.GetString("CAT_EP_RUTAS"))
' 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 where CAT_EP_IDGRUPO in(${gruposPermitidos}) ORDER BY CAT_CE_DESCRIPCION, CAST(CAT_EP_ORDEN_PREGUNTA AS DECIMAL)"$)
' Log(enc.RowCount)
gr.Close
Private logger As Boolean = True
b_encuesta_continuar.Visible = False
et_encuesta.Visible = False
DateTime.DateFormat = "MM/dd/yyyy"
DateTime.TimeFormat = "HH:mm:ss"
sDate = DateTime.Date(DateTime.Now)
sTime = DateTime.Time(DateTime.Now)
Private fecha As String = $"${DateTime.Date(DateTime.Now)} ${DateTime.Time(DateTime.Now)}"$
CUANTOS = 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 CUANTOS from HIST_ENCUESTA3 where HE_CLIE In (Select cuenta from cuentaa)")
s.Position= 0
CUANTOS2 = s.GetString("CUANTOS")
' Private CUANTOS2 As Int = 0
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)")
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 where CAT_EP_IDGRUPO in(${gruposPermitidos}) 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
Log($"SALIR DE ENCUESTA = ${salirDeEncuesta}"$)
Log($"|${sDate}|${sTime}|"$)
i = indicePregunta
Log("####################################################")
Log($"i = ${i}, indicePregunta = ${indicePregunta}"$)
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.GetInt("CAT_EP_IDTIPOPREGUNTA") <> 4 And indicePregunta <> 0 Then
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 salirDeEncuesta = True Then
i = enc.RowCount
End If
If i > (enc.RowCount - 1) Then
Log("TERMINAMOS LA ENCUESTA")
Exit ' Si se contestó la ultima pregunta, entonces salimos.
End If
enc.Position = i
' Log($"POSICION = ${enc.Position}"$)
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(10)
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")
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
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")
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 = 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 = 0 'indicePregunta
Log($"i = ${i}, IndicePreg = ${indicePregunta}"$)
End If
If i = enc.RowCount - 1 Then
i = 0 'i - 1
End If
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")
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
i = 0
Else
B4XPages.ShowPage("productos")
End If
Next
enc.Close
Else
B4XPages.ShowPage("productos")
End If
Else
B4XPages.ShowPage("productos")
End If
If salirDeEncuesta Then ' Si se presionó BACK antes de terminar la encuesta, entonces borramos las preguntas contestadas.
Log("BORRAMOS RESPUESTAS")
Starter.skmt.ExecNonQuery($"delete from HIST_ENCUESTA where HE_CLIE = '${Subs.traeCliente}'"$)
indicePregunta = 0
salirDeEncuesta = False
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