Build1=Default,lanterna2.keymon.lat,HU2_PUBLIC File1=candado.png File10=logoLanter2.bmp File11=logoLanterNegro.bmp File12=logoLanterNegro.png File13=logoLanterNegro2.bmp File14=principal.bal File15=proditem.bal File16=usuario.png File2=durakelo.png File3=engrane.png File4=engranes.png File5=Layout.bal File6=login.bal File7=logo.png File8=logoLanter.png File9=logoLanter_192x192.png FileGroup1=Default Group FileGroup10=Default Group FileGroup11=Default Group FileGroup12=Default Group FileGroup13=Default Group FileGroup14=Default Group FileGroup15=Default Group FileGroup16=Default Group FileGroup2=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~~\n~)~\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(~\n~ )~\n~CreateResource(xml, provider_paths,~\n~ ~\n~) Module1=DBRequestManager Module2=errorManager Module3=EscPosPrinter Module4=numeroATexto Module5=Principal Module6=Starter Module7=Subs NumberOfFiles=16 NumberOfLibraries=18 NumberOfModules=7 Version=12.8 @EndOfDesignText@ #Region Project Attributes #ApplicationLabel: Lanterna #VersionCode: 1 #VersionName: 4.04.18 '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 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 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") 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 End Sub Sub Activity_Resume 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 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( ' ) 'CreateResource(xml, provider_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, FileName) Dim email As Email email.To.Add("soporte@keymonsoft.com") email.Subject = "Envio Base de datos Mariana Censos" email.Attachments.Add(Provider.GetFileUri(FileName)) ' 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) 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")) 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)) 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")) 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 ($"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")) 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 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