Commit inicial
3
.gitignore
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
**/Objects
|
||||||
|
**/AutoBackups
|
||||||
|
*.meta
|
||||||
622
B4A/B4XMainPage.bas
Normal file
@@ -0,0 +1,622 @@
|
|||||||
|
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
|
||||||
|
'Ctrl + click to export as zip: ide://run?File=%B4X%\Zipper.jar&Args=Project.zip
|
||||||
|
'###########################################################################################################
|
||||||
|
'###################### PULL #############################################################
|
||||||
|
'Ctrl + click ide://run?file=%WINDIR%\System32\cmd.exe&Args=/c&Args=..\..\gitpull.bat
|
||||||
|
'###########################################################################################################
|
||||||
|
'###################### PUSH #############################################################
|
||||||
|
'Ctrl + click ide://run?file=%WINDIR%\System32\cmd.exe&Args=/c&Args=github&Args=..\..\
|
||||||
|
'###########################################################################################################
|
||||||
|
#End Region
|
||||||
|
|
||||||
|
|
||||||
|
Sub Class_Globals
|
||||||
|
Private Root As B4XView
|
||||||
|
Private xui As XUI
|
||||||
|
Public login As B4XMainPage
|
||||||
|
Public principal As C_Principal
|
||||||
|
Public clientes As C_Clientes
|
||||||
|
Public cliente As C_Cliente
|
||||||
|
Public productos As C_Productos
|
||||||
|
Public updateAvailable As C_updateAvailable
|
||||||
|
Public mapas As C_Mapas
|
||||||
|
Public nuevoCliente As C_NuevoCliente
|
||||||
|
Public ticketsDia As C_TicketsDia
|
||||||
|
Public noVenta As C_NoVenta
|
||||||
|
Public nota As C_Nota
|
||||||
|
Public pedidos As C_Pedidos
|
||||||
|
Public promos As C_Promos
|
||||||
|
Public historico As C_Historico
|
||||||
|
Public checklist As C_CheckList
|
||||||
|
|
||||||
|
Dim reqManager As DBRequestManager
|
||||||
|
Dim ultimaActualizacionGPS As String = 235959
|
||||||
|
Dim almacen, ruta As String
|
||||||
|
Dim user As EditText
|
||||||
|
Dim pass As EditText
|
||||||
|
Dim c As Cursor
|
||||||
|
Dim D As Cursor
|
||||||
|
Dim existe As String
|
||||||
|
Dim paso1 As String
|
||||||
|
Dim IMEI As String
|
||||||
|
Dim alterno As String
|
||||||
|
Private b_menu As Button
|
||||||
|
' Dim PopupMenu As RSPopupMenu
|
||||||
|
Dim cmd As DBCommand
|
||||||
|
|
||||||
|
Private IMEN As EditText
|
||||||
|
Private Entrar As Button
|
||||||
|
Private Panel1 As Panel
|
||||||
|
Private ImageView4 As ImageView
|
||||||
|
Private E_SERVER As EditText
|
||||||
|
Private B_SERVER As Button
|
||||||
|
Private B_FECHA As Button
|
||||||
|
Private CUANTOS As String
|
||||||
|
Private foto_g () As Byte
|
||||||
|
|
||||||
|
Private ListView1 As ListView
|
||||||
|
Private ImageView1 As ImageView
|
||||||
|
Private Label1 As Label
|
||||||
|
Private B_BorrarFinDia As Button
|
||||||
|
Private b_fdCancelar As Button
|
||||||
|
Private b_findiaOk As Button
|
||||||
|
Private p_finDia As Panel
|
||||||
|
Private et_autSup As EditText
|
||||||
|
|
||||||
|
'prueba downloadfile
|
||||||
|
Dim ProgressBar1 As ProgressBar
|
||||||
|
Dim Label1 As Label
|
||||||
|
Dim btnDownload As Button
|
||||||
|
Dim btnCancel As Button
|
||||||
|
Private p_download As Panel
|
||||||
|
Private Label6 As Label
|
||||||
|
Dim logger As Boolean = True
|
||||||
|
|
||||||
|
Dim lat_gps, lon_gps As String
|
||||||
|
Dim tipo_venta As String
|
||||||
|
Dim bTerminarClicked As Boolean = False
|
||||||
|
Private lv_server As ListView
|
||||||
|
Private l_server As Label
|
||||||
|
Public rutaBDBackup As String = ""
|
||||||
|
Private b_envioBD As Button
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Sub Initialize
|
||||||
|
B4XPages.GetManager.LogEvents = True
|
||||||
|
#if not(DEBUG)
|
||||||
|
Starter.logger = False
|
||||||
|
#end if
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'This event will be called once, before the page becomes visible.
|
||||||
|
Private Sub B4XPage_Created (Root1 As B4XView)
|
||||||
|
If Not(Starter.Logger) Then logger = False
|
||||||
|
Root = Root1
|
||||||
|
' Root.LoadLayout("MainPage")
|
||||||
|
Root.LoadLayout("login")
|
||||||
|
B4XPages.SetTitle(Me, "Kelloggs Preventa")
|
||||||
|
login.Initialize
|
||||||
|
B4XPages.AddPage("Login", login)
|
||||||
|
principal.Initialize
|
||||||
|
B4XPages.AddPage("Principal", principal)
|
||||||
|
clientes.Initialize
|
||||||
|
B4XPages.AddPage("Clientes", clientes)
|
||||||
|
cliente.Initialize
|
||||||
|
B4XPages.AddPageAndCreate("Cliente", cliente)
|
||||||
|
productos.Initialize
|
||||||
|
B4XPages.AddPage("Productos", productos)
|
||||||
|
updateAvailable.Initialize
|
||||||
|
B4XPages.AddPage("updateAvailable", updateAvailable)
|
||||||
|
mapas.Initialize
|
||||||
|
B4XPages.AddPage("Mapas", mapas)
|
||||||
|
nuevoCliente.Initialize
|
||||||
|
B4XPages.AddPageAndCreate("NuevoCliente", nuevoCliente)
|
||||||
|
ticketsDia.Initialize
|
||||||
|
B4XPages.AddPage("TicketsDia", ticketsDia)
|
||||||
|
noVenta.Initialize
|
||||||
|
B4XPages.AddPage("NoVenta", noVenta)
|
||||||
|
nota.Initialize
|
||||||
|
B4XPages.AddPage("Nota", nota)
|
||||||
|
pedidos.Initialize
|
||||||
|
B4XPages.AddPage("Pedidos", pedidos)
|
||||||
|
promos.Initialize
|
||||||
|
B4XPages.AddPage("Promos", promos)
|
||||||
|
historico.Initialize
|
||||||
|
B4XPages.AddPage("Historico", historico)
|
||||||
|
checklist.Initialize
|
||||||
|
B4XPages.AddPage("CheckList", checklist)
|
||||||
|
ruta = Starter.ruta
|
||||||
|
ruta = File.DirInternal
|
||||||
|
Starter.tiempos.Initialize
|
||||||
|
Dim sDate, sTime As String
|
||||||
|
DateTime.DateFormat = "yyyyMMdd"
|
||||||
|
sDate=DateTime.Date(DateTime.Now)
|
||||||
|
Starter.skmt.ExecNonQuery("DROP TABLE IF EXISTS PEDIDO3")
|
||||||
|
Starter.skmt.ExecNonQuery("CREATE TABLE PEDIDO3 (PE_PRECIO2 TEXT,PE_TIPO TEXT,PE_FOLIO NUMERIC,PE_DESC NUMERIC,PE_COSTO_SIN TEXT,PE_RUTA TEXT,PE_CEDIS TEXT,PE_COSTO_TOT NUMERIC,PE_COSTOU NUMERIC,PE_CANT NUMERIC,PE_PRONOMBRE TEXT,PE_PROID TEXT,PE_CLIENTE TEXT,PE_FECHA TEXT,PE_USUARIO TEXT)")
|
||||||
|
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS DESC_CLIENTES (DC_CL_CLIENTE TEXT, CAT_CL_DESCUENTO_SS TEXT, CAT_CL_DESCUENTO_RTEC TEXT, CAT_CL_DESCUENTO_PING TEXT, CAT_CL_TIPOCLIENTE TEXT)")
|
||||||
|
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_ENCUESTA (HE_CLIE TEXT, HE_RES TEXT, HE_FECHA TEXT, HE_TIPO TEXT)")
|
||||||
|
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_DESCUENTOS_SKU (CAT_DS_CLIENTE TEXT, CAT_DS_PRODID TEXT, CAT_DS_PORCENTAJE TEXT)")
|
||||||
|
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_ENVIOS (HE_FECHA TEXT, HE_CUANTOS TEXT, HE_TIPO TEXT)")
|
||||||
|
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_ENCUESTA_PREGUNTA (CAT_EP_ID TEXT,CAT_EP_IDTIPOPREGUNTA TEXT,CAT_CE_DESCRIPCION TEXT,CAT_EP_PREGUNTA TEXT,CAT_EP_RES1_PRED TEXT,CAT_EP_RES2_PRED TEXT,CAT_EP_RES3_PRED TEXT,CAT_EP_ORDEN_PREGUNTA TEXT)")
|
||||||
|
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_FOTOS (HF_FOTO BLOB, HF_CUENTA TEXT, HF_IDENCUESTA TEXT)")
|
||||||
|
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CLIENTE_IMPRESO (CI_CUENTA TEXT)")
|
||||||
|
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_PROMO_MONTO (CPM_IDPROMO TEXT, CPM_MONTO TEXT, CPM_PROID TEXT, CPM_CLIENTE TEXT, CPM_CANT TEXT, CPM_RANGO TEXT, CPM_DESC TEXT)")
|
||||||
|
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_ENVIOS VALUES (?,0,?)", Array As Object(sTime, "PEDIDO"))
|
||||||
|
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_EXHIBIDORES2 (HIST_EX_ID_CLIENTE TEXT, HIST_EX_TIPO TEXT, HIST_EX_CANT TEXT)")
|
||||||
|
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_PROMO_WHATS(HIST_CLIENTE TEXT, HIST_RESPUESTA_PROMO)")
|
||||||
|
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_RMI(CAT_GP_ID TEXT,CAT_GP_NOMBRE TEXT,CAT_GP_PRECIO TEXT)")
|
||||||
|
|
||||||
|
''' PARA LO DE DOE---
|
||||||
|
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_GUNAPROD_DOE (CAT_GP_ID TEXT,CAT_GP_NOMBRE TEXT,CAT_GP_IMP1 TEXT,CAT_GP_IMP2 TEXT,CAT_GP_PRECIO TEXT,CAT_GP_CLASIF TEXT,CAT_GP_STS TEXT,CAT_GP_TIPO TEXT,CAT_GP_SUBTIPO TEXT,CAT_GP_IMG TEXT,CAT_GP_ALMACEN TEXT,CAT_GP_TIPOPROD TEXT,CAT_GP_INICIATIVA TEXT,CAT_GP_DEV TEXT,CAT_GP_CODPROMO TEXT)")
|
||||||
|
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS PEDIDO_DOE (PE_PRECIO2 TEXT,PE_TIPO TEXT,PE_FOLIO NUMERIC,PE_DESC NUMERIC,PE_COSTO_SIN TEXT,PE_RUTA TEXT,PE_CEDIS TEXT,PE_COSTO_TOT NUMERIC,PE_COSTOU NUMERIC,PE_CANT NUMERIC,PE_PRONOMBRE TEXT,PE_PROID TEXT,PE_CLIENTE TEXT,PE_FECHA TEXT,PE_USUARIO TEXT)")
|
||||||
|
''' FIN DOE
|
||||||
|
|
||||||
|
Try 'Intentamos usar "pragma_table_info" para revisar si existe la columna "IMPRESION" en la tabla
|
||||||
|
c=Starter.skmt.ExecQuery("SELECT COUNT(*) AS fCol FROM pragma_table_info('kmt_info') WHERE name='IMPRESION'")
|
||||||
|
c.Position = 0
|
||||||
|
If c.GetString("fCol") = 0 Then 'Si no esta la columna FECHA la agregamos
|
||||||
|
Starter.skmt.ExecNonQuery("ALTER TABLE kmt_info ADD COLUMN IMPRESION INTEGER")
|
||||||
|
End If
|
||||||
|
Catch 'Si no funciona "pragma_table_info" lo hacemos con try/catch
|
||||||
|
Try
|
||||||
|
Starter.skmt.ExecNonQuery("ALTER TABLE kmt_info ADD COLUMN IMPRESION INTEGER")
|
||||||
|
Catch
|
||||||
|
Log(LastException)
|
||||||
|
End Try
|
||||||
|
End Try
|
||||||
|
Try 'Agregamos columna fecha a usuarioa
|
||||||
|
c=Starter.skmt.ExecQuery("SELECT fecha FROM usuarioa")
|
||||||
|
Catch
|
||||||
|
LogColor("Agregamos columna fecha a usuarioa", Colors.red)
|
||||||
|
Starter.skmt.ExecNonQuery("ALTER TABLE usuarioa ADD COLUMN FECHA TEXT")
|
||||||
|
End Try
|
||||||
|
If sDate = "20190523" Then
|
||||||
|
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.server))
|
||||||
|
End If
|
||||||
|
' Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("ULTIMOMODULO"))
|
||||||
|
' Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("ULTIMOMODULO", "MAIN"))
|
||||||
|
c=Starter.skmt.ExecQuery2("select count(*) as CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("SERVER"))
|
||||||
|
c.Position =0
|
||||||
|
If c.GetString("CUANTOS") = 0 Then
|
||||||
|
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("SERVER",Starter.server))
|
||||||
|
Else
|
||||||
|
c=Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("SERVER"))
|
||||||
|
c.Position =0
|
||||||
|
Starter.server = c.GetString("CAT_VA_VALOR")
|
||||||
|
reqManager.Initialize(Me, Starter.server)
|
||||||
|
End If
|
||||||
|
reqManager.Initialize(Me, Starter.server)
|
||||||
|
' Activity.LoadLayout("login")
|
||||||
|
Label1.Text = Application.VersionName
|
||||||
|
Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_WRITE_EXTERNAL_STORAGE)
|
||||||
|
Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean)
|
||||||
|
If Result Then Log("Tenemos permisos de escritura externa.")
|
||||||
|
c=Starter.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS FROM TMP_INSPECCION_AUTO_DIARIA")
|
||||||
|
c.Position = 0
|
||||||
|
CUANTOS = c.GetString("CUANTOS")
|
||||||
|
c.Close
|
||||||
|
If CUANTOS = 0 Then
|
||||||
|
Dim theDir As String
|
||||||
|
If File.IsDirectory("/","kmts") Then
|
||||||
|
theDir = "/kmts"
|
||||||
|
End If
|
||||||
|
Try
|
||||||
|
File.MakeDir(File.DirInternal,"kmts")
|
||||||
|
theDir = "/kmts"
|
||||||
|
Catch
|
||||||
|
theDir = ""
|
||||||
|
End Try
|
||||||
|
Try
|
||||||
|
foto_g = Bit.InputStreamToBytes(File.OpenInput(File.DirAssets, "vista1.png"))
|
||||||
|
Dim SALIDA As OutputStream
|
||||||
|
SALIDA = File. OpenOutput (File.DirInternal&theDir, "FOTO1.jpg", False)
|
||||||
|
SALIDA.WriteBytes(foto_g, 0, foto_g.Length)
|
||||||
|
SALIDA.Close
|
||||||
|
' If Logger Then LogColor("** ** Creamos FOTO1.jpg en "&File.DirInternal, Colors.Blue)
|
||||||
|
Catch
|
||||||
|
Msgbox("No se puede crear el archivo de foto","Aviso") 'ignore
|
||||||
|
End Try
|
||||||
|
Try
|
||||||
|
foto_g = Bit.InputStreamToBytes(File.OpenInput(File.DirAssets, "vista3.png"))
|
||||||
|
Dim SALIDA As OutputStream
|
||||||
|
SALIDA = File. OpenOutput (File.DirInternal&theDir, "FOTO2.jpg", False)
|
||||||
|
SALIDA.WriteBytes(foto_g, 0, foto_g.Length)
|
||||||
|
SALIDA.Close
|
||||||
|
Catch
|
||||||
|
Msgbox("No se puede crear el archivo de foto","Aviso") 'ignore
|
||||||
|
End Try
|
||||||
|
Try
|
||||||
|
foto_g = Bit.InputStreamToBytes(File.OpenInput(File.DirAssets, "vista2.png"))
|
||||||
|
Dim SALIDA As OutputStream
|
||||||
|
SALIDA = File. OpenOutput (File.DirInternal&theDir, "FOTO3.jpg", False)
|
||||||
|
SALIDA.WriteBytes(foto_g, 0, foto_g.Length)
|
||||||
|
SALIDA.Close
|
||||||
|
Catch
|
||||||
|
Msgbox("No se puede crear el archivo de foto","Aviso") 'ignore
|
||||||
|
End Try
|
||||||
|
Try
|
||||||
|
foto_g = Bit.InputStreamToBytes(File.OpenInput(File.DirAssets, "vista4.png"))
|
||||||
|
Dim SALIDA As OutputStream
|
||||||
|
SALIDA = File. OpenOutput (File.DirInternal&theDir, "FOTO4.jpg", False)
|
||||||
|
SALIDA.WriteBytes(foto_g, 0, foto_g.Length)
|
||||||
|
SALIDA.Close
|
||||||
|
Catch
|
||||||
|
Msgbox("No se puede crear el archivo de foto","Aviso") 'ignore
|
||||||
|
End Try
|
||||||
|
End If
|
||||||
|
' Dim ph As Phone 'Get Id Device
|
||||||
|
Dim DeviceID As String = Starter.ph.GetSettings("android_id").ToUpperCase
|
||||||
|
If logger Then Log($"Marca: ${Starter.ph.manufacturer}, Modelo: ${Starter.ph.model}"$)
|
||||||
|
If logger Then LogColor($"////////////////// DeviceID: ${DeviceID} ////////////////// "$, Colors.Blue)
|
||||||
|
' If Logger Then LogColor("Revisa permisos Phone_State", Colors.Green)
|
||||||
|
Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_READ_PHONE_STATE)
|
||||||
|
Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean)
|
||||||
|
If Result Then
|
||||||
|
Dim Phn As PhoneId
|
||||||
|
IMEN.Text = "" 'Phn.GetDeviceId
|
||||||
|
IMEI ="" ' Phn.GetDeviceId
|
||||||
|
If logger Then LogColor($"////////////////// IMEI: ${IMEI} ////////////////// "$, Colors.Blue)
|
||||||
|
End If
|
||||||
|
'este codigo es para lo del menu
|
||||||
|
' PopupMenu.Initialize("PopupMenu", b_menu)
|
||||||
|
' PopupMenu.AddMenuItem(0, 0, "View")
|
||||||
|
' PopupMenu.AddMenuItem(1, 1, "Edit")
|
||||||
|
' PopupMenu.AddMenuItem(2, 2, "Details")
|
||||||
|
' PopupMenu.AddMenuItem(3, 3, "Remove")
|
||||||
|
' menu fin
|
||||||
|
Subs.borraArribaDe100Errores
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub B4XPage_Appear
|
||||||
|
' server = "http://keymon.com.mx:1782"
|
||||||
|
' server = "http://201.99.139.28:1782"
|
||||||
|
' server = "http://177.244.63.54:1782"
|
||||||
|
reqManager.Initialize(Me, Starter.server)
|
||||||
|
Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_ACCESS_FINE_LOCATION)
|
||||||
|
Wait For B4XPAge_PermissionResult (Permission As String, Result As Boolean)
|
||||||
|
If Result Then
|
||||||
|
StartService(Tracker)
|
||||||
|
If logger Then Log("Start Tracker")
|
||||||
|
Else
|
||||||
|
ToastMessageShow("Sin permisos para GPS", True)
|
||||||
|
End If
|
||||||
|
Starter.montoActual = 0
|
||||||
|
Starter.clientesTotal = 0
|
||||||
|
Starter.clientesVenta = 0
|
||||||
|
Starter.clientesVisitados = 0
|
||||||
|
almacen = 0
|
||||||
|
Starter.rutaPreventa = 0
|
||||||
|
Starter.CANTIDADPROD = 0
|
||||||
|
c.Close
|
||||||
|
c=Starter.skmt.ExecQuery2("select count(*) as CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("CODIGO"))
|
||||||
|
c.Position =0
|
||||||
|
CUANTOS = c.GetString("CUANTOS")
|
||||||
|
c.Close
|
||||||
|
If CUANTOS > 0 Then
|
||||||
|
c=Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("CODIGO"))
|
||||||
|
c.Position =0
|
||||||
|
If c.GetString("CAT_VA_VALOR") = "743" Then
|
||||||
|
Entrar.Visible = True
|
||||||
|
End If
|
||||||
|
c.Close
|
||||||
|
Else
|
||||||
|
Log("INSERTAMOS CODIGO EN CAT_VARIABLES")
|
||||||
|
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("CODIGO","743"))
|
||||||
|
End If
|
||||||
|
c=Starter.skmt.ExecQuery2("select COUNT(*) AS CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("MACIMP"))
|
||||||
|
c.Position =0
|
||||||
|
If c.GetString("CUANTOS") = 0 Then
|
||||||
|
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("MACIMP","0"))
|
||||||
|
End If
|
||||||
|
D=Starter.skmt.ExecQuery("select COUNT(*) AS CUANTOS from version")
|
||||||
|
D.Position=0
|
||||||
|
If D.GetString("CUANTOS") > 0 Then
|
||||||
|
c=Starter.skmt.ExecQuery("select NOVERSION from version")
|
||||||
|
c.Position = 0
|
||||||
|
If c.GetString("NOVERSION") = "2.1" Then
|
||||||
|
Starter.skmt.ExecNonQuery("delete from VERSION")
|
||||||
|
End If
|
||||||
|
c.Close
|
||||||
|
End If
|
||||||
|
D.Close
|
||||||
|
D=Starter.skmt.ExecQuery("select COUNT(*) AS CUANTOS from version")
|
||||||
|
D.Position=0
|
||||||
|
If D.GetString("CUANTOS") > 0 Then
|
||||||
|
c=Starter.skmt.ExecQuery("select NOVERSION from version")
|
||||||
|
c.Position = 0
|
||||||
|
If c.GetString("NOVERSION") <> "2.95" Then
|
||||||
|
Msgbox("INSTALAR NUEVO APK" ,"AVISO") 'ignore
|
||||||
|
B4XPage_Appear
|
||||||
|
End If
|
||||||
|
c.Close
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
|
||||||
|
|
||||||
|
Sub Entrar_Click
|
||||||
|
DateTime.DateFormat = "yyyyMMdd"
|
||||||
|
If user.Text = "ALTERNO" Then
|
||||||
|
c=Starter.skmt.ExecQuery2("select CAT_CO_CONFIGURACION, CAT_CO_RESULTADO from CAT_CODIGOS where CAT_CO_PONDERACION =1 AND CAT_CO_ACCION = ?", Array As String("SERVER"))
|
||||||
|
c.Position =0
|
||||||
|
Starter.server = c.GetString("CAT_CO_CONFIGURACION")
|
||||||
|
alterno = c.GetString("CAT_CO_RESULTADO")
|
||||||
|
c.Close
|
||||||
|
If alterno = 1 Then
|
||||||
|
Starter.skmt.ExecNonQuery2("UPDATE CAT_CODIGOS SET CAT_CO_PONDERACION = 1 WHERE CAT_CO_ACCION = ? AND CAT_CO_RESULTADO = 2", Array As String ("SERVER"))
|
||||||
|
Starter.skmt.ExecNonQuery2("UPDATE CAT_CODIGOS SET CAT_CO_PONDERACION = 0 WHERE CAT_CO_ACCION = ? AND CAT_CO_RESULTADO = 1", Array As String ("SERVER"))
|
||||||
|
Else if alterno = 2 Then
|
||||||
|
Starter.skmt.ExecNonQuery2("UPDATE CAT_CODIGOS SET CAT_CO_PONDERACION = 1 WHERE CAT_CO_ACCION = ? AND CAT_CO_RESULTADO = 1", Array As String ("SERVER"))
|
||||||
|
Starter.skmt.ExecNonQuery2("UPDATE CAT_CODIGOS SET CAT_CO_PONDERACION = 0 WHERE CAT_CO_ACCION = ? AND CAT_CO_RESULTADO = 2", Array As String ("SERVER"))
|
||||||
|
End If
|
||||||
|
c=Starter.skmt.ExecQuery2("select CAT_CO_CONFIGURACION, CAT_CO_RESULTADO from CAT_CODIGOS where CAT_CO_PONDERACION =1 AND CAT_CO_ACCION = ?", Array As String("SERVER"))
|
||||||
|
c.Position =0
|
||||||
|
Starter.server = c.GetString("CAT_CO_CONFIGURACION")
|
||||||
|
user.Text = Starter.server
|
||||||
|
c.Close
|
||||||
|
reqManager.Initialize(Me, Starter.server)
|
||||||
|
else if user.Text = "KMTSKLL1" Then
|
||||||
|
Starter.skmt.ExecNonQuery("delete from usuarioa")
|
||||||
|
Starter.skmt.ExecNonQuery2("INSERT INTO USUARIOA VALUES (?,?,?)", Array As Object(user.Text, pass.Text, DateTime.Date(DateTime.Now)))
|
||||||
|
Starter.skmt.ExecNonQuery("delete from cat_almacen")
|
||||||
|
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_ALMACEN(ID_ALMACEN) VALUES (?)", Array As Object (pass.Text))
|
||||||
|
Starter.skmt.ExecNonQuery("delete from VERSION")
|
||||||
|
Starter.skmt.ExecNonQuery2("INSERT INTO VERSION(NOVERSION) VALUES (?)", Array As Object ("2.95"))
|
||||||
|
B4XPages.ShowPage("Principal")
|
||||||
|
End If
|
||||||
|
' c=Starter.skmt.ExecQuery2("select count(*) as EXISTE1 from usuarioa where usuario = ?", Array As String(user.Text))
|
||||||
|
c=Starter.skmt.ExecQuery2($"select count(*) as EXISTE1 from usuarioa where usuario = ? and fecha = ${DateTime.Date(DateTime.Now)}"$, Array As String(user.Text))
|
||||||
|
c.Position=0
|
||||||
|
existe = c.GetString("EXISTE1")
|
||||||
|
' Log($"${existe}, ${DateTime.Date(DateTime.Now)}, ${user.Text}"$ )
|
||||||
|
'existe = 1
|
||||||
|
If existe = 0 Then
|
||||||
|
'skmt.ExecNonQuery("delete from usuarioa")
|
||||||
|
Dim cmd As DBCommand
|
||||||
|
cmd.Initialize
|
||||||
|
cmd.Name = "select_usuario_guna_KELL"
|
||||||
|
cmd.Parameters = Array As Object(user.Text, pass.Text)
|
||||||
|
reqManager.ExecuteQuery(cmd , 0, "usuario")
|
||||||
|
Dim cmd As DBCommand
|
||||||
|
cmd.Initialize
|
||||||
|
cmd.Name = "select_version_KELL"
|
||||||
|
reqManager.ExecuteQuery(cmd , 0, "version")
|
||||||
|
Else
|
||||||
|
Subs.iniciaActividad("Principal")
|
||||||
|
' B4XPages.ShowPage("Principal")
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub JobDone(Job As HttpJob)
|
||||||
|
If Job.Success = False Then
|
||||||
|
ToastMessageShow("Error: " & Job.ErrorMessage, True)
|
||||||
|
Else
|
||||||
|
If logger Then LogColor("JobDone: '" & reqManager.HandleJob(Job).tag & "' - Registros: " & reqManager.HandleJob(Job).Rows.Size, Colors.Green) 'Mod por CHV - 211110
|
||||||
|
If Job.JobName = "DBRequest" Then
|
||||||
|
Dim result As DBResult = reqManager.HandleJob(Job)
|
||||||
|
If result.Tag = "version" Then 'query tag
|
||||||
|
For Each records() As Object In result.Rows
|
||||||
|
Starter.skmt.ExecNonQuery("delete from VERSION")
|
||||||
|
Dim CAT_VE_VERSION As String = records(result.Columns.Get("CAT_VE_VERSION"))
|
||||||
|
Starter.skmt.ExecNonQuery("delete from VERSION")
|
||||||
|
Starter.skmt.ExecNonQuery2("INSERT INTO VERSION(NOVERSION) VALUES (?)", Array As Object (CAT_VE_VERSION))
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
If Job.JobName = "DBRequest" Then
|
||||||
|
Dim result As DBResult = reqManager.HandleJob(Job)
|
||||||
|
If result.Tag = "agencia" Then 'query tag
|
||||||
|
For Each records() As Object In result.Rows
|
||||||
|
Dim ID_ALMACEN As String = records(result.Columns.Get("ID_ALMACEN"))
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
If Job.JobName = "DBRequest" Then
|
||||||
|
Dim result As DBResult = reqManager.HandleJob(Job)
|
||||||
|
If result.Tag = "fecha" Then 'query tag
|
||||||
|
For Each records() As Object In result.Rows
|
||||||
|
Starter.FECHA_HOY = records(result.Columns.Get("FECHA"))
|
||||||
|
Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("FECHA"))
|
||||||
|
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("FECHA", Starter.FECHA_HOY))
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
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
|
||||||
|
Dim name As String = records(result.Columns.Get("USUARIO"))
|
||||||
|
Dim ID_ALMACEN As String = records(result.Columns.Get("CAT_LO_AGENCIA"))
|
||||||
|
If logger Then Log(name)
|
||||||
|
' Dim IMEI_BASE As String = records(result.Columns.Get("CAT_LO_IDTELEFONO"))
|
||||||
|
Next
|
||||||
|
paso1 = 1
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
Job.Release
|
||||||
|
End If
|
||||||
|
|
||||||
|
If paso1 =1 Then
|
||||||
|
If name = "OKActivo" Then
|
||||||
|
LogColor("Borramos e insertamos a usuarioa", Colors.green)
|
||||||
|
DateTime.DateFormat = "yyyyMMdd"
|
||||||
|
Starter.skmt.ExecNonQuery("delete from usuarioa")
|
||||||
|
Starter.skmt.ExecNonQuery2("INSERT INTO USUARIOA VALUES (?,?,?)", Array As Object(user.Text, pass.Text, DateTime.Date(DateTime.Now)))
|
||||||
|
Starter.skmt.ExecNonQuery("delete from cat_almacen")
|
||||||
|
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_ALMACEN(ID_ALMACEN) VALUES (?)", Array As Object (ID_ALMACEN))
|
||||||
|
almacen = ID_ALMACEN
|
||||||
|
Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("NUMERO_PEDIDO"))
|
||||||
|
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("NUMERO_PEDIDO",0))
|
||||||
|
' B4XPages.ShowPage("Principal")
|
||||||
|
Subs.iniciaActividad("principal")
|
||||||
|
Else If name = "OKExpirado" Then
|
||||||
|
Msgbox("Usuario Expirado llamar al administrador","") 'ignore
|
||||||
|
Else If name = "OKCancelado" Then
|
||||||
|
Msgbox("Usuario Cancelado llamar al administrador","") 'ignore
|
||||||
|
Else
|
||||||
|
Msgbox("Usuario o password No validos","") 'ignore
|
||||||
|
End If
|
||||||
|
paso1 = 0
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub B4XPage_CloseRequest As ResumableSub
|
||||||
|
' BACK key pressed
|
||||||
|
'Return True to close, False to cancel
|
||||||
|
Log("BACK")
|
||||||
|
If Panel1.Visible Then
|
||||||
|
Panel1.Visible = False
|
||||||
|
Entrar.Visible = True
|
||||||
|
Return True
|
||||||
|
Else
|
||||||
|
If logger Then Log("Saliendo")
|
||||||
|
B4XPages.ClosePage(Me)
|
||||||
|
Subs.cierraActividades
|
||||||
|
Return True
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub GPS_LocationChanged (Location1 As Location)
|
||||||
|
If user.text = "GPS" Then
|
||||||
|
user.Text=Location1.Latitude
|
||||||
|
pass.text=Location1.Longitude
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub PopupMenu_Dismiss
|
||||||
|
ToastMessageShow("PopupMenu dismissed", False)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub PopupMenu_MenuItemClick (ItemId As Int) As Boolean
|
||||||
|
ToastMessageShow("Item " & ItemId & " clicked.", False)
|
||||||
|
Return False
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub b_menu_Click
|
||||||
|
' PopupMenu.Show
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub IMEN_EnterPressed
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub user_EnterPressed
|
||||||
|
If user.Text = "CODIGO" Then
|
||||||
|
IMEN.Visible = True
|
||||||
|
user.Text = ""
|
||||||
|
End If
|
||||||
|
DateTime.DateFormat = "yyyyMMdd"
|
||||||
|
c=Starter.skmt.ExecQuery2($"select count(*) as EXISTE1 from usuarioa where usuario = ? and fecha = ${DateTime.Date(DateTime.Now)}"$, Array As String(user.Text))
|
||||||
|
c.Position=0
|
||||||
|
existe = c.GetString("EXISTE1")
|
||||||
|
If existe = 1 Then Subs.iniciaActividad("Principal")
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub ImageView4_Click
|
||||||
|
Entrar.Visible = False
|
||||||
|
' Starter.server = "http://201.99.139.28:1782"
|
||||||
|
' Starter.server = "http://177.244.63.54:1782"
|
||||||
|
' Starter.server = "http://keymon.com.mx:1782"
|
||||||
|
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:1782")
|
||||||
|
ListView1.AddSingleLine("http://keymon.lat:1782")
|
||||||
|
c=Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("SERVER"))
|
||||||
|
c.Position =0
|
||||||
|
E_SERVER.text = c.GetString("CAT_VA_VALOR")
|
||||||
|
Panel1.Visible = True
|
||||||
|
Panel1.Width = Root.Width * 0.95
|
||||||
|
Panel1.Left = (Root.Width/2) - (Panel1.Width/2)
|
||||||
|
Panel1.Top = (Root.Height/2) - (Panel1.Height/2)
|
||||||
|
Panel1.Elevation = 100
|
||||||
|
Panel1.BringToFront
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub ImageView4_LongClick
|
||||||
|
Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_WRITE_EXTERNAL_STORAGE)
|
||||||
|
Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean)
|
||||||
|
Subs.copiaDB(Result)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub B_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",E_SERVER.text))
|
||||||
|
Starter.server = E_SERVER.text
|
||||||
|
If logger Then Log("Inicializamos reqManager con " & Starter.server)
|
||||||
|
reqManager.Initialize(Me, Starter.server)
|
||||||
|
CallSubDelayed(Starter, "reinicializaReqManager")
|
||||||
|
Panel1.Visible = False
|
||||||
|
Entrar.Visible = True
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub B_FECHA_Click
|
||||||
|
Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("MACIMP"))
|
||||||
|
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("MACIMP","0"))
|
||||||
|
Panel1.Visible = False
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub ListView1_ItemClick (Position As Int, Value As Object)
|
||||||
|
E_SERVER.text = Value
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub ImageView1_Click
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub B_BorrarFinDia_Click
|
||||||
|
p_finDia.Visible = True
|
||||||
|
p_finDia.BringToFront
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub b_fdCancelar_Click
|
||||||
|
p_finDia.Visible = False
|
||||||
|
p_finDia.SendToBack
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub b_findiaOk_Click
|
||||||
|
c=Starter.skmt.ExecQuery2("select count(*) as passOk from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ? and CAT_VA_VALOR = ?", Array As String ("FINDIA_PASS", et_autSup.Text))
|
||||||
|
c.Position =0
|
||||||
|
If c.GetString("passOk") = 1 Or et_autSup.Text = "FinDiaAutOk" Then
|
||||||
|
Starter.skmt.ExecNonQuery("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'FINDIA_FECHA'")
|
||||||
|
ToastMessageShow("Ya se puede hacer FIN DIA!!", True)
|
||||||
|
p_finDia.Visible = False
|
||||||
|
p_finDia.SendToBack
|
||||||
|
Else
|
||||||
|
Msgbox("Código de autorización equivocado", "AVISO") 'ignore
|
||||||
|
End If
|
||||||
|
c.Close
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'Enviamos la base de datos por correo
|
||||||
|
Private Sub b_envioBD_Click
|
||||||
|
Public Provider As FileProvider
|
||||||
|
Provider.Initialize
|
||||||
|
Dim FileName As String = "kmt.db"
|
||||||
|
Log("************* : "&Provider.SharedFolder)
|
||||||
|
Sleep(1000)
|
||||||
|
'Copy the shared file to the shared folder
|
||||||
|
File.Copy(File.DirInternal, FileName, Provider.SharedFolder, FileName)
|
||||||
|
Dim email As Email
|
||||||
|
email.To.Add("soporte@keymonsoft.com")
|
||||||
|
email.Subject = "Envío base de datos de ruta con problemas."
|
||||||
|
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
|
||||||
710
B4A/C_Calculadora.bas
Normal file
@@ -0,0 +1,710 @@
|
|||||||
|
B4A=true
|
||||||
|
Group=Default Group
|
||||||
|
ModulesStructureVersion=1
|
||||||
|
Type=Class
|
||||||
|
Version=11.5
|
||||||
|
@EndOfDesignText@
|
||||||
|
Sub Class_Globals
|
||||||
|
Private Root As B4XView 'ignore
|
||||||
|
Private xui As XUI 'ignore
|
||||||
|
'--***---- BOLETA DE LIQUIDACION
|
||||||
|
Private P_BOLETA As Panel
|
||||||
|
'------ BILLETES
|
||||||
|
Private LBL_TMIL As Label
|
||||||
|
Private LBL_TQUIN As Label
|
||||||
|
Private LBL_TDOS As Label
|
||||||
|
Private LBL_TCIEN As Label
|
||||||
|
Private LBL_TCIN As Label
|
||||||
|
Private LBL_TVEIN As Label
|
||||||
|
Private LBL_MIL As Label
|
||||||
|
Private LBL_QUIN As Label
|
||||||
|
Private LBL_DOSC As Label
|
||||||
|
Private LBL_CIEN As Label
|
||||||
|
Private LBL_CINCUEN As Label
|
||||||
|
Private LBL_VEINTE As Label
|
||||||
|
Private EDT_CANVEIN As EditText
|
||||||
|
Private EDT_CANCIN As EditText
|
||||||
|
Private EDT_CANCIEN As EditText
|
||||||
|
Private EDT_CANDOS As EditText
|
||||||
|
Private EDT_CANQUIN As EditText
|
||||||
|
Private EDT_CANMIL As EditText
|
||||||
|
Private Btn_TOTALBILLETE As Button
|
||||||
|
Private Pnl_Billete As Panel
|
||||||
|
Private Pnl_Moneda As Panel
|
||||||
|
Private L_CALCULA_BILLE As Label
|
||||||
|
'------ BOTONES MAS Y MENOS
|
||||||
|
Private B_MENMIL As Button
|
||||||
|
Private B_SUMIL As Button
|
||||||
|
Private B_MENQUI As Button
|
||||||
|
Private B_SUQUI As Button
|
||||||
|
Private B_MENDOS As Button
|
||||||
|
Private B_SUDOS As Button
|
||||||
|
Private B_MENCIE As Button
|
||||||
|
Private B_SUCIEN As Button
|
||||||
|
Private B_MENCIN As Button
|
||||||
|
Private B_SUCIN As Button
|
||||||
|
Private B_MENVEI As Button
|
||||||
|
Private B_SUVEI As Button
|
||||||
|
'------ MONEDAS
|
||||||
|
Private L_DIEZ As Label
|
||||||
|
Private L_CINCO As Label
|
||||||
|
Private L_DOS As Label
|
||||||
|
Private L_UNO As Label
|
||||||
|
Private L_CENTAVO As Label
|
||||||
|
Private LBL_TDIEZ As Label
|
||||||
|
Private LBL_TCI As Label
|
||||||
|
Private LBL_TDO As Label
|
||||||
|
Private LBL_TUN As Label
|
||||||
|
Private LBL_TCEN As Label
|
||||||
|
Private EDT_CANCEN As EditText
|
||||||
|
Private EDT_CANUN As EditText
|
||||||
|
Private EDT_CANDO As EditText
|
||||||
|
Private EDT_CANCI As EditText
|
||||||
|
Private EDT_CANDIEZ As EditText
|
||||||
|
Private L_CALCULA_MONEDA As Label
|
||||||
|
Private B_TOTALMONEDA As Button
|
||||||
|
'------ BOTONES MAS Y MENOS
|
||||||
|
Private B_MENCENT As Button
|
||||||
|
Private B_MENUN As Button
|
||||||
|
Private B_MENDO As Button
|
||||||
|
Private B_MENCI As Button
|
||||||
|
Private B_MENDIEZ As Button
|
||||||
|
Private B_SUMDIEZ As Button
|
||||||
|
Private B_SUMCIN As Button
|
||||||
|
Private B_SUMDO As Button
|
||||||
|
Private B_SUMUN As Button
|
||||||
|
Private B_SUMCENT As Button
|
||||||
|
'------ SUMA TOTALES
|
||||||
|
Private B_AGREGAMONE As Button
|
||||||
|
Private B_AGREGABILL As Button
|
||||||
|
Private TOTALES As Label
|
||||||
|
Private B_SUM_TOTAL As Button
|
||||||
|
Private TOTALBILLETES As Button
|
||||||
|
Private TOTALMONEDA As Button
|
||||||
|
Private PNL_TOTALES As Panel
|
||||||
|
Private LBL_RETURN As Label
|
||||||
|
Private IMG_IMPRESORA As Label
|
||||||
|
Private LBL_REGRESA As Label
|
||||||
|
'--***---- FIN BOLETA
|
||||||
|
' Private P_INF_GENERAL As Panel
|
||||||
|
Private B_Regresar As Button
|
||||||
|
' Private ABORDO As String
|
||||||
|
Private a_inicial As String
|
||||||
|
Private a_total As String
|
||||||
|
Private a_venta As String
|
||||||
|
Private a_final As String
|
||||||
|
Private a_VENTA_F As String
|
||||||
|
Private a_inicial_5 As String
|
||||||
|
Private L_INVA As ListView
|
||||||
|
Private B_IMP_INV As Button
|
||||||
|
Private B_CERRAR_I As Button
|
||||||
|
Private Panel_INV_A As Panel
|
||||||
|
Private LBL_TVEINTE As Label
|
||||||
|
Private B_SUMVEINTE As Button
|
||||||
|
Private EDT_CANVEINTE As EditText
|
||||||
|
Private B_MENVEINTE As Button
|
||||||
|
Private L_VEINTE As Label
|
||||||
|
Dim RutaBoleta As String
|
||||||
|
Dim Id_Almacen As String
|
||||||
|
Dim cursorBoleta As Cursor
|
||||||
|
Private Bt_GuardarBoleta As Button
|
||||||
|
Private CUANTOS1 As String
|
||||||
|
Private Panel9 As Panel
|
||||||
|
Private t_tenc As Label
|
||||||
|
Private E_RES_E As EditText
|
||||||
|
Private B_E_NEXT As Button
|
||||||
|
Private Label26 As Label
|
||||||
|
Private l_chk_e As Label
|
||||||
|
Private Chk_1 As CheckBox
|
||||||
|
Private chk_2 As CheckBox
|
||||||
|
Private chk_3 As CheckBox
|
||||||
|
Private b_chk_e As Button
|
||||||
|
Private Panel10 As Panel
|
||||||
|
Private chk_1_valor As String
|
||||||
|
Private chk_2_valor As String
|
||||||
|
Private chk_3_valor As String
|
||||||
|
Private p_encuesta As Panel
|
||||||
|
Private b_encuesta_1 As Button
|
||||||
|
Private b_encuesta_2 As Button
|
||||||
|
Private b_encuesta_3 As Button
|
||||||
|
Private l_titEncuesta As Label
|
||||||
|
Private l_txtEncuesta As Label
|
||||||
|
Private encuestaRes As String
|
||||||
|
Private botonPresionado As Int
|
||||||
|
Private B_IMP2 As Button
|
||||||
|
Dim impresoraConectada As Boolean = False
|
||||||
|
Private l_categoria2 As Label
|
||||||
|
Private l_exhibidor2 As Label
|
||||||
|
Private p_exhibidores As Panel
|
||||||
|
Private Button1 As Button
|
||||||
|
Private b_exhibidor As Button
|
||||||
|
Private l_exhibidores3 As Label
|
||||||
|
Private l_segmento2 As Label
|
||||||
|
Private et_encuesta As EditText
|
||||||
|
Private b_encuesta_continuar As Button
|
||||||
|
Dim muestraBoleta As Boolean = False
|
||||||
|
Private Panel4 As Panel
|
||||||
|
|
||||||
|
Private Edt_FH As EditText
|
||||||
|
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
|
||||||
|
'load the layout to Root
|
||||||
|
Root.LoadLayout("calculadora")
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
|
||||||
|
|
||||||
|
Sub LLAMA_BOLETA
|
||||||
|
'' FECHA DE TELEFONO
|
||||||
|
DateTime.DateFormat="dd/MM/yyyy"
|
||||||
|
Edt_FH.Text=DateTime.Date(DateTime.Now)
|
||||||
|
Subs.panelAnchoAlto(PNL_TOTALES, Root.Width, Root.Height)
|
||||||
|
PNL_TOTALES.Visible=True
|
||||||
|
Pnl_Billete.Visible=True
|
||||||
|
Pnl_Moneda.visible=True
|
||||||
|
LBL_RETURN.Visible=False
|
||||||
|
LBL_REGRESA.Visible=False
|
||||||
|
P_BOLETA.Visible=True
|
||||||
|
' P_INF_GENERAL.Visible=False
|
||||||
|
LBL_REGRESA.Visible=True
|
||||||
|
Private c As Cursor = Starter.skmt.ExecQuery("select * from TMP_CAT_BILLETE join TMP_CAT_MONEDAS")
|
||||||
|
If c.RowCount > 0 Then
|
||||||
|
c.Position = 0
|
||||||
|
Log("==================== CALCULADORA "&c.ColumnCount)
|
||||||
|
' Traemos billetes
|
||||||
|
EDT_CANMIL.Text = "0"
|
||||||
|
If IsNumber(c.GetString("TMP_BILLE_MIL")) Then EDT_CANMIL.Text = c.GetString("TMP_BILLE_MIL")
|
||||||
|
EDT_CANQUIN.Text = "0"
|
||||||
|
If c.GetString("TMP_BILLE_QUINIENTOS")<> Null Then EDT_CANQUIN.Text = c.GetString("TMP_BILLE_QUINIENTOS")
|
||||||
|
EDT_CANDOS.Text = "0"
|
||||||
|
If c.GetString("TMP_BILLE_DOSCIENTOS") <>Null Then EDT_CANDOS.Text = c.GetString("TMP_BILLE_DOSCIENTOS")
|
||||||
|
EDT_CANCIEN.Text = "0"
|
||||||
|
If c.GetString("TMP_BILLE_CIEN")<> Null Then EDT_CANCIEN.Text = c.GetString("TMP_BILLE_CIEN")
|
||||||
|
EDT_CANCIN.Text = "0"
|
||||||
|
If c.GetString("TMP_BILLE_CINCUENTA")<> Null Then EDT_CANCIN.Text = c.GetString("TMP_BILLE_CINCUENTA")
|
||||||
|
EDT_CANVEIN.Text = "0"
|
||||||
|
If c.GetString("TMP_BILLE_VEINTE")<> Null Then EDT_CANVEIN.Text = c.GetString("TMP_BILLE_VEINTE")
|
||||||
|
' Traemos monedas
|
||||||
|
EDT_CANVEINTE.Text = "0"
|
||||||
|
If c.GetString("TMP_MON_VEINTE")<> Null Then EDT_CANVEINTE.Text = c.GetString("TMP_MON_VEINTE")
|
||||||
|
EDT_CANDIEZ.Text = "0"
|
||||||
|
If c.GetString("TMP_MON_DIEZ")<> Null Then EDT_CANDIEZ.Text = c.GetString("TMP_MON_DIEZ")
|
||||||
|
EDT_CANCI.Text = "0"
|
||||||
|
If c.GetString("TMP_MON_CINCO")<> Null Then EDT_CANCI.Text = c.GetString("TMP_MON_CINCO")
|
||||||
|
EDT_CANDO.Text = "0"
|
||||||
|
If c.GetString("TMP_MON_DOS")<> Null Then EDT_CANDO.Text = c.GetString("TMP_MON_DOS")
|
||||||
|
EDT_CANUN.Text = "0"
|
||||||
|
If c.GetString("TMP_MON_UN")<> Null Then EDT_CANUN.Text = c.GetString("TMP_MON_UN")
|
||||||
|
EDT_CANCEN.Text = "0"
|
||||||
|
If c.GetString("TMP_MON_CENTAVOS")<> Null Then EDT_CANCEN.Text = c.GetString("TMP_MON_CENTAVOS")
|
||||||
|
L_CALCULA_BILLE_CLICK
|
||||||
|
L_CALCULA_MONEDA_Click
|
||||||
|
B_SUM_TOTAL.Text = TOTALBILLETES.Text + TOTALMONEDA.text
|
||||||
|
End If
|
||||||
|
Starter.boleta = 0
|
||||||
|
muestraBoleta = False
|
||||||
|
c.Close
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'''BILLETES
|
||||||
|
Sub L_CALCULA_BILLE_CLICK
|
||||||
|
If EDT_CANMIL.Text="" Or EDT_CANQUIN.Text="" Or EDT_CANDOS.Text="" Or EDT_CANCIEN.Text="" Or EDT_CANCIN.Text="" Or EDT_CANVEIN.Text="" Then
|
||||||
|
Pnl_Billete.RequestFocus
|
||||||
|
Msgbox("Por favor llena todas las cantidades","") 'ignore
|
||||||
|
Else
|
||||||
|
LBL_TMIL.Text= LBL_MIL.Tag * EDT_CANMIL.Text
|
||||||
|
LBL_TQUIN.Text=LBL_QUIN.Tag * EDT_CANQUIN.Text
|
||||||
|
LBL_TDOS.Text=LBL_DOSC.Tag * EDT_CANDOS.Text
|
||||||
|
LBL_TCIEN.Text=LBL_CIEN.Tag * EDT_CANCIEN.Text
|
||||||
|
LBL_TCIN.Text=LBL_CINCUEN.Tag * EDT_CANCIN.Text
|
||||||
|
LBL_TVEIN.Text=LBL_VEINTE.Tag * EDT_CANVEIN.Text
|
||||||
|
Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text)
|
||||||
|
TOTALBILLETES.Text=Btn_TOTALBILLETE.Text
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'20
|
||||||
|
Private Sub EDT_CANVEIN_FocusChanged (HasFocus As Boolean)
|
||||||
|
If EDT_CANVEIN.Text = "" Then EDT_CANVEIN.Text = "0"
|
||||||
|
EDT_CANVEIN.Text = Round (EDT_CANVEIN.Text)
|
||||||
|
LBL_TVEIN.Text=LBL_VEINTE.Tag * EDT_CANVEIN.Text
|
||||||
|
Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text)
|
||||||
|
TOTALBILLETES.Text=Btn_TOTALBILLETE.Text
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub B_SUVEI_Click
|
||||||
|
If EDT_CANVEIN.Text = "" Then
|
||||||
|
EDT_CANVEIN.Text=0
|
||||||
|
LBL_TVEIN.Text=LBL_VEINTE.Tag * EDT_CANVEIN.Text
|
||||||
|
Else
|
||||||
|
EDT_CANVEIN.Text = Round (EDT_CANVEIN.Text + 1)
|
||||||
|
LBL_TVEIN.Text=LBL_VEINTE.Tag * EDT_CANVEIN.Text
|
||||||
|
Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text)
|
||||||
|
TOTALBILLETES.Text=Btn_TOTALBILLETE.Text
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub B_MENVEI_Click
|
||||||
|
If EDT_CANVEIN.Text = "" Then
|
||||||
|
EDT_CANVEIN.Text=0
|
||||||
|
LBL_TVEIN.Text=LBL_VEINTE.Tag * EDT_CANVEIN.Text
|
||||||
|
Else IF EDT_CANVEIN.Text > 0 Then
|
||||||
|
EDT_CANVEIN.Text = Round(EDT_CANVEIN.Text -1)
|
||||||
|
LBL_TVEIN.Text=LBL_VEINTE.Tag * EDT_CANVEIN.Text
|
||||||
|
Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text)
|
||||||
|
TOTALBILLETES.Text=Btn_TOTALBILLETE.Text
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
'50
|
||||||
|
Private Sub EDT_CANCIN_FocusChanged (HasFocus As Boolean)
|
||||||
|
If EDT_CANCIN.Text = "" Then EDT_CANCIN.Text = "0"
|
||||||
|
EDT_CANCIN.Text = Round (EDT_CANCIN.Text)
|
||||||
|
LBL_TCIN.Text=LBL_CINCUEN.Tag * EDT_CANCIN.Text
|
||||||
|
Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text)
|
||||||
|
TOTALBILLETES.Text=Btn_TOTALBILLETE.Text
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub B_SUCIN_Click
|
||||||
|
If EDT_CANCIN.Text = "" Then
|
||||||
|
EDT_CANCIN.Text =0
|
||||||
|
LBL_TCIN.Text=LBL_CINCUEN.Tag * EDT_CANCIN.Text
|
||||||
|
Else
|
||||||
|
EDT_CANCIN.Text = Round (EDT_CANCIN.Text + 1)
|
||||||
|
LBL_TCIN.Text=LBL_CINCUEN.Tag * EDT_CANCIN.Text
|
||||||
|
Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text)
|
||||||
|
TOTALBILLETES.Text=Btn_TOTALBILLETE.Text
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub B_MENCIN_Click
|
||||||
|
If EDT_CANCIN.Text = "" Then
|
||||||
|
EDT_CANCIN.Text =0
|
||||||
|
LBL_TCIN.Text=LBL_CINCUEN.Tag * EDT_CANCIN.Text
|
||||||
|
Else IF EDT_CANCIN.Text > 0 Then
|
||||||
|
EDT_CANCIN.Text = Round(EDT_CANCIN.Text -1)
|
||||||
|
LBL_TCIN.Text=LBL_CINCUEN.Tag * EDT_CANCIN.Text
|
||||||
|
Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text)
|
||||||
|
TOTALBILLETES.Text=Btn_TOTALBILLETE.Text
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'100
|
||||||
|
Private Sub EDT_CANCIEN_FocusChanged (HasFocus As Boolean)
|
||||||
|
If EDT_CANCIEN.Text = "" Then EDT_CANCIEN.Text = "0"
|
||||||
|
EDT_CANCIEN.Text = Round (EDT_CANCIEN.Text)
|
||||||
|
LBL_TCIEN.Text=LBL_CIEN.Tag * EDT_CANCIEN.Text
|
||||||
|
Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text)
|
||||||
|
TOTALBILLETES.Text=Btn_TOTALBILLETE.Text
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub B_SUCIEN_Click
|
||||||
|
If EDT_CANCIEN.Text = "" Then
|
||||||
|
EDT_CANCIEN.Text = 0
|
||||||
|
LBL_TCIEN.Text=LBL_CIEN.Tag * EDT_CANCIEN.Text
|
||||||
|
Else
|
||||||
|
EDT_CANCIEN.Text = Round (EDT_CANCIEN.Text + 1)
|
||||||
|
LBL_TCIEN.Text=LBL_CIEN.Tag * EDT_CANCIEN.Text
|
||||||
|
Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text)
|
||||||
|
TOTALBILLETES.Text=Btn_TOTALBILLETE.Text
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub B_MENCIE_Click
|
||||||
|
If EDT_CANCIEN.Text = "" Then
|
||||||
|
EDT_CANCIEN.Text = 0
|
||||||
|
LBL_TCIEN.Text=LBL_CIEN.Tag * EDT_CANCIEN.Text
|
||||||
|
Else IF EDT_CANCIEN.Text > 0 Then
|
||||||
|
EDT_CANCIEN.Text = Round(EDT_CANCIEN.Text -1)
|
||||||
|
LBL_TCIEN.Text=LBL_CIEN.Tag * EDT_CANCIEN.Text
|
||||||
|
Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text)
|
||||||
|
TOTALBILLETES.Text=Btn_TOTALBILLETE.Text
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'200
|
||||||
|
Private Sub EDT_CANDOS_FocusChanged (HasFocus As Boolean)
|
||||||
|
If EDT_CANDOS.Text = "" Then EDT_CANDOS.Text = "0"
|
||||||
|
EDT_CANDOS.Text = Round (EDT_CANDOS.Text)
|
||||||
|
LBL_TDOS.Text=LBL_DOSC.Tag * EDT_CANDOS.Text
|
||||||
|
Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text)
|
||||||
|
TOTALBILLETES.Text=Btn_TOTALBILLETE.Text
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub B_SUDOS_Click
|
||||||
|
If EDT_CANDOS.Text = "" Then
|
||||||
|
EDT_CANDOS.Text = 0
|
||||||
|
LBL_TDOS.Text=LBL_DOSC.Tag * EDT_CANDOS.Text
|
||||||
|
Else
|
||||||
|
EDT_CANDOS.Text = Round (EDT_CANDOS.Text + 1)
|
||||||
|
LBL_TDOS.Text=LBL_DOSC.Tag * EDT_CANDOS.Text
|
||||||
|
Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text)
|
||||||
|
TOTALBILLETES.Text=Btn_TOTALBILLETE.Text
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub B_MENDOS_Click
|
||||||
|
If EDT_CANDOS.Text = "" Then
|
||||||
|
EDT_CANDOS.Text = 0
|
||||||
|
LBL_TDOS.Text=LBL_DOSC.Tag * EDT_CANDOS.Text
|
||||||
|
Else IF EDT_CANDOS.Text > 0 Then
|
||||||
|
EDT_CANDOS.Text = Round(EDT_CANDOS.Text -1)
|
||||||
|
LBL_TDOS.Text=LBL_DOSC.Tag * EDT_CANDOS.Text
|
||||||
|
Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text)
|
||||||
|
TOTALBILLETES.Text=Btn_TOTALBILLETE.Text
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'500
|
||||||
|
Private Sub EDT_CANQUIN_FocusChanged (HasFocus As Boolean)
|
||||||
|
If EDT_CANQUIN.Text = "" Then EDT_CANQUIN.Text = "0"
|
||||||
|
EDT_CANQUIN.Text = Round (EDT_CANQUIN.Text)
|
||||||
|
LBL_TQUIN.Text=LBL_QUIN.Tag * EDT_CANQUIN.Text
|
||||||
|
Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text)
|
||||||
|
TOTALBILLETES.Text=Btn_TOTALBILLETE.Text
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub B_SUQUI_Click
|
||||||
|
If EDT_CANQUIN.Text = "" Then
|
||||||
|
EDT_CANQUIN.Text =0
|
||||||
|
LBL_TQUIN.Text=LBL_QUIN.Tag * EDT_CANQUIN.Text
|
||||||
|
Else
|
||||||
|
EDT_CANQUIN.Text = Round (EDT_CANQUIN.Text + 1)
|
||||||
|
LBL_TQUIN.Text=LBL_QUIN.Tag * EDT_CANQUIN.Text
|
||||||
|
Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text)
|
||||||
|
TOTALBILLETES.Text=Btn_TOTALBILLETE.Text
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub B_MENQUI_Click
|
||||||
|
If EDT_CANQUIN.Text = "" Then
|
||||||
|
EDT_CANQUIN.Text =0
|
||||||
|
LBL_TQUIN.Text=LBL_QUIN.Tag * EDT_CANQUIN.Text
|
||||||
|
Else IF EDT_CANQUIN.Text > 0 Then
|
||||||
|
EDT_CANQUIN.Text = Round(EDT_CANQUIN.Text -1)
|
||||||
|
LBL_TQUIN.Text=LBL_QUIN.Tag * EDT_CANQUIN.Text
|
||||||
|
Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text)
|
||||||
|
TOTALBILLETES.Text=Btn_TOTALBILLETE.Text
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
'1000
|
||||||
|
Private Sub EDT_CANMIL_FocusChanged (HasFocus As Boolean)
|
||||||
|
If EDT_CANMIL.Text = "" Then EDT_CANMIL.Text = "0"
|
||||||
|
EDT_CANMIL.Text = Round (EDT_CANMIL.Text )
|
||||||
|
LBL_TMIL.Text= LBL_MIL.Tag * EDT_CANMIL.Text
|
||||||
|
Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text)
|
||||||
|
TOTALBILLETES.Text=Btn_TOTALBILLETE.Text
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub B_SUMIL_Click
|
||||||
|
If EDT_CANMIL.Text = "" Then
|
||||||
|
EDT_CANMIL.Text = 0
|
||||||
|
LBL_TMIL.Text= LBL_MIL.Tag * EDT_CANMIL.Text
|
||||||
|
Else
|
||||||
|
EDT_CANMIL.Text = Round (EDT_CANMIL.Text + 1)
|
||||||
|
LBL_TMIL.Text= LBL_MIL.Tag * EDT_CANMIL.Text
|
||||||
|
Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text)
|
||||||
|
TOTALBILLETES.Text=Btn_TOTALBILLETE.Text
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub B_MENMIL_Click
|
||||||
|
If EDT_CANMIL.Text = "" Then
|
||||||
|
EDT_CANMIL.Text = 1
|
||||||
|
LBL_TMIL.Text= LBL_MIL.Tag * EDT_CANMIL.Text
|
||||||
|
Else IF EDT_CANMIL.Text > 0 Then
|
||||||
|
EDT_CANMIL.Text = Round(EDT_CANMIL.Text -1)
|
||||||
|
LBL_TMIL.Text= LBL_MIL.Tag * EDT_CANMIL.Text
|
||||||
|
Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text)
|
||||||
|
TOTALBILLETES.Text=Btn_TOTALBILLETE.Text
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'''' MONEDAS
|
||||||
|
Sub L_CALCULA_MONEDA_Click
|
||||||
|
If EDT_CANDIEZ.Text="" Or EDT_CANCI.Text="" Or EDT_CANDO.Text="" Or EDT_CANUN.Text="" Or EDT_CANCEN.Text="" Or EDT_CANVEINTE.Text="" Then
|
||||||
|
Msgbox("Por favor llena todas las cantidades","") 'ignore
|
||||||
|
Pnl_Billete.RequestFocus
|
||||||
|
Else
|
||||||
|
LBL_TDIEZ.Text= L_DIEZ.Tag * EDT_CANDIEZ.Text
|
||||||
|
LBL_TCI.Text= L_CINCO.Tag * EDT_CANCI.Text
|
||||||
|
LBL_TDO.Text=L_DOS.Tag * EDT_CANDO.Text
|
||||||
|
LBL_TUN.Text=L_UNO.Tag * EDT_CANUN.Text
|
||||||
|
LBL_TCEN.Text=L_CENTAVO.Tag * EDT_CANCEN.Text
|
||||||
|
LBL_TVEINTE.Text=L_VEINTE.Tag * EDT_CANVEINTE.Text
|
||||||
|
B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text)
|
||||||
|
TOTALMONEDA.Text=B_TOTALMONEDA.Text
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'0.50
|
||||||
|
Private Sub EDT_CANCEN_FocusChanged (HasFocus As Boolean)
|
||||||
|
If EDT_CANCEN.Text = "" Then EDT_CANCEN.Text = "0"
|
||||||
|
EDT_CANCEN.Text = Round (EDT_CANCEN.Text)
|
||||||
|
LBL_TCEN.Text=L_CENTAVO.Tag * EDT_CANCEN.Text
|
||||||
|
B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text)
|
||||||
|
TOTALMONEDA.Text=B_TOTALMONEDA.Text
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub B_SUMCENT_Click
|
||||||
|
If EDT_CANCEN.Text = "" Then
|
||||||
|
EDT_CANCEN.Text = 0
|
||||||
|
LBL_TCEN.Text=L_CENTAVO.Tag * EDT_CANCEN.Text
|
||||||
|
Else
|
||||||
|
EDT_CANCEN.Text = Round (EDT_CANCEN.Text + 1)
|
||||||
|
LBL_TCEN.Text=L_CENTAVO.Tag * EDT_CANCEN.Text
|
||||||
|
B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text)
|
||||||
|
TOTALMONEDA.Text=B_TOTALMONEDA.Text
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub B_MENCENT_Click
|
||||||
|
If EDT_CANCEN.Text = "" Then
|
||||||
|
EDT_CANCEN.Text =0
|
||||||
|
LBL_TCEN.Text=L_CENTAVO.Tag * EDT_CANCEN.Text
|
||||||
|
Else IF EDT_CANCEN.Text > 0 Then
|
||||||
|
EDT_CANCEN.Text = Round(EDT_CANCEN.Text -1)
|
||||||
|
LBL_TCEN.Text=L_CENTAVO.Tag * EDT_CANCEN.Text
|
||||||
|
B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text)
|
||||||
|
TOTALMONEDA.Text=B_TOTALMONEDA.Text
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'1
|
||||||
|
Private Sub EDT_CANUN_FocusChanged (HasFocus As Boolean)
|
||||||
|
If EDT_CANUN.Text = "" Then EDT_CANUN.Text = "0"
|
||||||
|
EDT_CANUN.Text = Round (EDT_CANUN.Text)
|
||||||
|
LBL_TUN.Text=L_UNO.Tag * EDT_CANUN.Text
|
||||||
|
B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text)
|
||||||
|
TOTALMONEDA.Text=B_TOTALMONEDA.Text
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub B_SUMUN_Click
|
||||||
|
If EDT_CANUN.Text = "" Then
|
||||||
|
|
||||||
|
LBL_TUN.Text=L_UNO.Tag * EDT_CANUN.Text
|
||||||
|
Else
|
||||||
|
EDT_CANUN.Text = Round (EDT_CANUN.Text + 1)
|
||||||
|
LBL_TUN.Text=L_UNO.Tag * EDT_CANUN.Text
|
||||||
|
B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text)
|
||||||
|
TOTALMONEDA.Text=B_TOTALMONEDA.Text
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub B_MENUN_Click
|
||||||
|
If EDT_CANUN.Text = "" Then
|
||||||
|
EDT_CANUN.Text = 0
|
||||||
|
LBL_TUN.Text=L_UNO.Tag * EDT_CANUN.Text
|
||||||
|
Else IF EDT_CANUN.Text > 0 Then
|
||||||
|
EDT_CANUN.Text = Round(EDT_CANUN.Text -1)
|
||||||
|
LBL_TUN.Text=L_UNO.Tag * EDT_CANUN.Text
|
||||||
|
B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text)
|
||||||
|
TOTALMONEDA.Text=B_TOTALMONEDA.Text
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'2
|
||||||
|
Private Sub EDT_CANDO_FocusChanged (HasFocus As Boolean)
|
||||||
|
If EDT_CANDO.Text = "" Then EDT_CANDO.Text = "0"
|
||||||
|
EDT_CANDO.Text = Round (EDT_CANDO.Text)
|
||||||
|
LBL_TDO.Text=L_DOS.Tag * EDT_CANDO.Text
|
||||||
|
B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text)
|
||||||
|
TOTALMONEDA.Text=B_TOTALMONEDA.Text
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub B_SUMDO_Click
|
||||||
|
If EDT_CANDO.Text = "" Then
|
||||||
|
EDT_CANDO.Text =0
|
||||||
|
LBL_TDO.Text=L_DOS.Tag * EDT_CANDO.Text
|
||||||
|
Else
|
||||||
|
EDT_CANDO.Text = Round (EDT_CANDO.Text + 1)
|
||||||
|
LBL_TDO.Text=L_DOS.Tag * EDT_CANDO.Text
|
||||||
|
B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text)
|
||||||
|
TOTALMONEDA.Text=B_TOTALMONEDA.Text
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub B_MENDO_Click
|
||||||
|
If EDT_CANDO.Text = "" Then
|
||||||
|
EDT_CANDO.Text=0
|
||||||
|
LBL_TDO.Text=L_DOS.Tag * EDT_CANDO.Text
|
||||||
|
Else IF EDT_CANDO.Text > 0 Then
|
||||||
|
EDT_CANDO.Text = Round(EDT_CANDO.Text -1)
|
||||||
|
LBL_TDO.Text=L_DOS.Tag * EDT_CANDO.Text
|
||||||
|
B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text)
|
||||||
|
TOTALMONEDA.Text=B_TOTALMONEDA.Text
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'5
|
||||||
|
Private Sub EDT_CANCI_FocusChanged (HasFocus As Boolean)
|
||||||
|
If EDT_CANCI.Text = "" Then EDT_CANCI.Text = "0"
|
||||||
|
EDT_CANCI.Text = Round (EDT_CANCI.Text)
|
||||||
|
LBL_TCI.Text= L_CINCO.Tag * EDT_CANCI.Text
|
||||||
|
B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text )
|
||||||
|
TOTALMONEDA.Text=B_TOTALMONEDA.Text
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub B_SUMCIN_Click
|
||||||
|
If EDT_CANCI.Text = "" Then
|
||||||
|
EDT_CANCI.Text =0
|
||||||
|
LBL_TCI.Text= L_CINCO.Tag * EDT_CANCI.Text
|
||||||
|
Else
|
||||||
|
EDT_CANCI.Text = Round (EDT_CANCI.Text + 1)
|
||||||
|
LBL_TCI.Text= L_CINCO.Tag * EDT_CANCI.Text
|
||||||
|
B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text )
|
||||||
|
TOTALMONEDA.Text=B_TOTALMONEDA.Text
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub B_MENCI_Click
|
||||||
|
If EDT_CANCI.Text = "" Then
|
||||||
|
EDT_CANCI.Text =0
|
||||||
|
LBL_TCI.Text= L_CINCO.Tag * EDT_CANCI.Text
|
||||||
|
Else IF EDT_CANCI.Text > 0 Then
|
||||||
|
EDT_CANCI.Text = Round(EDT_CANCI.Text -1)
|
||||||
|
LBL_TCI.Text= L_CINCO.Tag * EDT_CANCI.Text
|
||||||
|
B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text)
|
||||||
|
TOTALMONEDA.Text=B_TOTALMONEDA.Text
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
'10
|
||||||
|
Private Sub EDT_CANDIEZ_FocusChanged (HasFocus As Boolean)
|
||||||
|
If EDT_CANDIEZ.Text = "" Then EDT_CANDIEZ.Text = "0"
|
||||||
|
EDT_CANDIEZ.Text = Round (EDT_CANDIEZ.Text)
|
||||||
|
LBL_TDIEZ.Text= L_DIEZ.Tag * EDT_CANDIEZ.Text
|
||||||
|
B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text)
|
||||||
|
TOTALMONEDA.Text=B_TOTALMONEDA.Text
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub B_SUMDIEZ_Click
|
||||||
|
If EDT_CANDIEZ.Text = "" Then
|
||||||
|
EDT_CANDIEZ.Text =0
|
||||||
|
LBL_TDIEZ.Text= L_DIEZ.Tag * EDT_CANDIEZ.Text
|
||||||
|
Else
|
||||||
|
EDT_CANDIEZ.Text = Round (EDT_CANDIEZ.Text + 1)
|
||||||
|
LBL_TDIEZ.Text= L_DIEZ.Tag * EDT_CANDIEZ.Text
|
||||||
|
B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text)
|
||||||
|
TOTALMONEDA.Text=B_TOTALMONEDA.Text
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub B_MENDIEZ_Click
|
||||||
|
If EDT_CANDIEZ.Text = "" Then
|
||||||
|
EDT_CANDIEZ.Text = 0
|
||||||
|
LBL_TDIEZ.Text= L_DIEZ.Tag * EDT_CANDIEZ.Text
|
||||||
|
Else IF EDT_CANDIEZ.Text > 0 Then
|
||||||
|
EDT_CANDIEZ.Text = Round(EDT_CANDIEZ.Text -1)
|
||||||
|
LBL_TDIEZ.Text= L_DIEZ.Tag * EDT_CANDIEZ.Text
|
||||||
|
B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text)
|
||||||
|
TOTALMONEDA.Text=B_TOTALMONEDA.Text
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'20
|
||||||
|
Private Sub EDT_CANVEINTE_FocusChanged (HasFocus As Boolean)
|
||||||
|
If EDT_CANVEINTE.Text = "" Then EDT_CANVEINTE.Text = "0"
|
||||||
|
EDT_CANVEINTE.Text = Round(EDT_CANVEINTE.Text)
|
||||||
|
LBL_TVEINTE.Text= L_VEINTE.Tag * EDT_CANVEINTE.Text
|
||||||
|
B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text )
|
||||||
|
TOTALMONEDA.Text=B_TOTALMONEDA.Text
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub B_MENVEINTE_Click
|
||||||
|
If EDT_CANVEINTE.Text = "" Then
|
||||||
|
EDT_CANVEINTE.Text = 0
|
||||||
|
LBL_TVEINTE.Text= L_VEINTE.Tag * EDT_CANVEINTE.Text
|
||||||
|
Else IF EDT_CANVEINTE.Text > 0 Then
|
||||||
|
EDT_CANVEINTE.Text = Round(EDT_CANVEINTE.Text -1)
|
||||||
|
LBL_TVEINTE.Text= L_VEINTE.Tag * EDT_CANVEINTE.Text
|
||||||
|
B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text )
|
||||||
|
TOTALMONEDA.Text=B_TOTALMONEDA.Text
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub B_SUMVEINTE_Click
|
||||||
|
If EDT_CANVEINTE.Text = "" Then
|
||||||
|
EDT_CANVEINTE.Text =0
|
||||||
|
LBL_TVEINTE.Text= L_VEINTE.Tag * EDT_CANVEINTE.Text
|
||||||
|
Else
|
||||||
|
EDT_CANVEINTE.Text = Round (EDT_CANVEINTE.Text + 1)
|
||||||
|
LBL_TVEINTE.Text= L_VEINTE.Tag * EDT_CANVEINTE.Text
|
||||||
|
B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text)
|
||||||
|
TOTALMONEDA.Text=B_TOTALMONEDA.Text
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
''''''TOTALES
|
||||||
|
Sub TOTALES_Click
|
||||||
|
If TOTALMONEDA.Text="" Or TOTALBILLETES.Text="" Then
|
||||||
|
TOTALMONEDA.Text=0
|
||||||
|
TOTALBILLETES.Text=0
|
||||||
|
B_SUM_TOTAL.Text="$"& (TOTALMONEDA.Text + TOTALBILLETES.Text)
|
||||||
|
Else
|
||||||
|
B_SUM_TOTAL.Text= "$"&(TOTALMONEDA.Text + TOTALBILLETES.Text)
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub B_AGREGABILL_Click
|
||||||
|
Pnl_Billete.Visible=True
|
||||||
|
Pnl_Moneda.Visible=False
|
||||||
|
PNL_TOTALES.Visible=False
|
||||||
|
LBL_RETURN.Visible=True
|
||||||
|
LBL_REGRESA.Visible=True
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub B_AGREGAMONE_Click
|
||||||
|
Pnl_Billete.Visible=False
|
||||||
|
Pnl_Moneda.Visible=True
|
||||||
|
PNL_TOTALES.Visible=False
|
||||||
|
LBL_RETURN.Visible=True
|
||||||
|
LBL_REGRESA.Visible=True
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub LBL_RETURN_Click
|
||||||
|
Pnl_Billete.Visible=False
|
||||||
|
Pnl_Moneda.Visible=False
|
||||||
|
PNL_TOTALES.Visible=True
|
||||||
|
LBL_RETURN.Visible=False
|
||||||
|
LBL_REGRESA.Visible=False
|
||||||
|
''' CALCULO FINAL
|
||||||
|
If TOTALMONEDA.Text="" Or TOTALBILLETES.Text="" Then
|
||||||
|
TOTALMONEDA.Text=0
|
||||||
|
TOTALBILLETES.Text=0
|
||||||
|
B_SUM_TOTAL.Text="$"& (TOTALMONEDA.Text + TOTALBILLETES.Text)
|
||||||
|
Else
|
||||||
|
B_SUM_TOTAL.Text="$"& (TOTALMONEDA.Text + TOTALBILLETES.Text)
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub LBL_REGRESA_Click
|
||||||
|
Pnl_Billete.Visible=False
|
||||||
|
Pnl_Moneda.Visible=False
|
||||||
|
LBL_RETURN.Visible=False
|
||||||
|
LBL_REGRESA.Visible=False
|
||||||
|
PNL_TOTALES.Visible=True
|
||||||
|
LBL_REGRESA.Visible=True
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub B_Regresar_Click
|
||||||
|
' StartActivity("SELECCION")
|
||||||
|
Subs.iniciaActividad("principal")
|
||||||
|
' B4XPages.ShowPage("Principal")
|
||||||
|
' Activity.Finish
|
||||||
|
PNL_TOTALES.Visible=False
|
||||||
|
Pnl_Billete.Visible=False
|
||||||
|
Pnl_Moneda.visible=False
|
||||||
|
PNL_TOTALES.Visible=False
|
||||||
|
LBL_RETURN.Visible=False
|
||||||
|
LBL_REGRESA.Visible=False
|
||||||
|
P_BOLETA.Visible=False
|
||||||
|
' P_INF_GENERAL.Visible=True
|
||||||
|
LBL_REGRESA.Visible=False
|
||||||
|
End Sub
|
||||||
871
B4A/C_CheckList.bas
Normal file
@@ -0,0 +1,871 @@
|
|||||||
|
B4A=true
|
||||||
|
Group=Default Group
|
||||||
|
ModulesStructureVersion=1
|
||||||
|
Type=Class
|
||||||
|
Version=11.5
|
||||||
|
@EndOfDesignText@
|
||||||
|
Sub Class_Globals
|
||||||
|
Private Root As B4XView 'ignore
|
||||||
|
Private xui As XUI 'ignore
|
||||||
|
'//Process Globals
|
||||||
|
Dim ruta As String
|
||||||
|
Dim c As Cursor
|
||||||
|
Dim C2 As Cursor
|
||||||
|
Private frontCamera As Boolean = False
|
||||||
|
Dim OK_CheckList As Int
|
||||||
|
'//Globals
|
||||||
|
Dim IME As IME
|
||||||
|
Private Edt_FH As EditText
|
||||||
|
Private Sp_MENU As Spinner
|
||||||
|
Dim LISTMENU As List
|
||||||
|
Private LB_CATEGORIA As Label
|
||||||
|
Private SCROLLPRINC As ScrollView
|
||||||
|
Private Pnl_CABINA As Panel
|
||||||
|
Dim sDate,sTime As String
|
||||||
|
''''''''' PANELS CHECKS
|
||||||
|
Private camEx As CameraExClass
|
||||||
|
Private Rb_4_4 As RadioButton
|
||||||
|
Private Rb_3_4 As RadioButton
|
||||||
|
Private Rb_2_4 As RadioButton
|
||||||
|
Private Rb_1_4 As RadioButton
|
||||||
|
Private Lb_4 As Label
|
||||||
|
Private Lb_3 As Label
|
||||||
|
Private Lb_2 As Label
|
||||||
|
Private Lb_1 As Label
|
||||||
|
Private Et_KilometrajeIni As EditText
|
||||||
|
Private Cbox_Claxon As CheckBox
|
||||||
|
Private Cbox_Parabrisas As CheckBox
|
||||||
|
Private Cbox_Cinturon As CheckBox
|
||||||
|
Private Cbox_Espejos As CheckBox
|
||||||
|
Private Cbox_Licencia As CheckBox
|
||||||
|
Private Pnl_CabinaInfo As Panel
|
||||||
|
Private Pnl_MotorEncen As Panel
|
||||||
|
Private Pnl_Inspec As Panel
|
||||||
|
Private Pnl_CofreAbierto As Panel
|
||||||
|
Private Pnl_Carga As Panel
|
||||||
|
Private SP_MENUC As SD_Spinner
|
||||||
|
Private Im_1 As ImageView
|
||||||
|
Private Im2 As ImageView
|
||||||
|
Private Im3 As ImageView
|
||||||
|
Private Im4 As ImageView
|
||||||
|
Private Bt_Foto1 As Button
|
||||||
|
Private Bt_Foto2 As Button
|
||||||
|
Private Bt_Foto3 As Button
|
||||||
|
Private Bt_Foto4 As Button
|
||||||
|
Private Bt_GuardarCheck As Button
|
||||||
|
Private N_Ruta As String
|
||||||
|
Private Id_Almacen As String
|
||||||
|
Private Combustible As String
|
||||||
|
Private PLACAS As String
|
||||||
|
'' PANEL 2
|
||||||
|
Private Ch_OBJETOSINE As CheckBox
|
||||||
|
Private CH_OBJMPERV As CheckBox
|
||||||
|
Private Ch_ORHERRA As CheckBox
|
||||||
|
Private Ch_LIMPIO As CheckBox
|
||||||
|
Private Ch_UNILIMPIA As CheckBox
|
||||||
|
Private Ch_BASURA As CheckBox
|
||||||
|
Private Ch_RESPON As CheckBox
|
||||||
|
Private Ch_AUDITORIA As CheckBox
|
||||||
|
Private Ch_HABITUAL As CheckBox
|
||||||
|
'' PANEL 3
|
||||||
|
Private Ch_HERRAMIENTAS As CheckBox
|
||||||
|
Private Ch_CONOS As CheckBox
|
||||||
|
Private Ch_EDOCARROCE As CheckBox
|
||||||
|
Private Ch_FUN_LUCES As CheckBox
|
||||||
|
Private Ch_PLACAS_CIRCU As CheckBox
|
||||||
|
Private Ch_COND_LLANTAS As CheckBox
|
||||||
|
'' PANEL 4
|
||||||
|
Private Ch_ACEITEMOTOR As CheckBox
|
||||||
|
Private Ch_ACEITEDIREC As CheckBox
|
||||||
|
Private Ch_NVL_REFRIGE As CheckBox
|
||||||
|
Private Ch_NVL_LIQUIDBRI As CheckBox
|
||||||
|
Private Ch_COND_BANMOTOR As CheckBox
|
||||||
|
''''' PANEL5
|
||||||
|
Private Ch_FUGASGRAL As CheckBox
|
||||||
|
Private Ch_FRENOS As CheckBox
|
||||||
|
Private Edt_COMENTARIO As AutoCompleteEditText
|
||||||
|
Private Pnl_Fotos As Panel
|
||||||
|
Private btnTakePicture As Button
|
||||||
|
Private b_guardar As Button
|
||||||
|
Private Pnl_foto As Panel
|
||||||
|
Dim camera1 As Camera
|
||||||
|
Private TOMO_FOTO1 As String
|
||||||
|
Private TOMO_FOTO2 As String
|
||||||
|
Private TOMO_FOTO3 As String
|
||||||
|
Private TOMO_FOTO4 As String
|
||||||
|
Private LBL_REGRESA As Label
|
||||||
|
Private Label5 As Label
|
||||||
|
Dim out As OutputStream
|
||||||
|
Private CUANTOS As String
|
||||||
|
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
|
||||||
|
'load the layout to Root
|
||||||
|
Root.LoadLayout("checklist")
|
||||||
|
SCROLLPRINC.Panel.LoadLayout("checks")
|
||||||
|
SCROLLPRINC.Panel.Height = Pnl_MotorEncen.Height
|
||||||
|
IME.Initialize("IME")
|
||||||
|
IME.AddHeightChangedEvent
|
||||||
|
|
||||||
|
OK_CheckList=0
|
||||||
|
Pnl_CabinaInfo.Visible=True
|
||||||
|
btnTakePicture.Enabled = True
|
||||||
|
camera1.Initialize(Pnl_foto, "Camera1")
|
||||||
|
|
||||||
|
LISTMENU.IsInitialized
|
||||||
|
LISTMENU.Initialize
|
||||||
|
LISTMENU.AddAll(Array As String ("Cabina con switch encendido", "Cabina y espacio de carga", "Inspección General Exterior", "Cofre abierto, motor apagado","Con motor encendido"))
|
||||||
|
|
||||||
|
SP_MENUC.AddAll(LISTMENU,"CheckList",Colors.White,Colors.Blue,Gravity.CENTER)
|
||||||
|
DateTime.DateFormat="dd/MM/yyyy"
|
||||||
|
Edt_FH.Text=DateTime.Date(DateTime.Now)
|
||||||
|
ruta = File.DirInternal
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
|
||||||
|
|
||||||
|
Sub Camera1_Ready (Success As Boolean)
|
||||||
|
Log("Camara lista")
|
||||||
|
If Success Then
|
||||||
|
camera1.StartPreview
|
||||||
|
camera1.Initialize(Pnl_foto, "Camera1")
|
||||||
|
btnTakePicture.Enabled = True
|
||||||
|
Else
|
||||||
|
ToastMessageShow("No se puede abrir la camara.", True)
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub B4XPage_Appear
|
||||||
|
' If Subs.traeUltimaActividadBD <> "CHECKLIST_AUTO" Then Subs.iniciaActividad(Subs.traeUltimaActividadBD)
|
||||||
|
c=Starter.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS FROM TMP_INSPECCION_AUTO_DIARIA")
|
||||||
|
c.Position = 0
|
||||||
|
CUANTOS = c.GetString("CUANTOS")
|
||||||
|
c.Close
|
||||||
|
If CUANTOS > 0 Then
|
||||||
|
If Et_KilometrajeIni.Text = "" Then
|
||||||
|
c=Starter.skmt.ExecQuery("select * from tmp_inspeccion_auto_diaria")
|
||||||
|
If c.RowCount > 0 Then
|
||||||
|
c.Position = 0
|
||||||
|
If c.GetString("TMP_AUTO_COMBUSTIBLE") = "4/4" Then Rb_4_4.Checked = True
|
||||||
|
If c.GetString("TMP_AUTO_COMBUSTIBLE") = "3/4" Then Rb_3_4.Checked = True
|
||||||
|
If c.GetString("TMP_AUTO_COMBUSTIBLE") = "2/4" Then Rb_2_4.Checked = True
|
||||||
|
If c.GetString("TMP_AUTO_COMBUSTIBLE") = "1/4" Then Rb_1_4.Checked = True
|
||||||
|
If c.GetString("TMP_AUTO_KILOMETRAJE") <> "" Then Et_KilometrajeIni.text = c.GetString("TMP_AUTO_KILOMETRAJE")
|
||||||
|
If c.GetString("TMP_AUTO_CLAXON ") = "1" Then Cbox_Claxon.Checked = True
|
||||||
|
If c.GetString("TMP_AUTO_PARABRISAS ") = "1" Then Cbox_Parabrisas.Checked = True
|
||||||
|
If c.GetString("TMP_AUTO_CINTURON ") = "1" Then Cbox_Cinturon.Checked = True
|
||||||
|
If c.GetString("TMP_AUTO_ESPEJOS ") = "1" Then Cbox_Espejos.Checked = True
|
||||||
|
If c.GetString("TMP_AUTO_LICENCIA ") = "1" Then Cbox_Licencia.Checked = True
|
||||||
|
If c.GetString("TMP_AUTO_LIB_OBJETOSINE ") = "1" Then Ch_OBJETOSINE.Checked = True
|
||||||
|
If c.GetString("TMP_AUTO_LIB_OBJETOTMPERVI ") = 1 Then CH_OBJMPERV.Checked = True
|
||||||
|
If c.GetString("TMP_AUTO_ORDEN_HERRA ") = "1" Then Ch_ORHERRA.Checked = True
|
||||||
|
If c.GetString("TMP_AUTO_UNILIMPIA ") = "1" Then Ch_UNILIMPIA.Checked = True
|
||||||
|
If c.GetString("TMP_AUTO_LIMPIO ") = "1" Then Ch_LIMPIO.Checked = True
|
||||||
|
If c.GetString("TMP_AUTO_BASURA ") = "1" Then Ch_BASURA.Checked = True
|
||||||
|
If c.GetString("TMP_AUTO_RESPONSABILIDAD ") ="1" Then Ch_RESPON.Checked = True
|
||||||
|
If c.GetString("TMP_AUTO_AUDITORIA ") = "1" Then Ch_AUDITORIA.Checked = True
|
||||||
|
If c.GetString("TMP_AUTO_HABITUAL ") = "1" Then Ch_HABITUAL.Checked = True
|
||||||
|
If c.GetString("TMP_AUTO_HERRAMIENTAS ") = "1" Then Ch_HERRAMIENTAS.Checked = True
|
||||||
|
If c.GetString("TMP_AUTO_CONOS ") = "1" Then Ch_CONOS.Checked = True
|
||||||
|
If c.GetString("TMP_AUTO_EDO_CARROCERIA ") = "1" Then Ch_EDOCARROCE.Checked = True
|
||||||
|
If c.GetString("TMP_AUTO_FUN_LUCES ") = "1" Then Ch_FUN_LUCES.Checked = True
|
||||||
|
If c.GetString("TMP_AUTO_PLACAS_CIRCU ") = "1" Then Ch_PLACAS_CIRCU.Checked = True
|
||||||
|
If c.GetString("TMP_AUTO_COND_LLANTAS ") = "1" Then Ch_COND_LLANTAS.Checked = True
|
||||||
|
If c.GetString("TMP_AUTO_ACEITEMOTOR ") = "1" Then Ch_ACEITEMOTOR.Checked = True
|
||||||
|
If c.GetString("TMP_AUTO_ACEITEDIREC ") = "1" Then Ch_ACEITEDIREC.Checked = True
|
||||||
|
If c.GetString("TMP_AUTO_NVL_REFRIGERANTE ") = "1" Then Ch_NVL_REFRIGE.Checked = True
|
||||||
|
If c.GetString("TMP_AUTO_NVL_LIQUIDBRISAS ") = "1" Then Ch_NVL_LIQUIDBRI.Checked = True
|
||||||
|
If c.GetString("TMP_AUTO_COND_BANMOTOR ") = "1" Then Ch_COND_BANMOTOR.Checked = True
|
||||||
|
If c.GetString("TMP_AUTO_FUGASGRAL ") = "1" Then Ch_FUGASGRAL.Checked = True
|
||||||
|
If c.GetString("TMP_AUTO_FRENOS ") = "1" Then Ch_FRENOS.Checked = True
|
||||||
|
If c.GetString("TMP_AUTO_COMENTARIOS ") <> "" Then Edt_COMENTARIO.text = c.GetString("TMP_AUTO_COMENTARIOS ")
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
Pnl_CabinaInfo.Visible=False
|
||||||
|
Pnl_Carga.Visible=False
|
||||||
|
Pnl_Inspec.Visible=True
|
||||||
|
Pnl_MotorEncen.Visible=True
|
||||||
|
Pnl_CofreAbierto.Visible=False
|
||||||
|
If File.Exists(File.DirInternal,"FOTO1.jpg") = True Then
|
||||||
|
Im_1.Bitmap = LoadBitmap(File.DirInternal, "FOTO1.jpg")
|
||||||
|
Else
|
||||||
|
If File.Exists(File.DirInternal,"FOTO1.jpg") = False Then
|
||||||
|
Im_1.Bitmap = LoadBitmap(File.DirAssets,"foto1.jpg")
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
If File.Exists(File.DirInternal,"FOTO2.jpg") = True Then
|
||||||
|
Im2.Bitmap = LoadBitmap(File.DirInternal, "FOTO2.jpg")
|
||||||
|
Else
|
||||||
|
If File.Exists(File.DirInternal,"FOTO2.jpg") = False Then
|
||||||
|
Im2.Bitmap = LoadBitmap(File.DirAssets,"foto2.jpg")
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
If File.Exists(File.DirInternal,"FOTO3.jpg") = True Then
|
||||||
|
Im3.Bitmap = LoadBitmap(File.DirInternal, "FOTO3.jpg")
|
||||||
|
Else
|
||||||
|
If File.Exists(File.DirInternal,"FOTO3.jpg") = False Then
|
||||||
|
Im3.Bitmap = LoadBitmap(File.DirAssets,"foto3.jpg")
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
If File.Exists(File.DirInternal,"FOTO4.jpg") = True Then
|
||||||
|
Im4.Bitmap = LoadBitmap(File.DirInternal, "FOTO4.jpg")
|
||||||
|
Else
|
||||||
|
If File.Exists(File.DirInternal,"FOTO4.jpg") = False Then
|
||||||
|
Im4.Bitmap = LoadBitmap(File.DirAssets,"foto4.jpg")
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub Camera1_PictureTaken (Data() As Byte)
|
||||||
|
Log("foto tomada")
|
||||||
|
camera1.StartPreview
|
||||||
|
If Bt_Foto1.Tag="1" Then
|
||||||
|
Dim salida As OutputStream
|
||||||
|
salida = File.OpenOutput(File.DirInternal, "FOTO1.jpg", False)
|
||||||
|
salida.WriteBytes(Data, 0, Data.Length)
|
||||||
|
salida.Close
|
||||||
|
ToastMessageShow("FOTO GUARDADA "& "FOTO1.jpg", True)
|
||||||
|
Bt_Foto1.Tag="2"
|
||||||
|
End If
|
||||||
|
If Bt_Foto2.Tag="1" Then
|
||||||
|
Dim salida As OutputStream
|
||||||
|
salida = File.OpenOutput(File.DirInternal, "FOTO2.jpg", False)
|
||||||
|
salida.WriteBytes(Data, 0, Data.Length)
|
||||||
|
salida.Close
|
||||||
|
ToastMessageShow("FOTO GUARDADA "& "FOTO2.jpg", True)
|
||||||
|
Bt_Foto2.Tag="2"
|
||||||
|
End If
|
||||||
|
If Bt_Foto3.Tag="1" Then
|
||||||
|
Dim salida As OutputStream
|
||||||
|
salida = File.OpenOutput(File.DirInternal, "FOTO3.jpg", False)
|
||||||
|
salida.WriteBytes(Data, 0, Data.Length)
|
||||||
|
salida.Close
|
||||||
|
ToastMessageShow("FOTO GUARDADA "& "FOTO3.jpg", True)
|
||||||
|
Bt_Foto3.Tag="2"
|
||||||
|
End If
|
||||||
|
If Bt_Foto4.Tag="1" Then
|
||||||
|
Dim salida As OutputStream
|
||||||
|
salida = File.OpenOutput(File.DirInternal, "FOTO4.jpg", False)
|
||||||
|
salida.WriteBytes(Data, 0, Data.Length)
|
||||||
|
salida.Close
|
||||||
|
ToastMessageShow("FOTO GUARDADA "& "FOTO4.jpg", True)
|
||||||
|
Bt_Foto4.Tag="2"
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub btnTakePicture_Click
|
||||||
|
btnTakePicture.Enabled = True
|
||||||
|
camera1.TakePicture
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub Nvl_Combustible_CheckedChange(Checked As Boolean)
|
||||||
|
If Rb_1_4.Checked Then
|
||||||
|
Lb_1.Visible=True
|
||||||
|
Lb_2.Visible=False
|
||||||
|
Lb_3.Visible=False
|
||||||
|
Lb_4.Visible=False
|
||||||
|
End If
|
||||||
|
If Rb_2_4.Checked Then
|
||||||
|
Lb_1.Visible=False
|
||||||
|
Lb_2.Visible=True
|
||||||
|
Lb_3.Visible=False
|
||||||
|
Lb_4.Visible=False
|
||||||
|
End If
|
||||||
|
If Rb_3_4.Checked Then
|
||||||
|
Lb_1.Visible=False
|
||||||
|
Lb_2.Visible=False
|
||||||
|
Lb_3.Visible=True
|
||||||
|
Lb_4.Visible=False
|
||||||
|
End If
|
||||||
|
If Rb_4_4.Checked Then
|
||||||
|
Lb_1.Visible=False
|
||||||
|
Lb_2.Visible=False
|
||||||
|
Lb_3.Visible=False
|
||||||
|
Lb_4.Visible=True
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub SP_MENUC_ItemClick (Position As Int, Value As String)
|
||||||
|
LB_CATEGORIA.Text =LISTMENU.Get(Position)
|
||||||
|
If LB_CATEGORIA.Text = "Cabina con switch encendido" Then
|
||||||
|
Pnl_CabinaInfo.Visible=True
|
||||||
|
Pnl_Carga.Visible=False
|
||||||
|
Pnl_Inspec.Visible=False
|
||||||
|
Pnl_MotorEncen.Visible=False
|
||||||
|
Pnl_CofreAbierto.Visible=False
|
||||||
|
End If
|
||||||
|
If LB_CATEGORIA.Text = "Cabina y espacio de carga" Then
|
||||||
|
Pnl_CabinaInfo.Visible=False
|
||||||
|
Pnl_Carga.Visible=True
|
||||||
|
Pnl_Inspec.Visible=False
|
||||||
|
Pnl_MotorEncen.Visible=False
|
||||||
|
Pnl_CofreAbierto.Visible=False
|
||||||
|
End If
|
||||||
|
If LB_CATEGORIA.Text = "Inspección General Exterior" Then
|
||||||
|
Pnl_CabinaInfo.Visible=False
|
||||||
|
Pnl_Carga.Visible=False
|
||||||
|
Pnl_Inspec.Visible=True
|
||||||
|
Pnl_MotorEncen.Visible=False
|
||||||
|
Pnl_CofreAbierto.Visible=False
|
||||||
|
End If
|
||||||
|
If LB_CATEGORIA.Text = "Cofre abierto, motor apagado" Then
|
||||||
|
Pnl_CabinaInfo.Visible=False
|
||||||
|
Pnl_Carga.Visible=False
|
||||||
|
Pnl_Inspec.Visible=False
|
||||||
|
Pnl_MotorEncen.Visible=False
|
||||||
|
Pnl_CofreAbierto.Visible=True
|
||||||
|
If Pnl_CofreAbierto.Visible=True Then
|
||||||
|
Pnl_Fotos.visible=False
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
If LB_CATEGORIA.Text = "Con motor encendido" Then
|
||||||
|
Pnl_CabinaInfo.Visible=False
|
||||||
|
Pnl_Carga.Visible=False
|
||||||
|
Pnl_Inspec.Visible=True
|
||||||
|
Pnl_MotorEncen.Visible=True
|
||||||
|
Pnl_CofreAbierto.Visible=False
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub Bt_GuardarCheck_Click
|
||||||
|
DateTime.DateFormat = "MM/dd/yyyy"
|
||||||
|
sDate=DateTime.Date(DateTime.Now)
|
||||||
|
sTime=DateTime.Time(DateTime.Now)
|
||||||
|
N_Ruta=0
|
||||||
|
c=Starter.skmt.ExecQuery("select CAT_CL_RUTA FROM kmt_info")
|
||||||
|
If c.RowCount > 0 Then
|
||||||
|
c.Position=0
|
||||||
|
N_Ruta= c.GetString("CAT_CL_RUTA")
|
||||||
|
End If
|
||||||
|
C2=Starter.skmt.ExecQuery("select ID_ALMACEN FROM CAT_ALMACEN")
|
||||||
|
C2.Position=0
|
||||||
|
Id_Almacen=C2.GetString("ID_ALMACEN")
|
||||||
|
''''''''''''''''''''''''''''''''''''NIVELES DE GASOLINA CHECK''''''''''''''''''
|
||||||
|
If Rb_1_4.Checked Then
|
||||||
|
Combustible="1/4"
|
||||||
|
End If
|
||||||
|
If Rb_2_4.Checked Then
|
||||||
|
Combustible="2/4"
|
||||||
|
End If
|
||||||
|
If Rb_3_4.Checked Then
|
||||||
|
Combustible="3/4"
|
||||||
|
End If
|
||||||
|
If Rb_4_4.Checked Then
|
||||||
|
Combustible="4/4"
|
||||||
|
End If
|
||||||
|
''''''''''''''''''''''''''''''''''''INDICADORES DE TABLERO''''''''''''''''''
|
||||||
|
If Cbox_Claxon.Checked=True Then
|
||||||
|
Cbox_Claxon.Tag="1"
|
||||||
|
Else
|
||||||
|
Cbox_Claxon.Tag="0"
|
||||||
|
End If
|
||||||
|
If Cbox_Cinturon.Checked=True Then
|
||||||
|
Cbox_Cinturon.Tag="1"
|
||||||
|
Else
|
||||||
|
Cbox_Cinturon.Tag="0"
|
||||||
|
End If
|
||||||
|
If Cbox_Parabrisas.Checked=True Then
|
||||||
|
Cbox_Parabrisas.Tag="1"
|
||||||
|
Else
|
||||||
|
Cbox_Parabrisas.Tag="0"
|
||||||
|
End If
|
||||||
|
If Cbox_Espejos.Checked=True Then
|
||||||
|
Cbox_Espejos.Tag="1"
|
||||||
|
Else
|
||||||
|
Cbox_Espejos.Tag="0"
|
||||||
|
End If
|
||||||
|
If Cbox_Licencia.Checked=True Then
|
||||||
|
Cbox_Licencia.Tag="1"
|
||||||
|
Else
|
||||||
|
Cbox_Licencia.Tag="0"
|
||||||
|
End If
|
||||||
|
'''''' SEGUNDO PANEL
|
||||||
|
If Ch_OBJETOSINE.Checked=True Then
|
||||||
|
Ch_OBJETOSINE.Tag="1"
|
||||||
|
Else
|
||||||
|
Ch_OBJETOSINE.Tag="0"
|
||||||
|
End If
|
||||||
|
If CH_OBJMPERV.Checked=True Then
|
||||||
|
CH_OBJMPERV.Tag="1"
|
||||||
|
Else
|
||||||
|
CH_OBJMPERV.Tag="0"
|
||||||
|
End If
|
||||||
|
If Ch_ORHERRA.Checked=True Then
|
||||||
|
Ch_ORHERRA.Tag="1"
|
||||||
|
Else
|
||||||
|
Ch_ORHERRA.Tag="0"
|
||||||
|
End If
|
||||||
|
If Ch_UNILIMPIA.Checked=True Then
|
||||||
|
Ch_UNILIMPIA.Tag="1"
|
||||||
|
Else
|
||||||
|
Ch_UNILIMPIA.Tag="0"
|
||||||
|
End If
|
||||||
|
If Ch_LIMPIO.Checked=True Then
|
||||||
|
Ch_LIMPIO.Tag="1"
|
||||||
|
Else
|
||||||
|
Ch_LIMPIO.Tag="0"
|
||||||
|
End If
|
||||||
|
If Ch_BASURA.Checked=True Then
|
||||||
|
Ch_BASURA.Tag="1"
|
||||||
|
Else
|
||||||
|
Ch_BASURA.Tag="0"
|
||||||
|
End If
|
||||||
|
If Ch_RESPON.Checked=True Then
|
||||||
|
Ch_RESPON.Tag="1"
|
||||||
|
Else
|
||||||
|
Ch_RESPON.Tag="0"
|
||||||
|
End If
|
||||||
|
If Ch_AUDITORIA.Checked=True Then
|
||||||
|
Ch_AUDITORIA.Tag="1"
|
||||||
|
Else
|
||||||
|
Ch_AUDITORIA.Tag="0"
|
||||||
|
End If
|
||||||
|
If Ch_HABITUAL.Checked=True Then
|
||||||
|
Ch_HABITUAL.Tag="1"
|
||||||
|
Else
|
||||||
|
Ch_HABITUAL.Tag="0"
|
||||||
|
End If
|
||||||
|
''''' PANEL 3
|
||||||
|
If Ch_HERRAMIENTAS.Checked=True Then
|
||||||
|
Ch_HERRAMIENTAS.Tag="1"
|
||||||
|
Else
|
||||||
|
Ch_HERRAMIENTAS.Tag="0"
|
||||||
|
End If
|
||||||
|
If Ch_CONOS.Checked=True Then
|
||||||
|
Ch_CONOS.Tag="1"
|
||||||
|
Else
|
||||||
|
Ch_CONOS.Tag="0"
|
||||||
|
End If
|
||||||
|
If Ch_EDOCARROCE.Checked=True Then
|
||||||
|
Ch_EDOCARROCE.Tag="1"
|
||||||
|
Else
|
||||||
|
Ch_EDOCARROCE.Tag="0"
|
||||||
|
End If
|
||||||
|
If Ch_FUN_LUCES.Checked=True Then
|
||||||
|
Ch_FUN_LUCES.Tag="1"
|
||||||
|
Else
|
||||||
|
Ch_FUN_LUCES.Tag="0"
|
||||||
|
End If
|
||||||
|
If Ch_PLACAS_CIRCU.Checked=True Then
|
||||||
|
Ch_PLACAS_CIRCU.Tag="1"
|
||||||
|
Else
|
||||||
|
Ch_PLACAS_CIRCU.Tag="0"
|
||||||
|
End If
|
||||||
|
If Ch_COND_LLANTAS.Checked=True Then
|
||||||
|
Ch_COND_LLANTAS.Tag="1"
|
||||||
|
Else
|
||||||
|
Ch_COND_LLANTAS.Tag="0"
|
||||||
|
End If
|
||||||
|
'''' PANEL 4
|
||||||
|
If Ch_ACEITEMOTOR.Checked=True Then
|
||||||
|
Ch_ACEITEMOTOR.Tag="1"
|
||||||
|
Else
|
||||||
|
Ch_ACEITEMOTOR.Tag="0"
|
||||||
|
End If
|
||||||
|
If Ch_ACEITEDIREC.Checked=True Then
|
||||||
|
Ch_ACEITEDIREC.Tag="1"
|
||||||
|
Else
|
||||||
|
Ch_ACEITEDIREC.Tag="0"
|
||||||
|
End If
|
||||||
|
If Ch_NVL_REFRIGE.Checked=True Then
|
||||||
|
Ch_NVL_REFRIGE.Tag="1"
|
||||||
|
Else
|
||||||
|
Ch_NVL_REFRIGE.Tag="0"
|
||||||
|
End If
|
||||||
|
If Ch_NVL_LIQUIDBRI.Checked=True Then
|
||||||
|
Ch_NVL_LIQUIDBRI.Tag="1"
|
||||||
|
Else
|
||||||
|
Ch_NVL_LIQUIDBRI.Tag="0"
|
||||||
|
End If
|
||||||
|
If Ch_COND_BANMOTOR.Checked=True Then
|
||||||
|
Ch_COND_BANMOTOR.Tag="1"
|
||||||
|
Else
|
||||||
|
Ch_COND_BANMOTOR.Tag="0"
|
||||||
|
End If
|
||||||
|
''''' PANEL 5
|
||||||
|
If Ch_FUGASGRAL.Checked=True Then
|
||||||
|
Ch_FUGASGRAL.Tag="1"
|
||||||
|
Else
|
||||||
|
Ch_FUGASGRAL.Tag="0"
|
||||||
|
End If
|
||||||
|
If Ch_FRENOS.Checked=True Then
|
||||||
|
Ch_FRENOS.Tag="1"
|
||||||
|
Else
|
||||||
|
Ch_FRENOS.Tag="0"
|
||||||
|
End If
|
||||||
|
c=Starter.skmt.ExecQuery2("SELECT COUNT(*) AS CUANTOS FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?",Array As String("PLACAS") )
|
||||||
|
c.Position=0
|
||||||
|
PLACAS = c.GetString("CUANTOS")
|
||||||
|
c.Close
|
||||||
|
If PLACAS > 0 Then
|
||||||
|
c=Starter.skmt.ExecQuery2("SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?",Array As String("PLACAS") )
|
||||||
|
c.Position=0
|
||||||
|
PLACAS = c.GetString("CAT_VA_VALOR")
|
||||||
|
c.Close
|
||||||
|
Else
|
||||||
|
PLACAS = "0000"
|
||||||
|
End If
|
||||||
|
'''''''''''''''''''''''''''''''''' FOTOS '''''''''''''''''''''''''''''''
|
||||||
|
Private fotosOk As Int = 0
|
||||||
|
If Not(File.Exists(File.DirInternal,"FOTO1.jpg")) Or _
|
||||||
|
Not(File.Exists(File.DirInternal,"FOTO2.jpg")) Or _
|
||||||
|
Not(File.Exists(File.DirInternal,"FOTO3.jpg")) Or _
|
||||||
|
Not(File.Exists(File.DirInternal,"FOTO4.jpg")) Then
|
||||||
|
Msgbox("Por favor tomar las 4 fotos.", "Atención") 'ignore
|
||||||
|
Pnl_CabinaInfo.Visible=False
|
||||||
|
Pnl_Carga.Visible=False
|
||||||
|
Pnl_Inspec.Visible=True
|
||||||
|
Pnl_MotorEncen.Visible=True
|
||||||
|
Pnl_CofreAbierto.Visible=False
|
||||||
|
Else
|
||||||
|
fotosOk = 1
|
||||||
|
End If
|
||||||
|
'''''''''''''''''''''' Kilometraje inicial '''''''''''''''''
|
||||||
|
Private kmsOk As Int = 0
|
||||||
|
If Et_KilometrajeIni.Text="" Then
|
||||||
|
Msgbox("Atención","Ingresa el Kilometraje Inicial") 'ignore
|
||||||
|
Pnl_CabinaInfo.Visible=True
|
||||||
|
Pnl_Carga.Visible=False
|
||||||
|
Pnl_Inspec.Visible=False
|
||||||
|
Pnl_MotorEncen.Visible=False
|
||||||
|
Pnl_CofreAbierto.Visible=False
|
||||||
|
Else
|
||||||
|
kmsOk = 1
|
||||||
|
End If
|
||||||
|
|
||||||
|
If kmsOk = 1 And fotosOk = 1 Then
|
||||||
|
CUANTOS = 0
|
||||||
|
c=Starter.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS FROM TMP_INSPECCION_AUTO_DIARIA")
|
||||||
|
If c.RowCount > 0 Then
|
||||||
|
c.Position = 0
|
||||||
|
CUANTOS = c.GetString("CUANTOS")
|
||||||
|
Log("Info checklist: " & CUANTOS)
|
||||||
|
End If
|
||||||
|
c.Close
|
||||||
|
If CUANTOS = 0 Then
|
||||||
|
Starter.skmt.ExecNonQuery("delete from TMP_INSPECCION_AUTO_DIARIA") 'Mod por CHV - 211125
|
||||||
|
Starter.skmt.ExecNonQuery2("INSERT INTO TMP_INSPECCION_AUTO_DIARIA ( " & Chr(34) & "TMP_AUTO_RUTA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_PLACA" & Chr(34) & "," & Chr(34) & "TMP_AUTO_CEDIS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_IDALMACEN" & Chr(34) & "," & Chr(34) & "TMP_AUTO_FECHA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_KILOMETRAJE" & Chr(34) & "," & Chr(34) & "TMP_AUTO_COMBUSTIBLE" & Chr(34) & "," & Chr(34) & "TMP_AUTO_TABLERO " & Chr(34) & "," & Chr(34) & "TMP_AUTO_CLAXON " & Chr(34) & "," & Chr(34) & "TMP_AUTO_PARABRISAS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_CINTURON " & Chr(34) & "," & Chr(34) & "TMP_AUTO_ESPEJOS " & Chr(34) & " ," & Chr(34) & "TMP_AUTO_LICENCIA " & Chr(34) & " ," & Chr(34) & "TMP_AUTO_LIB_OBJETOSINE " & Chr(34) & " ," & Chr(34) & "TMP_AUTO_LIB_OBJETOTMPERVI " & Chr(34) & "," & Chr(34) & "TMP_AUTO_ORDEN_HERRA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_UNILIMPIA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_LIMPIO " & Chr(34) & "," & Chr(34) & "TMP_AUTO_BASURA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_RESPONSABILIDAD " & Chr(34) & "," & Chr(34) & "TMP_AUTO_AUDITORIA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_HABITUAL " & Chr(34) & "," & Chr(34) & "TMP_AUTO_HERRAMIENTAS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_CONOS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_EDO_CARROCERIA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_FUN_LUCES " & Chr(34) & "," & Chr(34) & "TMP_AUTO_PLACAS_CIRCU " & Chr(34) & "," & Chr(34) & "TMP_AUTO_COND_LLANTAS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_ACEITEMOTOR " & Chr(34) & "," & Chr(34) & "TMP_AUTO_ACEITEDIREC " & Chr(34) & "," & Chr(34) & "TMP_AUTO_NVL_REFRIGERANTE " & Chr(34) & "," & Chr(34) & "TMP_AUTO_NVL_LIQUIDBRISAS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_COND_BANMOTOR " & Chr(34) & "," & Chr(34) & "TMP_AUTO_FUGASGRAL " & Chr(34) & "," & Chr(34) & "TMP_AUTO_FRENOS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_COMENTARIOS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_FOTO1" & Chr(34) & "," & Chr(34) & "TMP_AUTO_FOTO2" & Chr(34) & "," & Chr(34) & "TMP_AUTO_FOTO3" & Chr(34) & "," & Chr(34) & "TMP_AUTO_FOTO4" & Chr(34) & " ) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (N_Ruta,PLACAS,Null,Id_Almacen,sDate,Et_KilometrajeIni.Text,Combustible,1,Cbox_Claxon.Tag,Cbox_Parabrisas.Tag,Cbox_Cinturon.Tag,Cbox_Espejos.Tag,Cbox_Licencia.Tag,Ch_OBJETOSINE.Tag,CH_OBJMPERV.Tag,Ch_ORHERRA.Tag,Ch_UNILIMPIA.Tag,Ch_LIMPIO.Tag,Ch_BASURA.Tag,Ch_RESPON.Tag,Ch_AUDITORIA.Tag,Ch_HABITUAL.Tag,Ch_HERRAMIENTAS.Tag,Ch_CONOS.Tag,Ch_EDOCARROCE.Tag,Ch_FUN_LUCES.Tag,Ch_PLACAS_CIRCU.Tag,Ch_COND_LLANTAS.Tag,Ch_ACEITEMOTOR.Tag,Ch_ACEITEDIREC.Tag,Ch_NVL_REFRIGE.Tag,Ch_NVL_LIQUIDBRI.Tag,Ch_COND_BANMOTOR.Tag,Ch_FUGASGRAL.Tag,Ch_FRENOS.Tag,Edt_COMENTARIO.TeXT))
|
||||||
|
Log("Guardamos Kilometraje")
|
||||||
|
Else
|
||||||
|
Starter.skmt.ExecNonQuery("delete from TMP_INSPECCION_AUTO_DIARIA") 'Mod por CHV - 211125
|
||||||
|
Starter.skmt.ExecNonQuery2("INSERT INTO TMP_INSPECCION_AUTO_DIARIA ( " & Chr(34) & "TMP_AUTO_RUTA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_PLACA" & Chr(34) & "," & Chr(34) & "TMP_AUTO_CEDIS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_IDALMACEN" & Chr(34) & "," & Chr(34) & "TMP_AUTO_FECHA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_KILOMETRAJE" & Chr(34) & "," & Chr(34) & "TMP_AUTO_COMBUSTIBLE" & Chr(34) & "," & Chr(34) & "TMP_AUTO_TABLERO " & Chr(34) & "," & Chr(34) & "TMP_AUTO_CLAXON " & Chr(34) & "," & Chr(34) & "TMP_AUTO_PARABRISAS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_CINTURON " & Chr(34) & "," & Chr(34) & "TMP_AUTO_ESPEJOS " & Chr(34) & " ," & Chr(34) & "TMP_AUTO_LICENCIA " & Chr(34) & " ," & Chr(34) & "TMP_AUTO_LIB_OBJETOSINE " & Chr(34) & " ," & Chr(34) & "TMP_AUTO_LIB_OBJETOTMPERVI " & Chr(34) & "," & Chr(34) & "TMP_AUTO_ORDEN_HERRA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_UNILIMPIA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_LIMPIO " & Chr(34) & "," & Chr(34) & "TMP_AUTO_BASURA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_RESPONSABILIDAD " & Chr(34) & "," & Chr(34) & "TMP_AUTO_AUDITORIA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_HABITUAL " & Chr(34) & "," & Chr(34) & "TMP_AUTO_HERRAMIENTAS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_CONOS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_EDO_CARROCERIA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_FUN_LUCES " & Chr(34) & "," & Chr(34) & "TMP_AUTO_PLACAS_CIRCU " & Chr(34) & "," & Chr(34) & "TMP_AUTO_COND_LLANTAS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_ACEITEMOTOR " & Chr(34) & "," & Chr(34) & "TMP_AUTO_ACEITEDIREC " & Chr(34) & "," & Chr(34) & "TMP_AUTO_NVL_REFRIGERANTE " & Chr(34) & "," & Chr(34) & "TMP_AUTO_NVL_LIQUIDBRISAS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_COND_BANMOTOR " & Chr(34) & "," & Chr(34) & "TMP_AUTO_FUGASGRAL " & Chr(34) & "," & Chr(34) & "TMP_AUTO_FRENOS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_COMENTARIOS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_FOTO1" & Chr(34) & "," & Chr(34) & "TMP_AUTO_FOTO2" & Chr(34) & "," & Chr(34) & "TMP_AUTO_FOTO3" & Chr(34) & "," & Chr(34) & "TMP_AUTO_FOTO4" & Chr(34) & " ) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (N_Ruta,PLACAS,Null,Id_Almacen,sDate,Et_KilometrajeIni.Text,Combustible,1,Cbox_Claxon.Tag,Cbox_Parabrisas.Tag,Cbox_Cinturon.Tag,Cbox_Espejos.Tag,Cbox_Licencia.Tag,Ch_OBJETOSINE.Tag,CH_OBJMPERV.Tag,Ch_ORHERRA.Tag,Ch_UNILIMPIA.Tag,Ch_LIMPIO.Tag,Ch_BASURA.Tag,Ch_RESPON.Tag,Ch_AUDITORIA.Tag,Ch_HABITUAL.Tag,Ch_HERRAMIENTAS.Tag,Ch_CONOS.Tag,Ch_EDOCARROCE.Tag,Ch_FUN_LUCES.Tag,Ch_PLACAS_CIRCU.Tag,Ch_COND_LLANTAS.Tag,Ch_ACEITEMOTOR.Tag,Ch_ACEITEDIREC.Tag,Ch_NVL_REFRIGE.Tag,Ch_NVL_LIQUIDBRI.Tag,Ch_COND_BANMOTOR.Tag,Ch_FUGASGRAL.Tag,Ch_FRENOS.Tag,Edt_COMENTARIO.TeXT))
|
||||||
|
Log("Guardamos Kilometraje")
|
||||||
|
End If
|
||||||
|
OK_CheckList = 1
|
||||||
|
Msgbox("DATOS GUARDADOS CON EXITO ","") 'ignore
|
||||||
|
Subs.iniciaActividad("Principal")
|
||||||
|
' B4XPages.ShowPage("Principal")
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub GUARDA_TEMPORAL
|
||||||
|
DateTime.DateFormat = "MM/dd/yyyy"
|
||||||
|
sDate=DateTime.Date(DateTime.Now)
|
||||||
|
sTime=DateTime.Time(DateTime.Now)
|
||||||
|
c=Starter.skmt.ExecQuery("select CAT_CL_RUTA FROM kmt_info")
|
||||||
|
c.Position=0
|
||||||
|
N_Ruta= c.GetString("CAT_CL_RUTA")
|
||||||
|
C2=Starter.skmt.ExecQuery("select ID_ALMACEN FROM CAT_ALMACEN")
|
||||||
|
C2.Position=0
|
||||||
|
Id_Almacen=C2.GetString("ID_ALMACEN")
|
||||||
|
''''''''''''''''''''''''''''''''''''NIVELES DE GASOLINA CHECK''''''''''''''''''
|
||||||
|
If Rb_1_4.Checked Then
|
||||||
|
Combustible="1/4"
|
||||||
|
End If
|
||||||
|
If Rb_2_4.Checked Then
|
||||||
|
Combustible="2/4"
|
||||||
|
End If
|
||||||
|
If Rb_3_4.Checked Then
|
||||||
|
Combustible="3/4"
|
||||||
|
End If
|
||||||
|
If Rb_4_4.Checked Then
|
||||||
|
Combustible="4/4"
|
||||||
|
End If
|
||||||
|
''''''''''''''''''''''''''''''''''''INDICADORES DE TABLERO''''''''''''''''''
|
||||||
|
If Cbox_Claxon.Checked=True Then
|
||||||
|
Cbox_Claxon.Tag="1"
|
||||||
|
Else
|
||||||
|
Cbox_Claxon.Tag="0"
|
||||||
|
End If
|
||||||
|
|
||||||
|
If Cbox_Cinturon.Checked=True Then
|
||||||
|
Cbox_Cinturon.Tag="1"
|
||||||
|
Else
|
||||||
|
Cbox_Cinturon.Tag="0"
|
||||||
|
End If
|
||||||
|
|
||||||
|
If Cbox_Parabrisas.Checked=True Then
|
||||||
|
Cbox_Parabrisas.Tag="1"
|
||||||
|
Else
|
||||||
|
Cbox_Parabrisas.Tag="0"
|
||||||
|
End If
|
||||||
|
|
||||||
|
If Cbox_Espejos.Checked=True Then
|
||||||
|
Cbox_Espejos.Tag="1"
|
||||||
|
Else
|
||||||
|
Cbox_Espejos.Tag="0"
|
||||||
|
End If
|
||||||
|
|
||||||
|
If Cbox_Licencia.Checked=True Then
|
||||||
|
Cbox_Licencia.Tag="1"
|
||||||
|
Else
|
||||||
|
Cbox_Licencia.Tag="0"
|
||||||
|
End If
|
||||||
|
'''''' SEGUNDO PANEL
|
||||||
|
If Ch_OBJETOSINE.Checked=True Then
|
||||||
|
Ch_OBJETOSINE.Tag="1"
|
||||||
|
Else
|
||||||
|
Ch_OBJETOSINE.Tag="0"
|
||||||
|
End If
|
||||||
|
|
||||||
|
If CH_OBJMPERV.Checked=True Then
|
||||||
|
CH_OBJMPERV.Tag="1"
|
||||||
|
Else
|
||||||
|
CH_OBJMPERV.Tag="0"
|
||||||
|
End If
|
||||||
|
|
||||||
|
If Ch_ORHERRA.Checked=True Then
|
||||||
|
Ch_ORHERRA.Tag="1"
|
||||||
|
Else
|
||||||
|
Ch_ORHERRA.Tag="0"
|
||||||
|
End If
|
||||||
|
|
||||||
|
If Ch_UNILIMPIA.Checked=True Then
|
||||||
|
Ch_UNILIMPIA.Tag="1"
|
||||||
|
Else
|
||||||
|
Ch_UNILIMPIA.Tag="0"
|
||||||
|
End If
|
||||||
|
|
||||||
|
If Ch_LIMPIO.Checked=True Then
|
||||||
|
Ch_LIMPIO.Tag="1"
|
||||||
|
Else
|
||||||
|
Ch_LIMPIO.Tag="0"
|
||||||
|
End If
|
||||||
|
|
||||||
|
If Ch_BASURA.Checked=True Then
|
||||||
|
Ch_BASURA.Tag="1"
|
||||||
|
Else
|
||||||
|
Ch_BASURA.Tag="0"
|
||||||
|
End If
|
||||||
|
|
||||||
|
If Ch_RESPON.Checked=True Then
|
||||||
|
Ch_RESPON.Tag="1"
|
||||||
|
Else
|
||||||
|
Ch_RESPON.Tag="0"
|
||||||
|
End If
|
||||||
|
|
||||||
|
If Ch_AUDITORIA.Checked=True Then
|
||||||
|
Ch_AUDITORIA.Tag="1"
|
||||||
|
Else
|
||||||
|
Ch_AUDITORIA.Tag="0"
|
||||||
|
End If
|
||||||
|
|
||||||
|
If Ch_HABITUAL.Checked=True Then
|
||||||
|
Ch_HABITUAL.Tag="1"
|
||||||
|
Else
|
||||||
|
Ch_HABITUAL.Tag="0"
|
||||||
|
End If
|
||||||
|
''''' PANEL 3
|
||||||
|
If Ch_HERRAMIENTAS.Checked=True Then
|
||||||
|
Ch_HERRAMIENTAS.Tag="1"
|
||||||
|
Else
|
||||||
|
Ch_HERRAMIENTAS.Tag="0"
|
||||||
|
End If
|
||||||
|
If Ch_CONOS.Checked=True Then
|
||||||
|
Ch_CONOS.Tag="1"
|
||||||
|
Else
|
||||||
|
Ch_CONOS.Tag="0"
|
||||||
|
End If
|
||||||
|
|
||||||
|
If Ch_EDOCARROCE.Checked=True Then
|
||||||
|
Ch_EDOCARROCE.Tag="1"
|
||||||
|
Else
|
||||||
|
Ch_EDOCARROCE.Tag="0"
|
||||||
|
End If
|
||||||
|
|
||||||
|
If Ch_FUN_LUCES.Checked=True Then
|
||||||
|
Ch_FUN_LUCES.Tag="1"
|
||||||
|
Else
|
||||||
|
Ch_FUN_LUCES.Tag="0"
|
||||||
|
End If
|
||||||
|
|
||||||
|
If Ch_PLACAS_CIRCU.Checked=True Then
|
||||||
|
Ch_PLACAS_CIRCU.Tag="1"
|
||||||
|
Else
|
||||||
|
Ch_PLACAS_CIRCU.Tag="0"
|
||||||
|
End If
|
||||||
|
|
||||||
|
If Ch_COND_LLANTAS.Checked=True Then
|
||||||
|
Ch_COND_LLANTAS.Tag="1"
|
||||||
|
Else
|
||||||
|
Ch_COND_LLANTAS.Tag="0"
|
||||||
|
End If
|
||||||
|
|
||||||
|
'''' PANEL 4
|
||||||
|
If Ch_ACEITEMOTOR.Checked=True Then
|
||||||
|
Ch_ACEITEMOTOR.Tag="1"
|
||||||
|
Else
|
||||||
|
Ch_ACEITEMOTOR.Tag="0"
|
||||||
|
End If
|
||||||
|
|
||||||
|
If Ch_ACEITEDIREC.Checked=True Then
|
||||||
|
Ch_ACEITEDIREC.Tag="1"
|
||||||
|
Else
|
||||||
|
Ch_ACEITEDIREC.Tag="0"
|
||||||
|
End If
|
||||||
|
|
||||||
|
If Ch_NVL_REFRIGE.Checked=True Then
|
||||||
|
Ch_NVL_REFRIGE.Tag="1"
|
||||||
|
Else
|
||||||
|
Ch_NVL_REFRIGE.Tag="0"
|
||||||
|
End If
|
||||||
|
|
||||||
|
If Ch_NVL_LIQUIDBRI.Checked=True Then
|
||||||
|
Ch_NVL_LIQUIDBRI.Tag="1"
|
||||||
|
Else
|
||||||
|
Ch_NVL_LIQUIDBRI.Tag="0"
|
||||||
|
End If
|
||||||
|
|
||||||
|
If Ch_COND_BANMOTOR.Checked=True Then
|
||||||
|
Ch_COND_BANMOTOR.Tag="1"
|
||||||
|
Else
|
||||||
|
Ch_COND_BANMOTOR.Tag="0"
|
||||||
|
End If
|
||||||
|
''''' PANEL 5
|
||||||
|
If Ch_FUGASGRAL.Checked=True Then
|
||||||
|
Ch_FUGASGRAL.Tag="1"
|
||||||
|
Else
|
||||||
|
Ch_FUGASGRAL.Tag="0"
|
||||||
|
End If
|
||||||
|
|
||||||
|
If Ch_FRENOS.Checked=True Then
|
||||||
|
Ch_FRENOS.Tag="1"
|
||||||
|
Else
|
||||||
|
Ch_FRENOS.Tag="0"
|
||||||
|
End If
|
||||||
|
|
||||||
|
c=Starter.skmt.ExecQuery2("SELECT COUNT(*) AS CUANTOS FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?",Array As String("PLACAS") )
|
||||||
|
c.Position=0
|
||||||
|
PLACAS = c.GetString("CUANTOS")
|
||||||
|
c.Close
|
||||||
|
|
||||||
|
If PLACAS > 0 Then
|
||||||
|
c=Starter.skmt.ExecQuery2("SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?",Array As String("PLACAS") )
|
||||||
|
c.Position=0
|
||||||
|
PLACAS = c.GetString("CAT_VA_VALOR")
|
||||||
|
c.Close
|
||||||
|
Else
|
||||||
|
PLACAS = "0000"
|
||||||
|
End If
|
||||||
|
Starter.skmt.ExecNonQuery("delete from TMP_INSPECCION_AUTO_DIARIA") 'Mod por CHV - 211125
|
||||||
|
Starter.skmt.ExecNonQuery2("INSERT INTO TMP_INSPECCION_AUTO_DIARIA( " & Chr(34) & "TMP_AUTO_RUTA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_PLACA" & Chr(34) & "," & Chr(34) & "TMP_AUTO_CEDIS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_IDALMACEN" & Chr(34) & "," & Chr(34) & "TMP_AUTO_FECHA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_KILOMETRAJE" & Chr(34) & "," & Chr(34) & "TMP_AUTO_COMBUSTIBLE" & Chr(34) & "," & Chr(34) & "TMP_AUTO_TABLERO " & Chr(34) & "," & Chr(34) & "TMP_AUTO_CLAXON " & Chr(34) & "," & Chr(34) & "TMP_AUTO_PARABRISAS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_CINTURON " & Chr(34) & "," & Chr(34) & "TMP_AUTO_ESPEJOS " & Chr(34) & " ," & Chr(34) & "TMP_AUTO_LICENCIA " & Chr(34) & " ," & Chr(34) & "TMP_AUTO_LIB_OBJETOSINE " & Chr(34) & " ," & Chr(34) & "TMP_AUTO_LIB_OBJETOTMPERVI " & Chr(34) & "," & Chr(34) & "TMP_AUTO_ORDEN_HERRA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_UNILIMPIA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_LIMPIO " & Chr(34) & "," & Chr(34) & "TMP_AUTO_BASURA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_RESPONSABILIDAD " & Chr(34) & "," & Chr(34) & "TMP_AUTO_AUDITORIA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_HABITUAL " & Chr(34) & "," & Chr(34) & "TMP_AUTO_HERRAMIENTAS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_CONOS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_EDO_CARROCERIA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_FUN_LUCES " & Chr(34) & "," & Chr(34) & "TMP_AUTO_PLACAS_CIRCU " & Chr(34) & "," & Chr(34) & "TMP_AUTO_COND_LLANTAS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_ACEITEMOTOR " & Chr(34) & "," & Chr(34) & "TMP_AUTO_ACEITEDIREC " & Chr(34) & "," & Chr(34) & "TMP_AUTO_NVL_REFRIGERANTE " & Chr(34) & "," & Chr(34) & "TMP_AUTO_NVL_LIQUIDBRISAS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_COND_BANMOTOR " & Chr(34) & "," & Chr(34) & "TMP_AUTO_FUGASGRAL " & Chr(34) & "," & Chr(34) & "TMP_AUTO_FRENOS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_COMENTARIOS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_FOTO1" & Chr(34) & "," & Chr(34) & "TMP_AUTO_FOTO2" & Chr(34) & "," & Chr(34) & "TMP_AUTO_FOTO3" & Chr(34) & "," & Chr(34) & "TMP_AUTO_FOTO4" & Chr(34) & " ) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (N_Ruta,PLACAS,Null,Id_Almacen,sDate,Et_KilometrajeIni.Text,Combustible,1,Cbox_Claxon.Tag,Cbox_Parabrisas.Tag,Cbox_Cinturon.Tag,Cbox_Espejos.Tag,Cbox_Licencia.Tag,Ch_OBJETOSINE.Tag,CH_OBJMPERV.Tag,Ch_ORHERRA.Tag,Ch_UNILIMPIA.Tag,Ch_LIMPIO.Tag,Ch_BASURA.Tag,Ch_RESPON.Tag,Ch_AUDITORIA.Tag,Ch_HABITUAL.Tag,Ch_HERRAMIENTAS.Tag,Ch_CONOS.Tag,Ch_EDOCARROCE.Tag,Ch_FUN_LUCES.Tag,Ch_PLACAS_CIRCU.Tag,Ch_COND_LLANTAS.Tag,Ch_ACEITEMOTOR.Tag,Ch_ACEITEDIREC.Tag,Ch_NVL_REFRIGE.Tag,Ch_NVL_LIQUIDBRI.Tag,Ch_COND_BANMOTOR.Tag,Ch_FUGASGRAL.Tag,Ch_FRENOS.Tag,Edt_COMENTARIO.TeXT))
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub b_guardar_Click
|
||||||
|
If Bt_Foto1.Tag="2" Then
|
||||||
|
Im_1.Bitmap = LoadBitmap(File.DirInternal, "FOTO1.jpg")
|
||||||
|
Pnl_Fotos.Visible=False
|
||||||
|
Bt_Foto1.Visible=True
|
||||||
|
Bt_Foto2.Visible=True
|
||||||
|
Bt_Foto3.Visible=True
|
||||||
|
Bt_Foto4.Visible=True
|
||||||
|
Pnl_Fotos.Visible=False
|
||||||
|
Bt_GuardarCheck.Visible=True
|
||||||
|
End If
|
||||||
|
|
||||||
|
If Bt_Foto2.Tag="2" Then
|
||||||
|
Im2.Bitmap = LoadBitmap(File.DirInternal, "FOTO2.jpg")
|
||||||
|
Pnl_Fotos.Visible=False
|
||||||
|
Bt_Foto1.Visible=True
|
||||||
|
Bt_Foto2.Visible=True
|
||||||
|
Bt_Foto3.Visible=True
|
||||||
|
Bt_Foto4.Visible=True
|
||||||
|
Pnl_Fotos.Visible=False
|
||||||
|
Bt_GuardarCheck.Visible=True
|
||||||
|
End If
|
||||||
|
If Bt_Foto3.Tag="2" Then
|
||||||
|
Im3.Bitmap = LoadBitmap(File.DirInternal, "FOTO3.jpg")
|
||||||
|
Pnl_Fotos.Visible=False
|
||||||
|
Bt_Foto1.Visible=True
|
||||||
|
Bt_Foto2.Visible=True
|
||||||
|
Bt_Foto3.Visible=True
|
||||||
|
Bt_Foto4.Visible=True
|
||||||
|
Pnl_Fotos.Visible=False
|
||||||
|
Bt_GuardarCheck.Visible=True
|
||||||
|
End If
|
||||||
|
|
||||||
|
If Bt_Foto4.Tag="2" Then
|
||||||
|
Im4.Bitmap = LoadBitmap(File.DirInternal, "FOTO4.jpg")
|
||||||
|
Pnl_Fotos.Visible=False
|
||||||
|
Bt_Foto1.Visible=True
|
||||||
|
Bt_Foto2.Visible=True
|
||||||
|
Bt_Foto3.Visible=True
|
||||||
|
Bt_Foto4.Visible=True
|
||||||
|
Pnl_Fotos.Visible=False
|
||||||
|
Bt_GuardarCheck.Visible=True
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub Bt_Foto1_Click
|
||||||
|
foto.quien_llamo = "1"
|
||||||
|
GUARDA_TEMPORAL
|
||||||
|
TOMO_FOTO1 = 1
|
||||||
|
StartActivity("foto")
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub Bt_Foto2_Click
|
||||||
|
foto.quien_llamo = "2"
|
||||||
|
GUARDA_TEMPORAL
|
||||||
|
StartActivity("foto")
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub Bt_Foto3_Click
|
||||||
|
foto.quien_llamo = "3"
|
||||||
|
GUARDA_TEMPORAL
|
||||||
|
TOMO_FOTO3 = 1
|
||||||
|
StartActivity("foto")
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub Bt_Foto4_Click
|
||||||
|
foto.quien_llamo = "4"
|
||||||
|
GUARDA_TEMPORAL
|
||||||
|
TOMO_FOTO4 = 1
|
||||||
|
StartActivity("foto")
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub LBL_REGRESA_Click
|
||||||
|
Pnl_Fotos.Visible=False
|
||||||
|
Bt_Foto1.Visible=True
|
||||||
|
Bt_Foto2.Visible=True
|
||||||
|
Bt_Foto3.Visible=True
|
||||||
|
Bt_Foto4.Visible=True
|
||||||
|
Bt_GuardarCheck.Visible=True
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
''' SUBIR PANEL.
|
||||||
|
Sub IME_HeightChanged(NewHeight As Int, OldHeight As Int)
|
||||||
|
' para subir la entrada de datos y que este encima del teclado
|
||||||
|
'Log("NewHeight " & NewHeight & " OldHeight " & OldHeight)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub Activity_KeyPress (key As Int) As Boolean 'ignore
|
||||||
|
' BACK key pressed
|
||||||
|
If key=KeyCodes.KEYCODE_BACK Then
|
||||||
|
Pnl_CabinaInfo.Visible=False
|
||||||
|
Pnl_Carga.Visible=False
|
||||||
|
Pnl_Inspec.Visible=True
|
||||||
|
Pnl_MotorEncen.Visible=True
|
||||||
|
Pnl_CofreAbierto.Visible=False
|
||||||
|
Return False
|
||||||
|
'End If
|
||||||
|
End If
|
||||||
|
' Returning False signals the system to handle the key
|
||||||
|
End Sub
|
||||||
3821
B4A/C_Cliente.bas
Normal file
287
B4A/C_Clientes.bas
Normal file
@@ -0,0 +1,287 @@
|
|||||||
|
B4A=true
|
||||||
|
Group=Default Group
|
||||||
|
ModulesStructureVersion=1
|
||||||
|
Type=Class
|
||||||
|
Version=11.5
|
||||||
|
@EndOfDesignText@
|
||||||
|
Sub Class_Globals
|
||||||
|
Private Root As B4XView 'ignore
|
||||||
|
Private xui As XUI 'ignore
|
||||||
|
'// Process Globals
|
||||||
|
Dim ruta As String
|
||||||
|
Dim q_buscar As String
|
||||||
|
Dim MAC_IMPRESORA As String
|
||||||
|
'// Globals
|
||||||
|
Dim c As Cursor
|
||||||
|
Dim c2 As Cursor
|
||||||
|
Dim s As Cursor
|
||||||
|
Dim ListView1 As ListView
|
||||||
|
Dim entro As String
|
||||||
|
Dim gest As Button
|
||||||
|
Dim lfila As Label
|
||||||
|
Dim busca As EditText
|
||||||
|
Dim colonia As String 'ignore
|
||||||
|
Private b_qr As Button
|
||||||
|
Private qr As QRCode
|
||||||
|
Dim sc As Zxing_scanner
|
||||||
|
Dim CODIGO As String
|
||||||
|
Private b_bdd As Button
|
||||||
|
Private SEMANA As String
|
||||||
|
Private B_IMP As Button
|
||||||
|
Dim logger As Boolean = True
|
||||||
|
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
|
||||||
|
'load the layout to Root
|
||||||
|
Root.LoadLayout("Clientes")
|
||||||
|
entro ="2"
|
||||||
|
ruta = File.DirInternal
|
||||||
|
qr.initialize
|
||||||
|
c=Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("MACIMP"))
|
||||||
|
c.Position =0
|
||||||
|
MAC_IMPRESORA = c.GetString("CAT_VA_VALOR")
|
||||||
|
Starter.MAC_IMPRESORA = MAC_IMPRESORA
|
||||||
|
If Not(Starter.Logger) Then logger = False
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
|
||||||
|
|
||||||
|
Sub B4XPage_Appear
|
||||||
|
B_IMP.Visible = False
|
||||||
|
' If Logger Then Log(Me)
|
||||||
|
' If Logger Then LogColor("Ultima actividad guardada=" & Subs.traeUltimaActividadBD, Colors.Blue)
|
||||||
|
' If Subs.traeUltimaActividadBD <> "colonia" Then Subs.iniciaActividad(Subs.traeUltimaActividadBD)
|
||||||
|
c=Starter.skmt.ExecQuery2("select count(*) AS CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("SEMANA"))
|
||||||
|
c.Position =0
|
||||||
|
SEMANA = c.GetString("CUANTOS")
|
||||||
|
c.Close
|
||||||
|
If SEMANA > 0 Then
|
||||||
|
c=Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("SEMANA"))
|
||||||
|
c.Position =0
|
||||||
|
SEMANA = c.GetString("CAT_VA_VALOR")
|
||||||
|
c.Close
|
||||||
|
End If
|
||||||
|
b_bdd.Visible = True
|
||||||
|
' b_qr.Visible = True
|
||||||
|
busca.Text = ""
|
||||||
|
entro ="2"
|
||||||
|
colonia = 0
|
||||||
|
c=Starter.skmt.ExecQuery2("select CAT_CL_NOMBRE, CAT_CL_CALLE, CAT_CL_CODIGO, CAT_CL_NUM_SERIEFISICO from kmt_info where CAT_CL_DIAS_VISITA = (SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?) and gestion = 0 and cat_cl_codigo not in (select pe_cliente from pedido) and cat_cl_codigo <> 0 AND CAT_CL_TIPO_RUTA IN (?,?) and CAT_CL_CODIGO not in (select NV_CLIENTE from NOVENTA) ORDER BY CAT_CL_NUM_SERIEFISICO", Array As String("DIA_VISITA",SEMANA, "SEMANAL"))
|
||||||
|
ListView1.Clear
|
||||||
|
lfila.Text = "NOMBRE"
|
||||||
|
If c.RowCount>0 Then
|
||||||
|
For i=0 To c.RowCount -1
|
||||||
|
c.Position=i
|
||||||
|
Dim label1 As Label
|
||||||
|
label1 = ListView1.TwoLinesLayout.Label
|
||||||
|
label1.TextSize = 14
|
||||||
|
label1.TextColor = Colors.Black
|
||||||
|
Dim label2 As Label
|
||||||
|
label2 = ListView1.TwoLinesLayout.SecondLabel
|
||||||
|
label2.TextSize = 14
|
||||||
|
label2.TextColor = Colors.Black
|
||||||
|
ListView1.AddTwoLines(c.GetString("CAT_CL_CODIGO"), c.GetString("CAT_CL_NUM_SERIEFISICO") & " " & c.GetString("CAT_CL_NOMBRE") )
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
entro = "4"
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub B4XPage_CloseRequest As ResumableSub
|
||||||
|
' BACK key pressed
|
||||||
|
Subs.iniciaActividad("principal")
|
||||||
|
' B4XPages.ShowPage("Principal")
|
||||||
|
Return True
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub ListView1_ItemClick (Position As Int, Value As Object)
|
||||||
|
' If Logger Then Log(Regex.Split("\.",Me)(Regex.Split("\.",Me).Length-1))
|
||||||
|
Private Subrutina As Map =CreateMap("nombre":"ListView1_ItemClick", "param1":Position, "param2":Value)
|
||||||
|
Starter.sesion = CreateMap("actividad":Me, "sub":Subrutina)
|
||||||
|
If colonia = 0 Then
|
||||||
|
colonia = Value
|
||||||
|
End If
|
||||||
|
If entro = "2" Then
|
||||||
|
c2=Starter.skmt.ExecQuery2("select CAT_CL_CALLE, CAT_CL_COLONIA, count(*) as cuantos from kmt_info where gestion = 0 and CAT_CL_COLONIA = ? GROUP BY CAT_CL_CALLE, CAT_CL_COLONIA order by CAT_CL_CALLE ", Array As String(Value))
|
||||||
|
ListView1.Clear
|
||||||
|
lfila.text = "Calle"
|
||||||
|
If c2.RowCount>0 Then
|
||||||
|
For i=0 To c2.RowCount -1
|
||||||
|
c2.Position=i
|
||||||
|
ListView1.AddTwoLines(c2.GetString("CAT_CL_CALLE"),c2.GetString("cuantos") )
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
entro = "3"
|
||||||
|
Else If entro = "3" Then
|
||||||
|
c2=Starter.skmt.ExecQuery2("select CAT_CL_NOMBRE, CAT_CL_CALLE, CAT_CL_CODIGO from kmt_info where gestion = 0 and CAT_CL_CALLE = ? AND CAT_CL_COLONIA = ? order by CAT_CL_NOMBRE ", Array As String(Value, colonia))
|
||||||
|
ListView1.Clear
|
||||||
|
lfila.text = "Nombre"
|
||||||
|
If c2.RowCount>0 Then
|
||||||
|
For i=0 To c2.RowCount -1
|
||||||
|
c2.Position=i
|
||||||
|
ListView1.AddTwoLines(c2.GetString("CAT_CL_CODIGO"), c2.GetString("CAT_CL_NOMBRE"))
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
entro = "4"
|
||||||
|
Else If entro = "4" Then
|
||||||
|
Starter.skmt.ExecNonQuery("delete from CUENTAA")
|
||||||
|
Starter.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object(Value))
|
||||||
|
Subs.iniciaActividad("Cliente")
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub Activity_KeyPress (key As Int) As Boolean 'ignore
|
||||||
|
' BACK key pressed
|
||||||
|
If key=KeyCodes.KEYCODE_BACK Then
|
||||||
|
Subs.iniciaActividad("Principal")
|
||||||
|
Return False
|
||||||
|
'End If
|
||||||
|
End If
|
||||||
|
' Returning False signals the system to handle the key
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub BUSCA_TextChanged (Old As String, New As String)
|
||||||
|
q_buscar = "%" & busca.Text & "%"
|
||||||
|
c2=Starter.skmt.ExecQuery2("select CAT_CL_NOMBRE, CAT_CL_CALLE, CAT_CL_CODIGO from kmt_info where (CAT_CL_NOMBRE like ? OR CAT_CL_CODIGO LIKE ?) and CAT_CL_DIAS_VISITA = (SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?) and gestion = 0 order by CAT_CL_NOMBRE ", Array As String(q_buscar,q_buscar,"DIA_VISITA"))
|
||||||
|
ListView1.Clear
|
||||||
|
lfila.text = "Nombre y Calle"
|
||||||
|
If c2.RowCount>0 Then
|
||||||
|
For i=0 To c2.RowCount -1
|
||||||
|
c2.Position=i
|
||||||
|
Dim label1 As Label
|
||||||
|
label1 = ListView1.TwoLinesLayout.Label
|
||||||
|
label1.TextSize = 14
|
||||||
|
label1.TextColor = Colors.Black
|
||||||
|
Dim label2 As Label
|
||||||
|
label2 = ListView1.TwoLinesLayout.SecondLabel
|
||||||
|
label2.TextSize = 14
|
||||||
|
label2.TextColor = Colors.Black
|
||||||
|
ListView1.AddTwoLines(c2.GetString("CAT_CL_CODIGO"), c2.GetString("CAT_CL_NOMBRE") &" CALLE: "& c2.GetString("CAT_CL_CALLE"))
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
entro = "4"
|
||||||
|
c2.Close
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub b_qr_Click
|
||||||
|
Dim scan_width As Int
|
||||||
|
Dim scan_height As Int
|
||||||
|
scan_width = 400
|
||||||
|
scan_height = 400
|
||||||
|
sc.BeginScan("sc","CODIGO CLIENTE",scan_width,scan_height)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub sc_result(atype As String,Values As String)
|
||||||
|
'If Logger Then Log("Type : " & atype)
|
||||||
|
'If Logger Then Log("Value : " & Values)
|
||||||
|
CODIGO = Values
|
||||||
|
c2=Starter.skmt.ExecQuery2("select COUNT(*) AS ENCONTRADO from kmt_info where CAT_CL_NUM_SERIEFISICO = ? order by CAT_CL_NOMBRE ", Array As String(CODIGO))
|
||||||
|
c2.Position =0
|
||||||
|
If c2.GetString("ENCONTRADO") > 0 Then
|
||||||
|
s=Starter.skmt.ExecQuery2("select CAT_CL_CODIGO from kmt_info where CAT_CL_NUM_SERIEFISICO = ? order by CAT_CL_NOMBRE ", Array As String(CODIGO))
|
||||||
|
s.Position =0
|
||||||
|
Starter.skmt.ExecNonQuery("delete from CUENTAA")
|
||||||
|
Starter.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object(s.GetString("CAT_CL_CODIGO")))
|
||||||
|
s.Close
|
||||||
|
b_qr.Visible = False
|
||||||
|
Subs.iniciaActividad("Cliente")
|
||||||
|
Else
|
||||||
|
Msgbox("CODIGO " & CODIGO & " NO ENCONTRADO","AVISO") 'ignore
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub sc_noScan
|
||||||
|
If logger Then Log("nothing returned from the scan !!!!!")
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub calc_ean_checksum(number As String) As String 'this has now become redundant as I am only interested in QR Codes
|
||||||
|
Dim i As Int
|
||||||
|
' Dim cO As Char
|
||||||
|
Dim soma As Int
|
||||||
|
Dim n As Int
|
||||||
|
Dim digit As Float
|
||||||
|
soma = 0
|
||||||
|
For i=0 To number.Length - 1
|
||||||
|
digit = number.SubString2(i,i+1)
|
||||||
|
n= digit * ((i Mod 2) * 2 + 1)
|
||||||
|
soma=soma+n
|
||||||
|
Next
|
||||||
|
Return number & ( ( 10 - ( soma Mod 10 )) Mod 10 )
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub b_bdd_Click
|
||||||
|
q_buscar = "%" & busca.Text & "%"
|
||||||
|
c2=Starter.skmt.ExecQuery2("select CAT_CL_NOMBRE, CAT_CL_CALLE, CAT_CL_CODIGO from kmt_info where (CAT_CL_NOMBRE like ? OR CAT_CL_CODIGO LIKE ?) and gestion = 0 order by CAT_CL_NOMBRE ", Array As String(q_buscar,q_buscar))
|
||||||
|
ListView1.Clear
|
||||||
|
lfila.text = "Nombre y Calle"
|
||||||
|
If c2.RowCount>0 Then
|
||||||
|
For i=0 To c2.RowCount -1
|
||||||
|
c2.Position=i
|
||||||
|
Dim label1 As Label
|
||||||
|
label1 = ListView1.TwoLinesLayout.Label
|
||||||
|
label1.TextSize = 14
|
||||||
|
label1.TextColor = Colors.Black
|
||||||
|
Dim label2 As Label
|
||||||
|
label2 = ListView1.TwoLinesLayout.SecondLabel
|
||||||
|
label2.TextSize = 14
|
||||||
|
label2.TextColor = Colors.Black
|
||||||
|
ListView1.AddTwoLines(c2.GetString("CAT_CL_CODIGO"), c2.GetString("CAT_CL_NOMBRE") &" CALLE: "& c2.GetString("CAT_CL_CALLE"))
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
entro = "4"
|
||||||
|
c2.Close
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'Imprimimos clientes.
|
||||||
|
Sub B_IMP_Click
|
||||||
|
' If Printer1.IsInitialized And Printer1.IsConnected = False Then
|
||||||
|
' Printer1.Connect
|
||||||
|
' ToastMessageShow("Conectando impresora ...", False)
|
||||||
|
' End If
|
||||||
|
' Try
|
||||||
|
' c=Starter.skmt.ExecQuery2("select CAT_CL_NOMBRE, CAT_CL_CALLE, CAT_CL_CODIGO, CAT_CL_NUM_SERIEFISICO from kmt_info where CAT_CL_DIAS_VISITA = (SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?) and gestion = 0 and cat_cl_codigo not in (select pe_cliente from pedido) and cat_cl_codigo <> 0 AND CAT_CL_TIPO_RUTA IN (?,?) ORDER BY CAT_CL_NUM_SERIEFISICO", Array As String("DIA_VISITA",SEMANA, "SEMANAL"))
|
||||||
|
'' c=skmt.ExecQuery("select CAT_CL_NOMBRE, CAT_CL_CALLE, CAT_CL_CODIGO,CAT_CL_DIAS_VISITA from kmt_info where gestion = 0 and cat_cl_codigo <> 0 ORDER BY CAT_CL_CODIGO")
|
||||||
|
' If c.RowCount>0 Then
|
||||||
|
' For i=0 To c.RowCount -1
|
||||||
|
' c.Position=i
|
||||||
|
' Printer1.WriteString("ID. " & c.GetString("CAT_CL_CODIGO") & CRLF)
|
||||||
|
' Printer1.WriteString("Nombre " & c.GetString("CAT_CL_NUM_SERIEFISICO") & " " & c.GetString("CAT_CL_NOMBRE") & CRLF)
|
||||||
|
' Printer1.WriteString("------------------------------" & CRLF)
|
||||||
|
' Next
|
||||||
|
' End If
|
||||||
|
' Catch
|
||||||
|
' Log(LastException)
|
||||||
|
' End Try
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub revisaImpresora (mode As String) 'ignore
|
||||||
|
' If Not(Starter.btAdmin.IsEnabled) Then Starter.btAdmin.Enable 'Si no esta prendido el BT lo prendemos.
|
||||||
|
' If Not(Printer1.IsInitialized) Then Printer1.Initialize(Me, "Printer1") 'Si no esta inicializada la inicializamos.
|
||||||
|
' If Not(Starter.revisandoImpresora) Then Return
|
||||||
|
' Starter.revisandoImpresora = True
|
||||||
|
' If mode = "BT" Then
|
||||||
|
'' If Logger Then LogColor("reiniciamos BT", Colors.Blue)
|
||||||
|
'' Starter.btAdmin.Disable
|
||||||
|
'' Sleep(500)
|
||||||
|
'' Starter.btAdmin.Enable
|
||||||
|
'' Sleep(1000)
|
||||||
|
'' If Starter.btAdmin.IsEnabled Then revisaImpresora("")
|
||||||
|
' Else
|
||||||
|
'' ToastMessageShow("Conectando impresora.", False)
|
||||||
|
' If Not(Printer1.IsConnected) Then 'Si no estamos conectados, nos conectamos.
|
||||||
|
' If Logger Then Log("Connect")
|
||||||
|
' Printer1.Connect
|
||||||
|
' Else 'Si ya estamos conectados
|
||||||
|
' If Logger Then Log("Disc-Conn")
|
||||||
|
' Printer1.DisConnect
|
||||||
|
' Sleep(1000)
|
||||||
|
' Printer1.Connect
|
||||||
|
' End If
|
||||||
|
' End If
|
||||||
|
End Sub
|
||||||
184
B4A/C_Foto.bas
Normal file
@@ -0,0 +1,184 @@
|
|||||||
|
B4A=true
|
||||||
|
Group=Default Group
|
||||||
|
ModulesStructureVersion=1
|
||||||
|
Type=Class
|
||||||
|
Version=11.5
|
||||||
|
@EndOfDesignText@
|
||||||
|
Sub Class_Globals
|
||||||
|
Private Root As B4XView 'ignore
|
||||||
|
Private xui As XUI 'ignore
|
||||||
|
'//Process Globals
|
||||||
|
Dim ruta As String
|
||||||
|
Dim g As GPS
|
||||||
|
Private frontCamera As Boolean = False
|
||||||
|
Dim quien_llamo As String
|
||||||
|
Dim foto_g () As Byte
|
||||||
|
Dim foto_g1 () As Byte
|
||||||
|
Dim foto_g2 () As Byte
|
||||||
|
Dim foto_g3 () As Byte
|
||||||
|
Dim foto_g4 () As Byte
|
||||||
|
'//Globals
|
||||||
|
Dim btnTakePicture As Button
|
||||||
|
Dim Panel1 As Panel
|
||||||
|
Dim c As Cursor
|
||||||
|
Dim cuenta As String
|
||||||
|
Dim lat_gps As String
|
||||||
|
Dim lon_gps As String
|
||||||
|
Private camEx As CameraExClass
|
||||||
|
Private i_foto As ImageView
|
||||||
|
Private b_guardar As Button
|
||||||
|
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
|
||||||
|
'load the layout to Root
|
||||||
|
Root.LoadLayout("foto")
|
||||||
|
Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_CAMERA)
|
||||||
|
Wait For Activity_PermissionResult (Permission As String, Result As Boolean)
|
||||||
|
ruta = File.DirInternal
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
|
||||||
|
|
||||||
|
|
||||||
|
Sub Camera1_Ready (Success As Boolean)
|
||||||
|
If Success Then
|
||||||
|
' camEx.SetJpegQuality(90)
|
||||||
|
' camEx.CommitParameters
|
||||||
|
Dim ps As CameraSize
|
||||||
|
ps.Width =640'480 '1280
|
||||||
|
ps.Height =480'360 '960
|
||||||
|
camEx.SetPictureSize(ps.Width, ps.Height)
|
||||||
|
camEx.CommitParameters
|
||||||
|
Try
|
||||||
|
camEx.StartPreview
|
||||||
|
Catch
|
||||||
|
camEx.Release
|
||||||
|
Subs.iniciaActividad("CHECKLIST_AUTO")
|
||||||
|
End Try
|
||||||
|
' Dim ps As CameraSize
|
||||||
|
' ps.Width =640 '1280
|
||||||
|
' ps.Height =480 '960
|
||||||
|
' camEx.SetPictureSize(ps.Width, ps.Height)
|
||||||
|
' camEx.CommitParameters
|
||||||
|
|
||||||
|
' Log(camEx.GetPreviewSize)
|
||||||
|
'Msgbox(camEx.GetPreviewSize,"aviso") 'ignore
|
||||||
|
Else
|
||||||
|
Subs.iniciaActividad("CHECKLIST_AUTO")
|
||||||
|
'ToastMessageShow("Cannot open camera.", True)
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub Activity_Resume
|
||||||
|
i_foto.Visible = False
|
||||||
|
' If g.GPSEnabled=False Then
|
||||||
|
' ToastMessageShow("Habilitar el GPS", True)
|
||||||
|
' StartActivity(g.LocationSettingsIntent)
|
||||||
|
' Else
|
||||||
|
' g.Start(0,0)
|
||||||
|
' End If
|
||||||
|
InitializeCamera
|
||||||
|
btnTakePicture.Enabled = True
|
||||||
|
b_guardar.Enabled = False
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub Activity_Pause (UserClosed As Boolean)
|
||||||
|
camEx.Release
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub GPS_LocationChanged (Location1 As Location)
|
||||||
|
' lat_gps=Location1.ConvertToSeconds(Location1.Latitude)
|
||||||
|
' lon_gps=Location1.ConvertToSeconds(Location1.Longitude)
|
||||||
|
' 'btnTakePicture.Enabled = True
|
||||||
|
' 's.ExecNonQuery2("INSERT INTO HIST_GPS (HGDATE,HGLAT, HGLON) VALUES(?,?,?) ", Array As Object (sDate & sTime, lat_gps, lon_gps))
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub InitializeCamera
|
||||||
|
camEx.Initialize(Panel1, frontCamera, Me, "Camera1")
|
||||||
|
frontCamera = camEx.Front
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub Camera1_PictureTaken (Data() As Byte)
|
||||||
|
btnTakePicture.Enabled = True
|
||||||
|
Dim filename As String = "2.jpg"
|
||||||
|
Dim dir As String = File.DirRootExternal
|
||||||
|
camEx.SavePictureToFile(Data, dir, filename)
|
||||||
|
camEx.StartPreview 'restart preview
|
||||||
|
i_foto.Visible = True
|
||||||
|
i_foto.Bitmap = LoadBitmap(File.DirRootExternal, "2.jpg")
|
||||||
|
If B4XPages.MainPage.cliente.TOMAR_FOTO = 1 Then
|
||||||
|
Dim InputStream1 As InputStream
|
||||||
|
InputStream1 = File.OpenInput(File.DirRootExternal, "2.jpg")
|
||||||
|
Dim OutputStream1 As OutputStream
|
||||||
|
OutputStream1.InitializeToBytesArray(500)
|
||||||
|
File.Copy2(InputStream1, OutputStream1)
|
||||||
|
foto_g = OutputStream1.ToBytesArray
|
||||||
|
End If
|
||||||
|
b_guardar.Enabled = True
|
||||||
|
camEx.Release
|
||||||
|
InitializeCamera
|
||||||
|
btnTakePicture.Enabled = True
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub Activity_KeyPress (key As Int) As Boolean
|
||||||
|
' BACK key pressed
|
||||||
|
If key=KeyCodes.KEYCODE_BACK Then
|
||||||
|
' I want to capture the key here so I return True
|
||||||
|
B4XPages.ShowPage("Principal")
|
||||||
|
'Return True
|
||||||
|
End If
|
||||||
|
' Returning False signals the system to handle the key
|
||||||
|
Return False
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub b_guardar_Click
|
||||||
|
camEx.Release
|
||||||
|
'If quien_llamo = "1" Then
|
||||||
|
Try
|
||||||
|
If quien_llamo = "1" Then
|
||||||
|
File.Copy(File.DirRootExternal, "2.jpg",File.DirRootExternal, "FOTO1.jpg")
|
||||||
|
Subs.iniciaActividad("CHECKLIST_AUTO")
|
||||||
|
else if quien_llamo = "2" Then
|
||||||
|
File.Copy(File.DirRootExternal, "2.jpg",File.DirRootExternal, "FOTO2.jpg")
|
||||||
|
Subs.iniciaActividad("CHECKLIST_AUTO")
|
||||||
|
else if quien_llamo = "3" Then
|
||||||
|
File.Copy(File.DirRootExternal, "2.jpg",File.DirRootExternal, "FOTO3.jpg")
|
||||||
|
Subs.iniciaActividad("CHECKLIST_AUTO")
|
||||||
|
else if quien_llamo = "4" Then
|
||||||
|
File.Copy(File.DirRootExternal, "2.jpg",File.DirRootExternal, "FOTO4.jpg")
|
||||||
|
Subs.iniciaActividad("CHECKLIST_AUTO")
|
||||||
|
End If
|
||||||
|
If B4XPages.MainPage.cliente.TOMAR_FOTO = 1 Then
|
||||||
|
c=Starter.skmt.ExecQuery("select cuenta from cuentaa")
|
||||||
|
c.Position = 0
|
||||||
|
cuenta = c.GetString("CUENTA")
|
||||||
|
c.Close
|
||||||
|
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_FOTOS (HF_FOTO, HF_CUENTA, HF_IDENCUESTA) VALUES(?,?,?) ", Array As Object (foto_g,cuenta, B4XPages.MainPage.cliente.id_encuesta ))
|
||||||
|
Subs.iniciaActividad("fila")
|
||||||
|
End If
|
||||||
|
Catch
|
||||||
|
Msgbox("ERROR EN FOTO","") 'ignore
|
||||||
|
If B4XPages.MainPage.cliente.TOMAR_FOTO = 1 Then
|
||||||
|
Subs.iniciaActividad("fila")
|
||||||
|
Else
|
||||||
|
Subs.iniciaActividad("CHECKLIST_AUTO")
|
||||||
|
End If
|
||||||
|
End Try
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub btnTakePicture_Click
|
||||||
|
btnTakePicture.Enabled = False
|
||||||
|
Dim ps As CameraSize
|
||||||
|
ps.Width =640'480 '1280
|
||||||
|
ps.Height =480'360 '960
|
||||||
|
camEx.SetPictureSize(ps.Width, ps.Height)
|
||||||
|
camEx.CommitParameters
|
||||||
|
camEx.TakePicture
|
||||||
|
End Sub
|
||||||
135
B4A/C_Historico.bas
Normal file
@@ -0,0 +1,135 @@
|
|||||||
|
B4A=true
|
||||||
|
Group=Default Group
|
||||||
|
ModulesStructureVersion=1
|
||||||
|
Type=Class
|
||||||
|
Version=11.5
|
||||||
|
@EndOfDesignText@
|
||||||
|
Sub Class_Globals
|
||||||
|
Private Root As B4XView 'ignore
|
||||||
|
Private xui As XUI 'ignore
|
||||||
|
'//Process Globals
|
||||||
|
Dim g As GPS
|
||||||
|
Dim clie_id As String
|
||||||
|
Dim sDate,sTime As String
|
||||||
|
Dim usuario As String
|
||||||
|
'//Globals
|
||||||
|
Dim c As Cursor
|
||||||
|
Dim ruta As String
|
||||||
|
Dim Regresar As Button
|
||||||
|
Dim ListView1 As ListView
|
||||||
|
Dim L_CANT As Label
|
||||||
|
Dim L_TOTAL As Label
|
||||||
|
Dim borra As Button
|
||||||
|
Dim Existe As String
|
||||||
|
Dim result As String
|
||||||
|
Dim lat_gps, lon_gps As String
|
||||||
|
Private Titulo As Label
|
||||||
|
Private b_desc As Button
|
||||||
|
Private ListView2 As ListView
|
||||||
|
Private B_RMI As Button
|
||||||
|
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
|
||||||
|
'load the layout to Root
|
||||||
|
ruta = File.DirInternal
|
||||||
|
Root.LoadLayout("historico")
|
||||||
|
B_RMI.Visible = True
|
||||||
|
borra.Visible = False
|
||||||
|
Titulo.Text = "Acumulado"
|
||||||
|
b_desc.Visible = False
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
|
||||||
|
|
||||||
|
Sub B4XPage_Appear
|
||||||
|
L_CANT.Text =""
|
||||||
|
L_TOTAL.Text=""
|
||||||
|
c=Starter.skmt.ExecQuery("select count(*) as EXISTE from HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa)")
|
||||||
|
C.Position=0
|
||||||
|
Existe = C.GetString("EXISTE")
|
||||||
|
C.Close
|
||||||
|
c=Starter.skmt.ExecQuery("select HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT, HVD_FECHA from HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) order by HVD_FECHA asc")
|
||||||
|
ListView1.Clear
|
||||||
|
If c.RowCount>0 Then
|
||||||
|
For i=0 To c.RowCount -1
|
||||||
|
c.Position=i
|
||||||
|
Dim label1 As Label
|
||||||
|
label1 = ListView1.TwoLinesLayout.Label
|
||||||
|
label1.TextSize = 15
|
||||||
|
label1.TextColor = Colors.Black
|
||||||
|
Dim label2 As Label
|
||||||
|
label2 = ListView1.TwoLinesLayout.SecondLabel
|
||||||
|
label2.TextSize = 10
|
||||||
|
label2.TextColor = Colors.Black
|
||||||
|
ListView1.AddTwoLines(c.GetString("HVD_PRONOMBRE"),"Cantidad #"& c.GetString("HVD_CANT")& " SubTotal $"& c.GetString("HVD_COSTO_TOT")& " FECHA " &c.GetString("HVD_FECHA") )
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
If Existe <> 0 Then
|
||||||
|
c=Starter.skmt.ExecQuery("select SUM(HVD_CANT) AS PC_NOART, SUM(HVD_COSTO_TOT) AS PC_MONTO from HIST_VENTAS where HVD_CLIENTE in (Select CUENTA from cuentaa)")
|
||||||
|
C.Position=0
|
||||||
|
L_CANT.Text = c.GetString("PC_NOART")
|
||||||
|
L_TOTAL.Text = c.GetString("PC_MONTO")
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub GPS_LocationChanged (Location1 As Location)
|
||||||
|
' lat_gps=Location1.ConvertToSeconds(Location1.Latitude)
|
||||||
|
' lon_gps=Location1.ConvertToSeconds(Location1.Longitude)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub Regresar_Click
|
||||||
|
B_RMI.Visible = False
|
||||||
|
Subs.iniciaActividad("Cliente")
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub B4XPage_CloseRequest As ResumableSub
|
||||||
|
Log("Vamos a Cliente")
|
||||||
|
' BACK key pressed
|
||||||
|
' Return True To close, False To cancel
|
||||||
|
Regresar_Click
|
||||||
|
' Return True
|
||||||
|
Return False
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub ListView2_ItemClick (Position As Int, Value As Object)
|
||||||
|
ListView2.Visible = False
|
||||||
|
ListView1.Visible = True
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub ListView1_ItemClick (Position As Int, Value As Object)
|
||||||
|
ListView2.Visible = True
|
||||||
|
ListView1.Visible = False
|
||||||
|
Dim label1 As Label
|
||||||
|
For i=0 To 20
|
||||||
|
label1 = ListView2.SingleLineLayout.Label
|
||||||
|
label1.TextSize = 15
|
||||||
|
label1.TextColor = Colors.Black
|
||||||
|
ListView2.AddSingleLine(i)
|
||||||
|
Next
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub B_RMI_Click
|
||||||
|
c=Starter.skmt.ExecQuery("select HR_CLIENTE,HR_PRONOMBRE,HR_CANT from HIST_RMI WHERE HR_CLIENTE IN (Select CUENTA from cuentaa) order by HR_PRONOMBRE")
|
||||||
|
ListView1.Clear
|
||||||
|
If c.RowCount>0 Then
|
||||||
|
For i=0 To c.RowCount -1
|
||||||
|
c.Position=i
|
||||||
|
Dim label1 As Label
|
||||||
|
label1 = ListView1.TwoLinesLayout.Label
|
||||||
|
label1.TextSize = 15
|
||||||
|
label1.TextColor = Colors.Black
|
||||||
|
Dim label2 As Label
|
||||||
|
label2 = ListView1.TwoLinesLayout.SecondLabel
|
||||||
|
label2.TextSize = 10
|
||||||
|
label2.TextColor = Colors.Black
|
||||||
|
ListView1.AddTwoLines(c.GetString("HR_PRONOMBRE"),"Cantidad #"& c.GetString("HR_CANT") )
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
138
B4A/C_Mapas.bas
Normal file
@@ -0,0 +1,138 @@
|
|||||||
|
B4A=true
|
||||||
|
Group=Default Group
|
||||||
|
ModulesStructureVersion=1
|
||||||
|
Type=Class
|
||||||
|
Version=11.5
|
||||||
|
@EndOfDesignText@
|
||||||
|
Sub Class_Globals
|
||||||
|
Private Root As B4XView 'ignore
|
||||||
|
Private xui As XUI 'ignore
|
||||||
|
'//Process Globals
|
||||||
|
Dim GPS As GPS
|
||||||
|
Dim rp As RuntimePermissions
|
||||||
|
Dim ruta As String
|
||||||
|
'//Globals
|
||||||
|
Private gmap As GoogleMap
|
||||||
|
Private MapFragment1 As MapFragment
|
||||||
|
Dim Latitud As Double = 0
|
||||||
|
Dim Longitud As Double = 0
|
||||||
|
Dim Lat2 As Double = 0
|
||||||
|
Dim Lon2 As Double = 0
|
||||||
|
Dim p1, p2 As Location
|
||||||
|
Dim Distance As Float
|
||||||
|
Dim boton1 As Button
|
||||||
|
Dim c As Cursor
|
||||||
|
Dim latmarker As String
|
||||||
|
Dim longmarker As String
|
||||||
|
Private l_long As Label
|
||||||
|
Private l_lat As Label
|
||||||
|
Private NOMBRE_TIENDA As String
|
||||||
|
Dim logger As Boolean = True
|
||||||
|
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
|
||||||
|
'load the layout to Root
|
||||||
|
Root.LoadLayout("mapas")
|
||||||
|
If MapFragment1.IsGooglePlayServicesAvailable = False Then
|
||||||
|
ToastMessageShow("Please install Google Play Services.", True)
|
||||||
|
End If
|
||||||
|
'Boton velocidad'
|
||||||
|
boton1.Initialize(0)
|
||||||
|
boton1.Text = 0 &" "&"km/h"
|
||||||
|
boton1.TextColor = Colors.Red
|
||||||
|
boton1.TextSize = 15
|
||||||
|
Root.AddView(boton1, 40%x, 5dip, 25%x, 40dip)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
|
||||||
|
|
||||||
|
Sub B4XPage_Appear
|
||||||
|
GPS.Initialize("GPS")
|
||||||
|
Log(1)
|
||||||
|
rp.CheckAndRequest(rp.PERMISSION_ACCESS_FINE_LOCATION)
|
||||||
|
Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean)
|
||||||
|
gmap.MyLocationEnabled = Result
|
||||||
|
Log(2)
|
||||||
|
Log(gmap.MyLocationEnabled)
|
||||||
|
If GPS.GPSEnabled = False Then
|
||||||
|
ToastMessageShow("Debe Activar el GPS del Equipo.", True)
|
||||||
|
StartActivity(GPS.LocationSettingsIntent)
|
||||||
|
Else
|
||||||
|
GPS.Start(0, 0)
|
||||||
|
End If
|
||||||
|
latmarker = B4XPages.MainPage.cliente.LATITUD
|
||||||
|
longmarker = B4XPages.MainPage.cliente.LONGITUD
|
||||||
|
NOMBRE_TIENDA = B4XPages.MainPage.cliente.NOMBRE
|
||||||
|
If logger Then Log($"lat=${latmarker}, lon=${longmarker}"$)
|
||||||
|
If logger Then Log(gmap)
|
||||||
|
Log($"${gmap.IsInitialized} And ${gmap.MyLocationEnabled}"$)
|
||||||
|
If gmap.IsInitialized And gmap.MyLocationEnabled Then
|
||||||
|
gmap.Clear
|
||||||
|
MapFragment1_Ready
|
||||||
|
End If
|
||||||
|
If Not(Starter.Logger) Then logger = False
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub B4XPage_CloseRequest As ResumableSub
|
||||||
|
Log("Vamos a Cliente")
|
||||||
|
' BACK key pressed
|
||||||
|
' Return True To close, False To cancel
|
||||||
|
Subs.iniciaActividad("Cliente")
|
||||||
|
' Return True
|
||||||
|
Return False
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub MapFragment1_Ready
|
||||||
|
LogColor("MapReady", Colors.red)
|
||||||
|
gmap = MapFragment1.GetMap
|
||||||
|
' rp.CheckAndRequest(rp.PERMISSION_ACCESS_FINE_LOCATION)
|
||||||
|
' Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean)
|
||||||
|
' gmap.MyLocationEnabled = Result
|
||||||
|
gmap.Clear
|
||||||
|
|
||||||
|
Dim JavaMapsObject As JavaObject
|
||||||
|
JavaMapsObject = gmap.GetUiSettings
|
||||||
|
JavaMapsObject.RunMethod("setMapToolbarEnabled", Array As Object(True))
|
||||||
|
|
||||||
|
'marcadores
|
||||||
|
If latmarker = "null" Or latmarker = Null Or latmarker = "" Then 'Zocalo
|
||||||
|
latmarker = "19.432568527069805"
|
||||||
|
longmarker = "-99.13335030112772"
|
||||||
|
End If
|
||||||
|
If logger Then Log($"lat=${latmarker}, lon=${longmarker}"$)
|
||||||
|
Dim marcador1 As Marker = gmap.AddMarker(latmarker, longmarker, "TIENDA")
|
||||||
|
marcador1.Snippet = B4XPages.MainPage.cliente.NOMBRE
|
||||||
|
'Tienda 1
|
||||||
|
|
||||||
|
'posicion inicial
|
||||||
|
Dim aa As CameraPosition
|
||||||
|
aa.Initialize(latmarker, longmarker,15)''' RECOMENDABLE CAMBIAR A 10 SI ES MAS DE 1 MARCADOR
|
||||||
|
gmap.AnimateCamera(aa)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub GPS_LocationChanged (Parametro As Location)
|
||||||
|
Dim sp As Int
|
||||||
|
sp = Ceil(Parametro.Speed * 3.6)
|
||||||
|
boton1.Text = sp &" "&"km/h"
|
||||||
|
Latitud = Parametro.Latitude
|
||||||
|
Longitud = Parametro.Longitude
|
||||||
|
p2.Initialize2(Latitud,Longitud)
|
||||||
|
p1.Initialize2(Lat2, Lon2)
|
||||||
|
Distance = p1.DistanceTo(p2)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub Activity_Pause (UserClosed As Boolean)
|
||||||
|
GPS.Stop
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub reg_Click
|
||||||
|
Subs.iniciaActividad("Cliente")
|
||||||
|
End Sub
|
||||||
|
|
||||||
127
B4A/C_NoVenta.bas
Normal file
@@ -0,0 +1,127 @@
|
|||||||
|
B4A=true
|
||||||
|
Group=Default Group
|
||||||
|
ModulesStructureVersion=1
|
||||||
|
Type=Class
|
||||||
|
Version=11.5
|
||||||
|
@EndOfDesignText@
|
||||||
|
Sub Class_Globals
|
||||||
|
Private Root As B4XView 'ignore
|
||||||
|
Private xui As XUI 'ignore
|
||||||
|
Dim g As GPS
|
||||||
|
Dim ruta As String
|
||||||
|
' Dim skmt As SQL
|
||||||
|
Dim c As Cursor
|
||||||
|
Dim t3 As Timer
|
||||||
|
'// Globals
|
||||||
|
Dim CANCELA As Button
|
||||||
|
Dim GUARDA As Button
|
||||||
|
Dim r_1 As RadioButton
|
||||||
|
Dim r_2 As RadioButton
|
||||||
|
Dim r_3 As RadioButton
|
||||||
|
Dim e_comm As EditText
|
||||||
|
Dim motivo As String
|
||||||
|
Dim cuenta As String
|
||||||
|
Dim usuario As String
|
||||||
|
Dim sDate,sTime As String
|
||||||
|
Dim lat_gps, lon_gps As String
|
||||||
|
Dim CUANTOS As String
|
||||||
|
Dim r_4 As RadioButton
|
||||||
|
Private ImageView1 As ImageView
|
||||||
|
Private ImageView2 As ImageView
|
||||||
|
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
|
||||||
|
'load the layout to Root
|
||||||
|
Root.LoadLayout("noventa")
|
||||||
|
ruta = File.DirInternal
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
|
||||||
|
|
||||||
|
Sub B4XPage_Appear
|
||||||
|
e_comm.Text=""
|
||||||
|
lat_gps = 0
|
||||||
|
lon_gps = 0
|
||||||
|
res_gps
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub B4XPage_CloseRequest As ResumableSub
|
||||||
|
' BACK key pressed
|
||||||
|
Subs.iniciaActividad("Cliente")
|
||||||
|
' B4XPages.ShowPage("Principal")
|
||||||
|
Return True
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub res_gps
|
||||||
|
GUARDA.Visible = False
|
||||||
|
t3.Initialize("T3", 5000) ' 1000 = 1 second
|
||||||
|
t3.Enabled = True
|
||||||
|
Wait For t3_tick
|
||||||
|
GUARDA.Visible = True
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub GPS_LocationChanged (Location1 As Location)
|
||||||
|
' lat_gps=Location1.ConvertToSeconds(Location1.Latitude)
|
||||||
|
' lon_gps=Location1.ConvertToSeconds(Location1.Longitude)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub CANCELA_Click
|
||||||
|
Subs.iniciaActividad("Cliente")
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub GUARDA_Click
|
||||||
|
If r_1.Checked Then
|
||||||
|
motivo = "CERRADO"
|
||||||
|
Else If r_2.Checked Then
|
||||||
|
motivo = "NO COMPRA"
|
||||||
|
Else If r_3.Checked Then
|
||||||
|
motivo = "CON PRODUCTO"
|
||||||
|
Else
|
||||||
|
motivo = "NO ESTA EL ENCARGADO"
|
||||||
|
End If
|
||||||
|
DateTime.DateFormat = "MM/dd/yyyy"
|
||||||
|
sDate=DateTime.Date(DateTime.Now)
|
||||||
|
sTime=DateTime.Time(DateTime.Now)
|
||||||
|
c=Starter.skmt.ExecQuery("select CUENTA from cuentaa")
|
||||||
|
c.Position = 0
|
||||||
|
cuenta = c.GetString("CUENTA")
|
||||||
|
c=Starter.skmt.ExecQuery("select usuario from usuarioa")
|
||||||
|
c.Position = 0
|
||||||
|
usuario = c.GetString("USUARIO")
|
||||||
|
c=Starter.skmt.ExecQuery("select PE_PROID,PE_CANT FROM PEDIDO where pe_cliente in (Select CUENTA from cuentaa) ")
|
||||||
|
If c.RowCount>0 Then
|
||||||
|
For i=0 To c.RowCount -1
|
||||||
|
c.Position=i
|
||||||
|
Starter.skmt.ExecNonQuery2("update cat_gunaprod2 set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?", Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID")))
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
|
||||||
|
If lat_gps = 0 Then
|
||||||
|
c=Starter.skmt.ExecQuery("select count(*) as CUANTOS from HIST_GPS")
|
||||||
|
c.Position =0
|
||||||
|
CUANTOS = c.GetString("CUANTOS")
|
||||||
|
c.Close
|
||||||
|
If CUANTOS > 0 Then
|
||||||
|
c=Starter.skmt.ExecQuery("SELECT HGLAT as HGLAT, HGLON as HGLON FROM HIST_GPS")
|
||||||
|
c.Position=0
|
||||||
|
lon_gps = c.GetString("HGLON")
|
||||||
|
lat_gps = c.GetString("HGLAT")
|
||||||
|
c.Close
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
Starter.skmt.ExecNonQuery("delete from pedido_cliente where pc_cliente in (Select CUENTA from cuentaa)")
|
||||||
|
Starter.skmt.ExecNonQuery("delete from pedido where pe_cliente in (Select CUENTA from cuentaa)")
|
||||||
|
|
||||||
|
Starter.skmt.ExecNonQuery2("INSERT INTO NOVENTA (NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON) VALUES(?,?,?,?,?,?,?) ", Array As Object (cuenta,sDate & sTime, usuario, motivo,e_comm.text,Starter.lat_gps,Starter.lon_gps))
|
||||||
|
Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 3 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
|
||||||
|
Subs.iniciaActividad("Principal")
|
||||||
|
' B4XPages.ShowPage("Principal")
|
||||||
|
End Sub
|
||||||
429
B4A/C_Nota.bas
Normal file
@@ -0,0 +1,429 @@
|
|||||||
|
B4A=true
|
||||||
|
Group=Default Group
|
||||||
|
ModulesStructureVersion=1
|
||||||
|
Type=Class
|
||||||
|
Version=11.5
|
||||||
|
@EndOfDesignText@
|
||||||
|
Sub Class_Globals
|
||||||
|
Private Root As B4XView 'ignore
|
||||||
|
Private xui As XUI 'ignore
|
||||||
|
'//Process Globals
|
||||||
|
Dim clie_id As String
|
||||||
|
Dim sDate,sTime As String
|
||||||
|
Dim usuario As String
|
||||||
|
'//Globals
|
||||||
|
Dim c As Cursor
|
||||||
|
Dim C1 As Cursor
|
||||||
|
Dim ruta As String
|
||||||
|
Dim Regresar As Button
|
||||||
|
Dim ListView1 As ListView
|
||||||
|
Dim L_CANT As Label
|
||||||
|
Dim L_TOTAL As Label
|
||||||
|
Dim borra As Button
|
||||||
|
Dim Existe As String
|
||||||
|
Dim result As String
|
||||||
|
Dim lat_gps, lon_gps As String
|
||||||
|
Private Titulo As Label
|
||||||
|
Private b_desc As Button
|
||||||
|
Dim DESCUENTO As String
|
||||||
|
Dim folio As String
|
||||||
|
Dim TIPO As String
|
||||||
|
Private CAMBIOS As String
|
||||||
|
Dim logger As Boolean = True
|
||||||
|
Dim list_prodsPedido As List
|
||||||
|
Private clv_pedidos As CustomListView
|
||||||
|
Private p_pedido As Panel
|
||||||
|
Private l_pedido 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)
|
||||||
|
If Not(Starter.Logger) Then logger = False
|
||||||
|
Root = Root1
|
||||||
|
'load the layout to Root
|
||||||
|
ruta = File.DirInternal
|
||||||
|
Root.LoadLayout("nota")
|
||||||
|
borra.Visible = True
|
||||||
|
Titulo.Text = "Pedido Actual"
|
||||||
|
Starter.skmt.ExecNonQuery("update pedido set pe_folio = 0 where pe_folio is null")
|
||||||
|
c=Starter.skmt.ExecQuery("select count(*) as EXISTE from pedido_cliente WHERE pc_cliente IN (Select CUENTA from cuentaa)")
|
||||||
|
C.Position=0
|
||||||
|
Existe = C.GetString("EXISTE")
|
||||||
|
C.Close
|
||||||
|
' c=Starter.skmt.ExecQuery("select PE_PRONOMBRE,PE_COSTO_TOT, PE_CANT, PE_FOLIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PRONOMBRE asc")
|
||||||
|
' ListView1.Clear
|
||||||
|
' ListView1.TwoLinesLayout.ItemHeight = 90dip
|
||||||
|
' If c.RowCount>0 Then
|
||||||
|
' For i=0 To c.RowCount -1
|
||||||
|
' c.Position=i
|
||||||
|
' Dim label1 As Label
|
||||||
|
' label1 = ListView1.TwoLinesLayout.Label
|
||||||
|
'' label1.Color = Colors.Cyan
|
||||||
|
' label1.TextSize = 15
|
||||||
|
' label1.TextColor = Colors.Black
|
||||||
|
'' label1.Height = 50dip
|
||||||
|
' Dim label2 As Label
|
||||||
|
' label2 = ListView1.TwoLinesLayout.SecondLabel
|
||||||
|
' label2.TextSize = 12
|
||||||
|
' label2.TextColor = Colors.Black
|
||||||
|
'' label2.Color = Colors.green
|
||||||
|
' ListView1.AddTwoLines(c.GetString("PE_PRONOMBRE"),"Cantidad #"& c.GetString("PE_CANT")& " SubTotal $"& c.GetString("PE_COSTO_TOT")& " Folio "& c.GetString("PE_FOLIO"))
|
||||||
|
' folio = c.GetString("PE_FOLIO")
|
||||||
|
' Next
|
||||||
|
' End If
|
||||||
|
list_prodsPedido.Initialize
|
||||||
|
Log("list_prodsPedido.Initialize")
|
||||||
|
If Existe <> 0 Then
|
||||||
|
c=Starter.skmt.ExecQuery("select pc_noart, pc_monto from pedido_cliente where pc_cliente in (Select CUENTA from cuentaa)")
|
||||||
|
C.Position=0
|
||||||
|
L_CANT.Text = c.GetString("PC_NOART")
|
||||||
|
L_TOTAL.Text = c.GetString("PC_MONTO")
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
|
||||||
|
|
||||||
|
Sub B4XPage_Appear
|
||||||
|
c=Starter.skmt.ExecQuery("select count(*) as CUANTOS from kmt_info where (impresion = 1 or cat_cl_codigo in (select ci_cuenta from cliente_impreso)) and CAT_CL_CODIGO in (Select CUENTA from cuentaa)")
|
||||||
|
c.Position = 0
|
||||||
|
If logger Then Log($"Impreso: ${c.GetString("CUANTOS")}"$)
|
||||||
|
If c.GetString("CUANTOS") > 0 Then
|
||||||
|
borra.Visible = False
|
||||||
|
Else
|
||||||
|
borra.Visible = True
|
||||||
|
End If
|
||||||
|
If Subs.clienteActual = "0" Then borra.Visible = True 'Si el cliente actual es "abordo" entonces SIEMPRE lo dejamos modificar la venta.
|
||||||
|
c.Close
|
||||||
|
L_CANT.Text =""
|
||||||
|
L_TOTAL.Text=""
|
||||||
|
Starter.skmt.ExecNonQuery("update pedido set pe_folio = 0 where pe_folio is null")
|
||||||
|
c=Starter.skmt.ExecQuery("select count(*) as EXISTE from pedido_cliente WHERE pc_cliente IN (Select CUENTA from cuentaa)")
|
||||||
|
C.Position=0
|
||||||
|
Existe = C.GetString("EXISTE")
|
||||||
|
C.Close
|
||||||
|
c=Starter.skmt.ExecQuery("select PE_PRONOMBRE, PE_COSTO_TOT, PE_CANT, PE_FOLIO, PE_CEDIS, PE_PROID FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PRONOMBRE asc")
|
||||||
|
Private cs As CSBuilder
|
||||||
|
ListView1.Clear
|
||||||
|
clv_pedidos.Clear
|
||||||
|
ListView1.TwoLinesLayout.ItemHeight = 90dip
|
||||||
|
list_prodsPedido.Clear
|
||||||
|
If c.RowCount>0 Then
|
||||||
|
For i=0 To c.RowCount -1
|
||||||
|
cs.Initialize
|
||||||
|
c.Position=i
|
||||||
|
Private txtPromo As String = ""
|
||||||
|
If Not(IsNumber(c.GetString("PE_CEDIS"))) Then txtPromo = "P - "
|
||||||
|
If c.GetString("PE_CEDIS") = "DUR" Then txtPromo = "C - "
|
||||||
|
Dim label1 As Label
|
||||||
|
label1 = ListView1.TwoLinesLayout.Label
|
||||||
|
label1.TextSize = 15
|
||||||
|
label1.Height = 30dip
|
||||||
|
label1.TextColor = Colors.Black
|
||||||
|
' label1.Height = 50dip
|
||||||
|
Dim label2 As Label
|
||||||
|
label2 = ListView1.TwoLinesLayout.SecondLabel
|
||||||
|
label2.TextSize = 12
|
||||||
|
label2.TextColor = Colors.Black
|
||||||
|
Private textColor As Int = Colors.black
|
||||||
|
If Not(IsNumber(c.GetString("PE_CEDIS"))) Then textColor = Colors.RGB(210,105,30) 'Si es promo, cambiamos el color del texto.
|
||||||
|
If c.GetString("PE_CEDIS") = "DUR" Then textColor = Colors.Red 'Si es promo, cambiamos el color del texto.
|
||||||
|
' ListView1.AddTwoLines(c.GetString("PE_PRONOMBRE"), cs.Color(textColor).append(txtPromo).Append("Cantidad #" & c.GetString("PE_CANT") & " SubTotal $" & c.GetString("PE_COSTO_TOT") & " Folio " & c.GetString("PE_FOLIO")).PopAll)
|
||||||
|
clv_pedidos.Add(CreateListItemPedidos(c.GetString("PE_PRONOMBRE"), textColor, txtPromo, c.GetString("PE_CANT"), c.GetString("PE_COSTO_TOT"), c.GetString("PE_FOLIO")), c.GetString("PE_PRONOMBRE"))
|
||||||
|
list_prodsPedido.Add(CreateMap("prodNom":c.GetString("PE_PRONOMBRE"), "cedis":c.GetString("PE_CEDIS"), "prodId": c.GetString("PE_PROID"), "cant": c.GetString("PE_CANT")))
|
||||||
|
folio = c.GetString("PE_FOLIO")
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
If Existe <> 0 Then
|
||||||
|
c=Starter.skmt.ExecQuery("select sum(pe_cant) AS CANTIDAD, sum(pe_costo_tot) AS MONTO from pedido where PE_CEDIS <> PE_PROID and pe_cliente in (Select CUENTA from cuentaa)")
|
||||||
|
C.Position=0
|
||||||
|
L_CANT.Text = c.GetString("CANTIDAD")
|
||||||
|
L_TOTAL.Text = c.GetString("MONTO")
|
||||||
|
c.Close
|
||||||
|
c=Starter.skmt.ExecQuery("select SUM(IFNULL(PE_DESC,0)) AS DESCUENTO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
|
||||||
|
c.Position=0
|
||||||
|
b_desc.Visible = False
|
||||||
|
End If
|
||||||
|
c=Starter.skmt.ExecQuery("select count(*) As CUANTOS FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
|
||||||
|
c.Position = 0
|
||||||
|
If c.GetString("CUANTOS") = 0 Then
|
||||||
|
folio = 0
|
||||||
|
Else
|
||||||
|
C1=Starter.skmt.ExecQuery("SELECT SUM(ifnull(PE_FOLIO,0)) AS FOLIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
|
||||||
|
C1.Position = 0
|
||||||
|
folio = C1.GetString("FOLIO")
|
||||||
|
If C1.GetString("FOLIO") > 0 Then
|
||||||
|
folio = 100
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
c.Close
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub CreateListItemPedidos(Texto1 As String, txtColor As Int, txtPromo As String, cantp As String, costoTotP As String, folioP As String) As Panel 'ignore
|
||||||
|
Dim p As B4XView = xui.CreatePanel("")
|
||||||
|
Dim su As StringUtils
|
||||||
|
Dim cs As CSBuilder
|
||||||
|
cs.Initialize
|
||||||
|
p.LoadLayout("pedidoItem")
|
||||||
|
l_pedido.Text = cs.append(Texto1).Append(CRLF).Color(txtColor).append(txtPromo).Append("Cantidad #" & cantp & " SubTotal $" & costoTotP & " Folio " & folioP).PopAll
|
||||||
|
Dim alto As Int = su.MeasureMultilineTextHeight(l_pedido, l_pedido.Text)
|
||||||
|
p.SetLayoutAnimated(0, 0, 0, clv_pedidos.AsView.Width, alto + 20)
|
||||||
|
' i_prod.Bitmap = img
|
||||||
|
Return p
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub Activity_Pause (UserClosed As Boolean)
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub GPS_LocationChanged (Location1 As Location)
|
||||||
|
' lat_gps=Location1.ConvertToSeconds(Location1.Latitude)
|
||||||
|
' lon_gps=Location1.ConvertToSeconds(Location1.Longitude)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub Regresar_Click
|
||||||
|
Subs.iniciaActividad("Cliente")
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub B4XPage_CloseRequest As ResumableSub
|
||||||
|
' BACK key pressed
|
||||||
|
Subs.iniciaActividad("Cliente")
|
||||||
|
' B4XPages.ShowPage("Principal")
|
||||||
|
Return True
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub borra_Click
|
||||||
|
If folio = "0" Or Subs.clienteActual = "0" Then 'Si el folio es 0 o el cliente actual es "abordo", los deja borrar. - Mod por CHV 220512
|
||||||
|
result = Msgbox2("Seguro que desea borrar el pedido?","Cancelar pedido", "Si", "", "No", LoadBitmap(File.DirAssets,"alert2.png")) 'ignore
|
||||||
|
If result = DialogResponse.POSITIVE Then
|
||||||
|
c=Starter.skmt.ExecQuery("select PE_PROID,PE_CANT, PE_TIPO FROM PEDIDO where pe_cliente in (Select CUENTA from cuentaa) ")
|
||||||
|
If c.RowCount>0 Then
|
||||||
|
For i=0 To c.RowCount -1
|
||||||
|
c.Position=i
|
||||||
|
TIPO = c.GetString("PE_TIPO")
|
||||||
|
Starter.skmt.ExecNonQuery2($"update ${Subs.traeTablaProds(TIPO)} set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?"$, Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID")))
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
Starter.skmt.ExecNonQuery("delete from pedido_cliente where pc_cliente in (Select CUENTA from cuentaa)")
|
||||||
|
Starter.skmt.ExecNonQuery("delete from pedido where pe_cliente in (Select CUENTA from cuentaa)")
|
||||||
|
Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
|
||||||
|
|
||||||
|
B4XPages.MainPage.productos.prodsMap.Initialize 'inicializamos mapa de productos para que noaparezcan como vendidos en la lista
|
||||||
|
B4XPages.MainPage.promos.promosMap.Initialize
|
||||||
|
' Log("Llamamos LlenaProdsLL")
|
||||||
|
If B4XPages.MainPage.productos.PCLV.IsInitialized Then B4XPages.MainPage.productos.LlenaProdsLL(Null, Null)
|
||||||
|
|
||||||
|
B4XPage_Appear
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
Msgbox("CLIENTE YA SE TRANSMITIO, FAVOR DE LLAMAR A SOPORTE PARA ASISTENCIA","AVISO") 'ignore
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub ListView1_ItemLongClick (Position As Int, Value As Object)
|
||||||
|
' Private thisLog As Boolean = False
|
||||||
|
' c=Starter.skmt.ExecQuery("select count(*) as CUANTOS from CLIENTE_IMPRESO where CI_CUENTA in (Select CUENTA from cuentaa)")
|
||||||
|
' c.Position = 0
|
||||||
|
' If thisLog Then Log("lista prods="&list_prodsPedido.Get(Position))
|
||||||
|
' Private m As Map = list_prodsPedido.Get(Position)
|
||||||
|
' If c.GetString("CUANTOS") = 0 Or Subs.clienteActual = "0" Then 'Si la venta no está impresa o es abordo entonces continuamos ...
|
||||||
|
' c=Starter.skmt.ExecQuery2("select count(*) as CUANTOS FROM PEDIDO WHERE PE_CEDIS = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("DUR"))
|
||||||
|
' c.Position = 0
|
||||||
|
' CAMBIOS = c.GetString("CUANTOS")
|
||||||
|
' c.Close
|
||||||
|
' c=Starter.skmt.ExecQuery2("select PE_PRONOMBRE,PE_COSTO_TOT, PE_CANT, PE_FOLIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) AND PE_PRONOMBRE = ? order by PE_PRONOMBRE asc", Array As String(Value) )
|
||||||
|
' c.Position = 0
|
||||||
|
' If c.GetString("PE_FOLIO") = "0" Or Subs.clienteActual = "0" Then
|
||||||
|
' result = Msgbox2("Seguro que desea borrar este articulo?","Borrar Articulo", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore
|
||||||
|
' If result = DialogResponse.POSITIVE Then
|
||||||
|
' Private prod As Cursor=Starter.skmt.ExecQuery2("select PE_PROID, PE_CANT, PE_CEDIS FROM PEDIDO where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa) ", Array As String(Value))
|
||||||
|
' prod.Position=0
|
||||||
|
' If thisLog Then Log("m2= " & m)
|
||||||
|
' c.Close
|
||||||
|
' If thisLog Then Log($"Buscamos: ${Value}, ${m.Get("cedis")}"$)
|
||||||
|
' c=Starter.skmt.ExecQuery2("select count(*) AS CUANTOS from cat_gunaprod2 where CAT_GP_ID in (select pe_cedis from pedido where pe_pronombre = ? and pe_cedis = ? and pe_cliente in (Select CUENTA from cuentaa)) and CAT_GP_CLASIF = 'PROMOS' AND CAT_GP_TIPO = 'PROMOS' AND CAT_GP_SUBTIPO = 'PROMOS'", Array As String(Value, m.Get("cedis")))
|
||||||
|
' c.Position=0
|
||||||
|
' If c.GetString("CUANTOS") > 0 Then
|
||||||
|
' If thisLog Then Log($"Borramos de PROMO ${Value}"$)
|
||||||
|
' Private pPromos As Cursor = Starter.skmt.ExecQuery($"select pe_proid, pe_cant from pedido where pe_cedis = '${m.Get("cedis")}'"$)
|
||||||
|
' For tp = 0 To pPromos.RowCount - 1
|
||||||
|
' pPromos.Position = tp
|
||||||
|
' If thisLog Then Log($"SUMAMOS ${pPromos.GetString("PE_CANT")} a ${pPromos.GetString("PE_PROID")} "$)
|
||||||
|
' Starter.skmt.ExecNonQuery($"update ${Subs.traeTablaProds(Starter.tipov)} set cat_gp_almacen = cat_gp_almacen + ${pPromos.GetString("PE_CANT")} where cat_gp_id = '${pPromos.Getstring("PE_PROID")}'"$)
|
||||||
|
' Next
|
||||||
|
' Starter.skmt.ExecNonQuery2("delete from pedido where pe_cedis in (select pe_cedis from pedido where PE_CEDIS = ? and pe_pronombre = ?) and pe_cliente in (Select CUENTA from cuentaa)", Array As Object(m.Get("cedis"), Value))
|
||||||
|
' Else
|
||||||
|
' If thisLog Then Log($"SUMAMOS ${m.get("cant")} a ${m.get("prodId")} "$)
|
||||||
|
' Starter.skmt.ExecNonQuery2($"update ${Subs.traeTablaProds(Starter.tipov)} set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?"$, Array As Object(m.get("cant"), m.get("prodId")))
|
||||||
|
' If thisLog Then Log($"BORRAMOS ${Value}, ${m.Get("cedis")}"$)
|
||||||
|
' Starter.skmt.ExecNonQuery2("delete from pedido where pe_pronombre = ? and pe_cedis = ? and pe_cant = ? and pe_cliente in (Select CUENTA from cuentaa)", Array As Object(Value, m.Get("cedis"), m.Get("cant")))
|
||||||
|
' End If
|
||||||
|
' prod.Close
|
||||||
|
' DateTime.DateFormat = "MM/dd/yyyy"
|
||||||
|
' sDate=DateTime.Date(DateTime.Now)
|
||||||
|
' sTime=DateTime.Time(DateTime.Now)
|
||||||
|
' c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa")
|
||||||
|
' c.Position=0
|
||||||
|
' clie_id = c.GetString("CUENTA")
|
||||||
|
' c=Starter.skmt.ExecQuery("select USUARIO from usuarioa")
|
||||||
|
' c.Position=0
|
||||||
|
' usuario = c.GetString("USUARIO")
|
||||||
|
' c=Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, count(*) as CUANTOS FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
|
||||||
|
' c.Position=0
|
||||||
|
' If c.GetString("CUANTOS") > 0 Then
|
||||||
|
'
|
||||||
|
' Log($"============== TOTAL = ${c.GetString("TOTAL_CLIE")}"$)
|
||||||
|
' If c.GetString("TOTAL_CLIE") < 1 Then
|
||||||
|
' Starter.skmt.ExecNonQuery("delete from pedido where PE_PRONOMBRE like 'CAMBIO%' and PE_CLIENTE In (select cuenta from cuentaa)"$)
|
||||||
|
' End If
|
||||||
|
'
|
||||||
|
' Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)")
|
||||||
|
' If thisLog Then LogColor($"Insertamos coordenadas en pedido: ${Starter.lon_gps}, ${Starter.lat_gps}"$, Colors.Magenta)
|
||||||
|
' Starter.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT) VALUES (?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), Starter.lon_gps, Starter.lat_gps))
|
||||||
|
' Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
|
||||||
|
' Else
|
||||||
|
' Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)")
|
||||||
|
' Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
|
||||||
|
' End If
|
||||||
|
' If thisLog Then Log("Llamamos LlenaProdsLL")
|
||||||
|
' If B4XPages.MainPage.productos.PCLV.IsInitialized Then B4XPages.MainPage.productos.LlenaProdsLL(Null, Null)
|
||||||
|
' B4XPage_Appear
|
||||||
|
' End If
|
||||||
|
' Else
|
||||||
|
' Msgbox("CLIENTE YA SE TRANSMITIO, FAVOR DE LLAMAR A SOPORTE PARA ASISTENCIA","AVISO") 'ignore
|
||||||
|
' End If
|
||||||
|
' Else
|
||||||
|
' ToastMessageShow("Esta venta ya esta impresa, no se puede editar ni borrar.", False)
|
||||||
|
' End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub b_desc_Click
|
||||||
|
If DESCUENTO = "MENOS" Then
|
||||||
|
DateTime.DateFormat = "MM/dd/yyyy"
|
||||||
|
sDate=DateTime.Date(DateTime.Now)
|
||||||
|
sTime=DateTime.Time(DateTime.Now)
|
||||||
|
c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa")
|
||||||
|
c.Position=0
|
||||||
|
clie_id = c.GetString("CUENTA")
|
||||||
|
c.Close
|
||||||
|
c=Starter.skmt.ExecQuery("select USUARIO from usuarioa")
|
||||||
|
c.Position=0
|
||||||
|
usuario = c.GetString("USUARIO")
|
||||||
|
c.Close
|
||||||
|
result = Msgbox2("Seguro que desea dar descuento del 5%?","Dar descuento", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore
|
||||||
|
If result = DialogResponse.POSITIVE Then
|
||||||
|
Starter.skmt.ExecNonQuery("UPDATE pedido SET PE_COSTO_TOT = PE_COSTO_TOT * .95, PE_DESC = 5 WHERE PE_CLIENTE In (select cuenta from cuentaa)")
|
||||||
|
c=Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, count(*) as CUANTOS FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
|
||||||
|
c.Position=0
|
||||||
|
Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)")
|
||||||
|
If logger Then LogColor($"Insertamos coordenadas en pedido: ${Starter.lon_gps}, ${Starter.lat_gps}"$, Colors.Magenta)
|
||||||
|
Starter.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT) VALUES (?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), Starter.lon_gps, Starter.lat_gps))
|
||||||
|
c.Close
|
||||||
|
B4XPage_Appear
|
||||||
|
End If
|
||||||
|
ELSE IF DESCUENTO = "MAS" Then
|
||||||
|
DateTime.DateFormat = "MM/dd/yyyy"
|
||||||
|
sDate=DateTime.Date(DateTime.Now)
|
||||||
|
sTime=DateTime.Time(DateTime.Now)
|
||||||
|
c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa")
|
||||||
|
c.Position=0
|
||||||
|
clie_id = c.GetString("CUENTA")
|
||||||
|
c.Close
|
||||||
|
c=Starter.skmt.ExecQuery("select USUARIO from usuarioa")
|
||||||
|
c.Position=0
|
||||||
|
usuario = c.GetString("USUARIO")
|
||||||
|
c.Close
|
||||||
|
result = Msgbox2("Seguro que desea CANCELAR el descuento?","Cancelar descuento", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore
|
||||||
|
If result = DialogResponse.POSITIVE Then
|
||||||
|
Starter.skmt.ExecNonQuery("UPDATE pedido SET PE_COSTO_TOT = PE_COSTO_TOT / .95, PE_DESC = 0 WHERE PE_CLIENTE In (select cuenta from cuentaa)")
|
||||||
|
c=Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, count(*) as CUANTOS FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
|
||||||
|
c.Position=0
|
||||||
|
Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)")
|
||||||
|
If logger Then LogColor($"Insertamos coordenadas en pedido: ${Starter.lon_gps}, ${Starter.lat_gps}"$, Colors.Magenta)
|
||||||
|
Starter.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT) VALUES (?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), Starter.lon_gps, Starter.lat_gps))
|
||||||
|
c.Close
|
||||||
|
B4XPage_Appear
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub clv_pedidos_ItemLongClick (position As Int, Value As Object)
|
||||||
|
Private thisLog As Boolean = False
|
||||||
|
c=Starter.skmt.ExecQuery("select count(*) as CUANTOS from CLIENTE_IMPRESO where CI_CUENTA in (Select CUENTA from cuentaa)")
|
||||||
|
c.Position = 0
|
||||||
|
If thisLog Then Log("lista prods="&list_prodsPedido.Get(position))
|
||||||
|
Private m As Map = list_prodsPedido.Get(position)
|
||||||
|
If c.GetString("CUANTOS") = 0 Or Subs.clienteActual = "0" Then 'Si la venta no está impresa o es abordo entonces continuamos ...
|
||||||
|
c=Starter.skmt.ExecQuery2("select count(*) as CUANTOS FROM PEDIDO WHERE PE_CEDIS = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("DUR"))
|
||||||
|
c.Position = 0
|
||||||
|
CAMBIOS = c.GetString("CUANTOS")
|
||||||
|
c.Close
|
||||||
|
c=Starter.skmt.ExecQuery2("select PE_PRONOMBRE,PE_COSTO_TOT, PE_CANT, PE_FOLIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) AND PE_PRONOMBRE = ? order by PE_PRONOMBRE asc", Array As String(Value) )
|
||||||
|
c.Position = 0
|
||||||
|
If c.GetString("PE_FOLIO") = "0" Or Subs.clienteActual = "0" Then
|
||||||
|
result = Msgbox2("Seguro que desea borrar este articulo?","Borrar Articulo", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore
|
||||||
|
If result = DialogResponse.POSITIVE Then
|
||||||
|
Private prod As Cursor=Starter.skmt.ExecQuery2("select PE_PROID, PE_CANT, PE_CEDIS FROM PEDIDO where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa) ", Array As String(Value))
|
||||||
|
prod.Position=0
|
||||||
|
If thisLog Then Log("m2= " & m)
|
||||||
|
c.Close
|
||||||
|
If thisLog Then Log($"Buscamos: ${Value}, ${m.Get("cedis")}"$)
|
||||||
|
c=Starter.skmt.ExecQuery2("select count(*) AS CUANTOS from cat_gunaprod2 where CAT_GP_ID in (select pe_cedis from pedido where pe_pronombre = ? and pe_cedis = ? and pe_cliente in (Select CUENTA from cuentaa)) and CAT_GP_CLASIF = 'PROMOS' AND CAT_GP_TIPO = 'PROMOS' AND CAT_GP_SUBTIPO = 'PROMOS'", Array As String(Value, m.Get("cedis")))
|
||||||
|
c.Position=0
|
||||||
|
If c.GetString("CUANTOS") > 0 Then
|
||||||
|
If thisLog Then Log($"Borramos de PROMO ${Value}"$)
|
||||||
|
Private pPromos As Cursor = Starter.skmt.ExecQuery($"select pe_proid, pe_cant from pedido where pe_cedis = '${m.Get("cedis")}'"$)
|
||||||
|
For tp = 0 To pPromos.RowCount - 1
|
||||||
|
pPromos.Position = tp
|
||||||
|
If thisLog Then Log($"SUMAMOS ${pPromos.GetString("PE_CANT")} a ${pPromos.GetString("PE_PROID")} "$)
|
||||||
|
Starter.skmt.ExecNonQuery($"update ${Subs.traeTablaProds(Starter.tipov)} set cat_gp_almacen = cat_gp_almacen + ${pPromos.GetString("PE_CANT")} where cat_gp_id = '${pPromos.Getstring("PE_PROID")}'"$)
|
||||||
|
Next
|
||||||
|
Starter.skmt.ExecNonQuery2("delete from pedido where pe_cedis in (select pe_cedis from pedido where PE_CEDIS = ? and pe_pronombre = ?) and pe_cliente in (Select CUENTA from cuentaa)", Array As Object(m.Get("cedis"), Value))
|
||||||
|
Else
|
||||||
|
If thisLog Then Log($"SUMAMOS ${m.get("cant")} a ${m.get("prodId")} "$)
|
||||||
|
Starter.skmt.ExecNonQuery2($"update ${Subs.traeTablaProds(Starter.tipov)} set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?"$, Array As Object(m.get("cant"), m.get("prodId")))
|
||||||
|
If thisLog Then Log($"BORRAMOS ${Value}, ${m.Get("cedis")}"$)
|
||||||
|
Starter.skmt.ExecNonQuery2("delete from pedido where pe_pronombre = ? and pe_cedis = ? and pe_cant = ? and pe_cliente in (Select CUENTA from cuentaa)", Array As Object(Value, m.Get("cedis"), m.Get("cant")))
|
||||||
|
End If
|
||||||
|
prod.Close
|
||||||
|
DateTime.DateFormat = "MM/dd/yyyy"
|
||||||
|
sDate=DateTime.Date(DateTime.Now)
|
||||||
|
sTime=DateTime.Time(DateTime.Now)
|
||||||
|
c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa")
|
||||||
|
c.Position=0
|
||||||
|
clie_id = c.GetString("CUENTA")
|
||||||
|
c=Starter.skmt.ExecQuery("select USUARIO from usuarioa")
|
||||||
|
c.Position=0
|
||||||
|
usuario = c.GetString("USUARIO")
|
||||||
|
c=Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, count(*) as CUANTOS FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
|
||||||
|
c.Position=0
|
||||||
|
If c.GetString("CUANTOS") > 0 Then
|
||||||
|
|
||||||
|
Log($"============== TOTAL = ${c.GetString("TOTAL_CLIE")}"$)
|
||||||
|
If c.GetString("TOTAL_CLIE") < 1 Then
|
||||||
|
Starter.skmt.ExecNonQuery("delete from pedido where PE_PRONOMBRE like 'CAMBIO%' and PE_CLIENTE In (select cuenta from cuentaa)"$)
|
||||||
|
End If
|
||||||
|
|
||||||
|
Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)")
|
||||||
|
If thisLog Then LogColor($"Insertamos coordenadas en pedido: ${Starter.lon_gps}, ${Starter.lat_gps}"$, Colors.Magenta)
|
||||||
|
Starter.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT) VALUES (?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), Starter.lon_gps, Starter.lat_gps))
|
||||||
|
Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
|
||||||
|
Else
|
||||||
|
Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)")
|
||||||
|
Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
|
||||||
|
End If
|
||||||
|
If thisLog Then Log("Llamamos LlenaProdsLL")
|
||||||
|
If B4XPages.MainPage.productos.PCLV.IsInitialized Then B4XPages.MainPage.productos.LlenaProdsLL(Null, Null)
|
||||||
|
B4XPage_Appear
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
Msgbox("CLIENTE YA SE TRANSMITIO, FAVOR DE LLAMAR A SOPORTE PARA ASISTENCIA","AVISO") 'ignore
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
ToastMessageShow("Esta venta ya esta impresa, no se puede editar ni borrar.", False)
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
95
B4A/C_NuevoCliente.bas
Normal file
@@ -0,0 +1,95 @@
|
|||||||
|
B4A=true
|
||||||
|
Group=Default Group
|
||||||
|
ModulesStructureVersion=1
|
||||||
|
Type=Class
|
||||||
|
Version=11.5
|
||||||
|
@EndOfDesignText@
|
||||||
|
Sub Class_Globals
|
||||||
|
Private Root As B4XView 'ignore
|
||||||
|
Private xui As XUI 'ignore
|
||||||
|
'//Process Globals
|
||||||
|
Dim g As GPS
|
||||||
|
Dim ruta As String
|
||||||
|
Dim c As Cursor
|
||||||
|
Dim C2 As Cursor
|
||||||
|
'//Globals
|
||||||
|
Dim cuenta As String
|
||||||
|
Dim usuario As String
|
||||||
|
Dim sDate,sTime As String
|
||||||
|
Dim lat_gps, lon_gps As String
|
||||||
|
Dim no_cliente As String
|
||||||
|
Dim no_ruta As String
|
||||||
|
Dim r_4 As RadioButton
|
||||||
|
Dim E_NOMBRE As EditText
|
||||||
|
Dim ALMACEN As String
|
||||||
|
Dim DIA_VISITA As String
|
||||||
|
Private b_guardar As Button
|
||||||
|
Private b_cancelar As Button
|
||||||
|
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
|
||||||
|
'load the layout to Root
|
||||||
|
Root.LoadLayout("nuevocliente")
|
||||||
|
ruta = File.DirInternal
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
|
||||||
|
|
||||||
|
Sub B4XPage_Appear
|
||||||
|
b_guardar.Enabled = False
|
||||||
|
b_guardar.Text = "Sin Ubicación ..."
|
||||||
|
E_NOMBRE.Text = ""
|
||||||
|
CallSubDelayed(Tracker, "StartFLPSmall")
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub GPS_LocationChanged (Location1 As Location)
|
||||||
|
' lat_gps=Location1.ConvertToSeconds(Location1.Latitude)
|
||||||
|
' lon_gps=Location1.ConvertToSeconds(Location1.Longitude)
|
||||||
|
b_guardar.Enabled = True
|
||||||
|
b_guardar.Text = "Guardar"
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub b_cancelar_Click
|
||||||
|
Subs.iniciaActividad("Principal")
|
||||||
|
' B4XPages.ShowPage("Principal")
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub b_guardar_Click
|
||||||
|
If E_NOMBRE.Text = "" Then
|
||||||
|
ToastMessageShow("Se tiene que nombrar la tienda para continuar" , True)
|
||||||
|
Else
|
||||||
|
DateTime.DateFormat = "MM/dd/yyyy"
|
||||||
|
DateTime.Timeformat = "HHmmss"
|
||||||
|
sDate=DateTime.Date(DateTime.Now)
|
||||||
|
sTime=DateTime.Time(DateTime.Now)
|
||||||
|
c=Starter.skmt.ExecQuery("select CAT_CL_RUTA, CAT_CL_DIAS_VISITA FROM kmt_info WHERE CAT_CL_DIAS_VISITA = (SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = 'DIA_VISITA')")
|
||||||
|
If c.RowCount > 0 Then
|
||||||
|
c.Position=0
|
||||||
|
no_ruta= c.GetString("CAT_CL_RUTA")
|
||||||
|
DIA_VISITA=c.GetString("CAT_CL_DIAS_VISITA")
|
||||||
|
'Aqui creamos manualmente la hora con el separador de los 2 puntos porque en algunas versiones de android no respeta el formato "Timeformat = 'HH:mm:ss'"
|
||||||
|
Private hora As String = sTime.SubString2(0,2)
|
||||||
|
Private mins As String = sTime.SubString2(2,4)
|
||||||
|
Private segs As String = sTime.SubString(4)
|
||||||
|
Private sTime2 As String = hora&":"&mins&":"&segs
|
||||||
|
Log("////////////// sTime: "&sTime&" ////////////////")
|
||||||
|
no_cliente= "N" & sTime2 & no_ruta
|
||||||
|
c.Close
|
||||||
|
C2=Starter.skmt.ExecQuery("SELECT ID_ALMACEN FROM CAT_ALMACEN")
|
||||||
|
C2.Position=0
|
||||||
|
ALMACEN= C2.GetString("ID_ALMACEN")
|
||||||
|
C2.Close
|
||||||
|
Starter.skmt.ExecNonQuery2("INSERT INTO kmt_info(CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_DIAS_VISITA,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LONG,CAT_CL_LAT,CAT_CL_MTOCOMPRA,CAT_CL_NUM_SERIEFISICO,CAT_CL_BCREDITO, gestion,CAT_CL_BFACTURA,IMPRESION) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,0,0,0,0,1000000,0) ",Array As Object (no_cliente,no_ruta, E_NOMBRE.Text,DIA_VISITA,"new","null","null","null","null","null","null","null","null","NULL","NULL","null","0", Starter.lon_gps, Starter.lat_gps))
|
||||||
|
Starter.skmt.ExecNonQuery("delete from CUENTAA")
|
||||||
|
Starter.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object(no_cliente))
|
||||||
|
Subs.iniciaActividad("cliente")
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
24
B4A/C_Pedidos.bas
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
B4A=true
|
||||||
|
Group=Default Group
|
||||||
|
ModulesStructureVersion=1
|
||||||
|
Type=Class
|
||||||
|
Version=11.5
|
||||||
|
@EndOfDesignText@
|
||||||
|
Sub Class_Globals
|
||||||
|
Private Root As B4XView 'ignore
|
||||||
|
Private xui As XUI 'ignore
|
||||||
|
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
|
||||||
|
'load the layout to Root
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
|
||||||
3026
B4A/C_Principal.bas
Normal file
1240
B4A/C_Productos.bas
Normal file
1331
B4A/C_Productos2.bas
Normal file
422
B4A/C_Promos.bas
Normal file
@@ -0,0 +1,422 @@
|
|||||||
|
B4A=true
|
||||||
|
Group=Default Group
|
||||||
|
ModulesStructureVersion=1
|
||||||
|
Type=Class
|
||||||
|
Version=11.5
|
||||||
|
@EndOfDesignText@
|
||||||
|
Sub Class_Globals
|
||||||
|
Private Root As B4XView 'ignore
|
||||||
|
Private xui As XUI
|
||||||
|
Private l_promoDesc As Label
|
||||||
|
Private lv_prodsFijos As ListView
|
||||||
|
Private clv_prodsVariabes As CustomListView
|
||||||
|
Private l_prodsFijos As Label
|
||||||
|
Private l_prodsVariables As Label
|
||||||
|
Private i_prod As ImageView
|
||||||
|
Private l_prodX As Label
|
||||||
|
Private p_prods As Panel
|
||||||
|
Private b_prodMenos As Button
|
||||||
|
Private et_pCant As EditText
|
||||||
|
Private b_prodMas As Button
|
||||||
|
Private l_pCant As Label
|
||||||
|
Dim totalProds As Int = 0
|
||||||
|
Dim prodsVarReq As Int = 0
|
||||||
|
Dim prodsVarReq2 As Int = 0
|
||||||
|
Dim totalCompra As Float = 0
|
||||||
|
Dim prodsFijosTot As Float = 0
|
||||||
|
Dim tpf As Int = 0
|
||||||
|
Dim tpf2 As Int = 0
|
||||||
|
Dim maxCantPromos As Int = 1
|
||||||
|
Private l_totProds As Label
|
||||||
|
Private l_total As Label
|
||||||
|
Private b_terminar1 As Button
|
||||||
|
Private p_promociones As Panel
|
||||||
|
Dim prodsIds, prodsCants, prodsPrecios, prodsIds2, prodsCants2, prodsPrecios2 As List
|
||||||
|
Dim estaPromo, esteCliente As String
|
||||||
|
Private b_promoMas As Button
|
||||||
|
Private b_promoMenos As Button
|
||||||
|
Private et_promoCant As EditText
|
||||||
|
Private l_promosCant As Label
|
||||||
|
Private b_continuar As Button
|
||||||
|
Private p_prodsVariables As Panel
|
||||||
|
Dim laPromo = "", elCliente = "" As String
|
||||||
|
Dim prodsPedidoActual As String
|
||||||
|
Dim montoPedidoActual As String
|
||||||
|
Dim promosMap As Map
|
||||||
|
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
|
||||||
|
'load the layout to Root
|
||||||
|
Root.LoadLayout("promociones")
|
||||||
|
promosMap.Initialize
|
||||||
|
p_promociones.Top=0
|
||||||
|
p_promociones.Left=0
|
||||||
|
p_promociones.Height=Root.Height
|
||||||
|
p_promociones.Width=Root.Width
|
||||||
|
b_terminar1.Left = Root.Width - (b_terminar1.Width + 10)
|
||||||
|
b_continuar.Left = Root.Width - b_terminar1.Width - (b_continuar.Width + 20)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub B4XPage_Appear
|
||||||
|
' LogColor(B4XPages.MainPage.productos.prodsMap, Colors.blue)
|
||||||
|
prodsIds.Initialize
|
||||||
|
prodsCants.Initialize
|
||||||
|
prodsPrecios.Initialize
|
||||||
|
prodsIds2.Initialize
|
||||||
|
prodsCants2.Initialize
|
||||||
|
prodsPrecios2.Initialize
|
||||||
|
Dim m As Map = Subs.traeTotalesClienteActual
|
||||||
|
prodsPedidoActual = m.Get("productos")
|
||||||
|
montoPedidoActual = m.Get("monto")
|
||||||
|
Log($"laPromo=${laPromo}, el cliente=${elCliente}"$)
|
||||||
|
If laPromo <> "" Then muestraPromo(laPromo, elCliente)
|
||||||
|
End Sub
|
||||||
|
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
|
||||||
|
|
||||||
|
Sub muestraPromo(promo As String, cliente As String)
|
||||||
|
Log("muestraPromo:"&promo)
|
||||||
|
Private thisLog As Boolean = False
|
||||||
|
' If thisLog Then Log(promo)
|
||||||
|
estaPromo = promo
|
||||||
|
esteCliente = cliente
|
||||||
|
Private mp As Map = Subs.traePromo(promo, cliente)
|
||||||
|
Private prodsPromo As Map = mp.Get("productos") 'Los productos de la promoción.
|
||||||
|
Private invDispPromo As Map = Subs.traemosInventarioDisponibleParaPromo(promo)
|
||||||
|
' If thisLog Then Log($"invDispPromo=${invDispPromo}"$)
|
||||||
|
If thisLog Then Log("Max promos por inv de prods FIJOS: " & Subs.revisaMaxPromosProdsFijosPorInventario(mp))
|
||||||
|
If thisLog Then Log("Max promos por inv de prods VARIABLES: " & Subs.revisaMaxPromosProdsVariablesPorInventario(mp))
|
||||||
|
maxCantPromos = Subs.revisaMaxPromosProdsVariablesPorInventario(mp)
|
||||||
|
et_promoCant.Text = 1
|
||||||
|
l_promosCant.text = "Max promos: " & maxCantPromos
|
||||||
|
Private cs As CSBuilder
|
||||||
|
cs.Initialize
|
||||||
|
If thisLog Then Log(mp)
|
||||||
|
If thisLog Then Log(prodsPromo)
|
||||||
|
'Ponemos la promo y descripción.
|
||||||
|
' Dim desc As String = $"Promoción: ${promo}${CRLF}${mp.Get("descripcion")}"$
|
||||||
|
' Dim desc As String = cs.append("Promocion: ").Color(Colors.RGB(100,149,237)).Append(promo).pop.append(CRLF).Append(mp.Get("descripcion")).Popall
|
||||||
|
l_promoDesc.Text = cs.Color(Colors.RGB(100,149,237)).append("Promocion: ").pop.append(CRLF).Append(promo).append(CRLF).Append(mp.Get("descripcion")).Popall
|
||||||
|
prodsFijosTot = 0
|
||||||
|
'Ponemos el texto en las etiquetas de la cantidad de productos.
|
||||||
|
' Dim pf As List = mp.Get("prodsFijos")
|
||||||
|
Dim pv As List = mp.Get("prodsVariables")
|
||||||
|
If thisLog Then Log(mp)
|
||||||
|
tpf = 0
|
||||||
|
For Each pfp As Int In mp.Get("prodsFijosPiezas").As(List)
|
||||||
|
tpf = tpf + pfp
|
||||||
|
Next
|
||||||
|
tpf2 = tpf
|
||||||
|
' tpf = tpf * maxCantPromos
|
||||||
|
l_prodsFijos.Text = $"Productos fijos (${tpf})"$
|
||||||
|
prodsVarReq = mp.Get("prodsVariablesRequeridos")
|
||||||
|
prodsVarReq2 = prodsVarReq
|
||||||
|
l_prodsVariables.Text = $"Productos variables requeridos: ${prodsVarReq}"$
|
||||||
|
If prodsVarReq = 0 Then
|
||||||
|
p_prodsVariables.Visible = False
|
||||||
|
Else
|
||||||
|
p_prodsVariables.Visible = True
|
||||||
|
End If
|
||||||
|
'Llenamos el listview con los productos fijos.
|
||||||
|
Dim label1 As Label
|
||||||
|
label1 = lv_prodsFijos.SingleLineLayout.Label
|
||||||
|
label1.TextSize = 13
|
||||||
|
label1.TextColor = Colors.black
|
||||||
|
lv_prodsFijos.SingleLineLayout.ItemHeight = 30dip
|
||||||
|
lv_prodsFijos.Clear
|
||||||
|
' If pf.Size < 1 Then pf.Add("Sin productos fijos.")
|
||||||
|
lv_prodsFijos.Clear
|
||||||
|
agregaFijosALista(mp, True)
|
||||||
|
If thisLog Then Log("Total prods fijos = " & prodsFijosTot)
|
||||||
|
' If thisLog Then Log("======="&prodsMap)
|
||||||
|
l_totProds.text = $"Productos: ${tpf}"$
|
||||||
|
l_total.Text = $"Total: $$1.2{prodsFijosTot}"$
|
||||||
|
' Dim ins As InputStream
|
||||||
|
' Dim bmp As Bitmap
|
||||||
|
' Dim jpeg() As Byte
|
||||||
|
|
||||||
|
'Llenamos el listview con los productos variables.
|
||||||
|
If thisLog Then Log(pv)
|
||||||
|
If thisLog Then Log("invDisp=" & invDispPromo)
|
||||||
|
clv_prodsVariabes.Clear
|
||||||
|
For Each p As String In pv
|
||||||
|
If invDispPromo.ContainsKey(p) Then 'Si no esta en la lista de productos con inventario no lo mostramos.
|
||||||
|
' c2.Position=i
|
||||||
|
' jpeg = c2.GetBlob("CAT_GP_IMG")
|
||||||
|
' ins.InitializeFromBytesArray(jpeg, 0, jpeg.Length)
|
||||||
|
' bmp.Initialize2(ins)
|
||||||
|
Private thisProd As Map = prodsPromo.Get(p)
|
||||||
|
If thisLog Then Log(thisProd)
|
||||||
|
clv_prodsVariabes.Add(CreateListItem(Subs.traeProdNombre(p)&CRLF&"Hay " & invDispPromo.Get(p) & " $" & thisProd.Get("precio"), thisProd.Get("precio"), invDispPromo.Get(p), clv_prodsVariabes.AsView.Width, 50dip, Null, p), p)
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
b_terminar1.Visible = False
|
||||||
|
b_continuar.Visible = False
|
||||||
|
cuentaProds
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'Agregamos los productos fijos a una lista para despues meterlos en el pedido.
|
||||||
|
Sub agregaFijosALista(mp As Map, addListItem As Boolean)
|
||||||
|
Private thisLog As Boolean = False
|
||||||
|
Private cont As Int = 0
|
||||||
|
prodsFijosTot = 0
|
||||||
|
Dim pf As List = mp.Get("prodsFijos")
|
||||||
|
If pf.Size < 1 Then pf.Add("Sin productos fijos.")
|
||||||
|
' Private m As Map
|
||||||
|
' prodsMap.Put(estaPromo, CreateMap("cant":1, "precio":0))
|
||||||
|
' prodsIds.Add(estaPromo)
|
||||||
|
prodsIds.clear
|
||||||
|
prodsCants.clear
|
||||||
|
prodsPrecios.clear
|
||||||
|
prodsIds.Add(estaPromo)
|
||||||
|
prodsCants.Add(et_promoCant.text.As(Int))
|
||||||
|
prodsPrecios.Add(0)
|
||||||
|
For Each p As String In pf
|
||||||
|
' Log($"cont=${cont}, mp=${mp}"$)
|
||||||
|
If mp.Get("prodsFijosPiezas").As(List).Size > 0 Then
|
||||||
|
Private tpi As String = mp.Get("prodsFijosPiezas").As(List).Get(cont)
|
||||||
|
Else
|
||||||
|
Private tpi As String = 0
|
||||||
|
End If
|
||||||
|
If mp.Get("prodsFijosPrecios").As(List).Size > 0 Then
|
||||||
|
Private tpr As String = mp.Get("prodsFijosPrecios").As(List).Get(cont)
|
||||||
|
Else
|
||||||
|
Private tpr As String = 0
|
||||||
|
End If
|
||||||
|
prodsFijosTot = prodsFijosTot + (tpi * tpr)
|
||||||
|
If thisLog Then Log("|"&tpi&"|"&p)
|
||||||
|
Private ntpi As Int = tpi * et_promoCant.text
|
||||||
|
If addListItem And tpi > 0 Then lv_prodsFijos.AddSingleLine(ntpi & " " & Subs.traeProdNombre(p) & " - $" & tpr)
|
||||||
|
cont = cont+1
|
||||||
|
' m=CreateMap("cant":tpi, "precio":tpr)
|
||||||
|
' prodsMap.Put(p, m)
|
||||||
|
prodsIds.Add(p)
|
||||||
|
prodsCants.Add(tpi.As(Int)*et_promoCant.text.As(Int))
|
||||||
|
prodsPrecios.Add(tpr) '*et_promoCant.text.As(Int)
|
||||||
|
Next
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub CreateListItem(Text As String, precioU As String, inv As Int, Width As Int, Height As Int, img As Bitmap, prodId As String) As Panel 'ignore
|
||||||
|
Dim p As B4XView = xui.CreatePanel("")
|
||||||
|
p.SetLayoutAnimated(0, 0, 0, Width, Height)
|
||||||
|
p.LoadLayout("prodItem")
|
||||||
|
l_prodX.Text = Text
|
||||||
|
l_prodX.Tag = inv
|
||||||
|
l_prodX.TextSize = 13
|
||||||
|
p_prods.Height = Height
|
||||||
|
l_prodX.Height = Height
|
||||||
|
' l_pCant.Text = 0
|
||||||
|
l_pCant.Tag = precioU&"|"&inv&"|"&prodId
|
||||||
|
et_pCant.Tag = precioU&"|"&inv&"|"&prodId
|
||||||
|
et_pCant.BringToFront
|
||||||
|
' i_prod.Bitmap = img
|
||||||
|
Return p
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub b_prodMenos_Click
|
||||||
|
Dim index As Int = clv_prodsVariabes.GetItemFromView(Sender)
|
||||||
|
Dim pnl0 As B4XView = clv_prodsVariabes.GetPanel(index)
|
||||||
|
Dim pnl As B4XView = pnl0.GetView(0)
|
||||||
|
' Dim laCant As B4XView = pnl.GetView(5)
|
||||||
|
Dim laCant As B4XView = pnl.GetView(2).GetView(4)
|
||||||
|
' Log($"precio|stock:${laCant.tag}"$)
|
||||||
|
laCant.Text = $"$1.0{laCant.Text-1}"$
|
||||||
|
If laCant.Text < 0 Then laCant.Text = 0
|
||||||
|
|
||||||
|
' Log(Regex.Split("\|", laCant.tag)(0))
|
||||||
|
Private precio As String = Regex.Split("\|", laCant.tag)(0)
|
||||||
|
' Private inv As String = Regex.Split("\|", laCant.tag)(1)
|
||||||
|
Private prodId As String = Regex.Split("\|", laCant.tag)(2)
|
||||||
|
Private tmpMap As Map = CreateMap("precio":precio, "cant":laCant.Text, "almacen":estaPromo)
|
||||||
|
Log(tmpMap)
|
||||||
|
promosMap.Put(prodId, tmpMap)
|
||||||
|
If laCant.Text = 0 Then promosMap.Remove(prodId)
|
||||||
|
LogColor(promosMap, Colors.Magenta)
|
||||||
|
cuentaProds
|
||||||
|
' l_total.Text = $"Total Compra: $$1.2{totalCompra}"$
|
||||||
|
' l_totProds.text = $"Total Productos: ${totalProds}"$
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub b_prodMas_Click
|
||||||
|
' LogColor($"prodmas clic - ${Starter.cp_running}"$,Colors.Magenta)
|
||||||
|
If totalProds < prodsVarReq + tpf Then
|
||||||
|
Dim index As Int = clv_prodsVariabes.GetItemFromView(Sender)
|
||||||
|
Dim pnl0 As B4XView = clv_prodsVariabes.GetPanel(index)
|
||||||
|
Dim pnl As B4XView = pnl0.GetView(0)
|
||||||
|
' Dim laCant As B4XView = pnl.GetView(5)
|
||||||
|
Dim laCant As B4XView = pnl.GetView(2).GetView(4)
|
||||||
|
' Log($"precio|stock:${laCant.tag}"$)
|
||||||
|
' Log($"Indice: ${index}, cant:${laCant.Text+1}, precioU: ${laCant.tag}"$)
|
||||||
|
Dim esteTag As List = Regex.Split("\|", laCant.Tag)
|
||||||
|
' Log(esteTag)
|
||||||
|
If laCant.Text + 1 <= esteTag.get(1) Then
|
||||||
|
laCant.Text = $"$1.0{laCant.Text+1}"$
|
||||||
|
cuentaProds
|
||||||
|
End If
|
||||||
|
' Log(Regex.Split("\|", laCant.tag)(0))
|
||||||
|
Private precio As String = Regex.Split("\|", laCant.tag)(0)
|
||||||
|
' Private inv As String = Regex.Split("\|", laCant.tag)(1)
|
||||||
|
Private prodId As String = Regex.Split("\|", laCant.tag)(2)
|
||||||
|
Private tmpMap As Map = CreateMap("precio":precio, "cant":laCant.Text, "almacen":estaPromo)
|
||||||
|
Log(tmpMap)
|
||||||
|
promosMap.Put(prodId, tmpMap)
|
||||||
|
LogColor(promosMap, Colors.Magenta)
|
||||||
|
End If
|
||||||
|
' Log($"Total Prods: ${totalProds}, Total Compra: $$1.2{totalCompra}"$)
|
||||||
|
' l_total.Text = $"Total Compra: $$1.2{totalCompra}"$
|
||||||
|
' l_totProds.text = $"Total Productos: ${totalProds}"$
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub et_pCant_TextChanged (Old As String, New As String)
|
||||||
|
' LogColor($"txt changed - ${Starter.cp_running}"$,Colors.Magenta)
|
||||||
|
cuentaProds
|
||||||
|
' Starter.cp_running = False
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub cuentaProds
|
||||||
|
' Log("=====================================================")
|
||||||
|
' Log($"Inicia cuentaProds - ${Starter.cp_running}"$)
|
||||||
|
' Starter.cp_running = True
|
||||||
|
Private thisLog As Boolean = False
|
||||||
|
If thisLog Then LogColor($"ProdsFijos=${tpf}, totalProds=${totalProds}, totalCompra=${totalCompra}"$, Colors.Red)
|
||||||
|
prodsIds2.Clear
|
||||||
|
prodsCants2.Clear
|
||||||
|
prodsPrecios2.Clear
|
||||||
|
lv_prodsFijos.Clear
|
||||||
|
agregaFijosALista(Subs.traePromo(estaPromo, esteCliente), True)
|
||||||
|
' Log(prodsIds)
|
||||||
|
Private tcpf As Float = 0 'Total de compra de productos fijos.
|
||||||
|
For pf = 0 To prodsIds.Size - 1
|
||||||
|
If thisLog Then Log($"${tcpf} + ${prodsCants.Get(pf)} * ${prodsPrecios.Get(pf)} = ${(prodsPrecios.Get(pf) * prodsCants.Get(pf))}"$)
|
||||||
|
tcpf = tcpf + (prodsPrecios.Get(pf) * prodsCants.Get(pf))
|
||||||
|
Next
|
||||||
|
' Log("Total compra prodsFijos = " & tcpf)
|
||||||
|
totalCompra = tcpf
|
||||||
|
totalProds = tpf 'Cantidad total de productos fijos.
|
||||||
|
For i = 0 To clv_prodsVariabes.GetSize - 1
|
||||||
|
Private p0 As B4XView = clv_prodsVariabes.GetPanel(i)
|
||||||
|
Private p As B4XView = p0.GetView(0)
|
||||||
|
Private cant1 As B4XView = p.GetView(2).GetView(4)
|
||||||
|
' If cant1.Text = "" Then cant1.Text = 0
|
||||||
|
totalProds = totalProds + cant1.Text
|
||||||
|
Private esteTag As List = Regex.Split("\|", cant1.Tag)
|
||||||
|
If cant1.Text > esteTag.Get(1) Then cant1.Text = esteTag.Get(1)
|
||||||
|
If cant1.Text > 0 Then
|
||||||
|
Log(esteTag.Get(2) & "|" & cant1.Text)
|
||||||
|
totalCompra = totalCompra + (esteTag.get(0) * cant1.text)
|
||||||
|
If thisLog Then Log($"Cant: ${cant1.Text}, Suma: ${totalCompra}"$)
|
||||||
|
prodsIds2.Add(esteTag.Get(2))
|
||||||
|
prodsCants2.Add(cant1.Text)
|
||||||
|
prodsPrecios2.Add(esteTag.get(0))
|
||||||
|
End If
|
||||||
|
l_total.Text = $"Total: $$1.2{totalCompra}"$
|
||||||
|
l_totProds.text = $"Productos: ${totalProds}"$
|
||||||
|
Next
|
||||||
|
If thisLog Then Log($"Total Prods: ${totalProds}, Total: $$1.2{totalCompra}"$)
|
||||||
|
l_total.Text = $"Total: $$1.2{totalCompra}"$
|
||||||
|
l_totProds.text = $"Productos: ${totalProds}"$
|
||||||
|
If totalProds < prodsVarReq + tpf Or totalProds > prodsVarReq + tpf Then
|
||||||
|
' Log("INCOMPLETA")
|
||||||
|
b_terminar1.Visible = False
|
||||||
|
b_continuar.Visible = False
|
||||||
|
Else
|
||||||
|
' Log("COMPLETA")
|
||||||
|
b_terminar1.Visible = True
|
||||||
|
b_continuar.Visible = True
|
||||||
|
End If
|
||||||
|
If thisLog Then LogColor($"${prodsIds}${CRLF}${prodsCants}${CRLF}${prodsPrecios}"$, Colors.blue)
|
||||||
|
If thisLog Then LogColor($"${prodsIds2}${CRLF}${prodsCants2}${CRLF}${prodsPrecios2}"$, Colors.Magenta)
|
||||||
|
LogColor($"Total Prods: ${totalProds}, Total: $$1.2{totalCompra}"$, Colors.Blue)
|
||||||
|
' Log($"Termina cuentaProds - ${Starter.cp_running}"$)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub et_pCant_FocusChanged (HasFocus As Boolean)
|
||||||
|
' LogColor("Focus changed", Colors.Magenta)
|
||||||
|
cuentaProds
|
||||||
|
' Starter.cp_running = False
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub b_promoMenos_Click
|
||||||
|
If et_promoCant.Text > 1 Then
|
||||||
|
et_promoCant.Text = et_promoCant.Text.As(Int) - 1
|
||||||
|
End If
|
||||||
|
l_prodsFijos.Text = $"Productos fijos (${tpf2 * et_promoCant.Text.As(Int)})"$
|
||||||
|
l_prodsVariables.Text = $"Productos variables requeridos: ${prodsVarReq2 * et_promoCant.Text.As(Int)}"$
|
||||||
|
tpf = tpf2 * et_promoCant.Text.As(Int)
|
||||||
|
prodsVarReq = prodsVarReq2 * et_promoCant.Text.As(Int)
|
||||||
|
Log($"Max promos=${et_promoCant.Text.As(Int)}, Prods fijos=${tpf}, "$)
|
||||||
|
cuentaProds
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub b_promoMas_Click
|
||||||
|
If et_promoCant.Text < maxCantPromos Then
|
||||||
|
et_promoCant.Text = et_promoCant.Text.As(Int) + 1
|
||||||
|
l_prodsFijos.Text = $"Productos fijos (${tpf2 * et_promoCant.Text.As(Int)})"$
|
||||||
|
l_prodsVariables.Text = $"Productos variables requeridos: ${prodsVarReq2 * et_promoCant.Text.As(Int)}"$
|
||||||
|
tpf = tpf2 * et_promoCant.Text.As(Int)
|
||||||
|
prodsVarReq = prodsVarReq2 * et_promoCant.Text.As(Int)
|
||||||
|
Log($"Max promos=${et_promoCant.Text.As(Int)}, Prods fijos=${tpf}, "$)
|
||||||
|
End If
|
||||||
|
If et_promoCant.text > maxCantPromos Then et_promoCant.Text = maxCantPromos
|
||||||
|
cuentaProds
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub b_terminar1_Click
|
||||||
|
cuentaProds
|
||||||
|
Log("====================================================================")
|
||||||
|
' Log($"${prodsIds}${CRLF}${prodsCants}${CRLF}${prodsPrecios}"$)
|
||||||
|
For t = 0 To prodsIds.Size - 1 'Guardamos los productos fijos de la promocion en pedido.
|
||||||
|
Private pn As String = Subs.traeProdNombre(prodsIds.Get(t))
|
||||||
|
If prodsCants.Get(t) > 0 Then Subs.guardaProductoSinGestion(estaPromo, prodsPrecios.Get(t), prodsCants.Get(t), pn, prodsIds.Get(t), Subs.traeCliente, Subs.traeFecha, Subs.traeUsuarioDeBD, Subs.traeRuta, 0, Starter.tipov)
|
||||||
|
Next
|
||||||
|
For t = 0 To prodsIds2.Size - 1 'Guardamos los productos variables de la promocion en pedido.
|
||||||
|
Private pn As String = Subs.traeProdNombre(prodsIds2.Get(t))
|
||||||
|
Subs.guardaProductoSinGestion(estaPromo, prodsPrecios2.Get(t), prodsCants2.Get(t), pn, prodsIds2.Get(t), Subs.traeCliente, Subs.traeFecha, Subs.traeUsuarioDeBD, Subs.traeRuta, 0, Starter.tipov)
|
||||||
|
Next
|
||||||
|
lv_prodsFijos.Clear
|
||||||
|
B4XPages.MainPage.bTerminarClicked = True
|
||||||
|
B4XPages.ShowPage("productos")
|
||||||
|
B4XPages.MainPage.productos.b_terminar1_Click
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub b_continuar_Click
|
||||||
|
cuentaProds
|
||||||
|
Log("====================================================================")
|
||||||
|
' Log($"${prodsIds}${CRLF}${prodsCants}${CRLF}${prodsPrecios}"$)
|
||||||
|
For t = 0 To prodsIds.Size - 1 'Guardamos los productos fijos de la promocion en pedido.
|
||||||
|
Private pn As String = Subs.traeProdNombre(prodsIds.Get(t))
|
||||||
|
Subs.guardaProductoSinGestion(estaPromo, prodsPrecios.Get(t), prodsCants.Get(t), pn, prodsIds.Get(t), Subs.traeCliente, Subs.traeFecha, Subs.traeUsuarioDeBD, Subs.traeRuta, 0, Starter.tipov)
|
||||||
|
Next
|
||||||
|
For t = 0 To prodsIds2.Size - 1 'Guardamos los productos variables de la promocion en pedido.
|
||||||
|
Private pn As String = Subs.traeProdNombre(prodsIds2.Get(t))
|
||||||
|
Subs.guardaProductoSinGestion(estaPromo, prodsPrecios2.Get(t), prodsCants2.Get(t), pn, prodsIds2.Get(t), Subs.traeCliente, Subs.traeFecha, Subs.traeUsuarioDeBD, Subs.traeRuta, 0, Starter.tipov)
|
||||||
|
Next
|
||||||
|
lv_prodsFijos.Clear
|
||||||
|
' Activity_KeyPress(KeyCodes.KEYCODE_BACK)
|
||||||
|
' CallSubDelayed2(productos, "Activity_KeyPress", KeyCodes.KEYCODE_BACK)
|
||||||
|
Private prodspage As C_Productos
|
||||||
|
If prodspage.IsInitialized Then
|
||||||
|
prodspage.lv_catalogos.Visible = True
|
||||||
|
prodspage.lv_promos.Visible = False
|
||||||
|
prodspage.clv_productos.AsView.Visible = False
|
||||||
|
End If
|
||||||
|
B4XPages.MainPage.bTerminarClicked = True
|
||||||
|
B4XPages.ShowPage("productos")
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'Sub Activity_KeyPress (key As Int) As Boolean 'ignore
|
||||||
|
' ' BACK key pressed
|
||||||
|
' Log("Keypress")
|
||||||
|
' If key=KeyCodes.KEYCODE_BACK Then
|
||||||
|
' Log("BACK")
|
||||||
|
' Return False
|
||||||
|
' End If
|
||||||
|
' Return False
|
||||||
|
' ' Returning False signals the system to handle the key
|
||||||
|
'End Sub
|
||||||
24
B4A/C_Promos2.bas
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
B4A=true
|
||||||
|
Group=Default Group
|
||||||
|
ModulesStructureVersion=1
|
||||||
|
Type=Class
|
||||||
|
Version=11.5
|
||||||
|
@EndOfDesignText@
|
||||||
|
Sub Class_Globals
|
||||||
|
Private Root As B4XView 'ignore
|
||||||
|
Private xui As XUI 'ignore
|
||||||
|
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
|
||||||
|
'load the layout to Root
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
|
||||||
137
B4A/C_TicketsDia.bas
Normal file
@@ -0,0 +1,137 @@
|
|||||||
|
B4A=true
|
||||||
|
Group=Default Group
|
||||||
|
ModulesStructureVersion=1
|
||||||
|
Type=Class
|
||||||
|
Version=11.5
|
||||||
|
@EndOfDesignText@
|
||||||
|
Sub Class_Globals
|
||||||
|
Private Root As B4XView 'ignore
|
||||||
|
Private xui As XUI 'ignore
|
||||||
|
Dim c As Cursor
|
||||||
|
Dim ruta As String
|
||||||
|
Dim ListView1 As ListView
|
||||||
|
Dim b_noventa As Button
|
||||||
|
Dim nombre_boton As String
|
||||||
|
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
|
||||||
|
'load the layout to Root
|
||||||
|
ruta = File.DirInternal
|
||||||
|
Root.LoadLayout("ticketsDia")
|
||||||
|
c=Starter.skmt.ExecQuery("select PC_CLIENTE,PC_MONTO,PC_NOART FROM PEDIDO_CLIENTE ORDER BY PC_FECHA asc")
|
||||||
|
ListView1.Clear
|
||||||
|
If c.RowCount>0 Then
|
||||||
|
For i=0 To c.RowCount -1
|
||||||
|
c.Position=i
|
||||||
|
Dim label1 As Label
|
||||||
|
label1 = ListView1.TwoLinesLayout.Label
|
||||||
|
label1.TextSize = 15
|
||||||
|
label1.TextColor = Colors.Black
|
||||||
|
Dim label2 As Label
|
||||||
|
label2 = ListView1.TwoLinesLayout.SecondLabel
|
||||||
|
label2.TextSize = 13
|
||||||
|
label2.TextColor = Colors.Black
|
||||||
|
ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),"Cantidad #"& c.GetString("PC_NOART")& " SubTotal $"& c.GetString("PC_MONTO"))
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
|
||||||
|
|
||||||
|
Sub B4XPage_Appear
|
||||||
|
nombre_boton = "NOVENTA"
|
||||||
|
c=Starter.skmt.ExecQuery("select PC_CLIENTE,PC_MONTO,PC_NOART,(select CAT_CL_NOMBRE from kmt_info where cat_cl_codigo = pc_cliente ) as NOMBRE FROM PEDIDO_CLIENTE ORDER BY PC_FECHA asc")
|
||||||
|
ListView1.Clear
|
||||||
|
If c.RowCount>0 Then
|
||||||
|
For i=0 To c.RowCount -1
|
||||||
|
c.Position=i
|
||||||
|
Dim label1 As Label
|
||||||
|
label1 = ListView1.TwoLinesLayout.Label
|
||||||
|
label1.TextSize = 15
|
||||||
|
label1.TextColor = Colors.Black
|
||||||
|
Dim label2 As Label
|
||||||
|
label2 = ListView1.TwoLinesLayout.SecondLabel
|
||||||
|
label2.TextSize = 13
|
||||||
|
label2.TextColor = Colors.Black
|
||||||
|
ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),c.GetString("NOMBRE") &" Cant. #"& c.GetString("PC_NOART")& " SubTotal $"& c.GetString("PC_MONTO"))
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
c.Close
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub Regresar_Click
|
||||||
|
Subs.iniciaActividad("Cliente")
|
||||||
|
' B4XPages.ShowPage("Cliente")
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub B4XPage_CloseRequest As ResumableSub
|
||||||
|
' BACK key pressed
|
||||||
|
Subs.iniciaActividad("Principal")
|
||||||
|
' B4XPages.ShowPage("Principal")
|
||||||
|
Return True
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub Activity_KeyPress (key As Int) As Boolean
|
||||||
|
' ' BACK key pressed
|
||||||
|
' If key=KeyCodes.KEYCODE_BACK Then
|
||||||
|
' Subs.iniciaActividad("Principal")
|
||||||
|
' End If
|
||||||
|
' ' Returning False signals the system to handle the key
|
||||||
|
' Return False
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub ListView1_ItemLongClick (Position As Int, Value As Object)
|
||||||
|
Starter.skmt.ExecNonQuery("delete from CUENTAA")
|
||||||
|
Starter.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object(Value))
|
||||||
|
Subs.iniciaActividad("Cliente")
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub b_noventa_Click
|
||||||
|
If nombre_boton = "NOVENTA" Then
|
||||||
|
nombre_boton = "VENTA"
|
||||||
|
b_noventa.Text ="VENTA"
|
||||||
|
c=Starter.skmt.ExecQuery("select NV_CLIENTE,NV_MOTIVO,NV_COMM, (select CAT_CL_NOMBRE from kmt_info where cat_cl_codigo = NV_CLIENTE ) as NOMBRE FROM NOVENTA ORDER BY NV_CLIENTE asc")
|
||||||
|
ListView1.Clear
|
||||||
|
If c.RowCount>0 Then
|
||||||
|
For i=0 To c.RowCount -1
|
||||||
|
c.Position=i
|
||||||
|
Dim label1 As Label
|
||||||
|
label1 = ListView1.TwoLinesLayout.Label
|
||||||
|
label1.TextSize = 15
|
||||||
|
label1.TextColor = Colors.Black
|
||||||
|
Dim label2 As Label
|
||||||
|
label2 = ListView1.TwoLinesLayout.SecondLabel
|
||||||
|
label2.TextSize = 10
|
||||||
|
label2.TextColor = Colors.Black
|
||||||
|
ListView1.AddTwoLines(c.GetString("NV_CLIENTE"),c.GetString("NOMBRE") &" Motivo #"& c.GetString("NV_MOTIVO")& " Comentario $"& c.GetString("NV_COMM"))
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
nombre_boton = "NOVENTA"
|
||||||
|
b_noventa.Text ="NO VENTA"
|
||||||
|
c=Starter.skmt.ExecQuery("select PC_CLIENTE,PC_MONTO,PC_NOART,(select CAT_CL_NOMBRE from kmt_info where cat_cl_codigo = pc_cliente ) as NOMBRE FROM PEDIDO_CLIENTE ORDER BY PC_FECHA asc")
|
||||||
|
ListView1.Clear
|
||||||
|
If c.RowCount>0 Then
|
||||||
|
For i=0 To c.RowCount -1
|
||||||
|
c.Position=i
|
||||||
|
Dim label1 As Label
|
||||||
|
label1 = ListView1.TwoLinesLayout.Label
|
||||||
|
label1.TextSize = 15
|
||||||
|
label1.TextColor = Colors.Black
|
||||||
|
Dim label2 As Label
|
||||||
|
label2 = ListView1.TwoLinesLayout.SecondLabel
|
||||||
|
label2.TextSize = 10
|
||||||
|
label2.TextColor = Colors.Black
|
||||||
|
ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),c.GetString("NOMBRE") &" Cantidad #"& c.GetString("PC_NOART")& " SubTotal $"& c.GetString("PC_MONTO"))
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
c.Close
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
24
B4A/C_updateAvailable.bas
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
B4A=true
|
||||||
|
Group=Default Group
|
||||||
|
ModulesStructureVersion=1
|
||||||
|
Type=Class
|
||||||
|
Version=11.5
|
||||||
|
@EndOfDesignText@
|
||||||
|
Sub Class_Globals
|
||||||
|
Private Root As B4XView 'ignore
|
||||||
|
Private xui As XUI 'ignore
|
||||||
|
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
|
||||||
|
'load the layout to Root
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
|
||||||
294
B4A/CameraExClass.bas
Normal file
@@ -0,0 +1,294 @@
|
|||||||
|
B4A=true
|
||||||
|
Group=Default Group
|
||||||
|
ModulesStructureVersion=1
|
||||||
|
Type=Class
|
||||||
|
Version=6.8
|
||||||
|
@EndOfDesignText@
|
||||||
|
|
||||||
|
'Class module
|
||||||
|
'version 1.20
|
||||||
|
'See this page for the list of constants:
|
||||||
|
'http://developer.android.com/intl/fr/reference/android/hardware/Camera.Parameters.html
|
||||||
|
'Note that you should use the constant values instead of the names.
|
||||||
|
Sub Class_Globals
|
||||||
|
Private nativeCam As Object
|
||||||
|
Private cam As Camera
|
||||||
|
Private r As Reflector
|
||||||
|
Private target As Object
|
||||||
|
Private event As String
|
||||||
|
Public Front As Boolean
|
||||||
|
Type CameraInfoAndId (CameraInfo As Object, Id As Int)
|
||||||
|
Type CameraSize (Width As Int, Height As Int)
|
||||||
|
Private parameters As Object
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Sub Initialize (Panel1 As Panel, FrontCamera As Boolean, TargetModule As Object, EventName As String)
|
||||||
|
target = TargetModule
|
||||||
|
event = EventName
|
||||||
|
Front = FrontCamera
|
||||||
|
Dim id As Int
|
||||||
|
id = FindCamera(Front).id
|
||||||
|
If id = -1 Then
|
||||||
|
Front = Not(Front) 'try different camera
|
||||||
|
id = FindCamera(Front).id
|
||||||
|
If id = -1 Then
|
||||||
|
ToastMessageShow("No camera found.", True)
|
||||||
|
Return
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
cam.Initialize2(Panel1, "camera", id)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub FindCamera (frontCamera As Boolean) As CameraInfoAndId
|
||||||
|
Dim ci As CameraInfoAndId
|
||||||
|
Dim cameraInfo As Object
|
||||||
|
Dim cameraValue As Int
|
||||||
|
If frontCamera Then cameraValue = 1 Else cameraValue = 0
|
||||||
|
cameraInfo = r.CreateObject("android.hardware.Camera$CameraInfo")
|
||||||
|
Dim numberOfCameras As Int = r.RunStaticMethod("android.hardware.Camera", "getNumberOfCameras", Null, Null)
|
||||||
|
For i = 0 To numberOfCameras - 1
|
||||||
|
r.RunStaticMethod("android.hardware.Camera", "getCameraInfo", Array As Object(i, cameraInfo), _
|
||||||
|
Array As String("java.lang.int", "android.hardware.Camera$CameraInfo"))
|
||||||
|
r.target = cameraInfo
|
||||||
|
If r.GetField("facing") = cameraValue Then 'ignore
|
||||||
|
ci.cameraInfo = r.target
|
||||||
|
ci.Id = i
|
||||||
|
Return ci
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
ci.id = -1
|
||||||
|
Return ci
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub SetDisplayOrientation
|
||||||
|
r.target = r.GetActivity
|
||||||
|
r.target = r.RunMethod("getWindowManager")
|
||||||
|
r.target = r.RunMethod("getDefaultDisplay")
|
||||||
|
r.target = r.RunMethod("getRotation")
|
||||||
|
Dim previewResult, result, degrees As Int = r.target * 90
|
||||||
|
Dim ci As CameraInfoAndId = FindCamera(Front)
|
||||||
|
r.target = ci.CameraInfo
|
||||||
|
Dim orientation As Int = r.GetField("orientation")
|
||||||
|
If Front Then
|
||||||
|
previewResult = (orientation + degrees) Mod 360
|
||||||
|
result = previewResult
|
||||||
|
previewResult = (360 - previewResult) Mod 360
|
||||||
|
Else
|
||||||
|
previewResult = (orientation - degrees + 360) Mod 360
|
||||||
|
result = previewResult
|
||||||
|
' Log(previewResult)
|
||||||
|
End If
|
||||||
|
r.target = nativeCam
|
||||||
|
r.RunMethod2("setDisplayOrientation", previewResult, "java.lang.int")
|
||||||
|
r.target = parameters
|
||||||
|
r.RunMethod2("setRotation", result, "java.lang.int")
|
||||||
|
CommitParameters
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub Camera_Ready (Success As Boolean)
|
||||||
|
If Success Then
|
||||||
|
r.target = cam
|
||||||
|
nativeCam = r.GetField("camera")
|
||||||
|
r.target = nativeCam
|
||||||
|
parameters = r.RunMethod("getParameters")
|
||||||
|
SetDisplayOrientation
|
||||||
|
Else
|
||||||
|
Log("success = false, " & LastException)
|
||||||
|
End If
|
||||||
|
CallSub2(target, event & "_ready", Success)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub Camera_Preview (Data() As Byte)
|
||||||
|
If SubExists(target, event & "_preview") Then
|
||||||
|
CallSub2(target, event & "_preview", Data)
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Sub TakePicture
|
||||||
|
cam.TakePicture
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub Camera_PictureTaken (Data() As Byte)
|
||||||
|
CallSub2(target, event & "_PictureTaken", Data)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Sub StartPreview
|
||||||
|
cam.StartPreview
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Sub StopPreview
|
||||||
|
cam.StopPreview
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Sub Release
|
||||||
|
cam.Release
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'Saves the data received from PictureTaken event
|
||||||
|
Public Sub SavePictureToFile(Data() As Byte, Dir As String, FileName As String)
|
||||||
|
Dim out As OutputStream = File.OpenOutput(Dir, FileName, False)
|
||||||
|
out.WriteBytes(Data, 0, Data.Length)
|
||||||
|
out.Close
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Sub SetParameter(Key As String, Value As String)
|
||||||
|
r.target = parameters
|
||||||
|
r.RunMethod3("set", Key, "java.lang.String", Value, "java.lang.String")
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Sub GetParameter(Key As String) As String
|
||||||
|
r.target = parameters
|
||||||
|
Return r.RunMethod2("get", Key, "java.lang.String")
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Sub CommitParameters
|
||||||
|
Try
|
||||||
|
r.target = nativeCam
|
||||||
|
r.RunMethod4("setParameters", Array As Object(parameters), Array As String("android.hardware.Camera$Parameters"))
|
||||||
|
Catch
|
||||||
|
ToastMessageShow("Error setting parameters.", True)
|
||||||
|
Log(LastException)
|
||||||
|
End Try
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Sub GetColorEffect As String
|
||||||
|
Return GetParameter("effect")
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Sub SetColorEffect(Effect As String)
|
||||||
|
SetParameter("effect", Effect)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Sub GetSupportedPicturesSizes As CameraSize()
|
||||||
|
r.target = parameters
|
||||||
|
Dim list1 As List = r.RunMethod("getSupportedPictureSizes")
|
||||||
|
Dim cs(list1.Size) As CameraSize
|
||||||
|
For i = 0 To list1.Size - 1
|
||||||
|
r.target = list1.Get(i)
|
||||||
|
cs(i).Width = r.GetField("width")
|
||||||
|
cs(i).Height = r.GetField("height")
|
||||||
|
Next
|
||||||
|
Return cs
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Sub SetPictureSize(Width As Int, Height As Int)
|
||||||
|
r.target = parameters
|
||||||
|
r.RunMethod3("setPictureSize", Width, "java.lang.int", Height, "java.lang.int")
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Sub SetJpegQuality(Quality As Int)
|
||||||
|
r.target = parameters
|
||||||
|
r.RunMethod2("setJpegQuality", Quality, "java.lang.int")
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Sub SetFlashMode(Mode As String)
|
||||||
|
r.target = parameters
|
||||||
|
r.RunMethod2("setFlashMode", Mode, "java.lang.String")
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Sub GetFlashMode As String
|
||||||
|
r.target = parameters
|
||||||
|
Return r.RunMethod("getFlashMode")
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Sub GetSupportedFlashModes As List
|
||||||
|
r.target = parameters
|
||||||
|
Return r.RunMethod("getSupportedFlashModes")
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Sub GetSupportedColorEffects As List
|
||||||
|
r.target = parameters
|
||||||
|
Return r.RunMethod("getSupportedColorEffects")
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Sub GetPreviewSize As CameraSize
|
||||||
|
r.target = parameters
|
||||||
|
r.target = r.RunMethod("getPreviewSize")
|
||||||
|
Dim cs As CameraSize
|
||||||
|
cs.Width = r.GetField("width")
|
||||||
|
cs.Height = r.GetField("height")
|
||||||
|
Return cs
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Sub GetPictureSize As CameraSize
|
||||||
|
r.target = parameters
|
||||||
|
r.target = r.RunMethod("getPictureSize")
|
||||||
|
Dim cs As CameraSize
|
||||||
|
cs.Width = r.GetField("width")
|
||||||
|
cs.Height = r.GetField("height")
|
||||||
|
Return cs
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'Converts a preview image formatted in YUV format to JPEG.
|
||||||
|
'Note that you should not save every preview image as it will slow down the whole process.
|
||||||
|
Public Sub PreviewImageToJpeg(data() As Byte, quality As Int) As Byte()
|
||||||
|
Dim size, previewFormat As Object
|
||||||
|
r.target = parameters
|
||||||
|
size = r.RunMethod("getPreviewSize")
|
||||||
|
previewFormat = r.RunMethod("getPreviewFormat")
|
||||||
|
r.target = size
|
||||||
|
Dim width = r.GetField("width"), height = r.GetField("height") As Int
|
||||||
|
Dim yuvImage As Object = r.CreateObject2("android.graphics.YuvImage", _
|
||||||
|
Array As Object(data, previewFormat, width, height, Null), _
|
||||||
|
Array As String("[B", "java.lang.int", "java.lang.int", "java.lang.int", "[I"))
|
||||||
|
r.target = yuvImage
|
||||||
|
Dim rect1 As Rect
|
||||||
|
rect1.Initialize(0, 0, r.RunMethod("getWidth"), r.RunMethod("getHeight"))
|
||||||
|
Dim out As OutputStream
|
||||||
|
out.InitializeToBytesArray(100)
|
||||||
|
r.RunMethod4("compressToJpeg", Array As Object(rect1, quality, out), _
|
||||||
|
Array As String("android.graphics.Rect", "java.lang.int", "java.io.OutputStream"))
|
||||||
|
Return out.ToBytesArray
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Sub GetSupportedFocusModes As List
|
||||||
|
r.target = parameters
|
||||||
|
Return r.RunMethod("getSupportedFocusModes")
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Sub SetContinuousAutoFocus
|
||||||
|
Dim modes As List = GetSupportedFocusModes
|
||||||
|
If modes.IndexOf("continuous-picture") > -1 Then
|
||||||
|
SetFocusMode("continuous-picture")
|
||||||
|
Else If modes.IndexOf("continuous-video") > -1 Then
|
||||||
|
SetFocusMode("continuous-video")
|
||||||
|
Else
|
||||||
|
Log("Continuous focus mode is not available")
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Sub SetFocusMode(Mode As String)
|
||||||
|
r.target = parameters
|
||||||
|
r.RunMethod2("setFocusMode", Mode, "java.lang.String")
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Sub GetFocusDistances As Float()
|
||||||
|
Dim F(3) As Float
|
||||||
|
r.target = parameters
|
||||||
|
r.RunMethod4("getFocusDistances", Array As Object(F), Array As String("[F"))
|
||||||
|
Return F
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'This method should only be called if you need to immediately release the camera.
|
||||||
|
'For example if you need to start another application that depends on the camera.
|
||||||
|
Public Sub CloseNow
|
||||||
|
cam.Release
|
||||||
|
r.target = cam
|
||||||
|
r.RunMethod2("releaseCameras", True, "java.lang.boolean")
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'Calls AutoFocus and then takes the picture if focus was successfull.
|
||||||
|
Public Sub FocusAndTakePicture
|
||||||
|
cam.AutoFocus
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub Camera_FocusDone (Success As Boolean)
|
||||||
|
If Success Then
|
||||||
|
TakePicture
|
||||||
|
Else
|
||||||
|
Log("AutoFocus error.")
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
270
B4A/DBRequestManager.bas
Normal file
@@ -0,0 +1,270 @@
|
|||||||
|
B4A=true
|
||||||
|
Group=Default Group
|
||||||
|
ModulesStructureVersion=1
|
||||||
|
Type=Class
|
||||||
|
Version=6.8
|
||||||
|
@EndOfDesignText@
|
||||||
|
''Class module
|
||||||
|
Sub Class_Globals
|
||||||
|
Private mTarget As Object
|
||||||
|
Type DBResult (Tag As Object, Columns As Map, Rows As List)
|
||||||
|
Type DBCommand (Name As String, Parameters() As Object)
|
||||||
|
Private link As String
|
||||||
|
Private bc As ByteConverter
|
||||||
|
Private T_NULL = 0, T_STRING = 1, T_SHORT = 2, T_INT = 3, T_LONG = 4, T_FLOAT = 5 _
|
||||||
|
,T_DOUBLE = 6, T_BOOLEAN = 7, T_BLOB = 8 As Byte
|
||||||
|
Private VERSION As Float = 0.9
|
||||||
|
Private tempArray(1) As Object
|
||||||
|
Dim jobTagAnterior As String = "" 'Mod por CHV - 211109
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'Target - The module that handles JobDone (usually Me).
|
||||||
|
'ConnectorLink - URL of the Java server.
|
||||||
|
Public Sub Initialize (Target As Object, ConnectorLink As String)
|
||||||
|
mTarget = Target
|
||||||
|
link = ConnectorLink
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'Sends a query request.
|
||||||
|
'Command - Query name and parameters.
|
||||||
|
'Limit - Maximum rows to return or 0 for no limit.
|
||||||
|
'Tag - An object that will be returned in the result.
|
||||||
|
Public Sub ExecuteQuery(Command As DBCommand, Limit As Int, Tag As Object)
|
||||||
|
Dim j As HttpJob
|
||||||
|
Dim ms As OutputStream
|
||||||
|
Dim out2 As OutputStream = StartJob(j,ms, Tag)
|
||||||
|
|
||||||
|
WriteObject(Command.Name, out2)
|
||||||
|
WriteInt(Limit, out2)
|
||||||
|
WriteList(Command.Parameters, out2)
|
||||||
|
out2.Close
|
||||||
|
j.PostBytes(link & "?method=query", ms.ToBytesArray)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'Executes a batch of (non-select) commands.
|
||||||
|
'ListOfCommands - List of the commands that will be executes.
|
||||||
|
'Tag - An object that will be returned in the result.
|
||||||
|
Public Sub ExecuteBatch(ListOfCommands As List, Tag As Object)
|
||||||
|
Dim j As HttpJob
|
||||||
|
Dim ms As OutputStream
|
||||||
|
Dim out2 As OutputStream = StartJob(j,ms, Tag)
|
||||||
|
WriteInt(ListOfCommands.Size, out2)
|
||||||
|
For Each Command As DBCommand In ListOfCommands
|
||||||
|
WriteObject(Command.Name, out2)
|
||||||
|
WriteList(Command.Parameters, out2)
|
||||||
|
Next
|
||||||
|
out2.Close
|
||||||
|
j.PostBytes(link & "?method=batch", ms.ToBytesArray)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'Similar to ExecuteBatch. Sends a single command.
|
||||||
|
Public Sub ExecuteCommand(Command As DBCommand, Tag As Object)
|
||||||
|
ExecuteBatch(Array As DBCommand(Command), Tag)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub StartJob(j As HttpJob, MemoryStream As OutputStream, Tag As Object) As OutputStream
|
||||||
|
j.Initialize("DBRequest", mTarget)
|
||||||
|
j.Tag = Tag
|
||||||
|
MemoryStream.InitializeToBytesArray(0)
|
||||||
|
Dim compress As CompressedStreams
|
||||||
|
Dim out As OutputStream = compress.WrapOutputStream(MemoryStream, "gzip")
|
||||||
|
WriteObject(VERSION, out)
|
||||||
|
Return out
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub WriteList(Parameters As List, out As OutputStream)
|
||||||
|
Dim data() As Byte
|
||||||
|
If Parameters = Null Or Parameters.IsInitialized = False Then
|
||||||
|
Dim Parameters As List
|
||||||
|
Parameters.Initialize
|
||||||
|
End If
|
||||||
|
data = bc.IntsToBytes(Array As Int(Parameters.Size))
|
||||||
|
out.WriteBytes(data, 0, data.Length)
|
||||||
|
For Each o As Object In Parameters
|
||||||
|
WriteObject(o, out)
|
||||||
|
Next
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub WriteObject(o As Object, out As OutputStream)
|
||||||
|
Dim data() As Byte
|
||||||
|
tempArray(0) = o
|
||||||
|
If tempArray(0) = Null Then
|
||||||
|
out.WriteBytes(Array As Byte(T_NULL), 0, 1)
|
||||||
|
Else If tempArray(0) Is Short Then
|
||||||
|
out.WriteBytes(Array As Byte(T_SHORT), 0, 1)
|
||||||
|
data = bc.ShortsToBytes(Array As Short(o))
|
||||||
|
Else If tempArray(0) Is Int Then
|
||||||
|
out.WriteBytes(Array As Byte(T_INT), 0, 1)
|
||||||
|
data = bc.IntsToBytes(Array As Int(o))
|
||||||
|
Else If tempArray(0) Is Float Then
|
||||||
|
out.WriteBytes(Array As Byte(T_FLOAT), 0, 1)
|
||||||
|
data = bc.FloatsToBytes(Array As Float(o))
|
||||||
|
Else If tempArray(0) Is Double Then
|
||||||
|
out.WriteBytes(Array As Byte(T_DOUBLE), 0, 1)
|
||||||
|
data = bc.DoublesToBytes(Array As Double(o))
|
||||||
|
Else If tempArray(0) Is Long Then
|
||||||
|
out.WriteBytes(Array As Byte(T_LONG), 0, 1)
|
||||||
|
data = bc.LongsToBytes(Array As Long(o))
|
||||||
|
Else If tempArray(0) Is Boolean Then
|
||||||
|
out.WriteBytes(Array As Byte(T_BOOLEAN), 0, 1)
|
||||||
|
Dim b As Boolean = 0
|
||||||
|
Dim data(1) As Byte
|
||||||
|
If b Then data(0) = 1 Else data(0) = 0
|
||||||
|
Else If GetType(tempArray(0)) = "[B" Then
|
||||||
|
data = o
|
||||||
|
out.WriteBytes(Array As Byte(T_BLOB), 0, 1)
|
||||||
|
WriteInt(data.Length, out)
|
||||||
|
Else 'If o Is String Then (treat all other values as string)
|
||||||
|
out.WriteBytes(Array As Byte(T_STRING), 0, 1)
|
||||||
|
data = bc.StringToBytes(o, "UTF8")
|
||||||
|
WriteInt(data.Length, out)
|
||||||
|
End If
|
||||||
|
If data.Length > 0 Then out.WriteBytes(data, 0, data.Length)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub ReadObject(In As InputStream) As Object
|
||||||
|
Dim data(1) As Byte
|
||||||
|
In.ReadBytes(data, 0, 1)
|
||||||
|
Select data(0)
|
||||||
|
Case T_NULL
|
||||||
|
Return Null
|
||||||
|
Case T_SHORT
|
||||||
|
Dim data(2) As Byte
|
||||||
|
Return bc.ShortsFromBytes(ReadBytesFully(In, data, data.Length))(0)
|
||||||
|
Case T_INT
|
||||||
|
Dim data(4) As Byte
|
||||||
|
Return bc.IntsFromBytes(ReadBytesFully(In, data, data.Length))(0)
|
||||||
|
Case T_LONG
|
||||||
|
Dim data(8) As Byte
|
||||||
|
Return bc.LongsFromBytes(ReadBytesFully(In, data, data.Length))(0)
|
||||||
|
Case T_FLOAT
|
||||||
|
Dim data(4) As Byte
|
||||||
|
Return bc.FloatsFromBytes(ReadBytesFully(In, data, data.Length))(0)
|
||||||
|
Case T_DOUBLE
|
||||||
|
Dim data(8) As Byte
|
||||||
|
Return bc.DoublesFromBytes(ReadBytesFully(In, data, data.Length))(0)
|
||||||
|
Case T_BOOLEAN
|
||||||
|
Dim b As Byte = ReadByte(In)
|
||||||
|
Return b = 1
|
||||||
|
Case T_BLOB
|
||||||
|
Dim len As Int = ReadInt(In)
|
||||||
|
Dim data(len) As Byte
|
||||||
|
Return ReadBytesFully(In, data, data.Length)
|
||||||
|
Case Else
|
||||||
|
Dim len As Int = ReadInt(In)
|
||||||
|
Dim data(len) As Byte
|
||||||
|
ReadBytesFully(In, data, data.Length)
|
||||||
|
Return BytesToString(data, 0, data.Length, "UTF8")
|
||||||
|
End Select
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub ReadBytesFully(In As InputStream, Data() As Byte, Len As Int) As Byte()
|
||||||
|
Dim count = 0, read As Int
|
||||||
|
Do While count < Len And read > -1
|
||||||
|
read = In.ReadBytes(Data, count, Len - count)
|
||||||
|
count = count + read
|
||||||
|
Loop
|
||||||
|
Return Data
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub WriteInt(i As Int, out As OutputStream)
|
||||||
|
Dim data() As Byte
|
||||||
|
data = bc.IntsToBytes(Array As Int(i))
|
||||||
|
out.WriteBytes(data, 0, data.Length)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub ReadInt(In As InputStream) As Int
|
||||||
|
Dim data(4) As Byte
|
||||||
|
Return bc.IntsFromBytes(ReadBytesFully(In, data, data.Length))(0)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub ReadByte(In As InputStream) As Byte
|
||||||
|
Dim data(1) As Byte
|
||||||
|
In.ReadBytes(data, 0, 1)
|
||||||
|
Return data(0)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'Handles the Job result and returns a DBResult.
|
||||||
|
Public Sub HandleJob(Job As HttpJob) As DBResult
|
||||||
|
Dim start As Long = DateTime.Now 'ignore
|
||||||
|
Dim In As InputStream = Job.GetInputStream
|
||||||
|
Dim cs As CompressedStreams
|
||||||
|
In = cs.WrapInputStream(In, "gzip")
|
||||||
|
Dim serverVersion As Float = ReadObject(In) 'ignore
|
||||||
|
Dim method As String = ReadObject(In)
|
||||||
|
Dim table As DBResult
|
||||||
|
table.Initialize
|
||||||
|
table.Columns.Initialize
|
||||||
|
table.rows.Initialize
|
||||||
|
table.Tag = Job.Tag
|
||||||
|
If jobTagAnterior <> Job.Tag Then LogColor("HandleJob: '"&Job.Tag&"'", Colors.Blue) 'Mod por CHV - 211109
|
||||||
|
jobTagAnterior = Job.Tag 'Mod por CHV - 211109
|
||||||
|
If method = "query" Then
|
||||||
|
Dim numberOfColumns As Int = ReadInt(In)
|
||||||
|
For i = 0 To numberOfColumns - 1
|
||||||
|
table.Columns.Put(ReadObject(In), i)
|
||||||
|
Next
|
||||||
|
Do While ReadByte(In) = 1
|
||||||
|
Dim rowObjects(numberOfColumns) As Object
|
||||||
|
table.rows.Add(rowObjects)
|
||||||
|
For col = 0 To numberOfColumns - 1
|
||||||
|
Dim o As Object = ReadObject(In)
|
||||||
|
rowObjects(col) = o
|
||||||
|
Next
|
||||||
|
Loop
|
||||||
|
Else If method = "batch" Then
|
||||||
|
table.Columns.Put("AffectedRows", 0)
|
||||||
|
Dim rows As Int = ReadInt(In)
|
||||||
|
For i = 0 To rows - 1
|
||||||
|
table.rows.Add(Array As Object(ReadInt(In)))
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
In.Close
|
||||||
|
' Log("HandleJob: " & (DateTime.Now - start))'Comentado por CHV - 211112
|
||||||
|
Return table
|
||||||
|
End Sub
|
||||||
|
'Reads a file and returns the file as a bytes array.
|
||||||
|
Public Sub FileToBytes(Dir As String, FileName As String) As Byte()
|
||||||
|
Dim out As OutputStream
|
||||||
|
out.InitializeToBytesArray(0)
|
||||||
|
Dim In As InputStream = File.OpenInput(Dir, FileName)
|
||||||
|
File.Copy2(In, out)
|
||||||
|
out.Close
|
||||||
|
Return out.ToBytesArray
|
||||||
|
End Sub
|
||||||
|
'Converts an image to a bytes array (for BLOB fields).
|
||||||
|
Public Sub ImageToBytes(Image As Bitmap) As Byte()
|
||||||
|
Dim out As OutputStream
|
||||||
|
out.InitializeToBytesArray(0)
|
||||||
|
Image.WriteToStream(out, 100, "JPEG")
|
||||||
|
out.Close
|
||||||
|
Return out.ToBytesArray
|
||||||
|
End Sub
|
||||||
|
'Converts a bytes array to an image (for BLOB fields).
|
||||||
|
Public Sub BytesToImage(bytes() As Byte) As Bitmap
|
||||||
|
Dim In As InputStream
|
||||||
|
In.InitializeFromBytesArray(bytes, 0, bytes.Length)
|
||||||
|
Dim bmp As Bitmap
|
||||||
|
bmp.Initialize2(In)
|
||||||
|
Return bmp
|
||||||
|
End Sub
|
||||||
|
'Prints the table to the logs.
|
||||||
|
Public Sub PrintTable(Table As DBResult)
|
||||||
|
Log("Tag: " & Table.Tag & ", Columns: " & Table.Columns.Size & ", Rows: " & Table.Rows.Size)
|
||||||
|
Dim sb As StringBuilder
|
||||||
|
sb.Initialize
|
||||||
|
For Each col In Table.Columns.Keys
|
||||||
|
sb.Append(col).Append(TAB)
|
||||||
|
Next
|
||||||
|
Log(sb.ToString)
|
||||||
|
For Each row() As Object In Table.Rows
|
||||||
|
Dim sb As StringBuilder
|
||||||
|
sb.Initialize
|
||||||
|
For Each record As Object In row
|
||||||
|
sb.Append(record).Append(TAB)
|
||||||
|
Next
|
||||||
|
ToastMessageShow(sb.ToString, True)
|
||||||
|
Next
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
114
B4A/DownloadService.bas
Normal file
@@ -0,0 +1,114 @@
|
|||||||
|
B4A=true
|
||||||
|
Group=Default Group
|
||||||
|
ModulesStructureVersion=1
|
||||||
|
Type=Service
|
||||||
|
Version=5.5
|
||||||
|
@EndOfDesignText@
|
||||||
|
#Region Service Attributes
|
||||||
|
#StartAtBoot: False
|
||||||
|
#End Region
|
||||||
|
|
||||||
|
Sub Process_Globals
|
||||||
|
Private jobs As Map
|
||||||
|
Private timer1 As Timer
|
||||||
|
Type DownloadData (url As String, Target As Object, EventName As String)
|
||||||
|
Type JobTag (Data As DownloadData, _
|
||||||
|
CountingStream As CountingOutputStream, Total As Long)
|
||||||
|
Private pw As PhoneWakeState
|
||||||
|
End Sub
|
||||||
|
Sub Service_Create
|
||||||
|
jobs.Initialize
|
||||||
|
timer1.Initialize("timer1", 1000)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub Service_Start (StartingIntent As Intent)
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub Service_Destroy
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub StartTimer (Target As Object)
|
||||||
|
Dim n As Notification
|
||||||
|
n.Initialize2(n.IMPORTANCE_LOW)
|
||||||
|
n.Icon = "icon"
|
||||||
|
n.Vibrate = False
|
||||||
|
n.Sound = False
|
||||||
|
n.Light = False
|
||||||
|
n.SetInfo("Downloading file...", "", Target)
|
||||||
|
Service.StartForeground(1, n)
|
||||||
|
timer1.Enabled = True
|
||||||
|
pw.PartialLock
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub EndTimer 'ignore
|
||||||
|
Service.StopForeground(1)
|
||||||
|
timer1.Enabled = False
|
||||||
|
pw.ReleasePartialLock
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Sub StartDownload(data As DownloadData)
|
||||||
|
If jobs.ContainsKey(data.url) Then
|
||||||
|
Log("Ignoring duplicate request.")
|
||||||
|
Return
|
||||||
|
End If
|
||||||
|
Dim J As HttpJob
|
||||||
|
J.Initialize(data.url, Me)
|
||||||
|
Log(J)
|
||||||
|
Dim tag As JobTag
|
||||||
|
tag.Initialize
|
||||||
|
tag.data = data
|
||||||
|
Log(tag)
|
||||||
|
J.tag = tag
|
||||||
|
jobs.Put(data.url, J)
|
||||||
|
Log(jobs)
|
||||||
|
J.Download(data.url)
|
||||||
|
If timer1.Enabled = False Then StartTimer(data.Target)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Sub CancelDownload(url As String)
|
||||||
|
If jobs.ContainsKey(url) = False Then
|
||||||
|
Log("Ignoring cancel request.")
|
||||||
|
Return
|
||||||
|
End If
|
||||||
|
Dim job As HttpJob = jobs.Get(url)
|
||||||
|
Dim jt As JobTag = job.Tag
|
||||||
|
If jt.CountingStream.IsInitialized Then
|
||||||
|
jt.CountingStream.Close
|
||||||
|
Else
|
||||||
|
jt.Data.url = ""
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub timer1_tick
|
||||||
|
For Each job As HttpJob In jobs.Values
|
||||||
|
Dim jt As JobTag = job.Tag
|
||||||
|
If jt.CountingStream.IsInitialized Then
|
||||||
|
CallSub3(jt.Data.Target, jt.Data.EventName & "_Progress", _
|
||||||
|
jt.CountingStream.Count, jt.Total)
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub JobDone(job As HttpJob)
|
||||||
|
' Log("1")
|
||||||
|
' jobs.Remove(job.JobName)
|
||||||
|
' Dim jt As JobTag = job.Tag
|
||||||
|
' Log(jt)
|
||||||
|
' If jobs.Size = 0 Then EndTimer
|
||||||
|
' Log(jobs.Size)
|
||||||
|
' If job.Success Then
|
||||||
|
' Log("5-"&jt.Data.Target&"-"&jt.Data.EventName&"-"&jt.CountingStream.Count&"-"&jt.Total)
|
||||||
|
' CallSubDelayed3(jt.Data.Target, jt.Data.EventName & "_Progress", jt.CountingStream.Count, jt.Total)
|
||||||
|
' Log("6")
|
||||||
|
' CallSubDelayed2(jt.Data.Target, jt.Data.EventName & "_Complete", job)
|
||||||
|
' Log("7")
|
||||||
|
' Else
|
||||||
|
' Log(job.ErrorMessage)
|
||||||
|
' Log("8")
|
||||||
|
' CallSubDelayed2(jt.Data.Target, jt.Data.EventName & "_Complete", job)
|
||||||
|
' Log("9")
|
||||||
|
' End If
|
||||||
|
' Log("10")
|
||||||
|
End Sub
|
||||||
1148
B4A/EscPosPrinter.bas
Normal file
BIN
B4A/Files/WHATSTEL.jpeg
Normal file
|
After Width: | Height: | Size: 59 KiB |
BIN
B4A/Files/WhatsApp Image 2022-11-17 at 11.50.59 AM.jpeg
Normal file
|
After Width: | Height: | Size: 40 KiB |
BIN
B4A/Files/alcancia.png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
B4A/Files/alert2.png
Normal file
|
After Width: | Height: | Size: 632 B |
BIN
B4A/Files/alerta.jpg
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
B4A/Files/alerta_amarilla.png
Normal file
|
After Width: | Height: | Size: 61 KiB |
BIN
B4A/Files/amarillo.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
B4A/Files/anterior.jpg
Normal file
|
After Width: | Height: | Size: 19 KiB |
BIN
B4A/Files/blacnco.jpg
Normal file
|
After Width: | Height: | Size: 4.9 KiB |
BIN
B4A/Files/carrito.png
Normal file
|
After Width: | Height: | Size: 22 KiB |
BIN
B4A/Files/checklist.bal
Normal file
BIN
B4A/Files/checks.bal
Normal file
BIN
B4A/Files/cliente.bal
Normal file
BIN
B4A/Files/cliente.bal.bak
Normal file
BIN
B4A/Files/clientes.bal
Normal file
BIN
B4A/Files/detalle_promo.bal
Normal file
BIN
B4A/Files/durakelo.png
Normal file
|
After Width: | Height: | Size: 6.9 KiB |
BIN
B4A/Files/durakelo1.png
Normal file
|
After Width: | Height: | Size: 5.8 KiB |
BIN
B4A/Files/engrane.jpg
Normal file
|
After Width: | Height: | Size: 4.0 KiB |
BIN
B4A/Files/engrane.png
Normal file
|
After Width: | Height: | Size: 95 KiB |
BIN
B4A/Files/errormanager.bal
Normal file
BIN
B4A/Files/fondo_kmt.jpg
Normal file
|
After Width: | Height: | Size: 33 KiB |
BIN
B4A/Files/foto.bal
Normal file
BIN
B4A/Files/foto1.jpg
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
B4A/Files/foto2.jpg
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
B4A/Files/foto3.jpg
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
B4A/Files/foto4.jpg
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
B4A/Files/guardagestion.bal
Normal file
BIN
B4A/Files/guna_viejo.png
Normal file
|
After Width: | Height: | Size: 3.5 KiB |
BIN
B4A/Files/historico.bal
Normal file
BIN
B4A/Files/info_gral.resp
Normal file
BIN
B4A/Files/infonavit1.jpg
Normal file
|
After Width: | Height: | Size: 30 KiB |
BIN
B4A/Files/inventario (1).jpg
Normal file
|
After Width: | Height: | Size: 23 KiB |
BIN
B4A/Files/inventario.jpg
Normal file
|
After Width: | Height: | Size: 26 KiB |
BIN
B4A/Files/inventario.png
Normal file
|
After Width: | Height: | Size: 8.6 KiB |
BIN
B4A/Files/itembuttonblue.png
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
B4A/Files/itembuttonred.png
Normal file
|
After Width: | Height: | Size: 5.7 KiB |
BIN
B4A/Files/kelloggs.png
Normal file
|
After Width: | Height: | Size: 75 KiB |
BIN
B4A/Files/kelloggs2.jpg
Normal file
|
After Width: | Height: | Size: 108 KiB |
BIN
B4A/Files/kelloggs2.png
Normal file
|
After Width: | Height: | Size: 90 KiB |
BIN
B4A/Files/kelloggs_chico.png
Normal file
|
After Width: | Height: | Size: 52 KiB |
BIN
B4A/Files/kelloggs_original.png
Normal file
|
After Width: | Height: | Size: 299 KiB |
BIN
B4A/Files/keymon_logo.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
B4A/Files/kmt.db
Normal file
BIN
B4A/Files/login.bal
Normal file
BIN
B4A/Files/logo sanfer.jpg
Normal file
|
After Width: | Height: | Size: 7.8 KiB |
BIN
B4A/Files/logo2.png
Normal file
|
After Width: | Height: | Size: 77 KiB |
BIN
B4A/Files/logo2_192x192.png
Normal file
|
After Width: | Height: | Size: 27 KiB |
BIN
B4A/Files/logo_192x192.png
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
B4A/Files/logo_exitus1.jpg
Normal file
|
After Width: | Height: | Size: 30 KiB |
BIN
B4A/Files/mainpage.bal
Normal file
BIN
B4A/Files/malo.jpg
Normal file
|
After Width: | Height: | Size: 8.6 KiB |
BIN
B4A/Files/mapa.bal
Normal file
BIN
B4A/Files/mapa_rutas.bal
Normal file
BIN
B4A/Files/mapas.bal
Normal file
BIN
B4A/Files/marker-azul-0.png
Normal file
|
After Width: | Height: | Size: 6.1 KiB |
BIN
B4A/Files/marker-azul-1.png
Normal file
|
After Width: | Height: | Size: 4.9 KiB |
BIN
B4A/Files/marker-azul-10.png
Normal file
|
After Width: | Height: | Size: 6.2 KiB |
BIN
B4A/Files/marker-azul-100.png
Normal file
|
After Width: | Height: | Size: 6.4 KiB |
BIN
B4A/Files/marker-azul-11.png
Normal file
|
After Width: | Height: | Size: 4.9 KiB |
BIN
B4A/Files/marker-azul-12.png
Normal file
|
After Width: | Height: | Size: 6.1 KiB |
BIN
B4A/Files/marker-azul-13.png
Normal file
|
After Width: | Height: | Size: 6.5 KiB |
BIN
B4A/Files/marker-azul-14.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
B4A/Files/marker-azul-15.png
Normal file
|
After Width: | Height: | Size: 5.7 KiB |
BIN
B4A/Files/marker-azul-16.png
Normal file
|
After Width: | Height: | Size: 6.3 KiB |
BIN
B4A/Files/marker-azul-17.png
Normal file
|
After Width: | Height: | Size: 5.9 KiB |
BIN
B4A/Files/marker-azul-18.png
Normal file
|
After Width: | Height: | Size: 6.5 KiB |
BIN
B4A/Files/marker-azul-19.png
Normal file
|
After Width: | Height: | Size: 6.2 KiB |
BIN
B4A/Files/marker-azul-2.png
Normal file
|
After Width: | Height: | Size: 6.0 KiB |
BIN
B4A/Files/marker-azul-20.png
Normal file
|
After Width: | Height: | Size: 7.0 KiB |
BIN
B4A/Files/marker-azul-21.png
Normal file
|
After Width: | Height: | Size: 6.0 KiB |
BIN
B4A/Files/marker-azul-22.png
Normal file
|
After Width: | Height: | Size: 6.9 KiB |
BIN
B4A/Files/marker-azul-23.png
Normal file
|
After Width: | Height: | Size: 7.2 KiB |
BIN
B4A/Files/marker-azul-24.png
Normal file
|
After Width: | Height: | Size: 6.4 KiB |
BIN
B4A/Files/marker-azul-25.png
Normal file
|
After Width: | Height: | Size: 6.5 KiB |
BIN
B4A/Files/marker-azul-26.png
Normal file
|
After Width: | Height: | Size: 7.0 KiB |