Cerrar mesa efectivo

This commit is contained in:
2024-02-05 05:22:08 -06:00
parent 7fdf31f02a
commit 3b764f5277
6 changed files with 117 additions and 46 deletions

View File

@@ -23,6 +23,7 @@ Version=9.85
Sub Class_Globals
Private Root As B4XView
Private xui As XUI
Public login As B4XMainPage
Public principal As C_Principal
Private i_logo As ImageView
Private p_configuracion As Panel
@@ -35,6 +36,8 @@ Sub Class_Globals
Private ImageView2 As ImageView
Private Panel3 As Panel
Private Label1 As Label
Private i_conf As ImageView
Private b_cargaProductos As Button
End Sub
Public Sub Initialize
@@ -45,6 +48,8 @@ End Sub
Private Sub B4XPage_Created (Root1 As B4XView)
Root = Root1
Root.LoadLayout("login")
login.Initialize
B4XPages.AddPage("Login", login)
principal.Initialize
B4XPages.AddPage("Principal", principal)
p_login.Width = Root.Width
@@ -82,4 +87,12 @@ End Sub
Private Sub b_envioBD_Click
End Sub
Private Sub i_conf_Click
End Sub
Private Sub b_cargaProductos_Click
End Sub

View File

@@ -192,7 +192,9 @@ Sub B4XPage_CloseRequest As ResumableSub
' BACK key pressed
'Return True to close, False to cancel
Log(1)
If p_mesa.Visible Then
If p_pago.visible Then
p_pago.Visible = False
else If p_mesa.Visible Then
p_mesa.Visible = False
p_mesas.Visible = True
LlenaMesas(Null, Null)
@@ -201,8 +203,8 @@ Sub B4XPage_CloseRequest As ResumableSub
' p_mesas.Visible = True
WobbleMenu1_Tab1Click
WobbleMenu1.SetCurrentTab(1)
' Else
' Subs.iniciaActividad("Login")
Else
B4XPages.ShowPage("Login")
End If
Return False
End Sub
@@ -280,9 +282,9 @@ Sub b_prodMenos_Click
If laCant.Text = 0 Then prodsMap.Remove(id)
' LogColor("prodsMap="&prodsMap, Colors.blue)
' (Subs.traeAlmacen, p1.Get("precio"), p1.Get("cant"), pn, p, ticketId, Subs.traeFecha, Subs.traeUsuarioDeBD, rutaUsuario, 0, B4XPages.MainPage.tipo_venta)
Private almacenX As String = Subs.traeAlmacen
' Private almacenX As String = Subs.traeAlmacen
Private nombreX As String = Subs.traeProdNombre(id)
Subs.actualizaProducto(almacenX, precio, laCant.text, nombreX, id, Starter.ticketActual, Subs.traeFecha, Subs.traeUsuarioDeBD, Starter.mesaActual, 0, Starter.tipov)
Subs.actualizaProducto(precio, laCant.text, nombreX, id, Starter.ticketActual, Subs.traeFecha, Starter.meseroActual, Starter.mesaActual, 0, Starter.tipov, Starter.comensalesActuales)
cuentaProds
Dim cs As CSBuilder
cs.Initialize
@@ -326,10 +328,10 @@ Sub b_prodMas_Click
Log(Subs.totalPedido)
End If
Private id As String=clv.GetValue(index).As(Map).Get("id")
Private almacenX As String = Subs.traeAlmacen
' Private almacenX As String = Subs.traeAlmacen
Private nombreX As String = Subs.traeProdNombre(id)
Private precioX As String = precio
Subs.actualizaProducto(almacenX, precioX, laCant.text, nombreX, id, Starter.ticketActual, Subs.traeFecha, Subs.traeUsuarioDeBD, Starter.mesaActual, 0, Starter.tipov)
Subs.actualizaProducto(precioX, laCant.text, nombreX, id, Starter.ticketActual, Subs.traeFecha, Starter.meseroActual, Starter.mesaActual, 0, Starter.tipov, Starter.comensalesActuales)
cuentaProds
Dim cs As CSBuilder
cs.Initialize
@@ -373,9 +375,9 @@ Sub LlenaProdsLL(p As ResultSet, extra As String)
If hayPedido Then 'Si hay pedido obtenemos las cantidades de los productos para agregarlos al CLV.
Dim cantsMap As Map
cantsMap.Initialize
Dim pe As ResultSet = Starter.skmt.ExecQuery($"select PE_PROID, PE_CANT from PEDIDO where PE_TICKET = '${Starter.ticketActual}' and PE_CEDIS = '${Subs.traeAlmacen}'"$)
Dim pe As ResultSet = Starter.skmt.ExecQuery($"select PE_PROID, PE_CANT from PEDIDO where PE_TICKET = '${Starter.ticketActual}' and PE_MESA = '${Starter.mesaActual}' and PE_TIPO = 'VENTA'"$)
'Si EXTRA es igual a rmi, entonces regresamos los RMIs existentes.
If extra = "rmi" Then pe = Starter.skmt.ExecQuery($"select PE_PROID, PE_CANT from PEDIDO where PE_TICKET = '${Starter.ticketActual}' and PE_CEDIS = 'DUR'"$)
If extra = "rmi" Then pe = Starter.skmt.ExecQuery($"select PE_PROID, PE_CANT from PEDIDO where PE_TICKET = '${Starter.ticketActual}' and PE_MESA = 'DUR'"$)
' LogColor("Ponemos productos de pedido anterior: "&pe.RowCount, Colors.red)
Do While pe.NextRow
Private cant As Int = 0
@@ -797,10 +799,10 @@ Private Sub b_borrar_Click
Log(laCant.text)
laCant.Text = "0"
Private id As String=clv.GetValue(index).As(Map).Get("id")
Private almacenX As String = Subs.traeAlmacen
' Private almacenX As String = Subs.traeAlmacen
Private nombreX As String = Subs.traeProdNombre(id)
Private precioX As String = precio
Subs.actualizaProducto(almacenX, precioX, laCant.text, nombreX, id, Starter.ticketActual, Subs.traeFecha, Subs.traeUsuarioDeBD, Starter.mesaActual, 0, Starter.tipov)
Subs.actualizaProducto(precioX, laCant.text, nombreX, id, Starter.ticketActual, Subs.traeFecha, Starter.meseroActual, Starter.mesaActual, 0, Starter.tipov, Starter.comensalesActuales)
' Log($"${almacenX}, ${precioX}, ${laCant.text}, ${nombreX}, ${id}, ${Starter.ticketActual}, ${Subs.traeFecha}, ${Subs.traeUsuarioDeBD}, ${rutaUsuario}, 0, ${Starter.tipov}"$)
cuentaProds
llenaCarrito
@@ -828,6 +830,7 @@ Private Sub clv_mesas_VisibleRangeChanged (FirstIndex As Int, LastIndex As Int)
l_estatus.text = "DISPONIBLE"
' Log(m)
If m.Get("estatus") = "ABIERTA" Then l_estatus.Text = "ABIERTA"
' Log(m)
If l_estatus.text = "ABIERTA" Then
l_mesaX.Text = cs.Color(Colors.red).Size(16).Append($"Mesa ${m.Get("id")}"$).pop.append(CRLF).Color(0xFF017F01).Append($"Comensales ${m.Get("comensales")}"$).Append(" - Mesero ").pop.Color(Colors.red).append(m.Get("mesero")).pop.append(CRLF).Color(Colors.black).Append($"Subtotal. $${NumberFormat2(m.Get("subtotal"), 1,2,2,True)} - Articulos: ${m.Get("articulos")}"$).Popall
Else
@@ -845,9 +848,8 @@ Private Sub clv_mesas_VisibleRangeChanged (FirstIndex As Int, LastIndex As Int)
End Sub
Sub LlenaMesas(p As ResultSet, extra As String) 'ignore
' Dim p As ResultSet = Starter.skmt.ExecQuery($"select *, IFNULL(M_ESTATUS, 'DISPONIBLE') as ESTATUS2, IFNULL(M_MESERO, 'NINGUNO') as MESERO, IFNULL(M_COMENSALES, 0) as COMENSALES from cat_mesas"$)
Dim p As ResultSet = Starter.skmt.ExecQuery($"Select *, IFNULL(M_ESTATUS, 'DISPONIBLE') as ESTATUS2, IFNULL(M_MESERO, 'NINGUNO') as MESERO, IFNULL(M_COMENSALES, 0) as COMENSALES, M_TICKET, IFNULL(PC_MONTO, 0) as SUBTOTAL, IFNULL(PC_NOART, 0) as NO_ARTS from CAT_MESAS left join pedido_ticket on M_TICKET = pc_ticket"$)
Dim p As ResultSet = Starter.skmt.ExecQuery($"select *, IFNULL(M_ESTATUS, 'CERRADA') as ESTATUS2, IFNULL(M_MESERO, 'NINGUNO') as MESERO, IFNULL(M_COMENSALES, 0) as COMENSALES from cat_mesas"$)
' Dim p As ResultSet = Starter.skmt.ExecQuery($"Select *, IFNULL(M_ESTATUS, 'CERRADA') as ESTATUS2, IFNULL(M_MESERO, 'NINGUNO') as MESERO, IFNULL(M_COMENSALES, 0) as COMENSALES, M_TICKET, IFNULL(PT_MONTO, 0) as SUBTOTAL, IFNULL(PT_NOART, 0) as NO_ARTS from CAT_MESAS left join pedido_ticket on M_TICKET = pt_ticket and M_ID = PT_MESA"$)
' Log(p.RowCount)
PCLVM.Commit
@@ -855,7 +857,20 @@ Sub LlenaMesas(p As ResultSet, extra As String) 'ignore
Private m_mesas As Map
m_mesas.Initialize
Do While p.NextRow
Dim tempMap As Map = CreateMap("id":p.GetString("M_ID"), "numero":p.GetString("M_NUMERO"), "nombre":p.GetString("M_NOMBRE"), "zona":p.GetString("M_ZONA"), "ticket":p.GetString("M_TICKET"), "estatus":p.GetString("ESTATUS2"), "mesero":p.GetString("MESERO"), "comensales":p.GetString("COMENSALES"), "subtotal":p.GetString("SUBTOTAL"), "articulos":p.GetString("NO_ARTS"))
Private SUBTOTAL2 As String = "0"
Private NO_ARTS2 As String = "0"
' Log(p.GetString("ESTATUS2"))
If p.GetString("ESTATUS2") = "ABIERTA" Then
' Log($"PT_TICKET = '${p.GetString("M_TICKET")}' and PT_MESA = '${p.GetString("M_ID")}"$)
Private pt As Cursor = Starter.skmt.ExecQuery($"select ifnull(sum(PT_MONTO),0) as SUBTOTAL, ifnull(sum(PT_NOART), 0) as NO_ARTS from PEDIDO_TICKET where PT_TICKET = '${p.GetString("M_TICKET")}' and PT_MESA = '${p.GetString("M_ID")}'"$)
If pt.RowCount > 0 Then
pt.Position = 0
SUBTOTAL2 = pt.GetString("SUBTOTAL")
NO_ARTS2 = pt.GetString("NO_ARTS")
End If
End If
' Log($"${SUBTOTAL2}, ${NO_ARTS2}"$)
Dim tempMap As Map = CreateMap("id":p.GetString("M_ID"), "numero":p.GetString("M_NUMERO"), "nombre":p.GetString("M_NOMBRE"), "zona":p.GetString("M_ZONA"), "ticket":p.GetString("M_TICKET"), "estatus":p.GetString("ESTATUS2"), "mesero":p.GetString("MESERO"), "comensales":p.GetString("COMENSALES"), "subtotal":SUBTOTAL2, "articulos":NO_ARTS2)
' m_mesas.Put(p.GetString("M_ID"), tempMap)
Private Pnl As B4XView = xui.CreatePanel("")
Pnl.SetLayoutAnimated(0, 0, 0, clv_mesas.AsView.Width, 70dip)
@@ -877,7 +892,9 @@ Private Sub p_mesasItem_Click
Subs.panelVisible(p_mesa, 0, 0)
Private m As Map = Sender.As(Panel).tag
Starter.mesaActual = m.Get("id")
Starter.meseroActual = m.Get("mesero")
Starter.ticketActual = m.Get("ticket")
Starter.comensalesActuales = m.Get("comensales")
l_mesa.Text = $"MESA NO. ${m.Get("id")}"$
Log(m)
b_mesaCerrar.Tag = m
@@ -908,8 +925,19 @@ End Sub
Private Sub b_abrirMesa_Click
If cb_mesero.SelectedIndex <> 0 Then
Starter.skmt.ExecNonQuery($"update CAT_MESAS set M_TICKET = '${Subs.traeConsecutivoTicket("ABIERTA", "PENDIENTE")}', M_ESTATUS = 'ABIERTA', M_MESERO = '${cb_mesero.SelectedItem}', M_COMENSALES = '${cb_comensales.SelectedItem}' where M_ID = '${Starter.mesaActual}'"$)
Log($"update CAT_MESAS set M_TICKET = '${Subs.traeConsecutivoTicket("ABIERTA", "PENDIENTE")}', M_ESTATUS = 'ABIERTA', M_MESERO = '${cb_mesero.SelectedItem}' where M_ID = '${Starter.mesaActual}'"$)
Private c As Cursor = Starter.skmt.ExecQuery($"select M_ESTATUS from CAT_MESAS where M_ID = '${Starter.mesaActual}' and M_ESTATUS = 'ABIERTA'"$)
If c.RowCount > 0 Then
Starter.skmt.ExecNonQuery($"update CAT_MESAS set M_MESERO = '${cb_mesero.SelectedItem}', M_COMENSALES = '${cb_comensales.SelectedItem}' where M_ID = '${Starter.mesaActual}'"$)
Log($"update CAT_MESAS set M_MESERO = '${cb_mesero.SelectedItem}', M_COMENSALES = '${cb_comensales.SelectedItem}' where M_ID = '${Starter.mesaActual}'"$)
Else
Starter.ticketActual = Subs.traeConsecutivoTicket("ABIERTA", "PENDIENTE")
Starter.skmt.ExecNonQuery($"update CAT_MESAS set M_TICKET = '${Subs.traeConsecutivoTicket("ABIERTA", "PENDIENTE")}', M_ESTATUS = 'ABIERTA', M_MESERO = '${cb_mesero.SelectedItem}', M_COMENSALES = '${cb_comensales.SelectedItem}' where M_ID = '${Starter.mesaActual}'"$)
Log($"update CAT_MESAS set M_TICKET = '${Starter.ticketActual}', M_ESTATUS = 'ABIERTA', M_MESERO = '${cb_mesero.SelectedItem}', M_COMENSALES = '${cb_comensales.SelectedItem}' where M_ID = '${Starter.mesaActual}'"$)
End If
Starter.meseroActual = cb_mesero.SelectedItem
Starter.comensalesActuales = cb_comensales.SelectedItem
Starter.skmt.ExecNonQuery($"insert into usuarioa (usuario) values ('${cb_mesero.SelectedItem}')"$)
LlenaProdsLL(Null, Null)
l_comensalesAbierta2.Text = cb_comensales.SelectedItem
l_meseroAbierta2.Text = cb_mesero.SelectedItem
p_mesaCampos.Visible = False
@@ -959,6 +987,18 @@ End Sub
Private Sub b_pagoCerrar_Click
p_pago.Visible = False
If cb_pago.SelectedItem = "Efectivo" Then
Private sigTicket As String = Subs.traeConsecutivoTicket("CERRADA", "EFECTIVO")
Starter.skmt.ExecNonQuery($"update CAT_MESAS set M_PAGO = null, M_TICKET = null, M_ESTATUS = null, M_MESERO = null, M_COMENSALES = null where M_ID = '${Starter.mesaActual}'"$)
Log($"update CAT_MESAS set M_PAGO = null, M_TICKET = null, M_ESTATUS = null, M_MESERO = null, M_COMENSALES = null where M_ID = '${Starter.mesaActual}'"$)
Starter.skmt.ExecNonQuery($"update PEDIDO set PE_TIPO = 'EFECTIVO', PE_TICKET = '${sigTicket}' where PE_MESA = '${Starter.mesaActual}' and PE_TIPO = 'VENTA' and PE_TICKET = '${Starter.ticketActual}'"$)
Log($"update PEDIDO set PE_TIPO = 'EFECTIVO', PE_TICKET = '${sigTicket}' where PE_MESA = '${Starter.mesaActual}' and PE_TIPO = 'VENTA' and PE_TICKET = '${Starter.ticketActual}'"$)
Starter.skmt.ExecNonQuery($"update PEDIDO_TICKET set PT_PAGO = 'EFECTIVO', PT_TICKET = '${sigTicket}' where PT_MESA = '${Starter.mesaActual}' and PT_TICKET = '${Starter.ticketActual}' and PT_PAGO = 'VENTA'"$)
Log($"update PEDIDO_TICKET set PT_PAGO = 'EFECTIVO', PT_TICKET = '${sigTicket}' where PT_MESA = '${Starter.mesaActual}' and PT_TICKET = '${Starter.ticketActual}' and PT_PAGO = 'VENTA"$)
Else
End If
B4XPage_CloseRequest
End Sub
Private Sub cb_pago_SelectedIndexChanged (Index As Int)

Binary file not shown.

View File

@@ -19,6 +19,6 @@ ModuleClosedNodes3=14
ModuleClosedNodes4=
ModuleClosedNodes5=6
ModuleClosedNodes6=68
NavigationStack=C_Principal,b_prodMas_Click,287,0,C_Principal,Class_Globals,64,0,C_Principal,p_pago_Click,950,0,Visual Designer,principal.bal,-100,6,C_Principal,B4XPage_Created,111,4,C_Principal,cb_mesero_SelectedIndexChanged,927,0,C_Principal,cb_pago_SelectedIndexChanged,959,3,C_Principal,b_pagoCerrar_Click,956,1,C_Principal,lv_categorias_ItemClick,948,0,C_Principal,p_mesaAbierta_Click,944,0,C_Principal,b_mesaEditar_Click,940,0
NavigationStack=C_Principal,LlenaMesas,857,6,Subs,guardaProductoSinGestion,1293,6,Subs,actualizaProducto,1248,6,C_Principal,b_pagoCerrar_Click,990,6,C_Principal,B4XPage_CloseRequest,200,6,Visual Designer,principal.bal,-100,4,B4XMainPage,B4XPage_Created,42,0,Visual Designer,login.bal,-100,2,B4XMainPage,Class_Globals,34,0,B4XMainPage,i_conf_Click,91,0,B4XMainPage,b_cargaProductos_Click,91,0
SelectedBuild=0
VisibleModules=1,5,6,2
VisibleModules=1,5,6,2,4

View File

@@ -22,8 +22,7 @@ Sub Process_Globals
Dim Logger As Boolean
Dim rutav As String = ""
Dim tipov As String = "VENTA"
Dim mesaActual As String
Dim ticketActual As String
Dim ticketActual, mesaActual, meseroActual, comensalesActuales As String
End Sub
Sub Service_Create

View File

@@ -203,7 +203,7 @@ Sub revisaBD 'ignore
kmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS ABONOSP(NOTA TEXT, CLIENTE TEXT, SALDO_PENDIENTE TEXT)")
kmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CLIENTE_NUEVO(CN_ID_CLIENTE TEXT, CN_NOMBRE TEXT, CN_enviado text)")
kmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS RUTA_SUPLENCIA(RS_RUTA TEXT)")
kmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_MESAS(M_ID TEXT, M_NUMERO TEXT, M_NOMBRE TEXT, M_ZONA TEXT, M_ESTATUS TEXT, M_TICKET TEXT DEFAULT 'PENDIENTE' NOT NULL, M_MESERO TEXT, M_PAGO TEXT, M_COMENSALES INTEGER)")
kmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_MESAS(M_ID TEXT, M_NUMERO TEXT, M_NOMBRE TEXT, M_ZONA TEXT, M_ESTATUS TEXT, M_TICKET TEXT, M_MESERO TEXT, M_PAGO TEXT, M_COMENSALES INTEGER)")
kmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_MESEROS(MS_ID TEXT, MS_NOMBRE TEXT, MS_MESAS_ASIGNADAS TEXT)")
kmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS bitacora(fecha INTEGER, texto TEXT)") 'Bitacora
' kmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS MESAA(MESA STRING)")
@@ -211,7 +211,7 @@ Sub revisaBD 'ignore
kmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS PEDIDO_INICIO_FINAL(PIF_CLIENTE TEXT, PIF_HORA_INICIO LONG, PIF_HORA_FINAL LONG)") 'Bitacora
kmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS PEDIDO3 (PE_PRECIO2 TEXT,PE_TIPO TEXT,PE_FOLIO NUMERIC,PE_DESC NUMERIC,PE_COSTO_SIN TEXT,PE_MESA TEXT,PE_CEDIS TEXT,PE_COSTO_TOT NUMERIC,PE_COSTOU NUMERIC,PE_CANT NUMERIC,PE_PRONOMBRE TEXT,PE_PROID TEXT,PE_TICKET TEXT,PE_FECHA TEXT,PE_MESERO TEXT)")
kmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS PEDIDO (PE_PRECIO2 TEXT,PE_TIPO TEXT,PE_FOLIO NUMERIC,PE_DESC NUMERIC,PE_COSTO_SIN TEXT,PE_MESA TEXT,PE_CEDIS TEXT,PE_COSTO_TOT NUMERIC,PE_COSTOU NUMERIC,PE_CANT NUMERIC,PE_PRONOMBRE TEXT,PE_PROID TEXT,PE_TICKET TEXT,PE_FECHA TEXT,PE_MESERO TEXT)")
kmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS PEDIDO_TICKET (PC_FACT TEXT, PC_COSTO_SIN TEXT, PC_MESA TEXT, PC_ALMACEN TEXT, PC_LON TEXT, PC_LAT TEXT, PC_TICKET TEXT, PC_FECHA TEXT, PC_USER TEXT, PC_NOART NUMERIC, PC_MONTO NUMERIC, PC_ENVIO_OK INTEGER, PC_TIEMPO_TIENDA FLOAT, PC_FACTURA INTEGER)")
kmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS PEDIDO_TICKET (PT_FACT TEXT, PT_COSTO_SIN TEXT, PT_MESA TEXT, PT_PAGO TEXT, PT_ALMACEN TEXT, PT_LON TEXT, PT_LAT TEXT, PT_TICKET TEXT, PT_FECHA TEXT, PT_MESERO TEXT, PT_COMENSALES INTEGER, PT_NOART NUMERIC, PT_MONTO TEXT, PT_ENVIO_OK INTEGER, PT_TIEMPO_TIENDA FLOAT, PT_FACTURA INTEGER)")
kmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_HIST_COMPRAS (H_IDCOMPRA TEXT, H_FOLIO NUMERIC, H_MESA TEXT, H_CEDIS TEXT, H_COSTO_TOT NUMERIC, H_COSTOU NUMERIC, H_CANT NUMERIC, H_PRONOMBRE TEXT, H_PROID TEXT, H_TICKET TEXT, H_FECHA TEXT)")
'Tabla para la bitacora de errores
@@ -1240,37 +1240,42 @@ Sub totalPedido As String
Return pTotal
End Sub
Sub actualizaProducto(cedis As String, costoU As String, cant As String, nombre As String, prodId As String, ticketId As String, fecha As String, usuario As String, mesa As String, precioSin As String, tipoVenta As String)
Sub actualizaProducto(costoU As String, cant As String, nombre As String, prodId As String, ticketId As String, fecha As String, mesero As String, mesa As String, precioSin As String, tipoVenta As String, comensales As Int)
If nombre.Length < 6 Then ToastMessageShow("(actualizaProducto) El nombre del producto no es valido " & nombre, True)
LogColor($"actualizaProducto, p=${prodId}, nombre=${nombre}, cant=${cant}, cedis=${cedis}, tipo=${tipoVenta}, mesa=${mesa}, ticket=${ticketId}"$, Colors.Magenta)
LogColor($"actualizaProducto, p=${prodId}, nombre=${nombre}, cant=${cant}, tipo=${tipoVenta}, mesa=${mesa}, mesero=${mesero}, comensales=${comensales}, ticket=${ticketId}"$, Colors.Magenta)
' Private tablaProds As String = "cat_gunaprod2"
' If tipoVenta = "ABORDO" Then tablaProds = "cat_gunaprod"
Private c As Cursor=Starter.skmt.ExecQuery($"select * from pedido where pe_cedis = '${cedis}' and pe_proid = '${prodId}' and PE_TICKET = '${ticketId}'"$)
Private c As Cursor=Starter.skmt.ExecQuery($"select * from pedido where PE_PROID = '${prodId}' and PE_TICKET = '${ticketId}' and PE_MESA = '${mesa}' and PE_TIPO = '${tipoVenta}'"$)
If c.RowCount > 0 Then
LogColor("ACTUALIZAMOS PROD", Colors.Blue)
c.Position=0
c.Position = 0
Private antCant As Int = 0
If IsNumber(c.GetInt("PE_CANT")) Then antCant=c.GetInt("PE_CANT")
Private difCant As Int = cant - antCant
Starter.skmt.ExecNonQuery($"update pedido set pe_cant = ${cant}, pe_costo_tot = ${(cant*c.GetString("PE_COSTOU"))} where pe_cedis = '${cedis}' and pe_proid = '${prodId}' and PE_TICKET = '${ticketId}' "$)
Starter.skmt.ExecNonQuery($"update pedido set pe_cant = ${cant}, pe_costo_tot = ${(cant*c.GetString("PE_COSTOU"))} where pe_proid = '${prodId}' and PE_TICKET = '${ticketId}' and PE_MESA = '${mesa}' and PE_TIPO = '${tipoVenta}'"$)
Starter.skmt.ExecNonQuery($"update cat_gunaprod set cat_gp_almacen = cat_gp_almacen - (${difCant}) where cat_gp_id = '${prodId}' "$)
c=Starter.skmt.ExecQuery($"select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, SUM(PE_COSTO_SIN) AS TOTAL_CLIE_SIN FROM PEDIDO WHERE PE_TICKET = '${ticketId}'"$)
Log($"select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, SUM(PE_COSTO_SIN) AS TOTAL_CLIE_SIN FROM PEDIDO WHERE PE_TICKET = '${ticketId}'"$)
c.Position=0
Starter.skmt.ExecNonQuery($"delete from PEDIDO_TICKET where PC_TICKET = '${ticketId}'"$)
Starter.skmt.ExecNonQuery2("insert into PEDIDO_TICKET(PC_TICKET, PC_FECHA, PC_USER, PC_NOART, PC_MONTO, PC_ALMACEN, PC_MESA, PC_COSTO_SIN) VALUES (?,?,?,?,?,?,?,?)", Array As Object(ticketId, fecha, usuario, c.GetString("CANT_CLIE"), c.GetString("TOTAL_CLIE"), cedis, mesa, c.GetString("TOTAL_CLIE_SIN")))
Starter.skmt.ExecNonQuery($"delete from PEDIDO_TICKET where PT_TICKET = '${ticketId}' and PT_MESA = '${mesa}' and PT_PAGO = '${tipoVenta}'"$)
Log($"delete from PEDIDO_TICKET where PT_TICKET = '${ticketId}' and PT_MESA = '${mesa}' and PT_PAGO = '${tipoVenta}'"$)
Starter.skmt.ExecNonQuery2("insert into PEDIDO_TICKET(PT_TICKET, PT_PAGO, PT_FECHA, PT_MESERO, PT_NOART, PT_MONTO, PT_MESA, PT_COSTO_SIN, PT_COMENSALES) VALUES (?,?,?,?,?,?,?,?,?)", Array As Object(ticketId, tipoVenta, fecha, mesero, c.GetString("CANT_CLIE"), c.GetString("TOTAL_CLIE"), mesa, c.GetString("TOTAL_CLIE_SIN"), comensales))
If cant = 0 Then
LogColor($"BORRAMOS PRODUCTO - ${prodId}"$, Colors.Red)
Starter.skmt.ExecNonQuery($"delete from pedido where pe_cedis = '${cedis}' and pe_proid = '${prodId}' and PE_TICKET = '${ticketId}' "$)
Log($"Borramos pe_cedis='${cedis}' and pe_proid='${prodId}' and PE_TICKET='${ticketId}'"$)
Private pe As Cursor = Starter.skmt.ExecQuery("select count(PE_TICKET) as cuantosPedidos from pedido where PE_TICKET = '${ticketId}'")
pe.Position=0
If pe.GetString("cuantosPedidos") = 0 Then Starter.skmt.ExecNonQuery($"delete from PEDIDO_TICKET where PC_TICKET = '${ticketId}'"$)
Starter.skmt.ExecNonQuery($"delete from pedido where pe_proid = '${prodId}' and PE_TICKET = '${ticketId}' "$)
Log($"Borramos pe_proid='${prodId}' and PE_TICKET='${ticketId}'"$)
Private pe As Cursor = Starter.skmt.ExecQuery($"select count(PE_TICKET) as cuantosPedidos from pedido where PE_TICKET = '${ticketId}' and PE_MESA = '${mesa}' and PE_TIPO = '${tipoVenta}'"$)
pe.Position = 0
If pe.GetString("cuantosPedidos") = 0 Then
Log("Borramos PEDIDO_TICKET")
Starter.skmt.ExecNonQuery($"delete from PEDIDO_TICKET where PT_TICKET = '${ticketId}' and PT_MESA = '${mesa}' and PT_PAGO = '${tipoVenta}'"$)
Log($"delete from PEDIDO_TICKET where PT_TICKET = '${ticketId}' and PT_MESA = '${mesa}' and PT_PAGO = '${tipoVenta}'"$)
End If
End If
Else
'INSERTAMOS
LogColor("INSERTAMOS PROD", Colors.red)
If cant > 0 Then guardaProductoSinGestion(cedis, costoU, cant, nombre, prodId, ticketId, fecha, usuario, mesa, precioSin, tipoVenta)
If cant > 0 Then guardaProductoSinGestion(costoU, cant, nombre, prodId, ticketId, fecha, mesero, mesa, precioSin, tipoVenta, comensales)
End If
c.Close
End Sub
@@ -1278,20 +1283,21 @@ End Sub
'Inserta un producto en la tabla "pedido" y "PEDIDO_TICKET" y actualiza "cat_gunaprod".
'NO ACTUALIZA LA BANDERA DE GESTION EN LA TABLA "kmt_info".
'Si "gestion=2" entonces el sistema considera que el pedido ya se guardó y ya no se debe modificar.
Sub guardaProductoSinGestion(cedis As String, costoU As String, cant As String, nombre As String, prodId As String, ticketId As String, fecha As String, usuario As String, mesa As String, precioSin As String, tipoVenta As String)
Sub guardaProductoSinGestion(costoU As String, cant As String, nombre As String, prodId As String, ticketId As String, fecha As String, mesero As String, mesa As String, precioSin As String, tipoVenta As String, comensales As Int)
If nombre.Length < 6 Then ToastMessageShow("(guardaProductoSinGestion) El nombre del producto no es valido " & nombre, True)
LogColor("guardaProductoSinGestion: "&prodId&", cant="&cant&", tipo="&tipoVenta&" , ticket="&ticketId&", mesa="&mesa, Colors.Magenta)
LogColor("guardaProductoSinGestion: "&prodId&", cant="&cant&", tipo="&tipoVenta&" , ticket="&ticketId&", mesa="&mesa&", comensales="&comensales, Colors.Magenta)
Private c As Cursor
' Private tablaProds As String = "cat_gunaprod2"
' If tipoVenta = "ABORDO" Then tablaProds = "cat_gunaprod"
Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_TICKET, PE_FECHA, PE_MESERO, PE_MESA, PE_COSTO_SIN, PE_TIPO) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (cedis, (cant * costoU), costoU, cant, nombre, prodId, ticketId, fecha, usuario, mesa, precioSin, tipoVenta))
Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_TICKET, PE_FECHA, PE_MESERO, PE_MESA, PE_COSTO_SIN, PE_TIPO) VALUES(?,?,?,?,?,?,?,?,?,?,?) ", Array As Object ((cant * costoU), costoU, cant, nombre, prodId, ticketId, fecha, mesero, mesa, precioSin, tipoVenta))
'Actualizamos el inventario en cat_gunaprod solo si no es RMI
Starter.skmt.ExecNonQuery2($"update cat_gunaprod set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? "$, Array As Object(cant, prodId))
c=Starter.skmt.ExecQuery($"select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, SUM(PE_COSTO_SIN) AS TOTAL_CLIE_SIN FROM PEDIDO WHERE PE_TICKET = '${ticketId}'"$)
Log($"select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, SUM(PE_COSTO_SIN) AS TOTAL_CLIE_SIN FROM PEDIDO WHERE PE_TICKET = '${ticketId}'"$)
c.Position=0
Starter.skmt.ExecNonQuery($"delete from PEDIDO_TICKET where PC_TICKET = '${ticketId}'"$)
Starter.skmt.ExecNonQuery2("insert into PEDIDO_TICKET(PC_TICKET, PC_FECHA, PC_USER, PC_NOART, PC_MONTO, PC_ALMACEN, PC_MESA, PC_COSTO_SIN) VALUES (?,?,?,?,?,?,?,?)", Array As Object(ticketId, fecha, usuario, c.GetString("CANT_CLIE"), c.GetString("TOTAL_CLIE"), cedis, mesa, c.GetString("TOTAL_CLIE_SIN")))
Starter.skmt.ExecNonQuery($"delete from PEDIDO_TICKET where PT_TICKET = '${ticketId}' and PT_MESA = '${mesa}' and PT_PAGO = '${tipoVenta}'"$)
Log($"delete from PEDIDO_TICKET where PT_TICKET = '${ticketId}' and PT_MESA = '${mesa}' and PT_PAGO = '${tipoVenta}'"$)
Starter.skmt.ExecNonQuery2("insert into PEDIDO_TICKET(PT_TICKET, PT_PAGO, PT_FECHA, PT_MESERO, PT_NOART, PT_MONTO, PT_MESA, PT_COSTO_SIN, PT_COMENSALES) VALUES (?,?,?,?,?,?,?,?,?)", Array As Object(ticketId, tipoVenta, fecha, mesero, c.GetString("CANT_CLIE"), c.GetString("TOTAL_CLIE"), mesa, c.GetString("TOTAL_CLIE_SIN"), comensales))
End Sub
Sub agrupador()
@@ -1382,14 +1388,19 @@ End Sub
'Regresa el siguente consecutivo para el ticket.
Sub traeConsecutivoTicket(estatus As String, pago As String) As String
Private m As String = "00001"
Private m As String = "00000"
Private sqlPago As String = $"M_PAGO = '${pago}'"$
If pago = "PENDIENTE" Then sqlPago = $"M_PAGO is NULL"$
Private c As Cursor = Starter.skmt.ExecQuery($"select max(M_TICKET) as ultimo from CAT_MESAS where M_ESTATUS = '${estatus}' and ${sqlPago}"$)
Log($"select max(M_TICKET) as ultimo from CAT_MESAS where M_ESTATUS = '${estatus}' and M_PAGO = '${pago}'"$)
If pago = "EFECTIVO" Then
Private c As Cursor = Starter.skmt.ExecQuery($"select max(PE_TICKET) as ultimo from PEDIDO where PE_TIPO = 'EFECTIVO'"$)
Else
Private c As Cursor = Starter.skmt.ExecQuery($"select max(M_TICKET) as ultimo from CAT_MESAS where ifnull(M_ESTATUS, 'CERRADA') = '${estatus}' and ${sqlPago}"$)
End If
Log($"select max(M_TICKET) as ultimo from CAT_MESAS where ifnull(M_ESTATUS, 'CERRADA') = '${estatus}' and ${sqlPago}"$)
If c.RowCount > 0 Then
c.Position = 0
Log(c.GetString("ultimo"))
Log("|" & c.GetString("ultimo") & "|")
If c.GetString("ultimo") <> Null And c.GetString("ultimo") <> "null" Then m = NumberFormat2(c.GetString("ultimo"), 5, 0,0, False)
End If
Log(m + 1)
@@ -1405,4 +1416,12 @@ Sub traeMesaEstatus(id As String) As String
e = c.GetString("estatus")
End If
Return e
End Sub
End Sub
'CAT_GUNAPRODS, CAT_MESAS y CAT_MESEROS
'1782
'10.0.0.106
'DBKMT
'LANTER
'LANTERD2023M