- Se agregó´que mande la informacion a HIST_VENTAS_DETALLE en web.

- Se agregó al resumen la tabla de totales.
- Se agregó una quinta pantalla para los productos.
- Se hicieron mas anchas y altas las etiquetas con el nombr de los productos.
- Se quitó el numero consecutivo al nombre de los productos.
- Se puso el orden del menu en los productos de la orden.
This commit is contained in:
Jose Alberto Guerra Ugalde
2024-06-15 21:18:44 -06:00
parent fd5f1933fe
commit 346dfbf548
5 changed files with 82 additions and 16 deletions

Binary file not shown.

View File

@@ -86,7 +86,7 @@ Version=12.8
#Region Project Attributes
#ApplicationLabel: Lanterna
#VersionCode: 1
#VersionName: 4.06.09
#VersionName: 4.06.14
'SupportedOrientations possible values: unspecified, landscape or portrait.
#SupportedOrientations: landscape
#CanInstallToExternalStorage: False

View File

@@ -22,6 +22,6 @@ ModuleClosedNodes4=
ModuleClosedNodes5=
ModuleClosedNodes6=
ModuleClosedNodes7=
NavigationStack=Principal,b_imp3_Click,2107,6,Principal,agregaFormaDePago,2604,0,Principal,b_mesaCerrar_Click,1285,0,Subs,actualizaProducto,1307,0,Subs,guardaProductoSinGestion,1346,0,Principal,b_cambioMesa_Click,1233,0,Principal,b_abrirMesa_Click,1247,0,Principal,b_pagoCerrar_Click,1411,6,Principal,b_reabrirMesa_Click,2842,1,Principal,b_reabrirMesaMulti_Click,2869,1,Principal,b_imp2_Click,1900,0
NavigationStack=Principal,Globals,189,0,Principal,Activity_Create,212,0,Principal,LlenaOrden,3222,0,Principal,Activity_KeyPress,493,0,Principal,LlenaMesas,1093,0,Principal,p_mesasItem_LongClick,1204,0,Principal,p_mesasItem_Click,1134,0,Principal,b_envioInfo_Click,2478,5,Visual Designer,principal.bal,-100,6,Principal,b_resumen_Click,3480,6
SelectedBuild=0
VisibleModules=6,5,7

View File

@@ -154,7 +154,7 @@ Sub Globals
Private l_cierreAdmin As Label
Private clv_orden As CustomListView
Dim listaProdsOrden As List
Private p_productos1, p_productos2, p_productos3, p_productos4 As Panel
Private p_productos1, p_productos2, p_productos3, p_productos4, p_productos5 As Panel
Private b_sigPagina As Button
Private panelEnUso As Int = 1
Private p_contProductos As Panel
@@ -191,6 +191,9 @@ Sub Globals
Private l_titResComprobante As Label
Private l_titResFormaPago As Label
Private b_imp3 As Button
Private p_contScrollView As Panel
Private p_resumenDiaTotales As Panel
Private l_propinaEfectivo, l_propinaAmex, l_propinaTDD, l_propinaTDC, l_propinaTotal, l_consumoEfectivo, l_consumoAmex, l_consumoTDC, l_consumoTDD, l_consumoTotal, l_totalEfectivo, l_totalAmex, l_totalTDD, l_totalTDC, l_totalTotal As Label
End Sub
Sub Activity_Create(FirstTime As Boolean)
@@ -258,6 +261,7 @@ Sub Activity_Create(FirstTime As Boolean)
p_productos2.Width = p_productos1.Width : p_productos2.Height = p_productos1.Height
p_productos3.Width = p_productos1.Width : p_productos3.Height = p_productos1.Height
p_productos4.Width = p_productos1.Width : p_productos4.Height = p_productos1.Height
p_productos5.Width = p_productos1.Width : p_productos5.Height = p_productos1.Height
Dim cs As CSBuilder
cs.Initialize
l_inicioDia.Text = cs.append("Para iniciar día, ingrese el texto ").bold.Append("INICIO DIA").Pop.Append(" y la tecla ").Bold.Append("Retorno").Pop.Append(" del teclado.").Color(Colors.red).Append(" Los datos del día anterior se borraran.").Popall
@@ -1139,6 +1143,7 @@ End Sub
'Entramos a la mesa seleccionada.
Private Sub p_mesasItem_Click
Log("Entramos a la mesa")
Log(Sender.As(Panel).tag)
listaProdsOrden.Initialize
listaFormasDePagoCB.Initialize
listaFormaDePago.Initialize
@@ -1159,7 +1164,7 @@ Private Sub p_mesasItem_Click
Starter.ticketActual = m.Get("ticket")
Starter.comensalesActuales = m.Get("comensales")
Starter.totalActual = m.Get("subtotal")
l_mesa.Text = $"MESA ${m.Get("nombre")}"$
l_mesa.Text = $"MESA ${Starter.mesaActual}"$
cb_opcionEfectivo.Checked = False
cb_mostrarDescuento.Checked = False
cb_opcionEfectivo_CheckedChange(False)
@@ -1296,7 +1301,7 @@ Private Sub b_mesaCerrar_Click
cb_opcionEfectivo.Checked = False
p_formasDePago.Height = 40dip
p_propina.Top = 143dip
p_botonesCerrar.Top = 270dip ' 295dip
p_botonesCerrar.Top = 295dip ' 295dip
p_pago.Height = 390dip
p_formasDePago.RemoveAllViews
Private c As Cursor = Starter.skmt.ExecQuery($"select PE_MESA from PEDIDO where PE_MESA = '${Starter.mesaActual}' and PE_TIPO = 'VENTA'"$)
@@ -2475,6 +2480,14 @@ Private Sub b_envioInfo_Click
cmd.Parameters = Array As Object("", c.getstring("PE_MESA"), c.getstring("PE_COSTO_TOT"), c.getstring("PE_COSTOU"), c.getstring("PE_CANT"), c.getstring("PE_PRONOMBRE"), c.getstring("PE_PROID"), c.getstring("PE_TICKET"), c.getstring("PE_FECHA"), "", c.getstring("PE_MESERO"), c.getstring("PE_COSTO_SIN"), 0, cantTotal, ventaTotal, c.getstring("PE_FOLIO"), c.getstring("PE_TIPO"), "", c.getstring("PE_TIPO2")) '
reqManager.ExecuteCommand(cmd , $"insertPedido_${c.GetString("PE_MESA")}_${c.GetString("PE_TIPO")}_${c.GetString("PE_TICKET")}_${c.GetString("PE_PROID")}"$)
' LogColor($"insertPedido_${c.GetString("PE_MESA")}_${c.GetString("PE_TIPO")}_${c.GetString("PE_TICKET")}_${c.GetString("PE_PROID")}"$, Colors.Blue)
' insert into LANTER.HIST_VENTAS_DETALLE (HVD_FOLIO_TICKET, HVD_CLIENTE, HVD_MESERO, HVD_PROID, HVD_PRONOMBRE, HVD_CANT, HVD_COSTOU, HVD_COSTO_TOT, HVD_FECHA, HVD_MESA, HVD_TIPO_PAGO, HVD_FECHA_CARGA) values ((?), (?), (?), (?), (?), (?), (?), (?), to_date((?),'MM/DD/YYYY HH24:MI:ss'), (?), sysdate, (?))
cmd.Initialize
cmd.Name = "insertHVD_Lanter" 'Inserta en tabla HVD
cmd.Parameters = Array As Object(c.getstring("PE_TICKET"), "", c.getstring("PE_MESERO"), c.getstring("PE_PROID"), c.getstring("PE_PRONOMBRE"), c.getstring("PE_CANT"), c.getstring("PE_COSTOU"), c.getstring("PE_COSTO_TOT"), c.getstring("PE_FECHA"), c.getstring("PE_MESA"), c.getstring("PE_TIPO2")) '
reqManager.ExecuteCommand(cmd , $"insertPedido_${c.GetString("PE_MESA")}_${c.GetString("PE_TIPO")}_${c.GetString("PE_TICKET")}_${c.GetString("PE_PROID")}"$)
'
Next
End If
' Log("##########################################")
@@ -3224,7 +3237,7 @@ Sub LlenaOrden
' Log("LlenaOrden - " & Subs.hayPedido)
clv_orden.Clear
If Subs.hayPedido Then 'Si hay pedido obtenemos las cantidades de los productos para agregarlos al CLV.
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_ORDENAMIENTO, CAT_GP_NOMBRE"$)
If c.RowCount > 0 Then
For i = 0 To c.RowCount - 1
Private Pnl As B4XView = xui.CreatePanel("")
@@ -3253,13 +3266,14 @@ Sub actualizaProductos(categoria As String)
p_productos2.RemoveAllViews
p_productos3.RemoveAllViews
p_productos4.RemoveAllViews
p_productos5.RemoveAllViews
Dim clasifAnt As String = ""
Do While c.NextRow
Private nombre As String = c.getstring("CAT_GP_NOMBRE")
labelTmp.Initialize("l_prods")
Dim l_prods As B4XView = labelTmp ' We cast it to B4XView so we can set the border.
l_prods.Width = 119dip
l_prods.Height = 36dip
l_prods.Width = 149dip
l_prods.Height = 46dip
l_prods.TextSize = 12
If w Mod 2 == 0 Then
@@ -3274,7 +3288,7 @@ Sub actualizaProductos(categoria As String)
l_prods.SetTextAlignment("CENTER", "CENTER")
' Log(nombre)
If nombre.Length > 20 Then nombre = nombre.SubString2(0, 20)
nombre = w & " " & nombre & " $" & c.getstring("CAT_GP_PRECIO")
nombre = nombre & " $" & c.getstring("CAT_GP_PRECIO")
l_prods.Text = nombre
@@ -3298,6 +3312,8 @@ Sub actualizaProductos(categoria As String)
panelEnUso = 3
else if panelEnUso = 3 Then
panelEnUso = 4
else if panelEnUso = 4 Then
panelEnUso = 5
End If
' Log("NO CABEN - " & w & " USAMOS " & panelEnUso)
End If
@@ -3316,6 +3332,7 @@ Sub actualizaProductos(categoria As String)
clasifAnt = c.GetString("CAT_GP_CLASIF")
' Log(l_prods.text)
' Log($"L:${left0}, T:${top0}, PH:${p_productos.Height}"$)
' Log($"Panel: ${panelEnUso}, W: ${w}"$)
If panelEnUso = 1 Then
p_productos1.AddView(l_prods, left0, top0, l_prods.Width, l_prods.Height)
else if panelEnUso = 2 Then
@@ -3324,6 +3341,8 @@ Sub actualizaProductos(categoria As String)
p_productos3.AddView(l_prods, left0, top0, l_prods.Width, l_prods.Height)
Else if panelEnUso = 4 Then
p_productos4.AddView(l_prods, left0, top0, l_prods.Width, l_prods.Height)
Else if panelEnUso = 5 Then
p_productos5.AddView(l_prods, left0, top0, l_prods.Width, l_prods.Height)
End If
w = w + 1
Loop
@@ -3376,19 +3395,22 @@ Private Sub b_sigPagina_Click
else if panelEnUso = 3 Then
p_productos4.BringToFront
panelEnUso = 4
else if panelEnUso = 4 Then
p_productos5.BringToFront
panelEnUso = 5
Else
p_productos1.BringToFront
panelEnUso = 1
End If
' b_sigPagina.Text = panelEnUso & " >"
l_panelEnUso.Text = panelEnUso
Log(panelEnUso)
' Log(panelEnUso)
End Sub
Private Sub b_prevPagina_Click
If panelEnUso = 1 Then
p_productos4.BringToFront
panelEnUso = 4
p_productos5.BringToFront
panelEnUso = 5
else if panelEnUso = 2 Then
p_productos1.BringToFront
panelEnUso = 1
@@ -3398,6 +3420,9 @@ Private Sub b_prevPagina_Click
Else if panelEnUso = 4 Then
p_productos3.BringToFront
panelEnUso = 3
Else if panelEnUso = 5 Then
p_productos4.BringToFront
panelEnUso = 4
End If
' b_sigPagina.Text = panelEnUso & " >"
l_panelEnUso.Text = panelEnUso
@@ -3420,18 +3445,28 @@ Sub p_productos4_Click
'Para evitar que el clic en pantalla no se siga hacia atras
End Sub
Sub p_productos5_Click
'Para evitar que el clic en pantalla no se siga hacia atras
End Sub
Private Sub p_mesas_Click
'Para evitar que el clic en pantalla no se siga hacia atras
End Sub
Private Sub b_resumen_Click
clv_resumenDia.AsView.left = 10dip : clv_resumenDia.AsView.top = 70dip
clv_resumenDia.AsView.width = p_resumenDia.Width - 20dip : clv_resumenDia.AsView.height = p_resumenDia.height - 90dip
' clv_resumenDia.AsView.left = 10dip : clv_resumenDia.AsView.top = 70dip
clv_resumenDia.AsView.top = 1dip
clv_resumenDia.AsView.width = p_resumenDia.Width - 20dip : clv_resumenDia.AsView.height = (p_resumenDia.height / 2.3) ' - 90dip
p_contScrollView.Width = clv_resumenDia.AsView.width + 2dip : p_contScrollView.height = clv_resumenDia.AsView.height + 2dip
p_contScrollView.left = 10dip : p_contScrollView.top = 70dip
clv_resumenDia.Base_Resize(clv_resumenDia.GetBase.Width, clv_resumenDia.GetBase.Height) 'Cambiamos el tamaño del panel interno de la lista para que se ajuste al nuevo tamaño.
p_resumenDiaTotales.Top = p_contScrollView.Height + p_contScrollView.Top + 10dip : p_resumenDiaTotales.left = p_contScrollView.left
p_resumenDiaTotales.Height = p_resumenDia.Height - p_resumenDiaTotales.top - 10dip
Private n As Int = 0
p_resumenDia.Visible = True
clv_resumenDia.Clear
Private o As ResultSet = Starter.skmt.ExecQuery($"select *, ifnull(PT_PROPINA, 0) as PT_PROPINA, ifnull(PT_FACTURAR, 'false') as PT_FACTURAR from PEDIDO_TICKET order by PT_FECHA desc"$)
Private o As ResultSet = Starter.skmt.ExecQuery($"select *, ifnull(PT_PROPINA, 0) as PT_PROPINA, ifnull(PT_FACTURAR, 'false') as PT_FACTURAR, ifnull(PT_PAGO2, 'PENDIENTE') as PT_PAGO2 from PEDIDO_TICKET order by PT_FECHA desc"$)
Do While o.NextRow
Private Pnl As B4XView = xui.CreatePanel("")
Pnl.SetLayoutAnimated(0, 0, 0, clv_resumenDia.AsView.Width, 52dip)
@@ -3448,8 +3483,39 @@ Private Sub b_resumen_Click
l_comprobante.Text = "NOTA"
If o.GetString("PT_FACTURAR") = "true" Then l_comprobante.Text = "FACTURA"
l_formaPago.Text = o.GetString("PT_PAGO2")
' If o.GetString("PT_PAGO2") = "null" Then l_formaPago.Text = "PENDIENTE"
n = n + 1
Loop
Private rt As ResultSet = Starter.skmt.ExecQuery($"Select sum(pt_monto) as ptMonto, sum(pt_propina) as ptPropina, * from pedido_ticket where pt_pago <> 'VENTA' group by pt_pago2"$)
Private consumoTotales As String = 0
Private propinaTotales As String = 0
Private totalTotales As String = 0
Do While rt.NextRow
consumoTotales = consumoTotales + rt.GetString("ptMonto")
propinaTotales = propinaTotales + rt.GetString("ptPropina")
totalTotales = totalTotales + rt.GetString("ptMonto") + rt.GetString("ptPropina")
If rt.GetString("PT_PAGO") = "EFECTIVO" Then
l_consumoEfectivo.Text = $"$${NumberFormat2(rt.GetString("ptMonto"), 1, 2, 2, True)}"$
l_propinaEfectivo.Text = $"$${NumberFormat2(rt.GetString("ptPropina"), 1, 2, 2, True)}"$
l_totalEfectivo.Text = $"$${NumberFormat2((rt.GetString("ptMonto") + rt.GetString("ptPropina")), 1, 2, 2, True)}"$
else if rt.GetString("PT_PAGO2") = "American Express" Then
l_consumoAmex.Text = $"$${NumberFormat2(rt.GetString("ptMonto"), 1, 2, 2, True)}"$
l_propinaAmex.Text = $"$${NumberFormat2(rt.GetString("ptPropina"), 1, 2, 2, True)}"$
l_totalAmex.Text = $"$${NumberFormat2((rt.GetString("ptMonto") + rt.GetString("ptPropina")), 1, 2, 2, True)}"$
else if rt.GetString("PT_PAGO2") = "Visa/Mastercard Credito" Then
l_consumoTDC.Text = $"$${NumberFormat2(rt.GetString("ptMonto"), 1, 2, 2, True)}"$
l_propinaTDC.Text = $"$${NumberFormat2(rt.GetString("ptPropina"), 1, 2, 2, True)}"$
l_totalTDC.Text = $"$${NumberFormat2((rt.GetString("ptMonto") + rt.GetString("ptPropina")), 1, 2, 2, True)}"$
else if rt.GetString("PT_PAGO2") = "Visa/Mastercard Debito" Then
l_consumoTDD.Text = $"$${NumberFormat2(rt.GetString("ptMonto"), 1, 2, 2, True)}"$
l_propinaTDD.Text = $"$${NumberFormat2(rt.GetString("ptPropina"), 1, 2, 2, True)}"$
l_totalTDD.Text = $"$${NumberFormat2((rt.GetString("ptMonto") + rt.GetString("ptPropina")), 1, 2, 2, True)}"$
End If
Loop
l_consumoTotal.Text = "$" & NumberFormat2(consumoTotales, 1, 2, 2, True)
l_propinaTotal.Text = "$" & NumberFormat2(propinaTotales, 1, 2, 2, True)
l_totalTotal.Text = "$" & NumberFormat2(totalTotales, 1, 2, 2, True)
End Sub
Sub acomodaResItems

View File

@@ -704,7 +704,7 @@ Sub traeFecha As String 'ignore
DateTime.DateFormat = "MM/dd/yyyy"
Private sDate As String = DateTime.Date(DateTime.Now)
Private sTime As String = DateTime.Time(DateTime.Now)
Return sDate & sTime
Return sDate & " " & sTime
End Sub
'Regresa el usuario de la tabla USUARIOA