From c211493a823d0f4068ffd51d34f26a552bd9352a Mon Sep 17 00:00:00 2001 From: Jose Alberto Guerra Ugalde Date: Thu, 16 May 2024 12:27:03 -0600 Subject: [PATCH] =?UTF-8?q?-=20Se=20corrigi=C3=B3=20que=20cuando=20se=20me?= =?UTF-8?q?t=C3=ADa=20un=20producto=20variable,=20al=20renombrarlo=20se=20?= =?UTF-8?q?borraba=20la=20lista=20de=20productos=20de=20la=20mesa.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Lanterna2.b4a | 7 +++++-- Lanterna2.b4a.meta | 2 +- Principal.bas | 49 +++++++++++++++++++++++++++++++++------------- Subs.bas | 1 + 4 files changed, 42 insertions(+), 17 deletions(-) diff --git a/Lanterna2.b4a b/Lanterna2.b4a index af45cd5..7c4fa58 100644 --- a/Lanterna2.b4a +++ b/Lanterna2.b4a @@ -84,7 +84,7 @@ Version=12.8 #Region Project Attributes #ApplicationLabel: Lanterna #VersionCode: 1 - #VersionName: 4.04.28 + #VersionName: 4.05.15 'SupportedOrientations possible values: unspecified, landscape or portrait. #SupportedOrientations: landscape #CanInstallToExternalStorage: False @@ -195,6 +195,8 @@ Sub Activity_KeyPress (key As Int) As Boolean End If Return True ' Returning False signals the system to handle the key + + End Sub Sub Activity_Pause (UserClosed As Boolean) @@ -324,7 +326,8 @@ Sub JobDone(Job As HttpJob) Dim CAT_GP_FECHA_MOD As String = records(result.Columns.Get("CAT_GP_FECHA_MOD")) Dim CAT_GP_CLASIF As String = records(result.Columns.Get("CAT_GP_CLASIF")) Dim CAT_GP_TIPO As String = records(result.Columns.Get("CAT_GP_TIPO")) - Starter.skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_PRECIO,CAT_GP_ALMACEN,CAT_GP_IMG,CAT_GP_FECHA,CAT_GP_FECHA_MOD, CAT_GP_CLASIF, CAT_GP_TIPO) VALUES (?,?,?,?,?,?,?,?,?)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_PRECIO,CAT_GP_ALMACEN,CAT_GP_IMG,CAT_GP_FECHA,CAT_GP_FECHA_MOD,CAT_GP_CLASIF,CAT_GP_TIPO)) + Dim CAT_GP_ORDENAMIENTO As Int = records(result.Columns.Get("CAT_GP_ORDENAMIENTO")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_PRECIO,CAT_GP_ALMACEN,CAT_GP_IMG,CAT_GP_FECHA,CAT_GP_FECHA_MOD, CAT_GP_CLASIF, CAT_GP_TIPO, CAT_GP_ORDENAMIENTO) VALUES (?,?,?,?,?,?,?,?,?,?)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_PRECIO,CAT_GP_ALMACEN,CAT_GP_IMG,CAT_GP_FECHA,CAT_GP_FECHA_MOD,CAT_GP_CLASIF,CAT_GP_TIPO,CAT_GP_ORDENAMIENTO)) Next For v = 1 To 20 'Agregamos productos varios (editables) Starter.skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_PRECIO,CAT_GP_ALMACEN,CAT_GP_IMG,CAT_GP_FECHA,CAT_GP_FECHA_MOD, CAT_GP_CLASIF, CAT_GP_TIPO) VALUES (?,?,?,?,?,?,?,?,?)", Array As Object ($"AVAR${NumberFormat2(v, 2, 0, 0, False)}"$,$"Alimentos Varios ${NumberFormat2(v, 2, 0, 0, False)}"$,"1","10000",Null,"2024-02-04 17:00:00","2024-02-04 17:00:00","VARIOS","ALIMENTOS")) diff --git a/Lanterna2.b4a.meta b/Lanterna2.b4a.meta index 4d45a64..b692b6f 100644 --- a/Lanterna2.b4a.meta +++ b/Lanterna2.b4a.meta @@ -22,6 +22,6 @@ ModuleClosedNodes4= ModuleClosedNodes5=2,3,5 ModuleClosedNodes6= ModuleClosedNodes7= -NavigationStack=Principal,resalta,335,0,Main,b_cargaProductos_Click,210,6,Principal,Activity_Create,262,6,Principal,p_mesasItem_Click,1139,0,Principal,b_mesaEditar_Click,1274,0,Principal,b_abrirMesa_Click,1205,2,Principal,b_leyendaDescuento_Click,2675,4,Main,JobDone,271,5,Visual Designer,principal.bal,-100,6,Principal,et_selBuscar_FocusChanged,3090,0,Principal,l_selVinos_Click,3072,0 +NavigationStack=Principal,b_abrirMesa_Click,1205,2,Principal,b_leyendaDescuento_Click,2760,6,Visual Designer,login.bal,-100,1,Subs,revisaBD,214,1,Main,b_cargaProductos_Click,203,0,Main,JobDone,246,1,Principal,b_renombraVarios_Click,2370,0,Visual Designer,principal.bal,-100,6,Principal,LlenaOrden,2980,1,Principal,actualizaProductos,3070,6 SelectedBuild=0 VisibleModules=6,5,7 diff --git a/Principal.bas b/Principal.bas index 9714f0a..702b511 100644 --- a/Principal.bas +++ b/Principal.bas @@ -1394,7 +1394,7 @@ Private Sub b_pagoCerrar_Click elEfectivo = d.GetString("totalEfectivo") Loop If elEfectivo > "0" Then -' Log("INSERTAMOS DESCUENTO") + Log("INSERTAMOS DESCUENTO") 'Agregamos el efectivo como DESCUENTO en el pedido de la tarjeta. 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 ((elEfectivo * -1), (elEfectivo * -1), 1, "DESCUENTO", "DESC01", ticketAnt, Subs.traeFecha, Starter.meseroActual, Starter.mesaActual, elEfectivo, "TARJETA", pagoAnt, $"${Starter.mesaActual}|${sigTicketMT}"$)) End If @@ -2679,7 +2679,7 @@ Private Sub b_leyendaDescuento_Click Private cont As Int = 0 For k = 0 To listaTickets.Size - 1 'Por cada ticket y pago de la lista imprimimos un ticket. ' LogColor($">>>> Forma de pago : ${listaTickets.Get(k).As(Map).Get("pago")}"$, Colors.Blue) - If listaTickets.Size>= k and listaTickets.Get(k).As(Map).Get("pago") = "EFECTIVO" Or cont > 0 Then 'Solo imprimimos si es el PRIMER ticket de TARJETA. + If listaTickets.Size>= k And listaTickets.Get(k).As(Map).Get("pago") = "EFECTIVO" Or cont > 0 Then 'Solo imprimimos si es el PRIMER ticket de TARJETA. Continue End If cont = cont + 1 @@ -2766,7 +2766,7 @@ Private Sub b_leyendaDescuento_Click If logger Then Log($"Comensales: ${Starter.comensalesActuales}${Subs.rellenaHasta(14 - Starter.mesaActual.Length)}${Starter.mesaActual}${CRLF}"$) If imprimirEste Then Printer1.WriteString(" " & CRLF) c = Starter.skmt.ExecQuery($"select *, ifnull(PE_DESC, 0) as DESC from PEDIDO join cat_gunaprod on PE_PROID = CAT_GP_ID 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 *, ifnull(PE_DESC, 0) as DESC from PEDIDO join cat_gunaprod on PE_PROID = CAT_GP_ID where PE_MESA = '${Starter.mesaActual}' and PE_TIPO = '${tipoPago}' and PE_TICKET = '${Starter.ticketActual}'"$) ' Private elTotalSumado As String = "0" If c.RowCount > 0 Then Private elSubTotal As String = 0 @@ -2794,6 +2794,14 @@ Private Sub b_leyendaDescuento_Click If imprimirEste Then Printer1.WriteString($"${c.GetString("PE_CANT")} ${elNombre}${CRLF}${cantXpu}${Subs.alineaDerecha("$"&NumberFormat2(elSubTotal, 1, 2, 2, True), (30 - cantXpu.Length), ".")}${CRLF}"$) Log($"${c.GetString("PE_CANT")} ${elNombre}${CRLF}${cantXpu}${Subs.alineaDerecha("$"&NumberFormat2(elSubTotal, 1, 2, 2, True), (30 - cantXpu.Length), ".")}${CRLF}"$) ' elTotalSumado = elTotalSumado + elSubTotal + If i = c.RowCount - 1 Then + Private desc As ResultSet = Starter.skmt.ExecQuery($"select * from PEDIDO where PE_PRONOMBRE = 'DESCUENTO' and PE_MESA = '${Starter.mesaActual}' and PE_TIPO = '${tipoPago}' and PE_TICKET = '${Starter.ticketActual}'"$) + Do While desc.NextRow + cantXpu = $"1 x ${desc.GetString("PE_COSTOU")}"$ + If imprimirEste Then Printer1.WriteString($"1 DESCUENTO${CRLF}${cantXpu}${Subs.alineaDerecha("$"&NumberFormat2(desc.GetString("PE_COSTO_TOT"), 1, 2, 2, True), (30 - cantXpu.Length), ".")}${CRLF}"$) + Log($"1 DESCUENTO${CRLF}${cantXpu}${Subs.alineaDerecha("$"&NumberFormat2(desc.GetString("PE_COSTO_TOT"), 1, 2, 2, True), (30 - cantXpu.Length), ".")}${CRLF}"$) + Loop + End If Next End If 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}'"$) @@ -2976,9 +2984,9 @@ Private Sub clv_orden_VisibleRangeChanged (FirstIndex As Int, LastIndex As Int) End Sub Sub LlenaOrden -' Log("LlenaOrden") +' Log("LlenaOrden - " & Subs.hayPedido) clv_orden.Clear - If hayPedido Then 'Si hay pedido obtenemos las cantidades de los productos para agregarlos al CLV. + 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"$) If c.RowCount > 0 Then For i = 0 To c.RowCount - 1 @@ -2998,9 +3006,9 @@ Sub actualizaProductos(categoria As String) Private w As Int = 0 Private letra As String = "" If selBuscar = "%" Then - Private c As ResultSet = Starter.skmt.ExecQuery($"select * from cat_gunaprod where cat_gp_tipo like '%${categoria}%' and CAT_GP_NOMBRE not like '%Varios%' and CAT_GP_NOMBRE not like '%Varias%' order by cat_gp_nombre"$) + Private c As ResultSet = Starter.skmt.ExecQuery($"select * from cat_gunaprod where cat_gp_tipo like '%${categoria}%' and CAT_GP_NOMBRE not like '%Varios%' and CAT_GP_NOMBRE not like '%Varias%' order by CAT_GP_ORDENAMIENTO, cat_gp_nombre"$) Else - Private c As ResultSet = Starter.skmt.ExecQuery($"select * from cat_gunaprod where cat_gp_tipo like '%${categoria}%' and CAT_GP_NOMBRE like '%${selBuscar}%' order by cat_gp_nombre"$) + Private c As ResultSet = Starter.skmt.ExecQuery($"select * from cat_gunaprod where cat_gp_tipo like '%${categoria}%' and CAT_GP_NOMBRE like '%${selBuscar}%' order by CAT_GP_ORDENAMIENTO, cat_gp_nombre"$) End If panelEnUso = 1 p_productos1.BringToFront @@ -3008,6 +3016,7 @@ Sub actualizaProductos(categoria As String) p_productos2.RemoveAllViews p_productos3.RemoveAllViews p_productos4.RemoveAllViews + Dim clasifAnt As String = "" Do While c.NextRow Private nombre As String = c.getstring("CAT_GP_NOMBRE") labelTmp.Initialize("l_prods") @@ -3021,11 +3030,8 @@ Sub actualizaProductos(categoria As String) Else l_prods.SetColorAndBorder(Colors.RGB(220,255,220), 1dip, Colors.Black, 0) End If - If selBuscar = "%" And letra <> c.getstring("CAT_GP_NOMBRE").As(String).SubString2(0,1) Then ' Cambiamos el color cuando cambia la letra inicial - l_prods.TextColor = Colors.RGB(220,0,0) - Else - l_prods.TextColor = Colors.black - End If + + 'If 1 = 0 And selBuscar = "%" And letra <> c.getstring("CAT_GP_NOMBRE").As(String).SubString2(0,1) Then ' Cambiamos el color cuando cambia la letra inicial letra = c.getstring("CAT_GP_NOMBRE").As(String).SubString2(0,1) ' l_prods.SetColorAndBorder(Colors.White, 1dip, Colors.Black, 0) l_prods.SetTextAlignment("CENTER", "CENTER") @@ -3034,6 +3040,7 @@ Sub actualizaProductos(categoria As String) If nombre.Length > 25 Then l_prods.Text = w & " " & nombre.SubString2(0, 25) ' {prod=ALCACHOFAS CRUDAS 250g , precio=190, almacen=9997, id=LA92, cant=7, img=Null} l_prods.Tag = CreateMap("prod":nombre, "precio":c.GetString("CAT_GP_PRECIO"), "almacen":"9999", "id":c.GetString("CAT_GP_ID"), "cant":1, "img":Null) + ' l_prods.TextColor = Colors.White Private t As Int = w If w > 0 Then top0 = top0 + (l_prods.Height + 1) @@ -3041,7 +3048,7 @@ Sub actualizaProductos(categoria As String) If top0 > p_productos1.Height - l_prods.Height Then left0 = left0 + (l_prods.Width + 1) top0 = 0 - Log("CAMBIO - L:" & left0 & "|LW:" & l_prods.Width & "|W:" & w) +' Log("CAMBIO - L:" & left0 & "|LW:" & l_prods.Width & "|W:" & w) End If If (left0 + l_prods.Width) > p_productos1.Width Then left0 = 0 @@ -3052,8 +3059,22 @@ Sub actualizaProductos(categoria As String) else if panelEnUso = 3 Then panelEnUso = 4 End If - Log("NO CABEN - " & w & " USAMOS " & panelEnUso) +' Log("NO CABEN - " & w & " USAMOS " & panelEnUso) End If + If c.GetString("CAT_GP_CLASIF") <> clasifAnt Then + Log(">>> " & c.GetString("CAT_GP_CLASIF")) +' Dim labelHead As Label +' labelHead.Initialize("l_head") +' labelHead.Width = 119dip +' labelHead.Height = 36dip +' labelHead.Text = "ENCABEZADO" 'c.GetString("CAT_GP_CLASIF") +' p_productos1.AddView(labelHead, left0, top0, labelHead.Width, labelHead.Height) + l_prods.TextColor = Colors.RGB(220,0,0) + Else + l_prods.TextColor = Colors.black + End If + clasifAnt = c.GetString("CAT_GP_CLASIF") + Log(l_prods.text) ' Log($"L:${left0}, T:${top0}, PH:${p_productos.Height}"$) If panelEnUso = 1 Then p_productos1.AddView(l_prods, left0, top0, l_prods.Width, l_prods.Height) diff --git a/Subs.bas b/Subs.bas index 4dc370e..2ce2239 100644 --- a/Subs.bas +++ b/Subs.bas @@ -218,6 +218,7 @@ Sub revisaBD 'ignore agregaColumna("cat_gunaprod", "CAT_PS_DESC", "TEXT") agregaColumna("cat_gunaprod", "CAT_GP_FECHA", "TEXT") agregaColumna("cat_gunaprod", "CAT_GP_FECHA_MOD", "TEXT") + agregaColumna("cat_gunaprod", "CAT_GP_ORDENAMIENTO", "NUMERIC") 'Tabla para la bitacora de errores If Not(errorLog.IsInitialized) Then errorLog.Initialize(Starter.ruta, "errorLog.db", True) errorLog.ExecNonQuery("CREATE TABLE IF NOT EXISTS errores(fecha INTEGER, error TEXT)")