Files
Lanterna_H/Lanterna2.b4a
Jose Alberto Guerra Ugalde 745eaa5aeb - 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.
2024-07-09 12:17:16 -06:00

484 lines
23 KiB
Plaintext

Build1=Default,lanterna_h.keymon.lat,HU2_PUBLIC
File1=candado.png
File10=logo.png
File11=logolanter.bmp
File12=logoLanter.png
File13=logoLanter_192x192.png
File14=logoLanter2.bmp
File15=logoLanterNegro.bmp
File16=logoLanterNegro.png
File17=logoLanterNegro2.bmp
File18=mainpage.bal
File19=mesasitem.bal
File2=durakelo.png
File20=principal.bal
File21=proditem.bal
File22=proditemcarrito.bal
File23=resumencont.bal
File24=resumenItem.bal
File25=usuario.png
File26=vecteezy_white-diagonal-stripes-with-red-line-isolated-on-white.png
File3=engrane.png
File4=engranes.png
File5=errormanager.bal
File6=formapago.bal
File7=kmt.db
File8=Layout.bal
File9=login.bal
FileGroup1=Default Group
FileGroup10=Default Group
FileGroup11=Default Group
FileGroup12=Default Group
FileGroup13=Default Group
FileGroup14=Default Group
FileGroup15=Default Group
FileGroup16=Default Group
FileGroup17=Default Group
FileGroup18=Default Group
FileGroup19=Default Group
FileGroup2=Default Group
FileGroup20=Default Group
FileGroup21=Default Group
FileGroup22=Default Group
FileGroup23=Default Group
FileGroup24=Default Group
FileGroup25=Default Group
FileGroup26=Default Group
FileGroup3=Default Group
FileGroup4=Default Group
FileGroup5=Default Group
FileGroup6=Default Group
FileGroup7=Default Group
FileGroup8=Default Group
FileGroup9=Default Group
Group=Default Group
Library1=appupdating
Library10=randomaccessfile
Library11=runtimepermissions
Library12=scrollview2d
Library13=serial
Library14=sql
Library15=stringutils
Library16=wobblemenu
Library17=xui
Library18=b4xtable
Library2=byteconverter
Library3=compressstrings
Library4=core
Library5=fileprovider
Library6=javaobject
Library7=json
Library8=okhttputils2
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~~\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=appUpdater
Module2=DBRequestManager
Module3=errorManager
Module4=EscPosPrinter
Module5=numeroATexto
Module6=Principal
Module7=Starter
Module8=Subs
Module9=updateAvailable
NumberOfFiles=26
NumberOfLibraries=18
NumberOfModules=9
Version=12.8
@EndOfDesignText@
#Region Project Attributes
#ApplicationLabel: Lanterna
#VersionCode: 1
#VersionName: 4.07.08
'SupportedOrientations possible values: unspecified, landscape or portrait.
#SupportedOrientations: landscape
#CanInstallToExternalStorage: False
'###########################################################################################################
'###################### PULL #############################################################
'Ctrl + click ide://run?file=%WINDIR%\System32\cmd.exe&Args=/c&Args=git&Args=pull
'###########################################################################################################
'###################### PUSH #############################################################
'Ctrl + click ide://run?file=%WINDIR%\System32\WindowsPowerShell\v1.0\powershell.exe&Args=github&Args=..\..\
'###########################################################################################################
'###################### PUSH TORTOISE GIT #########################################################
'Ctrl + click ide://run?file=%WINDIR%\System32\WindowsPowerShell\v1.0\powershell.exe&Args=TortoiseGitProc&Args=/command:commit&Args=/path:"./../"&Args=/closeonend:2
'###########################################################################################################
#End Region
#Region Activity Attributes
#FullScreen: False
#IncludeTitle: False
#End Region
Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
Private xui As XUI
Public Provider As FileProvider
End Sub
Sub Globals
'These global variables will be redeclared each time the activity is created.
Private i_logo As ImageView
Private p_configuracion As Panel
Private p_login As Panel
Private b_regresar As Button
Private b_entrar As Button
Private b_envioBD As Button
Private b_server As Button
Private ImageView4 As ImageView
Private ImageView2 As ImageView
Private Panel3 As Panel
Private Label1 As Label
Private i_conf As ImageView
Private b_cargaProductos As Button
Private ListView1 As ListView
Private E_SERVER As EditText
Dim reqManager As DBRequestManager
Private l_version As Label
Private p_botones As Panel
Private Label3 As Label
Private p_server As Panel
Private cb_impresionActiva As CheckBox
Private CheckBox1 As CheckBox
Private b_leyendaDescuento As Button
Private p_leyendaDescuento As Panel
Private b_reimprimirTicket As Button
Private b_fix As Button
Dim in As Intent
Dim intentUsado As Boolean = False
Private cb_importarDesdeWA As CheckBox
Dim habilitarImportarDesdeWA As Boolean = False
Private b_update As Button
End Sub
Sub Activity_Create(FirstTime As Boolean)
Activity.LoadLayout("login")
Subs.revisaBD
p_login.Width = Activity.Width
p_login.Height = Activity.Height
Subs.agregaColumna("cat_gunaprod", "CAT_PT_DESC", "TEXT")
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_MOD", "TEXT")
Subs.agregaColumna("cat_gunaprod", "CAT_GP_ORDEN_GRUPOS", "TEXT")
' 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("insert into cat_almacen (id_almacen) values ('1')")
l_version.Text = Application.VersionName
p_configuracion.Height = Activity.Height : p_configuracion.width = Activity.width
reqManager.Initialize(Me, Starter.DBReqServer)
Subs.centraEtiqueta(Label3, p_configuracion.Width)
Subs.centraPanel(p_server, p_configuracion.Width)
Subs.centraPanel(p_botones, p_configuracion.Width)
i_logo.Left = (Activity.Width / 2) - (i_logo.Width / 2)
Subs.centraPanel(Panel3, p_configuracion.Width)
' subs.panelVisible(p_configuracion, 0, 0)
Private x As Cursor = Starter.skmt.ExecQuery($"select * from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'DESCUENTO X EFECTIVO'"$)
If x.RowCount = 0 Then 'Insertamos el descuento para efectivo por default.
' Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("DESCUENTO X EFECTIVO"))
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("DESCUENTO X EFECTIVO","10"))
End If
Private z As ResultSet = Starter.skmt.ExecQuery2("select * from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As String ("IMPRESION_ACTIVA"))
If z.RowCount = 0 Then
Log("Guardamos impresion como true")
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("IMPRESION_ACTIVA", True))
End If
End Sub
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"))
Do While z.NextRow
Private ia As Boolean = False
If z.GetString("CAT_VA_VALOR") = 1 Then ia = True
Loop
cb_impresionActiva.Checked = ia
Starter.imprimirTicket = ia
importaBDDesdeWhatsApp
End Sub
Sub Activity_KeyPress (key As Int) As Boolean
' BACK key pressed
If key=KeyCodes.KEYCODE_BACK Then
If p_configuracion.Visible Then
p_configuracion.Visible = False
Else If p_login.Visible Then
ExitApplication
Else
p_configuracion.Visible = False
Subs.panelVisible(p_login, 0, 0)
End If
End If
Return True
' Returning False signals the system to handle the key
End Sub
Sub Activity_Pause (UserClosed As Boolean)
End Sub
Private Sub i_logo_Click
End Sub
Private Sub b_regresar_Click
p_configuracion.Visible = False
Subs.panelVisible(p_login, 0, 0)
End Sub
Private Sub b_entrar_Click
StartActivity(Principal)
End Sub
Private Sub b_server_Click
If E_SERVER.Text <> "" Then
Starter.DBReqServer = E_SERVER.text
Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("SERVER"))
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("SERVER", Starter.DBReqServer))
p_configuracion.Visible = False
reqManager.Initialize(Me, Starter.DBReqServer)
Starter.reqManager.Initialize(Me, Starter.DBReqServer)
' Log(E_SERVER.text)
Else
ToastMessageShow("Por favor ingrese la direccion del servidor", True)
End If
End Sub
'Enviamos la base de datos por correo o Whatsapp.
Private Sub b_envioBD_Click
'Hay que agregar las siguientes lineas al manifiesto:
'AddApplicationText(<Provider android:name="android.support.v4.content.FileProvider"
' android:authorities="$PACKAGE$.provider" android:exported="false"
' android:grantUriPermissions="true"><meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/provider_paths"/>
' </Provider>)
'CreateResource(xml, provider_paths,
' <paths><external-files-path name="name" path="" /><files-path name="name" path="" /><files-path name="name" path="shared" /></paths>
')
Dim Provider As FileProvider
Provider.Initialize
Dim FileName As String = "kmt.db"
'copy the shared file to the shared folder
Log("xxxxxx:"&Provider.SharedFolder)
Sleep(1000)
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("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
StartActivity(in)
End Sub
Private Sub i_conf_Click
ListView1.Clear
Dim Label1 As Label
Label1 = ListView1.SingleLineLayout.Label
Label1.TextSize = 20
Label1.TextColor = Colors.Black
' If user.Text = "KMTS1" Then ListView1.AddSingleLine("http://10.0.0.205:1781")
ListView1.AddSingleLine("http://keymon.lat:1782")
p_configuracion.Width = Activity.Width
p_configuracion.Height = Activity.Height
p_configuracion.BringToFront
Subs.panelVisible(p_configuracion, 0, 0)
Private z As ResultSet = Starter.skmt.ExecQuery2("select * from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As String ("IMPRESION_ACTIVA"))
Do While z.NextRow
If z.GetString("CAT_VA_VALOR") = 1 Then cb_impresionActiva.Checked = True
Loop
End Sub
Private Sub b_cargaProductos_Click
Log(Starter.DBReqServer)
' Dim cmd As DBCommand
' cmd.Initialize
' cmd.Name = "select_cat_gunaprod_GV2"
' cmd.Parameters = Array As Object(1)
' B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "gunaprod")
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "selectProds_Lanter"
reqManager.ExecuteQuery(cmd , 0, "selectProds")
cmd.Initialize
cmd.Name = "selectMesas_Lanter"
reqManager.ExecuteQuery(cmd , 0, "selectMesas")
cmd.Initialize
cmd.Name = "selectMeseros_Lanter"
reqManager.ExecuteQuery(cmd , 0, "selectMeseros")
End Sub
Private Sub ListView1_ItemClick (Position As Int, Value As Object)
Starter.DBReqServer = Value
E_SERVER.Text = Value
' Log(Starter.DBReqServer)
End Sub
Sub JobDone(Job As HttpJob)
Log("JOBDONE MAINPAGE")
If Job.Tag.As(String).StartsWith("_KMS_") Then Job.tag = Job.Tag.As(String).SubString(16)
If Job.Success = False Then
ToastMessageShow("Error: " & Job.ErrorMessage, True)
Else
If Starter.Logger Then LogColor("JobDone: '" & Starter.reqManager.HandleJob(Job).tag & "' - Registros: " & Starter.reqManager.HandleJob(Job).Rows.Size, Colors.Green) 'Mod por CHV - 211110
If Job.JobName = "DBRequest" Then
Dim result As DBResult = Starter.reqManager.HandleJob(Job)
If result.Tag = "selectProds" Then 'query tag
' If Starter.Logger Then Subs.logJobDoneResultados(result)
Starter.skmt.ExecNonQuery("delete from cat_gunaprod")
Starter.skmt.BeginTransaction
For Each records() As Object In result.Rows
' Log($"ID: ${records(result.Columns.Get("CAT_GP_ID"))}, NOM: ${records(result.Columns.Get("CAT_GP_NOMBRE"))}"$)
Dim CAT_GP_ID As String = records(result.Columns.Get("CAT_GP_ID"))
Dim CAT_GP_NOMBRE As String = records(result.Columns.Get("CAT_GP_NOMBRE"))
Dim CAT_GP_PRECIO As String = records(result.Columns.Get("CAT_GP_PRECIO"))
Dim CAT_GP_ALMACEN As String = 10000 'records(result.Columns.Get("CAT_GP_ALMACEN"))
Dim CAT_GP_IMG() As Byte = records(result.Columns.Get("CAT_GP_IMG"))
Dim CAT_GP_FECHA As String = records(result.Columns.Get("CAT_GP_FECHA"))
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"))
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_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
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,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,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
Starter.skmt.TransactionSuccessful 'Si no se pone TransactionSuccessful no se escribe NADA!!
Starter.skmt.EndTransaction
End If
If result.Tag = "selectMesas" Then 'query tag
' If Starter.Logger Then Subs.logJobDoneResultados(result)
Starter.skmt.ExecNonQuery("delete from CAT_MESAS")
Starter.skmt.BeginTransaction
For Each records() As Object In result.Rows
' Log($"ID: ${records(result.Columns.Get("M_ID"))}, NOM: ${records(result.Columns.Get("M_NOMBRE"))}"$)
Dim M_ID As String = records(result.Columns.Get("M_ID"))
Dim M_NOMBRE As String = records(result.Columns.Get("M_NOMBRE"))
Dim M_NUMERO As String = records(result.Columns.Get("M_NUMERO"))
Dim M_ZONA As String = records(result.Columns.Get("M_ZONA"))
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_MESAS(M_ID, M_NUMERO, M_NOMBRE, M_ZONA) VALUES (?,?,?,?)", Array As Object (M_ID, M_NUMERO, M_NOMBRE, M_ZONA))
Next
Starter.skmt.TransactionSuccessful 'Si no se pone TransactionSuccessful no se escribe NADA!!
Starter.skmt.EndTransaction
'Revisamos si con la carga de la información no se borró la info de alguna mesa abierta.
Private m As ResultSet = Starter.skmt.ExecQuery($"select distinct M_ID, PT_PAGO, PT_TICKET, PT_MESERO, PT_COMENSALES from PEDIDO_TICKET join CAT_MESAS on PT_MESA = M_ID where PT_PAGO = 'VENTA' and M_ESTATUS is null "$)
Log(m.RowCount)
Do While m.NextRow ' Si hay registros en pedido_ticket, entonces atualizamos CAT_MESAS con la info faltante.
Log($"${m.GetString("M_ID")}, ${m.GetString("PT_PAGO")}, ${m.GetString("PT_TICKET")}, ${m.GetString("PT_MESERO")}, ${m.GetString("PT_COMENSALES")}"$)
Starter.skmt.ExecNonQuery($"update CAT_MESAS set M_ESTATUS = 'ABIERTA', M_TICKET = '${m.GetString("PT_TICKET")}', M_MESERO = '${m.GetString("PT_MESERO")}', M_COMENSALES = '${m.GetString("PT_COMENSALES")}' where M_ID = '${m.GetString("M_ID")}' "$)
Loop
End If
If result.Tag = "selectMeseros" Then 'query tag
' If Starter.Logger Then Subs.logJobDoneResultados(result)
Starter.skmt.ExecNonQuery("delete from CAT_MESEROS")
Starter.skmt.BeginTransaction
For Each records() As Object In result.Rows
' Log($"ID: ${records(result.Columns.Get("MS_ID"))}, NOM: ${records(result.Columns.Get("MS_NOMBRE"))}"$)
Dim MS_ID As String = records(result.Columns.Get("MS_ID"))
Dim MS_NOMBRE As String = records(result.Columns.Get("MS_NOMBRE"))
Dim MS_MESAS_ASIGNADAS As String = records(result.Columns.Get("MS_MESAS_ASIGNADAS"))
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_MESEROS(MS_ID, MS_NOMBRE, MS_MESAS_ASIGNADAS) VALUES (?,?,?)", Array As Object (MS_ID, MS_NOMBRE, MS_MESAS_ASIGNADAS))
Next
Starter.skmt.TransactionSuccessful 'Si no se pone TransactionSuccessful no se escribe NADA!!
Starter.skmt.EndTransaction
' If Principal.cb_mesero.IsInitialized Then Principal.cb_mesero.SetItems(Subs.traeMeserosLista)
Starter.cargaMeseros = True
End If
End If
End If
ToastMessageShow("¡Información cargada!", False)
Job.Release
End Sub
Private Sub b_entrar_LongClick
' Dim a As Int = "a"
' Subs.alineaDerecha(NumberFormat2(1450, 1, 2, 2, True), 30, ".")
End Sub
Private Sub user_TextChanged (Old As String, New As String)
If New.Trim = "KMTS1" Then i_conf.Visible = True Else i_conf.Visible = False
End Sub
Private Sub cb_impresionActiva_CheckedChange(Checked As Boolean)
Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("IMPRESION_ACTIVA"))
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("IMPRESION_ACTIVA", Checked))
End Sub
Private Sub b_leyendaDescuento_Click
End Sub
Private Sub b_reimprimirTicket_Click
End Sub
Private Sub b_fix_Click
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 = 'Mifel' where PT_PAGO2 is null "$)
ToastMessageShow("LISTO", True)
End Sub
' Se revisa si hay una intención (intent) de abrir una base de datos y si es así, entonces se importa esa base de datos.
Sub importaBDDesdeWhatsApp
' Private tmpBDWA As Boolean = traeUsarIntentBDWA
habilitarImportarDesdeWA = True
If Not(in.IsInitialized) Then in = Activity.GetStartingIntent ' Si se usa esta funcion en Mainpage, se pone "Me" en lugar de B4XPages.MainPage.
If Not(intentUsado) And in <> Null Then
' Log(in)
intentUsado = True
' Log(in.As(String))
If in.GetData <> Null Then
If habilitarImportarDesdeWA Then
Dim XmlData As String
XmlData = in.GetData
Try
Dim OutStr As OutputStream = File.OpenOutput(File.DirInternal,"kmt.db",False)
Dim InStr As InputStream = File.OpenInput("ContentDir",XmlData)
File.Copy2(InStr,OutStr)
LogColor("BD copiada a interna.", Colors.Blue)
OutStr.Close
If in.As(String).Contains("whatsapp") Then ToastMessageShow("BD cargada desde Whatsapp", False)
Catch
Log(LastException)
End Try
Else
ToastMessageShow("NO se cargo la BD, por favor habilitar la opción en la configuración.", False)
End If
End If
End If
End Sub
Private Sub cb_importarDesdeWA_CheckedChange(Checked As Boolean)
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