- VERSION 4.07.08

- Cambios visuales en algunas pantallas.
- Se agregó que se puedan modificar los montos y formas de pago de las mesas en la pantalla de "Resumen Día" con clic largo.
- Se agregó que se pueda actualizar la aplicación directamente desde el engrane.
- Se agregó una columna a la base de datos para ordenar los grupos del "Resumen de grupos".
- Se cambió el código de como se cualculan los descuentos para evitar que haya diferencias de pesos en el calculo de propinas.
- Se hicieron cambios en el código para evitar que se sumen mal las propinas y los totales de Amex, Mifel y propinas cuadren con las terminales.
This commit is contained in:
Jose Alberto Guerra Ugalde
2024-07-09 12:13:03 -06:00
parent be22ecead3
commit 745eaa5aeb
8 changed files with 465 additions and 186 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -70,23 +70,25 @@ Library6=javaobject
Library7=json Library7=json
Library8=okhttputils2 Library8=okhttputils2
Library9=preoptimizedclv Library9=preoptimizedclv
ManifestCode='This code will be applied to the manifest file during compilation.~\n~'You do not need to modify it in most cases.~\n~'See this link for for more information: https://www.b4x.com/forum/showthread.php?p=78136~\n~AddManifestText(~\n~<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="33"/>~\n~<supports-screens android:largeScreens="true" ~\n~ android:normalScreens="true" ~\n~ android:smallScreens="true" ~\n~ android:anyDensity="true"/>)~\n~SetApplicationAttribute(android:icon, "@drawable/icon")~\n~SetApplicationAttribute(android:label, "$LABEL$")~\n~CreateResourceFromFile(Macro, Themes.LightTheme)~\n~'End of default text.~\n~~\n~SetApplicationAttribute(android:usesCleartextTraffic, "true")~\n~AddPermission(android.permission.BLUETOOTH_ADVERTISE)~\n~AddPermission(android.permission.BLUETOOTH_CONNECT)~\n~AddPermission(android.permission.BLUETOOTH_SCAN)~\n~SetApplicationAttribute(android:largeHeap, "true")~\n~SetApplicationAttribute(android:allowBackup, "false")~\n~SetApplicationAttribute(android:exported, "true")~\n~~\n~AddApplicationText(<provider android:name="android.support.v4.content.FileProvider"~\n~ android:authorities="$PACKAGE$.provider" android:exported="false"~\n~ android:grantUriPermissions="true"><meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/provider_paths"/>~\n~ </provider>)~\n~CreateResource(xml, provider_paths,~\n~ <paths><external-files-path name="name" path="" /><files-path name="name" path="" /><files-path name="name" path="shared" /></paths>~\n~)~\n~~\n~ 'Para que se registre para abrir bases de datos~\n~ AddActivityText(main,~\n~<intent-filter>~\n~<action android:name="android.intent.action.VIEW" />~\n~<category android:name="android.intent.category.DEFAULT" />~\n~<data android:pathPattern=".*\\.db" />~\n~<data android:mimeType="*/*" />~\n~</intent-filter>)~\n~~\n~'AddActivityText(main,~\n~'<intent-filter>~\n~'<action android:name="android.intent.action.VIEW" />~\n~'<category android:name="android.intent.category.BROWSABLE" />~\n~'<category android:name="android.intent.category.DEFAULT" />~\n~'<data android:scheme="http" />~\n~'<data android:host="*" />~\n~'<data android:pathPattern=".*\\.db" />~\n~'<data android:mimeType="*/*" />~\n~'</intent-filter>) ManifestCode='This code will be applied to the manifest file during compilation.~\n~'You do not need to modify it in most cases.~\n~'See this link for for more information: https://www.b4x.com/forum/showthread.php?p=78136~\n~AddManifestText(~\n~<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="33"/>~\n~<supports-screens android:largeScreens="true" ~\n~ android:normalScreens="true" ~\n~ android:smallScreens="true" ~\n~ android:anyDensity="true"/>)~\n~SetApplicationAttribute(android:icon, "@drawable/icon")~\n~SetApplicationAttribute(android:label, "$LABEL$")~\n~CreateResourceFromFile(Macro, Themes.LightTheme)~\n~'End of default text.~\n~~\n~SetApplicationAttribute(android:usesCleartextTraffic, "true")~\n~AddPermission(android.permission.BLUETOOTH_ADVERTISE)~\n~AddPermission(android.permission.BLUETOOTH_CONNECT)~\n~AddPermission(android.permission.BLUETOOTH_SCAN)~\n~SetApplicationAttribute(android:largeHeap, "true")~\n~SetApplicationAttribute(android:allowBackup, "false")~\n~SetApplicationAttribute(android:exported, "true")~\n~~\n~AddApplicationText(<provider android:name="android.support.v4.content.FileProvider"~\n~ android:authorities="$PACKAGE$.provider" android:exported="false"~\n~ android:grantUriPermissions="true"><meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/provider_paths"/>~\n~ </provider>)~\n~CreateResource(xml, provider_paths,~\n~ <paths><external-files-path name="name" path="" /><files-path name="name" path="" /><files-path name="name" path="shared" /></paths>~\n~)~\n~~\n~ 'Para que se registre para abrir bases de datos~\n~ AddActivityText(main,~\n~<intent-filter>~\n~<action android:name="android.intent.action.VIEW" />~\n~<category android:name="android.intent.category.DEFAULT" />~\n~<data android:pathPattern=".*\\.db" />~\n~<data android:mimeType="*/*" />~\n~</intent-filter>)~\n~~\n~~\n~'APP UPDATING~\n~AddActivityText(main,~\n~<intent-filter>~\n~<action android:name="android.intent.action.VIEW" />~\n~<category android:name="android.intent.category.BROWSABLE" />~\n~<category android:name="android.intent.category.DEFAULT" />~\n~<data android:scheme="http" />~\n~<data android:host="*" />~\n~<data android:pathPattern=".*\\.db" />~\n~<data android:mimeType="*/*" />~\n~</intent-filter>)~\n~AddManifestText(<uses-permission~\n~ android:name="android.permission.WRITE_EXTERNAL_STORAGE"~\n~ android:maxSdkVersion="18" />~\n~)~\n~AddApplicationText(~\n~ <provider~\n~ android:name="android.support.v4.content.FileProvider"~\n~ android:authorities="$PACKAGE$.provider"~\n~ android:exported="false"~\n~ android:grantUriPermissions="true">~\n~ <meta-data~\n~ android:name="android.support.FILE_PROVIDER_PATHS"~\n~ android:resource="@xml/provider_paths"/>~\n~ </provider>~\n~)~\n~CreateResource(xml, provider_paths,~\n~<paths>~\n~ <external-files-path name="name" path="" />~\n~ <files-path name="name" path="" />~\n~ <files-path name="name" path="shared" />~\n~</paths>~\n~)~\n~AddPermission(android.permission.REQUEST_INSTALL_PACKAGES)~\n~AddPermission(android.permission.INTERNET)~\n~AddPermission(android.permission.INSTALL_PACKAGES)~\n~AddPermission(android.permission.READ_EXTERNAL_STORAGE)~\n~AddPermission(android.permission.WRITE_EXTERNAL_STORAGE)~\n~AddPermission(android.permission.READ_PHONE_STATE)~\n~AddPermission(android.permission.WAKE_LOCK)
Module1=DBRequestManager Module1=appUpdater
Module2=errorManager Module2=DBRequestManager
Module3=EscPosPrinter Module3=errorManager
Module4=numeroATexto Module4=EscPosPrinter
Module5=Principal Module5=numeroATexto
Module6=Starter Module6=Principal
Module7=Subs Module7=Starter
Module8=Subs
Module9=updateAvailable
NumberOfFiles=26 NumberOfFiles=26
NumberOfLibraries=18 NumberOfLibraries=18
NumberOfModules=7 NumberOfModules=9
Version=12.8 Version=12.8
@EndOfDesignText@ @EndOfDesignText@
#Region Project Attributes #Region Project Attributes
#ApplicationLabel: Lanterna #ApplicationLabel: Lanterna
#VersionCode: 1 #VersionCode: 1
#VersionName: 4.06.27 #VersionName: 4.07.08
'SupportedOrientations possible values: unspecified, landscape or portrait. 'SupportedOrientations possible values: unspecified, landscape or portrait.
#SupportedOrientations: landscape #SupportedOrientations: landscape
#CanInstallToExternalStorage: False #CanInstallToExternalStorage: False
@@ -146,6 +148,7 @@ Sub Globals
Dim intentUsado As Boolean = False Dim intentUsado As Boolean = False
Private cb_importarDesdeWA As CheckBox Private cb_importarDesdeWA As CheckBox
Dim habilitarImportarDesdeWA As Boolean = False Dim habilitarImportarDesdeWA As Boolean = False
Private b_update As Button
End Sub End Sub
Sub Activity_Create(FirstTime As Boolean) Sub Activity_Create(FirstTime As Boolean)
@@ -158,8 +161,9 @@ Sub Activity_Create(FirstTime As Boolean)
Subs.agregaColumna("cat_gunaprod", "CAT_PS_DESC", "TEXT") Subs.agregaColumna("cat_gunaprod", "CAT_PS_DESC", "TEXT")
Subs.agregaColumna("cat_gunaprod", "CAT_GP_FECHA", "TEXT") Subs.agregaColumna("cat_gunaprod", "CAT_GP_FECHA", "TEXT")
Subs.agregaColumna("cat_gunaprod", "CAT_GP_FECHA_MOD", "TEXT") Subs.agregaColumna("cat_gunaprod", "CAT_GP_FECHA_MOD", "TEXT")
Starter.skmt.ExecNonQuery("delete from cuentaa") Subs.agregaColumna("cat_gunaprod", "CAT_GP_ORDEN_GRUPOS", "TEXT")
Starter.skmt.ExecNonQuery("insert into cuentaa (cuenta) values ('123456')") ' Starter.skmt.ExecNonQuery("delete from cuentaa")
' Starter.skmt.ExecNonQuery("insert into cuentaa (cuenta) values ('123456')")
Starter.skmt.ExecNonQuery("delete from cat_almacen") Starter.skmt.ExecNonQuery("delete from cat_almacen")
Starter.skmt.ExecNonQuery("insert into cat_almacen (id_almacen) values ('1')") Starter.skmt.ExecNonQuery("insert into cat_almacen (id_almacen) values ('1')")
l_version.Text = Application.VersionName l_version.Text = Application.VersionName
@@ -184,6 +188,10 @@ Sub Activity_Create(FirstTime As Boolean)
End Sub End Sub
Sub Activity_Resume Sub Activity_Resume
If Starter.muestraProgreso = 1 Then
muestraProgreso("Descargando actualización")
Starter.muestraProgreso = 0
End If
Private z As ResultSet = Starter.skmt.ExecQuery2("select * from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As String ("IMPRESION_ACTIVA")) Private z As ResultSet = Starter.skmt.ExecQuery2("select * from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As String ("IMPRESION_ACTIVA"))
Do While z.NextRow Do While z.NextRow
Private ia As Boolean = False Private ia As Boolean = False
@@ -195,7 +203,6 @@ Sub Activity_Resume
importaBDDesdeWhatsApp importaBDDesdeWhatsApp
End Sub End Sub
Sub Activity_KeyPress (key As Int) As Boolean Sub Activity_KeyPress (key As Int) As Boolean
' BACK key pressed ' BACK key pressed
If key=KeyCodes.KEYCODE_BACK Then If key=KeyCodes.KEYCODE_BACK Then
@@ -210,8 +217,6 @@ Sub Activity_KeyPress (key As Int) As Boolean
End If End If
Return True Return True
' Returning False signals the system to handle the key ' Returning False signals the system to handle the key
End Sub End Sub
Sub Activity_Pause (UserClosed As Boolean) Sub Activity_Pause (UserClosed As Boolean)
@@ -343,11 +348,13 @@ Sub JobDone(Job As HttpJob)
Dim CAT_GP_TIPO As String = records(result.Columns.Get("CAT_GP_TIPO")) Dim CAT_GP_TIPO As String = records(result.Columns.Get("CAT_GP_TIPO"))
Dim CAT_GP_TIPO2 As String = records(result.Columns.Get("CAT_GP_TIPO2")) Dim CAT_GP_TIPO2 As String = records(result.Columns.Get("CAT_GP_TIPO2"))
Dim CAT_GP_ORDENAMIENTO As Int = records(result.Columns.Get("CAT_GP_ORDENAMIENTO")) 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_TIPO2, 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_TIPO2,CAT_GP_ORDENAMIENTO)) Dim CAT_GP_ORDEN_GRUPOS As Int = records(result.Columns.Get("CAT_GP_ORDEN_GRUPOS"))
Log($"${CAT_GP_NOMBRE}, ${CAT_GP_TIPO2}"$)
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_TIPO2, CAT_GP_ORDENAMIENTO,CAT_GP_ORDEN_GRUPOS) 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_TIPO2,CAT_GP_ORDENAMIENTO,CAT_GP_ORDEN_GRUPOS))
Next Next
For v = 1 To 20 'Agregamos productos varios (editables) 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, CAT_GP_TIPO2) 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","ALIMENTOS")) 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_TIPO2,CAT_GP_ORDEN_GRUPOS) 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","ALIMENTOS","1"))
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_TIPO2) VALUES (?,?,?,?,?,?,?,?,?,?)", Array As Object ($"VVAR${NumberFormat2(v, 2, 0, 0, False)}"$,$"Bebidas Varias ${NumberFormat2(v, 2, 0, 0, False)}"$,"1","10000",Null,"2024-02-04 17:00:00","2024-02-04 17:00:00","VARIOS","VINOS Y LICORES","VINOS Y LICORES")) 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_TIPO2,CAT_GP_ORDEN_GRUPOS) VALUES (?,?,?,?,?,?,?,?,?,?,?)", Array As Object ($"VVAR${NumberFormat2(v, 2, 0, 0, False)}"$,$"Bebidas Varias ${NumberFormat2(v, 2, 0, 0, False)}"$,"1","10000",Null,"2024-02-04 17:00:00","2024-02-04 17:00:00","VARIOS","VINOS Y LICORES","BEBIDAS","8"))
Next Next
Starter.skmt.TransactionSuccessful 'Si no se pone TransactionSuccessful no se escribe NADA!! Starter.skmt.TransactionSuccessful 'Si no se pone TransactionSuccessful no se escribe NADA!!
Starter.skmt.EndTransaction Starter.skmt.EndTransaction
@@ -422,8 +429,8 @@ Private Sub b_reimprimirTicket_Click
End Sub End Sub
Private Sub b_fix_Click Private Sub b_fix_Click
Starter.skmt.ExecNonQuery($"update pedido_ticket set PT_NOART = '25', PT_MONTO = '4625', PT_PAGO2 = 'Visa/Mastercard Credito', PT_TARJETA = 'Visa/Mastercard Credito' where PT_TICKET = '00014' and PT_MESA = '5'"$) Starter.skmt.ExecNonQuery($"update pedido_ticket set PT_NOART = '25', PT_MONTO = '4625', PT_PAGO2 = 'Mifel', PT_TARJETA = 'Mifel' where PT_TICKET = '00014' and PT_MESA = '5'"$)
Starter.skmt.ExecNonQuery($"update pedido_ticket set PT_PAGO2 = 'Visa/Mastercard Credito' where PT_PAGO2 is null "$) Starter.skmt.ExecNonQuery($"update pedido_ticket set PT_PAGO2 = 'Mifel' where PT_PAGO2 is null "$)
ToastMessageShow("LISTO", True) ToastMessageShow("LISTO", True)
End Sub End Sub
@@ -460,4 +467,18 @@ End Sub
Private Sub cb_importarDesdeWA_CheckedChange(Checked As Boolean) Private Sub cb_importarDesdeWA_CheckedChange(Checked As Boolean)
If Checked Then habilitarImportarDesdeWA = True If Checked Then habilitarImportarDesdeWA = True
End Sub
Sub b_update_Click
StartService(appUpdater)
End Sub
'appUpdater - Mostramos el anuncio de que se esta descargando el nuevo apk
Sub muestraProgreso(mensaje As String)
ProgressDialogShow(mensaje)
End Sub
'appUpdater - Ocultamos el anuncio de que se esta descargando el nuevo apk
Sub ocultaProgreso
ProgressDialogHide
End Sub End Sub

View File

@@ -6,6 +6,8 @@ ModuleBookmarks4=
ModuleBookmarks5= ModuleBookmarks5=
ModuleBookmarks6= ModuleBookmarks6=
ModuleBookmarks7= ModuleBookmarks7=
ModuleBookmarks8=
ModuleBookmarks9=
ModuleBreakpoints0= ModuleBreakpoints0=
ModuleBreakpoints1= ModuleBreakpoints1=
ModuleBreakpoints2= ModuleBreakpoints2=
@@ -14,7 +16,9 @@ ModuleBreakpoints4=
ModuleBreakpoints5= ModuleBreakpoints5=
ModuleBreakpoints6= ModuleBreakpoints6=
ModuleBreakpoints7= ModuleBreakpoints7=
ModuleClosedNodes0=5 ModuleBreakpoints8=
ModuleBreakpoints9=
ModuleClosedNodes0=
ModuleClosedNodes1= ModuleClosedNodes1=
ModuleClosedNodes2= ModuleClosedNodes2=
ModuleClosedNodes3= ModuleClosedNodes3=
@@ -22,6 +26,8 @@ ModuleClosedNodes4=
ModuleClosedNodes5= ModuleClosedNodes5=
ModuleClosedNodes6= ModuleClosedNodes6=
ModuleClosedNodes7= ModuleClosedNodes7=
NavigationStack=Visual Designer,login.bal,-100,3,Principal,cb_opcionEfectivo_CheckedChange,2852,0,Principal,b_abrirMesa_Click,1268,6,Principal,lv_historial_ItemClick,2861,4,Principal,b_leyendaDescuento_Click,3009,6,Main,b_envioBD_Click,184,0,Visual Designer,principal.bal,-100,6,Subs,revisaBD,205,0,Principal,b_imp2_Click,1975,0,Main,JobDone,254,0 ModuleClosedNodes8=
ModuleClosedNodes9=
NavigationStack=Principal,Activity_Create,211,6,Principal,b_mesaCerrar_Click,1340,0,Main,Process_Globals,30,0,appUpdater,Process_Globals,78,6,Principal,b_pagoCerrar_Click,1464,5,Principal,p_resItem_LongClick,3881,6,Principal,b_resumen_Click,3734,3,Principal,b_cambioPagos_Click,3900,3,Visual Designer,principal.bal,-100,6,Principal,llenaHistorial,1014,0
SelectedBuild=0 SelectedBuild=0
VisibleModules=6,5,7 VisibleModules=7,6,8

File diff suppressed because it is too large Load Diff

View File

@@ -32,6 +32,7 @@ Sub Process_Globals
Dim atrasPresionado As Boolean = False Dim atrasPresionado As Boolean = False
Dim cargaMeseros As Boolean = False Dim cargaMeseros As Boolean = False
Dim ticketFactura As Boolean Dim ticketFactura As Boolean
Dim muestraProgreso = 0
End Sub End Sub
Sub Service_Create Sub Service_Create