diff --git a/Files/principal.bal b/Files/principal.bal index 78700c4..1dd3eea 100644 Binary files a/Files/principal.bal and b/Files/principal.bal differ diff --git a/Lanterna2.b4a b/Lanterna2.b4a index 8106ea6..9947755 100644 --- a/Lanterna2.b4a +++ b/Lanterna2.b4a @@ -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 diff --git a/Lanterna2.b4a.meta b/Lanterna2.b4a.meta index 7ba4cdb..5174c61 100644 --- a/Lanterna2.b4a.meta +++ b/Lanterna2.b4a.meta @@ -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 diff --git a/Principal.bas b/Principal.bas index a376501..4f85dee 100644 --- a/Principal.bas +++ b/Principal.bas @@ -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 diff --git a/Subs.bas b/Subs.bas index 6ad31eb..7a771f8 100644 --- a/Subs.bas +++ b/Subs.bas @@ -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