- Se agrega codigo para descuento con pago en efectivo

This commit is contained in:
2024-03-10 06:07:50 -06:00
parent a6e77b99a4
commit 35da4c6e23
5 changed files with 476 additions and 392 deletions

View File

@@ -81,6 +81,11 @@ Private Sub B4XPage_Created (Root1 As B4XView)
i_logo.Left = (Root.Width / 2) - (i_logo.Width / 2) i_logo.Left = (Root.Width / 2) - (i_logo.Width / 2)
Subs.centraPanel(Panel3, p_configuracion.Width) Subs.centraPanel(Panel3, p_configuracion.Width)
' subs.panelVisible(p_configuracion, 0, 0) ' subs.panelVisible(p_configuracion, 0, 0)
Private x As Cursor = Starter.skmt.ExecQuery($"select * from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'DESCUENTO X EFECTIVO'"$)
If x.RowCount = 0 Then 'Insertamos el descuento para efectivo por default.
' Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("DESCUENTO X EFECTIVO"))
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("DESCUENTO X EFECTIVO","10"))
End If
End Sub End Sub
Private Sub B4XPage_CloseRequest As ResumableSub Private Sub B4XPage_CloseRequest As ResumableSub

View File

@@ -118,6 +118,10 @@ Sub Class_Globals
Private l_tipoPago As Label Private l_tipoPago As Label
Private formaPago As String Private formaPago As String
Private l_faltaMonto As Label Private l_faltaMonto As Label
Private p_opcionEfectivo As Panel
Private l_opcionEfectivo As Label
Private CheckBox1 As CheckBox
Private cb_opcionEfectivo As CheckBox
End Sub End Sub
'You can add more parameters here. 'You can add more parameters here.
@@ -211,7 +215,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
End Sub End Sub
Sub B4XPage_Appear Sub B4XPage_Appear
Starter.imprimirTicket = False Starter.imprimirTicket = false
reqManager.Initialize(Me, Starter.DBReqServer) reqManager.Initialize(Me, Starter.DBReqServer)
B4XPages.MainPage.atrasPresionado = False B4XPages.MainPage.atrasPresionado = False
' Log(Starter.DBReqServer) ' Log(Starter.DBReqServer)
@@ -393,8 +397,6 @@ Sub cuentaProds
Private c As Cursor = Starter.skmt.ExecQuery($"select sum(PE_COSTO_TOT) as total, sum(PE_CANT) as cant from PEDIDO where PE_TICKET IN (Select cuenta from cuentaa)"$) Private c As Cursor = Starter.skmt.ExecQuery($"select sum(PE_COSTO_TOT) as total, sum(PE_CANT) as cant from PEDIDO where PE_TICKET IN (Select cuenta from cuentaa)"$)
' LogColor("TIEMPO cuentaProds =" & ((DateTime.Now-inicioContador)/1000), Colors.Red) ' LogColor("TIEMPO cuentaProds =" & ((DateTime.Now-inicioContador)/1000), Colors.Red)
' LogColor(prodsMap, Colors.Magenta) ' LogColor(prodsMap, Colors.Magenta)
' p_botonesVenta.Visible = True
' p_botonesVenta.BringToFront
c.Position=0 c.Position=0
' Log(Subs.totalPedido) ' Log(Subs.totalPedido)
Private cant0 As String = "0" Private cant0 As String = "0"
@@ -423,27 +425,14 @@ Sub LlenaProdsLL(p As ResultSet, extra As String)
listaProdsConCant2.Initialize listaProdsConCant2.Initialize
listaProdsConCantIndex2.Initialize listaProdsConCantIndex2.Initialize
If hayPedido Then 'Si hay pedido obtenemos las cantidades de los productos para agregarlos al CLV. If hayPedido Then 'Si hay pedido obtenemos las cantidades de los productos para agregarlos al CLV.
' 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_MESA = 'DUR'"$)
' LogColor("Ponemos productos de pedido anterior: "&pe.RowCount, Colors.red)
' Do While pe.NextRow
' Private cant As Int = 0
' cantsMap.put(pe.GetString("PE_PROID"), pe.GetString("PE_CANT"))
' Loop
' pe.Close
Private c As Cursor = Starter.skmt.ExecQuery($"Select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD, CAT_GP_IMG, PE_PROID, PE_CANT, PE_PRONOMBRE, PE_COSTOU from cat_gunaprod join pedido on cat_gp_id = Pe_proid where PE_TICKET = '${Starter.ticketActual}' and PE_MESA = '${Starter.mesaActual}' and PE_TIPO = 'VENTA' and CAT_GP_PRECIO > 0 And CAT_GP_CLASIF <> 'PROMOS' order by CAT_GP_NOMBRE"$) Private c As Cursor = Starter.skmt.ExecQuery($"Select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD, CAT_GP_IMG, PE_PROID, PE_CANT, PE_PRONOMBRE, PE_COSTOU from cat_gunaprod join pedido on cat_gp_id = Pe_proid where PE_TICKET = '${Starter.ticketActual}' and PE_MESA = '${Starter.mesaActual}' and PE_TIPO = 'VENTA' and CAT_GP_PRECIO > 0 And CAT_GP_CLASIF <> 'PROMOS' order by CAT_GP_NOMBRE"$)
' Log(c.RowCount) ' Log(c.RowCount)
If c.RowCount > 0 Then If c.RowCount > 0 Then
For i = 0 To c.RowCount - 1 For i = 0 To c.RowCount - 1
c.Position = i c.Position = i
' If hayPedido And cantsMap.ContainsKey(c.GetString("CAT_GP_ID")) Then cant = cantsMap.Get(p.GetString("CAT_GP_ID")) 'Agregamos la cantidad ya comprada al producto
Dim tempMap As Map = CreateMap("prod":c.GetString("PE_PRONOMBRE"), "precio":c.GetString("PE_COSTOU"), "almacen":c.GetString("CAT_GP_ALMACEN"), "id":c.GetString("CAT_GP_ID"), "cant":c.GetString("PE_CANT"), "img":Null) Dim tempMap As Map = CreateMap("prod":c.GetString("PE_PRONOMBRE"), "precio":c.GetString("PE_COSTOU"), "almacen":c.GetString("CAT_GP_ALMACEN"), "id":c.GetString("CAT_GP_ID"), "cant":c.GetString("PE_CANT"), "img":Null)
listaProdsConCant2.Add(tempMap) listaProdsConCant2.Add(tempMap)
listaProdsConCantIndex2.Add(c.GetString("CAT_GP_ID")) listaProdsConCantIndex2.Add(c.GetString("CAT_GP_ID"))
' listaProdsConCant2.Add(tempMap)
' listaProdsConCantIndex2.Add(i)
Next Next
End If End If
@@ -462,23 +451,11 @@ Sub LlenaProdsLL(p As ResultSet, extra As String)
' Log($"listaProdsConCantIndex2=${listaProdsConCantIndex2}"$) ' Log($"listaProdsConCantIndex2=${listaProdsConCantIndex2}"$)
' Log(p.RowCount) ' Log(p.RowCount)
Private cont As Int = 0 Private cont As Int = 0
' Private listaProdsConCant2, listaProdsConCantIndex2 As List
' listaProdsConCant2.Initialize
' listaProdsConCantIndex2.Initialize
Do While p.NextRow Do While p.NextRow
Private cant As Int = 0 Private cant As Int = 0
' Dim ins As InputStream
' Dim bmp As Bitmap
' Dim jpeg() As Byte
' jpeg = p.GetBlob("CAT_GP_IMG")
' ins.InitializeFromBytesArray(jpeg, 0, jpeg.Length)
' bmp.Initialize2(ins)
' If hayPedido And cantsMap.ContainsKey(p.GetString("CAT_GP_ID")) Then cant = cantsMap.Get(p.GetString("CAT_GP_ID")) 'Agregamos la cantidad ya comprada al producto ' If hayPedido And cantsMap.ContainsKey(p.GetString("CAT_GP_ID")) Then cant = cantsMap.Get(p.GetString("CAT_GP_ID")) 'Agregamos la cantidad ya comprada al producto
Dim tempMap As Map = CreateMap("prod":p.GetString("CAT_GP_NOMBRE"), "precio":p.GetString("CAT_GP_PRECIO"), "almacen":p.GetString("CAT_GP_ALMACEN"), "id":p.GetString("CAT_GP_ID"), "cant":cant, "img":Null) Dim tempMap As Map = CreateMap("prod":p.GetString("CAT_GP_NOMBRE"), "precio":p.GetString("CAT_GP_PRECIO"), "almacen":p.GetString("CAT_GP_ALMACEN"), "id":p.GetString("CAT_GP_ID"), "cant":cant, "img":Null)
listaProds.Add(tempMap) listaProds.Add(tempMap)
' listaProdsConCant2.Add(tempMap)
' listaProdsConCantIndex2.Add(cont)
' cont = cont + 1
' Log($"${p.GetString("CAT_GP_ID")}, ${p.GetString("CAT_GP_NOMBRE")}, ${cant}"$) ' Log($"${p.GetString("CAT_GP_ID")}, ${p.GetString("CAT_GP_NOMBRE")}, ${cant}"$)
Loop Loop
' Log($"listaProdsConCant2=${listaProdsConCant2}"$) ' Log($"listaProdsConCant2=${listaProdsConCant2}"$)
@@ -487,20 +464,6 @@ Sub LlenaProdsLL(p As ResultSet, extra As String)
' Log("LISTAPRODS: " & listaProds) ' Log("LISTAPRODS: " & listaProds)
PCLV.Commit PCLV.Commit
clv_prods_ll.Clear clv_prods_ll.Clear
' Private listaProdsConCant, listaProdsConCantIndex As List
' listaProdsConCant.Initialize
' listaProdsConCantIndex.Initialize
' listaHints.Initialize
' Log(listaProds)
' For q = 0 To listaProds.Size - 1' Sacamos los productos con cantidad previa.
' If listaProds.Get(q).As(Map).Get("cant").As(Int) <> 0 Then
'' Log(listaProds.Get(q).As(Map).Get("prod"))
' listaProdsConCant.Add(listaProds.Get(q))
' listaProdsConCantIndex.Add(q)
' End If
' Next
' Log("PRODCONCANT: " & listaProdsConCant)
' Log(listaProdsConCantIndex)
Private cont As Int = 0 Private cont As Int = 0
For pr0=0 To listaProdsConCant2.Size - 1 'Agregamos los productos con cantidad previa. For pr0=0 To listaProdsConCant2.Size - 1 'Agregamos los productos con cantidad previa.
Private Pnl As B4XView = xui.CreatePanel("") Private Pnl As B4XView = xui.CreatePanel("")
@@ -510,15 +473,12 @@ Sub LlenaProdsLL(p As ResultSet, extra As String)
cont = cont + 1 cont = cont + 1
Next Next
' LogColor(clv_prods_ll.Size, Colors.red) ' LogColor(clv_prods_ll.Size, Colors.red)
'' Log("LISTAPRODS.SIZE=" & listaProds.Size)
For pr = 0 To listaProds.Size - 1 For pr = 0 To listaProds.Size - 1
' If listaProdsConCantIndex.IndexOf(pr) = -1 Then
Private Pnl As B4XView = xui.CreatePanel("") Private Pnl As B4XView = xui.CreatePanel("")
If listaProds.Get(pr).As(Map).Get("almacen") < 1 Then If listaProds.Get(pr).As(Map).Get("almacen") < 1 Then
' Log("EN CERO" & listaProds.Get(pr).As(Map).Get("prod") & "|" & listaProds.Get(pr).As(Map).Get("almacen")) ' Log("EN CERO" & listaProds.Get(pr).As(Map).Get("prod") & "|" & listaProds.Get(pr).As(Map).Get("almacen"))
Else Else
Pnl.SetLayoutAnimated(0, 0, 0, clv_prods_ll.AsView.Width, 70dip) Pnl.SetLayoutAnimated(0, 0, 0, clv_prods_ll.AsView.Width, 70dip)
' Log(listaProds.Get(pr))
' Log($"Existe ${listaProds.get(pr).As(Map).Get("id")} -> ${listaProdsConCantIndex2.IndexOf(listaProds.get(pr).As(Map).Get("id"))}"$) ' Log($"Existe ${listaProds.get(pr).As(Map).Get("id")} -> ${listaProdsConCantIndex2.IndexOf(listaProds.get(pr).As(Map).Get("id"))}"$)
If listaProdsConCantIndex2.IndexOf(listaProds.get(pr).As(Map).Get("id")) = - 1 Then If listaProdsConCantIndex2.IndexOf(listaProds.get(pr).As(Map).Get("id")) = - 1 Then
clv_prods_ll.Add(Pnl, listaProds.Get(pr)) clv_prods_ll.Add(Pnl, listaProds.Get(pr))
@@ -526,7 +486,6 @@ Sub LlenaProdsLL(p As ResultSet, extra As String)
End If End If
cont = cont + 1 cont = cont + 1
End If End If
' End If
Next Next
If clv_prods_ll.Size > 0 Then If clv_prods_ll.Size > 0 Then
clv_prods_ll.JumpToItem(0) 'Vamos al primer artículo de la lista. clv_prods_ll.JumpToItem(0) 'Vamos al primer artículo de la lista.
@@ -541,7 +500,6 @@ Sub LlenaProdsLL(p As ResultSet, extra As String)
End Sub End Sub
Private Sub clv_prods_ll_VisibleRangeChanged (FirstIndex As Int, LastIndex As Int) Private Sub clv_prods_ll_VisibleRangeChanged (FirstIndex As Int, LastIndex As Int)
' Private inicioContador As String = DateTime.Now
' Log($"clv_prods_ll_VisibleRangeChanged : ${FirstIndex}, ${LastIndex} "$) ' Log($"clv_prods_ll_VisibleRangeChanged : ${FirstIndex}, ${LastIndex} "$)
Dim ExtraSize As Int = 30 'List size Dim ExtraSize As Int = 30 'List size
For i = Max(0, FirstIndex - ExtraSize) To Min(LastIndex + ExtraSize, clv_prods_ll.Size - 1) For i = Max(0, FirstIndex - ExtraSize) To Min(LastIndex + ExtraSize, clv_prods_ll.Size - 1)
@@ -551,19 +509,7 @@ Private Sub clv_prods_ll_VisibleRangeChanged (FirstIndex As Int, LastIndex As In
' Log(clv_prods_ll.GetValue(i)) ' Log(clv_prods_ll.GetValue(i))
If Pnl.NumberOfViews = 0 Then 'Add each item/layout to the list/main layout If Pnl.NumberOfViews = 0 Then 'Add each item/layout to the list/main layout
Pnl.LoadLayout("proditem") Pnl.LoadLayout("proditem")
' p_botMasMen.Left = (p_prods.Width * 0.66) - (p_botMasMen.Width / 2)
p_prods.Width = clv_prods_ll.GetBase.Width ' Root.Width * 0.99 p_prods.Width = clv_prods_ll.GetBase.Width ' Root.Width * 0.99
' p_botMasMen.Left = p_prods.Width - (p_botMasMen.Width + 5)
'Las siguientes lineas son para que en altas resoluciones (520dp) los botones no se salgan de la pantalla.
' Private botsLeft As Int
' If GetDeviceLayoutValues.Scale > 1.7 Then '411 = 1.75
' botsLeft = p_botMasMen.Width * 0.25
' Else if GetDeviceLayoutValues.Scale > 1.3 Then '520 = 1.38
' botsLeft = p_botMasMen.Width * 0.6
' Else if GetDeviceLayoutValues.Scale > 1.15 Then '620 = 1.156
' botsLeft = p_botMasMen.Width
' End If
p_botMasMen.Left = (clv_prods_ll.GetBase.Width - p_botMasMen.Width - 32) p_botMasMen.Left = (clv_prods_ll.GetBase.Width - p_botMasMen.Width - 32)
' Log(p_botMasMen.left) ' Log(p_botMasMen.left)
Private cs As CSBuilder Private cs As CSBuilder
@@ -582,7 +528,6 @@ Private Sub clv_prods_ll_VisibleRangeChanged (FirstIndex As Int, LastIndex As In
l_prodX.Tag = clv_prods_ll.GetValue(i).As(Map) l_prodX.Tag = clv_prods_ll.GetValue(i).As(Map)
l_pCant.Tag = clv_prods_ll.GetValue(i).As(Map).Get("id") l_pCant.Tag = clv_prods_ll.GetValue(i).As(Map).Get("id")
' Log(clv_prods_ll.GetValue(i).As(Map).Get("id")) ' Log(clv_prods_ll.GetValue(i).As(Map).Get("id"))
' Private rs_img As ResultSet = Starter.skmt.ExecQuery($"select CAT_GP_IMG from cat_gunaprod where CAT_GP_ID = '${clv_prods_ll.GetValue(i).As(Map).Get("id")}'"$)
i_prod.Bitmap = clv_prods_ll.GetValue(i).As(Map).Get("img") i_prod.Bitmap = clv_prods_ll.GetValue(i).As(Map).Get("img")
End If End If
' Log($"${i}, ${FirstIndex}, ${LastIndex}, ${Pnl.NumberOfViews}. ${clv_prods_ll.Size}"$) ' Log($"${i}, ${FirstIndex}, ${LastIndex}, ${Pnl.NumberOfViews}. ${clv_prods_ll.Size}"$)
@@ -591,7 +536,6 @@ Private Sub clv_prods_ll_VisibleRangeChanged (FirstIndex As Int, LastIndex As In
' Pnl.RemoveAllViews 'Remove none visable item/layouts from the list/main layout ' Pnl.RemoveAllViews 'Remove none visable item/layouts from the list/main layout
' End If ' End If
End If End If
' PCLV.B4XSeekBar1.Value = clv_prods_ll.Size - FirstIndex
' Log($"Bar value: ${PCLV.B4XSeekBar1.Value}"$) ' Log($"Bar value: ${PCLV.B4XSeekBar1.Value}"$)
Next Next
End Sub End Sub
@@ -750,30 +694,10 @@ Private Sub WobbleMenu1_Tab3Click
llenaHistorial llenaHistorial
End Sub End Sub
'Private Sub WobbleMenu1_Tab4Click
' PCLVM.B4XSeekBar1.mBase.Visible = False
' PCLV.B4XSeekBar1.mBase.Visible = False
' Subs.panelVisible(p_carrito, 0, 0)
' p_carrito.BringToFront
'' p_carrito.BringToFront
' p_meseros.Visible = False
' p_mesas.Visible = False
' p_historial.Visible = False
' l_carritoVacio.Visible = False
' l_compraTerminada.Visible = False
' p_mesa.Visible = False
' llenaCarrito
' If clv_carrito.Size > 0 Then p_botonesCarrito.Visible = True Else p_botonesCarrito.Visible = False
'End Sub
Private Sub b_continuar_Click Private Sub b_continuar_Click
WobbleMenu1.SetCurrentTab(2) WobbleMenu1.SetCurrentTab(2)
End Sub End Sub
'Private Sub p_botonesVenta_Click
'
'End Sub
Private Sub lv_promos_ItemClick (Position As Int, Value As Object) Private Sub lv_promos_ItemClick (Position As Int, Value As Object)
End Sub End Sub
@@ -819,7 +743,7 @@ Sub llenaHistorial
label2.TextColor = Colors.RGB(1,127,1) label2.TextColor = Colors.RGB(1,127,1)
Private fecha As String = rs_hist.GetString("PT_FECHA") Private fecha As String = rs_hist.GetString("PT_FECHA")
fecha = fecha.SubString2(1,10) fecha = fecha.SubString2(1,10)
lv_historial.AddTwoLines(cs.Color(elColor).Append("Orden: " & rs_hist.GetString("PT_TICKET") & " - Mesa: " & rs_hist.GetString("PT_MESA")).PopAll, $"Fecha: ${fecha}, Productos: ${rs_hist.GetString("PT_NOART")}, Total: $${NumberFormat2(rs_hist.GetString("PT_MONTO"), 1, 2, 2, True)}"$) lv_historial.AddTwoLines2(cs.Color(elColor).Append("Orden: " & rs_hist.GetString("PT_TICKET") & " - Mesa: " & rs_hist.GetString("PT_MESA")).PopAll, $"Fecha: ${fecha}, Productos: ${rs_hist.GetString("PT_NOART")}, Total: $${NumberFormat2(rs_hist.GetString("PT_MONTO"), 1, 2, 2, True)}"$, $"${rs_hist.GetString("PT_MESA")}|${rs_hist.GetString("PT_TICKET")}|${rs_hist.GetString("PT_PAGO")}"$)
Loop Loop
Else Else
lv_historial.Visible = False lv_historial.Visible = False
@@ -1007,6 +931,10 @@ Private Sub p_mesasItem_Click
l_meseroAbierta2.Text = m.Get("mesero") l_meseroAbierta2.Text = m.Get("mesero")
l_comensalesAbierta2.Text = m.Get("comensales") l_comensalesAbierta2.Text = m.Get("comensales")
End If End If
Private tm As Map = CreateMap("ticket":m.Get("ticket"), "pago":tipoPago)
listaTickets.Initialize
listaTickets.Add(tm) 'Agregamos el ticket y pago a la lista para imprimir el ticket con estos datos al llamar b_imprimirTicket_Click
End Sub End Sub
Private Sub p_mesasItem_LongClick Private Sub p_mesasItem_LongClick
@@ -1094,6 +1022,8 @@ Private Sub b_mesaCerrar_Click
listaMontoDePago.Initialize listaMontoDePago.Initialize
listaTickets.Initialize listaTickets.Initialize
Starter.formasDePago = 1 Starter.formasDePago = 1
l_faltaMonto.Text = ""
cb_opcionEfectivo.Checked = False
p_formasDePago.Height = 40dip p_formasDePago.Height = 40dip
p_propina.Top = 133dip p_propina.Top = 133dip
b_pagoCerrar.Top = 263dip b_pagoCerrar.Top = 263dip
@@ -1101,16 +1031,18 @@ Private Sub b_mesaCerrar_Click
p_formasDePago.RemoveAllViews p_formasDePago.RemoveAllViews
Private c As Cursor = Starter.skmt.ExecQuery($"select PE_MESA from PEDIDO where PE_MESA = '${Starter.mesaActual}' and PE_TIPO = 'VENTA'"$) Private c As Cursor = Starter.skmt.ExecQuery($"select PE_MESA from PEDIDO where PE_MESA = '${Starter.mesaActual}' and PE_TIPO = 'VENTA'"$)
If c.RowCount > 0 Then If c.RowCount > 0 Then
Log(Sender.As(Button).tag) ' Log(Sender.As(Button).tag)
p_transparentePago.Visible = True p_transparentePago.Visible = True
p_transparentePago.BringToFront p_transparentePago.BringToFront
agregaFormaDePago(l_tipoPago.Left, 0, Starter.formasDePago) agregaFormaDePago(l_tipoPago.Left, 0, Starter.formasDePago)
et_montoPago2.Text = Starter.totalActual et_montoPago2.Text = Subs.traeTotalTicketActual_PT
Starter.totalActual = Subs.traeTotalTicketActual_PT
et_propina.Text = "" et_propina.Text = ""
et_montoPago2.Text = Starter.totalActual ' et_montoPago2.Text = Starter.totalActual
' p_pago.Elevation = 100dip ' p_pago.Elevation = 100dip
' p_pago.BringToFront ' p_pago.BringToFront
' p_pago.Visible = True ' p_pago.Visible = True
l_faltaMonto.Visible = False
Else Else
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}'"$) 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}'"$)
B4XPage_CloseRequest B4XPage_CloseRequest
@@ -1160,12 +1092,12 @@ Private Sub b_pagoCerrar_Click
tipoPago = "TARJETA" tipoPago = "TARJETA"
End If End If
Private sigTicket As String = Subs.traeConsecutivoTicket("CERRADA", tipoPago) Private sigTicket As String = Subs.traeConsecutivoTicket("CERRADA", tipoPago)
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 (listaMontoDePago.Get(fdp).As(EditText).text, listaMontoDePago.Get(fdp).As(EditText).text, 1, "Consumo de alimentos", "CDA01", sigTicket, Subs.traeFecha, Starter.meseroActual, Starter.mesaActual, listaMontoDePago.Get(fdp).As(EditText).text, tipoPago)) 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, PE_TIPO2, PE_ORIGEN) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (listaMontoDePago.Get(fdp).As(EditText).text, listaMontoDePago.Get(fdp).As(EditText).text, 1, "Consumo de alimentos", "CDA01", sigTicket, Subs.traeFecha, Starter.meseroActual, Starter.mesaActual, listaMontoDePago.Get(fdp).As(EditText).text, tipoPago, formaPago, $"${Starter.mesaActual}|${sigTicketMT}"$))
Private laPropina As String = "0" Private laPropina As String = "0"
If et_propina.Text <> "" Then If et_propina.Text <> "" Then
laPropina = et_propina.Text laPropina = et_propina.Text
End If End If
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(sigTicket, tipoPago, Subs.traeFecha, Starter.meseroActual, 1, listaMontoDePago.Get(fdp).As(EditText).text, Starter.mesaActual, listaMontoDePago.Get(fdp).As(EditText).text, Starter.comensalesActuales)) 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, PT_ALMACEN, PT_PAGO2, PT_ORIGEN) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object(sigTicket, tipoPago, Subs.traeFecha, Starter.meseroActual, 1, listaMontoDePago.Get(fdp).As(EditText).text, Starter.mesaActual, listaMontoDePago.Get(fdp).As(EditText).text, Starter.comensalesActuales, "MULTI-TICKET", formaPago, $"${Starter.mesaActual}|${sigTicketMT}"$))
' Log(tipoPago) ' Log(tipoPago)
Starter.ticketActual = sigTicket Starter.ticketActual = sigTicket
Private tm As Map = CreateMap("ticket":sigTicket, "pago":tipoPago) Private tm As Map = CreateMap("ticket":sigTicket, "pago":tipoPago)
@@ -1182,12 +1114,12 @@ Private Sub b_pagoCerrar_Click
End If End If
Private sigTicket As String = Subs.traeConsecutivoTicket("CERRADA", tipoPago) Private sigTicket As String = Subs.traeConsecutivoTicket("CERRADA", tipoPago)
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}'"$) 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}'"$)
Starter.skmt.ExecNonQuery($"update PEDIDO set PE_TIPO = '${tipoPago}', PE_TICKET = '${sigTicket}' where PE_MESA = '${Starter.mesaActual}' and PE_TIPO = 'VENTA' and PE_TICKET = '${Starter.ticketActual}'"$) Starter.skmt.ExecNonQuery($"update PEDIDO set PE_TIPO = '${tipoPago}', PE_TICKET = '${sigTicket}', PE_TIPO2 = '${formaPago}' where PE_MESA = '${Starter.mesaActual}' and PE_TIPO = 'VENTA' and PE_TICKET = '${Starter.ticketActual}'"$)
Private laPropina As String = "0" Private laPropina As String = "0"
If et_propina.Text <> "" Then If et_propina.Text <> "" Then
laPropina = et_propina.Text laPropina = et_propina.Text
End If End If
Starter.skmt.ExecNonQuery($"update PEDIDO_TICKET set PT_PAGO = '${tipoPago}', PT_TICKET = '${sigTicket}', PT_TARJETA = '${formaPago}', PT_PROPINA = '${laPropina}', PT_PAGO_PROPINA = '${cb_pagoPropina.SelectedItem}' where PT_MESA = '${Starter.mesaActual}' and PT_TICKET = '${Starter.ticketActual}' and PT_PAGO = 'VENTA'"$) Starter.skmt.ExecNonQuery($"update PEDIDO_TICKET set PT_PAGO = '${tipoPago}', PT_TICKET = '${sigTicket}', PT_TARJETA = '${formaPago}', PT_PROPINA = '${laPropina}', PT_PAGO_PROPINA = '${cb_pagoPropina.SelectedItem}', PT_PAGO2 = '${formaPago}' where PT_MESA = '${Starter.mesaActual}' and PT_TICKET = '${Starter.ticketActual}' and PT_PAGO = 'VENTA'"$)
' Log(tipoPago) ' Log(tipoPago)
Starter.ticketActual = sigTicket Starter.ticketActual = sigTicket
Private tm As Map = CreateMap("ticket":sigTicket, "pago":tipoPago) Private tm As Map = CreateMap("ticket":sigTicket, "pago":tipoPago)
@@ -1533,23 +1465,15 @@ Sub b_imp_LongClick
Private c As Cursor = Starter.skmt.ExecQuery($"select M_ESTATUS from CAT_MESAS where M_ESTATUS = 'ABIERTA'"$) Private c As Cursor = Starter.skmt.ExecQuery($"select M_ESTATUS from CAT_MESAS where M_ESTATUS = 'ABIERTA'"$)
Log(c.RowCount) Log(c.RowCount)
If c.RowCount = 0 Then 'Si no hay mesas abiertas entonces ... If c.RowCount = 0 Then 'Si no hay mesas abiertas entonces ...
Private c As Cursor = Starter.skmt.ExecQuery("select distinct CAT_GP_CLASIF, PE_PRONOMBRE, sum(pe_cant) as cuantos from pedido join CAT_GUNAPROD on cat_gp_id = PE_PROID group by PE_PRONOMBRE order by CAT_GP_CLASIF, PE_PRONOMBRE") Private c As Cursor = Starter.skmt.ExecQuery("select distinct CAT_GP_CLASIF, PE_PRONOMBRE, sum(pe_cant) as cuantos, sum(pe_costo_tot) as monto from pedido join CAT_GUNAPROD on cat_gp_id = PE_PROID group by PE_PRONOMBRE order by CAT_GP_CLASIF, PE_PRONOMBRE") 'Este query quita los "Consumo de alimentos", que son los tickets que se generan con el multi-ticket, porque en CAT_GUNAPROD no existe el ID CDA01.
Log(c.RowCount)
If c.RowCount > 0 Then If c.RowCount > 0 Then
c.Position = 0 c.Position = 0
Private catAnt As String = "" Private catAnt As String = ""
Private catTotal As String = 0 Private catTotal As String = 0
' Private tipoAnt As String = ""
' Private tipo As String
' Private ticket As String
If imprimirAqui Then Printer1.WriteString($"Fecha: ${sDate} ${sTime} ${CRLF}${CRLF}"$) If imprimirAqui Then Printer1.WriteString($"Fecha: ${sDate} ${sTime} ${CRLF}${CRLF}"$)
For i = 0 To 30 ' c.RowCount - 1 For i = 0 To c.RowCount - 1
c.Position = i c.Position = i
' ticket = c.GetString("PE_TICKET")
' If c.GetString("PE_TIPO") = "TARJETA" Then
' tipo = "Pago Tarjeta "
' Else If c.GetString("PE_TIPO") = "EFECTIVO" Then
' tipo = "Pago Efectivo "
' End If
' Log($"${catAnt} - ${c.GetString("CAT_GP_CLASIF")}"$) ' Log($"${catAnt} - ${c.GetString("CAT_GP_CLASIF")}"$)
If catAnt <> c.GetString("CAT_GP_CLASIF") Then If catAnt <> c.GetString("CAT_GP_CLASIF") Then
' Private tm As Cursor = Starter.skmt.ExecQuery($"select sum(PT_MONTO) as totalMesa from PEDIDO_TICKET where PT_MESA = '${c.GetString("PE_MESA")}' and PT_PAGO <> 'MULTI-TICKET'"$) ' Private tm As Cursor = Starter.skmt.ExecQuery($"select sum(PT_MONTO) as totalMesa from PEDIDO_TICKET where PT_MESA = '${c.GetString("PE_MESA")}' and PT_PAGO <> 'MULTI-TICKET'"$)
@@ -1571,48 +1495,103 @@ Sub b_imp_LongClick
catTotal = 0 catTotal = 0
End If End If
Private elNombre As String = c.GetString("PE_PRONOMBRE") Private elNombre As String = c.GetString("PE_PRONOMBRE")
If elNombre.Length > 28 Then elNombre = elNombre.SubString2(0, 28) If elNombre.Length > 20 Then elNombre = elNombre.SubString2(0, 20)
Log($"${elNombre.Length} - ${elNombre}"$) Log($"${c.Position} - ${elNombre.Length} - ${elNombre}"$)
' If imprimirEste Then Printer1.WriteString($"${c.GetString("PE_CANT")} ${elNombre}${CRLF}${Subs.alineaDerecha("$"&NumberFormat2(c.GetString("PE_COSTO_TOT"), 1, 2, 2, True), 30, ".")}${CRLF}"$)
' Log($"${c.GetString("PE_CANT")} ${elNombre}${CRLF}${Subs.alineaDerecha("$"&NumberFormat2(c.GetString("PE_COSTO_TOT"), 1, 2, 2, True), 30, ".")}${CRLF}"$)
cs.Color(Colors.DarkGray).Append($"${elNombre} - ${c.GetString("cuantos")} ${CRLF}"$).pop cs.Color(Colors.DarkGray).Append($"${elNombre} - ${c.GetString("cuantos")} ${CRLF}"$).pop
If imprimirAqui Then Printer1.WriteString($"${elNombre}${Subs.alineaDerecha(c.GetString("cuantos"), (31 - elNombre.Length), ".")} ${CRLF}"$) Private monto As String = NumberFormat2(c.GetString("monto"), 1, 0, 0, True)
Private cuantos As String = c.GetString("cuantos")
Private primerEspacioLargo As Int = 30 - elNombre.Length - (cuantos.Length + 1) - 6
Private primerEspacio As String = ""
For n = 1 To primerEspacioLargo
primerEspacio = primerEspacio & "."
Next
' If imprimirAqui Then Printer1.WriteString($"${elNombre}${Subs.alineaDerecha(c.GetString("cuantos"), (31 - elNombre.Length), ".")} ${CRLF}"$)
If imprimirAqui Then Printer1.WriteString($"${elNombre}${primerEspacio}${cuantos}..${monto} ${CRLF}"$)
catTotal = catTotal + c.GetString("cuantos") catTotal = catTotal + c.GetString("cuantos")
Private tipoAnt As String = "" Private tipoAnt As String = ""
' If tipoAnt <> c.GetString("PE_TIPO") And c.GetString("PE_TIPO") <> "MULTI-TICKET" Then
' Private tpt As Cursor = Starter.skmt.ExecQuery($"select sum(PT_MONTO) as totalTipo from PEDIDO_TICKET where PT_MESA = '${c.GetString("PE_MESA")}' and PT_PAGO = '${c.GetString("PE_TIPO")}'"$)
' tpt.Position = 0
' cs.Color(Colors.red).Append($" * ${tipo} - $${NumberFormat2(tpt.GetString("totalTipo"), 1, 2, 2, True)} ${CRLF}"$).pop
' If imprimirAqui Then Printer1.WriteString($" * ${tipo} - $${NumberFormat2(tpt.GetString("totalTipo"), 1, 2, 2, True)} ${CRLF}"$)
' End If
' If c.GetString("PE_TIPO") <> "MULTI-TICKET" Then
' cs.Append($" Ticket ${ticket}: $${NumberFormat2(c.GetString("SUBTOT"), 0, 2, 2, True)}${CRLF}"$).Popall
' If imprimirAqui Then Printer1.WriteString($" Ticket ${ticket}: $${NumberFormat2(c.GetString("SUBTOT"), 0, 2, 2, True)}${CRLF}"$)
' End If
catAnt = c.GetString("CAT_GP_CLASIF") catAnt = c.GetString("CAT_GP_CLASIF")
' tipoAnt = c.GetString("PE_TIPO") ' Log(i)
Next Next
If imprimirAqui Then Printer1.WriteString(CRLF) If imprimirAqui Then Printer1.WriteString(CRLF)
' Private tt As Cursor = Starter.skmt.ExecQuery($"select sum(PT_MONTO) as total from PEDIDO_TICKET where PT_PAGO = 'TARJETA'"$)
' Private te As Cursor = Starter.skmt.ExecQuery($"select sum(PT_MONTO) as total from PEDIDO_TICKET where PT_PAGO = 'EFECTIVO'"$)
' tt.Position = 0 : te.Position = 0
' Private totalEfectivo As String = 0
' If te.GetString("total") <> Null Then totalEfectivo = te.GetString("total")
' cs.color(Colors.green).Append($"${CRLF}Total Tarjeta: ${NumberFormat2(tt.GetString("total"), 1,2,2,True)}${CRLF}"$).popall
' If imprimirAqui Then Printer1.WriteString($"${CRLF}Total Tarjeta: ${NumberFormat2(tt.GetString("total"), 1,2,2,True)}${CRLF}"$)
' cs.color(Colors.green).Append($"Total Efectivo: ${NumberFormat2(totalEfectivo, 1,2,2,True)}${CRLF}"$).popall
' If imprimirAqui Then Printer1.WriteString($"Total Efectivo: ${NumberFormat2(totalEfectivo, 1,2,2,True)}${CRLF}"$)
l_resumen.Text = cs ' l_resumen.Text = cs
l_resumen.Height = su.MeasureMultilineTextHeight(l_resumen, l_resumen.Text) l_resumen.Height = su.MeasureMultilineTextHeight(l_resumen, l_resumen.Text)
sv_resumen.Panel.Height = l_resumen.Height sv_resumen.Panel.Height = l_resumen.Height
End If End If
'RESUMEN
Private rsm As Cursor = Starter.skmt.ExecQuery($"select distinct CAT_GP_CLASIF, sum(pe_cant) as cuantos, sum(pe_costo_tot) as monto from pedido join CAT_GUNAPROD on cat_gp_id = PE_PROID group by CAT_GP_CLASIF order by CAT_GP_CLASIF"$) 'Este query quita los "Consumo de alimentos", que son los tickets que se generan con el multi-ticket, porque en CAT_GUNAPROD no existe el ID CDA01.
Log(rsm.RowCount)
If rsm.RowCount > 0 Then
Printer1.WriteString(Printer1.BOLD)
If imprimirAqui Then Printer1.WriteString($"*** RESUMEN *** ${CRLF}"$)
cs.Color(Colors.red).Append($"** RESUMEN **${CRLF}"$).pop
Printer1.WriteString(Printer1.NOBOLD)
For i = 0 To rsm.RowCount - 1
rsm.Position = i
Private laCat As String = rsm.GetString("CAT_GP_CLASIF")
If laCat.Length > 20 Then laCat = laCat.SubString2(0, 20)
' Log($"${rsm.Position} - ${laCat.Length} - ${laCat}"$)
Private monto As String = NumberFormat2(rsm.GetString("monto"), 1, 0, 0, True)
Private cuantos As String = rsm.GetString("cuantos")
Private primerEspacioLargo As Int = 30 - laCat.Length - (cuantos.Length + 1) - 6
Private primerEspacio As String = ""
For n = 1 To primerEspacioLargo
primerEspacio = primerEspacio & "."
Next
If imprimirAqui Then Printer1.WriteString($"${laCat}${primerEspacio}${cuantos}..${monto} ${CRLF}"$)
cs.Color(Colors.DarkGray).Append($"${laCat}${primerEspacio}${cuantos}..${monto} ${CRLF}"$).pop
Log($"${laCat}${primerEspacio}${cuantos}..${monto} ${CRLF}"$)
Next
'COMENSALES
Private coms As Cursor = Starter.skmt.ExecQuery($"select sum(PT_COMENSALES) as totComensales from PEDIDO_TICKET where ifnull(PT_ALMACEN,0) <> 'MULTI-TICKET'"$)
Private totalComensales As Int = 0
If coms.RowCount > 0 Then
coms.Position = 0
totalComensales = coms.GetInt("totComensales")
End If
If imprimirAqui Then Printer1.WriteString($"Comensales ...........${totalComensales} ${CRLF}"$)
cs.Color(Colors.DarkGray).Append($"Comensales ..........${totalComensales} ${CRLF}"$).pop
Log($"Comensales ...........${totalComensales} ${CRLF}"$)
'PAGOS
Private pgs As Cursor = Starter.skmt.ExecQuery($"Select PT_PAGO2, sum(PT_NOART) As arts, sum(PT_MONTO) As monto from PEDIDO_TICKET where pt_pago <> 'MULTI-TICKET' group by PT_PAGO2"$)
Private totalComensales As Int = 0
If imprimirAqui Then Printer1.WriteString($"${CRLF}"$)
Printer1.WriteString(Printer1.BOLD)
If imprimirAqui Then Printer1.WriteString($"*** PAGOS *** ${CRLF}"$)
Printer1.WriteString(Printer1.NOBOLD)
cs.Color(Colors.red).Append($"** PAGOS **${CRLF}"$).pop
Log("*** PAGOS ***")
Private totalPagos As String = 0
For i = 0 To pgs.RowCount - 1
pgs.Position = i
Private elPago As String = pgs.GetString("PT_PAGO2")
If elPago.Length > 20 Then elPago = elPago.SubString2(0, 20)
Log($"${pgs.Position} - ${elPago.Length} - ${elPago}"$)
Private monto As String = pgs.GetString("monto")
Private cuantos As String = pgs.GetString("arts")
Private primerEspacioLargo As Int = 30 - elPago.Length - (cuantos.Length + 1) - 6
Private primerEspacio As String = ""
For n = 1 To primerEspacioLargo
primerEspacio = primerEspacio & "."
Next
' monto = NumberFormat2(monto.As(Double), 1, 0, 0, True)
Log(monto)
If imprimirAqui Then Printer1.WriteString($"${elPago}${primerEspacio}${cuantos}..${NumberFormat2(pgs.GetString("monto"), 1, 0, 0, True)} ${CRLF}"$)
cs.Color(Colors.DarkGray).Append($"${elPago}${primerEspacio}${cuantos}..${NumberFormat2(pgs.GetString("monto"), 1, 0, 0, True)} ${CRLF}"$).pop
Log($"${elPago}${primerEspacio}${cuantos}..${NumberFormat2(pgs.GetString("monto"), 1, 0, 0, True)} ${CRLF}"$)
totalPagos = totalPagos + monto
Next
totalPagos = NumberFormat2(totalPagos, 1, 0, 0, True)
If imprimirAqui Then Printer1.WriteString($"TOTAL PAGOS ..... ${i} .. ${totalPagos} ${CRLF}"$)
If imprimirAqui Then Printer1.WriteString($"${CRLF}${CRLF}"$)
cs.Color(Colors.DarkGray).Append($"TOTAL PAGOS: .........${i}.. ${totalPagos} ${CRLF}"$).pop
Log($"TOTAL PAGOS: .........${i}.. ${totalPagos} ${CRLF}"$)
End If
l_resumen.Text = cs
Subs.panelVisible(p_transparenteResumen, 0, 0) Subs.panelVisible(p_transparenteResumen, 0, 0)
Else Else
ToastMessageShow("¡Es necesario que NO haya mesas abiertas para realizar el cierre!", True) ToastMessageShow("¡Es necesario que NO haya mesas abiertas para realizar el cierre!", True)
@@ -1983,7 +1962,6 @@ End Sub
Private Sub b_imprimirTicket_Click Private Sub b_imprimirTicket_Click
Private imprimirEste As Boolean = Starter.imprimirTicket Private imprimirEste As Boolean = Starter.imprimirTicket
' Log(imprimirEste)
Private logger As Boolean = True Private logger As Boolean = True
Private TAMANO As Int Private TAMANO As Int
Private ESPACIO As Int Private ESPACIO As Int
@@ -1995,6 +1973,7 @@ Private Sub b_imprimirTicket_Click
b_imp.Enabled = False b_imp.Enabled = False
' If l_total.Text <> Null And l_total.Text <> "null" Then Subs.ponImpreso(la_cuenta.Text) 'Solo lo marcamos como impreso si tiene venta (total > 0). ' If l_total.Text <> Null And l_total.Text <> "null" Then Subs.ponImpreso(la_cuenta.Text) 'Solo lo marcamos como impreso si tiene venta (total > 0).
ProgressDialogShow("Imprimiendo, un momento ...") ProgressDialogShow("Imprimiendo, un momento ...")
For k = 0 To listaTickets.Size - 1 'Por cada ticket y pago de la lista imprimimos un ticket.
If imprimirEste Then If imprimirEste Then
Printer1.DisConnect Printer1.DisConnect
If Not(Printer1.IsConnected) Then If Not(Printer1.IsConnected) Then
@@ -2043,8 +2022,7 @@ Private Sub b_imprimirTicket_Click
myimage = Printer1.DitherImage2D(myimage, 128) myimage = Printer1.DitherImage2D(myimage, 128)
myimage= Printer1.PackImage(myimage) myimage= Printer1.PackImage(myimage)
' LogColor(listaTickets, Colors.red) ' LogColor(listaTickets, Colors.red)
For k = 0 To listaTickets.Size - 1 'Por cada ticket y pago de la lista imprimimos un ticlet. If logger Then LogColor($">>>>>> INICIA IMPRESION DE TICKET ${listaTickets.Get(k).As(Map).Get("ticket")} <<<<<<<<<<<<"$, Colors.Red)
LogColor($">>>>>> INICIA IMPRESION DE TICKET ${listaTickets.Get(k).As(Map).Get("ticket")} <<<<<<<<<<<<"$, Colors.Red)
Starter.ticketActual = listaTickets.Get(k).As(Map).Get("ticket") Starter.ticketActual = listaTickets.Get(k).As(Map).Get("ticket")
tipoPago = listaTickets.Get(k).As(Map).Get("pago") tipoPago = listaTickets.Get(k).As(Map).Get("pago")
Try Try
@@ -2064,7 +2042,9 @@ Private Sub b_imprimirTicket_Click
If logger Then Log("EXPEDIDO EN: PASEO DE LAS PALMAS NO. 275, LOCAL B" & CRLF) If logger Then Log("EXPEDIDO EN: PASEO DE LAS PALMAS NO. 275, LOCAL B" & CRLF)
If imprimirEste Then Printer1.WriteString("TEL: 55 5207 9969" & CRLF) If imprimirEste Then Printer1.WriteString("TEL: 55 5207 9969" & CRLF)
If logger Then Log("TEL: 55 5207 9969" & CRLF) If logger Then Log("TEL: 55 5207 9969" & CRLF)
If imprimirEste Then Printer1.WriteString(Printer1.BOLD)
If imprimirEste Then Printer1.WriteString("No. Ticket: " & Starter.ticketActual & CRLF) If imprimirEste Then Printer1.WriteString("No. Ticket: " & Starter.ticketActual & CRLF)
If imprimirEste Then Printer1.WriteString(Printer1.NOBOLD)
If logger Then Log("No. Ticket: " & Starter.ticketActual & CRLF) If logger Then Log("No. Ticket: " & Starter.ticketActual & CRLF)
If imprimirEste Then Printer1.WriteString("CDMX " & sDate &" " & sTime & CRLF) If imprimirEste Then Printer1.WriteString("CDMX " & sDate &" " & sTime & CRLF)
If logger Then Log("CDMX " & sDate &" " & sTime & CRLF) If logger Then Log("CDMX " & sDate &" " & sTime & CRLF)
@@ -2078,26 +2058,37 @@ Private Sub b_imprimirTicket_Click
' If imprimirEste Then Printer1.WriteString("ID.Cliente: " & la_cuenta.Text & CRLF) ' If imprimirEste Then Printer1.WriteString("ID.Cliente: " & la_cuenta.Text & CRLF)
' If logger Then Log("ID.Cliente: " & la_cuenta.Text & CRLF) ' If logger Then Log("ID.Cliente: " & la_cuenta.Text & CRLF)
If imprimirEste Then Printer1.WriteString(" " & CRLF) If imprimirEste Then Printer1.WriteString(" " & CRLF)
c = Starter.skmt.ExecQuery($"select * from PEDIDO where PE_MESA = '${Starter.mesaActual}' and PE_TIPO = '${tipoPago}' and PE_TICKET = '${Starter.ticketActual}'"$) c = Starter.skmt.ExecQuery($"select *, ifnull(PE_DESC, 0) as DESC from PEDIDO where PE_MESA = '${Starter.mesaActual}' and PE_TIPO = '${tipoPago}' and PE_TICKET = '${Starter.ticketActual}'"$)
' Log($"select * from PEDIDO where PE_MESA = '${Starter.mesaActual}' and PE_TIPO = '${tipoPago}' and PE_TICKET = '${Starter.ticketActual}'"$) ' Log($"select * from PEDIDO where PE_MESA = '${Starter.mesaActual}' and PE_TIPO = '${tipoPago}' and PE_TICKET = '${Starter.ticketActual}'"$)
' Log(c.RowCount) ' Log(c.RowCount)
If c.RowCount > 0 Then If c.RowCount > 0 Then
Private elSubTotal As String = 0
If imprimirEste Then Printer1.WriteString(Printer1.NOBOLD) If imprimirEste Then Printer1.WriteString(Printer1.NOBOLD)
For i = 0 To c.RowCount - 1 For i = 0 To c.RowCount - 1
c.Position = i c.Position = i
Private elNombre As String = c.GetString("PE_PRONOMBRE") Private elNombre As String = c.GetString("PE_PRONOMBRE")
If elNombre.Length > 30 Then elNombre.SubString2(0, 30) If elNombre.Length > 30 Then elNombre.SubString2(0, 30)
If imprimirEste Then Printer1.WriteString($"${c.GetString("PE_CANT")} ${elNombre}${CRLF}${Subs.alineaDerecha("$"&NumberFormat2(c.GetString("PE_COSTO_TOT"), 1, 2, 2, True), 30, ".")}${CRLF}"$) elSubTotal = c.GetString("PE_COSTO_TOT") - (c.GetString("PE_COSTO_TOT") * (c.GetString("DESC") / 100))
Log($"${c.GetString("PE_CANT")} ${elNombre}${CRLF}${Subs.alineaDerecha("$"&NumberFormat2(c.GetString("PE_COSTO_TOT"), 1, 2, 2, True), 30, ".")}${CRLF}"$) If imprimirEste Then Printer1.WriteString($"${c.GetString("PE_CANT")} ${elNombre}${CRLF}${Subs.alineaDerecha("$"&NumberFormat2(elSubTotal, 1, 2, 2, True), 30, ".")}${CRLF}"$)
Log($"${c.GetString("PE_CANT")} ${elNombre}${CRLF}${Subs.alineaDerecha("$"&NumberFormat2(elSubTotal, 1, 2, 2, True), 30, ".")}${CRLF}"$)
Next Next
End If End If
c = Starter.skmt.ExecQuery($"select *, ifnull(PT_PROPINA, "0") as propina from PEDIDO_TICKET where PT_MESA = '${Starter.mesaActual}' and PT_PAGO = '${tipoPago}' and PT_TICKET = '${Starter.ticketActual}'"$) c = Starter.skmt.ExecQuery($"select *, ifnull(PT_PROPINA, "0") as propina, ifnull(PT_ALMACEN, "") as ALM from PEDIDO_TICKET where PT_MESA = '${Starter.mesaActual}' and PT_PAGO = '${tipoPago}' and PT_TICKET = '${Starter.ticketActual}'"$)
' Log($"Rowcount: ${c.RowCount}"$) ' Log($"Rowcount: ${c.RowCount}"$)
If c.RowCount > 0 Then If c.RowCount > 0 Then
c.Position = 0 c.Position = 0
' Log(c.GetString("propina")) ' Log(c.GetString("propina"))
Private elTotal As String = c.GetString("PT_MONTO")
' Private z As Cursor = Starter.skmt.ExecQuery($"select *, ifnull(PE_DESC, 0) as DESC from PEDIDO where PE_MESA = '${Starter.mesaActual}' and PE_TIPO = '${tipoPago}' and PE_TICKET = '${Starter.ticketActual}'"$)
' Log(z.RowCount)
' Private y As Cursor = Starter.skmt.ExecQuery($"select PE_COSTO_TOT, ifnull(PE_DESC, 0) as DESC from PEDIDO where PE_TICKET = '${Starter.ticketActual}' and PE_MESA = '${Starter.mesaActual}' and PE_TIPO = 'VENTA'"$)
' Log(y.RowCount)
' Private x As Cursor = Starter.skmt.ExecQuery($"select PE_COSTO_TOT, ifnull(PE_DESC, 0) as DESC, CAT_GP_TIPO from PEDIDO join CAT_GUNAPROD on CAT_GP_ID = PE_PROID where PE_TICKET = '${Starter.ticketActual}' and PE_MESA = '${Starter.mesaActual}' and PE_TIPO = 'VENTA'"$)
' Log(x.RowCount)
Private elTotal As String = Subs.traeTotalTicketActual_P(tipoPago)
If c.GetString("ALM") = "MULTI-TICKET" Then elTotal = c.GetString("PT_MONTO")
' Log(">>>>>>>> " & Subs.traeTotalTicketActual_P(tipoPago))
' If c.GetString("propina") <> 0 And c.GetString("PT_PAGO_PROPINA") = "Tarjeta" Then 'Se comento porque lo propina no se debe de sumar al ticket. ' If c.GetString("propina") <> 0 And c.GetString("PT_PAGO_PROPINA") = "Tarjeta" Then 'Se comento porque lo propina no se debe de sumar al ticket.
' If imprimirEste Then Printer1.WriteString($"${CRLF}Propina: $${NumberFormat2(c.GetString("PT_PROPINA"), 1, 2, 2, True)}"$) ' If imprimirEste Then Printer1.WriteString($"${CRLF}Propina: $${NumberFormat2(c.GetString("PT_PROPINA"), 1, 2, 2, True)}"$)
' If logger Then Log($"${CRLF}Propina: $${NumberFormat2(c.GetString("PT_PROPINA"), 1, 2, 2, True)}"$) ' If logger Then Log($"${CRLF}Propina: $${NumberFormat2(c.GetString("PT_PROPINA"), 1, 2, 2, True)}"$)
@@ -2108,8 +2099,10 @@ Private Sub b_imprimirTicket_Click
If imprimirEste Then Printer1.WriteString($"${CRLF}${n2t.NumberToWords(NumberFormat2(elTotal, 1, 2, 2, False))}"$) If imprimirEste Then Printer1.WriteString($"${CRLF}${n2t.NumberToWords(NumberFormat2(elTotal, 1, 2, 2, False))}"$)
If logger Then Log($"${CRLF}${n2t.NumberToWords(NumberFormat2(elTotal, 1, 2, 2, False))}"$) If logger Then Log($"${CRLF}${n2t.NumberToWords(NumberFormat2(elTotal, 1, 2, 2, False))}"$)
If tipoPago <> "VENTA" Then If tipoPago <> "VENTA" Then
If imprimirEste Then Printer1.WriteString($"${CRLF}Forma de pago: ${c.GetString("PT_PAGO")}"$) Private fPago As String = c.GetString("PT_PAGO")
If logger Then Log($"${CRLF}Forma de pago: ${c.GetString("PT_PAGO")}"$) If fPago = "EFECTIVO" Then fPago = "EFEPUNTOS"
If imprimirEste Then Printer1.WriteString($"${CRLF}Forma de pago: ${fPago}"$)
If logger Then Log($"${CRLF}Forma de pago: ${fPago}"$)
End If End If
End If End If
If imprimirEste Then Printer1.WriteString(Printer1.UNREVERSE) If imprimirEste Then Printer1.WriteString(Printer1.UNREVERSE)
@@ -2117,7 +2110,6 @@ Private Sub b_imprimirTicket_Click
If imprimirEste Then Printer1.WriteString(CRLF) If imprimirEste Then Printer1.WriteString(CRLF)
If imprimirEste Then Printer1.WriteString("------------------------------" & CRLF) If imprimirEste Then Printer1.WriteString("------------------------------" & CRLF)
If logger Then Log("------------------------------" & CRLF) If logger Then Log("------------------------------" & CRLF)
If tipoPago <> "VENTA" Then If tipoPago <> "VENTA" Then
If imprimirEste Then Printer1.WriteString("----------- PAGADO -----------" & CRLF) If imprimirEste Then Printer1.WriteString("----------- PAGADO -----------" & CRLF)
If logger Then Log("------------ PAGADO ----------" & CRLF) If logger Then Log("------------ PAGADO ----------" & CRLF)
@@ -2125,7 +2117,6 @@ Private Sub b_imprimirTicket_Click
If imprimirEste Then Printer1.WriteString("---------- NO PAGADO ---------" & CRLF) If imprimirEste Then Printer1.WriteString("---------- NO PAGADO ---------" & CRLF)
If logger Then Log("---------- NO PAGADO ---------" & CRLF) If logger Then Log("---------- NO PAGADO ---------" & CRLF)
End If End If
If imprimirEste Then Printer1.WriteString("------------------------------" & CRLF) If imprimirEste Then Printer1.WriteString("------------------------------" & CRLF)
If logger Then Log("------------------------------" & CRLF) If logger Then Log("------------------------------" & CRLF)
If imprimirEste Then Printer1.WriteString("----ESTE TICKET NO ES UN -----" & CRLF) If imprimirEste Then Printer1.WriteString("----ESTE TICKET NO ES UN -----" & CRLF)
@@ -2137,14 +2128,23 @@ Private Sub b_imprimirTicket_Click
If imprimirEste Then Printer1.WriteString("------------------------------" & CRLF) If imprimirEste Then Printer1.WriteString("------------------------------" & CRLF)
If logger Then Log("------------------------------" & CRLF) If logger Then Log("------------------------------" & CRLF)
If imprimirEste Then Printer1.WriteString(CRLF) If imprimirEste Then Printer1.WriteString(CRLF)
If tipoPago = "VENTA" Then
If imprimirEste Then Printer1.WriteString("------ 10% DE DESCUENTO ------" & CRLF)
If imprimirEste Then Printer1.WriteString("----- PAGANDO EN EFECTIVO ----" & CRLF)
If imprimirEste Then Printer1.WriteString("-- >> SOLO EN ALIMENTOS << ---" & CRLF)
If imprimirEste Then Printer1.WriteString(CRLF)
If logger Then Log("------ 10% DE DESCUENTO ------" & CRLF)
If logger Then Log("----- PAGANDO EN EFECTIVO ----" & CRLF)
If logger Then Log("-- >> SOLO EN ALIMENTOS << ---" & CRLF)
End If
If imprimirEste Then Printer1.WriteString(CRLF) If imprimirEste Then Printer1.WriteString(CRLF)
If imprimirEste Then Printer1.WriteString(CRLF) If imprimirEste Then Printer1.WriteString(CRLF)
Sleep(1000) Sleep(1000)
Printer1.DisConnect Printer1.DisConnect
Catch Catch
Log(LastException) Log(LastException)
End Try End Try
Sleep(1000)
Next Next
Sleep(1000) Sleep(1000)
b_imp.Enabled = True b_imp.Enabled = True
@@ -2203,6 +2203,7 @@ End Sub
Sub agregaFormaDePago(left0 As Int, top0 As Int, tag0 As Int) Sub agregaFormaDePago(left0 As Int, top0 As Int, tag0 As Int)
Log("agregaFormaDePago |" & top0 & "|" & tag0) Log("agregaFormaDePago |" & top0 & "|" & tag0)
p_opcionEfectivo.Visible = False
Private p_num As Panel Private p_num As Panel
p_num.Initialize("") p_num.Initialize("")
p_num.LoadLayout("formaPago") p_num.LoadLayout("formaPago")
@@ -2222,18 +2223,31 @@ Sub agregaFormaDePago(left0 As Int, top0 As Int, tag0 As Int)
listaMontoDePago.Add(et_montoPago2) listaMontoDePago.Add(et_montoPago2)
p_formasDePago.AddView(p_num, left0, top0, 340dip, 38dip) p_formasDePago.AddView(p_num, left0, top0, 340dip, 38dip)
b_pagoCerrar.Enabled = False b_pagoCerrar.Enabled = False
If listaFormaDePago.Size > 1 Then l_faltaMonto.Visible = True
End Sub End Sub
Private Sub cb_pago2_SelectedIndexChanged (Index As Int) Private Sub cb_pago2_SelectedIndexChanged (Index As Int)
Log(Sender.As(B4XComboBox).tag) Log(Sender.As(B4XComboBox).tag)
Log(Sender.As(B4XComboBox).SelectedItem) Log(Sender.As(B4XComboBox).SelectedItem)
listaFormaDePago.Set(Sender.As(B4XComboBox).tag - 1, Sender.As(B4XComboBox).SelectedItem) listaFormaDePago.Set(Sender.As(B4XComboBox).tag - 1, Sender.As(B4XComboBox).SelectedItem)
If Sender.As(B4XComboBox).SelectedItem = "Efectivo" And listaFormaDePago.Size = 1 Then
Private c As Cursor = Starter.skmt.ExecQuery("select * from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'DESCUENTO X EFECTIVO'")
c.Position = 0
l_opcionEfectivo.Text = $"${c.GetString("CAT_VA_VALOR")}% desc."$
p_opcionEfectivo.Visible = True
cb_opcionEfectivo.Checked = True
Else
Log(listaFormaDePago.Size)
p_opcionEfectivo.Visible = False
cb_opcionEfectivo.Checked = False
End If
Log(listaFormaDePago) Log(listaFormaDePago)
End Sub End Sub
Private Sub et_montoPago2_TextChanged (Old As String, New As String) Private Sub et_montoPago2_TextChanged (Old As String, New As String)
Log("TEXT CHANGED") Log("TEXT CHANGED")
Log(Starter.totalActual) ' Log(Starter.totalActual)
Private subtotal As String = 0 Private subtotal As String = 0
Private enBlanco As Boolean = False Private enBlanco As Boolean = False
For i = 0 To listaMontoDePago.Size - 1 For i = 0 To listaMontoDePago.Size - 1
@@ -2244,7 +2258,10 @@ Private Sub et_montoPago2_TextChanged (Old As String, New As String)
enBlanco = True enBlanco = True
End If End If
Next Next
Log($"${Starter.totalActual} - ${subtotal} = ${Starter.totalActual - subtotal}"$)
LogColor($"FALTAN ${Starter.totalActual - subtotal}"$, Colors.blue) LogColor($"FALTAN ${Starter.totalActual - subtotal}"$, Colors.blue)
If listaMontoDePago.Size > 1 Then
l_faltaMonto.Visible = True
If subtotal < Starter.totalActual Then If subtotal < Starter.totalActual Then
LogColor($"FALTAN ${Starter.totalActual - subtotal}"$, Colors.red) LogColor($"FALTAN ${Starter.totalActual - subtotal}"$, Colors.red)
l_faltaMonto.Text = $"FALTAN ${NumberFormat2((Starter.totalActual - subtotal), 1, 0, 0, False)}"$ l_faltaMonto.Text = $"FALTAN ${NumberFormat2((Starter.totalActual - subtotal), 1, 0, 0, False)}"$
@@ -2254,6 +2271,7 @@ Private Sub et_montoPago2_TextChanged (Old As String, New As String)
Else Else
l_faltaMonto.Text = "" l_faltaMonto.Text = ""
End If End If
End If
If listaMontoDePago.Size > 1 And (l_faltaMonto.Text <> "" Or enBlanco) Then If listaMontoDePago.Size > 1 And (l_faltaMonto.Text <> "" Or enBlanco) Then
b_pagoCerrar.Enabled = False b_pagoCerrar.Enabled = False
Else Else
@@ -2290,3 +2308,23 @@ Private Sub et_montoPago2_FocusChanged (HasFocus As Boolean)
b_pagoCerrar.Enabled = True b_pagoCerrar.Enabled = True
End If End If
End Sub End Sub
Private Sub cb_opcionEfectivo_CheckedChange(Checked As Boolean)
Private desc As String = 1 / Subs.traeDescXefectivo
Private tot As String = Subs.traeTotalTicketActual_P("VENTA")
If Checked Then
Starter.skmt.ExecNonQuery($"update PEDIDO set PE_DESC = '${Subs.traeDescXefectivo}' where PE_TIPO = 'VENTA' and PE_MESA = '${Starter.mesaActual}' and PE_TICKET = '${Starter.ticketActual}'"$)
' et_montoPago2.Text = NumberFormat2(tot - (tot * desc), 1, 0, 0, False)
' et_montoPago2.Text = Subs.traeTotalTicketActual_P
Else
Starter.skmt.ExecNonQuery($"update PEDIDO set PE_DESC = '0' where PE_TIPO = 'VENTA' and PE_MESA = '${Starter.mesaActual}' and PE_TICKET = '${Starter.ticketActual}'"$)
' et_montoPago2.Text = tot
End If
et_montoPago2.Text = Subs.traeTotalTicketActual_P("VENTA")
End Sub
Private Sub lv_historial_ItemLongClick (Position As Int, Value As Object)
Log(Sender.As(ListView).Tag)
Log(Value)
' Log(Sender.As(ListView).)
End Sub

Binary file not shown.

View File

@@ -18,13 +18,13 @@ ModuleBreakpoints7=
ModuleBreakpoints8= ModuleBreakpoints8=
ModuleClosedNodes0= ModuleClosedNodes0=
ModuleClosedNodes1= ModuleClosedNodes1=
ModuleClosedNodes2= ModuleClosedNodes2=12,24,25
ModuleClosedNodes3= ModuleClosedNodes3=
ModuleClosedNodes4= ModuleClosedNodes4=
ModuleClosedNodes5= ModuleClosedNodes5=
ModuleClosedNodes6= ModuleClosedNodes6=
ModuleClosedNodes7= ModuleClosedNodes7=
ModuleClosedNodes8=47,48,68 ModuleClosedNodes8=47,48
NavigationStack=C_Principal,agregaFormaDePago,2198,6,Visual Designer,principal.bal,-100,6,C_Principal,b_mesaCerrar_Click,1103,0,C_Principal,Printer1_Connected,1318,0,C_Principal,Printer1_Error,1330,0,C_Principal,b_imp_Click,1390,6,C_Principal,b_imprimirTicket_Click,2057,0,C_Principal,cb_pago2_SelectedIndexChanged,2221,0,C_Principal,b_imp_LongClick,1561,6,C_Principal,B4XPage_Appear,206,6 NavigationStack=C_Principal,cb_pago2_SelectedIndexChanged,2222,0,C_Principal,b_mesaCerrar_Click,1031,0,C_Principal,cb_opcionEfectivo_CheckedChange,2315,6,C_Principal,b_imprimirTicket_Click,2069,6,C_Principal,et_montoPago2_TextChanged,2247,0,Subs,revisaBD,205,0,C_Principal,b_pagoCerrar_Click,1093,6,Visual Designer,principal.bal,-100,2,C_Principal,llenaHistorial,739,6,C_Principal,lv_historial_ItemLongClick,2322,6
SelectedBuild=0 SelectedBuild=0
VisibleModules=1,7,8,2,3,6,4 VisibleModules=1,7,8,2,3,6,4,5

View File

@@ -198,8 +198,8 @@ Sub revisaBD 'ignore
kmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS bitacora(fecha INTEGER, texto TEXT)") 'Bitacora kmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS bitacora(fecha INTEGER, texto TEXT)") 'Bitacora
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_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 CAT_MESEROS(MS_ID TEXT, MS_NOMBRE TEXT, MS_MESAS_ASIGNADAS 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 (PE_PRECIO2 TEXT,PE_TIPO TEXT, PE_TIPO2 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 (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 PEDIDO_TICKET (PT_FACT TEXT, PT_COSTO_SIN TEXT, PT_MESA TEXT, PT_PAGO TEXT, PT_PAGO2 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 PROPINAS (PR_MESA TEXT, PR_TICKET TEXT, PR_PAGO TEXT, PR_PROPINA TEXT, PT_MESERO TEXT, PR_FECHA TEXT)") ' kmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS PROPINAS (PR_MESA TEXT, PR_TICKET TEXT, PR_PAGO TEXT, PR_PROPINA TEXT, PT_MESERO TEXT, PR_FECHA TEXT)")
agregaColumna("PEDIDO_TICKET", "PT_TICKET", "TEXT") agregaColumna("PEDIDO_TICKET", "PT_TICKET", "TEXT")
agregaColumna("PEDIDO_TICKET", "PT_TARJETA", "TEXT") agregaColumna("PEDIDO_TICKET", "PT_TARJETA", "TEXT")
@@ -208,6 +208,10 @@ Sub revisaBD 'ignore
agregaColumna("PEDIDO", "PE_TICKET", "TEXT") agregaColumna("PEDIDO", "PE_TICKET", "TEXT")
agregaColumna("PEDIDO", "PE_MESA", "TEXT") agregaColumna("PEDIDO", "PE_MESA", "TEXT")
agregaColumna("PEDIDO", "PE_MESERO", "TEXT") agregaColumna("PEDIDO", "PE_MESERO", "TEXT")
agregaColumna("PEDIDO", "PE_TIPO2", "TEXT")
agregaColumna("PEDIDO_TICKET", "PT_PAGO2", "TEXT")
agregaColumna("PEDIDO", "PE_ORIGEN", "TEXT")
agregaColumna("PEDIDO_TICKET", "PT_ORIGEN", "TEXT")
kmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_VARIABLES (CAT_VA_DESCRIPCION TEXT, CAT_VA_VALOR TEXT)") kmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_VARIABLES (CAT_VA_DESCRIPCION TEXT, CAT_VA_VALOR TEXT)")
'Tabla para la bitacora de errores 'Tabla para la bitacora de errores
If Not(errorLog.IsInitialized) Then errorLog.Initialize(Starter.ruta, "errorLog.db", True) If Not(errorLog.IsInitialized) Then errorLog.Initialize(Starter.ruta, "errorLog.db", True)
@@ -1146,6 +1150,33 @@ Sub traeTotalesTicketActual As Map
Return m Return m
End Sub End Sub
'Regresa el total del monto del ticket actual desde PEDIDO_TICKET.
Sub traeTotalTicketActual_PT As String
Private t As String = 0
Private pt As Cursor = Starter.skmt.ExecQuery($"select ifnull(sum(PT_MONTO),0) as subtotal from PEDIDO_TICKET where PT_TICKET = '${Starter.ticketActual}' and PT_MESA = '${Starter.mesaActual}' and PT_PAGO = 'VENTA'"$)
pt.Position=0
If pt.RowCount > 0 Then
t = pt.GetString("subtotal")
End If
Return t
End Sub
'Regresa el total del monto del ticket actual desde PEDIDO.
Sub traeTotalTicketActual_P(tipoPago As String) As String
Private st As String = 0
Private desc As String = 0
Private p As Cursor = Starter.skmt.ExecQuery($"select PE_COSTO_TOT, ifnull(PE_DESC, 0) as DESC, CAT_GP_TIPO from PEDIDO join CAT_GUNAPROD on CAT_GP_ID = PE_PROID where PE_TICKET = '${Starter.ticketActual}' and PE_MESA = '${Starter.mesaActual}' and PE_TIPO = '${tipoPago}'"$)
' Log($"${p.RowCount} - select PE_COSTO_TOT, ifnull(PE_DESC, 0) as DESC, CAT_GP_TIPO from PEDIDO join CAT_GUNAPROD on CAT_GP_ID = PE_PROID where PE_TICKET = '${Starter.ticketActual}' and PE_MESA = '${Starter.mesaActual}' and PE_TIPO = '${tipoPago}'"$)
If p.RowCount > 0 Then
For j = 0 To p.RowCount - 1
p.Position = j
desc = p.GetString("DESC") / 100
st = st + (p.GetString("PE_COSTO_TOT") - (p.GetString("PE_COSTO_TOT") * desc))
Next
End If
Return st
End Sub
'Borra el pedido del cliente actual. 'Borra el pedido del cliente actual.
'Borra los registros de la tabla "pedido" y "PEDIDO_TICKET" 'Borra los registros de la tabla "pedido" y "PEDIDO_TICKET"
'Actualiza las tablas "cat_gunaprod" y "kmt_info". 'Actualiza las tablas "cat_gunaprod" y "kmt_info".
@@ -1368,7 +1399,7 @@ Sub traeCategorias As List
For i = 0 To c.RowCount - 1 For i = 0 To c.RowCount - 1
c.Position = i c.Position = i
l.Add(c.GetString("CAT_GP_CLASIF")) l.Add(c.GetString("CAT_GP_CLASIF"))
Log(c.GetString("CAT_GP_CLASIF")) ' Log(c.GetString("CAT_GP_CLASIF"))
Next Next
End If End If
Return l Return l
@@ -1434,6 +1465,16 @@ Sub traeMesaEstatus(id As String) As String
Return e Return e
End Sub End Sub
Sub traeDescXefectivo As Int
Private c As Cursor = Starter.skmt.ExecQuery("select * from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'DESCUENTO X EFECTIVO'")
Private d As Int = 0
If c.RowCount > 0 Then
c.Position = 0
d = c.GetInt("CAT_VA_VALOR")
End If
Return d
End Sub
'Regresa verdadero si el cierre adminstrativo esta en 1 'Regresa verdadero si el cierre adminstrativo esta en 1
Sub revisaCierreAdmin As Boolean Sub revisaCierreAdmin As Boolean
Private c As Cursor = Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("CIERRE ADMIN")) Private c As Cursor = Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("CIERRE ADMIN"))