Files
Gabinete-Roit/B4A/login.bas

400 lines
12 KiB
QBasic

B4A=true
Group=Default Group
ModulesStructureVersion=1
Type=Class
Version=11.8
@EndOfDesignText@
Sub Class_Globals
Public Root As B4XView 'ignore
Private xui As XUI 'ignore
' Base de datos
Dim reqManager As DBRequestManager
Dim user As String
Dim perfil As String
Dim ID_EMP As String
Dim formato_suc As String
Dim nombre As String
Dim lat_suc As String
Dim long_suc As String
' Elementos
Private b_inicio As Button
Private et_user As EditText
Private et_pass As EditText
Dim sucursal As String
Dim suc_nom As String
Dim nom_proyec As String
Private ImageView5 As ImageView
Private b_regresa As Button
Private b_actualizar_app As Button
Private b_enviarbd As Button
Private b_guarda_server As Button
Private et_server As EditText
Private lv_server As ListView
Private p_configuracion As Panel
Public Provider As FileProvider
Dim horain As String
Dim horaout As String
Dim horacomin As String
Dim horacomout As String
Private p_adorno As Panel
Private l_version As Label
End Sub
'You can add more parameters here.
Public Sub Initialize As Object
Return Me
End Sub
'This event will be called once, before the page becomes visible.
Private Sub B4XPage_Created (Root1 As B4XView)
Root = Root1
Root1.LoadLayout("login")
reqManager.Initialize(Me, Starter.DBReqServer)
Provider.Initialize
l_version.Text = Application.VersionName
End Sub
Sub B4XPage_Appear
If Starter.muestraProgreso = 1 Then
muestraProgreso("Descargando actualización")
Starter.muestraProgreso = 0
End If
p_configuracion.Width = Root.Width
p_configuracion.Height = Root.Height
p_configuracion.Visible = False
p_adorno.Width = Root.Width * 0.85
p_adorno.Height = Root.Height * 0.80
Log("inicio1")
StartService(Tracker)
Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_ACCESS_FINE_LOCATION)
Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean)
If Result Then
StartService(Tracker)
Log("Start Tracker")
Else
ToastMessageShow("Sin permisos para GPS", True)
End If
Log(Result)
' Dim p As Period
' p.Days = 0
' p.Hours = 0
' p.Minutes = 0
' Dim newDate As Long = DateUtils.AddPeriod(DateTime.Now, p)
' Log(newDate)
'
' ' Verificar si hoy es lunes
' If EsLunes(newDate) Then
' Log("¡Hoy es lunes!")
' Else If EsMartes(newDate) Then
' Log("¡Hoy es Martes!")
' Else If EsMiercoles(newDate) Then
' Log("¡Hoy es Miercoles!")
' Else If Esjueves(newDate) Then
' Log("¡Hoy es jueves!")
' Else If Esviernes(newDate) Then
' Log("¡Hoy es Viernes!")
' Else If Essabado(newDate) Then
' Log("¡Hoy es Sabado!")
' Else If EsDomingo(newDate) Then
' Log("¡Hoy es Domingo!")
' End If
End Sub
Private Sub b_inicio_Click
If et_user.Text <> "" Then
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "select_usuario_GABICO"
cmd.Parameters = Array As Object(et_user.Text, et_pass.Text)
reqManager.ExecuteQuery(cmd , 0, "usuario")
user = et_user.Text
End If
Log(Starter.latitud)
Log(Starter.longitud)
' B4XPages.ShowPage ("Principal")
End Sub
Private Sub b_inicio_LongClick
Private X As Int = "A"
End Sub
Sub JobDone (Job As HttpJob)
If Job.Success = False Then
ToastMessageShow("Error: " & Job.ErrorMessage, True)
Else
LogColor("JobDone: '" & reqManager.HandleJob(Job).tag & "' - Registros: " & reqManager.HandleJob(Job).Rows.Size, Colors.Green)
If Job.JobName = "DBRequest" Then
Dim result As DBResult = reqManager.HandleJob(Job)
If result.Tag = "usuario" Then 'query tag
For Each records() As Object In result.Rows
For Each k As String In result.Columns.Keys
' Log(result.Tag & ": " & k & ": " & records(result.Columns.Get(k)))
Next
If records(result.Columns.Get ("USUARIO")) = "OKActivo" Then
Starter.almacen = records(result.Columns.Get ("CAT_LO_AGENCIA"))
nom_proyec = records(result.Columns.Get ("PRO_NOM"))
perfil = records(result.Columns.Get ("CAT_LO_PERFIL"))
sucursal = records(result.Columns.Get ("CAT_EMP_SUCURSAL"))
suc_nom = records(result.Columns.Get ("SUC_NOMBRE"))
ID_EMP = records(result.Columns.Get ("CAT_LO_ID"))
formato_suc = records(result.Columns.Get ("CAT_SUC_FORMATO"))
nombre = records(result.Columns.Get ("CAT_LO_NOMBRE"))
lat_suc = records(result.Columns.Get ("CAT_SUC_LATITUD"))
long_suc = records(result.Columns.Get ("CAT_SUC_LONGITUD"))
user = et_user.Text
horain = records(result.Columns.Get ("CAT_EMP_HORA_ENTRA"))
horaout = records(result.Columns.Get ("CAT_EMP_HORA_SALE"))
horacomin = records(result.Columns.Get ("CAT_EMP_COMIDA_ENTRA"))
horacomout = records(result.Columns.Get ("CAT_EMP_COMIDA_SALE"))
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "select_sitrabaja_GABICO"
cmd.Parameters = Array As Object(et_user.Text)
reqManager.ExecuteQuery(cmd , 0, "diatraba")
Else
ToastMessageShow ("Datos incorrectos",True)
End If
Next
If result.Rows.Size = 0 Then
ToastMessageShow ("Datos incorrectos",True)
End If
End If
If result.Tag = "diatraba" Then 'query tag
For Each records() As Object In result.Rows
Starter.trabaja = records(result.Columns.Get("TRABAJA"))
Log(Starter.trabaja)
If Starter.trabaja = 1 Then
If perfil = 3 Then
CallSubDelayed(Starter,"ENVIA_ULTIMA_GPS")
B4XPages.ShowPage("Principal")
' Log("AQUI ANDO")
Else If perfil = 2 Then
CallSubDelayed(Starter,"ENVIA_ULTIMA_GPS")
' Log("AQUI ACA")
B4XPages.ShowPage("Supervisor")
End If
Else If Starter.trabaja = 0 Then
MsgboxAsync("Hoy es día de descanso","Atención")
End If
Next
' ToastMessageShow(" Historico Clientes Promociones Actualizado." , True)
End If
End If
End If
End Sub
Private Sub B4XPage_CloseRequest As ResumableSub
If p_configuracion.Visible = True Then
p_configuracion.Visible = False
Else
B4XPages.ShowPage("login")
End If
' Return True
Return False
End Sub
Private Sub ImageView5_Click
p_configuracion.Visible = True
lv_server.Clear
lv_server.AddSingleLine("http://keymon.lat:1783")
If et_user.Text = "KMTS1" Then lv_server.AddSingleLine("http://11.0.0.196:1783")
' l_server.Text = Starter.server
et_server.Text = Starter.DBReqServer
End Sub
Private Sub p_configuracion_Click
End Sub
Private Sub lv_server_ItemClick (Position As Int, Value As Object)
Starter.DBReqServer = Value
' l_server.Text = Value
et_server.Text = Value
Starter.reqManager.Initialize(Me, Value)
Log(Value)
ToastMessageShow("Servidor modificado", False)
End Sub
Private Sub b_guarda_server_Click
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",et_server.text))
Starter.DBReqServer = et_server.text
Log("Inicializamos reqManager con " & Starter.DBReqServer)
reqManager.Initialize(Me, Starter.DBReqServer)
CallSubDelayed(Starter, "reinicializaReqManager")
p_configuracion.Visible= False
End Sub
Private Sub b_regresa_Click
p_configuracion.Visible = False
End Sub
Private Sub b_enviarbd_Click
' copiaDB
' Sleep(1000)
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 dados Gabinete"
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 b_actualizar_app_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
Sub notiLowReturn(title As String, Body As String, id As Int) As Notification 'ignore
Private notification As Notification
notification.Initialize2(notification.IMPORTANCE_LOW)
Log("notiLowReturn: "&title)
notification.Icon = "icon"
notification.Sound = False
notification.Vibrate = False
notification.SetInfo(title, Body, Main)
notification.Notify(id)
' Log("notiLowReturn SetInfo")
Return notification
End Sub
'' Función para verificar si la fecha actual es un lunes
'Sub EsLunes(fecha As Long) As Boolean
' ' Crear un objeto Calendar
' Dim cal As JavaObject
' cal.InitializeNewInstance("java.util.GregorianCalendar", Null)
'
' ' Establecer la fecha actual en el objeto Calendar
' cal.RunMethod("setTimeInMillis", Array(fecha))
'
' ' Obtener el día de la semana (1 para domingo, 2 para lunes, ..., 7 para sábado)
' Dim diaSemana As Int = cal.RunMethod("get", Array(7))
'
' ' Verificar si es lunes (día de la semana = 2)
' Return diaSemana = 2
'End Sub
'
'Sub EsMartes(fecha As Long) As Boolean
' ' Crear un objeto Calendar
' Dim cal As JavaObject
' cal.InitializeNewInstance("java.util.GregorianCalendar", Null)
'
' ' Establecer la fecha actual en el objeto Calendar
' cal.RunMethod("setTimeInMillis", Array(fecha))
'
' ' Obtener el día de la semana (1 para domingo, 2 para lunes, ..., 7 para sábado)
' Dim diaSemana As Int = cal.RunMethod("get", Array(7))
'
' ' Verificar si es lunes (día de la semana = 2)
' Return diaSemana = 3
'End Sub
'
'Sub EsMiercoles(fecha As Long) As Boolean
' ' Crear un objeto Calendar
' Dim cal As JavaObject
' cal.InitializeNewInstance("java.util.GregorianCalendar", Null)
'
' ' Establecer la fecha actual en el objeto Calendar
' cal.RunMethod("setTimeInMillis", Array(fecha))
'
' ' Obtener el día de la semana (1 para domingo, 2 para lunes, ..., 7 para sábado)
' Dim diaSemana As Int = cal.RunMethod("get", Array(7))
'
' ' Verificar si es lunes (día de la semana = 2)
' Return diaSemana = 4
'End Sub
'
'Sub Esjueves(fecha As Long) As Boolean
' ' Crear un objeto Calendar
' Dim cal As JavaObject
' cal.InitializeNewInstance("java.util.GregorianCalendar", Null)
'
' ' Establecer la fecha actual en el objeto Calendar
' cal.RunMethod("setTimeInMillis", Array(fecha))
'
' ' Obtener el día de la semana (1 para domingo, 2 para lunes, ..., 7 para sábado)
' Dim diaSemana As Int = cal.RunMethod("get", Array(7))
'
' ' Verificar si es lunes (día de la semana = 2)
' Return diaSemana = 5
'End Sub
'
'Sub Esviernes(fecha As Long) As Boolean
' ' Crear un objeto Calendar
' Dim cal As JavaObject
' cal.InitializeNewInstance("java.util.GregorianCalendar", Null)
'
' ' Establecer la fecha actual en el objeto Calendar
' cal.RunMethod("setTimeInMillis", Array(fecha))
'
' ' Obtener el día de la semana (1 para domingo, 2 para lunes, ..., 7 para sábado)
' Dim diaSemana As Int = cal.RunMethod("get", Array(7))
'
' ' Verificar si es lunes (día de la semana = 2)
' Return diaSemana = 6
'End Sub
'
'Sub Essabado(fecha As Long) As Boolean
' ' Crear un objeto Calendar
' Dim cal As JavaObject
' cal.InitializeNewInstance("java.util.GregorianCalendar", Null)
'
' ' Establecer la fecha actual en el objeto Calendar
' cal.RunMethod("setTimeInMillis", Array(fecha))
'
' ' Obtener el día de la semana (1 para domingo, 2 para lunes, ..., 7 para sábado)
' Dim diaSemana As Int = cal.RunMethod("get", Array(7))
'
' ' Verificar si es lunes (día de la semana = 2)
' Return diaSemana = 7
'End Sub
'
'Sub EsDomingo(fecha As Long) As Boolean
' ' Crear un objeto Calendar
' Dim cal As JavaObject
' cal.InitializeNewInstance("java.util.GregorianCalendar", Null)
'
' ' Establecer la fecha actual en el objeto Calendar
' cal.RunMethod("setTimeInMillis", Array(fecha))
'
' ' Obtener el día de la semana (1 para domingo, 2 para lunes, ..., 7 para sábado)
' Dim diaSemana As Int = cal.RunMethod("get", Array(7))
'
' ' Verificar si es lunes (día de la semana = 2)
' Return diaSemana = 1
'End Sub