From 4caf1ca389f369354f2c07c0e3c2e3ea9b416657 Mon Sep 17 00:00:00 2001 From: Jose Alberto Guerra Ugalde Date: Wed, 13 Mar 2024 13:22:32 -0600 Subject: [PATCH] =?UTF-8?q?-=20Se=20agregaron=20botones=20para=20imprimir?= =?UTF-8?q?=20resumen=20de=20ordenes=20y=20resumen=20de=20grupos=20-=20Se?= =?UTF-8?q?=20agreg=C3=B3=20c=C3=B3digo=20para=20mostrar=20las=20categoria?= =?UTF-8?q?s=20y=20subcategorias?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- B4A/C_Principal.bas | 208 +++++++++++++++++++++++++++++++--------- B4A/Files/principal.bal | Bin 39751 -> 44298 bytes B4A/Lanterna.b4a | 2 +- B4A/Lanterna.b4a.meta | 4 +- B4A/Starter.bas | 3 +- B4A/Subs.bas | 17 +++- 6 files changed, 185 insertions(+), 49 deletions(-) diff --git a/B4A/C_Principal.bas b/B4A/C_Principal.bas index 7821ac7..06b31bf 100644 --- a/B4A/C_Principal.bas +++ b/B4A/C_Principal.bas @@ -122,6 +122,14 @@ Sub Class_Globals Private l_opcionEfectivo As Label Private CheckBox1 As CheckBox Private cb_opcionEfectivo As CheckBox + Private p_transparenteVerOrden As Panel + Private p_verOrden As Panel + Private l_verOrden As Label + Private lv_verOrden As ListView + Private b_reabrirMesa As Button + Private p_reabrirMesaMulti As Panel + Private b_reabrirMesaMulti As Button + Private b_imp2 As Button End Sub 'You can add more parameters here. @@ -163,6 +171,8 @@ Private Sub B4XPage_Created (Root1 As B4XView) Subs.centraPanel(p_cambioMesa, p_transparenteCambioMesa.Width) p_transparenteCambioMesa.Top = 0 : p_transparenteCambioMesa.Left = 0 p_transparenteCambioMesa.Height = Root.Height : p_transparenteCambioMesa.width = Root.width + p_transparenteVerOrden.Left = 0 : p_transparenteVerOrden.top = 0 + p_transparenteVerOrden.Height = Root.Height : p_transparenteVerOrden.width = Root.width Subs.panelWH(p_transparenteCierreAdmin, Root.Width, Root.Height) p_transparenteCierreAdmin.Top = 0 : p_transparenteCierreAdmin.left = 0 Subs.panelWH(p_transparenteResumen, Root.Width, Root.Height) @@ -195,16 +205,15 @@ Private Sub B4XPage_Created (Root1 As B4XView) ' cb_pago.SetItems(Array As String("American Express", "Visa/Mastercard", "Efectivo")) cb_pagoPropina.SetItems(Array As String("Tarjeta", "Efectivo")) cb_mesero.SetItems(Subs.traeMeserosLista) - Private lasCats As List = Subs.traeCategorias +' Private lasCats As List = Subs.traeCategorias + Starter.nivelActual = "Cats" lv_categorias.Color = Colors.White lv_categorias.Top = l_meseroAbierta2.Top + l_meseroAbierta2.Height + 5 lv_categorias.Height = Root.Height * 0.55 Private Label1 As Label = lv_categorias.SingleLineLayout.Label Label1.TextSize = 9dip Label1.TextColor = Colors.Black - For cat = 0 To lasCats.Size - 1 - lv_categorias.AddSingleLine(lasCats.get(cat)) - Next + muestraCats Log("################# PERMISOS BT: " & Starter.rp.Check("android.permission.BLUETOOTH_CONNECT")) Log("Permisos BT: " & Starter.rp.Check("android.permission.BLUETOOTH_CONNECT")) Log("REVISAMOS PERMISOS DE BT") @@ -215,7 +224,7 @@ Private Sub B4XPage_Created (Root1 As B4XView) End Sub Sub B4XPage_Appear - Starter.imprimirTicket = false + Starter.imprimirTicket = False reqManager.Initialize(Me, Starter.DBReqServer) B4XPages.MainPage.atrasPresionado = False ' Log(Starter.DBReqServer) @@ -274,7 +283,16 @@ End Sub Sub B4XPage_CloseRequest As ResumableSub ' BACK key pressed 'Return True to close, False to cancel - If p_renombraVarios.Visible Then + If lv_categorias.Visible And Starter.nivelActual = "SubCats" Then + Log(1) +' clv_prods_ll.AsView.Visible = False +' lv_categorias.Visible = True + muestraCats + else If p_reabrirMesaMulti.Visible Then + p_reabrirMesaMulti.Visible = False + Else If p_transparenteVerOrden.Visible Then + p_transparenteVerOrden.Visible = False + else If p_renombraVarios.Visible Then p_renombraVarios.Visible = False Else If p_transparenteCambioMesa.Visible Then p_transparenteCambioMesa.Visible = False @@ -300,6 +318,15 @@ Sub B4XPage_CloseRequest As ResumableSub Return False End Sub +Sub muestraCats + Private lasCats As List = Subs.traeCategorias + Starter.nivelActual = "Cats" + lv_categorias.Clear + For cat = 0 To lasCats.Size - 1 + lv_categorias.AddSingleLine(lasCats.get(cat)) + Next +End Sub + Sub b_prodMenos_Click etCantHasFocus = False clv = clv_prods_ll @@ -743,7 +770,7 @@ Sub llenaHistorial label2.TextColor = Colors.RGB(1,127,1) Private fecha As String = rs_hist.GetString("PT_FECHA") fecha = fecha.SubString2(1,10) - 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")}"$) + 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")}|${rs_hist.GetString("PT_MESERO")}|${rs_hist.GetString("PT_COMENSALES")}|-|${rs_hist.GetString("PT_ORIGEN")}"$) Loop Else lv_historial.Visible = False @@ -883,17 +910,13 @@ End Sub 'Entramos a la mesa seleccionada. Private Sub p_mesasItem_Click -' clv_prods_ll.GetBase.SetLayoutAnimated(0, 5dip, (l_meseroAbierta2.Top + l_meseroAbierta2.Height + 5), Root.Width, Root.Height * 0.55) 'Cambiamos el tamaño y posición de la lista de productos. -' clv_prods_ll.Base_Resize(clv_prods_ll.GetBase.Width, clv_prods_ll.GetBase.Height) 'Cambiamos el tamaño del panel interno de la lista para que se ajuste al nuevo tamaño. -' Log(p_prods.Width) -' p_prods.Width = clv_prods_ll.GetBase.Width -' clv_prods_ll.Base_Resize(400,Root.Height) listaFormasDePagoCB.Initialize listaFormaDePago.Initialize listaMontoDePago.Initialize listaTickets.Initialize Starter.formasDePago = 1 tipoPago = "VENTA" + muestraCats clv_prods_ll.AsView.Visible = False lv_categorias.Visible = True ' Log(Sender.As(Panel).tag) @@ -1062,10 +1085,19 @@ End Sub Private Sub lv_categorias_ItemClick (Position As Int, Value As Object) ' Log("ITEM CLICKED") - lv_categorias.Visible = False - clv_prods_ll.AsView.Visible = True - Private c As ResultSet = Starter.skmt.ExecQuery($"select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD, CAT_GP_IMG from cat_gunaprod where CAT_GP_PRECIO > 0 And CAT_GP_CLASIF <> 'PROMOS' and CAT_GP_CLASIF = '${Value}' order by CAT_GP_NOMBRE"$) - LlenaProdsLL(c, Null) + If Starter.nivelActual = "Cats" Then + Private lasCats As List = Subs.traeSubCategorias(Value) + Starter.nivelActual = "SubCats" + lv_categorias.Clear + For cat = 0 To lasCats.Size - 1 + lv_categorias.AddSingleLine(lasCats.get(cat)) + Next + Else + lv_categorias.Visible = False + clv_prods_ll.AsView.Visible = True + Private c As ResultSet = Starter.skmt.ExecQuery($"select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD, CAT_GP_IMG from cat_gunaprod where CAT_GP_PRECIO > 0 And CAT_GP_CLASIF <> 'PROMOS' and CAT_GP_CLASIF = '${Value}' order by CAT_GP_NOMBRE"$) + LlenaProdsLL(c, Null) + End If End Sub Private Sub p_pago_Click @@ -1156,13 +1188,13 @@ Private Sub b_cierraAdmin_LongClick ToastMessageShow("¡Cierre administrativo cancelado!", False) End Sub -Private Sub b_cierreTotal_LongClick - Log("click") +Private Sub b_cierreTotal_Click +' Log("click") sv_resumen.Panel.Height = p_resumen.Height cs.Initialize Log(l_resumen.text) 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 ... Private c As Cursor = Starter.skmt.ExecQuery("select PE_MESA, PE_TIPO, PE_TICKET, sum(PE_COSTO_TOT) as SUBTOT from PEDIDO group by PE_MESA, pe_tipo, PE_TICKET order by PE_MESA, PE_TIPO desc") If c.RowCount > 0 Then @@ -1172,14 +1204,29 @@ Private Sub b_cierreTotal_LongClick Private tipo As String Private ticket As String DateTime.DateFormat = "dd/mm/yyyy HH:mm:ss" - cs.Append($"Fecha: ${DateTime.Date(DateTime.now)}${CRLF}${CRLF}"$) +' cs.Append($"Fecha: ${DateTime.Date(DateTime.now)}${CRLF}${CRLF}"$) For i = 0 To c.RowCount - 1 c.Position = i ticket = c.GetString("PE_TICKET") - If c.GetString("PE_TIPO") = "TARJETA" Then tipo = "Pago Tarjeta " Else tipo = "Pago Efectivo " - If mesaAnt <> c.GetString("PE_MESA") Then cs.Color(Colors.red).Append("Mesa " & c.GetString("PE_MESA") & CRLF).pop - If tipoAnt <> c.GetString("PE_TIPO") Then cs.Color(Colors.red).Append(" * " & tipo & CRLF).pop - cs.Append($" Ticket ${ticket}: $${NumberFormat2(c.GetString("SUBTOT"), 0, 2, 2, True)}${CRLF}"$).Popall + If c.GetString("PE_TIPO") = "TARJETA" Then + tipo = "Pago Tarjeta " + Else If c.GetString("PE_TIPO") = "EFECTIVO" Then + tipo = "Pago Efectivo " + End If + If mesaAnt <> c.GetString("PE_MESA") 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'"$) + tm.Position = 0 + cs.Color(Colors.RGB(1,127,1)).Append($"Mesa ${c.GetString("PE_MESA")} - $${NumberFormat2(tm.GetString("totalMesa"), 1, 2, 2, True)} ${CRLF}"$).pop + Private tipoAnt As String = "" + End If + 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 + End If + If c.GetString("PE_TIPO") <> "MULTI-TICKET" Then + cs.Append($" Ticket ${ticket}: $${NumberFormat2(c.GetString("SUBTOT"), 0, 2, 2, True)}${CRLF}"$).Popall + End If mesaAnt = c.GetString("PE_MESA") tipoAnt = c.GetString("PE_TIPO") Next @@ -1193,13 +1240,11 @@ Private Sub b_cierreTotal_LongClick End If End Sub -Private Sub b_cierreTotal_Click +Private Sub b_cierreTotal_LongClick Log("click") sv_resumen.Panel.Height = p_resumen.Height cs.Initialize -' Log(l_resumen.text) Private m As Cursor = Starter.skmt.ExecQuery($"select M_ESTATUS from CAT_MESAS where M_ESTATUS = 'ABIERTA'"$) -' Log(m.RowCount) If m.RowCount = 0 Then 'Si no hay mesas abiertas entonces ... Private c As Cursor = Starter.skmt.ExecQuery("select PE_MESA, PE_TIPO, sum(PE_COSTO_TOT) as SUBTOT from PEDIDO group by PE_MESA, pe_tipo order by PE_MESA, PE_TIPO desc") If c.RowCount > 0 Then @@ -1278,6 +1323,7 @@ Sub b_imp_Click la_cuenta.Initialize("2") b_imp.Enabled = False ProgressDialogShow("Imprimiendo, un momento ...") + Log(imprimirAqui) If imprimirAqui Then Printer1.DisConnect If Not(Printer1.IsConnected) Then @@ -1347,7 +1393,7 @@ Sub b_imp_Click If mesaAnt <> c.GetString("PE_MESA") 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'"$) tm.Position = 0 - cs.Color(Colors.red).Append($"Mesa ${c.GetString("PE_MESA")} - $${NumberFormat2(tm.GetString("totalMesa"), 1, 2, 2, True)} ${CRLF}"$).pop + cs.Color(Colors.RGB(1,127,1)).Append($"Mesa ${c.GetString("PE_MESA")} - $${NumberFormat2(tm.GetString("totalMesa"), 1, 2, 2, True)} ${CRLF}"$).pop If imprimirAqui Then Printer1.WriteString($"Mesa ${c.GetString("PE_MESA")} - $${NumberFormat2(tm.GetString("totalMesa"), 1, 2, 2, True)} ${CRLF}"$) Private tipoAnt As String = "" End If @@ -1370,9 +1416,9 @@ Sub b_imp_Click 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 + cs.color(Colors.RGB(1,127,1)).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 + cs.color(Colors.RGB(1,127,1)).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 @@ -1390,8 +1436,8 @@ Sub b_imp_Click ' Printer1.WriteString("--------INFORMATIVO-----------" & CRLF) ' Printer1.WriteString("------------------------------" & CRLF) ' Printer1.WriteString(CRLF) -' Printer1.WriteString(CRLF) -' Printer1.WriteString(CRLF) + Printer1.WriteString(CRLF) + Printer1.WriteString(CRLF) Sleep(1000) Printer1.DisConnect Catch @@ -1404,7 +1450,7 @@ Sub b_imp_Click ProgressDialogHide End Sub -Sub b_imp_LongClick +Sub b_imp2_Click Private imprimirAqui As Boolean = Starter.imprimirTicket Private sDate, sTime As String Private c As Cursor @@ -1413,7 +1459,7 @@ Sub b_imp_LongClick Private l_total, la_cuenta As Label l_total.Initialize("l") la_cuenta.Initialize("2") - b_imp.Enabled = False + b_imp2.Enabled = False ProgressDialogShow("Imprimiendo, un momento ...") If imprimirAqui Then Printer1.DisConnect @@ -1463,15 +1509,20 @@ Sub b_imp_LongClick sTime = DateTime.Time(DateTime.Now) 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 ... 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) +' Log(c.RowCount) If c.RowCount > 0 Then c.Position = 0 Private catAnt As String = "" Private catTotal As String = 0 If imprimirAqui Then Printer1.WriteString($"Fecha: ${sDate} ${sTime} ${CRLF}${CRLF}"$) + Log("** GRUPOS **") + cs.Color(Colors.red).Append($"** GRUPOS **${CRLF}"$).pop + Printer1.WriteString(Printer1.BOLD) + If imprimirAqui Then Printer1.WriteString($"** GRUPOS **${CRLF}${CRLF}"$) + Printer1.WriteString(Printer1.NOBOLD) For i = 0 To c.RowCount - 1 c.Position = i ' Log($"${catAnt} - ${c.GetString("CAT_GP_CLASIF")}"$) @@ -1484,7 +1535,7 @@ Sub b_imp_LongClick Printer1.WriteString($"Total ${catAnt}: ${catTotal}${CRLF}${CRLF}"$) Printer1.WriteString(Printer1.NOBOLD) End If - Log($">>>>>>> CAT TOTAL ${catAnt}: ${catTotal}"$ ) +' Log($">>>>>>> CAT TOTAL ${catAnt}: ${catTotal}"$ ) End If ' tm.Position = 0 cs.Color(Colors.red).Append($"** ${c.GetString("CAT_GP_CLASIF")} **${CRLF}"$).pop @@ -1497,7 +1548,7 @@ Sub b_imp_LongClick Private elNombre As String = c.GetString("PE_PRONOMBRE") If elNombre.Length > 20 Then elNombre = elNombre.SubString2(0, 20) - Log($"${c.Position} - ${elNombre.Length} - ${elNombre}"$) + Log($"${elNombre} - ${c.GetString("cuantos")}"$) '${c.Position} - ${elNombre.Length} - cs.Color(Colors.DarkGray).Append($"${elNombre} - ${c.GetString("cuantos")} ${CRLF}"$).pop Private monto As String = NumberFormat2(c.GetString("monto"), 1, 0, 0, True) Private cuantos As String = c.GetString("cuantos") @@ -1604,7 +1655,7 @@ Sub b_imp_LongClick B4XPages.ShowPage("Principal") End Try Sleep(1000) - b_imp.Enabled = True + b_imp2.Enabled = True ProgressDialogHide End Sub @@ -1970,7 +2021,7 @@ Private Sub b_imprimirTicket_Click Private l_total, la_cuenta As Label l_total.Initialize("l") la_cuenta.Initialize("2") - b_imp.Enabled = False + b_imprimirTicket.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). ProgressDialogShow("Imprimiendo, un momento ...") For k = 0 To listaTickets.Size - 1 'Por cada ticket y pago de la lista imprimimos un ticket. @@ -2147,7 +2198,7 @@ Private Sub b_imprimirTicket_Click Sleep(1000) Next Sleep(1000) - b_imp.Enabled = True + b_imprimirTicket.Enabled = True ProgressDialogHide ' B4XPage_CloseRequest End Sub @@ -2324,7 +2375,76 @@ Private Sub cb_opcionEfectivo_CheckedChange(Checked As Boolean) 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 \ No newline at end of file + Private d() As String = Regex.Split("\|", Value) + lv_verOrden.Clear + Private c As Cursor = Starter.skmt.ExecQuery($"select * from PEDIDO where PE_MESA = '${d(0)}' and PE_TICKET = '${d(1)}' and PE_TIPO = '${d(2)}'"$) +' Log($"select * from PEDIDO where PE_MESA = '${d(0)}' and PE_TICKET = '${d(1)}' and PE_TIPO = '${d(2)}'"$) +' Log(c.RowCount) + Private Label1 As Label = lv_verOrden.TwoLinesLayout.Label + Private Label2 As Label = lv_verOrden.TwoLinesLayout.SecondLabel + Label1.TextColor = Colors.RGB(1,127,1) + Label1.TextSize = 16 + Label2.TextColor = Colors.Red + If c.RowCount > 0 Then + For i = 0 To c.RowCount - 1 + c.Position = i + Private n As String = c.GetString("PE_PRONOMBRE") +' Log(n.Length & " - " & n) + If n.Length > 25 Then n = n.SubString2(0, 25) + lv_verOrden.AddTwoLines($"${c.GetString("PE_CANT")} - ${n}"$, $"Precio: $${c.GetString("PE_COSTOU")}"$) + Next + End If + p_transparenteVerOrden.Visible = True + b_reabrirMesa.Tag = Value +End Sub + +Private Sub p_transparenteVerOrden_Click + 'Para evitar que el clic en pantalla no se siga hacia atras +End Sub + +Private Sub b_reabrirMesa_Click + Private t As String = Sender.As(Button).tag + Private d() As String = Regex.Split("\|", t) + Log(t) + If d(6) <> "null" Then + Log("MULTI-TICKET") 'multi-ticket + b_reabrirMesaMulti.Tag = t + p_reabrirMesaMulti.BringToFront + p_reabrirMesaMulti.Visible = True + Else + Log("UN TICKET") 'multi-ticket + Starter.skmt.BeginTransaction + Starter.skmt.ExecNonQuery($"update CAT_MESAS set M_ESTATUS = 'ABIERTA', M_TICKET = '${d(1)}', M_MESERO = '${d(3)}', M_COMENSALES = '${d(4)}' where M_ID = '${d(0)}'"$) + Starter.skmt.ExecNonQuery($"update PEDIDO set PE_TIPO = 'VENTA', PE_TIPO2 = Null where PE_TIPO = '${d(2)}' and PE_MESA = '${d(0)}' and PE_TICKET = '${d(1)}'"$) + Starter.skmt.ExecNonQuery($"update PEDIDO_TICKET set PT_PAGO = 'VENTA', PT_TARJETA = Null, PT_PAGO_PROPINA = Null, PT_PROPINA = Null, PT_PAGO2 = Null where PT_PAGO = '${d(2)}' and PT_MESA = '${d(0)}' and PT_TICKET = '${d(1)}'"$) + Starter.skmt.TransactionSuccessful + Starter.skmt.EndTransaction + p_reabrirMesaMulti.Visible = False + p_transparenteVerOrden.Visible = False + WobbleMenu1_Tab1Click + End If +End Sub + +Private Sub p_reabrirMesaMulti_Click + 'Para evitar que el clic en pantalla no se siga hacia atras +End Sub + +Private Sub b_reabrirMesaMulti_Click + Private t As String = Sender.As(Button).tag + Private d() As String = Regex.Split("\|", t) + Log(t) + Starter.skmt.BeginTransaction + Starter.skmt.ExecNonQuery($"delete from PEDIDO where PE_ORIGEN = '${d(6)}|${d(7)}' and PE_TIPO <> 'MULTI-TICKET'"$) +' Log($"delete from PEDIDO where PE_ORIGEN = '${d(6)}|${d(7)}' and PE_TIPO <> 'MULTI-TICKET'"$) + Starter.skmt.ExecNonQuery($"delete from PEDIDO_TICKET where PT_ORIGEN = '${d(6)}|${d(7)}' and PT_ALMACEN = 'MULTI-TICKET'"$) +' Log($"delete from PEDIDO_TICKET where PT_ORIGEN = '${d(6)}|${d(7)}' and PT_ALMACEN = 'MULTI-TICKET'"$) + Starter.skmt.ExecNonQuery($"update CAT_MESAS set M_ESTATUS = 'ABIERTA', M_TICKET = '${d(7)}', M_MESERO = '${d(3)}', M_COMENSALES = '${d(4)}' where M_ID = '${d(6)}'"$) + Starter.skmt.ExecNonQuery($"update PEDIDO set PE_TIPO = 'VENTA', PE_TIPO2 = Null where PE_TIPO = 'MULTI-TICKET' and PE_MESA = '${d(6)}' and PE_TICKET = '${d(7)}'"$) + Starter.skmt.ExecNonQuery($"update PEDIDO_TICKET set PT_PAGO = 'VENTA', PT_TARJETA = Null, PT_PAGO_PROPINA = Null, PT_PROPINA = Null, PT_PAGO2 = Null where PT_PAGO = 'MULTI-TICKET' and PT_MESA = '${d(6)}' and PT_TICKET = '${d(7)}'"$) + Starter.skmt.TransactionSuccessful + Starter.skmt.EndTransaction + p_reabrirMesaMulti.Visible = False + p_transparenteVerOrden.Visible = False + WobbleMenu1_Tab1Click +End Sub diff --git a/B4A/Files/principal.bal b/B4A/Files/principal.bal index 26ec93c9367c8c7a9d0902290d361c314ac6bd9e..e07348d8ffb451814909aa21e598ecf31b40470c 100644 GIT binary patch delta 3522 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 diff --git a/B4A/Lanterna.b4a b/B4A/Lanterna.b4a index daee104..fd7f138 100644 --- a/B4A/Lanterna.b4a +++ b/B4A/Lanterna.b4a @@ -82,7 +82,7 @@ Version=12.8 #Region Project Attributes #ApplicationLabel: Lanterna #VersionCode: 1 - #VersionName: 4.03.04 + #VersionName: 4.03.13 'SupportedOrientations possible values: unspecified, landscape or portrait. #SupportedOrientations: portrait #CanInstallToExternalStorage: False diff --git a/B4A/Lanterna.b4a.meta b/B4A/Lanterna.b4a.meta index 750c3c0..8d6eece 100644 --- a/B4A/Lanterna.b4a.meta +++ b/B4A/Lanterna.b4a.meta @@ -18,13 +18,13 @@ ModuleBreakpoints7= ModuleBreakpoints8= ModuleClosedNodes0= ModuleClosedNodes1= -ModuleClosedNodes2=12,24,25 +ModuleClosedNodes2=4 ModuleClosedNodes3= ModuleClosedNodes4= ModuleClosedNodes5= ModuleClosedNodes6= ModuleClosedNodes7= ModuleClosedNodes8=47,48 -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 +NavigationStack=Starter,Service_Start,62,0,Visual Designer,principal.bal,-100,6,C_Principal,LlenaProdsLL,464,0,C_Principal,b_mesaEditar_Click,1057,0,C_Principal,B4XPage_Appear,277,0,C_Principal,B4XPage_Created,217,0,C_Principal,B4XPage_CloseRequest,279,6,C_Principal,muestraCats,314,2,C_Principal,p_mesasItem_Click,912,0,Main,Activity_ActionBarHomeClick,35,0,B4XMainPage,Class_Globals,22,0 SelectedBuild=0 VisibleModules=1,7,8,2,3,6,4,5 diff --git a/B4A/Starter.bas b/B4A/Starter.bas index 0ee4e4b..04b460d 100644 --- a/B4A/Starter.bas +++ b/B4A/Starter.bas @@ -26,7 +26,8 @@ Sub Process_Globals Dim tipov As String = "VENTA" Dim ticketActual, mesaActual, meseroActual, comensalesActuales, totalActual, mac_impresora As String Dim formasDePago As Int = 1 - dim imprimirTicket as Boolean = False + Dim imprimirTicket As Boolean = False + dim nivelActual as string End Sub Sub Service_Create diff --git a/B4A/Subs.bas b/B4A/Subs.bas index d606862..0035426 100644 --- a/B4A/Subs.bas +++ b/B4A/Subs.bas @@ -1392,7 +1392,22 @@ End Sub 'Regresa las categorias de los productos en una lista Sub traeCategorias As List - Private c As Cursor = Starter.skmt.ExecQuery($"select distinct CAT_GP_CLASIF from CAT_GUNAPROD order by CAT_GP_CLASIF"$) + Private c As Cursor = Starter.skmt.ExecQuery($"select distinct CAT_GP_TIPO from CAT_GUNAPROD order by CAT_GP_TIPO"$) + Private l As List + If c.RowCount > 0 Then + l.Initialize + For i = 0 To c.RowCount - 1 + c.Position = i + l.Add(c.GetString("CAT_GP_TIPO")) +' Log(c.GetString("CAT_GP_CLASIF")) + Next + End If + Return l +End Sub + +'Regresa las subcategorias de los productos en una lista +Sub traeSubCategorias(cat As String) As List + Private c As Cursor = Starter.skmt.ExecQuery($"select distinct CAT_GP_CLASIF from CAT_GUNAPROD where CAT_GP_TIPO = '${cat}' order by CAT_GP_CLASIF"$) Private l As List If c.RowCount > 0 Then l.Initialize