B4A=true Group=Default Group ModulesStructureVersion=1 Type=Class Version=9.85 @EndOfDesignText@ #Region Shared Files 'Ctrl + click to sync files: ide://run?file=%WINDIR%\System32\Robocopy.exe&args=..\..\Shared+Files&args=..\Files&FilesSync=True '########################################################################################################### '###################### 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 'Ctrl + click to export as zip: ide://run?File=%B4X%\Zipper.jar&Args=Project.zip Sub Class_Globals Private Root As B4XView Private xui As XUI Public login As B4XMainPage Public principal As C_Principal 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 Dim atrasPresionado As Boolean = False Private cb_impresionActiva As CheckBox Private CheckBox1 As CheckBox Private b_leyendaDescuento As Button Private p_leyendaDescuento As Panel End Sub Public Sub Initialize ' B4XPages.GetManager.LogEvents = True End Sub 'This event will be called once, before the page becomes visible. Private Sub B4XPage_Created (Root1 As B4XView) Subs.revisaBD Root = Root1 Root.LoadLayout("login") login.Initialize B4XPages.AddPage("Login", login) principal.Initialize B4XPages.AddPage("Principal", principal) p_login.Width = Root.Width p_login.Height = Root.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 = Root.Height : p_configuracion.width = Root.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 = (Root.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 B4XPage_Appear 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 Private Sub B4XPage_CloseRequest As ResumableSub ' BACK key pressed 'Return True to close, False to cancel Log("BACK") If p_configuracion.Visible Then p_configuracion.Visible = False Return False Else If atrasPresionado Then ExitApplication 'Solo salimos de la aplicación si se presiona 'Atras' 2 veces seguidas. ToastMessageShow("Presiona 'Atras' nuevamente para salir de la aplicación.", False) atrasPresionado = True End If Return False End Sub 'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. 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 B4XPages.ShowPage("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 Private Sub b_envioBD_Click 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 = Root.Width p_configuracion.Height = Root.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 B4XPages.MainPage.principal.cb_mesero.IsInitialized Then B4XPages.MainPage.principal.cb_mesero.SetItems(Subs.traeMeserosLista) 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