B4A=true Group=Default Group ModulesStructureVersion=1 Type=Class Version=9.85 @EndOfDesignText@ #Region Shared Files #CustomBuildAction: folders ready, %WINDIR%\System32\Robocopy.exe,"..\..\Shared Files" "..\Files" 'Ctrl + click to sync files: ide://run?file=%WINDIR%\System32\Robocopy.exe&args=..\..\Shared+Files&args=..\Files&FilesSync=True B4XPages.GetManager.LogEvents = True #End Region 'Ctrl + click to export as zip: ide://run?File=%B4X%\Zipper.jar&Args=Project.zip Sub Class_Globals Private fx As JFX Private Root As B4XView Public Tool As tools ' Private InputJar As String = "/users/username/Downloads/AngryBirds.jar" ' Private lblNombre As Label Private tblMain As TableView ' Private lblNext As Label ' Private lblPrev As Label Private pgHorarios As pg2 Private pgTarjetas As pg3 Private TextField2 As TextField Private TextField3 As TextField Public connectionMap As Map Public nombre_boleteria, Parada_incial , Sentido_boleteria As String Private Label16 As Label Private L_fecha_delsistama As Label Private L_nombre_boleteria As Label Public Parada_guia As String ' Public PArada_estado Private Msgbox As Msgboxes Private L_sentido As Label Private padada_destino As Label Private L_linea_asignada As Label Private L_codigo_linea As Label Private L_hora_salida As Label Private L_hora_pasa As Label Public L_Precio,L_precio1,L_precio2, L_precio3, L_precio4, L_precio5 As Double = 0.0 Public Hora_sale As String Public Hora_pasa As String Public codigo_linea As String Public Nombre_linea As String Public Sentido_linea As String Private Bus_paradas1 As String Private Bus_paradas2 As String Private Bus_paradas3 As String Private L_monto_boleto As Label Dim Asys As JavaObject Private Canvas9 As Canvas Private L_precioA1 As Label Private L_precioA2 As Label Private L_precioA3 As Label Private L_precioA4 As Label Private L_precioA5 As Label Public codigo_operadoras As String Public nombredeparada As String Public Operadora_nombre As String Public Operadora_Tel As String Public Operadora_NDI As String Public Operadora_Fecha As String Public Operadora_Estado As String Public Parada_estado As String Public horarios_vigente As String Public letrasemanada As String Public estadohorario As String Public L_operadora As Label Private DatePicker1 As DatePicker Public Fecha_elejida As String Public Fecha_Sistema As String Private DetailsCmb As ComboBox Public L_precio_multiplica As Label Public Precio As Double Public Precio1 As Double Public Precio2 As Double Public Precio3 As Double Public Precio4 As Double Public Precio5 As Double Public Achivoventas As String Public hora_estado As String Public Impresora As String = "T20" 'printer IP Private Impresora As String = "T20" Public infocabeceras As Map Public Autoriza_cabe As String Public infobilletes As Map Private cadena_referencia As String Public maquina As String Public Serial As String ' Public main.datos_cabceras As KeyValueStore ' Public main.datos_tiquetes As KeyValueStore Private Label15 As Label Public Modelo_horario As String Private Label25 As Label Private Pane5 As Pane Public LiquidProgress1 As LiquidProgress Public Toast As ToastMessageShow Private Tipo_tarifa As Label ' Public Page2 As pg2 ' Public Page3 As pg3 Public page4 As crokis Public usuario As String = "0000" Public Bus_placa As String = "LB-SITU001" Public VersionOS As String Public Formatter As B4XFormatter Public Toast As ToastMessageShow End Sub Public Sub Initialize Formatter.Initialize Dim DefaultFormat As B4XFormatData = Formatter.GetDefaultFormat DefaultFormat.MaximumFractions = 2 DefaultFormat.MinimumFractions = 2 ' Asys.InitializeStatic("javax.sound.sampled.AudioSystem") Tool.Initialize Tool.versionjava ' Tool.Asientod Fecha_elejida = DateTime.Date( DateTime.Now ) 'log(("fecha_elejida "& DateTime.Now) Dim cadena As String = "22,45" Calcula_horas(cadena ) ' creaFuncion ' cierrahoras If File.Exists(File.DirApp,"connectionMap.txt") Then ''' connectionMap = File.ReadMap(File.DirApp,"connectionMap.txt") Else connectionMap.Initialize connectionMap.Put("Parada","1") connectionMap.Put("Nombre","Boleteria demo S.I.T.U.") connectionMap.Put("Sentido","I") File.WriteMap(File.DirApp,"connectionMap.txt",connectionMap) Log("connection file created, please modify it as per your requirements") End If nombre_boleteria = connectionMap.Get("Nombre") Parada_incial = connectionMap.Get("Parada") Sentido_boleteria = connectionMap.Get("Sentido") DateTime.DateFormat = "dd/MM/yyyy" ' RedirectOutput(File.DirApp , "ServerTaq.log") 'Tool.USB VersionOS = Tool.DetectOS End Sub 'This event will be called once, before the page becomes visible. Private Sub B4XPage_Created (Root1 As B4XView) Root = Root1 ' Root.LoadLayout("MainPage") Select VersionOS Case "windows" Root.LoadLayout("takillamain") Case "mac" Root.LoadLayout("takillamac") Case "linux" Root.LoadLayout("takillamain") End Select ' Page2.Initialize ' B4XPages.AddPage("Page 2", Page2) ' Page3.Initialize ' B4XPages.AddPage("Page 3",Page3) page4.Initialize B4XPages.AddPage("croquis",page4) Toast.Initialize("Toast") Toast.ToastIconSize48x48 Toast.ToastDuration = .3 'Toast.TOAST_LONG_DELAY Toast.ToastTextLocation = Toast.TEXT_CENTER Toast.ToastLocation = Toast.TOAST_CENTER ' Toast.ToastNotificationOwner =Root 'this declaration Important Dim form As Form = B4XPages.GetNativeParent(Me) Dim joForm As JavaObject = form Dim joStage As JavaObject = joForm.GetField("stage") joStage.RunMethod("setMaximized",Array(True)) Main.datos_cabceras.Initialize(File.DirApp, "cabeceras") Main.datos_tiquetes.Initialize(File.DirApp, "tiquetes") TextField2.Text="" TextField2.RequestFocus B4XPages.SetTitle(Me,"S.I.T.U. Sistema de takilla version 1.45 (c)2020") AddKeyPressedListener ' Fecha_elejida = Fecha_elejida crea_archivos 'log(("Archivo al inicio de ventas "&Achivoventas) Crea_Ventas_dia Crea_usario_ventas Crea_cabecera Label16.Text = nombre_boleteria L_fecha_delsistama.text = DateTime.Date(DateTime.Now) L_nombre_boleteria.text = Parada_incial Main.datos_cabceras.PutSimple("parada_incial",Parada_incial) L_sentido.Text="Sentido: "&Sentido_boleteria Main.datos_cabceras.PutSimple("nombre_boleteria",nombre_boleteria) Main.datos_cabceras.PutSimple("sentido_boleteria",Sentido_boleteria) busc_origen 'origen real de Taquilla Dim pgHorarios As pg2 pgHorarios.Initialize B4XPages.AddPage("pageHorarios", pgHorarios) Dim pgTarjetas As pg3 pgTarjetas.Initialize B4XPages.AddPage("pageTarjetas", pgTarjetas) Qr crea_archivos LoadCombo ' incia_cabeceras incia_billetes DatePicker1.DateTicks = DateTime.Now ' Crea_autorizacion ' ' If Autoriza_cabe="NO" Then ' Errosonido ' main.xui.MsgboxAsync("imposible crear cabeceras","Error 034-autoriza ") ' Return ' End If Label25.Text=Autoriza_cabe Toast.ToastDuration = 1 Label25.text = Tool.IP& " OS "& VersionOS & " "& Tool.versionjava End Sub Sub Asientos End Sub Sub limpa_precios L_precioA1.text = Formatter.Format(0)' NumberFormat2(0, 0, 2, 2, False) L_precioA2.text = Formatter.Format(0)' NumberFormat2(0, 0, 2, 2, False) L_precioA3.text = Formatter.Format(0)' NumberFormat2(0, 0, 2, 2, False) L_precioA4.text = Formatter.Format(0) ' NumberFormat2(0, 0, 2, 2, False) L_precioA5.text = Formatter.Format(0) ' NumberFormat2(0, 0, 2, 2, False) Precio = 0 Tipo_tarifa.text = "Regular" L_monto_boleto.text =Formatter.Format(0) L_precio_multiplica.Text= Formatter.Format(0) End Sub Sub AddKeyPressedListener Dim r As Reflector r.Target =Root r.AddEventHandler("keypressed", "javafx.scene.input.KeyEvent.KEY_PRESSED") End Sub Sub KeyPressed_Event (e As Event) Dim jo As JavaObject = e Dim keycode As String = jo.RunMethod("getCode", Null) Log(keycode) If keycode = "ESCAPE" Or keycode = "C" Then Else If keycode = "Y" Then Else If keycode = "N" Then End If If keycode="A" Then Tool.Asientod End If If keycode="F5" Then Errosonido ("plop.mp3") Precio = Precio5 Tipo_tarifa.text = "AD_MAyor" L_monto_boleto.Text = Formatter.Format( Precio)' NumberFormat2( Precio, 0, 2, 2, False) End If If keycode="F1" Then Errosonido ("plop.mp3") Precio = Precio1 Tipo_tarifa.text = "Policia" L_monto_boleto.Text = Formatter.Format( Precio) 'NumberFormat2( Precio, 0, 2, 2, False) Dim j As Shell j.InitializeDoNotHandleQuotes("notify","osascript",Array As String("-e",$"display notification "New notification" with title "Title" sound name "Funk""$)) j.Run(-1) End If If keycode="F2" Then Errosonido ("plop.mp3") Precio = Precio2 Tipo_tarifa.text = "Cortesia" L_monto_boleto.Text =Formatter.Format( Precio) 'NumberFormat2( Precio, 0, 2, 2, False) End If If keycode="F3" Then Errosonido ("plop.mp3") Precio = Precio3 Tipo_tarifa.text = "Empleado" L_monto_boleto.Text = Formatter.Format( Precio) 'NumberFormat2( Precio, 0, 2, 2, False) End If If keycode="F4" Then Errosonido ("plop.mp3") Precio = Precio4 Tipo_tarifa.text = "Familiar" L_monto_boleto.Text = Formatter.Format( Precio)' NumberFormat2( Precio, 0, 2, 2, False) End If End Sub 'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. Sub Limpia TextField2.Text= "" TextField2.RequestFocus TextField2.Text= "" End Sub private Sub B4XPage_Appear ' Dim xrs As ResumableSub = Main.testConnection ' wait for (xrs) complete (connected As Boolean) ' ' ' ' Log( Main.Conectado_server&"---------------------------------------------------**") ' If Main.Conectado_server = False Then ' ' If Main.Z60 == True Then ' Main.tina160.beep(50) ' Main.tina160.beep(150) ' Main.tina160.beep(250) ' End If ' ' ' Label25.Text = "NO SE CONECTO AL SERVER, REVISE O LLAME AL ADMINISTRADOR ERROR NHS-1001-2012" ' Label25.TextColor= fx.Colors.From32Bit(0xFFFF0000) ' ' ' Else ' ' Label25.text = Tool.IP& " OS "& VersionOS & " "& Tool.versionjava ' ' End If ' ' ' ' ' If Main.Conectado_server = False Then ' 'Main.xui.MsgboxAsync("No hay conexion al servidor","Error, Avise al Administrador") ' Toast.ToastShow4("Informacion de coneccion ","No se pudo conectar al server",Toast.TOAST_WARNING_ICON) ' 'ExitApplication ' End If ' ' If Not(connected) Then ' Main.xui.MsgboxAsync("No hay conexion al servidor","Error") ' Return ' End If Dim m As Map m.Initialize m.Put("method","ventas") m.Put("archivo",Achivoventas) m.Put("usuario","0000") Dim j As HttpJob j.Initialize("",Me) j.PostBytes("http://" & Main.endPoint & "/appcom",Main.raf.ConvertObjectToBytes(m)) tblMain.Items.Clear wait for (j) JobDone (j As HttpJob) If j.Success Then Dim payload() As Byte = Bit.InputStreamToBytes(j.GetInputStream) Dim answer As Map = Main.raf.ConvertBytesToObject(payload) Dim columns As List = answer.Get("columns") Dim rows As List = answer.Get("data") Dim columnae(columns.Size) As String For i = 0 To columns.Size - 1 columnae(i) = columns.Get(i) columnae(i) = columnae(i).ToUpperCase Next tblMain.SetColumns(columnae) tblMain.Items.AddAll(rows) tblMain.SetColumnSortable(1, False) tblMain.SetColumnSortable(2, False) tblMain.SetColumnSortable(3, False) tblMain.SetColumnSortable(4, False) tblMain.SetColumnSortable(5, False) tblMain.SetColumnSortable(6, False) tblMain.SetColumnSortable(7, False) tblMain.SetColumnSortable(8, False) tblMain.SetColumnSortable(9, False) tblMain.SetColumnSortable(10, False) tblMain.SetColumnSortable(12, False) tblMain.SetColumnSortable(13, False) tblMain.SetColumnWidth(1,60) tblMain.SetColumnWidth(2,80) tblMain.SetColumnWidth(3,80) tblMain.SetColumnWidth(4,80) tblMain.SetColumnWidth(5,80) tblMain.SetColumnWidth(6,80) tblMain.SetColumnWidth(7,80) tblMain.SetColumnWidth(8,80) tblMain.SetColumnWidth(9,80) tblMain.SetColumnWidth(10,80) tblMain.SetColumnWidth(11,80) tblMain.SetColumnWidth(12,80) SetColumnStyle(1, "-fx-alignment: CENTER;") SetColumnStyle(2, "-fx-alignment: CENTER;") SetColumnStyle(3, "-fx-alignment: CENTER;") SetColumnStyle(4, "-fx-alignment: CENTER;") SetColumnStyle(5, "-fx-alignment: CENTER;") SetColumnStyle(6, "-fx-alignment: CENTER;") SetColumnStyle(7, "-fx-alignment: CENTER;") SetColumnStyle(8, "-fx-alignment: CENTER;") SetColumnStyle(9, "-fx-alignment: CENTER;") SetColumnStyle(10, "-fx-alignment: CENTER;") SetColumnStyle(11, "-fx-alignment: CENTER;") SetColumnStyle(12, "-fx-alignment: CENTER;") ' EDITA CELTAS CIN EL CLICK ' tblMain.SingleCellSelection = True End If End Sub Private Sub TableView1_KeyPressed_Event(e As Event) End Sub Sub label_MouseClicked (EventData As MouseEvent) Main.xui.MsgboxAsync("Label :" & tblMain.Tag," ") If EventData.ClickCount = 1 Then 'log(("Label :" & tblMain.Tag) End If End Sub private Sub Crea_cabecera Dim m As Map m.Initialize m.Put("method","cabecera") m.Put("archivo","cabecera") Dim j As HttpJob j.Initialize("",Me) j.PostBytes("http://" & Main.endPoint & "/appcom",Main.raf.ConvertObjectToBytes(m)) wait for (j) JobDone (j As HttpJob) If j.Success Then 'log(("si fue exitoso") Else 'log(("Error") End If End Sub private Sub Crea_Ventas_dia crea_archivos 'log(("Fecha_elejida elejica crea ventas dia-----------"&Fecha_elejida) Dim m As Map m.Initialize m.Put("method","ventas_dia") m.Put("archivo_ventas",Achivoventas ) Dim j As HttpJob j.Initialize("",Me) j.PostBytes("http://" & Main.endPoint & "/appcom",Main.raf.ConvertObjectToBytes(m)) wait for (j) JobDone (j As HttpJob) If j.Success Then 'log(("si fue exitoso") Else 'log(("Error") End If End Sub private Sub Crea_usario_ventas Dim m As Map m.Initialize m.Put("method","usuario_ventas") m.Put("archivo_ventas","9111 ") Dim j As HttpJob j.Initialize("",Me) j.PostBytes("http://" & Main.endPoint & "/appcom",Main.raf.ConvertObjectToBytes(m)) wait for (j) JobDone (j As HttpJob) If j.Success Then 'log(("si fue exitoso") Else 'log(("Error") End If End Sub Sub lblPrev_MouseClicked (EventData As MouseEvent) B4XPages.ShowPage("pageHorarios") End Sub Sub lblNext_MouseClicked (EventData As MouseEvent) B4XPages.ShowPage("pageTarjetas") End Sub Private Sub TextField2_TextChanged (Old As String, New As String) ' Dim m As Map ' m.Initialize ' m.Put("method","buscar_parada") ' m.Put("archivo","paradas") ' m.Put("buscarparada",TextField2.text) ' ' Dim j As HttpJob ' j.Initialize("",Me) ' j.PostBytes("http://" & Main.endPoint & "/appcom",Main.raf.ConvertObjectToBytes(m)) ' ' wait for (j) JobDone (j As HttpJob) ' ' If j.Success Then ' 'log(("si fue exitoso busqueda de parada") ' Dim payload() As Byte = Bit.InputStreamToBytes(j.GetInputStream) ' Dim answer As Map = Main.raf.ConvertBytesToObject(payload) ' ' If answer.containskey("message") Then ' 'log(("no hay datos") ' Return ' End If ' ' Dim codigo As String = answer.get("codigo") ' Dim nombre As String = answer.get("nlargo") ' Dim nguia As String = answer.get("nguia") ' Dim estado As String = answer.get("estado") ' ' 'log(( codigo ) ' 'log(( nombre ) ' 'log(( nguia ) ' 'log(( estado ) ' ' ' 'log(( codigo ) ' Else ' 'log(("no fue exitoso busqueda de parada") ' ' End If End Sub private Sub TextField2_Action cambiacolororg ' If DateTime.Date(DatePicker1.DateTicks) < DateTime.Date(now Then ' Errosonido ' main.xui.MsgboxAsync("Error con fecha, solo puede vender a fechas futuras","Fecha elejida es invalida") ' TextField2.text="" ' TextField2.RequestFocus ' Return ' ' End If ' Dim m As Map m.Initialize m.Put("method","buscar_parada") m.Put("archivo","paradas") m.Put("buscarparada",TextField2.text) Dim j As HttpJob j.Initialize("",Me) j.PostBytes("http://" & Main.endPoint & "/appcom",Main.raf.ConvertObjectToBytes(m)) wait for (j) JobDone (j As HttpJob) If j.Success Then 'log(("si fue exitoso busqueda de parada") Dim payload() As Byte = Bit.InputStreamToBytes(j.GetInputStream) Dim answer As Map = Main.raf.ConvertBytesToObject(payload) If answer.containskey("message") Then padada_destino.Text = "<<< No existe parada >>>" Errosonido ("plop.mp3") ' Dim message As String ' message = "Codigo digitado "& TextField2.text& " <<< NO EXISTE >>> " ' main.xui.MsgboxAsync(message ,"Digite parada valida, utilize listado paradas / Ayuda") Toast.ToastTitleColor = fx.Colors.From32Bit(0xFFFFFFFF) Toast.ToastMessageColor = fx.Colors.From32Bit(0xFFFFFFFF) Toast.ToastShow4("Verifique codigo","Digite parada valida, utilize listado paradas / Ayuda",Toast.TOAST_WARNING_ICON) Label25.Text= "Codigo de parada no existe, digite codigo valido o imprima listado de paradas" TextField2.text="" TextField2.RequestFocus TextField3.Text="" limpa_precios Return End If Dim columnas As List = answer.Get("columns") Dim filas As List = answer.Get("rows") ' For i = 0 To filas.Size -1 Dim fila() As Object = filas.Get(i) ' Dim codigo As String = fila(columnas.IndexOf("codigo")) ' Dim nombre As String = fila(columnas.IndexOf("nlargo")) ' Dim nguia As String = fila(columnas.IndexOf("nguia")) ' Dim estado As String = fila(columnas.IndexOf("estado")) padada_destino.Text = fila(columnas.IndexOf("nlargo")) nombredeparada = fila(columnas.IndexOf("nlargo")) Parada_guia = fila(columnas.IndexOf("nguia")) Parada_estado = fila(columnas.IndexOf("estado")) Horaraio_disponible ' incia_cabeceras ' incia_billetes graba_evento_cebecera TextField3.Text= 0 TextField3.RequestFocus Qr Next Else 'log(("no fue exitoso busqueda de parada") TextField3.Text= 0 TextField3.RequestFocus End If 'log((Fecha_elejida) LoadCombo cambiacolororg Precio = Precio Tipo_tarifa.text = "Regular" L_monto_boleto.Text = Formatter.Format( Precio) 'NumberFormat2( Precio, 0, 2, 2, False) End Sub Private Sub cambiacolororg ' Pane5.Style="-fx.Colors.From32Bit(0xFFFF5200)" ' Label16.Style = "fx.Colors.From32Bit(0xFFFF6A00)" Label16.TextColor= fx.Colors.From32Bit(0xFFFF6E00) End Sub Private Sub cambiacolordif ' Pane5.Style="-fx-background-color : 0xFF310101" Label16.Style="-fx-background-color : 0xFFFF6B01" ' Label16.TextColor = fx.Colors.From32Bit(0xFFFF000A) End Sub private Sub busc_origen Dim m As Map m.Initialize m.Put("method","buscar_parada") m.Put("archivo","paradas") m.Put("buscarparada",Parada_incial) 'log((Parada_incial& "buscando origen de boleteria") Dim j As HttpJob j.Initialize("",Me) j.PostBytes("http://" & Main.endPoint & "/appcom",Main.raf.ConvertObjectToBytes(m)) wait for (j) JobDone (j As HttpJob) If j.Success Then 'log(("si fue exitoso busqueda de parada") Dim payload() As Byte = Bit.InputStreamToBytes(j.GetInputStream) Dim answer As Map = Main.raf.ConvertBytesToObject(payload) If answer.containskey("message") Then ' Msgbox.Dia'log(Type = "INFO" ' this is the default. ACCEPT, ERROR, INFO and QUESTION are accepted 'log(("no hay datos") Errosonido ("plop.mp3") Toast.ToastDuration = 1 Toast.ToastTitleColor = fx.Colors.From32Bit(0xFFFFFFFF) Toast.ToastMessageColor = fx.Colors.From32Bit(0xFFFFFFFF) Toast.ToastShow4("Error fatal","Codigo de parada origen no existe",Toast.TOAST_WARNING_ICON) Label25.Text= "Esto ocurre cuando el codigo definido esta boleteria no existe, Verifique con el Administrados" ExitApplication Return End If Dim columnas As List = answer.Get("columns") Dim filas As List = answer.Get("rows") For i = 0 To filas.Size -1 Dim fila() As Object = filas.Get(i) ' Dim codigo As String = fila(columnas.IndexOf("codigo")) ' Dim nombre As String = fila(columnas.IndexOf("nlargo")) L_nombre_boleteria.Text = fila(columnas.IndexOf("nlargo")) ' 'log((codigo) ' 'log((nombre) Next Else 'log(("no fue exitoso busqueda de parada") End If End Sub Private Sub TextField3_Action If Tipo_tarifa.Text.Trim <> "Regular" Then TextField3.Text=1 End If L_monto_boleto.text =Formatter.Format(Precio) L_precio_multiplica.Text= Formatter.Format(TextField3.Text * Precio) TextField2.RequestFocus TextField2.Text="" End Sub private Sub Horaraio_disponible Log("entro ahorarios ") Log("PArada inicial "&Parada_incial) Dim m As Map m.Initialize m.Put("method","Horario_disponible") m.Put("archivo","horarios") m.Put("raiz","'%," &TextField2.text &",%'") m.Put("buscarparada",Parada_incial) If Sentido_boleteria= "I" Then Sentido_boleteria= "Ida" If Sentido_boleteria= "V" Then Sentido_boleteria= "Vue" m.Put("sentido",Sentido_boleteria) 'log((Parada_incial& "buscando origen de boleteria") Dim j As HttpJob j.Initialize("",Me) j.PostBytes("http://" & Main.endPoint & "/appcom",Main.raf.ConvertObjectToBytes(m)) wait for (j) JobDone (j As HttpJob) If j.Success Then 'log(("si fue exitoso busqueda de horarios") Dim payload() As Byte = Bit.InputStreamToBytes(j.GetInputStream) Dim answer As Map = Main.raf.ConvertBytesToObject(payload) If answer.containskey("message") Then ' Dim message, title As String ' message = "No hay Horarios <<< Disponibles >>> " ' title = "Debe de crear un horario extra, Opciones del Takilla / Ayuda" ' Msgbox.Show(message, title) TextField2.text="" TextField2.RequestFocus TextField2.text="" TextField2.RequestFocus L_linea_asignada.Text = "NO HAY" L_sentido.Text = "**" L_codigo_linea.Text = "XXX" L_hora_salida.Text = "XX-XX" L_hora_pasa.Text = "XX:XX" L_operadora.text = "NO diponible" TextField2.text="" horror1 Return End If Dim columnas As List = answer.Get("columns") Dim filas As List = answer.Get("rows") LiquidProgress1.Value= filas.Size For i = 0 To filas.Size -1 Dim fila() As Object = filas.Get(i) Hora_sale = fila(columnas.IndexOf("hora_sale")) Hora_pasa = fila(columnas.IndexOf("hora_pasa")) codigo_linea = fila(columnas.IndexOf("linea")) Nombre_linea = fila(columnas.IndexOf("nombre")) Sentido_linea = fila(columnas.IndexOf("sentido")) Bus_paradas1 = fila(columnas.IndexOf("paradas1")) Bus_paradas2 = fila(columnas.IndexOf("paradas2")) Bus_paradas3 = fila(columnas.IndexOf("paradas3")) horarios_vigente = fila(columnas.IndexOf("dia")) Modelo_horario = fila(columnas.IndexOf("modelo")) Operadora_nombre = fila(columnas.IndexOf("nombreo")) Operadora_Tel = fila(columnas.IndexOf("telefonoo")) Operadora_NDI = fila(columnas.IndexOf("NDIo")) Operadora_Fecha = fila(columnas.IndexOf("fechao")) Operadora_Estado = fila(columnas.IndexOf("estadoo")) Main.datos_cabceras.PutSimple("hora_sale",Hora_sale) Main.datos_cabceras.PutSimple("hora_pasa",Hora_pasa) Main.datos_cabceras.PutSimple("codigo_linea",codigo_linea) Main.datos_cabceras.PutSimple("Nombre_linea",Nombre_linea) Main.datos_cabceras.PutSimple("Sentido_lines",Sentido_linea) Main.datos_cabceras.PutSimple("operadora",Operadora_nombre) Main.datos_cabceras.PutSimple("operadora_tel",Operadora_Tel) Main.datos_cabceras.PutSimple("operadora_fecha",Operadora_Fecha) Main.datos_cabceras.PutSimple("operadora_estado",Operadora_Estado) Dim buscar As String = Bus_paradas1.trim&Bus_paradas2.trim&Bus_paradas3.trim Dim cadena As String =","&TextField2.text Dim Resultado As Int = buscar.indexof(cadena) Label25.Text = "Buscando "&cadena & " en " &buscar &" resultado" & Resultado & " " & codigo_linea If Resultado <> -1 Then Log(Hora_pasa &" "&codigo_linea) L_linea_asignada.Text = Nombre_linea L_sentido.Text = Sentido_linea L_codigo_linea.Text = codigo_linea L_hora_salida.Text = Hora_sale L_hora_pasa.Text = Hora_pasa L_operadora.text = Operadora_nombre dia_semana( horarios_vigente) If estadohorario= "Si" Then buscar_precios ' crea autorizacion segun horarios cadena_referencia = Hora_sale _ &Hora_pasa _ & codigo_linea _ & Sentido_linea _ &Serial&maquina _ &Modelo_horario _ Log(cadena_referencia& "cadena de referencia") Crea_autorizacion Label25.Text = Autoriza_cabe If Autoriza_cabe="NO" Then Errosonido ("tono1.mp3") Main.xui.MsgboxAsync("imposible crear cabeceras","Error 034-autoriza ??") Return End If Return End If End If Next TextField2.text=0 TextField2.RequestFocus L_linea_asignada.Text = "NO HAY" L_sentido.Text = "**" L_codigo_linea.Text = "XXX" L_hora_salida.Text = "XX-XX" L_hora_pasa.Text = "XX:XX" L_operadora.text = "NO diponible" horror1 Return Else 'log(("no fue exitoso busqueda de parada") End If End Sub Private Sub horror1 Errosonido ("tono1.mp3") Toast.ToastTitleColor = fx.Colors.From32Bit(0xFFFFFFFF) Toast.ToastMessageColor = fx.Colors.From32Bit(0xFFFFFFFF) Toast.ToastShow4("Información","Posibles opciones lea con atencion linea advertencias ?",Toast.TOAST_INFO_ICON) Label25.text= "Esta boleteria no puede vender a "& nombredeparada.Trim &" tampoco tiene horarios disponibles Revise manuales de ayuda error (1003,104,345-NEH)" limpa_precios End Sub private Sub buscar_precios Log("1---------- "&TextField2.Text) If TextField2.Text = "" Then Errosonido ("plop.mp3") Toast.ToastTitleColor = fx.Colors.From32Bit(0xFFFFFFFF) Toast.ToastMessageColor = fx.Colors.From32Bit(0xFFFFFFFF) Toast.ToastShow4("Informacion ","Codigo de parada origen no existe en horarios",Toast.TOAST_WARNING_ICON) padada_destino.Text = " No existe horarios disponibles " Label25.Text= "Codigo de parada no puede ser cero, o en blanco" Precio = Precio Tipo_tarifa.text = "Regular" L_monto_boleto.Text = Formatter.Format( Precio) 'NumberFormat2( Precio, 0, 2, 2, False) Return End If Log("2--------------") Dim m As Map m.Initialize m.Put("method","busca_precios") m.Put("archivo","linea_"& L_codigo_linea.Text.trim) m.Put("parada_destino", L_codigo_linea.Text.trim) ' m.Put("parada_guia",Parada_guia) m.Put("parada_origen",Parada_incial.trim) Log("3--------------") Dim j As HttpJob j.Initialize("",Me) j.PostBytes("http://" & Main.endPoint & "/appcom",Main.raf.ConvertObjectToBytes(m)) wait for (j) JobDone (j As HttpJob) Log("Estado de salida "& j.Success ) If j.Success Then 'log(("si fue exitoso busqueda de horarios") Dim payload() As Byte = Bit.InputStreamToBytes(j.GetInputStream) Dim answer As Map = Main.raf.ConvertBytesToObject(payload) Dim columnas As List = answer.Get("columns") Dim filas As List = answer.Get("rows") Log(" Cusnatos emconro"&filas.Size) If answer.containskey("message") Then padada_destino.Text = "No existe Linea disponibles " ' Dim message, title As String ' message = "No hay Horarios <<< Disponibles >>> " ' title = "Debe de crear un horario extra, Opciones del Takilla / Ayuda" ' Msgbox.Show(message, title) TextField2.text="" TextField2.RequestFocus L_linea_asignada.Text = "NO HAY" L_sentido.Text = "**" L_codigo_linea.Text = "XXX" L_hora_salida.Text = "XX-XX" L_hora_pasa.Text = "XX:XX" L_operadora.text = "NO diponible" horror1 Return End If Log("4--------------") For i = 0 To filas.Size -1 Dim fila() As Object = filas.Get(i) Log("2----------------------->"& "g"&TextField2.text) If "g"&TextField2.text="g" Then Errosonido ("plop.mp3") Label25.Text= "Incializando el sistema" Return End If Dim cadena_precios As String ="g"&TextField2.text Dim cadena_precios1 As String =cadena_precios&"_1" Dim cadena_precios2 As String =cadena_precios&"_2" Dim cadena_precios3 As String =cadena_precios&"_3" Dim cadena_precios4 As String =cadena_precios&"_4" Dim cadena_precios5 As String =cadena_precios&"_5" Log(cadena_precios) Log(cadena_precios1) Log(cadena_precios2) Log(cadena_precios3) Log(cadena_precios4) Log(cadena_precios5) L_Precio = fila(columnas.IndexOf(cadena_precios)) L_precio1 = fila(columnas.IndexOf(cadena_precios1)) L_precio2 = fila(columnas.IndexOf(cadena_precios2)) L_precio3 = fila(columnas.IndexOf(cadena_precios3)) L_precio4 = fila(columnas.IndexOf(cadena_precios4)) L_precio5 = fila(columnas.IndexOf(cadena_precios5)) L_precioA1.text = Formatter.Format(L_precio1)' NumberFormat2(L_precio1, 0, 2, 2, False) L_precioA2.text = Formatter.Format(L_precio2)' NumberFormat2(L_precio2, 0, 2, 2, False) L_precioA3.text = Formatter.Format(L_precio3)' NumberFormat2(L_precio3, 0, 2, 2, False) L_precioA4.text = Formatter.Format(L_precio4)' NumberFormat2(L_precio4, 0, 2, 2, False) L_precioA5.text = Formatter.Format(L_precio5)' NumberFormat2(L_precio5, 0, 2, 2, False) Precio =L_Precio Precio1 =L_precio1 Precio2 =L_precio2 Precio3 =L_precio3 Precio4 =L_precio4 Precio5 =L_precio5 'log((L_Precio) 'log((L_precio1) 'log((L_precio2) 'log((L_precio3) 'log((L_precio4) 'log((L_precio5) L_monto_boleto.Text = Formatter.Format(L_Precio)' NumberFormat2(L_Precio, 0, 2, 2, False) Next Log("5--------------") Else 'log(("no fue exitoso busqueda precios") End If Log("6--------------") End Sub '/********************************************************* printer 'private Sub printTicket(idPago As Int,apellidoFamilia As String,metodoPago As String,parcial As Boolean,copia As Boolean) Private Sub Tikete Main.datos_tiquetes.PutSimple("parada",TextField2.text) Main.datos_tiquetes.PutSimple("origen",L_nombre_boleteria.text) Main.datos_tiquetes.PutSimple("destino",padada_destino.Text ) Main.datos_tiquetes.PutSimple("precio", Formatter.Format(L_precio1)) ' NumberFormat2(L_Precio, 0, 2, 2, False) ) Main.datos_tiquetes.PutSimple("pago","S") Main.datos_tiquetes.PutSimple("horario",Hora_sale) Main.datos_tiquetes.PutSimple("pasa",Hora_pasa) Main.datos_tiquetes.PutSimple("modi","N") Main.datos_tiquetes.PutSimple("modo","Nor") Main.datos_tiquetes.PutSimple("kms","0.00") Main.datos_tiquetes.PutSimple("linea",codigo_linea) Main.datos_tiquetes.PutSimple("n_linea",Nombre_linea) Main.datos_tiquetes.PutSimple("s_linea",Sentido_linea) Main.datos_tiquetes.PutSimple("fecha", DateToSQLDate(DatePicker1.DateTicks,False) ) Main.datos_tiquetes.PutSimple("creado",DateTime.time( DateTime.Now )) Main.datos_tiquetes.PutSimple("comodin","N") Main.datos_tiquetes.PutSimple("comodin2","Nose") Main.datos_tiquetes.PutSimple("tarifa", Tipo_tarifa.text) Main.datos_tiquetes.PutSimple("serie","0000") Main.datos_tiquetes.PutSimple("usuario",usuario) Main.datos_tiquetes.PutSimple("maquina","mquina") Main.datos_tiquetes.PutSimple("estado","N") Main.datos_tiquetes.PutSimple("fue","A") Main.datos_tiquetes.PutSimple("pag","S") Main.datos_tiquetes.PutSimple("ast","0") Main.datos_tiquetes.PutSimple("cliente","") Main.datos_tiquetes.PutSimple("identifica","") Main.datos_tiquetes.PutSimple("telefono","") Main.datos_tiquetes.PutSimple("confirma","Aun no esta reservado") Main.datos_tiquetes.PutSimple("busqueda",DateTime.time( DateTime.Now )&Sentido_linea&codigo_linea&"_"&DateTime.time( DateTime.Now )) Main.datos_tiquetes.PutSimple("concilia","?") Main.datos_tiquetes.PutSimple("precio_con","0.00") Main.datos_tiquetes.PutSimple("usuario_con","0000") Main.datos_tiquetes.PutSimple("fecha_con", DateToSQLDate(DatePicker1.DateTicks,False)) Main.datos_tiquetes.PutSimple("recoge","0") Main.datos_tiquetes.PutSimple("guiaprepago","??") Main.datos_tiquetes.PutSimple("autorizapreapgo",L_operadora.text) Main.datos_tiquetes.PutSimple("tipomovpreapgo","REG") Main.datos_tiquetes.PutSimple("tarjeta","00-00-00-00") Main.datos_tiquetes.PutSimple("saldotar",0.00) Main.datos_tiquetes.PutSimple("licencialoc","???") Main.datos_tiquetes.PutSimple("icenciaman","???") Main.datos_tiquetes.PutSimple("kioscarre","K") Main.datos_tiquetes.PutSimple("buscarreferencia",Autoriza_cabe) Main.datos_tiquetes.PutSimple("buscar",Autoriza_cabe) Main.datos_tiquetes.PutSimple("busplaca",Bus_placa) Tool.crea_tkete Tool.imprimeTikete ' Dim PR As Printing ' PR.Initialize(Impresora) ' Main.parametros.Get("impresora") '' PR.printImage(File.DirApp & "qr.png") ' PR.normalita '' PR.sizeIncrease ' PR.bold ' PR.centerText(L_operadora.text) ' PR.centerText(Operadora_Tel) ' PR.centerText(Operadora_NDI) ' PR.normalita ' PR.centerText("Vendido en "&L_nombre_boleteria.text) ' PR.addString("H:"&DateTime.time(DateTime.Now ) &" F:"&Fecha_elejida &" PLACA :"&Bus_placa ) ' PR.addString("_______________________________________________") '' PR.addString("Des: "&padada_destino.text.Trim & " AST:00"&" Tar: "&"Regular" ) ' ' PR.centerText(PR.sizeIncrease &"Precio "&NumberFormat2(Precio, 0, 2, 2, False)) ' PR.centerText(""&padada_destino.text.Trim ) ' ' PR.addString(Chr(27)&Chr(33)&Chr(1)&"_______________________________________________________________") ' PR.addString("Snt: "&"Ida" ) ' '' PR.addString("Tarifa : "&"Regular"&" AST: 000" ) ' PR.addString(Chr(27)&Chr(33)&Chr(10)&"Tarifa : "&" Regular"& " AST:00"&" Tar: "&"Regular"&" AST: 000" ) '' PR.addString(Chr(27)&Chr(33)&Chr(0)&"nada") ' '' PR.sizeIncrease '' PR.addString(PR.centerText("Precio "&NumberFormat2(Precio, 0, 2, 2, False))) ' '' PR.normalita '' PR.dere '' PR.addString("ID de pago: " & "prubas") '' PR.addString("---------------------- ''If IsNumber(lblInscripcion.Text) Then '' Dim sfins As Double = lblInscripcion.Text '' If sfins > 0 Then '' PR.addString("Inscripcion: " & sfins) '' End If ''End If ''PR.addString("Materias: " & numMat) ''PR.addString("Mensualidad: " & lblMes.text) ''PR.addString("Su pago: " & utils.formatCurrency(txtMonto.Text)) ''PR.addString("Mt. de pago: " & metodoPago) '' ''If genTipoDePago2 > 0 Then '' PR.addString("Primera cuota inicial") ''End If '' ''If parcial Then '' PR.addnewLine '' PR.centerText("EL PAGO NO ESTA COMPLETO") '' Dim sf As Double = lblSaldoFinal.Text '' PR.addString("Por Pagar: " & utils.formatCurrency(Abs(sf))) ' 'End If ' PR.print ' PR.finish End Sub Public Sub Errosonido(cadenas As String) Dim mp As MediaPlayer mp.Initialize("mp", File.GetUri(File.DirApp&"/play", cadenas)) mp.Play End Sub ' 'Return true to allow the default exceptions handler to handle the uncaught exception. Sub Application_Error (Error As Exception, StackTrace As String) As Boolean Return True End Sub Sub Qr Dim msg As String Dim module_size As Double Dim fcolor, bcolor As Paint module_size = 5 ' fcolor = fx.Colors.Blue fcolor =fx.Colors.From32Bit(0xFFFFBA36) ' bcolor = fx.Colors.White bcolor =fx.Colors.From32Bit(0xFF533100) msg = "Developed by Situ. Oscar Chacon" & Chr(13) & "oscarchacon@situcr.com" & Chr(13) & "www.situcr.com" & Chr(13) &TextField2.Text Canvas9 = QRcode.Draw_QR_Code(msg, "L", 3, fcolor, bcolor, module_size, Canvas9) End Sub Private Sub Canvas9_MouseClicked (EventData As MouseEvent) Tikete ' Dim message As String ' message = "Cierre de carrera" ' main.xui.MsgboxAsync(message ,"Va a cerrar carrera actual") End Sub Sub crea_archivos ' Fecha_elejida = DateTime.Date(DatePicker1.DateTicks) 'log((Fecha_elejida) Dim dDate As String = Fecha_elejida Dim month As String = dDate.SubString2(0,2) Dim day As String = dDate.SubString2(3,5) Dim year As String = dDate.SubString2(6,10) 'log((month) 'log((day) 'log((year) Achivoventas="d"&day&"m"&month&"a"&year 'log(("arcivo de ventas "&Achivoventas) ' Dim today As Int = DateTime.GetDayOfWeek(DateTime.Now) ' 'log(( (day + 7 - today) Mod 7) ' ' 'log((DateUtils.GetDayOfWeekName((DateTime.Now))) 'displays Tuesday for Jan 8, 2008 End Sub Sub dia_semana(cadena As String ) Dim dia_nombre As String dia_nombre =DateUtils.GetDayOfWeekName((DateTime.Now)) 'displays Tuesday for Jan 8, 2008 horarios_vigente ="No" Select dia_nombre Case "lunes" horarios_vigente= "Si" letrasemanada ="L" Case "martes" horarios_vigente= "Si" letrasemanada ="M" Case "miercoles" horarios_vigente= "Si" letrasemanada ="K" Case "jueves" horarios_vigente= "Si" letrasemanada ="J" Case "viernes" horarios_vigente= "Si" letrasemanada ="V" Case "sabado" horarios_vigente= "Si" letrasemanada ="S" Case "domingo" horarios_vigente= "Si" letrasemanada ="D" Case Else horarios_vigente= "No" letrasemanada ="NO" End Select Dim Resultado2 As Int = cadena.indexof(letrasemanada) If Resultado2 <> -1 Then estadohorario="Si" Else estadohorario="Si" End If End Sub Private Sub L_precioA5_MouseReleased (EventData As MouseEvent) End Sub Private Sub L_precioA5_AnimationCompleted End Sub Sub Datepicker_DateChanged (NewDate As Long) Fecha_elejida = DateTime.Date(DatePicker1.DateTicks) Errosonido ("plop.mp3") Pane5.Style="-fx-background-color: #FA7073" End Sub Sub AnotherDatePicker1_DateChanged (NewDate As Long) Fecha_elejida = DateTime.Date(DatePicker1.DateTicks) Errosonido ("plop.mp3") Pane5.Style="-fx-background-color: #FA7073" 'log(($"New date $Date{NewDate}"$) End Sub Private Sub LoadCombo DetailsCmb.Items.AddAll(Array As String("Efectivo", "Prepago", "VISA", "QR-pay", "Other")) DetailsCmb.SelectedIndex = 0 DatePicker1.DateTicks = DateTime.Now End Sub Sub DetailsCmb_ValueChanged (Value As Object) Select Value Case "Efectivo" Case "Prepago" Case "Visa" Case "QR-pay" Case "Other" End Select End Sub ' Sub tblMain_SelectedRowChanged(Index As Int, Row() As Object) If Index > -1 Then 'log(( Row(12)) End If End Sub #Region Helper Methods Sub SetColumnStyle(Index As Int, Style As String) Dim jo As JavaObject = tblMain Dim Column As JavaObject = jo.RunMethodJO("getColumns", Null).RunMethod("get", Array(Index)) Column.RunMethod("setStyle", Array(Style)) End Sub #End Region Private Sub DatePicker1_ValueChanged (Value As Long) Dim dias As Long = DateTime.TicksPerDay * 3 Dim pasados As Long =DateTime.Now + dias ' Log(DateTime.Now) ' Log(pasados) If DateTime.Now > DatePicker1.DateTicks Then Toast.ToastTitleColor = fx.Colors.From32Bit(0xFFFFFFFF) Toast.ToastMessageColor = fx.Colors.From32Bit(0xFFFFFFFF) Toast.ToastShow4("Error en fecha","Revise asignada y actual",Toast.TOAST_WARNING_ICON) Label25.Text= "La fechas no deben ser menor al dia calendario o Fecha es mayor Restriccion de ventas futura, Verifique restriccion de fechas " DatePicker1.DateTicks = DateTime.Now TextField2.Text="" TextField2.RequestFocus Errosonido ("plop.mp3") Return End If If DatePicker1.DateTicks > pasados Then Toast.ToastTitleColor = fx.Colors.From32Bit(0xFFFFFFFF) Toast.ToastMessageColor = fx.Colors.From32Bit(0xFFFFFFFF) Toast.ToastShow4("Error en fecha","No se puede mas de tres dias, o revise que escogio ",Toast.TOAST_WARNING_ICON) Label25.Text= "La fechas no deben ser menor al dia calendario o Fecha es mayor Restriccion de ventas futura, Verifique restriccion de fechas " DatePicker1.DateTicks = DateTime.Now TextField2.Text="" TextField2.RequestFocus Errosonido ("plop.mp3") Return End If Fecha_elejida = DateTime.Date(DatePicker1.DateTicks) 'log(("fech_leljida datepiker "& Fecha_elejida) crea_archivos 'log(("Archivo al inicio de ventas "&Achivoventas) Crea_Ventas_dia L_fecha_delsistama.text = Fecha_elejida Errosonido ("plop.mp3") cambiacolordif End Sub Private Sub Calcula_horas(cadena As String ) Dim horah As Int = cadena.SubString2(0, 2) Dim minush As Int = cadena.SubString2(3, 5) 'log((horah) 'log((minush) Dim OffHour1 As Int = horah ' fechas de los horarioss Dim OffMinute1 As Int = minush Dim OffHour2 As Int = 22 'fecha del reloj calendario Dim OffMinute2 As Int = 25 Dim nowTime As Long = (DateTime.GetHour(DateTime.Now)*DateTime.TicksPerHour)+(DateTime.GetMinute(DateTime.Now)*DateTime.TicksPerMinute) Dim offTime1 As Long = (DateTime.TicksPerHour*OffHour1)+(DateTime.TicksPerMinute*OffMinute1) Dim offTime2 As Long = (DateTime.TicksPerHour*OffHour2)+(DateTime.TicksPerMinute*OffMinute2) 'log(( nowTime &"horas > a "& offTime1 &" o "& nowTime &" menor < a "& offTime2) If nowTime > offTime1 Or nowTime < offTime2 Then 'log(("OFF" ) hora_estado="C" Else 'log(("ON") hora_estado="A" End If End Sub private Sub insert_cab 'este es una prueba Dim m As Map m.Initialize m.Put("method","insertar_parada") m.Put("codigo","paradas") m.Put("nlargo",TextField2.text) m.Put("nguia",TextField3.Text) m.Put("estado","puebla") Dim j As HttpJob j.Initialize("",Me) j.PostBytes("http://" & Main.endPoint & "/appcom",Main.raf.ConvertObjectToBytes(m)) wait for (j) JobDone (j As HttpJob) If j.Success Then 'log(("servidor enlazado correctamente") Dim payload() As Byte = Bit.InputStreamToBytes(j.GetInputStream) Dim answer As Map = Main.raf.ConvertBytesToObject(payload) If answer.containskey("message") Then 'log((answer.Get("message")) Return End If End If End Sub Private Sub B_salir_Click ExitApplication End Sub private Sub Crea_autorizacion Label25.Text = Autoriza_cabe Label15.Text = cadena_referencia Log("cra autorizacion ") Dim m As Map Dim CR As String ="('"& cadena_referencia &"')" m.Initialize m.Put("method","autorizacion1") m.Put("cadena",CR) Dim j As HttpJob j.Initialize("",Me) j.PostBytes("http://" & Main.endPoint & "/appcom",Main.raf.ConvertObjectToBytes(m)) wait for (j) JobDone (j As HttpJob) If j.Success Then 'log(("servidor enlazado autorizdos ") Dim payload() As Byte = Bit.InputStreamToBytes(j.GetInputStream) Dim answer As Map = Main.raf.ConvertBytesToObject(payload) 'log(("servidor enlazado correctamente creando autorizacion"&answer.containskey("message")) If answer.containskey("message") Then Autoriza_cabe= "NO" Else Dim columnas As List = answer.Get("columns") Dim filas As List = answer.Get("rows") For i = 0 To filas.Size -1 Dim fila() As Object = filas.Get(i) Autoriza_cabe = fila(columnas.IndexOf("autoriza")) Main.datos_cabceras.PutSimple("autorizacion" ,Autoriza_cabe) Label25.Text= Autoriza_cabe Next End If End If Log( Main.datos_cabceras.getSimple("autorizacion" )& " haber autorizacion") End Sub Sub incia_cabeceras infocabeceras.Initialize infocabeceras.Put("nombre",Nombre_linea) infocabeceras.Put("linea",Nombre_linea) infocabeceras.Put("codigolinea",codigo_linea) infocabeceras.Put("sentido",Sentido_linea) infocabeceras.Put("horario",Hora_pasa) infocabeceras.Put("fecha",DateTime.Date( DateTime.Now )) infocabeceras.Put("hora",DateTime.time( DateTime.Now )) infocabeceras.Put("usuario","0000") infocabeceras.Put("estado","SI") infocabeceras.Put("parada",L_nombre_boleteria) infocabeceras.Put("destino",L_nombre_boleteria) infocabeceras.Put("monto","") infocabeceras.Put("totaltiq","") infocabeceras.Put("anulados","") infocabeceras.Put("cantianul","") infocabeceras.Put("tarjeta","") infocabeceras.Put("cantitarj","") infocabeceras.Put("recargaslocal","") infocabeceras.Put("cantirecalocal","") infocabeceras.Put("recargasmanc","") infocabeceras.Put("cantirecamanc","") infocabeceras.Put("recargaslocalanul","") infocabeceras.Put("cantirecalocalanul","") infocabeceras.Put("recargasmancanul","") infocabeceras.Put("cantirecamancanul","") infocabeceras.Put("maquina","") infocabeceras.Put("tipomaq","") infocabeceras.Put("serialmaq","") infocabeceras.Put("totglobal","") infocabeceras.Put("cantglobal","") infocabeceras.Put("totalrecamota","") infocabeceras.Put("cantrecamota","") infocabeceras.Put("cerrook","") infocabeceras.Put("referencia",Autoriza_cabe) infocabeceras.Put("existe","SI") infocabeceras.Put("busplaca","") infocabeceras.Put("guia","") End Sub Sub incia_billetes Main.datos_tiquetes.PutSimple("parada",TextField2) Main.datos_tiquetes.PutSimple("origen","") Main.datos_tiquetes.PutSimple("destino","") Main.datos_tiquetes.PutSimple("Precio","") Main.datos_tiquetes.PutSimple("pago","") Main.datos_tiquetes.PutSimple("horario","") Main.datos_tiquetes.PutSimple("pasa","") Main.datos_tiquetes.PutSimple("modi","") Main.datos_tiquetes.PutSimple("modo","") Main.datos_tiquetes.PutSimple("kms","") Main.datos_tiquetes.PutSimple("linea",codigo_linea) Main.datos_tiquetes.PutSimple("n_linea",Nombre_linea) Main.datos_tiquetes.PutSimple("s_linea",Sentido_linea) Main.datos_tiquetes.PutSimple("fecha", DateToSQLDate(DatePicker1.DateTicks,False) ) Main.datos_tiquetes.PutSimple("creado",DateTime.time( DateTime.Now )) Main.datos_tiquetes.PutSimple("comodin","TT") Main.datos_tiquetes.PutSimple("comodin2","") Main.datos_tiquetes.PutSimple("tarifa","Nousa") Main.datos_tiquetes.PutSimple("serie","0000") Main.datos_tiquetes.PutSimple("usuario",usuario) Main.datos_tiquetes.PutSimple("maquina","mquina") Main.datos_tiquetes.PutSimple("estado","A") Main.datos_tiquetes.PutSimple("fue","A") Main.datos_tiquetes.PutSimple("pag","S") Main.datos_tiquetes.PutSimple("ast","0") Main.datos_tiquetes.PutSimple("cliente","") Main.datos_tiquetes.PutSimple("identifica","") Main.datos_tiquetes.PutSimple("telefono","") Main.datos_tiquetes.PutSimple("confirma","") Main.datos_tiquetes.PutSimple("busqueda","XMNSNXJHBXNX") Main.datos_tiquetes.PutSimple("concilia","N") Main.datos_tiquetes.PutSimple("precio_con","") Main.datos_tiquetes.PutSimple("usuario_con","0000") Main.datos_tiquetes.PutSimple("fecha_con", DateToSQLDate(DatePicker1.DateTicks,False)) Main.datos_tiquetes.PutSimple("recoge","0") Main.datos_tiquetes.PutSimple("guiaprepago","??") Main.datos_tiquetes.PutSimple("autorizapreapgo",L_operadora.text) Main.datos_tiquetes.PutSimple("tipomovpreapgo","REG") Main.datos_tiquetes.PutSimple("tarjeta","00-00-00-00") Main.datos_tiquetes.PutSimple("saldotar",0.00) Main.datos_tiquetes.PutSimple("licencialoc","???") Main.datos_tiquetes.PutSimple("icenciaman","???") Main.datos_tiquetes.PutSimple("kioscarre","K") Main.datos_tiquetes.PutSimple("buscarreferencia",Autoriza_cabe) Main.datos_tiquetes.PutSimple("buscar",Autoriza_cabe) Main.datos_tiquetes.PutSimple("busplaca",Bus_placa) End Sub Sub graba_evento_cebecera 'log(("*/////////////////"& Autoriza_cabe) Label25.Text = Autoriza_cabe Dim m As Map m.Initialize m.Put("method","buscarcabecera") m.Put("archivo","cabeceras") m.Put("referencia",Autoriza_cabe) 'log((Parada_incial& "buscando si existe cabecera ??") Dim j As HttpJob j.Initialize("",Me) j.PostBytes("http://" & Main.endPoint & "/appcom",Main.raf.ConvertObjectToBytes(m)) wait for (j) JobDone (j As HttpJob) If j.Success Then 'log(("si fue existe carrera en cabcecea cabecera ") Dim payload() As Byte = Bit.InputStreamToBytes(j.GetInputStream) Dim answer As Map = Main.raf.ConvertBytesToObject(payload) 'log((answer.containskey("message")& "haber si hay evento en tru false" ) If answer.containskey("message") Then ' Msgbox.Dia'log(Type = "INFO" ' this is the default. ACCEPT, ERROR, INFO and QUESTION are accepted Errosonido ("plop.mp3") Label25.Text = Autoriza_cabe If Autoriza_cabe.Length=0 Then Return End If Main.xui.MsgboxAsync("Se va a crear la cabecera","No existe") creando_cabeceras1 Return End If Dim columnas As List = answer.Get("columns") Dim filas As List = answer.Get("rows") If filas.Size > 0 Then For i = 0 To filas.Size -1 Dim fila() As Object = filas.Get(i) Autoriza_cabe = fila(columnas.IndexOf("referencia")) Next End If Else 'log(("no fue exitoso busqueda de parada") Errosonido ("plop.mp3") Main.xui.MsgboxAsync("No fue exitoso la busqueda","Intentelo de nuevo") End If End Sub Sub creando_cabeceras1 Dim m As Map m.Initialize m.Put("method","insertar_dat_cabecera") m.Put("archivo","cabeceras") ' DateTime.DateFormat = "yyyy/MM/dd" Dim a1 As String = Main.datos_cabceras.GetSimple("Nombre_linea") Dim b1 As String = Main.datos_cabceras.GetSimple("Nombre_linea") Dim c1 As String = Main.datos_cabceras.GetSimple("codigo_linea") Dim d1 As String = Main.datos_cabceras.GetSimple("Sentido_lines") Dim e1 As String = Main.datos_cabceras.GetSimple("hora_pasa") ' Dim f1 As String = DateTime.Date( DateTime.Now ) Dim g1 As String = DateTime.time( DateTime.Now ) Dim h1 As String = "DEFINA" Dim i1 As String = "A" Dim j1 As String = Main.datos_cabceras.GetSimple("parada_incial") Dim k1 As String = Main.datos_cabceras.GetSimple("parada_incial") Dim m1 As String = Main.datos_cabceras.GetSimple("autorizacion") Dim l1 As String = "SI" m.Put("nombre", a1) m.Put("linea" , b1 ) m.Put("codigolinea", c1) m.Put("sentido", d1 ) m.Put("horario", e1) m.Put("fecha", DateToSQLDate(DateTime.Now ,False)) m.Put("hora", g1) m.Put("usuario", h1) m.Put("estado", i1) m.Put("parada", j1) m.Put("destino", k1 ) m.Put("referencia", m1) m.Put("existe", l1) Dim j As HttpJob j.Initialize("",Me) j.PostBytes("http://" & Main.endPoint & "/appcom",Main.raf.ConvertObjectToBytes(m)) wait for (j) JobDone (j As HttpJob) If j.Success Then 'log(("servidor enlazado correctamente") Dim payload() As Byte = Bit.InputStreamToBytes(j.GetInputStream) Dim answer As Map = Main.raf.ConvertBytesToObject(payload) If answer.containskey("message") Then 'log((answer.Get("message")) ' DateTime.DateFormat = "dd/MM/yyyy" Return End If End If ' DateTime.DateFormat = "dd/MM/yyyy" End Sub Sub creaFuncion Dim m As Map m.Initialize m.Put("method","creaFuncion") m.Put("archivo","horarios") Dim j As HttpJob j.Initialize("",Me) j.PostBytes("http://" & Main.endPoint & "/appcom",Main.raf.ConvertObjectToBytes(m)) wait for (j) JobDone (j As HttpJob) If j.Success Then Toast.ToastTitleColor = fx.Colors.From32Bit(0xFFFFFFFF) Toast.ToastMessageColor = fx.Colors.From32Bit(0xFFFFFFFF) Toast.ToastShow4("Crea Procedimiento","Se ha creado la function procedure ",Toast.TOAST_WARNING_ICON) End If End Sub Sub cierrahoras Dim m As Map m.Initialize m.Put("method","actulizahoras") m.Put("archivo","horarios") Dim j As HttpJob j.Initialize("",Me) j.PostBytes("http://" & Main.endPoint & "/appcom",Main.raf.ConvertObjectToBytes(m)) wait for (j) JobDone (j As HttpJob) If j.Success Then Toast.ToastTitleColor = fx.Colors.From32Bit(0xFFFFFFFF) Toast.ToastMessageColor = fx.Colors.From32Bit(0xFFFFFFFF) Toast.ToastShow4("Limpia horas","Se han actulizado horas reloj calendario ",Toast.TOAST_WARNING_ICON) End If End Sub public Sub DateToSQLDate(datum As Long,withTime As Boolean) As String Dim df As String = DateTime.DateFormat DateTime.DateFormat = "yyyy-MM-dd" Dim strD As String = DateTime.Date(datum) Dim tf As String = DateTime.TimeFormat DateTime.TimeFormat = "HH:mm:ss" Dim strT As String = DateTime.Time(datum) DateTime.DateFormat = df DateTime.TimeFormat = tf If withTime Then Return strD & " " & strT Else Return strD End If End Sub public Sub SQLDateToDate(date As String,withTime As Boolean) As Long Dim df As String = DateTime.DateFormat DateTime.DateFormat = "yyyy-MM-dd" Dim l As Long If Not(withTime) Then Try l = DateTime.DateParse(date) Catch l = 0 End Try Else Dim tf As String = DateTime.TimeFormat DateTime.TimeFormat = "HH:mm:ss" Dim tiempo As String If date.IndexOf(".") = -1 Then tiempo = date.SubString2(date.IndexOf(" ") + 1,date.Length) Else tiempo = date.SubString2(date.IndexOf(" ") + 1,date.IndexOf(".")) End If date = date.SubString2(0,date.IndexOf(" ")) Try l = DateTime.DateTimeParse(date,tiempo) Catch l = 0 End Try DateTime.TimeFormat = tf End If DateTime.DateFormat = df Return l End Sub Sub RedirectOutput (Dir As String, FileName As String) #if RELEASE Dim out As OutputStream = File.OpenOutput(Dir, FileName, False) 'Set to True to append the logs Dim ps As JavaObject ps.InitializeNewInstance("java.io.PrintStream", Array(out, True, "utf8")) Dim jo As JavaObject jo.InitializeStatic("java.lang.System") jo.RunMethod("setOut", Array(ps)) jo.RunMethod("setErr", Array(ps)) #end if End Sub