mirror of
https://github.com/KeymonSoft/Gabinete-Roit.git
synced 2026-04-17 19:37:10 +00:00
400 lines
12 KiB
QBasic
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
|