mirror of
https://github.com/KeymonSoft/Intmex_Multiventa.git
synced 2026-04-17 12:56:08 +00:00
- Cambios en validador para enviar el pedido enun solo paquete y no produto producto.
1785 lines
73 KiB
QBasic
1785 lines
73 KiB
QBasic
B4A=true
|
|
Group=Default Group
|
|
ModulesStructureVersion=1
|
|
Type=Class
|
|
Version=11.5
|
|
@EndOfDesignText@
|
|
Sub MODS 'ignore
|
|
'V3.04.10 - Se agregó código para el registro de abonos, en B4XMainPage se genera la tabla y aquí se agregó el panel p_abonos para ralizar el abono, y el codigo en el sub "mandaPendientes" para cambiar la bandera de enviado en el abono.
|
|
End Sub
|
|
|
|
Sub Class_Globals
|
|
Private Root As B4XView 'ignore
|
|
Private xui As XUI 'ignore
|
|
Private p_cliente As Panel
|
|
Dim reqManager As DBRequestManager
|
|
Dim cmd As DBCommand
|
|
Dim ime As IME
|
|
Dim g As GPS
|
|
Dim ruta As String
|
|
Dim skmt As SQL
|
|
Dim clie_id As String
|
|
Dim sDate,sTime As String
|
|
Dim usuario As String
|
|
Dim total_cliente As String
|
|
Dim m_lat, 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 tipo_venta As String = "PREVENTA"
|
|
Dim c As Cursor
|
|
Dim s As Cursor
|
|
Dim DD As Cursor
|
|
Dim c2 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 CODIGO As String
|
|
Private b_mapa As Button
|
|
Dim CUANTOS As String
|
|
Private B_IMP As Button
|
|
Dim Toggla As Toggle
|
|
Dim tgl As Toggle
|
|
Private Panel1 As Panel
|
|
Private I_COMPRA As EditText
|
|
Private B_GUARDA_C As Button
|
|
Private b_venta As Button
|
|
Dim ALMACEN As String
|
|
Private LA_GPS As Label
|
|
Private B_E_NEXT As Button
|
|
Private E_RES_E As EditText
|
|
Private t_tenc As Label
|
|
Private Panel2 As Panel
|
|
Private CONTADOR_E As String
|
|
Private HR_RES1 As String
|
|
Private HR_RES2 As String
|
|
Private HR_RES3 As String
|
|
Private EXISTE As String
|
|
Private TELEFONO As String
|
|
Private RB1 As RadioButton
|
|
Private RB2 As RadioButton
|
|
Private RB3 As RadioButton
|
|
Private RB4 As RadioButton
|
|
Private RB5 As RadioButton
|
|
Private stay_hh As String
|
|
Private stay_mi As String
|
|
Private stay_ss As String
|
|
Private LA_GEO As Label
|
|
Dim result As Int
|
|
Private cercavalor As String
|
|
Private LA_RUTA As String
|
|
Private b_like As Button
|
|
Private B_GPS As Button
|
|
' Dim sc As JhsIceZxing1
|
|
Dim CODIGO As String
|
|
Private cb_factura As CheckBox
|
|
Private p_cbFactura As Panel
|
|
Dim venimosDeTicketsDia As Boolean = False
|
|
Private p_abono As Panel
|
|
Private et_abono As EditText
|
|
Private b_abono As Button
|
|
Private b_cancelar As Button
|
|
Private b_abono1 As Button
|
|
Dim b As Cursor
|
|
Private b_cxc As Button
|
|
Private clv_abonos As CustomListView
|
|
Private l_folio As Label
|
|
Private l_saldo As Label
|
|
Dim d As Cursor
|
|
Dim f As Cursor
|
|
Private l_montoabonostotal As Label
|
|
Dim j As Cursor
|
|
Dim h As Cursor
|
|
Dim distance As Long
|
|
Dim cuest As C_Cuestionario
|
|
Private b_ventaabordo As Button
|
|
Private l_factura As Label
|
|
Dim Printer1 As EscPosPrinter
|
|
Dim impresoraConectada As Boolean = False
|
|
Dim MAC_IMPRESORA As String
|
|
Dim errorImpresora As Int = 0
|
|
Dim btAdmin As BluetoothAdmin
|
|
Private b_pedidoExistente As Button
|
|
Private p_pedidoExistente As Panel
|
|
Private lv_pedidoExistente As ListView
|
|
Private b_cerrar As Button
|
|
Private l_pedidoExistente As Label
|
|
Private l_telefono As Label
|
|
Private p_telefono As Panel
|
|
Private et_telefono As EditText
|
|
Private b_canceltelefono As Button
|
|
Private b_aceptelefono As Button
|
|
Private l_version As Label
|
|
End Sub
|
|
|
|
'You can add more parameters here.
|
|
Public Sub Initialize As Object
|
|
Return Me
|
|
End Sub
|
|
|
|
'This event will be called once, before the page becomes visible.
|
|
Private Sub B4XPage_Created (Root1 As B4XView)
|
|
Root = Root1
|
|
'load the layout to Root
|
|
' Activity.RemoveAllViews
|
|
Root.LoadLayout("cliente")
|
|
cuest.Initialize(Me, "cuest", Root, Starter.skmt)
|
|
ruta = File.DirInternal
|
|
If File.Exists(ruta, "kmt.db") = False Then
|
|
File.Copy(File.DirAssets, "kmt.db", ruta, "kmt.db")
|
|
End If
|
|
skmt.Initialize(ruta,"kmt.db", True)
|
|
c = 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 from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
|
|
s = 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)")
|
|
b = skmt.ExecQuery("select COUNT(*) AS CLIENTE FROM ABONOSP WHERE CLIENTE IN (Select CUENTA from cuentaa)")
|
|
b.Position = 0
|
|
Dim cabonos As String = b.GetString("CLIENTE")
|
|
If cabonos = 0 Then
|
|
b_cxc.Visible = False
|
|
Else
|
|
b_cxc.Visible = True
|
|
End If
|
|
p_telefono.Top = 0 : p_telefono.Left = 0
|
|
s.Position=0
|
|
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")
|
|
l_total.Text = s.GetString("TOTAL_CLIE")
|
|
total_cliente = s.GetString("TOTAL_CLIE")
|
|
MONTO_COMPRA = c.GetString("CAT_CL_MTOCOMPRA")
|
|
End If
|
|
c.Close
|
|
s.Close
|
|
btAdmin.Initialize("BlueTeeth")
|
|
cmp20.Initialize("Printer")
|
|
Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_CAMERA)
|
|
Wait For B4XPage_PermissionResult (Permission As String, resultC As Boolean)
|
|
Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_WRITE_EXTERNAL_STORAGE)
|
|
Wait For B4XPage_PermissionResult (Permission As String, resultC As Boolean)
|
|
' h = B4XPages.MainPage.skmt.ExecQuery("SELECT CUENTA from CUENTAA")
|
|
' h.Position = 0
|
|
' Log(h.GetString("CUENTA"))
|
|
' j = B4XPages.MainPage.skmt.ExecQuery2("SELECT a_abono FROM ABONOS WHERE a_cliente = ?", Array As String(h.GetString("CUENTA")))
|
|
' j.position = 0
|
|
' Log(j.RowCount)
|
|
' If j.RowCount = 0 Then
|
|
' b_cxc.Enabled = True
|
|
' Else If j.RowCount > 0 Then
|
|
' b_cxc.Enabled = False
|
|
' End If
|
|
' h.Close
|
|
' j.Close
|
|
p_pedidoExistente.Visible = False
|
|
btAdmin.Initialize("BlueTeeth")
|
|
p_pedidoExistente.Width = Root.Width * 0.9
|
|
lv_pedidoExistente.Width = p_pedidoExistente.Width * 0.95
|
|
lv_pedidoExistente.Left = (p_pedidoExistente.Width / 2) - (lv_pedidoExistente.Width / 2)
|
|
b_cerrar.Left = (p_pedidoExistente.Width / 2) - (b_cerrar.Width / 2)
|
|
Subs.centraPanel(p_pedidoExistente, Root.Width)
|
|
Subs.centraEtiqueta(l_pedidoExistente, Root.Width)
|
|
l_version.Text = Application.VersionName
|
|
l_version.Left = Root.Width - l_version.Width - 5dip
|
|
End Sub
|
|
|
|
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
|
|
|
|
Sub B4XPage_Appear
|
|
CallSubDelayed(Tracker, "StartFLPSmall")
|
|
p_pedidoExistente.Visible = False
|
|
reqManager.Initialize(Me, Starter.DBReqServer)
|
|
b_pedidoExistente.Visible = False
|
|
LA_GPS.TextColor = Colors.Red
|
|
LA_GPS.Text = "SIN UBICACION GPS"
|
|
cercavalor = 0
|
|
If Not(Starter.gps.GPSEnabled) Then
|
|
ToastMessageShow("Es necesario tener el GPS encendido", True)
|
|
StartActivity(Starter.gps.LocationSettingsIntent)
|
|
End If
|
|
' Log("appear")
|
|
cb_factura.Checked = False
|
|
p_abono.Visible = False
|
|
Subs.centraPanel(p_abono, Root.Width)
|
|
skmt.Initialize(ruta,"kmt.db", True)
|
|
c=B4XPages.MainPage.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 from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa) UNION ALL 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 from kmt_info2 where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
|
|
s=B4XPages.MainPage.skmt.ExecQuery("Select ifnull(SUM(PE_COSTO_TOT), 0) As TOTAL_CLIE, SUM(PE_CANT) As CANT_CLIE, PC_FACTURA FROM PEDIDO_CLIENTE INNER JOIN PEDIDO ON PEDIDO_CLIENTE.PC_CLIENTE = PEDIDO.PE_CLIENTE WHERE (PE_CLIENTE IN (Select cuenta from cuentaa))")
|
|
b = B4XPages.MainPage.skmt.ExecQuery("select COUNT(*) AS CLIENTE FROM ABONOSP WHERE CLIENTE IN (Select CUENTA from cuentaa)")
|
|
b.Position = 0
|
|
Dim cabonos As String = b.GetString("CLIENTE")
|
|
If cabonos = 0 Then
|
|
b_cxc.Visible = False
|
|
Else
|
|
b_cxc.Visible = True
|
|
End If
|
|
s.Position=0
|
|
If c.RowCount > 0 Then
|
|
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")
|
|
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")
|
|
TELEFONO = c.GetString("CAT_CL_TELEFONO")
|
|
l_telefono.Text = c.GetString("CAT_CL_TELEFONO")
|
|
l_total.Text = "$" & NumberFormat2(s.GetString("TOTAL_CLIE"), 1, 2, 2, True)
|
|
total_cliente = s.GetString("TOTAL_CLIE")
|
|
Private factura As String = 0
|
|
If s.GetString("PC_FACTURA") <> Null And IsNumber(s.GetString("PC_FACTURA")) Then factura = s.GetString("PC_FACTURA")
|
|
If factura = "1" Then cb_factura.Checked = True
|
|
m_lat = "0"
|
|
If c.GetString("CAT_CL_LAT") <> "" Then m_lat =c.GetString("CAT_CL_LAT")
|
|
If m_lat.Length < 5 Then m_lat = "0"
|
|
m_lon = "0"
|
|
If c.GetString("CAT_CL_LONG") <> "" Then m_lon =c.GetString("CAT_CL_LONG")
|
|
If m_lon.Length < 5 Then m_lon = "0"
|
|
LA_RUTA = c.GetString("CAT_CL_RUTA")
|
|
' ESTO ES PARA FORZAR A PEDIR LA FOTO Y EL GPS
|
|
' If c.GetString("CAT_CL_NUM_SERIEFISICO") = "0" Then
|
|
' L_QR.TEXT = "SIN CODIGO"
|
|
' L_QR.TextColor = Colors.Red
|
|
' gest.VISIBLE = False
|
|
' BT_QR.Visible = True
|
|
' Else
|
|
' L_QR.TEXT = c.GetString("CAT_CL_NUM_SERIEFISICO")
|
|
' L_QR.TextColor = Colors.Blue
|
|
' BT_QR.Visible = False
|
|
' End If
|
|
End If
|
|
c.Close
|
|
s.Close
|
|
S2=B4XPages.MainPage.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=B4XPages.MainPage.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 < 1 Then
|
|
META2 = "CUBIERTO"
|
|
End If
|
|
la_saldooper.Text = META2
|
|
c=B4XPages.MainPage.skmt.ExecQuery("select ID_ALMACEN from CAT_ALMACEN")
|
|
If c.RowCount>0 Then
|
|
C.Position=0
|
|
ALMACEN = C.GetString("ID_ALMACEN")
|
|
End If
|
|
c.Close
|
|
If ALMACEN = "1" Then
|
|
ocultamosBotonesPorGeocerca
|
|
End If
|
|
If ALMACEN = "4" Then
|
|
' b_like.Visible = True
|
|
DD=B4XPages.MainPage.skmt.ExecQuery2("SELECT COUNT(*) AS CUANTOS FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select cuenta from cuentaa) AND HVD_PRONOMBRE =?", Array As String("KNORR RINDE MAS 70 GR"))
|
|
DD.Position =0
|
|
If DD.GetString("CUANTOS") = 0 Then
|
|
c=B4XPages.MainPage.skmt.ExecQuery2("SELECT COUNT(*) AS CUANTOS FROM PEDIDO WHERE PE_CLIENTE IN (Select cuenta from cuentaa) AND PE_PRONOMBRE =?", Array As String("KNORR RINDE MAS 70 GR"))
|
|
c.Position =0
|
|
' If c.GetString("CUANTOS") = 0 Then
|
|
' b_like.Visible = True
|
|
' Else
|
|
' b_like.Visible = False
|
|
' End If
|
|
c.Close
|
|
Else
|
|
' b_like.Visible = False
|
|
End If
|
|
DD.Close
|
|
Else
|
|
' b_like.Visible = False
|
|
End If
|
|
If Not(Subs.geocercaActiva) And ALMACEN = "16" Or ALMACEN = "13" Then
|
|
Log("Mostramos botones venta")
|
|
Tels.Visible = True
|
|
gest.Visible = True
|
|
b_ventaabordo.Visible = True
|
|
End If
|
|
|
|
If Not(Subs.geocercaActiva) Then
|
|
Log("Mostramos botones venta")
|
|
Tels.Visible = True
|
|
gest.Visible = True
|
|
b_ventaabordo.Visible = True
|
|
Else
|
|
Log("Ocultamos botones venta")
|
|
ocultamosBotonesPorGeocerca
|
|
End If
|
|
|
|
' h = B4XPages.MainPage.skmt.ExecQuery("SELECT CUENTA from CUENTAA")
|
|
' h.Position = 0
|
|
' Log(h.GetString("CUENTA"))
|
|
' j = B4XPages.MainPage.skmt.ExecQuery2("SELECT a_abono AS CUANTOS FROM ABONOS WHERE a_cliente = ?", Array As String(h.GetString("CUENTA")))
|
|
' j.position = 0
|
|
' Log(j.RowCount)
|
|
' If j.RowCount = 0 Then
|
|
' b_cxc.Enabled = True
|
|
' Else If j.RowCount > 0 Then
|
|
' b_cxc.Enabled = False
|
|
' End If
|
|
' h.Close
|
|
' j.Close
|
|
|
|
c = 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"
|
|
Printer1.Initialize(Me, "Printer1")
|
|
If Printer1.IsConnected = False Then
|
|
' Printer1.Connect
|
|
Else
|
|
Printer1.DisConnect
|
|
Printer1.Connect
|
|
End If
|
|
If Subs.hayPedido And Starter.utimaPagina <> "Productos" And Starter.utimaPagina <> "Cliente" Then
|
|
Private p As ResultSet = Starter.skmt.ExecQuery($"select * from pedido where pe_cliente = '${Subs.traeCliente}'"$)
|
|
lv_pedidoExistente.Clear
|
|
Private label1 As Label = lv_pedidoExistente.TwoLinesLayout.Label
|
|
label1.TextColor = Colors.Black
|
|
label1.TextSize = 13
|
|
Private label2 As Label = lv_pedidoExistente.TwoLinesLayout.SecondLabel
|
|
label2.TextSize = 13
|
|
|
|
Private cs As CSBuilder
|
|
Do While p.NextRow
|
|
cs.Initialize
|
|
Private textColor As Float = Colors.RGB(48,3,195)
|
|
If p.GetString("PE_FOLIO") = "PREVENTA" Or p.GetString("PE_FOLIO") = "ABORDO" Then
|
|
textColor = Colors.RGB(166,0,0)
|
|
End If
|
|
lv_pedidoExistente.AddTwoLines(cs.Color(textColor).append(p.GetString("PE_PRONOMBRE")).pop, $"Cant: ${p.GetString("PE_CANT")} - $${NumberFormat2(p.GetString("PE_COSTO_TOT"),1,2,2,True)}, ${p.GetString("PE_FOLIO")}"$)
|
|
Loop
|
|
|
|
p_pedidoExistente.Visible = True
|
|
p_pedidoExistente.BringToFront
|
|
b_pedidoExistente.Visible = True
|
|
End If
|
|
|
|
If la_cuenta.Text = "0" Then
|
|
p_cbFactura.Visible = False
|
|
l_factura.Visible = False
|
|
b_ventaabordo.Visible = False
|
|
Else
|
|
p_cbFactura.Visible = True
|
|
l_factura.Visible = True
|
|
b_ventaabordo.Visible = True
|
|
End If
|
|
|
|
'Revisamos si la geocerca debe de activarse y de ser necesario, ocultamos los botones de venta y no venta.
|
|
If Subs.traeGeocerca Then ocultamosBotonesPorGeocerca
|
|
|
|
If Tracker.FLP.IsInitialized And Tracker.FLP.GetLastKnownLocation.IsInitialized Then 'Si tenemos "UltimaUbicaccionConocida" la usamos.
|
|
Log($"Tenemos UUC: ${Tracker.FLP.GetLastKnownLocation.Latitude},${Tracker.FLP.GetLastKnownLocation.Longitude}"$)
|
|
B4XPages.MainPage.lat_gps = Tracker.FLP.GetLastKnownLocation.Latitude
|
|
B4XPages.MainPage.lon_gps = Tracker.FLP.GetLastKnownLocation.Longitude
|
|
GPS_LocationChanged(Tracker.FLP.GetLastKnownLocation)
|
|
End If
|
|
End Sub
|
|
|
|
Sub B4XPage_disappear
|
|
Log($"Salimos de ${B4XPages.GetManager.GetTopPage.Title}"$)
|
|
Starter.utimaPagina = B4XPages.GetManager.GetTopPage.Title
|
|
End Sub
|
|
|
|
Sub GPS_LocationChanged (Location1 As Location)
|
|
LogColor($"Entrando a Cliente.GPS_LocationChanged"$, Colors.red)
|
|
If Tracker.FLP.GetLastKnownLocation.IsInitialized And Tracker.FLP.GetLastKnownLocation.Latitude <> 0 Then
|
|
B4XPages.MainPage.lat_gps = Tracker.FLP.GetLastKnownLocation.Latitude
|
|
B4XPages.MainPage.lon_gps = Tracker.FLP.GetLastKnownLocation.Longitude
|
|
' Log("Coords set to: " & B4XPages.MainPage.lat_gps & " and " & B4XPages.MainPage.lon_gps)
|
|
End If
|
|
|
|
Dim l1, l2 As Location
|
|
l1.Initialize2(B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps)
|
|
' Log($"Coordenadas de la tienda - lat:${m_lat}, lon:${m_lon}"$)
|
|
l2.Initialize2(m_lat, m_lon)
|
|
|
|
BT_QR.Enabled = True
|
|
LA_GPS.TextColor = Colors.Blue
|
|
LA_GPS.Text = "CON UBICACION GPS"
|
|
Log("CON UBICACION GPS")
|
|
' B_GPS.Enabled = True
|
|
'now we need the distance between our location and the target location
|
|
distance = l1.DistanceTo(l2) 'the result is in meter
|
|
Log(distance)
|
|
Log((Subs.geocercaActiva And distance < 100))
|
|
Log(Not(Subs.geocercaActiva))
|
|
If (Subs.geocercaActiva And distance < 100) Or (Not(Subs.geocercaActiva)) Then
|
|
Log("Mostramos botones venta")
|
|
LA_GEO.TextColor = Colors.Blue
|
|
Tels.Visible = True
|
|
gest.Visible = True
|
|
b_ventaabordo.Visible = True
|
|
Else
|
|
' LA_GEO.TextColor = Colors.Red
|
|
End If
|
|
LA_GEO.Text= $"$1.2{distance/1000} kms"$
|
|
B4XPages.MainPage.skmt.ExecNonQuery("DELETE FROM HIST_GPS")
|
|
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO HIST_GPS (HGDATE, HGLAT, HGLON) VALUES(?,?,?) ", Array As Object (sDate & sTime, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps))
|
|
CallSubDelayed(Tracker, "CreateLocationRequest")
|
|
End Sub
|
|
|
|
Sub ListView1_ItemLongClick (Position As Int, Value As Object)
|
|
|
|
End Sub
|
|
|
|
Sub gest_Click
|
|
If la_cuenta.Text = "0" Then
|
|
B4XPages.MainPage.tipo_venta = "ABORDO"
|
|
Else
|
|
|
|
B4XPages.MainPage.tipo_venta = "PREVENTA"
|
|
End If
|
|
|
|
'Buscamos en el historial de cuestionarios si el cliente ya tiene cuestionario contestado.
|
|
' Private hc As Cursor = Starter.skmt.ExecQuery($"select count(HC_CLIENTE) as cuantos from HIST_CUESTIONARIO where HC_CLIENTE = '${Subs.traeCliente}'"$)
|
|
' hc.Position = 0
|
|
' Log($"${cuest.encuestaIniciada} - ${hc.GetString("cuantos")} - ${cuest.clienteConCuestionario(Subs.traeCliente)}"$)
|
|
'
|
|
' If la_cuenta.Text <> "0" And Not(cuest.encuestaIniciada) And hc.GetString("cuantos") = 0 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
|
|
Private x As Cursor = B4XPages.MainPage.skmt.ExecQuery($"select tienda_id from COORDENADAS_GPS where tienda_id = '${la_cuenta.text}'"$)
|
|
If la_cuenta.Text<> "0" And distance > 50 And x.RowCount = 0 Then
|
|
Private res As String = Msgbox2("¿Estas en la tienda, para guardar la nueva ubicación?", "AVISO", "Si","" ,"No", Null) 'ignore
|
|
If res = DialogResponse.POSITIVE Then
|
|
DateTime.DateFormat = "MM/dd/yyyy"
|
|
sDate=DateTime.Date(DateTime.Now)
|
|
sTime=DateTime.Time(DateTime.Now)
|
|
B4XPages.MainPage.skmt.ExecNonQuery($"insert into COORDENADAS_GPS (tienda_id, ruta, almacen, latitud, longitud, fecha) values ('${la_cuenta.Text}', '${Subs.traeRuta}', '${Subs.traeAlmacen}', '${B4XPages.MainPage.lat_gps}', '${B4XPages.MainPage.lon_gps}', '${sDate} ${sTime}')"$)
|
|
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_coords_nuevas_INTMEX"
|
|
cmd.Parameters = Array As Object(la_cuenta.text, Subs.traeRuta, Subs.traeAlmacen, sDate & " " & sTime, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, usuario)
|
|
' Log($"${la_cuenta.text}, ${Subs.traeRuta}, ${Subs.traeAlmacen}, ${sDate} ${sTime}, ${m_lat}, ${m_lon}"$)
|
|
reqManager.ExecuteCommand(cmd , "ins_coords_nuevas")
|
|
End If
|
|
End If
|
|
B4XPages.ShowPage("productos")
|
|
End Sub
|
|
|
|
Sub Tels_Click
|
|
B4XPages.ShowPage("NoVenta")
|
|
End Sub
|
|
|
|
Private Sub B4XPage_CloseRequest As ResumableSub
|
|
' BACK key pressed
|
|
' Return True To close, False To cancel
|
|
If la_cuenta.Text <> "0" Then
|
|
cuest.encuestaIniciada = False
|
|
cuest.ocultPanelPregunta
|
|
If IsNumber(l_total.text) And Not(Subs.pedidoGuardado) Then
|
|
LogColor("Hay Venta", Colors.Red)
|
|
Private resultado1 As Int = Msgbox2($"Va salir sin haber guardado la venta, si continua, la venta se BORRARA.${CRLF}${CRLF}¿Esta seguro que desea continuar?"$, "SE VA A BORRAR LA VENTA", "Borrar Venta", "Guardar Venta", "", LoadBitmap(File.DirAssets,"alert2.png"))
|
|
If resultado1 = DialogResponse.POSITIVE Then
|
|
Log("Borrra venta")
|
|
Subs.borraPedidoClienteActual
|
|
ToastMessageShow("Venta Borrada", False)
|
|
' venimosDeTicketsDia = False
|
|
B4XPages.ShowPage("Principal")
|
|
else if resultado1=DialogResponse.CANCEL Then
|
|
Log("Pedido guardado")
|
|
Guardar_Click
|
|
ToastMessageShow("Venta Guardada", False)
|
|
End If
|
|
End If
|
|
' venimosDeTicketsDia = False
|
|
B4XPages.ShowPage("Clientes")
|
|
Else
|
|
End If
|
|
' Return True
|
|
Return False
|
|
End Sub
|
|
|
|
Sub Tar_Click
|
|
B4XPages.ShowPage("Nota")
|
|
End Sub
|
|
|
|
Sub DATOS_Click
|
|
B4XPages.ShowPage("telefonos")
|
|
End Sub
|
|
|
|
Sub Guardar_Click
|
|
DateTime.DateFormat = "MM/dd/yyyy"
|
|
sDate=DateTime.Date(DateTime.Now)
|
|
sTime=DateTime.Time(DateTime.Now)
|
|
c=B4XPages.MainPage.skmt.ExecQuery("Select CUENTA from cuentaa")
|
|
c.Position=0
|
|
clie_id = c.GetString("CUENTA")
|
|
c.Close
|
|
c=B4XPages.MainPage.skmt.ExecQuery("select USUARIO from usuarioa")
|
|
c.Position=0
|
|
usuario = c.GetString("USUARIO")
|
|
c.Close
|
|
c=B4XPages.MainPage.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 ' Si hay pedido, entonces ...
|
|
Log("HAY PEDIDO")
|
|
Private cbFactura As Int = 0
|
|
If cb_factura.Checked Then cbFactura = 1
|
|
B4XPages.MainPage.skmt.ExecNonQuery("delete from NOVENTA where NV_CLIENTE In (select cuenta from cuentaa)")
|
|
B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)")
|
|
B4XPages.MainPage.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO, PC_LON, PC_LAT, PC_ENVIO_OK, PC_FACTURA) VALUES (?,?,?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), B4XPages.MainPage.lon_gps, B4XPages.MainPage.lat_gps, 0, cbFactura))
|
|
B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
|
|
Log(">>>>> PONEMOS SIG TICKET")
|
|
B4XPages.MainPage.skmt.ExecNonQuery($"update pedido set PE_TICKET = ${Subs.traeTicketConsecutivo(Subs.traeCliente)}, PE_GUARDADO = 1 where PE_CLIENTE IN (Select CUENTA from cuentaa) and PE_TICKET is Null"$)
|
|
End If
|
|
B4XPages.MainPage.skmt.ExecNonQuery($"update pedido set PE_GUARDADO = 1, PE_ENVIO_OK = 0 where PE_CLIENTE IN (Select CUENTA from cuentaa)"$)
|
|
B4XPages.MainPage.skmt.ExecNonQuery($"update pedido_cliente set PC_GUARDADO = 1 where PC_CLIENTE IN (Select CUENTA from cuentaa)"$)
|
|
c.Close
|
|
DateTime.TimeFormat = "HHmmss"
|
|
sTime=DateTime.Time(DateTime.Now)
|
|
B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_STORE set HSS_OUT = ? where HSS_OUT = 0 AND HSS_CODIGO In (select cuenta from cuentaa)", Array As Object(sTime))
|
|
' B4XPages.MainPage.skmt.ExecNonQuery("UPDATE HIST_STAY_STORE set HSS_TOT = HSS_OUT - HSS_IN where HSS_CODIGO In (select cuenta from cuentaa)")
|
|
Try
|
|
c=B4XPages.MainPage.skmt.ExecQuery(" Select (substr(HSS_OUT,1,2) - substr(HSS_IN,1,2)) - Case when (substr(HSS_OUT,3,2) - substr(HSS_IN,3,2)) < 0 Then 1 Else 0 end HORAS_TOTALES, " & _
|
|
"Case when (substr(HSS_OUT,3,2) - substr(HSS_IN,3,2)) < 0 Then (substr(HSS_OUT,3,2) + 60 - substr(HSS_IN,3,2)) " & _
|
|
" Else (substr(HSS_OUT,3,2) - substr(HSS_IN,3,2)) End - Case when (substr(HSS_OUT,5,2) - substr(HSS_IN,5,2)) < 0 Then 1 Else 0 end MINUTOS_TOTALES, " & _
|
|
"Case when (substr(HSS_OUT,5,2) - substr(HSS_IN,5,2)) < 0 Then (substr(HSS_OUT,5,2) + 60 - substr(HSS_IN,5,2)) " & _
|
|
" Else (substr(HSS_OUT,5,2) - substr(HSS_IN,5,2)) end SEGUNDOS_TOTALES " & _
|
|
" from HIST_STAY_STORE where HSS_CODIGO In (Select cuenta from cuentaa) ")
|
|
c.Position = 0
|
|
stay_hh = c.GetString("HORAS_TOTALES") * 60 * 60
|
|
stay_mi = c.GetString("MINUTOS_TOTALES") * 60
|
|
stay_ss = c.GetString("SEGUNDOS_TOTALES")
|
|
B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_STORE set HSS_TOT = ? where HSS_CODIGO In (select cuenta from cuentaa)", Array As Object(stay_hh + stay_mi + stay_ss))
|
|
B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_OUT set HSO_FIN = ? ", Array As Object(sTime))
|
|
c.Close
|
|
Catch
|
|
ToastMessageShow(".",True)
|
|
End Try
|
|
skmt.ExecNonQuery2("update PEDIDO_INICIO_FINAL set PIF_HORA_FINAL = ? where PIF_CLIENTE = ? and PIF_HORA_FINAL = 0", Array As Object (DateTime.Now, la_cuenta.Text))
|
|
' LogColor($"actualizamos "${la_cuenta.text}, hora_final=${DateTime.now}"$,Colors.Red)
|
|
Subs.actualizaTET(la_cuenta.text)
|
|
DateTime.TimeFormat = "HH:mm:ss"
|
|
|
|
|
|
' B4XPages.MainPage.principal.enviaPedidoBatch(Subs.traeCliente)
|
|
' Sleep(2000)
|
|
|
|
|
|
mandaPendientes 'LO COMENTAMOS PARA PRUEBAS, ACTIVAR AL FINAL!!! - Solo envia clientes nuevos, no comentar lo que yo descomente --- javier (por que Guerra lo comento) ... ¿Que descomentaste?? --- Guerra
|
|
mandapiezas
|
|
B4XPages.MainPage.productos.reiniciarlistaProds = True
|
|
B4XPages.MainPage.productos.prodsMap.Initialize
|
|
B4XPages.MainPage.promos.promosMap.Initialize
|
|
B4XPages.ShowPage("Principal")
|
|
End Sub
|
|
|
|
'android.database.sqlite.SQLiteException: no such column: pe_ticket (code 1 SQLITE_ERROR): , while compiling: delete from pedido_cliente where pe_ticket is null and PC_CLIENTE In (select cuenta from cuentaa)
|
|
|
|
Sub NUEVO_Click
|
|
B4XPages.ShowPage("NuevoCliente")
|
|
End Sub
|
|
|
|
Sub HIST_Click
|
|
B4XPages.ShowPage("Historico")
|
|
End Sub
|
|
|
|
Sub BT_QR_Click
|
|
' sc.isportrait = True
|
|
' sc.timeoutDuration = 45
|
|
' sc.theViewFinderXfactor = 0.7
|
|
' sc.theViewFinderYfactor = 0.5
|
|
' sc.theResultColor = Colors.Green
|
|
' sc.mustVibrate = True
|
|
' sc.BeginScan("sc")
|
|
End Sub
|
|
|
|
Sub sc_result(atype As String,Values As String, image As Bitmap)
|
|
'Log("Type : " & atype)
|
|
'Log("Value : " & Values)
|
|
CODIGO = Values
|
|
DD=B4XPages.MainPage.skmt.ExecQuery2("SELECT COUNT(*) AS CUANTOS FROM kmt_info WHERE CAT_CL_NUM_SERIEFISICO = ?", Array As String(CODIGO))
|
|
DD.Position =0
|
|
If DD.GetString("CUANTOS") > 0 Then
|
|
MsgboxAsync("Código ya asignado", "AVISO")
|
|
Else
|
|
If CODIGO.Length = 7 Then
|
|
Msgbox2Async("El código "& CODIGO & " es correcto?" , "Title", "Yes", "Cancel", "No", Null, False)
|
|
Wait For Msgbox_Result (resultado As Int)
|
|
If resultado = DialogResponse.POSITIVE Then
|
|
B4XPages.MainPage.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, B4XPages.MainPage.lon_gps, B4XPages.MainPage.lat_gps))
|
|
L_QR.TEXT =CODIGO
|
|
L_QR.TextColor = Colors.Blue
|
|
B4XPages.MainPage.skmt.ExecNonQuery2("insert into HIST_CODIGO_BARRAS(CODIGOKMTS, CODIGOB, LAT, LON) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text,CODIGO, B4XPages.MainPage.lon_gps, B4XPages.MainPage.lat_gps))
|
|
End If
|
|
Else
|
|
MsgboxAsync("Código No Valido", "AVISO")
|
|
End If
|
|
End If
|
|
DD.Close
|
|
End Sub
|
|
|
|
Sub sc_timedout(timedOut As Boolean)
|
|
Log("timedOut " & timedOut)
|
|
End Sub
|
|
|
|
Sub sc_usercancelled(userCancelled As Boolean)
|
|
Log("userCancelled " & userCancelled)
|
|
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
|
|
B4XPages.ShowPage("mapas")
|
|
End Sub
|
|
|
|
Sub B_IMP_Click
|
|
c=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
|
|
' 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, "intmex_logo_192x192.jpg", 192, 250, 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)
|
|
|
|
'Printer1.Justify = 1
|
|
'printer.Initialize(cmp20.OutputStream)
|
|
' Printer1.WriteString("DISTRIBUIDORA ROCHA TULA PACHUCA" & CRLF)
|
|
Printer1.WriteString("RFC: DRT-110316-9J1" & CRLF)
|
|
' Printer1.WriteString(sucursal & CRLF)
|
|
Printer1.WriteString(sDate & CRLF)
|
|
Printer1.WriteString(sTime & 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)
|
|
|
|
' c = skmt.ExecQuery2("SELECT * FROM PEDIDO WHERE PE_FOLIO = ?",Array As String("PREVENTA"))
|
|
' If c.RowCount > 0 Then
|
|
' 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=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_FOLIO = ? AND LENGTH(PE_CEDIS) < 4 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
|
|
' Printer1.WriteString(" " & CRLF)
|
|
' s=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_FOLIO = ? AND LENGTH(PE_CEDIS) > 3 AND PE_PROID NOT IN (SELECT CAT_PA_ID FROM PROMOS_COMP ) 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 PREVENTA--------" & 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)
|
|
'
|
|
' 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
|
|
'
|
|
' s=skmt.ExecQuery2("select SUM(PE_COSTO_TOT) AS TOTAL FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) AND PE_FOLIO = ?", 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= skmt.ExecQuery2("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_FOLIO = ?", Array As String("PREVENTA"))
|
|
' C.Position=0
|
|
' Printer1.WriteString("Total articulos preventa: " & c.GetString("PC_NOART") & CRLF)
|
|
' c.Close
|
|
'
|
|
' Printer1.WriteString(" " & CRLF)
|
|
' End If
|
|
|
|
c = skmt.ExecQuery2("SELECT * FROM PEDIDO WHERE PE_FOLIO = ?",Array As String("VENTA"))
|
|
If c.RowCount > 0 Then
|
|
Printer1.WriteString("-----------VENTA-----------" & 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=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_FOLIO = ? AND LENGTH(PE_CEDIS) < 4 AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PROID", Array As String("VENTA"))
|
|
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=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_FOLIO = ? AND LENGTH(PE_CEDIS) > 3 AND PE_PROID NOT IN (SELECT CAT_PA_ID FROM PROMOS_COMP ) 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 VENTA---------" & 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)
|
|
|
|
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
|
|
|
|
s=skmt.ExecQuery2("select SUM(PE_COSTO_TOT) AS TOTAL FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) AND PE_FOLIO = ?", Array As String("VENTA"))
|
|
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 venta: $" & s.GetString("TOTAL") & CRLF)
|
|
s.Close
|
|
c= skmt.ExecQuery2("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_FOLIO = ?", Array As String("VENTA"))
|
|
C.Position=0
|
|
Printer1.WriteString("Total articulos venta: " & c.GetString("PC_NOART") & CRLF)
|
|
c.Close
|
|
End If
|
|
Printer1.WriteString(" " & CRLF)
|
|
' Printer1.WriteString("------------------------------" & CRLF)
|
|
|
|
' s=skmt.ExecQuery("select SUM(PE_COSTO_TOT) AS TOTAL FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
|
|
' 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: $" & s.GetString("TOTAL") & CRLF)
|
|
' s.Close
|
|
' c= 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)
|
|
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)
|
|
' Printer1.WriteString(" " & CRLF)
|
|
Printer1.WriteString(" " & CRLF)
|
|
|
|
Sleep(1000)
|
|
Printer1.DisConnect
|
|
|
|
ProgressDialogHide
|
|
' printer.Flush
|
|
' printer.Close
|
|
End Sub
|
|
|
|
Sub Printer1_Connected (Success As Boolean)
|
|
' If Logger Then Log("Printer1_Connected")
|
|
If Success Then
|
|
ToastMessageShow("Impresora conectada", False)
|
|
skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("MACIMP"))
|
|
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("MACIMP",B4XPages.MainPage.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
|
|
B4XPages.MainPage.MAC_IMPRESORA = "0"
|
|
errorImpresora = 0
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
Sub Printer_Connected (Success As Boolean)
|
|
If Success Then
|
|
B_IMP.Enabled = True
|
|
Else
|
|
B_IMP.Enabled = False
|
|
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.ConnectInsecure(btAdmin,PairedDevices.Get(PairedDevices.GetKeyAt(0)),1)
|
|
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 B_GUARDA_C_Click
|
|
DateTime.DateFormat = "MM/dd/yyyy"
|
|
sDate=DateTime.Date(DateTime.Now)
|
|
sTime=DateTime.Time(DateTime.Now)
|
|
c=B4XPages.MainPage.skmt.ExecQuery("Select CUENTA from cuentaa")
|
|
c.Position=0
|
|
clie_id = c.GetString("CUENTA")
|
|
c.Close
|
|
c=B4XPages.MainPage.skmt.ExecQuery("select USUARIO from usuarioa")
|
|
c.Position=0
|
|
usuario = c.GetString("USUARIO")
|
|
c.Close
|
|
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA) VALUES(?,?,?,?,?,?,?,?,?,?) ", Array As Object ("4",.01 , .01, 2, "KNORR RINDE MAS 70 GR", "GUNA2",la_cuenta.TEXT, sDate & sTime, usuario,LA_RUTA))
|
|
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO HIST_FACE(HFCLIENTE, HFALIAS,HFRUTA,HFALMACEN) VALUES (?,?,?,?) ", Array As Object(la_cuenta.Text, I_COMPRA.Text,LA_RUTA,ALMACEN))
|
|
Panel1.Visible = False
|
|
' b_like.Visible = True
|
|
Tar.Visible = True
|
|
Tels.Visible = True
|
|
gest.Visible = True
|
|
b_ventaabordo.Visible = True
|
|
' b_like.Visible = False
|
|
Guardar.Visible = True
|
|
End Sub
|
|
|
|
Sub b_venta_Click
|
|
DateTime.DateFormat = "MM/dd/yyyy"
|
|
sDate=DateTime.Date(DateTime.Now)
|
|
sTime=DateTime.Time(DateTime.Now)
|
|
' s=B4XPages.MainPage.skmt.ExecQuery("select COUNT(*) AS CUANTOS from HIST_ENCUESTA where HE_CLIE In (Select cuenta from cuentaa)")
|
|
' s.Position= 0
|
|
' If s.GetString("CUANTOS") = 0 Then
|
|
' c=B4XPages.MainPage.skmt.ExecQuery2("SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String("CUESTIONARIO"))
|
|
' c.Position =0
|
|
' If c.GetString("CAT_VA_VALOR") = "2" Then
|
|
' res = Msgbox2("El cliente maneja CAZARES ?","CAZARES", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'Ignore
|
|
' If res = DialogResponse.POSITIVE Then
|
|
' B4XPages.MainPage.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, "SI",sDate & sTime,"TIENE"))
|
|
' Panel1.Visible =True
|
|
' I_COMPRA.Text = ""
|
|
' BT_QR.Visible= False
|
|
' Else
|
|
' B4XPages.MainPage.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, "NO",sDate & sTime,"TIENE"))
|
|
' B4XPages.MainPage.tipo_venta = "VENTA"
|
|
' B4XPages.ShowPage("Productos")
|
|
' End If
|
|
' Else
|
|
' B4XPages.MainPage.tipo_venta = "VENTA"
|
|
' B4XPages.ShowPage("Productos")
|
|
' End If
|
|
' c.Close
|
|
' Else
|
|
' B4XPages.MainPage.tipo_venta = "VENTA"
|
|
' B4XPages.ShowPage("Productos")
|
|
' End If
|
|
' s.Close
|
|
End Sub
|
|
|
|
Sub B_E_NEXT_Click
|
|
If E_RES_E.Text <> "" Then
|
|
B4XPages.MainPage.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,"DONDE"))
|
|
Panel2.Visible = False
|
|
B4XPages.ShowPage("Productos")
|
|
Else
|
|
Msgbox("SIN RESPUESTA","AVISO") 'Ignore
|
|
End If
|
|
End Sub
|
|
|
|
Sub RB1_CheckedChange(Checked As Boolean)
|
|
If RB1.Checked = True Then
|
|
E_RES_E.Text = "CENTRAL DE ABASTOS"
|
|
End If
|
|
End Sub
|
|
|
|
Sub RB2_CheckedChange(Checked As Boolean)
|
|
If RB2.Checked = True Then
|
|
E_RES_E.Text = "AUTOSERVICIO"
|
|
End If
|
|
End Sub
|
|
|
|
Sub RB3_CheckedChange(Checked As Boolean)
|
|
If RB3.Checked = True Then
|
|
E_RES_E.Text = "CLUB DE PRECIO"
|
|
End If
|
|
End Sub
|
|
|
|
Sub RB4_CheckedChange(Checked As Boolean)
|
|
If RB4.Checked = True Then
|
|
E_RES_E.Text = "DIRECTO PEDEGREE"
|
|
End If
|
|
End Sub
|
|
|
|
'Sub b_like_Click
|
|
' Panel1.Visible = True
|
|
' b_like.Visible = False
|
|
' Tar.Visible = False
|
|
' Tels.Visible = False
|
|
' gest.Visible = False
|
|
' b_venta.Visible = False
|
|
' Guardar.Visible = False
|
|
'End Sub
|
|
|
|
'Sub B_GPS_Click
|
|
' Dim result As Int
|
|
' result = Msgbox2("Esta seguro de cambiar las coordenadas de este cliente", "Aviso GPS", "SI", "", "NO", LoadBitmap(File.DirAssets, "alerta.jpg")) 'Ignore
|
|
' If result = DialogResponse.Positive Then
|
|
' B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE kmt_info SET CAT_CL_LAT = ?, CAT_CL_LONG = ? where CAT_CL_CODIGO In (Select cuenta from cuentaa)", Array As Object(B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps))
|
|
' B4XPage_Appear
|
|
' End If
|
|
'End Sub
|
|
|
|
Private Sub p_cliente_Click
|
|
'Nada aqui, solo esta para que los clics no se pasen hacia atras.
|
|
End Sub
|
|
|
|
Private Sub cb_factura_CheckedChange(Checked As Boolean)
|
|
' Log(Checked)
|
|
If Checked Then p_cbFactura.Color = Colors.Green Else p_cbFactura.Color = Colors.red
|
|
End Sub
|
|
|
|
Sub mandaPendientes
|
|
'' PEDIDO_CLIENTE (Pendientes)
|
|
' Log(">>>>>>> MANDA PENDIENTES")
|
|
' Dim PCNoArts As String
|
|
' Dim PCMonto As String
|
|
' If usuario <> "KMTS1" Then
|
|
' c = skmt.ExecQuery("SELECT * FROM PEDIDO_CLIENTE where PC_ENVIO_OK = 0")
|
|
' Log($"Pedido_Cliente PENDIENTE: ${c.RowCount}"$)
|
|
' If c.RowCount > 0 Then
|
|
' For i = 0 To c.RowCount - 1
|
|
' c.Position = i
|
|
' Log($"${c.GetString("PC_CLIENTE")}|${c.GetString("PC_FECHA")}|${c.GetString("PC_ENVIO_OK")}|"$)
|
|
' Dim cmd As DBCommand
|
|
' cmd.Initialize
|
|
' cmd.Name = "insert_pedidos_INTMEX"
|
|
' cmd.Parameters = Array As Object(c.GetString("PC_CLIENTE"), c.GetString("PC_FECHA"), c.GetString("PC_USER"), c.GetString("PC_NOART"), c.GetString("PC_MONTO"), c.GetString("PC_LON"), c.GetString("PC_LAT"), Subs.traeAlmacen, B4XPages.MainPage.principal.l_ruta.text, c.GetString("PC_COSTO_SIN"), c.GetString("PC_FACTURA"))
|
|
' PCNoArts = c.GetString("PC_NOART")
|
|
' PCMonto = c.GetString("PC_MONTO")
|
|
'' sql.insert_pedidos_INTMEX=INSERT INTO INTMEX.PEDIDO_CLIENTE(PC_FECHA_SINC,PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT,PC_IDALMACEN, PC_RUTA, PC_COSTO_SIN, PC_FACTURA) VALUES (SYSDATE,(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),(?))
|
|
' reqManager.ExecuteCommand(cmd , $"ins_pedidosPendientes_head_${c.GetString("PC_CLIENTE")}"$)
|
|
' Next
|
|
' End If
|
|
|
|
' 'PEDIDO (Pendientes)
|
|
' c = skmt.ExecQuery($"SELECT PE_ENVIO_OK, PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_FECHA, PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO, PE_TICKET FROM PEDIDO where PE_ENVIO_OK <> 1"$)
|
|
' Log($"Pedido PENDIENTE: ${c.RowCount}"$)
|
|
' If c.RowCount>0 Then
|
|
' For i=0 To c.RowCount -1
|
|
' c.Position=i
|
|
' Dim cmd As DBCommand
|
|
' cmd.Initialize
|
|
' cmd.Name = "insert_pedido4_INTMEX"
|
|
' cmd.Parameters = Array As Object(C.GetString("PE_CEDIS"),ALMACEN,C.GetString("PE_COSTO_TOT"),C.GetString("PE_COSTOU"),C.GetString("PE_CANT"),C.GetString("PE_PRONOMBRE"),C.GetString("PE_PROID"),C.GetString("PE_CLIENTE"),C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),c.GetString("PE_FOLIO"), PCNoArts, PCMonto,c.GetString("PE_TICKET"))
|
|
' reqManager.ExecuteCommand(cmd , $"ins_pedidosPendientes_prods_${c.GetString("PE_CLIENTE")}_${c.GetString("PE_PROID")}"$)
|
|
' Log($">>>> INS_PEDIDO= ${C.GetString("PE_CEDIS")},${ALMACEN},${C.GetString("PE_COSTO_TOT")},${C.GetString("PE_COSTOU")},${C.GetString("PE_CANT")}, ${C.GetString("PE_PRONOMBRE")}, ${C.GetString("PE_PROID")}, ${C.GetString("PE_CLIENTE")}, ${C.GetString("PE_FECHA")}, ${C.GetString("PE_USUARIO")}, ${C.GetString("PE_RUTA")}, ${C.GetString("PE_COSTO_SIN")}, ${C.GetString("PE_DESC")}, ${c.GetString("PE_FOLIO")}, ${PCNoArts}, ${PCMonto}, ${PCMonto}, ${c.GetString("PE_TICKET")}"$)
|
|
'' sql.insert_pedido_INTMEX=INSERT INTO INTMEX.PEDIDO (PE_CODPROMO,PE_FECHA_SINC,PE_IDALMACEN,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_COSTO_SIN, PE_DESCUENTO, PE_TIPO) VALUES ((?),SYSDATE,(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),nvl((?),0),(?))
|
|
'' sql.insert_pedido2_INTMEX=INSERT INTO INTMEX.PEDIDO (PE_CODPROMO,PE_FECHA_SINC,PE_IDALMACEN,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_COSTO_SIN, PE_DESCUENTO, PE_TIPO, PE_CANT_TOTAL, PE_VENTA_TOTAL) VALUES ((?),SYSDATE,(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),nvl((?),0),(?),(?),(?))
|
|
' Next
|
|
' End If
|
|
|
|
' 'ABONOS
|
|
' Dim ab As Cursor = B4XPages.MainPage.skmt.ExecQuery($"SELECT * from ABONOS where a_enviado is null"$)
|
|
' Log(ab.RowCount)
|
|
' If ab.RowCount > 0 Then
|
|
' For i=0 To ab.RowCount -1
|
|
' ab.Position = i
|
|
' Dim cmd As DBCommand
|
|
' cmd.Initialize
|
|
' cmd.Name = "insert_abono_INTMEX"
|
|
' cmd.Parameters = Array As Object( ab.GetString("a_usuario"), ab.GetString("a_ruta"), ab.GetString("a_cliente"), ab.GetString("a_abono"), ab.GetString("a_fecha"),ALMACEN )
|
|
' reqManager.ExecuteCommand(cmd , $"ins_abonosPendientes_${ab.GetString("a_cliente")}"$)
|
|
' Log($"ins_abonosPendientes_${ab.GetString("a_cliente")}"$)
|
|
' Next
|
|
' End If
|
|
' ab.Close
|
|
|
|
'CLIENTES NUEVOS
|
|
' Dim bb As Cursor = B4XPages.MainPage.skmt.ExecQuery($"SELECT * from CLIENTE_NUEVO where CN_enviado is null"$)
|
|
' Dim cb As Cursor = B4XPages.MainPage.skmt.ExecQuery("SELECT ID_ALMACEN from CAT_ALMACEN")
|
|
' cb.Position = 0
|
|
' If bb.RowCount > 0 Then
|
|
' For i=0 To bb.RowCount -1
|
|
' bb.Position = i
|
|
' Dim cmd As DBCommand
|
|
' cmd.Initialize
|
|
' cmd.Name = "insert_cliente_INTMEX"
|
|
' cmd.Parameters = Array As Object( bb.GetString("CN_ID_CLIENTE"), bb.GetString("CN_NOMBRE"),B4XPages.MainPage.principal.l_ruta.Text,cb.GetString("ID_ALMACEN"))
|
|
' reqManager.ExecuteCommand(cmd , $"insert_cliente_${bb.GetString("CN_ID_CLIENTE")}"$)
|
|
' Log($"insert_cliente_${bb.GetString("CN_ID_CLIENTE")}"$)
|
|
' Next
|
|
' Log("si lo hice")
|
|
' End If
|
|
' bb.Close
|
|
' cb.Close
|
|
|
|
|
|
c=Starter.skmt.ExecQuery("SELECT CN_ID, CN_FECHA , CN_USER, CN_LAT, CN_LON, CN_NOMBRE, CN_DIRECCION, CN_FOTO, CN_ALMACEN, CN_RUTA, CN_GIRO, CN_SOLICITA, CN_COLONIA, CN_TELEFONO, CN_CP FROM CLIENTES_NUEVOS")
|
|
If c.RowCount>0 Then
|
|
For i = 0 To c.RowCount - 1
|
|
c.Position = i
|
|
Dim dia As Int = DateTime.GetDayOfWeek(DateTime.Now)
|
|
If dia = 2 Then
|
|
Dim dialetra As String = "LUNES"
|
|
Else If dia = 3 Then
|
|
Dim dialetra As String = "MARTES"
|
|
Else If dia = 4 Then
|
|
Dim dialetra As String = "MIERCOLES"
|
|
Else If dia = 5 Then
|
|
Dim dialetra As String = "JUEVES"
|
|
Else If dia = 6 Then
|
|
Dim dialetra As String = "VIERNES"
|
|
Else If dia = 7 Then
|
|
Dim dialetra As String = "SABADO"
|
|
End If
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_cliente_INTMEX2"
|
|
Log(c.GetString("CN_ID")&" ,"& c.GetString("CN_FECHA")&" ,"& c.GetString("CN_USER")&" ,"& c.GetString("CN_LAT")&" ,"& c.GetString("CN_LON")&" ,"& c.GetString("CN_NOMBRE")&" ,"& c.GetString("CN_DIRECCION")&" ,"&ALMACEN& c.GetString("CN_RUTA")&" ,"& "En espera"&c.GetString("CN_GIRO")&" ,"&dialetra& c.GetString("CN_SOLICITA")&" ,"& c.GetString("CN_COLONIA")&" ,"& c.GetString("CN_TELEFONO"))
|
|
cmd.Parameters = Array As Object(c.GetString("CN_ID"), c.GetString("CN_NOMBRE"), c.GetString("CN_RUTA"),ALMACEN, c.GetString("CN_LAT"), c.GetString("CN_LON"), "En espera", c.GetString("CN_FECHA"), c.GetString("CN_USER"), c.GetString("CN_DIRECCION"), c.GetString("CN_GIRO"),dialetra, c.GetString("CN_TELEFONO"), c.GetString("CN_SOLICITA"), c.GetString("CN_COLONIA"), c.GetString("CN_CP"))
|
|
reqManager.ExecuteCommand(cmd , $"insert_cliente_${C.GetString("CN_ID")}"$)
|
|
Next
|
|
End If
|
|
c.Close
|
|
|
|
' Cambio atiende
|
|
c=B4XPages.MainPage.skmt.ExecQuery("Select CAT_CL_TELEFONO, CAT_CL_CODIGO from kmt_info where CAT_CL_CODIGO IN (SELECT CLIENTE FROM TELEFONO)")
|
|
If c.RowCount>0 Then
|
|
For i=0 To c.RowCount -1
|
|
c.Position=i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "update_atiende_INTMEX"
|
|
cmd.Parameters = Array As Object(C.GetString("CAT_CL_TELEFONO"),C.GetString("CAT_CL_CODIGO"),ALMACEN,Subs.traeRuta2(C.GetString("CAT_CL_CODIGO")))
|
|
reqManager.ExecuteCommand(cmd , "up_coordenadas")
|
|
Next
|
|
End If
|
|
c.Close
|
|
|
|
'' BANDERA FACTURA (Pendientes)
|
|
'' c=B4XPages.MainPage.skmt.ExecQuery("SELECT PC_FACTURA, PC_CLIENTE FROM pedido_cliente where PC_CLIENTE IN (Select CUENTA from cuentaa)")
|
|
'' Log($"BANDERA FACTURA PENDIENTE: ${c.RowCount}"$)
|
|
'' If c.RowCount>0 Then
|
|
'' For i=0 To c.RowCount -1
|
|
'' c.Position=i
|
|
'' Dim cmd As DBCommand
|
|
'' cmd.Initialize
|
|
'' cmd.Name = "update_factura_INTMEX"
|
|
'' cmd.Parameters = Array As Object(C.GetString("PC_FACTURA"), C.GetString("PC_CLIENTE"), ALMACEN)
|
|
'' reqManager.ExecuteCommand(cmd , "upd_facturasPendientes")
|
|
'' Next
|
|
'' ' sql.update_factura_INTMEX=UPDATE INTMEX.HIST_VENTAS SET HV_FACTURA = (?) WHERE HV_CLIENTE = (?) And HV_ALMACEN = (?)
|
|
'' End If
|
|
'' c.Close
|
|
|
|
'' CUESTIONARIO (Pendientes)
|
|
' c = B4XPages.MainPage.skmt.ExecQuery("SELECT * FROM CUESTIONARIO where ifnull(Q_ENVIO_OK, 0) = 0 order by Q_IDCLIENTE, Q_IDPREGUNTA; Q_IDRESPUESTA")
|
|
' Private rutaActual As String = Subs.traeRuta
|
|
' Log("CUEST PENDIENTES: " & c.RowCount)
|
|
' If c.RowCount > 0 Then
|
|
' For x = 0 To c.RowCount - 1
|
|
' c.Position = x
|
|
' Log($"insert_cuestionario_${c.GetString("Q_IDCLIENTE")}_${c.GetString("Q_IDPREGUNTA")}_${c.GetString("Q_IDRESPUESTA")}"$)
|
|
' Dim cmd As DBCommand
|
|
' cmd.Initialize
|
|
' cmd.Name = "insert_CUESTIONARIO_INTMEX"
|
|
' cmd.Parameters = Array As Object(c.GetString("Q_IDCLIENTE"), rutaActual, ALMACEN, c.GetString("Q_FECHA"), c.GetString("Q_IDPREGUNTA"), c.GetString("Q_PREGUNTA"), c.GetString("Q_IDRESPUESTA"), C.GetString("Q_RESPUESTA"))
|
|
' reqManager.ExecuteCommand(cmd , $"insert_cuestionario_${c.GetString("Q_IDCLIENTE")}_${c.GetString("Q_IDPREGUNTA")}_${c.GetString("Q_IDRESPUESTA")}"$)
|
|
' Next
|
|
' End If
|
|
' c.Close
|
|
' End If
|
|
End Sub
|
|
|
|
Sub mandapiezas
|
|
If l_total.Text <> Null Or l_total.Text <> "null" Then
|
|
Dim PCNoArts As String
|
|
Dim PCMonto As String
|
|
c = skmt.ExecQuery2("SELECT * FROM PEDIDO_CLIENTE WHERE PC_CLIENTE = ?", Array As String(la_cuenta.Text))
|
|
If c.RowCount > 0 Then
|
|
c.Position = 0
|
|
Log(la_cuenta.Text&", "& ALMACEN&", "& LA_RUTA)
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "select_piezas_INTMEX"
|
|
cmd.Parameters = Array As Object(la_cuenta.Text, ALMACEN, LA_RUTA)
|
|
reqManager.ExecuteQuery(cmd , 0, "piezas")
|
|
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
Sub JobDone(Job As HttpJob)
|
|
' Log(Job.Success)
|
|
If Job.Success = False Then
|
|
' ToastMessageShow("Error: " & Job.ErrorMessage, True)
|
|
Else
|
|
LogColor("JobDone: '" & reqManager.HandleJob(Job).tag & "' - Registros: " & reqManager.HandleJob(Job).Rows.Size, Colors.Green) 'Mod por CHV - 211027
|
|
If Job.JobName = "DBRequest" Then
|
|
Dim resultado As DBResult = reqManager.HandleJob(Job)
|
|
If resultado.Tag.As(String).IndexOf("ins_pedidosPendientes_head_") > -1 Then
|
|
Subs.logJobDoneResultados(resultado)
|
|
Private cliente As String= resultado.Tag
|
|
cliente = cliente.SubString(cliente.IndexOf("_")+24)
|
|
' Log($"Cliente1:${cliente}"$)
|
|
For Each records() As Object In resultado.Rows
|
|
If records(resultado.Columns.Get("AffectedRows")).As(Int) > 0 Then
|
|
' Log(">>>>>>>> GUARDADO")
|
|
Private pars() As String = Regex.Split("_", resultado.tag)
|
|
B4XPages.MainPage.skmt.ExecNonQuery($"update PEDIDO_CLIENTE set PC_ENVIO_OK = 1 where PC_CLIENTE = '${pars(3)}'"$)
|
|
' Log($"update PEDIDO_CLIENTE set PC_ENVIO_OK = 1 where PC_CLIENTE = '${pars(3)}'"$)
|
|
End If
|
|
' For Each k As String In resultado.Columns.Keys
|
|
' Log(resultado.Tag & ": " & k & ": " & records(resultado.Columns.Get(k)))
|
|
' Next
|
|
Next
|
|
End If
|
|
End If
|
|
|
|
If Job.JobName = "DBRequest" Then
|
|
Dim resultado As DBResult = reqManager.HandleJob(Job)
|
|
If resultado.Tag = "piezas" Then 'query tag
|
|
' B4XPages.MainPage.picking.cl_picking.Clear
|
|
Dim piezasexiste As Int
|
|
For Each records() As Object In resultado.Rows
|
|
piezasexiste = records(resultado.Columns.Get("COUNT(*)"))
|
|
Log(piezasexiste)
|
|
DateTime.DateFormat = "MM/dd/yyyy"
|
|
DateTime.TimeFormat = "HH:mm:ss"
|
|
sDate=DateTime.Date(DateTime.Now)
|
|
sTime=DateTime.Time(DateTime.Now)
|
|
If piezasexiste = 0 Then
|
|
Dim PCNoArts As String
|
|
Dim PCMonto As String
|
|
c = skmt.ExecQuery2("SELECT * FROM PEDIDO_CLIENTE WHERE PC_CLIENTE = ?", Array As String(la_cuenta.Text))
|
|
If c.RowCount > 0 Then
|
|
c.Position = 0
|
|
PCNoArts = c.GetString("PC_NOART")
|
|
PCMonto = c.GetString("PC_MONTO")
|
|
End If
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_HVC_INTMEX"
|
|
cmd.Parameters = Array As Object((sDate & " " & sTime), la_cuenta.Text, PCNoArts, PCMonto, ALMACEN, LA_RUTA)
|
|
reqManager.ExecuteCommand(cmd , "insert_hvc")
|
|
' reqManager.ExecuteCommand(cmd , $"ins_abonosPendientes_${ab.GetString("a_cliente")}"$)
|
|
|
|
Else If piezasexiste = 1 Then
|
|
Dim PCNoArts As String
|
|
Dim PCMonto As String
|
|
c = skmt.ExecQuery2("SELECT * FROM PEDIDO_CLIENTE WHERE PC_CLIENTE = ?", Array As String(la_cuenta.Text))
|
|
|
|
If c.RowCount > 0 Then
|
|
c.Position = 0
|
|
PCNoArts = c.GetString("PC_NOART")
|
|
PCMonto = c.GetString("PC_MONTO")
|
|
End If
|
|
cmd.Initialize
|
|
cmd.Name = "update_HVC_INTMEX"
|
|
cmd.Parameters = Array As Object((sDate & " " & sTime), la_cuenta.Text, PCNoArts, PCMonto, ALMACEN, LA_RUTA, la_cuenta.Text, ALMACEN, LA_RUTA)
|
|
reqManager.ExecuteCommand(cmd, "update_hvc")
|
|
End If
|
|
Next
|
|
End If
|
|
End If
|
|
|
|
If Job.JobName = "DBRequest" Then
|
|
Dim resultado As DBResult = reqManager.HandleJob(Job)
|
|
If resultado.Tag.As(String).IndexOf("ins_pedidosPendientes_prods_") > -1 Then
|
|
Subs.logJobDoneResultados(resultado)
|
|
Private cliente As String= resultado.Tag
|
|
cliente = cliente.SubString(cliente.IndexOf("_")+25)
|
|
Log($"Cliente2:${cliente}"$)
|
|
For Each records() As Object In resultado.Rows
|
|
' If records(resultado.Columns.Get("AffectedRows")).As(Int) = 1 Then Log(">>>>>>>> GUARDADO")
|
|
If records(resultado.Columns.Get("AffectedRows")).As(Int) > 0 Then
|
|
Private pars() As String = Regex.Split("_", resultado.tag)
|
|
B4XPages.MainPage.skmt.ExecNonQuery($"update PEDIDO set PE_ENVIO_OK = 1 where PE_CLIENTE = '${pars(3)}' and PE_PROID = '${pars(4)}' and PE_ENVIO_OK = 0"$)
|
|
End If
|
|
' Log($"update PEDIDO set PE_ENVIO_OK = 1 where PE_CLIENTE = '${pars(3)}' and PE_PROID = '${pars(4)}' and PE_ENVIO_OK = 0"$)
|
|
' For Each k As String In resultado.Columns.Keys
|
|
' Log(resultado.Tag & ": " & k & ": " & records(resultado.Columns.Get(k)))
|
|
' Next
|
|
Next
|
|
End If
|
|
End If
|
|
|
|
'ABONOS PENDIENTES
|
|
If Job.JobName = "DBRequest" Then
|
|
Dim resultado As DBResult = reqManager.HandleJob(Job)
|
|
If resultado.Tag.As(String).IndexOf("ins_abonosPendientes_") > -1 Then
|
|
Private cliente As String= resultado.Tag
|
|
cliente = cliente.SubString(cliente.IndexOf("_")+18)
|
|
Log($"Cliente2:${cliente}"$)
|
|
For Each records() As Object In resultado.Rows
|
|
For Each k As String In resultado.Columns.Keys
|
|
Log(resultado.Tag & ": " & k & ": " & records(resultado.Columns.Get(k)))
|
|
Next
|
|
Next
|
|
B4XPages.MainPage.skmt.ExecNonQuery($"UPDATE ABONOS set a_enviado = 1 where a_cliente = '${cliente}'"$)
|
|
End If
|
|
End If
|
|
|
|
'CLIENTES NUEVOS
|
|
If Job.JobName = "DBRequest" Then
|
|
Dim resultado As DBResult = reqManager.HandleJob(Job)
|
|
If resultado.Tag.As(String).IndexOf("insert_cliente_") > -1 Then
|
|
Private cliente As String= resultado.Tag
|
|
cliente = cliente.SubString(cliente.IndexOf("_")+9)
|
|
Log($"Cliente2:${cliente}"$)
|
|
For Each records() As Object In resultado.Rows
|
|
For Each k As String In resultado.Columns.Keys
|
|
Log(resultado.Tag & ": " & k & ": " & records(resultado.Columns.Get(k)))
|
|
Next
|
|
Next
|
|
B4XPages.MainPage.skmt.ExecNonQuery($"UPDATE CLIENTES_NUEVOS set CN_ENVIO = 1 where CN_ID = '${cliente}'"$)
|
|
End If
|
|
End If
|
|
|
|
'Guarda coords nuevas
|
|
If Job.JobName = "DBRequest" Then
|
|
Dim resultado As DBResult = reqManager.HandleJob(Job)
|
|
If resultado.Tag = "insCoordsNuevas" Then
|
|
ToastMessageShow("Coordenadas actualizadas", False)
|
|
End If
|
|
End If
|
|
|
|
'CUESTIONARIO
|
|
If Job.JobName = "DBRequest" Then
|
|
Dim resultado As DBResult = reqManager.HandleJob(Job)
|
|
If resultado.Tag.As(String).IndexOf("insert_cuestionario_") > -1 Then
|
|
Private pars() As String = Regex.Split("_", resultado.Tag.As(String))
|
|
Log($"${resultado.tag}|${pars(0)}"$)
|
|
Log($"${pars(1)}"$)
|
|
Log($"${pars(2)}"$)
|
|
Log($"${pars(3)}"$)
|
|
Log($"${pars(4)}"$)
|
|
Private cliente As String = pars(2)
|
|
Private idPreg As String = pars(3)
|
|
Private idResp As String = pars(4)
|
|
Log($"Cliente2:${cliente}, preg:${idPreg}, res:${idResp}"$)
|
|
For Each records() As Object In resultado.Rows
|
|
For Each k As String In resultado.Columns.Keys
|
|
Log(resultado.Tag & ": " & k & ": " & records(resultado.Columns.Get(k)))
|
|
Next
|
|
Next
|
|
B4XPages.MainPage.skmt.ExecNonQuery($"UPDATE CUESTIONARIO set Q_ENVIO_OK = 1 where Q_IDCLIENTE = '${cliente}' and Q_IDPREGUNTA='${idPreg}' and Q_IDRESPUESTA='${idResp}'"$)
|
|
End If
|
|
End If
|
|
|
|
Job.Release
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Private Sub p_abono_Click
|
|
|
|
End Sub
|
|
|
|
Private Sub b_abono_Click
|
|
p_abono.Visible = False
|
|
If et_abono.text > l_montoabonostotal.text Then
|
|
MsgboxAsync("El monto a abonar no puede ser mayor que el monto total","Atención" )
|
|
Else
|
|
If et_abono.Text <> "" Then
|
|
Msgbox2Async($"¿Seguro que quieres realizar un abono de $${et_abono.text} para este cliente?"$, "Guardar Abono", "Guardar", "Cancelar", "", Null, True)
|
|
Wait For Msgbox_Result (resultado As Int)
|
|
If resultado = DialogResponse.POSITIVE Then
|
|
skmt.ExecNonQuery($"INSERT INTO ABONOS(a_usuario, a_ruta, a_cliente, a_abono, a_fecha) VALUES ('${Subs.traeUsuarioDeBD}', '${Subs.traeRuta}', '${Subs.traeCliente}' ,'${et_abono.text}', '${Subs.fechaKMT(DateTime.now)}')"$)
|
|
ToastMessageShow("Abono guardado", False)
|
|
End If
|
|
End If
|
|
End If
|
|
et_abono.Text = ""
|
|
ime.HideKeyboard
|
|
End Sub
|
|
|
|
Private Sub b_cancelar_Click
|
|
et_abono.Text = ""
|
|
p_abono.Visible = False
|
|
ime.HideKeyboard
|
|
End Sub
|
|
|
|
Private Sub b_abono1_Click
|
|
p_abono.Visible = True
|
|
End Sub
|
|
|
|
Private Sub b_cxc_Click
|
|
|
|
h = B4XPages.MainPage.skmt.ExecQuery("SELECT CUENTA from CUENTAA")
|
|
h.Position = 0
|
|
Log(h.GetString("CUENTA"))
|
|
j = B4XPages.MainPage.skmt.ExecQuery2("SELECT a_abono AS CUANTOS FROM ABONOS WHERE a_cliente = ?", Array As String(h.GetString("CUENTA")))
|
|
j.position = 0
|
|
Log(j.RowCount)
|
|
If j.RowCount = 0 Then
|
|
|
|
p_abono.Visible = True
|
|
Dim total As String = 0
|
|
f = B4XPages.MainPage.skmt.ExecQuery("SELECT CUENTA FROM CUENTAA")
|
|
f.Position = 0
|
|
|
|
d = B4XPages.MainPage.skmt.ExecQuery2("SELECT NOTA, SALDO_PENDIENTE FROM ABONOSP WHERE CLIENTE = ? ", Array As String (f.GetString("CUENTA")))
|
|
clv_abonos.Clear
|
|
For i = 0 To d.RowCount - 1
|
|
d.Position = i
|
|
clv_abonos.Add(CreateListItem(d.GetString("NOTA"),"$ " & d.GetString("SALDO_PENDIENTE")),i)
|
|
Log(d.GetString("NOTA"))
|
|
Log(d.GetString("SALDO_PENDIENTE"))
|
|
total = total + d.GetString("SALDO_PENDIENTE")
|
|
Log(total)
|
|
Next
|
|
l_montoabonostotal.Text = total
|
|
d.Close
|
|
f.Close
|
|
|
|
Else If j.RowCount > 0 Then
|
|
MsgboxAsync("Este cliente ya tiene un pago capturado","Atención")
|
|
End If
|
|
h.Close
|
|
j.Close
|
|
|
|
|
|
End Sub
|
|
|
|
Sub CreateListItem(mostrar As String, mostrar1 As String) As Panel
|
|
Dim p As B4XView = xui.CreatePanel("")
|
|
p.SetLayoutAnimated(0, 0, 0, 1, 10)
|
|
p.LoadLayout("folioabono")
|
|
p.Height= 32dip
|
|
p.Width = 80dip
|
|
' p.Width = clv_orden.GetBase.Width
|
|
l_folio.Text = mostrar
|
|
l_saldo.Text = mostrar1
|
|
' cxc.Text = mostrar3
|
|
' Log(p.Width)
|
|
Return p
|
|
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 2 pasillos con acceso directo a la mercancía?", Array As String("Si tiene al menos 2 pasillos con acceso directo a la mercancía", "No tiene pasillos o solo uno central"))
|
|
End If
|
|
Case "2"
|
|
If m.Get("respuesta") = "Si tiene al menos 2 pasillos con acceso directo a la mercancía" Then
|
|
Log("Mini-Super")
|
|
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
|
|
|
|
Private Sub b_ventaabordo_Click
|
|
' c=B4XPages.MainPage.skmt.ExecQuery("Select * From CAT_GUNAPROD2")
|
|
c=B4XPages.MainPage.skmt.ExecQuery2("Select * From CAT_GUNAPROD2 where cat_gp_tipo <> ? " , Array As String ("PROMOS"))
|
|
If c.RowCount > 0 Then
|
|
|
|
B4XPages.MainPage.tipo_venta = "VENTA"
|
|
' If B4XPages.MainPage.productos.clv_prods_ll.Size = 0 Then
|
|
' B4XPages.MainPage.productos.LlenaProdsLL(Null)
|
|
' Else
|
|
'
|
|
' B4XPages.MainPage.productos.clv_prods_ll.Clear
|
|
' End If
|
|
'Buscamos en el historial de cuestionarios si el cliente ya tiene cuestionario contestado.
|
|
Private hc As Cursor = Starter.skmt.ExecQuery($"select count(HC_CLIENTE) as cuantos from HIST_CUESTIONARIO where HC_CLIENTE = '${Subs.traeCliente}'"$)
|
|
hc.Position = 0
|
|
Log($"${cuest.encuestaIniciada} - ${hc.GetString("cuantos")} - ${cuest.clienteConCuestionario(Subs.traeCliente)}"$)
|
|
If Not(cuest.encuestaIniciada) And hc.GetString("cuantos") = 0 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
|
|
Private x As Cursor = B4XPages.MainPage.skmt.ExecQuery($"select tienda_id from COORDENADAS_GPS where tienda_id = '${la_cuenta.text}'"$)
|
|
' Log("+++++++++++++ " & x.RowCount)
|
|
If distance > 50 And x.RowCount = 0 Then
|
|
Private res As String = Msgbox2("¿Estas en la tienda, para guardar la nueva ubicación?", "AVISO", "Si","" ,"No", Null) 'ignore
|
|
If res = DialogResponse.POSITIVE Then
|
|
DateTime.DateFormat = "MM/dd/yyyy"
|
|
sDate=DateTime.Date(DateTime.Now)
|
|
sTime=DateTime.Time(DateTime.Now)
|
|
B4XPages.MainPage.skmt.ExecNonQuery($"insert into COORDENADAS_GPS (tienda_id, ruta, almacen, latitud, longitud, fecha) values ('${la_cuenta.Text}', '${Subs.traeRuta}', '${Subs.traeAlmacen}', '${B4XPages.MainPage.lat_gps}', '${B4XPages.MainPage.lon_gps}', '${sDate} ${sTime}')"$)
|
|
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_coords_nuevas_INTMEX"
|
|
cmd.Parameters = Array As Object(la_cuenta.text, Subs.traeRuta, Subs.traeAlmacen, sDate & " " & sTime, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, usuario)
|
|
' Log($"${la_cuenta.text}, ${Subs.traeRuta}, ${Subs.traeAlmacen}, ${sDate} ${sTime}, ${m_lat}, ${m_lon}"$)
|
|
reqManager.ExecuteCommand(cmd , "ins_coords_nuevas")
|
|
End If
|
|
End If
|
|
'Si hay mapa de productos es que hay venta en proceso, entonces borramos la actual para meter la nueva.
|
|
' If B4XPages.MainPage.productos.prodsMap.IsInitialized And B4XPages.MainPage.productos.prodsMap.Size > 0 Then Subs.borraPedidoClienteActual
|
|
B4XPages.ShowPage("productos")
|
|
Else If c.RowCount = 0 Then
|
|
MsgboxAsync("No puedes hacer venta porque no tienes inventario abordo","Atención")
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub b_cerrar_Click
|
|
p_pedidoExistente.Visible = False
|
|
End Sub
|
|
|
|
Private Sub p_pedidoExistente_Click
|
|
|
|
End Sub
|
|
|
|
Private Sub b_pedidoExistente_Click
|
|
p_pedidoExistente.Visible = True
|
|
End Sub
|
|
|
|
Private Sub l_telefono_LongClick
|
|
p_telefono.Height = Root.Height
|
|
p_telefono.Width = Root.Width
|
|
p_telefono.Visible = True
|
|
End Sub
|
|
|
|
Private Sub b_aceptelefono_Click
|
|
If et_telefono.Text <> "" Then
|
|
|
|
Private coord As Cursor = B4XPages.MainPage.skmt.ExecQuery("SELECT * from TELEFONO where CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
|
|
|
|
If coord.RowCount = 0 Then
|
|
skmt.ExecNonQuery2("INSERT INTO TELEFONO(TEL,CLIENTE) VALUES (?,?)", Array As String (et_telefono.Text,Subs.traeCliente))
|
|
B4XPages.MainPage.skmt.ExecNonQuery($"UPDATE kmt_info set CAT_CL_TELEFONO = '${et_telefono.Text}' where CAT_CL_CODIGO In (select cuenta from cuentaa)"$)
|
|
MsgboxAsync("Datos actualizados.","Atención")
|
|
l_telefono.Text = et_telefono.Text
|
|
ime.HideKeyboard
|
|
p_telefono.Visible = False
|
|
et_telefono.Text = ""
|
|
Else
|
|
skmt.ExecNonQuery2("UPDATE TELEFONO SET TEL = ? where CLIENTE IN (SELECT CUENTA FROM CUENTAA)", Array As String (et_telefono.Text))
|
|
B4XPages.MainPage.skmt.ExecNonQuery($"UPDATE kmt_info set CAT_CL_TELEFONO = '${et_telefono.Text}' where CAT_CL_CODIGO In (select cuenta from cuentaa)"$)
|
|
MsgboxAsync("Datos actualizados.","Atención")
|
|
l_telefono.Text = et_telefono.Text
|
|
ime.HideKeyboard
|
|
p_telefono.Visible = False
|
|
et_telefono.Text = ""
|
|
End If
|
|
|
|
|
|
Else
|
|
MsgboxAsync("Por favor captura un telefono valido.","Atención")
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub b_canceltelefono_Click
|
|
p_telefono.Visible = False
|
|
et_telefono.Text = ""
|
|
ime.HideKeyboard
|
|
End Sub
|
|
|
|
Private Sub p_telefono_Click
|
|
|
|
End Sub
|
|
|
|
Private Sub Label16_LongClick
|
|
p_telefono.Height = Root.Height
|
|
p_telefono.Width = Root.Width
|
|
p_telefono.Visible = True
|
|
End Sub
|
|
|
|
' Ocultamos por geocerca (Venta, Preventa y No venta)
|
|
Sub ocultamosBotonesPorGeocerca
|
|
gest.Visible = False
|
|
b_ventaabordo.Visible = False
|
|
Tels.Visible = False
|
|
End Sub
|
|
|
|
Private Sub la_nombre_Click
|
|
Log("Clicked")
|
|
If Not(Subs.geocercaActiva) Then
|
|
Log("Enviando coords")
|
|
DateTime.DateFormat = "MM/dd/yyyy"
|
|
sDate=DateTime.Date(DateTime.Now)
|
|
sTime=DateTime.Time(DateTime.Now)
|
|
B4XPages.MainPage.skmt.ExecNonQuery($"update kmt_info set cat_cl_lat = '${B4XPages.MainPage.lat_gps}', cat_cl_long = '${B4XPages.MainPage.lon_gps}' where cat_cl_codigo = '${la_cuenta.text}'"$)
|
|
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_coordsNuevas_INTMEX"
|
|
cmd.Parameters = Array As Object(B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, Subs.traeAlmacen, Subs.traeRuta, la_cuenta.text)
|
|
' cmd.Parameters = Array As Object("1", "1", "5", "6", "CLN13478")
|
|
Log($"${Subs.traeAlmacen}, ${Subs.traeRuta},${la_cuenta.text},${B4XPages.MainPage.lat_gps},${B4XPages.MainPage.lon_gps}"$)
|
|
reqManager.ExecuteCommand(cmd , "insCoordsNuevas")
|
|
ToastMessageShow("Coordenadas actualizadas", False)
|
|
B4XPage_Appear
|
|
Else
|
|
ToastMessageShow("Geocerca activada", False)
|
|
End If
|
|
End Sub |