diff --git a/Files/login.bal b/Files/login.bal index 4df7e67..2a73a32 100644 Binary files a/Files/login.bal and b/Files/login.bal differ diff --git a/Lanterna2.b4a b/Lanterna2.b4a index cb356a8..630797b 100644 --- a/Lanterna2.b4a +++ b/Lanterna2.b4a @@ -263,11 +263,11 @@ Private Sub b_envioBD_Click 'copy the shared file to the shared folder Log("xxxxxx:"&Provider.SharedFolder) Sleep(1000) - File.Copy(File.DirInternal, FileName, Provider.SharedFolder, FileName) + File.Copy(File.DirInternal, FileName, Provider.SharedFolder, "kmt_Lanterna.db") Dim email As Email email.To.Add("soporte@keymonsoft.com") email.Subject = "Envio Base de datos Lanterna" - email.Attachments.Add(Provider.GetFileUri(FileName)) + email.Attachments.Add(Provider.GetFileUri("kmt_Lanterna.db")) ' email.Attachments.Add(Provider.GetFileUri(FileName)) 'second attachment Dim in As Intent = email.GetIntent in.Flags = 1 'FLAG_GRANT_READ_URI_PERMISSION diff --git a/Lanterna2.b4a.meta b/Lanterna2.b4a.meta index 9f69110..59bbeee 100644 --- a/Lanterna2.b4a.meta +++ b/Lanterna2.b4a.meta @@ -22,6 +22,6 @@ ModuleClosedNodes4= ModuleClosedNodes5= ModuleClosedNodes6= ModuleClosedNodes7= -NavigationStack=Principal,b_pagoCerrar_Click,1422,0,Subs,traeTicket,684,0,Subs,traeConsecutivoTicket,1471,0,Principal,b_abrirMesa_Click,1258,0,Principal,b_resumen_Click,3486,6,Principal,cb_factura_CheckedChange,3562,0,Principal,b_imprimirTicket_Click,2557,1,Main,Process_Globals,29,0,Visual Designer,principal.bal,-100,6,Principal,Globals,118,0,Principal,llenaHistorial,1011,6 +NavigationStack=Principal,b_pagoCerrar_Click,1461,6,Principal,b_imp_Click,1828,3,Principal,b_reimprimirTicket_Click,3681,1,Visual Designer,login.bal,-100,3,Visual Designer,principal.bal,-100,6,Principal,cb_opcionEfectivo_CheckedChange,2852,0,Principal,b_abrirMesa_Click,1268,6,Principal,lv_historial_ItemClick,2861,4,Principal,b_leyendaDescuento_Click,3009,6,Principal,b_imp2_Click,2089,0 SelectedBuild=0 VisibleModules=6,5,7 diff --git a/Principal.bas b/Principal.bas index 28542f2..8bc2210 100644 --- a/Principal.bas +++ b/Principal.bas @@ -193,6 +193,7 @@ Sub Globals Private b_imp3 As Button Private p_contScrollView As Panel Private p_resumenDiaTotales As Panel + dim imprimirEfectivo as Boolean = False 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 @@ -1272,8 +1273,8 @@ Private Sub b_abrirMesa_Click Private c As Cursor = Starter.skmt.ExecQuery($"select M_ESTATUS from CAT_MESAS where M_ID = '${Starter.mesaActual}' and M_ESTATUS = 'ABIERTA'"$) If c.RowCount > 0 Then Starter.skmt.ExecNonQuery($"update CAT_MESAS set M_MESERO = '${cb_mesero.SelectedItem}', M_COMENSALES = '${cb_comensales.SelectedItem}' where M_ID = '${Starter.mesaActual}'"$) - Starter.skmt.ExecNonQuery($"update PEDIDO_TICKET set PT_MESERO = '${cb_mesero.SelectedItem}', PT_COMENSALES = '${cb_comensales.SelectedItem}' where PT_MESA = '${Starter.mesaActual}'"$) - Log($"update CAT_MESAS set M_MESERO = '${cb_mesero.SelectedItem}', M_COMENSALES = '${cb_comensales.SelectedItem}' where M_ID = '${Starter.mesaActual}'"$) + Starter.skmt.ExecNonQuery($"update PEDIDO_TICKET set PT_MESERO = '${cb_mesero.SelectedItem}', PT_COMENSALES = '${cb_comensales.SelectedItem}' where PT_MESA = '${Starter.mesaActual}' and PT_TICKET = '${Starter.ticketActual}' and PT_PAGO = 'VENTA'"$) + Log($"update PEDIDO_TICKET set PT_MESERO = '${cb_mesero.SelectedItem}', PT_COMENSALES = '${cb_comensales.SelectedItem}' where PT_MESA = '${Starter.mesaActual}' and PT_TICKET = '${Starter.ticketActual}'"$) Else Starter.ticketActual = Subs.traeConsecutivoTicket("ABIERTA", "PENDIENTE") Starter.skmt.ExecNonQuery($"update CAT_MESAS set M_TICKET = '${Subs.traeConsecutivoTicket("ABIERTA", "PENDIENTE")}', M_ESTATUS = 'ABIERTA', M_MESERO = '${cb_mesero.SelectedItem}', M_COMENSALES = '${cb_comensales.SelectedItem}' where M_ID = '${Starter.mesaActual}'"$) @@ -1398,7 +1399,7 @@ Private Sub b_pagoCerrar_Click ' Private laPropinaPago As String = pt.GetString("PT_PAGO_PROPINA") ' Loop ' Log($"${laPropina}, ${laPropinaPago}"$) - Log("###################### " & listaFormasDePagoCB.Size) + Log("###################### " & listaFormasDePagoCB.Size & "|" & listaFormaDePago) If listaFormasDePagoCB.Size > 1 Then Log(">>>>>>>> VARIOS PAGOS") Private sigTicketMT As String = Subs.traeConsecutivoTicket("CERRADA", "MULTI-TICKET") @@ -1408,10 +1409,13 @@ Private Sub b_pagoCerrar_Click 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}'"$) 'Reseteamos la mesa a cerrada. Private primeraVez As Boolean = True '' Private descuentoAplicado As Boolean = False + Private ticketX As String = Starter.ticketActual Private ticketAnt As String = "" Private pagoAnt As String = "" Private descXEfectivo As String = "" + Private contT As Int = 0 For fdp = 0 To listaFormasDePagoCB.Size - 1 + Log($"FOR - PASO ${fdp}"$) formaPago = listaFormaDePago.Get(fdp) If formaPago = "Efectivo" Then tipoPago = "EFECTIVO" @@ -1419,28 +1423,55 @@ Private Sub b_pagoCerrar_Click tipoPago = "TARJETA" 'Pago con tarjeta End If Private sigTicket As String = Subs.traeConsecutivoTicket("CERRADA", tipoPago) -' LogColor($"${primeraVez} - ${tipoPago} - |${formaPago}|"$, Colors.Red) - If primeraVez And tipoPago = "TARJETA" Then + LogColor($"${primeraVez} - ${tipoPago} - |${formaPago}|"$, Colors.Red) + If tipoPago = "TARJETA" Then 'primeraVez And Private laPropina As String = "0" If et_propina.Text <> "" Then laPropina = et_propina.Text End If Log("INSERTAMOS TARJETA") + Log($"${listaFormaDePago.Get(fdp)}"$) Private pa As ResultSet = Starter.skmt.ExecQuery($"select * from PEDIDO where PE_MESA = '${Starter.mesaActual}' and PE_TICKET = '${sigTicketMT}' and PE_TIPO = 'MULTI-TICKET'"$) -' Log($"select * from PEDIDO where PE_MESA = '${Starter.mesaActual}' and PE_TICKET = '${sigTicketMT}' and PE_TIPO = 'MULTI-TICKET'"$) -' Log(pa.RowCount) + Log($"select * from PEDIDO where PE_MESA = '${Starter.mesaActual}' and PE_TICKET = '${sigTicketMT}' and PE_TIPO = 'MULTI-TICKET'"$) + Log(pa.RowCount) Do While pa.NextRow -' Log($"${pa.GetString("PE_PROID")}, ${pa.GetString("PE_COSTO_TOT")}, ${pa.GetString("PE_TIPO")}"$) + Log($"${pa.GetString("PE_PROID")}, ${pa.GetString("PE_COSTO_TOT")}, ${pa.GetString("PE_TIPO")}"$) 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 (pa.GetString("PE_COSTO_TOT"), pa.GetString("PE_COSTOU"), pa.GetString("PE_CANT"), pa.GetString("PE_PRONOMBRE"), pa.GetString("PE_PROID"), sigTicket, pa.GetString("PE_FECHA"), pa.GetString("PE_MESERO"), pa.GetString("PE_MESA"), pa.GetString("PE_COSTO_SIN"), "TARJETA", formaPago, $"${Starter.mesaActual}|${sigTicketMT}"$)) Loop - Log("INSERTAMOS TARJETA EN PT") - Log($"${laPropina}, ${cb_pagoPropina.SelectedItem} ${pa.RowCount}"$) + LogColor("INSERTAMOS TARJETA EN PT", Colors.blue) + Private ptMonto As String = listaMontoDePago.Get(fdp).As(EditText).text +' Private ptPropina = laPropina + If contT > 0 Then laPropina = 0 + Log($"${contT}|${laPropina}|${cb_pagoPropina.SelectedItem}|${pa.RowCount}|${ptMonto}, ${formaPago}"$) 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, PT_PROPINA, PT_PAGO_PROPINA) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object _ - (sigTicket, tipoPago, Subs.traeFecha, Starter.meseroActual, pa.RowCount, listaMontoDePago.Get(fdp).As(EditText).text, Starter.mesaActual, listaMontoDePago.Get(fdp).As(EditText).text, Starter.comensalesActuales, "MULTI-TICKET", formaPago, $"${Starter.mesaActual}|${sigTicketMT}"$, laPropina, cb_pagoPropina.SelectedItem)) + (sigTicket, tipoPago, Subs.traeFecha, Starter.meseroActual, pa.RowCount, ptMonto, Starter.mesaActual, ptMonto, Starter.comensalesActuales, "MULTI-TICKET", formaPago, $"${Starter.mesaActual}|${sigTicketMT}"$, laPropina, cb_pagoPropina.SelectedItem)) + ticketX = ticketAnt ticketAnt = sigTicket pagoAnt = formaPago primeraVez = False + + If contT = 0 Then + Private descuentoTicket As String = sigTicket + Private descuentoTipoPago As String = tipoPago + End If + + + Private d As ResultSet = Starter.skmt.ExecQuery($"select ifnull(sum(PE_COSTO_TOT), 0) as totalEfectivo from PEDIDO where PE_TIPO = 'EFECTIVO' and PE_ORIGEN = '${Starter.mesaActual}|${sigTicketMT}'"$) + Private elEfectivo As String = "0" + Do While d.NextRow + elEfectivo = d.GetString("totalEfectivo") + Loop + If elEfectivo > "0" Then + Log("INSERTAMOS DESCUENTO") + Log($"DescTicket: ${descuentoTicket}, descPago: ${descuentoTipoPago}"$) + '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", sigTicket, Subs.traeFecha, Starter.meseroActual, Starter.mesaActual, elEfectivo, "TARJETA", formaPago, $"${Starter.mesaActual}|${sigTicketMT}"$)) + Starter.ticketActual = ticketX + End If + + + contT = contT + 1 End If If tipoPago = "EFECTIVO" Then Log("INSERTAMOS EFECTIVO") @@ -1453,7 +1484,7 @@ Private Sub b_pagoCerrar_Click descXEfectivo = listaMontoDePago.Get(fdp).As(EditText).text End If ' If Not(descuentoAplicado) And pagoAnt <> "" And ticketAnt <> "" And descXEfectivo <> "" Then -' Log("INSERTAMOS DESCUENTO") +' Log("INSERTAMOS DESCUENTO") ' 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 ((descXEfectivo * -1), (descXEfectivo * -1), 1, "DESCUENTO", "DESC01", ticketAnt, Subs.traeFecha, Starter.meseroActual, Starter.mesaActual, descXEfectivo, "TARJETA", pagoAnt, $"${Starter.mesaActual}|${sigTicketMT}"$)) 'Agregamos el descuento al pedido de tarjeta. ' descuentoAplicado = True ' End If @@ -1461,6 +1492,8 @@ Private Sub b_pagoCerrar_Click Starter.ticketActual = sigTicket Private tm As Map = CreateMap("ticket":sigTicket, "pago":tipoPago) listaTickets.Add(tm) 'Agregamos el ticket y pago a la lista para imprimir el ticket con estos datos al llamar b_imprimirTicket_Click + + Next Private d As ResultSet = Starter.skmt.ExecQuery($"select ifnull(sum(PE_COSTO_TOT), 0) as totalEfectivo from PEDIDO where PE_TIPO = 'EFECTIVO' and PE_ORIGEN = '${Starter.mesaActual}|${sigTicketMT}'"$) @@ -1468,15 +1501,23 @@ Private Sub b_pagoCerrar_Click Do While d.NextRow elEfectivo = d.GetString("totalEfectivo") Loop + + Log($"${Starter.ticketActual}, ${ticketAnt}, ${sigTicket}, ${ticketX}"$) + + Starter.ticketActual = sigTicketMT If elEfectivo > "0" Then Log("INSERTAMOS DESCUENTO") + Log($"DescTicket: ${descuentoTicket}, descPago: ${descuentoTipoPago}"$) '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}"$)) +' 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", descuentoTicket, Subs.traeFecha, Starter.meseroActual, Starter.mesaActual, elEfectivo, "TARJETA", descuentoTipoPago, $"${Starter.mesaActual}|${sigTicketMT}"$)) + Starter.ticketActual = ticketX End If - Starter.ticketActual = sigTicketMT + + + ' Log(Subs.traeTotalTicketActual_P("MULTI-TICKET")) - Private elTotalTarjeta As String = Subs.traeTotalTicketActual_P("MULTI-TICKET") - elEfectivo - Starter.skmt.ExecNonQuery($"update PEDIDO_TICKET set PT_MONTO = '${elTotalTarjeta}' where PT_MESA = '${Starter.mesaActual}' and PT_TICKET = '${ticketAnt}' and PT_PAGO = 'TARJETA'"$) +' Private elTotalTarjeta As String = Subs.traeTotalTicketActual_P("MULTI-TICKET") - elEfectivo +' Starter.skmt.ExecNonQuery($"update PEDIDO_TICKET set PT_MONTO = '${elTotalTarjeta}' where PT_MESA = '${Starter.mesaActual}' and PT_TICKET = '${ticketAnt}' and PT_PAGO = 'TARJETA'"$) Else Log(">>>>>>>> UN SOLO PAGO") formaPago = listaFormaDePago.Get(0) @@ -1494,7 +1535,7 @@ Private Sub b_pagoCerrar_Click End If Log(2) 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 Private tm As Map = CreateMap("ticket":sigTicket, "pago":tipoPago) listaTickets.Add(tm) 'Agregamos el ticket y pago a la lista para imprimir el ticket con estos datos al llamar b_imprimirTicket_Click @@ -1808,10 +1849,18 @@ 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.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.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}"$) +' 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}"$) + If totalEfectivo > 0 Then + 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.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}"$) + Else + cs.color(Colors.RGB(1,127,1)).Append($"${CRLF}Total: ${NumberFormat2(tt.GetString("total"), 1,2,2,True)}${CRLF}"$).popall + If imprimirAqui Then Printer1.WriteString($"${CRLF}Total: ${NumberFormat2(tt.GetString("total"), 1,2,2,True)}${CRLF}"$) + End If + l_resumen.Text = cs l_resumen.Height = su.MeasureMultilineTextHeight(l_resumen, l_resumen.Text) @@ -1981,7 +2030,7 @@ Sub b_imp2_Click 'RESUMEN LogColor("sleeping ....", Colors.Magenta) - Sleep(4000) + If imprimirAqui Then Sleep(4000) 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 @@ -2009,7 +2058,7 @@ Sub b_imp2_Click 'COMENSALES LogColor("sleeping ....", Colors.Magenta) - Sleep(3000) + If imprimirAqui Then Sleep(3000) 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 @@ -2021,44 +2070,44 @@ Sub b_imp2_Click Log($"Comensales ...........${totalComensales} ${CRLF}"$) 'PAGOS - LogColor("sleeping ....", Colors.Magenta) - Sleep(1000) - 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' and pt_pago <> 'VENTA' 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}"$) - cs.Color(Colors.DarkGray).Append($"TOTAL PAGOS: .........${i}.. ${totalPagos} ${CRLF}"$).pop - Log($"TOTAL PAGOS: .........${i}.. ${totalPagos} ${CRLF}"$) +' LogColor("sleeping ....", Colors.Magenta) +' If imprimirAqui Then Sleep(1000) +' 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' and pt_pago <> 'VENTA' 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}"$) +' cs.Color(Colors.DarkGray).Append($"TOTAL PAGOS: .........${i}.. ${totalPagos} ${CRLF}"$).pop +' Log($"TOTAL PAGOS: .........${i}.. ${totalPagos} ${CRLF}"$) 'PROPINAS LogColor("sleeping ....", Colors.Magenta) - Sleep(1000) + If imprimirAqui Then Sleep(1000) Private prop As ResultSet = Starter.skmt.ExecQuery($"Select PT_PAGO_PROPINA, sum(PT_PROPINA) As PROPINA from PEDIDO_TICKET where pt_pago <> 'MULTI-TICKET' group by PT_PAGO_PROPINA"$) If imprimirAqui Then Printer1.WriteString(CRLF) Printer1.WriteString(Printer1.BOLD) @@ -2091,7 +2140,7 @@ Sub b_imp2_Click ' Else ' ToastMessageShow("¡Es necesario que NO haya mesas abiertas para realizar el cierre!", True) ' End If - Sleep(1000) + If imprimirAqui Then Sleep(1000) Printer1.DisConnect Catch ToastMessageShow("Error en la impresion 2.", True) @@ -2099,7 +2148,7 @@ Sub b_imp2_Click ' B4XPages.ShowPage("Principal") Activity_Resume End Try - Sleep(1000) + If imprimirAqui Then Sleep(1000) b_imp2.Enabled = True ProgressDialogHide End Sub @@ -2815,6 +2864,8 @@ Private Sub lv_historial_ItemClick (Position As Int, Value As Object) Starter.mesaActual = d(0) Starter.ticketActual = d(1) Starter.tipov = d(2) + Starter.meseroActual = d(3) + Starter.comensalesActuales = d(4) 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)}'"$) @@ -2951,9 +3002,11 @@ 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) + Log("#### IMPRIMIR EFECTIVO: " & imprimirEfectivo) 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 + If Not(imprimirEfectivo) Then Continue End If + imprimirEfectivo = False cont = cont + 1 If imprimirEste Then Printer1.DisConnect @@ -3040,6 +3093,7 @@ Private Sub b_leyendaDescuento_Click 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 *, 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" +' LogColor($">>>>> DESCUENTO: ${c.RowCount}"$, Colors.red) If c.RowCount > 0 Then Private elSubTotal As String = 0 Private elPU As String = 0 @@ -3056,7 +3110,7 @@ Private Sub b_leyendaDescuento_Click ' elSubTotal = c.GetString("PE_COSTO_TOT") - (c.GetString("PE_COSTO_TOT") * (c.GetString("DESC") / 100)) ' Log(c.GetString("PE_COSTOU")) elSubTotal = Ceil(elSubTotal) - Log(elSubTotal) +' Log(elSubTotal) elPU = Ceil(c.GetString("PE_COSTOU") - (c.GetString("PE_COSTOU") * (c.GetString("DESC") / 100))) Else elSubTotal = c.GetString("PE_COSTO_TOT") @@ -3068,6 +3122,7 @@ Private Sub b_leyendaDescuento_Click ' 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}'"$) +' Log($"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 If imprimirEste Then Printer1.WriteString($"Subtotal: ${Subs.alineaDerecha("$"&NumberFormat2( (Subs.traeTotalTicketActual_P(tipoPago)), 1, 2, 2, True), (30 - 12), ".")}${CRLF}"$) @@ -3084,9 +3139,35 @@ Private Sub b_leyendaDescuento_Click ' Log($"Rowcount: ${c.RowCount}"$) If c.RowCount > 0 Then c.Position = 0 + +' Log($"TIPO PAGO: ${tipoPago}"$) + Private elTotal As String = Subs.traeTotalTicketActual_P(tipoPago) + + If c.GetString("ALM") = "MULTI-TICKET" Then +' Log("ORIGEN: " & c.GetString("PT_ORIGEN")) + Private m0() As String = Regex.Split("\|", c.GetString("PT_ORIGEN")) + Private mesaX As String = m0(0) + Private ticketX As String = m0(1) + Private x As Cursor = Starter.skmt.ExecQuery($"select * from PEDIDO_TICKET where PT_MESA = '${mesaX}' and PT_TICKET = '${ticketX}'"$) + Private y As Cursor = Starter.skmt.ExecQuery($"select ifnull(PT_MONTO, 0) as desc from PEDIDO_TICKET where PT_MESA = '${mesaX}' and PT_PAGO = 'EFECTIVO' and PT_ORIGEN = '${c.GetString("PT_ORIGEN")}'"$) + Private elDesc As String = "0" + If y.RowCount > 0 Then + y.Position = 0 + elDesc = y.GetString("desc") + End If + If x.RowCount > 0 Then + x.Position = 0 +' Log(x.GetString("PT_TICKET")) +' Log(x.GetString("PT_MONTO")) + elTotal = x.GetString("PT_MONTO") - elDesc + End If + End If + ' elTotal = elTotalSumado - If c.GetString("ALM") = "MULTI-TICKET" Then elTotal = c.GetString("PT_MONTO") + +' 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 imprimirEste Then Printer1.WriteString($"${CRLF}Propina: $${NumberFormat2(c.GetString("PT_PROPINA"), 1, 2, 2, True)}"$) @@ -3607,5 +3688,6 @@ Private Sub b_reimprimirTicket_Click Private tm As Map = CreateMap("ticket":Starter.ticketActual, "pago":Starter.tipov) 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 + imprimirEfectivo = True b_leyendaDescuento_Click End Sub \ No newline at end of file