..
@@ -5,7 +5,6 @@ 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
|
||||
'###########################################################################################################
|
||||
@@ -20,8 +19,6 @@ Version=9.85
|
||||
'###########################################################################################################
|
||||
#End Region
|
||||
|
||||
'Ctrl + click ide://run?file=%WINDIR%\System32\cmd.exe&Args=/c&Args=github&Args=..\..\
|
||||
|
||||
Sub Class_Globals
|
||||
Private Root As B4XView
|
||||
Private xui As XUI
|
||||
@@ -30,14 +27,14 @@ Sub Class_Globals
|
||||
Public principal As C_Principal 'Antes seleccion
|
||||
Public clientes As C_Clientes 'Antes Colonia
|
||||
Public cliente As C_Cliente 'Antes fila
|
||||
Public productos As C_Productos 'Antes colonia2
|
||||
Public updateAvailable As C_updateAvailable
|
||||
' Public mapas As C_Mapas
|
||||
' Public nuevoCliente As C_NuevoCliente
|
||||
Public ticketsDia As C_TicketsDia 'Antes buscar
|
||||
' Public productos As C_Productos 'Antes colonia2
|
||||
' Public updateAvailable As C_updateAvailable
|
||||
'' Public mapas As C_Mapas
|
||||
'' Public nuevoCliente As C_NuevoCliente
|
||||
' Public ticketsDia As C_TicketsDia 'Antes buscar
|
||||
Public noVenta As C_NoVenta 'Antes nopago
|
||||
Public nota As C_Nota 'Antes tarjeta
|
||||
Public promos As C_Promos
|
||||
' Public promos As C_Promos
|
||||
Public historico As C_Historico 'Antes historico
|
||||
|
||||
Dim reqManager As DBRequestManager
|
||||
@@ -90,6 +87,9 @@ Sub Class_Globals
|
||||
Private l_server As Label
|
||||
Public rutaBDBackup As String = ""
|
||||
Private b_envioBD As Button
|
||||
Dim kh As kms_helperSubs
|
||||
Private p_login As Panel
|
||||
Private l_version As Label
|
||||
End Sub
|
||||
|
||||
Public Sub Initialize
|
||||
@@ -105,7 +105,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
|
||||
Root = Root1
|
||||
' Root.LoadLayout("MainPage")
|
||||
Root.LoadLayout("login")
|
||||
B4XPages.SetTitle(Me, "Kelloggs Preventa")
|
||||
B4XPages.SetTitle(Me, "Durakelo")
|
||||
login.Initialize
|
||||
B4XPages.AddPage("Login", login)
|
||||
principal.Initialize
|
||||
@@ -114,350 +114,271 @@ Private Sub B4XPage_Created (Root1 As B4XView)
|
||||
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)
|
||||
' 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)
|
||||
' 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
|
||||
' checklist.Initialize
|
||||
' B4XPages.AddPage("CheckList", checklist)
|
||||
' ruta = Starter.ruta
|
||||
ruta = File.DirInternal
|
||||
Starter.tiempos.Initialize
|
||||
kh.Initialize(Me, "kh")
|
||||
' If(FirstTime) Then
|
||||
' g.Initialize("GPS")
|
||||
' End If
|
||||
' se crea o no el archivo de la base de ddatos de kmt
|
||||
'NOTAS SI SE MODIFICA LA ESTRUCTURA SE QUITA EL IF Y SE VA DIRECTO A LA SENTENCIA FILE.COPY PARA QUE
|
||||
'TOME LA NUEVA ESTRUCTURA ES MUY IMPORTANTE TENER EL IF DE LO CONTRARIO SOLO LO ESCRIBE UNA VEZ Y LO BORRA
|
||||
'SI SE REGRESA A ESTE ACTIVIDAD.
|
||||
' Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_WRITE_EXTERNAL_STORAGE)
|
||||
' Wait For Activity_PermissionResult (Permission As String, Result As Boolean)
|
||||
kh.guardaAppInfo(Starter.skmt)
|
||||
Dim sDate, sTime As String
|
||||
DateTime.DateFormat = "yyyyMMdd"
|
||||
sDate=DateTime.Date(DateTime.Now)
|
||||
Starter.db.ExecNonQuery("DROP TABLE IF EXISTS PEDIDO3")
|
||||
Starter.db.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.db.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.db.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_ENCUESTA (HE_CLIE TEXT, HE_RES TEXT, HE_FECHA TEXT, HE_TIPO TEXT)")
|
||||
Starter.db.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_DESCUENTOS_SKU (CAT_DS_CLIENTE TEXT, CAT_DS_PRODID TEXT, CAT_DS_PORCENTAJE TEXT)")
|
||||
Starter.db.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_ENVIOS (HE_FECHA TEXT, HE_CUANTOS TEXT, HE_TIPO TEXT)")
|
||||
Starter.db.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.db.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_FOTOS (HF_FOTO BLOB, HF_CUENTA TEXT, HF_IDENCUESTA TEXT)")
|
||||
Starter.db.ExecNonQuery("CREATE TABLE IF NOT EXISTS CLIENTE_IMPRESO (CI_CUENTA TEXT)")
|
||||
Starter.db.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.db.ExecNonQuery2("INSERT INTO HIST_ENVIOS VALUES (?,0,?)", Array As Object(sTime, "PEDIDO"))
|
||||
Starter.db.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_EXHIBIDORES2 (HIST_EX_ID_CLIENTE TEXT, HIST_EX_TIPO TEXT, HIST_EX_CANT TEXT)")
|
||||
Starter.db.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_PROMO_WHATS(HIST_CLIENTE TEXT, HIST_RESPUESTA_PROMO)")
|
||||
Starter.db.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.db.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.db.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
|
||||
Starter.skmt.ExecNonQuery("DROP TABLE IF EXISTS PEDIDO3")
|
||||
' skmt.ExecNonQuery("DROP VIEW TOTAL_MARCAS")
|
||||
|
||||
Try 'Intentamos usar "pragma_table_info" para revisar si existe la columna "IMPRESION" en la tabla
|
||||
c=Starter.db.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.db.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.db.ExecNonQuery("ALTER TABLE kmt_info ADD COLUMN IMPRESION INTEGER")
|
||||
Catch
|
||||
Log(LastException)
|
||||
End Try
|
||||
End Try
|
||||
Try 'Agregamos columna fecha a usuarioa
|
||||
c=Starter.db.ExecQuery("SELECT fecha FROM usuarioa")
|
||||
Catch
|
||||
LogColor("Agregamos columna fecha a usuarioa", Colors.red)
|
||||
Starter.db.ExecNonQuery("ALTER TABLE usuarioa ADD COLUMN FECHA TEXT")
|
||||
End Try
|
||||
' If sDate = "20190523" Then
|
||||
' Starter.db.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("SERVER"))
|
||||
' Starter.db.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("SERVER", Starter.server))
|
||||
' End If
|
||||
' Starter.db.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("ULTIMOMODULO"))
|
||||
' Starter.db.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("ULTIMOMODULO", "MAIN"))
|
||||
c=Starter.db.ExecQuery2("select count(*) as CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("SERVER"))
|
||||
Starter.skmt.ExecNonQuery("CREATE VIEW IF NOT EXISTS CATALOGO AS Select CAT_GP_CLASIF, CAT_GP_ID FROM CAT_GUNAPROD UNION Select CAT_GP_CLASIF, CAT_GP_ID FROM CAT_GUNAPROD2 GROUP BY CAT_GP_CLASIF, CAT_GP_ID")
|
||||
Starter.skmt.ExecNonQuery("create view IF NOT EXISTS total_marcas AS Select cat_gp_clasif, sum(pe_costo_tot) As total from CATALOGO, pedido where pe_proid = cat_gp_id And pe_cliente <> 0 group by cat_gp_clasif")
|
||||
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_EXHIBIDORES (CAT_EX_ID TEXT, CAT_EX_TIPO TEXT, CAT_EX_VALOR TEXT)")
|
||||
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 RUTA_GPS(FECHA INTEGER, LAT TEXT, LON TEXT)")
|
||||
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.skmt))
|
||||
End If
|
||||
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 HIST_ENCUESTA2 (HE_CLIE TEXT, HE_RES TEXT, HE_FECHA TEXT, HE_TIPO TEXT, HE_PRECIO 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 CAT_ENCUESTA_PREGUNTA5P (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)")
|
||||
|
||||
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.db.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("SERVER", Starter.server))
|
||||
' Else
|
||||
' c=Starter.db.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)
|
||||
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("SERVER",Starter.DBReqServer))
|
||||
Else
|
||||
c=Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("SERVER"))
|
||||
c.Position =0
|
||||
Starter.DBReqServer = c.GetString("CAT_VA_VALOR")
|
||||
End If
|
||||
' reqManager.Initialize(Me, Starter.server)
|
||||
' Activity.LoadLayout("login")
|
||||
Label1.Text = Application.VersionName
|
||||
|
||||
' Log("Pedimos permisos de almacenamiento externo")
|
||||
' 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.db.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)
|
||||
'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
|
||||
Log("Pedimos permisos de estado del cel")
|
||||
rp.CheckAndRequest(rp.PERMISSION_READ_PHONE_STATE)
|
||||
Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean)
|
||||
Dim P As PhoneId
|
||||
'user.Text = P.GetDeviceId
|
||||
Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_READ_PHONE_STATE)
|
||||
Wait For Activity_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)
|
||||
Dim P As PhoneId
|
||||
'user.Text = P.GetDeviceId
|
||||
IMEI = P.GetDeviceId
|
||||
IMEI = ""
|
||||
Else
|
||||
If logger Then Log("Sin permisos para leer los datos del celular")
|
||||
End If
|
||||
Log("Permisos cel terminados")
|
||||
|
||||
|
||||
Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_ACCESS_FINE_LOCATION)
|
||||
Wait For B4XPAge_PermissionResult (Permission As String, Result As Boolean)
|
||||
Wait For Activity_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)
|
||||
Log("Start Tracker")
|
||||
End If
|
||||
|
||||
' Log("Permisos BT: " & rp.Check("android.permission.BLUETOOTH_CONNECT"))
|
||||
' Log("REVISAMOS PERMISOS DE BT")
|
||||
' rp.CheckAndRequest("android.permission.BLUETOOTH_CONNECT")
|
||||
' Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean)
|
||||
' If Result Then Log("Tenemos permisos de bluetooth.")
|
||||
' Log("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")
|
||||
' Log("Check phone state: " & rp.Check(rp.PERMISSION_READ_PHONE_STATE))
|
||||
p_login.Height = Root.Height
|
||||
p_login.Width = Root.Width
|
||||
|
||||
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.montoActual = 0
|
||||
Starter.clientesTotal = 0
|
||||
Starter.clientesVenta = 0
|
||||
Starter.clientesVisitados = 0
|
||||
almacen = 0
|
||||
Starter.rutaPreventa = 0
|
||||
Starter.CANTIDADPROD = 0
|
||||
l_version.Text = Application.VersionName
|
||||
' copiaDB
|
||||
' server = "http://10.0.0.205:1782"
|
||||
|
||||
reqManager.Initialize(Me, Starter.DBReqServer)
|
||||
Log(Starter.DBReqServer)
|
||||
' If g.GPSEnabled=False Then
|
||||
' ToastMessageShow("Habilitar el GPS", True)
|
||||
' StartActivity(g.LocationSettingsIntent)
|
||||
' Else
|
||||
' g.Start(0,0)
|
||||
' End If
|
||||
' user.Text ="GPS"
|
||||
c = Starter.skmt.ExecQuery2("select count(*) as CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("FECHA"))
|
||||
c.Position =0
|
||||
If c.GetString("CUANTOS") = 0 Then
|
||||
cmd.Initialize
|
||||
cmd.Name = "select_fechat"
|
||||
reqManager.ExecuteQuery(cmd , 0, "fecha")
|
||||
|
||||
'Msgbox("AJUSTAR FECHA","AVISO")
|
||||
B4XPage_Appear
|
||||
Else
|
||||
c = Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("FECHA"))
|
||||
c.Position =0
|
||||
Dim sDate,sTime As String
|
||||
|
||||
DateTime.dateFormat = "yyyyMMddHHmm"
|
||||
sDate=DateTime.Date(DateTime.Now)
|
||||
|
||||
'Msgbox("aaa"& sDate,"aviso")
|
||||
If c.GetString("CAT_VA_VALOR") > sDate & sTime Then
|
||||
' Msgbox("AJUSTAR LA FECHA YA QUE ES MENOR AL SISTEMA " & " "& c.GetString("CAT_VA_VALOR") & " " & sDate & sTime ,"AVISO")
|
||||
DateTime.TimeFormat = "MM/dd/yyyyHH:mm:ss"
|
||||
B4XPage_Appear
|
||||
End If
|
||||
DateTime.TimeFormat = "MM/dd/yyyyHH:mm:ss"
|
||||
End If
|
||||
c.Close
|
||||
c=Starter.db.ExecQuery2("select count(*) as CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("CODIGO"))
|
||||
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.db.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("CODIGO"))
|
||||
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.db.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("CODIGO","743"))
|
||||
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("CODIGO","0"))
|
||||
End If
|
||||
c=Starter.db.ExecQuery2("select COUNT(*) AS CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("MACIMP"))
|
||||
|
||||
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.db.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("MACIMP","0"))
|
||||
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("MACIMP","0"))
|
||||
End If
|
||||
D=Starter.db.ExecQuery("select COUNT(*) AS CUANTOS from version")
|
||||
D.Position=0
|
||||
If D.GetString("CUANTOS") > 0 Then
|
||||
c=Starter.db.ExecQuery("select NOVERSION from version")
|
||||
c.Position = 0
|
||||
If c.GetString("NOVERSION") = "2.1" Then
|
||||
Starter.db.ExecNonQuery("delete from VERSION")
|
||||
End If
|
||||
c.Close
|
||||
|
||||
c=Starter.skmt.ExecQuery("select COUNT(*) AS CUANTOS FROM VERSION")
|
||||
c.Position= 0
|
||||
|
||||
If c.GetString("CUANTOS") = 0 Then
|
||||
Starter.skmt.ExecNonQuery("delete from VERSION")
|
||||
Starter.skmt.ExecNonQuery2("INSERT INTO VERSION(NOVERSION) VALUES (?)", Array As Object ("2.6"))
|
||||
End If
|
||||
D.Close
|
||||
D=Starter.db.ExecQuery("select COUNT(*) AS CUANTOS from version")
|
||||
D.Position=0
|
||||
If D.GetString("CUANTOS") > 0 Then
|
||||
c=Starter.db.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
|
||||
c.Close
|
||||
|
||||
c=Starter.skmt.ExecQuery("select NOVERSION FROM VERSION")
|
||||
c.Position = 0
|
||||
|
||||
If c.GetString("NOVERSION") <> "2.6" Then
|
||||
' Msgbox("VERSION INCORRECTA SOLICITAR O DESCARGAR LA NUEVA","ALERTA")
|
||||
B4XPage_Appear
|
||||
End If
|
||||
Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_ACCESS_FINE_LOCATION)
|
||||
Wait For Activity_PermissionResult (Permission As String, Result As Boolean)
|
||||
If Result Then
|
||||
StartService(Tracker)
|
||||
If logger Then Log("Start Tracker")
|
||||
Else
|
||||
ToastMessageShow("No permission", True)
|
||||
End If
|
||||
Starter.usuario = kh.traeUsuarioDeDB(Starter.skmt)
|
||||
' dameUsuario 'Obtenemos el usuario registrado
|
||||
CallSubDelayed(FirebaseMessaging, "SubscribeToTopics")
|
||||
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.db.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.db.ExecNonQuery2("UPDATE CAT_CODIGOS SET CAT_CO_PONDERACION = 1 WHERE CAT_CO_ACCION = ? AND CAT_CO_RESULTADO = 2", Array As String ("SERVER"))
|
||||
Starter.db.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.db.ExecNonQuery2("UPDATE CAT_CODIGOS SET CAT_CO_PONDERACION = 1 WHERE CAT_CO_ACCION = ? AND CAT_CO_RESULTADO = 1", Array As String ("SERVER"))
|
||||
Starter.db.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.db.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.db.ExecNonQuery("delete from usuarioa")
|
||||
Starter.db.ExecNonQuery2("INSERT INTO USUARIOA VALUES (?,?,?)", Array As Object(user.Text, pass.Text, DateTime.Date(DateTime.Now)))
|
||||
Starter.db.ExecNonQuery("delete from cat_almacen")
|
||||
Starter.db.ExecNonQuery2("INSERT INTO CAT_ALMACEN(ID_ALMACEN) VALUES (?)", Array As Object (pass.Text))
|
||||
Starter.db.ExecNonQuery("delete from VERSION")
|
||||
Starter.db.ExecNonQuery2("INSERT INTO VERSION(NOVERSION) VALUES (?)", Array As Object ("2.95"))
|
||||
If user.Text = "ROOT" Then
|
||||
Starter.skmt.ExecNonQuery("delete from usuarioa")
|
||||
Starter.skmt.ExecNonQuery2("INSERT INTO USUARIOA VALUES (?,?)", Array As Object(user.Text, pass.Text))
|
||||
|
||||
Starter.skmt.ExecNonQuery("delete from cat_almacen")
|
||||
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_ALMACEN(ID_ALMACEN) VALUES (?)", Array As Object (pass.Text))
|
||||
B4XPages.ShowPage("Principal")
|
||||
End If
|
||||
' c=Starter.db.ExecQuery2("select count(*) as EXISTE1 from usuarioa where usuario = ?", Array As String(user.Text))
|
||||
c=Starter.db.ExecQuery2($"select count(*) as EXISTE1 from usuarioa where usuario = ? and fecha = ${DateTime.Date(DateTime.Now)}"$, Array As String(user.Text))
|
||||
|
||||
c=Starter.skmt.ExecQuery2("select count(*) as EXISTE1 from usuarioa where usuario = ?", 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.Name = "select_usuario_guna_DUR"
|
||||
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"
|
||||
Starter.reqManager.ExecuteQuery(cmd , 0, "version")
|
||||
cmd.Name = "select_version_DUR"
|
||||
reqManager.ExecuteQuery(cmd , 0, "version")
|
||||
Else
|
||||
Subs.iniciaActividad("Principal")
|
||||
' B4XPages.ShowPage("Principal")
|
||||
B4XPages.ShowPage("Principal")
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
Sub JobDone(Job As HttpJob)
|
||||
Log("JOBDONE MAINPAGE")
|
||||
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.db.ExecNonQuery("delete from VERSION")
|
||||
Starter.skmt.ExecNonQuery("delete from VERSION")
|
||||
Dim CAT_VE_VERSION As String = records(result.Columns.Get("CAT_VE_VERSION"))
|
||||
Starter.db.ExecNonQuery("delete from VERSION")
|
||||
Starter.db.ExecNonQuery2("INSERT INTO VERSION(NOVERSION) VALUES (?)", Array As Object (CAT_VE_VERSION))
|
||||
Starter.skmt.ExecNonQuery2("INSERT INTO VERSION(NOVERSION) VALUES (?)", Array As Object (CAT_VE_VERSION))
|
||||
If CAT_VE_VERSION <> "2.6" Then
|
||||
Msgbox("VERSION INCORRECTA SOLICITAR O DESCARGAR LA NUEVA","ALERTA")
|
||||
B4XPage_Appear
|
||||
End If
|
||||
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.db.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("FECHA"))
|
||||
Starter.db.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("FECHA", Starter.FECHA_HOY))
|
||||
Dim FECHA_HOY As String = 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",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"))
|
||||
' Dim IMEI_BASE As String = records(result.Columns.Get("CAT_LO_IDTELEFONO"))
|
||||
Next
|
||||
paso1 = 1
|
||||
End If
|
||||
@@ -466,66 +387,54 @@ Sub JobDone(Job As HttpJob)
|
||||
End If
|
||||
|
||||
If paso1 =1 Then
|
||||
If name = "OKActivo" Then
|
||||
LogColor("Borramos e insertamos a usuarioa", Colors.green)
|
||||
DateTime.DateFormat = "yyyyMMdd"
|
||||
Starter.db.ExecNonQuery("delete from usuarioa")
|
||||
Starter.db.ExecNonQuery2("INSERT INTO USUARIOA VALUES (?,?,?)", Array As Object(user.Text, pass.Text, DateTime.Date(DateTime.Now)))
|
||||
Starter.db.ExecNonQuery("delete from cat_almacen")
|
||||
Starter.db.ExecNonQuery2("INSERT INTO CAT_ALMACEN(ID_ALMACEN) VALUES (?)", Array As Object (ID_ALMACEN))
|
||||
almacen = ID_ALMACEN
|
||||
Starter.db.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("NUMERO_PEDIDO"))
|
||||
Starter.db.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
|
||||
If name = "OKActivo" & IMEI Then
|
||||
Starter.skmt.ExecNonQuery("delete from usuarioa")
|
||||
Starter.skmt.ExecNonQuery2("INSERT INTO USUARIOA VALUES (?,?)", Array As Object(user.Text, pass.Text))
|
||||
Starter.skmt.ExecNonQuery("delete from cat_almacen")
|
||||
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_ALMACEN(ID_ALMACEN) VALUES (?)", Array As Object (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")
|
||||
Else If name = "OKExpirado"& IMEI Then
|
||||
Msgbox("Usuario Expirado llamar al administrador","")
|
||||
Else If name = "OKCancelado"& IMEI Then
|
||||
Msgbox("Usuario Cancelado llamar al administrador","")
|
||||
Else
|
||||
Msgbox("Usuario o password No validos","") 'ignore
|
||||
Msgbox("Usuario o password No validos","")
|
||||
End If
|
||||
paso1 = 0
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub B4XPage_CloseRequest As ResumableSub
|
||||
Sub Activity_KeyPress (key As Int) As Boolean
|
||||
' 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
|
||||
If key=KeyCodes.KEYCODE_BACK Then
|
||||
' I want to capture the key here so I return True
|
||||
'StartActivity(Main)
|
||||
ExitApplication
|
||||
'Return True
|
||||
End If
|
||||
' Returning False signals the system to handle the key
|
||||
Return False
|
||||
End Sub
|
||||
|
||||
Sub GPS_LocationChanged (Location1 As Location)
|
||||
If user.text = "GPS" Then
|
||||
'user.Text=Location1.ConvertToMinutes(Location1.Latitude)
|
||||
'pass.text=Location1.ConvertToMinutes(Location1.Longitude)
|
||||
user.Text=Location1.Latitude
|
||||
pass.text=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 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
|
||||
Sub PDF_Click
|
||||
|
||||
End Sub
|
||||
|
||||
@@ -533,57 +442,38 @@ Sub user_EnterPressed
|
||||
If user.Text = "CODIGO" Then
|
||||
IMEN.Visible = True
|
||||
user.Text = ""
|
||||
End If
|
||||
DateTime.DateFormat = "yyyyMMdd"
|
||||
c=Starter.db.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 If
|
||||
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.db.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("SERVER"))
|
||||
ListView1.AddSingleLine(Starter.DBReqServer)
|
||||
|
||||
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)
|
||||
' Panel1.Visible = True
|
||||
kh.panelVisible(Panel1, 0, 0)
|
||||
End Sub
|
||||
|
||||
Sub B_SERVER_Click
|
||||
Starter.db.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("SERVER"))
|
||||
Starter.db.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")
|
||||
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))
|
||||
reqManager.Initialize(Me, E_SERVER.text.trim)
|
||||
Starter.DBReqServer = E_SERVER.text.trim
|
||||
Panel1.Visible = False
|
||||
Entrar.Visible = True
|
||||
End Sub
|
||||
|
||||
Sub B_MACIMP_Click
|
||||
Starter.db.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("MACIMP"))
|
||||
Starter.db.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("MACIMP","0"))
|
||||
Sub B_FECHA_Click
|
||||
Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("FECHA"))
|
||||
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
|
||||
|
||||
@@ -591,49 +481,50 @@ Sub ListView1_ItemClick (Position As Int, Value As Object)
|
||||
E_SERVER.text = Value
|
||||
End Sub
|
||||
|
||||
Sub ImageView1_Click
|
||||
|
||||
Sub B_IMPRESORA_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 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.db.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.db.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
|
||||
Sub dameUsuario
|
||||
c=Starter.skmt.ExecQuery("select count(*) as EXISTE1 from usuarioa")
|
||||
c.Position=0
|
||||
existe = c.GetString("EXISTE1")
|
||||
c.Close
|
||||
If existe > 0 Then
|
||||
c=Starter.skmt.ExecQuery("select USUARIO from usuarioa")
|
||||
c.Position=0
|
||||
Starter.usuario = c.GetString("USUARIO")
|
||||
Else
|
||||
Starter.usuario = "SINUSUARIO"
|
||||
End If
|
||||
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)
|
||||
'Copia la base de datos del almacenamiento interno al externo en el directorio kmts
|
||||
Sub copiaDB
|
||||
Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_WRITE_EXTERNAL_STORAGE)
|
||||
Wait For Activity_PermissionResult (Permission As String, Result As Boolean)
|
||||
If Result Then
|
||||
Dim theDir As String
|
||||
Try
|
||||
File.MakeDir(File.DirRootExternal,"kmts")
|
||||
theDir = "/kmts"
|
||||
Catch
|
||||
theDir = ""
|
||||
End Try
|
||||
Try
|
||||
File.Copy(File.DirInternal,"kmt.db",File.DirRootExternal&theDir,"dura_kmt.db")
|
||||
ToastMessageShow("Listo, copiada a " & File.DirRootExternal&theDir & "/dura_kmt.db", False)
|
||||
LogColor("copiado", Colors.red)
|
||||
Catch
|
||||
ToastMessageShow("No se pudo hacer la copia: "&LastException, True)
|
||||
LogColor("no copiado", Colors.red)
|
||||
End Try
|
||||
' Log("rootExternal="&p)
|
||||
' Log("File.DirInternal="&File.DirInternal)
|
||||
' Log("File.DirRootExternal="&File.DirRootExternal)
|
||||
Else
|
||||
ToastMessageShow("Sin permisos", True)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
126
B4A/BatteryUtilities.bas
Normal file
@@ -0,0 +1,126 @@
|
||||
B4A=true
|
||||
Group=Default Group
|
||||
ModulesStructureVersion=1
|
||||
Type=Class
|
||||
Version=10.2
|
||||
@EndOfDesignText@
|
||||
'Class module
|
||||
Sub Class_Globals
|
||||
Private nativeMe As JavaObject
|
||||
|
||||
End Sub
|
||||
'Initializes the object.
|
||||
Public Sub Initialize
|
||||
nativeMe = Me
|
||||
End Sub
|
||||
'Return information about the battery status. It returns the following 11 values in an integer Array:
|
||||
'EXTRA_LEVEL = current battery level, from 0 To EXTRA_SCALE.
|
||||
'EXTRA_SCALE = the maximum battery level possible.
|
||||
'EXTRA_HEALTH = the current health constant.
|
||||
'EXTRA_ICON_SMALL = the resource ID of a small status bar icon indicating the current battery state.
|
||||
'EXTRA_PLUGGED = whether the device is plugged into a Power source; 0 means it is on battery, other constants are different types of Power sources.
|
||||
'EXTRA_STATUS = the current status constant.
|
||||
'EXTRA_TEMPERATURE = the current battery temperature.
|
||||
'EXTRA_VOLTAGE = the current battery voltage level.
|
||||
'A value indicating if the battery is being charged or fully charged (If neither it returns 0 Else it returns 1)
|
||||
'A value indicating if it is charging via USB (0 = Not USB, 2 = USB)
|
||||
'A value indicating if it is charging via AC (0 = Not AC, 1 = AC)
|
||||
Public Sub getBatteryInformation () As Int()
|
||||
|
||||
Dim batteryInfo(11) As Int
|
||||
batteryInfo = nativeMe.RunMethod("getBatteryInformation",Null)
|
||||
Return batteryInfo
|
||||
|
||||
End Sub
|
||||
|
||||
Public Sub getBatteryTechnolgy() As String
|
||||
|
||||
Dim batterytech As String
|
||||
batterytech = nativeMe.RunMethod("getBatteryTechnology",Null)
|
||||
Return batterytech
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
#If Java
|
||||
|
||||
import android.os.BatteryManager;
|
||||
import android.os.Bundle;
|
||||
import android.app.Activity;
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
|
||||
public int[] getBatteryInformation() {
|
||||
|
||||
int[] mybat = new int[11];
|
||||
|
||||
Intent batteryIntent = ba.context.getApplicationContext().registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
|
||||
|
||||
int level = batteryIntent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
|
||||
mybat[0] = level;
|
||||
int scale = batteryIntent.getIntExtra(BatteryManager.EXTRA_SCALE, -1);
|
||||
mybat[1] = scale;
|
||||
int health = batteryIntent.getIntExtra(BatteryManager.EXTRA_HEALTH,-1);
|
||||
mybat[2] = health;
|
||||
int icon_small = batteryIntent.getIntExtra(BatteryManager.EXTRA_ICON_SMALL,-1);
|
||||
mybat[3] = icon_small;
|
||||
int plugged = batteryIntent.getIntExtra(BatteryManager.EXTRA_PLUGGED,-1);
|
||||
mybat[4] = plugged;
|
||||
// boolean present = batteryIntent.getExtras().getBoolean(BatteryManager.EXTRA_PRESENT);
|
||||
int status = batteryIntent.getIntExtra(BatteryManager.EXTRA_STATUS,-1);
|
||||
mybat[5] = status;
|
||||
// String technology = batteryIntent.getExtras().getString(BatteryManager.EXTRA_TECHNOLOGY);
|
||||
// BA.Log("Technology = " + technology);
|
||||
int temperature = batteryIntent.getIntExtra(BatteryManager.EXTRA_TEMPERATURE,-1);
|
||||
mybat[6] = temperature;
|
||||
int voltage = batteryIntent.getIntExtra(BatteryManager.EXTRA_VOLTAGE,-1);
|
||||
mybat[7] = voltage;
|
||||
// int ac = batteryIntent.getIntExtra("plugged",BatteryManager.BATTERY_PLUGGED_AC);
|
||||
// mybat[8] = ac;
|
||||
// int usb = batteryIntent.getIntExtra("plugged",BatteryManager.BATTERY_PLUGGED_USB);
|
||||
// mybat[9] = usb;
|
||||
|
||||
boolean isCharging = status == BatteryManager.BATTERY_STATUS_CHARGING ||
|
||||
status == BatteryManager.BATTERY_STATUS_FULL;
|
||||
mybat[8] = 0;
|
||||
if (isCharging == true) {
|
||||
mybat[8] = 1;
|
||||
}
|
||||
|
||||
// How are we charging?
|
||||
mybat[9] = 0;
|
||||
mybat[10] = 0;
|
||||
int chargePlug = batteryIntent.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1);
|
||||
boolean usbCharge = chargePlug == BatteryManager.BATTERY_PLUGGED_USB;
|
||||
if (usbCharge == true) {
|
||||
mybat[9] = 2;
|
||||
}
|
||||
|
||||
boolean acCharge = chargePlug == BatteryManager.BATTERY_PLUGGED_AC;
|
||||
if (acCharge == true) {
|
||||
mybat[10] = 1;
|
||||
}
|
||||
|
||||
return mybat;
|
||||
}
|
||||
|
||||
|
||||
public String getBatteryTechnology() {
|
||||
|
||||
Intent batteryIntent = ba.context.getApplicationContext().registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
|
||||
|
||||
String technology = batteryIntent.getExtras().getString(BatteryManager.EXTRA_TECHNOLOGY);
|
||||
|
||||
return technology;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#End If
|
||||
@@ -1,710 +0,0 @@
|
||||
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
|
||||
@@ -11,7 +11,6 @@ Sub Class_Globals
|
||||
'These variables can be accessed from all modules.
|
||||
Dim g As GPS
|
||||
Dim ruta As String
|
||||
Dim skmt As SQL
|
||||
Dim clie_id As String
|
||||
Dim sDate,sTime As String
|
||||
Dim usuario As String
|
||||
@@ -29,7 +28,7 @@ Sub Class_Globals
|
||||
Dim cuenta As String
|
||||
' Dim tipov As String
|
||||
Dim Printer1 As EscPosPrinter
|
||||
Dim MAC_IMPRESORA As String
|
||||
' Dim MAC_IMPRESORA As String
|
||||
'These global variables will be redeclared each time the activity is created.
|
||||
'These variables can only be accessed from this module.
|
||||
|
||||
@@ -90,7 +89,7 @@ Sub Class_Globals
|
||||
Private b_mapa As Button
|
||||
Dim CUANTOS As String
|
||||
Private B_IMP As Button
|
||||
Dim Toggla As Toggle
|
||||
' Dim Toggla As Toggle
|
||||
Private B_VENTA As Button
|
||||
Dim PASA_IMP As String
|
||||
Dim sucursal As String
|
||||
@@ -135,88 +134,56 @@ Sub Class_Globals
|
||||
Dim printer As TextWriter
|
||||
End Sub
|
||||
|
||||
Sub initialize
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub B4XPage_Created (Root1 As B4XView)
|
||||
'Do not forget to load the layout file created with the visual designer. For example:
|
||||
'Activity.LoadLayout("Layout1")
|
||||
Root = Root1
|
||||
Root.RemoveAllViews
|
||||
Root.LoadLayout("info_gral")
|
||||
' valido donde escribo el archivo de la base de datos de kmt
|
||||
ruta = File.DirInternal
|
||||
If File.Exists(ruta, "kmt.db") = False Then
|
||||
File.Copy(File.DirAssets, "kmt.db", ruta, "kmt.db")
|
||||
Root.LoadLayout("Cliente")
|
||||
c=Starter.skmt.ExecQuery("select CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,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_BFACTURA,CAT_CL_BCREDITO from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
|
||||
s=Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
|
||||
If c.RowCount > 0 Then
|
||||
c.Position = 0
|
||||
la_cuenta.Text = c.GetString("CAT_CL_CODIGO")
|
||||
cuenta = c.GetString("CAT_CL_CODIGO")
|
||||
La_nombre.Text = c.GetString("CAT_CL_NOMBRE")
|
||||
la_Calle.Text = c.GetString("CAT_CL_CALLE") & c.GetString("CAT_CL_NOEXT")
|
||||
la_col.Text = c.GetString("CAT_CL_COLONIA")
|
||||
la_edo.Text = c.GetString("CAT_CL_EDO")
|
||||
la_cp.Text = c.GetString("CAT_CL_CP")
|
||||
l_entre1.Text = c.GetString("CAT_CL_CALLE1")
|
||||
l_entre2.Text = c.GetString("CAT_CL_CALLE2")
|
||||
l_atiende.Text = c.GetString("CAT_CL_ATIENDE1")
|
||||
l_atiende2.Text = c.GetString("CAT_CL_ATIENTE2")
|
||||
la_saldotot.Text = c.GetString("CAT_CL_TELEFONO")
|
||||
la_saldooper.Text = c.GetString("CAT_CL_EMAIL")
|
||||
MONTO_COMPRA = c.GetString("CAT_CL_MTOCOMPRA")
|
||||
FACTURA = c.GetString("CAT_CL_BFACTURA")
|
||||
CREDITO = c.GetString("CAT_CL_BCREDITO")
|
||||
End If
|
||||
skmt.Initialize(ruta,"kmt.db", True)
|
||||
c=skmt.ExecQuery("select CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,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_BFACTURA,CAT_CL_BCREDITO from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
|
||||
s=skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
|
||||
s.Position=0
|
||||
c.Position=0
|
||||
la_cuenta.Text = c.GetString("CAT_CL_CODIGO")
|
||||
cuenta = c.GetString("CAT_CL_CODIGO")
|
||||
La_nombre.Text = c.GetString("CAT_CL_NOMBRE")
|
||||
la_Calle.Text = c.GetString("CAT_CL_CALLE") & c.GetString("CAT_CL_NOEXT")
|
||||
la_col.Text = c.GetString("CAT_CL_COLONIA")
|
||||
la_edo.Text = c.GetString("CAT_CL_EDO")
|
||||
la_cp.Text = c.GetString("CAT_CL_CP")
|
||||
l_entre1.Text = c.GetString("CAT_CL_CALLE1")
|
||||
l_entre2.Text = c.GetString("CAT_CL_CALLE2")
|
||||
l_atiende.Text = c.GetString("CAT_CL_ATIENDE1")
|
||||
l_atiende2.Text = c.GetString("CAT_CL_ATIENTE2")
|
||||
la_saldotot.Text = c.GetString("CAT_CL_TELEFONO")
|
||||
la_saldooper.Text = c.GetString("CAT_CL_EMAIL")
|
||||
l_total.Text = s.GetString("TOTAL_CLIE")
|
||||
total_cliente = s.GetString("TOTAL_CLIE")
|
||||
MONTO_COMPRA = c.GetString("CAT_CL_MTOCOMPRA")
|
||||
FACTURA = c.GetString("CAT_CL_BFACTURA")
|
||||
CREDITO = c.GetString("CAT_CL_BCREDITO")
|
||||
|
||||
|
||||
' la_producto.Text = c.GetString("CDPROD")
|
||||
'la_numero.Text = c.GetString("CDNUMEXT")
|
||||
'la_nint.Text = c.GetString("CDNUMINT")
|
||||
'la_pob.Text = c.GetString("CFSDOGLOBAL")
|
||||
|
||||
'la_saldooper.Text = c.GetString("CAT_CL_FALTA")
|
||||
'Label10.Text = "FECHA DE ALTA"
|
||||
'Label11.Text = "# ENCUESTAS"
|
||||
|
||||
'c=skmt.ExecQuery("select MGCTA, MGACTT, MGGESTT, MGDTEACTT, COMM from hist_gest where MGCTA In (Select cuenta from cuentaa)")
|
||||
'c.Position=0
|
||||
'la_comm.Text = c.GetString("COMM")
|
||||
'la_actdte.Text = C.GetString("MGDTEACTT")
|
||||
'la_usuario.Text = c.GetString("MGGESTT")
|
||||
'la_resultado.Text = c.GetString("MGACTT")
|
||||
|
||||
|
||||
'la_padre.Text = c.GetString("PR_CF_FECHA_DISP")
|
||||
'la_no_ird.Text = c.GetString("PR_CF_SALDO_ACORT")
|
||||
|
||||
' se crea o no el archivo de la base de ddatos de kmt
|
||||
'NOTAS SI SE MODIFICA LA ESTRUCTURA SE QUITA EL IF Y SE VA DIRECTO A LA SENTENCIA FILE.COPY PARA QUE
|
||||
'TOME LA NUEVA ESTRUCTURA ES MUY IMPORTANTE TENER EL IF DE LO CONTRARIO SOLO LO ESCRIBE UNA VEZ Y LO BORRA
|
||||
'SI SE REGRESA A ESTE ACTIVIDAD.
|
||||
'ListView1.AddTwoLines(c.GetString("pr_cd_nombre"),c.GetString("pr_cd_colonia"))
|
||||
' Next
|
||||
'End If
|
||||
' SE COMENTA IMPRESORA ANTERIOR
|
||||
' If FirstTime Then
|
||||
' btAdmin.Initialize("BlueTeeth")
|
||||
' cmp20.Initialize("Printer")
|
||||
' End If
|
||||
|
||||
c=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")
|
||||
If MAC_IMPRESORA = "" Then MAC_IMPRESORA = "0"
|
||||
Starter.MAC_IMPRESORA = MAC_IMPRESORA
|
||||
Log("|" & MAC_IMPRESORA & "|")
|
||||
If FirstTime Then
|
||||
Printer1.Initialize(Me, "Printer1")
|
||||
|
||||
If s.RowCount > 0 Then
|
||||
s.Position = 0
|
||||
l_total.Text = s.GetString("TOTAL_CLIE")
|
||||
total_cliente = s.GetString("TOTAL_CLIE")
|
||||
End If
|
||||
c = Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("MACIMP"))
|
||||
If c.RowCount > 0 Then
|
||||
c.Position = 0
|
||||
Starter.MAC_IMPRESORA = c.GetString("CAT_VA_VALOR")
|
||||
End If
|
||||
If Starter.MAC_IMPRESORA = "" Then Starter.MAC_IMPRESORA = "0"
|
||||
Log("|" & Starter.MAC_IMPRESORA & "|")
|
||||
Printer1.Initialize(Me, "Printer1")
|
||||
|
||||
TOMAR_FOTO = 0
|
||||
|
||||
g.Initialize("GPS")
|
||||
Panel1.Top = La_nombre.Top + La_nombre.Height + 5 : Panel1.left = 0
|
||||
Panel9.Top = La_nombre.Top + La_nombre.Height + 5 : Panel9.left = 0
|
||||
Panel10.Top = La_nombre.Top + La_nombre.Height + 5 : Panel10.left = 0
|
||||
End Sub
|
||||
|
||||
Sub B4XPage_Appear
|
||||
@@ -229,10 +196,8 @@ Sub B4XPage_Appear
|
||||
Else
|
||||
g.Start(0,0)
|
||||
End If
|
||||
|
||||
skmt.Initialize(ruta,"kmt.db", True)
|
||||
c=skmt.ExecQuery("select CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,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_BFACTURA,CAT_CL_BCREDITO from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
|
||||
s=skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
|
||||
c=Starter.skmt.ExecQuery("select CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,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_BFACTURA,CAT_CL_BCREDITO from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
|
||||
s=Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
|
||||
s.Position=0
|
||||
|
||||
c.Position=0
|
||||
@@ -282,12 +247,12 @@ Sub B4XPage_Appear
|
||||
Else
|
||||
L_QR.Visible = False
|
||||
End If
|
||||
S2=skmt.ExecQuery("select count(*) AS CUANTOS from HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa)")
|
||||
S2=Starter.skmt.ExecQuery("select count(*) AS CUANTOS from HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa)")
|
||||
S2.Position =0
|
||||
CUANTOS = S2.GetString("CUANTOS")
|
||||
S2.Close
|
||||
If CUANTOS > 0 Then
|
||||
c2=skmt.ExecQuery("select sum(HVD_COSTO_TOT) AS TOTAL from HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa)")
|
||||
c2=Starter.skmt.ExecQuery("select sum(HVD_COSTO_TOT) AS TOTAL from HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa)")
|
||||
c2.Position =0
|
||||
MONTO_COMPRA = c2.GetString("TOTAL")
|
||||
c2.Close
|
||||
@@ -330,14 +295,11 @@ Sub GPS_LocationChanged (Location1 As Location)
|
||||
'lon_gps=Location1.Longitude
|
||||
' BT_QR.Enabled = True
|
||||
Dim sDate,sTime As String
|
||||
|
||||
DateTime.DateFormat = "MM/dd/yyyy"
|
||||
sDate=DateTime.Date(DateTime.Now)
|
||||
sTime=DateTime.Time(DateTime.Now)
|
||||
|
||||
skmt.ExecNonQuery("DELETE FROM HIST_GPS")
|
||||
|
||||
skmt.ExecNonQuery2("INSERT INTO HIST_GPS (HGDATE, HGLAT, HGLON) VALUES(?,?,?) ", Array As Object (sDate & sTime, Main.lat_gps, Main.lon_gps))
|
||||
Starter.skmt.ExecNonQuery("DELETE FROM HIST_GPS")
|
||||
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_GPS (HGDATE, HGLAT, HGLON) VALUES(?,?,?) ", Array As Object (sDate & sTime, Starter.lat_gps, Starter.lon_gps))
|
||||
End Sub
|
||||
|
||||
Sub ListView1_ItemLongClick (Position As Int, Value As Object)
|
||||
@@ -345,21 +307,22 @@ Sub ListView1_ItemLongClick (Position As Int, Value As Object)
|
||||
End Sub
|
||||
|
||||
Sub gest_Click
|
||||
Main.tipov = "PREVENTA"
|
||||
Starter.tipov = "PREVENTA"
|
||||
' StartActivity(colonia2)
|
||||
cuestionario
|
||||
End Sub
|
||||
|
||||
Sub Tels_Click
|
||||
' skmt.ExecNonQuery("delete from PEDIDO")
|
||||
StartActivity(nopago)
|
||||
' StartActivity(nopago)
|
||||
B4XPages.ShowPage("NoVenta")
|
||||
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
|
||||
StartActivity(colonia)
|
||||
' StartActivity(colonia)
|
||||
'Return True
|
||||
End If
|
||||
' Returning False signals the system to handle the key
|
||||
@@ -367,58 +330,59 @@ Sub Activity_KeyPress (key As Int) As Boolean
|
||||
End Sub
|
||||
|
||||
Sub Tar_Click
|
||||
StartActivity(tarjeta)
|
||||
' StartActivity(tarjeta)
|
||||
B4XPages.ShowPage("Nota")
|
||||
End Sub
|
||||
|
||||
Sub DATOS_Click
|
||||
StartActivity(telefonos)
|
||||
' StartActivity(telefonos)
|
||||
End Sub
|
||||
|
||||
Sub Guardar_Click
|
||||
DateTime.DateFormat = "MM/dd/yyyy"
|
||||
sDate=DateTime.Date(DateTime.Now)
|
||||
sTime=DateTime.Time(DateTime.Now)
|
||||
c=skmt.ExecQuery("Select CUENTA from cuentaa")
|
||||
c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa")
|
||||
c.Position=0
|
||||
clie_id = c.GetString("CUENTA")
|
||||
c=skmt.ExecQuery("select USUARIO from usuarioa")
|
||||
c=Starter.skmt.ExecQuery("select USUARIO from usuarioa")
|
||||
c.Position=0
|
||||
usuario = c.GetString("USUARIO")
|
||||
|
||||
c=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=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
|
||||
skmt.ExecNonQuery("delete from NOVENTA where NV_CLIENTE In (select cuenta from cuentaa)")
|
||||
skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)")
|
||||
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"), Main.lon_gps, Main.lat_gps))
|
||||
skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
|
||||
Starter.skmt.ExecNonQuery("delete from NOVENTA where NV_CLIENTE In (select cuenta from cuentaa)")
|
||||
Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)")
|
||||
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)")
|
||||
End If
|
||||
c.Close
|
||||
|
||||
skmt.ExecNonQuery("delete from pedido3")
|
||||
skmt.ExecNonQuery("INSERT INTO PEDIDO3 SELECT PE_PRECIO2, PE_TIPO, PE_FOLIO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, SUM(PE_COSTO_TOT) AS PE_COSTO_TOT, PE_COSTOU, SUM(PE_CANT) As PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, 1 As PE_FECHA, PE_USUARIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) GROUP BY PE_PRECIO2, PE_TIPO, PE_FOLIO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, PE_COSTOU, PE_PRONOMBRE, PE_PROID, PE_CLIENTE ")
|
||||
c=skmt.ExecQuery("select PE_PRECIO2,PE_TIPO,PE_FOLIO,PE_DESC,PE_COSTO_SIN,PE_RUTA,PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE, PE_FECHA,PE_USUARIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
|
||||
Starter.skmt.ExecNonQuery("delete from pedido3")
|
||||
Starter.skmt.ExecNonQuery("INSERT INTO PEDIDO3 SELECT PE_PRECIO2, PE_TIPO, PE_FOLIO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, SUM(PE_COSTO_TOT) AS PE_COSTO_TOT, PE_COSTOU, SUM(PE_CANT) As PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, 1 As PE_FECHA, PE_USUARIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) GROUP BY PE_PRECIO2, PE_TIPO, PE_FOLIO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, PE_COSTOU, PE_PRONOMBRE, PE_PROID, PE_CLIENTE ")
|
||||
c=Starter.skmt.ExecQuery("select PE_PRECIO2,PE_TIPO,PE_FOLIO,PE_DESC,PE_COSTO_SIN,PE_RUTA,PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE, PE_FECHA,PE_USUARIO 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
|
||||
skmt.ExecNonQuery2("UPDATE PEDIDO3 SET PE_FECHA= ? WHERE PE_CLIENTE = ? AND PE_PRONOMBRE = ? AND PE_PROID = ? AND PE_CEDIS = ?", Array As Object(c.GetString("PE_FECHA"), c.GetString("PE_CLIENTE"),c.GetString("PE_PRONOMBRE"),c.GetString("PE_PROID"),c.GetString("PE_CEDIS")))
|
||||
|
||||
Starter.skmt.ExecNonQuery2("UPDATE PEDIDO3 SET PE_FECHA= ? WHERE PE_CLIENTE = ? AND PE_PRONOMBRE = ? AND PE_PROID = ? AND PE_CEDIS = ?", Array As Object(c.GetString("PE_FECHA"), c.GetString("PE_CLIENTE"),c.GetString("PE_PRONOMBRE"),c.GetString("PE_PROID"),c.GetString("PE_CEDIS")))
|
||||
Next
|
||||
End If
|
||||
skmt.ExecNonQuery("delete from pedido WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) ")
|
||||
skmt.ExecNonQuery("INSERT INTO PEDIDO SELECT * FROM PEDIDO3")
|
||||
Starter.skmt.ExecNonQuery("delete from pedido WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) ")
|
||||
Starter.skmt.ExecNonQuery("INSERT INTO PEDIDO SELECT * FROM PEDIDO3")
|
||||
|
||||
|
||||
StartActivity(seleccion)
|
||||
B4XPages.ShowPage("Principal")
|
||||
' StartActivity(seleccion)
|
||||
End Sub
|
||||
|
||||
Sub NUEVO_Click
|
||||
StartActivity(nuevocliente)
|
||||
' StartActivity(nuevocliente)
|
||||
End Sub
|
||||
|
||||
Sub HIST_Click
|
||||
StartActivity(Historico)
|
||||
' StartActivity(Historico)
|
||||
B4XPages.ShowPage("Historico")
|
||||
End Sub
|
||||
|
||||
Sub BT_QR_Click
|
||||
@@ -432,7 +396,7 @@ End Sub
|
||||
|
||||
Sub sc_result(atype As String,Values As String)
|
||||
CODIGO = Values
|
||||
skmt.ExecNonQuery2("UPDATE kmt_info set CAT_CL_NUM_SERIEFISICO = ?, CAT_CL_LONG = ?, CAT_CL_LAT =? where CAT_CL_CODIGO In (select cuenta from cuentaa)", Array As Object(CODIGO, Main.lon_gps, Main.lat_gps))
|
||||
Starter.skmt.ExecNonQuery2("UPDATE kmt_info set CAT_CL_NUM_SERIEFISICO = ?, CAT_CL_LONG = ?, CAT_CL_LAT =? where CAT_CL_CODIGO In (select cuenta from cuentaa)", Array As Object(CODIGO, Starter.lon_gps, Starter.lat_gps))
|
||||
End Sub
|
||||
|
||||
Sub sc_noScan
|
||||
@@ -456,30 +420,30 @@ Sub calc_ean_checksum(number As String) As String 'this has now become
|
||||
End Sub
|
||||
|
||||
Sub b_mapa_Click
|
||||
StartActivity(mapas)
|
||||
' StartActivity(mapas)
|
||||
End Sub
|
||||
|
||||
Sub B_IMP_Click
|
||||
c=skmt.ExecQuery2("select count(*) AS CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("PERFIL"))
|
||||
c=Starter.skmt.ExecQuery2("select count(*) AS CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("PERFIL"))
|
||||
c.Position =0
|
||||
perfil = c.GetString("CUANTOS")
|
||||
c.Close
|
||||
|
||||
If perfil > 0 Then
|
||||
c=skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("PERFIL"))
|
||||
c=Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("PERFIL"))
|
||||
c.Position =0
|
||||
perfil = c.GetString("CAT_VA_VALOR")
|
||||
c.Close
|
||||
End If
|
||||
|
||||
c=skmt.ExecQuery("select USUARIO from usuarioa")
|
||||
c=Starter.skmt.ExecQuery("select USUARIO from usuarioa")
|
||||
c.Position=0
|
||||
usuario = c.GetString("USUARIO")
|
||||
DateTime.DateFormat = "MM/dd/yyyy"
|
||||
sDate=DateTime.Date(DateTime.Now)
|
||||
sTime=DateTime.Time(DateTime.Now)
|
||||
c.Close
|
||||
c=skmt.ExecQuery2("SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION =?", Array As String ("SUCURSAL"))
|
||||
c=Starter.skmt.ExecQuery2("SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION =?", Array As String ("SUCURSAL"))
|
||||
c.Position = 0
|
||||
sucursal = c.GetString("CAT_VA_VALOR")
|
||||
c.Close
|
||||
@@ -548,7 +512,7 @@ Sub B_IMP_Click
|
||||
If perfil = "V-ESPECIAL" Then 'Or perfil = "V-SUPER"
|
||||
Printer1.WriteString("-----------PREVENTA-----------" & CRLF)
|
||||
' aqui es donde esta el pedo de julieta de los descuentos quitar el precio2 pero meter un if para saber si es ruta especial o es normal o que show.
|
||||
s=skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_PRECIO2 as PE_COSTOU, length(PE_PRECIO2) as L_COSTOU,PE_CANT * PE_PRECIO2 AS PE_COSTO_TOT, length(PE_CANT * PE_PRECIO2) as L_COSTO_TOT,PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_TIPO = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PROID ", Array As String("PREVENTA"))
|
||||
s=Starter.skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_PRECIO2 as PE_COSTOU, length(PE_PRECIO2) as L_COSTOU,PE_CANT * PE_PRECIO2 AS PE_COSTO_TOT, length(PE_CANT * PE_PRECIO2) as L_COSTO_TOT,PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_TIPO = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PROID ", Array As String("PREVENTA"))
|
||||
If S.RowCount>0 Then
|
||||
For i=0 To S.RowCount -1
|
||||
S.Position=i
|
||||
@@ -575,7 +539,7 @@ Sub B_IMP_Click
|
||||
Next
|
||||
End If
|
||||
s.Close
|
||||
s=skmt.ExecQuery2("select SUM(PE_COSTO_TOT) AS TOTAL, SUM(PE_PRECIO2 * PE_CANT) AS TOTAL2 FROM PEDIDO WHERE PE_TIPO = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("PREVENTA"))
|
||||
s=Starter.skmt.ExecQuery2("select SUM(PE_COSTO_TOT) AS TOTAL, SUM(PE_PRECIO2 * PE_CANT) AS TOTAL2 FROM PEDIDO WHERE PE_TIPO = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("PREVENTA"))
|
||||
s.Position =0
|
||||
If s.GetString("TOTAL") - s.GetString("TOTAL2") <> 0 Then
|
||||
Printer1.WriteString("Descuento: $" & (s.GetString("TOTAL2") - s.GetString("TOTAL")) & CRLF)
|
||||
@@ -586,7 +550,7 @@ Sub B_IMP_Click
|
||||
Else
|
||||
Printer1.WriteString("-----------PREVENTA-----------" & CRLF)
|
||||
' aqui es donde esta el pedo de julieta de los descuentos quitar el precio2 pero meter un if para saber si es ruta especial o es normal o que show.
|
||||
s=skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU,PE_CANT * PE_COSTOU AS PE_COSTO_TOT, length(PE_CANT * PE_COSTOU) as L_COSTO_TOT,PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_TIPO = ? AND LENGTH(PE_CEDIS) < 4 AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PROID", Array As String("PREVENTA"))
|
||||
s=Starter.skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU,PE_CANT * PE_COSTOU AS PE_COSTO_TOT, length(PE_CANT * PE_COSTOU) as L_COSTO_TOT,PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_TIPO = ? AND LENGTH(PE_CEDIS) < 4 AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PROID", Array As String("PREVENTA"))
|
||||
If S.RowCount>0 Then
|
||||
For i=0 To S.RowCount -1
|
||||
S.Position=i
|
||||
@@ -613,7 +577,7 @@ Sub B_IMP_Click
|
||||
Next
|
||||
End If
|
||||
s.Close
|
||||
s=skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU,PE_CANT * PE_COSTOU AS PE_COSTO_TOT, length(PE_CANT * PE_COSTOU) as L_COSTO_TOT,PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_TIPO = ? and LENGTH(PE_CEDIS) > 3 AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_CEDIS, PE_COSTOU", Array As String("PREVENTA"))
|
||||
s=Starter.skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU,PE_CANT * PE_COSTOU AS PE_COSTO_TOT, length(PE_CANT * PE_COSTOU) as L_COSTO_TOT,PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_TIPO = ? and LENGTH(PE_CEDIS) > 3 AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_CEDIS, PE_COSTOU", Array As String("PREVENTA"))
|
||||
If S.RowCount>0 Then
|
||||
Printer1.WriteString("----PROMOS----" & CRLF)
|
||||
For i=0 To S.RowCount -1
|
||||
@@ -643,7 +607,7 @@ Sub B_IMP_Click
|
||||
End If
|
||||
s.Close
|
||||
|
||||
s=skmt.ExecQuery2("select SUM(PE_COSTO_TOT) AS TOTAL, SUM(PE_PRECIO2 * PE_CANT) AS TOTAL2 FROM PEDIDO WHERE PE_TIPO = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("PREVENTA"))
|
||||
s=Starter.skmt.ExecQuery2("select SUM(PE_COSTO_TOT) AS TOTAL, SUM(PE_PRECIO2 * PE_CANT) AS TOTAL2 FROM PEDIDO WHERE PE_TIPO = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("PREVENTA"))
|
||||
s.Position =0
|
||||
' If s.GetString("TOTAL") - s.GetString("TOTAL2") <> 0 Then
|
||||
' Printer1.WriteString("Descuento: $" & (s.GetString("TOTAL2") - s.GetString("TOTAL")))
|
||||
@@ -672,26 +636,26 @@ Sub B_IMP_Click
|
||||
End Sub
|
||||
|
||||
Sub B_IMP2_Click
|
||||
c=skmt.ExecQuery2("select count(*) AS CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("PERFIL"))
|
||||
c=Starter.skmt.ExecQuery2("select count(*) AS CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("PERFIL"))
|
||||
c.Position =0
|
||||
perfil = c.GetString("CUANTOS")
|
||||
c.Close
|
||||
|
||||
If perfil > 0 Then
|
||||
c=skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("PERFIL"))
|
||||
c=Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("PERFIL"))
|
||||
c.Position =0
|
||||
perfil = c.GetString("CAT_VA_VALOR")
|
||||
c.Close
|
||||
End If
|
||||
|
||||
c=skmt.ExecQuery("select USUARIO from usuarioa")
|
||||
c=Starter.skmt.ExecQuery("select USUARIO from usuarioa")
|
||||
c.Position=0
|
||||
usuario = c.GetString("USUARIO")
|
||||
DateTime.DateFormat = "MM/dd/yyyy"
|
||||
sDate=DateTime.Date(DateTime.Now)
|
||||
sTime=DateTime.Time(DateTime.Now)
|
||||
c.Close
|
||||
c=skmt.ExecQuery2("SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION =?", Array As String ("SUCURSAL"))
|
||||
c=Starter.skmt.ExecQuery2("SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION =?", Array As String ("SUCURSAL"))
|
||||
c.Position = 0
|
||||
sucursal = c.GetString("CAT_VA_VALOR")
|
||||
c.Close
|
||||
@@ -760,7 +724,7 @@ Sub B_IMP2_Click
|
||||
|
||||
Printer1.WriteString("-----------ENTREGA------------" & CRLF)
|
||||
|
||||
s=skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU, PE_COSTO_TOT, length(PE_COSTO_TOT) as L_COSTO_TOT, PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_TIPO = ? AND LENGTH(PE_CEDIS) < 4 AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PRONOMBRE", Array As String("VENTA"))
|
||||
s=Starter.skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU, PE_COSTO_TOT, length(PE_COSTO_TOT) as L_COSTO_TOT, PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_TIPO = ? AND LENGTH(PE_CEDIS) < 4 AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PRONOMBRE", Array As String("VENTA"))
|
||||
If S.RowCount>0 Then
|
||||
For i=0 To S.RowCount -1
|
||||
S.Position=i
|
||||
@@ -788,7 +752,7 @@ Sub B_IMP2_Click
|
||||
End If
|
||||
s.Close
|
||||
|
||||
s=skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU, PE_COSTO_TOT, length(PE_COSTO_TOT) as L_COSTO_TOT, PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_TIPO = ? AND LENGTH(PE_CEDIS) > 3 AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_CEDIS, PE_COSTOU", Array As String("VENTA"))
|
||||
s=Starter.skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU, PE_COSTO_TOT, length(PE_COSTO_TOT) as L_COSTO_TOT, PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_TIPO = ? AND LENGTH(PE_CEDIS) > 3 AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_CEDIS, PE_COSTOU", Array As String("VENTA"))
|
||||
If S.RowCount>0 Then
|
||||
Printer1.WriteString("----PROMOS----" & CRLF)
|
||||
|
||||
@@ -822,7 +786,7 @@ Sub B_IMP2_Click
|
||||
s.Close
|
||||
|
||||
Printer1.WriteString(" " & CRLF)
|
||||
s=skmt.ExecQuery2("select SUM(PE_COSTO_TOT) AS TOTAL FROM PEDIDO WHERE PE_TIPO = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("VENTA"))
|
||||
s=Starter.skmt.ExecQuery2("select SUM(PE_COSTO_TOT) AS TOTAL FROM PEDIDO WHERE PE_TIPO = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("VENTA"))
|
||||
s.Position =0
|
||||
Printer1.WriteString("Total entrega: $" & s.GetString("TOTAL") & CRLF)
|
||||
s.Close
|
||||
@@ -846,14 +810,14 @@ Sub B_IMP2_Click
|
||||
End Sub
|
||||
|
||||
Sub B_INV_Click
|
||||
c=skmt.ExecQuery("select USUARIO from usuarioa")
|
||||
c=Starter.skmt.ExecQuery("select USUARIO from usuarioa")
|
||||
c.Position=0
|
||||
usuario = c.GetString("USUARIO")
|
||||
DateTime.DateFormat = "MM/dd/yyyy"
|
||||
sDate=DateTime.Date(DateTime.Now)
|
||||
sTime=DateTime.Time(DateTime.Now)
|
||||
c.Close
|
||||
|
||||
|
||||
TAMANO = 5
|
||||
ESPACIO = 21
|
||||
BLANCO = " "
|
||||
@@ -864,11 +828,10 @@ Sub B_INV_Click
|
||||
Printer1.WriteString("Vendedor:" & usuario & CRLF )
|
||||
Printer1.WriteString("-------------VENTA-------------" & CRLF)
|
||||
|
||||
E1=skmt.ExecQuery2("Select count(*) As CUANTOS from pedido where PE_TIPO = ?", Array As String("VENTA"))
|
||||
E1=Starter.skmt.ExecQuery2("Select count(*) As CUANTOS from pedido where PE_TIPO = ?", Array As String("VENTA"))
|
||||
E1.Position = 0
|
||||
If E1.GetString("CUANTOS") > 0 Then
|
||||
|
||||
c=skmt.ExecQuery2("Select sum(PE_COSTO_TOT) As MONTO_DIA from pedido where PE_TIPO = ?", Array As String("VENTA"))
|
||||
c=Starter.skmt.ExecQuery2("Select sum(PE_COSTO_TOT) As MONTO_DIA from pedido where PE_TIPO = ?", Array As String("VENTA"))
|
||||
c.Position = 0
|
||||
Printer1.WriteString("VENTA: " & c.GetString("MONTO_DIA") & CRLF)
|
||||
c.Close
|
||||
@@ -876,13 +839,11 @@ Sub B_INV_Click
|
||||
Printer1.WriteString("VENTA: " & "0" & CRLF)
|
||||
End If
|
||||
E1.Close
|
||||
|
||||
|
||||
E1=skmt.ExecQuery2("Select count(*) As CUANTOS from pedido where PE_TIPO = ?", Array As String("PREVENTA"))
|
||||
|
||||
E1=Starter.skmt.ExecQuery2("Select count(*) As CUANTOS from pedido where PE_TIPO = ?", Array As String("PREVENTA"))
|
||||
E1.Position = 0
|
||||
If E1.GetString("CUANTOS") > 0 Then
|
||||
|
||||
c=skmt.ExecQuery2("Select sum(PE_COSTO_TOT) As MONTO_DIA from pedido where PE_TIPO = ?", Array As String("PREVENTA"))
|
||||
c=Starter.skmt.ExecQuery2("Select sum(PE_COSTO_TOT) As MONTO_DIA from pedido where PE_TIPO = ?", Array As String("PREVENTA"))
|
||||
c.Position = 0
|
||||
Printer1.WriteString("PREVENTA: " & c.GetString("MONTO_DIA") & CRLF)
|
||||
c.Close
|
||||
@@ -890,13 +851,11 @@ Sub B_INV_Click
|
||||
Printer1.WriteString("PREVENTA: " & "0" & CRLF)
|
||||
End If
|
||||
E1.Close
|
||||
|
||||
|
||||
E1=skmt.ExecQuery2("Select count(*) As CUANTOS from pedido where PE_TIPO = ?", Array As String("ABORDO"))
|
||||
|
||||
E1=Starter.skmt.ExecQuery2("Select count(*) As CUANTOS from pedido where PE_TIPO = ?", Array As String("ABORDO"))
|
||||
E1.Position = 0
|
||||
If E1.GetString("CUANTOS") > 0 Then
|
||||
|
||||
c=skmt.ExecQuery2("Select sum(PE_COSTO_TOT) As MONTO_DIA from pedido where PE_TIPO = ?", Array As String("ABORDO"))
|
||||
c=Starter.skmt.ExecQuery2("Select sum(PE_COSTO_TOT) As MONTO_DIA from pedido where PE_TIPO = ?", Array As String("ABORDO"))
|
||||
c.Position = 0
|
||||
Printer1.WriteString("ABORDO: " & c.GetString("MONTO_DIA") & CRLF)
|
||||
c.Close
|
||||
@@ -907,21 +866,15 @@ Sub B_INV_Click
|
||||
|
||||
Printer1.WriteString("-----------INVENTARIO-----------" & CRLF)
|
||||
' aqui es donde esta el pedo de julieta de los descuentos quitar el precio2 pero meter un if para saber si es ruta especial o es normal o que show.
|
||||
s=skmt.ExecQuery2 ("select CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_ALMACEN from cat_gunaprod2 where CAT_GP_CLASIF <> ? ORDER BY CAT_GP_NOMBRE ", Array As String("PROMOS"))
|
||||
|
||||
|
||||
s=Starter.skmt.ExecQuery2 ("select CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_ALMACEN from cat_gunaprod2 where CAT_GP_CLASIF <> ? ORDER BY CAT_GP_NOMBRE ", Array As String("PROMOS"))
|
||||
|
||||
If S.RowCount>0 Then
|
||||
For i=0 To S.RowCount -1
|
||||
S.Position=i
|
||||
|
||||
Printer1.WriteString(s.GetString("CAT_GP_NOMBRE") & CRLF)
|
||||
|
||||
Printer1.WriteString("CANTIDAD: " & s.GetString("CAT_GP_ALMACEN") & CRLF)
|
||||
|
||||
|
||||
TAMANO = TAMANO + 1
|
||||
If TAMANO > 40 Then
|
||||
|
||||
t3.Initialize("T3", 4000) ' 1000 = 1 second
|
||||
t3.Enabled = True
|
||||
Wait For t3_tick
|
||||
@@ -934,23 +887,21 @@ Sub B_INV_Click
|
||||
Printer1.WriteString(" " & CRLF)
|
||||
Printer1.WriteString("-----------RMI----------------" & CRLF)
|
||||
Printer1.WriteString(" " & CRLF)
|
||||
'c=skmt.ExecQuery2("select count(*) as CUANTOS from pedido where substr(pe_pronombre,1,6) = ? GROUP BY PE_PRONOMBRE", Array As String("CAMBIO"))
|
||||
'c=Starter.skmt.ExecQuery2("select count(*) as CUANTOS from pedido where substr(pe_pronombre,1,6) = ? GROUP BY PE_PRONOMBRE", Array As String("CAMBIO"))
|
||||
'c.Position =0
|
||||
'Cuantos = c.GETSTRING("CUANTOS")
|
||||
'c.Close
|
||||
'If Cuantos >0 Then
|
||||
c=skmt.ExecQuery2("select SUM(PE_CANT) AS CANTIDAD,PE_PRONOMBRE from pedido where substr(pe_pronombre,1,6) = ? GROUP BY PE_PRONOMBRE", Array As String("CAMBIO"))
|
||||
|
||||
c=Starter.skmt.ExecQuery2("select SUM(PE_CANT) AS CANTIDAD,PE_PRONOMBRE from pedido where substr(pe_pronombre,1,6) = ? GROUP BY PE_PRONOMBRE", Array As String("CAMBIO"))
|
||||
If C.RowCount>0 Then
|
||||
For i=0 To C.RowCount -1
|
||||
C.Position=i
|
||||
Printer1.WriteString(C.GetString("CANTIDAD") & " " & C.GetString("PE_PRONOMBRE") & CRLF )
|
||||
Next
|
||||
End If
|
||||
|
||||
c.Close
|
||||
'End If
|
||||
|
||||
|
||||
Printer1.WriteString("------------------------------" & CRLF)
|
||||
Printer1.WriteString("Nombre y Firma" & CRLF)
|
||||
Printer1.WriteString(" " & CRLF)
|
||||
@@ -966,7 +917,7 @@ Sub B_INV_Click
|
||||
End Sub
|
||||
|
||||
Sub B_VENTA_Click
|
||||
Main.tipov = "VENTA"
|
||||
Starter.tipov = "VENTA"
|
||||
'StartActivity(colonia2)
|
||||
cuestionario
|
||||
End Sub
|
||||
@@ -1015,16 +966,16 @@ Sub B_GUARDAR_Click
|
||||
Guardar.Visible = True
|
||||
B_INV.Visible = True
|
||||
|
||||
c=skmt.ExecQuery("select CUENTA from cuentaa")
|
||||
c=Starter.skmt.ExecQuery("select CUENTA from cuentaa")
|
||||
c.Position = 0
|
||||
cuenta = c.GetString("CUENTA")
|
||||
|
||||
skmt.ExecNonQuery2("INSERT INTO HIST_EXIBIDORES(CAT_CL_CLIENTE,CAT_CL_EXHIBIDOR,CAT_CL_BEXHIBIDOR) VALUES(?,?,?)", Array As Object(cuenta,TIPOEX,E_CUANTOS_E.Text))
|
||||
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_EXIBIDORES(CAT_CL_CLIENTE,CAT_CL_EXHIBIDOR,CAT_CL_BEXHIBIDOR) VALUES(?,?,?)", Array As Object(cuenta,TIPOEX,E_CUANTOS_E.Text))
|
||||
|
||||
End Sub
|
||||
|
||||
Sub B_EXIBI_Click
|
||||
s=skmt.ExecQuery("select CAT_EX_ID, CAT_EX_TIPO, CAT_EX_VALOR FROM CAT_EXHIBIDORES")
|
||||
s=Starter.skmt.ExecQuery("select CAT_EX_ID, CAT_EX_TIPO, CAT_EX_VALOR FROM CAT_EXHIBIDORES")
|
||||
|
||||
If s.RowCount>0 Then
|
||||
For i=0 To s.RowCount -1
|
||||
@@ -1069,8 +1020,8 @@ Sub Printer1_Connected (Success As Boolean)
|
||||
Log("Impresora conectada.")
|
||||
If Success Then
|
||||
ToastMessageShow("Connected successfully", False)
|
||||
skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("MACIMP"))
|
||||
skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("MACIMP",Main.mac_impresora))
|
||||
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", Starter.mac_impresora))
|
||||
B_IMP.Enabled = True
|
||||
impresoraConectada = True
|
||||
Else
|
||||
@@ -1126,14 +1077,14 @@ Sub cuestionario
|
||||
sTime=DateTime.Time(DateTime.Now)
|
||||
|
||||
If TOMAR_FOTO = 0 Then
|
||||
s=skmt.ExecQuery("select COUNT(*) AS CUANTOS from HIST_ENCUESTA where HE_CLIE In (Select cuenta from cuentaa)")
|
||||
s=Starter.skmt.ExecQuery("select COUNT(*) AS CUANTOS from HIST_ENCUESTA where HE_CLIE In (Select cuenta from cuentaa)")
|
||||
s.Position= 0
|
||||
CUANTOS = s.GetString("CUANTOS")
|
||||
Else
|
||||
CUANTOS = 0
|
||||
End If
|
||||
If CUANTOS = 0 Then
|
||||
c=skmt.ExecQuery("SELECT CAT_EP_ID ,CAT_EP_IDTIPOPREGUNTA ,CAT_CE_DESCRIPCION ,CAT_EP_PREGUNTA ,CAT_EP_RES1_PRED ,CAT_EP_RES2_PRED ,CAT_EP_RES3_PRED ,CAT_EP_ORDEN_PREGUNTA FROM CAT_ENCUESTA_PREGUNTA ORDER BY CAT_CE_DESCRIPCION, CAST(CAT_EP_ORDEN_PREGUNTA AS DECIMAL)")
|
||||
c=Starter.skmt.ExecQuery("SELECT CAT_EP_ID ,CAT_EP_IDTIPOPREGUNTA ,CAT_CE_DESCRIPCION ,CAT_EP_PREGUNTA ,CAT_EP_RES1_PRED ,CAT_EP_RES2_PRED ,CAT_EP_RES3_PRED ,CAT_EP_ORDEN_PREGUNTA FROM CAT_ENCUESTA_PREGUNTA ORDER BY CAT_CE_DESCRIPCION, CAST(CAT_EP_ORDEN_PREGUNTA AS DECIMAL)")
|
||||
If c.RowCount>0 Then
|
||||
For i=0 To c.RowCount -1
|
||||
If TOMAR_FOTO = 1 Then
|
||||
@@ -1152,25 +1103,25 @@ Sub cuestionario
|
||||
id_encuesta = c.GetString("CAT_EP_ID")
|
||||
TOMAR_FOTO = 1
|
||||
CURSOR_FOTO = i
|
||||
StartActivity(foto)
|
||||
' StartActivity(foto)
|
||||
' Msgbox("paso2","a")
|
||||
Exit
|
||||
ELSE IF c.GetString("CAT_EP_IDTIPOPREGUNTA") = 3 Then
|
||||
res = Msgbox2(c.GetString("CAT_EP_PREGUNTA"),c.GetString("CAT_CE_DESCRIPCION"), "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png"))
|
||||
If res = DialogResponse.POSITIVE Then
|
||||
skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, "SI",sDate & sTime,c.GetString("CAT_EP_ID")))
|
||||
Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, "SI",sDate & sTime,c.GetString("CAT_EP_ID")))
|
||||
Else IF res = DialogResponse.NEGATIVE Then
|
||||
skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, "NO",sDate & sTime,c.GetString("CAT_EP_ID")))
|
||||
Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, "NO",sDate & sTime,c.GetString("CAT_EP_ID")))
|
||||
Else IF res = DialogResponse.CANCEL Then
|
||||
i = i -1
|
||||
End If
|
||||
ELSE IF c.GetString("CAT_EP_IDTIPOPREGUNTA") = 4 Then
|
||||
res = Msgbox2(c.GetString("CAT_EP_PREGUNTA"),c.GetString("CAT_CE_DESCRIPCION"), "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png"))
|
||||
If res = DialogResponse.POSITIVE Then
|
||||
skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, "SI",sDate & sTime,c.GetString("CAT_EP_ID")))
|
||||
Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, "SI",sDate & sTime,c.GetString("CAT_EP_ID")))
|
||||
'i = c.GetString("CAT_EP_RES1_PRED") -1
|
||||
Else IF res = DialogResponse.NEGATIVE Then
|
||||
skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, "NO",sDate & sTime,c.GetString("CAT_EP_ID")))
|
||||
Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, "NO",sDate & sTime,c.GetString("CAT_EP_ID")))
|
||||
i = c.GetInt("CAT_EP_RES2_PRED") -2
|
||||
Else IF res = DialogResponse.CANCEL Then
|
||||
i = i -1
|
||||
@@ -1179,11 +1130,11 @@ Sub cuestionario
|
||||
ELSE If c.GetString("CAT_EP_IDTIPOPREGUNTA") = 2 Then
|
||||
res = Msgbox2(c.GetString("CAT_EP_PREGUNTA"),c.GetString("CAT_CE_DESCRIPCION"), c.GetString("CAT_EP_RES1_PRED"), c.GetString("CAT_EP_RES2_PRED"),c.GetString("CAT_EP_RES3_PRED"),LoadBitmap(File.DirAssets,"alert2.png"))
|
||||
If res = DialogResponse.POSITIVE Then
|
||||
skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, c.GetString("CAT_EP_RES1_PRED"),sDate & sTime,c.GetString("CAT_EP_ID")))
|
||||
Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, c.GetString("CAT_EP_RES1_PRED"),sDate & sTime,c.GetString("CAT_EP_ID")))
|
||||
Else IF res = DialogResponse.NEGATIVE Then
|
||||
skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, c.GetString("CAT_EP_RES3_PRED"),sDate & sTime,c.GetString("CAT_EP_ID")))
|
||||
Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, c.GetString("CAT_EP_RES3_PRED"),sDate & sTime,c.GetString("CAT_EP_ID")))
|
||||
Else IF res = DialogResponse.CANCEL Then
|
||||
skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, c.GetString("CAT_EP_RES2_PRED"),sDate & sTime,c.GetString("CAT_EP_ID")))
|
||||
Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, c.GetString("CAT_EP_RES2_PRED"),sDate & sTime,c.GetString("CAT_EP_ID")))
|
||||
End If
|
||||
' Msgbox("paso4","a")
|
||||
ELSE If c.GetString("CAT_EP_IDTIPOPREGUNTA") = 6 Then
|
||||
@@ -1212,23 +1163,23 @@ Sub cuestionario
|
||||
Exit
|
||||
Else
|
||||
' Main.tipov = "VENTA"
|
||||
StartActivity(colonia2)
|
||||
' StartActivity(colonia2)
|
||||
End If
|
||||
Next
|
||||
Else
|
||||
' Main.tipov = "VENTA"
|
||||
StartActivity(colonia2)
|
||||
' StartActivity(colonia2)
|
||||
End If
|
||||
Else
|
||||
' Main.tipov = "VENTA"
|
||||
StartActivity(colonia2)
|
||||
' StartActivity(colonia2)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Sub B_E_NEXT_Click
|
||||
Panel9.Visible = False
|
||||
skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, E_RES_E.Text ,sDate & sTime,c.GetString("CAT_EP_ID")))
|
||||
Main.tipov = "VENTA"
|
||||
Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, E_RES_E.Text ,sDate & sTime,c.GetString("CAT_EP_ID")))
|
||||
Starter.tipov = "VENTA"
|
||||
'TOMAR_FOTO = 1
|
||||
cuestionario
|
||||
'StartActivity(colonia2)
|
||||
@@ -1239,13 +1190,13 @@ Sub b_chk_e_Click
|
||||
Panel10.Visible = False
|
||||
|
||||
If Chk_1.Checked = True Then
|
||||
skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, chk_1_valor,sDate & sTime,c.GetString("CAT_EP_ID")))
|
||||
Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, chk_1_valor,sDate & sTime,c.GetString("CAT_EP_ID")))
|
||||
else if chk_2.Checked = True Then
|
||||
skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, chk_2_valor,sDate & sTime,c.GetString("CAT_EP_ID")))
|
||||
Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, chk_2_valor,sDate & sTime,c.GetString("CAT_EP_ID")))
|
||||
else if chk_3.Checked = True Then
|
||||
skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, chk_3_valor,sDate & sTime,c.GetString("CAT_EP_ID")))
|
||||
Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, chk_3_valor,sDate & sTime,c.GetString("CAT_EP_ID")))
|
||||
End If
|
||||
Main.tipov = "VENTA"
|
||||
Starter.tipov = "VENTA"
|
||||
'TOMAR_FOTO = 1
|
||||
cuestionario
|
||||
End Sub
|
||||
@@ -24,22 +24,26 @@ Sub Class_Globals
|
||||
Dim colonia As String
|
||||
Private b_qr As Button
|
||||
Private qr As QRCode
|
||||
Dim sc As Zxing_scanner
|
||||
' Dim sc As Zxing_scanner
|
||||
Dim CODIGO As String
|
||||
End Sub
|
||||
|
||||
Sub initialize
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub B4XPage_Created (Root1 As B4XView)
|
||||
'Do not forget to load the layout file created with the visual designer. For example:
|
||||
'Activity.LoadLayout("Layout1")
|
||||
Root = Root1
|
||||
Root.LoadLayout("fila")
|
||||
Root.LoadLayout("Clientes")
|
||||
entro ="2"
|
||||
' valido donde escribo el archivo de la base de datos de kmt
|
||||
ruta = File.DirInternal
|
||||
If File.Exists(ruta, "kmt.db") = False Then
|
||||
File.Copy(File.DirAssets, "kmt.db", ruta, "kmt.db")
|
||||
End If
|
||||
qr.initialize
|
||||
' qr.initialize
|
||||
End Sub
|
||||
|
||||
Sub B4XPage_Appear
|
||||
@@ -103,7 +107,8 @@ Sub ListView1_ItemClick (Position As Int, Value As Object)
|
||||
Else If entro = "4" Then
|
||||
skmt.ExecNonQuery("delete from CUENTAA")
|
||||
skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object(Value))
|
||||
StartActivity(fila)
|
||||
' StartActivity(fila)
|
||||
B4XPages.ShowPage("Cliente")
|
||||
End If
|
||||
End Sub
|
||||
|
||||
@@ -122,7 +127,8 @@ Sub Activity_KeyPress (key As Int) As Boolean
|
||||
|
||||
' I want to capture the key here so I return True
|
||||
|
||||
StartActivity(seleccion)
|
||||
' StartActivity(seleccion)
|
||||
B4XPages.ShowPage("Principal")
|
||||
Return False
|
||||
'End If
|
||||
End If
|
||||
@@ -157,15 +163,13 @@ Sub BUSCA_TextChanged (Old As String, New As String)
|
||||
c2.Close
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
Sub b_qr_Click
|
||||
'StartActivity(QR_MODULE)
|
||||
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)
|
||||
' sc.BeginScan("sc","CODIGO CLIENTE",scan_width,scan_height)
|
||||
|
||||
End Sub
|
||||
|
||||
@@ -184,7 +188,7 @@ Sub sc_result(atype As String,Values As String)
|
||||
skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object(s.GetString("CAT_CL_CODIGO")))
|
||||
s.Close
|
||||
b_qr.Visible = False
|
||||
StartActivity(fila)
|
||||
' StartActivity(fila)
|
||||
Else
|
||||
Msgbox("CODIGO " & CODIGO & " NO ENCONTRADO","AVISO")
|
||||
End If
|
||||
|
||||
184
B4A/C_Foto.bas
@@ -1,184 +0,0 @@
|
||||
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
|
||||
@@ -9,7 +9,7 @@ Sub Class_Globals
|
||||
Private xui As XUI 'ignore
|
||||
'These global variables will be declared once when the application starts.
|
||||
'These variables can be accessed from all modules.
|
||||
Dim skmt As SQL
|
||||
' Dim skmt As SQL
|
||||
Dim g As GPS
|
||||
Dim clie_id As String
|
||||
Dim sDate,sTime As String
|
||||
@@ -20,8 +20,6 @@ Sub Class_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
|
||||
@@ -30,44 +28,41 @@ Sub Class_Globals
|
||||
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
|
||||
|
||||
Sub initialize
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub B4XPage_Created (Root1 As B4XView)
|
||||
Root = Root1
|
||||
ruta = File.DirInternal
|
||||
Root.LoadLayout("tarjeta")
|
||||
B_RMI.Visible = True
|
||||
Root.LoadLayout("Historico")
|
||||
borra.Visible = False
|
||||
Titulo.Text = "Acumulado"
|
||||
b_desc.Visible = False
|
||||
If File.Exists(ruta, "kmt.db") = False Then
|
||||
File.Copy(File.DirAssets, "kmt.db", ruta, "kmt.db")
|
||||
End If
|
||||
skmt.Initialize(ruta,"kmt.db", True)
|
||||
g.Initialize("gps")
|
||||
End Sub
|
||||
|
||||
Sub B4XPage_Appear
|
||||
B_RMI.Visible = True
|
||||
If g.GPSEnabled=False Then
|
||||
ToastMessageShow("Habilitar el GPS", True)
|
||||
StartActivity(g.LocationSettingsIntent)
|
||||
Else
|
||||
g.Start(0,0)
|
||||
End If
|
||||
|
||||
L_CANT.Text =""
|
||||
L_TOTAL.Text=""
|
||||
c=skmt.ExecQuery("select count(*) as EXISTE from HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa)")
|
||||
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=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")
|
||||
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
|
||||
@@ -83,7 +78,7 @@ Sub B4XPage_Appear
|
||||
Next
|
||||
End If
|
||||
If Existe <> 0 Then
|
||||
c=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=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")
|
||||
@@ -100,15 +95,15 @@ End Sub
|
||||
|
||||
Sub Regresar_Click
|
||||
B_RMI.Visible = False
|
||||
StartActivity(fila)
|
||||
|
||||
' StartActivity(fila)
|
||||
B4XPages.ShowPage("Cliente")
|
||||
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
|
||||
StartActivity(seleccion)
|
||||
' StartActivity(seleccion)
|
||||
'Return True
|
||||
End If
|
||||
' Returning False signals the system to handle the key
|
||||
@@ -124,7 +119,7 @@ Sub ListView1_ItemClick (Position As Int, Value As Object)
|
||||
ListView2.Visible = True
|
||||
ListView1.Visible = False
|
||||
Dim label1 As Label
|
||||
|
||||
ListView2.Clear
|
||||
For i=0 To 20
|
||||
label1 = ListView2.SingleLineLayout.Label
|
||||
label1.TextSize = 15
|
||||
@@ -134,10 +129,9 @@ Sub ListView1_ItemClick (Position As Int, Value As Object)
|
||||
End Sub
|
||||
|
||||
Sub B_RMI_Click
|
||||
c=skmt.ExecQuery("select HR_CLIENTE,HR_PRONOMBRE,HR_CANT from HIST_RMI WHERE HR_CLIENTE IN (Select CUENTA from cuentaa)")
|
||||
c=Starter.skmt.ExecQuery("select HR_CLIENTE,HR_PRONOMBRE,HR_CANT from HIST_RMI WHERE HR_CLIENTE IN (Select CUENTA from cuentaa)")
|
||||
ListView1.Clear
|
||||
|
||||
If c.RowCount>0 Then
|
||||
If c.RowCount > 0 Then
|
||||
For i=0 To c.RowCount -1
|
||||
c.Position=i
|
||||
Dim label1 As Label
|
||||
|
||||
@@ -29,15 +29,14 @@ Sub Class_Globals
|
||||
Dim r_4 As RadioButton
|
||||
End Sub
|
||||
|
||||
Sub initialize
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub B4XPage_Created (Root1 As B4XView)
|
||||
Root = Root1
|
||||
Root.LoadLayout("nopago")
|
||||
' valido donde escribo el archivo de la base de datos de kmt
|
||||
ruta = File.DirInternal
|
||||
If File.Exists(ruta, "kmt.db") = False Then
|
||||
File.Copy(File.DirAssets, "kmt.db", ruta, "kmt.db")
|
||||
End If
|
||||
skmt.Initialize(ruta,"kmt.db", True)
|
||||
Root.LoadLayout("NoVenta")
|
||||
g.Initialize("gps")
|
||||
End Sub
|
||||
|
||||
Sub B4XPage_Appear
|
||||
@@ -56,7 +55,8 @@ Sub GPS_LocationChanged (Location1 As Location)
|
||||
End Sub
|
||||
|
||||
Sub CANCELA_Click
|
||||
StartActivity(fila)
|
||||
' StartActivity(fila)
|
||||
B4XPages.ShowPage("Cliente")
|
||||
End Sub
|
||||
|
||||
Sub GUARDA_Click
|
||||
@@ -72,23 +72,24 @@ Sub GUARDA_Click
|
||||
DateTime.DateFormat = "MM/dd/yyyy"
|
||||
sDate=DateTime.Date(DateTime.Now)
|
||||
sTime=DateTime.Time(DateTime.Now)
|
||||
c=skmt.ExecQuery("select CUENTA from cuentaa")
|
||||
c=Starter.skmt.ExecQuery("select CUENTA from cuentaa")
|
||||
c.Position = 0
|
||||
cuenta = c.GetString("CUENTA")
|
||||
c=skmt.ExecQuery("select usuario from usuarioa")
|
||||
c=Starter.skmt.ExecQuery("select usuario from usuarioa")
|
||||
c.Position = 0
|
||||
usuario = c.GetString("USUARIO")
|
||||
c=skmt.ExecQuery("select PE_PROID,PE_CANT FROM PEDIDO where pe_cliente in (Select CUENTA from cuentaa) ")
|
||||
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
|
||||
skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?", Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID")))
|
||||
Starter.skmt.ExecNonQuery2("update cat_gunaprod 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
|
||||
skmt.ExecNonQuery("delete from pedido_cliente where pc_cliente in (Select CUENTA from cuentaa)")
|
||||
skmt.ExecNonQuery("delete from pedido where pe_cliente in (Select CUENTA from cuentaa)")
|
||||
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)")
|
||||
|
||||
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,Main.lat_gps,Main.lon_gps))
|
||||
skmt.ExecNonQuery("UPDATE kmt_info set gestion = 3 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
|
||||
StartActivity(seleccion)
|
||||
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)")
|
||||
' StartActivity(seleccion)
|
||||
B4XPages.ShowPage("Principal")
|
||||
End Sub
|
||||
131
B4A/C_Nota.bas
@@ -21,7 +21,6 @@ Sub Class_Globals
|
||||
Dim ruta As String
|
||||
Dim Regresar As Button
|
||||
|
||||
|
||||
Dim ListView1 As ListView
|
||||
Dim L_CANT As Label
|
||||
Dim L_TOTAL As Label
|
||||
@@ -38,32 +37,26 @@ Sub Class_Globals
|
||||
Dim TIPO As String
|
||||
End Sub
|
||||
|
||||
Sub initialize
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub B4XPage_Created (Root1 As B4XView)
|
||||
'Do not forget to load the layout file created with the visual designer. For example:
|
||||
'Activity.LoadLayout("Layout1")
|
||||
Root = Root1
|
||||
g.Initialize("GPS")
|
||||
ruta = File.DirInternal
|
||||
Root.LoadLayout("tarjeta")
|
||||
Root.LoadLayout("historico")
|
||||
borra.Visible = True
|
||||
Titulo.Text = "Pedido Actual"
|
||||
' se crea o no el archivo de la base de ddatos de kmt
|
||||
'NOTAS SI SE MODIFICA LA ESTRUCTURA SE QUITA EL IF Y SE VA DIRECTO A LA SENTENCIA FILE.COPY PARA QUE
|
||||
'TOME LA NUEVA ESTRUCTURA ES MUY IMPORTANTE TENER EL IF DE LO CONTRARIO SOLO LO ESCRIBE UNA VEZ Y LO BORRA
|
||||
'SI SE REGRESA A ESTE ACTIVIDAD.
|
||||
If File.Exists(ruta, "kmt.db") = False Then
|
||||
File.Copy(File.DirAssets, "kmt.db", ruta, "kmt.db")
|
||||
End If
|
||||
|
||||
skmt.Initialize(ruta,"kmt.db", True)
|
||||
skmt.ExecNonQuery("update pedido set pe_folio = 0 where pe_folio is null")
|
||||
c=skmt.ExecQuery("select count(*) as EXISTE from pedido_cliente WHERE pc_cliente IN (Select CUENTA from cuentaa)")
|
||||
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=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")
|
||||
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
|
||||
|
||||
If c.RowCount>0 Then
|
||||
For i=0 To c.RowCount -1
|
||||
c.Position=i
|
||||
@@ -80,18 +73,11 @@ Private Sub B4XPage_Created (Root1 As B4XView)
|
||||
Next
|
||||
End If
|
||||
If Existe <> 0 Then
|
||||
c=skmt.ExecQuery("select pc_noart, pc_monto from pedido_cliente where pc_cliente in (Select CUENTA from cuentaa)")
|
||||
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
|
||||
'la_no_ird.Text = c.GetString("PR_CF_SALDO_ACORT")
|
||||
|
||||
|
||||
'ListView1.AddTwoLines(c.GetString("pr_cd_nombre"),c.GetString("pr_cd_colonia"))
|
||||
' Next
|
||||
'End If
|
||||
|
||||
End Sub
|
||||
|
||||
Sub B4XPage_Appear
|
||||
@@ -104,13 +90,13 @@ Sub B4XPage_Appear
|
||||
|
||||
L_CANT.Text =""
|
||||
L_TOTAL.Text=""
|
||||
skmt.ExecNonQuery("update pedido set pe_folio = 0 where pe_folio is null")
|
||||
Starter.skmt.ExecNonQuery("update pedido set pe_folio = 0 where pe_folio is null")
|
||||
|
||||
c=skmt.ExecQuery("select count(*) as EXISTE from pedido_cliente WHERE pc_cliente IN (Select CUENTA from cuentaa)")
|
||||
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=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")
|
||||
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
|
||||
|
||||
If c.RowCount>0 Then
|
||||
@@ -129,12 +115,12 @@ Sub B4XPage_Appear
|
||||
Next
|
||||
End If
|
||||
If Existe <> 0 Then
|
||||
c=skmt.ExecQuery("select pc_noart, pc_monto from pedido_cliente where pc_cliente in (Select CUENTA from cuentaa)")
|
||||
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")
|
||||
c.Close
|
||||
c=skmt.ExecQuery("select SUM(IFNULL(PE_DESC,0)) AS DESCUENTO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
|
||||
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
|
||||
DESC = c.GetString("DESCUENTO")
|
||||
'If L_TOTAL.Text > 1000 And DESC = 0 Then
|
||||
@@ -166,14 +152,15 @@ Sub GPS_LocationChanged (Location1 As Location)
|
||||
End Sub
|
||||
|
||||
Sub Regresar_Click
|
||||
StartActivity(fila)
|
||||
' StartActivity(fila)
|
||||
B4XPages.ShowPage("Cliente")
|
||||
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
|
||||
StartActivity(seleccion)
|
||||
' StartActivity(seleccion)
|
||||
'Return True
|
||||
End If
|
||||
' Returning False signals the system to handle the key
|
||||
@@ -182,78 +169,78 @@ End Sub
|
||||
|
||||
Sub borra_Click
|
||||
If folio <> "" Then
|
||||
result = Msgbox2("Seguro que desa borrar el pedido?","Cancelar pedido", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png"))
|
||||
result = Msgbox2("Seguro que desa borrar el pedido?","Cancelar pedido", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore
|
||||
If result = DialogResponse.POSITIVE Then
|
||||
|
||||
c=skmt.ExecQuery("select PE_PROID,PE_CANT, PE_TIPO FROM PEDIDO where pe_cliente in (Select CUENTA from cuentaa) ")
|
||||
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")
|
||||
If c.GetString("PE_TIPO") = "VENTA" Then
|
||||
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")))
|
||||
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")))
|
||||
Else
|
||||
skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?", Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID")))
|
||||
Starter.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?", Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID")))
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
|
||||
|
||||
skmt.ExecNonQuery("delete from pedido_cliente where pc_cliente in (Select CUENTA from cuentaa)")
|
||||
skmt.ExecNonQuery("delete from pedido where pe_cliente in (Select CUENTA from cuentaa)")
|
||||
skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
|
||||
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)")
|
||||
B4XPage_Appear
|
||||
End If
|
||||
Else
|
||||
Msgbox("CLIENTE YA SE TRANSMITIO, FAVOR DE LLAMAR A SOPORTE PARA ASISTENCIA","AVISO")
|
||||
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)
|
||||
result = Msgbox2("Seguro que desa borrar este articulo?","Borrar Articulo", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png"))
|
||||
result = Msgbox2("Seguro que desa borrar este articulo?","Borrar Articulo", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore
|
||||
If result = DialogResponse.POSITIVE Then
|
||||
|
||||
' If TIPO = "VENTA" Then
|
||||
' c=skmt.ExecQuery2("select count(*) AS CUANTOS from cat_gunaprod2 where CAT_GP_ID in (select pe_cedis from pedido where pe_pronombre = ? 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))
|
||||
' 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_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))
|
||||
' Else
|
||||
' c=skmt.ExecQuery2("select count(*) AS CUANTOS from cat_gunaprod where CAT_GP_ID in (select pe_cedis from pedido where pe_pronombre = ? 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))
|
||||
' c=Starter.skmt.ExecQuery2("select count(*) AS CUANTOS from cat_gunaprod where CAT_GP_ID in (select pe_cedis from pedido where pe_pronombre = ? 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))
|
||||
' End If
|
||||
c=skmt.ExecQuery2("SELECT COUNT(*) as CUANTOS FROM PEDIDO WHERE pe_cedis in (select pe_cedis from pedido where pe_pronombre = ?) and pe_cliente in (Select CUENTA from cuentaa) and length(pe_cedis) > 3 ", Array As String(Value))
|
||||
c=Starter.skmt.ExecQuery2("SELECT COUNT(*) as CUANTOS FROM PEDIDO WHERE pe_cedis in (select pe_cedis from pedido where pe_pronombre = ?) and pe_cliente in (Select CUENTA from cuentaa) and length(pe_cedis) > 3 ", Array As String(Value))
|
||||
c.Position=0
|
||||
If c.GetString("CUANTOS") > 0 Then
|
||||
|
||||
d=skmt.ExecQuery2("select PE_PROID,PE_CANT, PE_TIPO FROM PEDIDO where pe_cedis in (select pe_cedis from pedido where pe_pronombre = ?) and pe_cliente in (Select CUENTA from cuentaa) and length(pe_cedis) > 3", Array As String(Value))
|
||||
d=Starter.skmt.ExecQuery2("select PE_PROID,PE_CANT, PE_TIPO FROM PEDIDO where pe_cedis in (select pe_cedis from pedido where pe_pronombre = ?) and pe_cliente in (Select CUENTA from cuentaa) and length(pe_cedis) > 3", Array As String(Value))
|
||||
|
||||
If d.RowCount>0 Then
|
||||
For i=0 To d.RowCount -1
|
||||
d.Position=i
|
||||
TIPO = d.GetString("PE_TIPO")
|
||||
If d.GetString("PE_TIPO") = "VENTA" Then
|
||||
skmt.ExecNonQuery2("update cat_gunaprod2 set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?", Array As Object(d.GetString("PE_CANT"),d.GetString("PE_PROID")))
|
||||
Starter.skmt.ExecNonQuery2("update cat_gunaprod2 set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?", Array As Object(d.GetString("PE_CANT"),d.GetString("PE_PROID")))
|
||||
Else
|
||||
skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?", Array As Object(d.GetString("PE_CANT"),d.GetString("PE_PROID")))
|
||||
Starter.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?", Array As Object(d.GetString("PE_CANT"),d.GetString("PE_PROID")))
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
d.Close
|
||||
|
||||
|
||||
skmt.ExecNonQuery2("delete from pedido where pe_cedis in (select pe_cedis from pedido where pe_pronombre = ?) and pe_cliente in (Select CUENTA from cuentaa)", Array As Object(Value))
|
||||
Starter.skmt.ExecNonQuery2("delete from pedido where pe_cedis in (select pe_cedis from pedido where pe_pronombre = ?) and pe_cliente in (Select CUENTA from cuentaa)", Array As Object(Value))
|
||||
Else
|
||||
d=skmt.ExecQuery2("select PE_PROID,PE_CANT, PE_TIPO FROM PEDIDO where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa) ", Array As String(Value))
|
||||
d=Starter.skmt.ExecQuery2("select PE_PROID,PE_CANT, PE_TIPO FROM PEDIDO where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa) ", Array As String(Value))
|
||||
d.Position = 0
|
||||
|
||||
TIPO = d.GetString("PE_TIPO")
|
||||
If d.GetString("PE_TIPO") = "VENTA" Then
|
||||
skmt.ExecNonQuery2("update cat_gunaprod2 set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?", Array As Object(d.GetString("PE_CANT"),d.GetString("PE_PROID")))
|
||||
Starter.skmt.ExecNonQuery2("update cat_gunaprod2 set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?", Array As Object(d.GetString("PE_CANT"),d.GetString("PE_PROID")))
|
||||
Else
|
||||
skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?", Array As Object(d.GetString("PE_CANT"),d.GetString("PE_PROID")))
|
||||
Starter.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?", Array As Object(d.GetString("PE_CANT"),d.GetString("PE_PROID")))
|
||||
End If
|
||||
d.Close
|
||||
|
||||
|
||||
skmt.ExecNonQuery2("delete from pedido where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa)", Array As Object(Value))
|
||||
Starter.skmt.ExecNonQuery2("delete from pedido where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa)", Array As Object(Value))
|
||||
End If
|
||||
|
||||
|
||||
@@ -262,22 +249,22 @@ Sub ListView1_ItemLongClick (Position As Int, Value As Object)
|
||||
DateTime.DateFormat = "MM/dd/yyyy"
|
||||
sDate=DateTime.Date(DateTime.Now)
|
||||
sTime=DateTime.Time(DateTime.Now)
|
||||
c=skmt.ExecQuery("Select CUENTA from cuentaa")
|
||||
c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa")
|
||||
c.Position=0
|
||||
clie_id = c.GetString("CUENTA")
|
||||
c=skmt.ExecQuery("select USUARIO from usuarioa")
|
||||
c=Starter.skmt.ExecQuery("select USUARIO from usuarioa")
|
||||
c.Position=0
|
||||
usuario = c.GetString("USUARIO")
|
||||
|
||||
c=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=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
|
||||
skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)")
|
||||
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"), Main.lon_gps, Main.lat_gps))
|
||||
skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
|
||||
Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)")
|
||||
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
|
||||
skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)")
|
||||
skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
|
||||
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
|
||||
B4XPage_Appear
|
||||
End If
|
||||
@@ -288,21 +275,21 @@ Sub b_desc_Click
|
||||
DateTime.DateFormat = "MM/dd/yyyy"
|
||||
sDate=DateTime.Date(DateTime.Now)
|
||||
sTime=DateTime.Time(DateTime.Now)
|
||||
c=skmt.ExecQuery("Select CUENTA from cuentaa")
|
||||
c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa")
|
||||
c.Position=0
|
||||
clie_id = c.GetString("CUENTA")
|
||||
c.Close
|
||||
c=skmt.ExecQuery("select USUARIO from usuarioa")
|
||||
c=Starter.skmt.ExecQuery("select USUARIO from usuarioa")
|
||||
c.Position=0
|
||||
usuario = c.GetString("USUARIO")
|
||||
c.Close
|
||||
result = Msgbox2("Seguro que desa dar descuento del 5%?","Dar descuento", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png"))
|
||||
result = Msgbox2("Seguro que desa dar descuento del 5%?","Dar descuento", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore
|
||||
If result = DialogResponse.POSITIVE Then
|
||||
skmt.ExecNonQuery("UPDATE pedido SET PE_COSTO_TOT = PE_COSTO_TOT * .95, PE_DESC = 5 WHERE PE_CLIENTE In (select cuenta from cuentaa)")
|
||||
c=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)")
|
||||
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
|
||||
skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)")
|
||||
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"), Main.lon_gps, Main.lat_gps))
|
||||
Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)")
|
||||
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
|
||||
@@ -310,21 +297,21 @@ Sub b_desc_Click
|
||||
DateTime.DateFormat = "MM/dd/yyyy"
|
||||
sDate=DateTime.Date(DateTime.Now)
|
||||
sTime=DateTime.Time(DateTime.Now)
|
||||
c=skmt.ExecQuery("Select CUENTA from cuentaa")
|
||||
c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa")
|
||||
c.Position=0
|
||||
clie_id = c.GetString("CUENTA")
|
||||
c.Close
|
||||
c=skmt.ExecQuery("select USUARIO from usuarioa")
|
||||
c=Starter.skmt.ExecQuery("select USUARIO from usuarioa")
|
||||
c.Position=0
|
||||
usuario = c.GetString("USUARIO")
|
||||
c.Close
|
||||
result = Msgbox2("Seguro que desa CANCELAR el descuento?","Cancelar descuento", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png"))
|
||||
result = Msgbox2("Seguro que desa CANCELAR el descuento?","Cancelar descuento", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore
|
||||
If result = DialogResponse.POSITIVE Then
|
||||
skmt.ExecNonQuery("UPDATE pedido SET PE_COSTO_TOT = PE_COSTO_TOT / .95, PE_DESC = 0 WHERE PE_CLIENTE In (select cuenta from cuentaa)")
|
||||
c=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)")
|
||||
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
|
||||
skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)")
|
||||
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"),Main.lon_gps, Main.lat_gps))
|
||||
Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)")
|
||||
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
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
B4A=true
|
||||
Group=Default Group
|
||||
ModulesStructureVersion=1
|
||||
Type=Class
|
||||
Version=11.5
|
||||
@EndOfDesignText@
|
||||
@@ -156,15 +156,21 @@ Sub Class_Globals
|
||||
Private cuantos_exib As String
|
||||
Dim ime As IME
|
||||
Private l_monto_kc As Label
|
||||
Private l_version As Label
|
||||
End Sub
|
||||
|
||||
Sub initialize
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
Private Sub B4XPage_Created (Root1 As B4XView)
|
||||
EJECUTANDO=1
|
||||
SERVER = Starter.DBReqServer
|
||||
reqManager.Initialize(Me, SERVER)
|
||||
Log(SERVER)
|
||||
Root = Root1
|
||||
Root.LoadLayout("seleccion")
|
||||
Root.LoadLayout("principal")
|
||||
img2.Visible =False
|
||||
|
||||
' valido donde escribo el archivo de la base de datos de kmt
|
||||
@@ -180,10 +186,6 @@ Private Sub B4XPage_Created (Root1 As B4XView)
|
||||
DateTime.DateFormat = "MM/dd/yyyy"
|
||||
fecha=DateTime.Date(DateTime.Now)
|
||||
skmt.Initialize(ruta,"kmt.db", True)
|
||||
c=skmt.ExecQuery2("select CAT_CO_CONFIGURACION from CAT_CODIGOS where CAT_CO_PONDERACION =1 AND CAT_CO_ACCION = ?", Array As String("SERVER"))
|
||||
c.Position =0
|
||||
SERVER = c.GetString("CAT_CO_CONFIGURACION")
|
||||
c.Close
|
||||
|
||||
b=skmt.ExecQuery("Select count(*) as CUANTOS from pedido_cliente")
|
||||
b.Position=0
|
||||
@@ -243,7 +245,9 @@ Private Sub B4XPage_Created (Root1 As B4XView)
|
||||
skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_VALOR,CAT_VA_DESCRIPCION) VALUES (?,?)" , Array As String(DateTime.Time(DateTime.Now),"HoraIngreso"))
|
||||
End If
|
||||
DateTime.TimeFormat = "HH:mm:ss"
|
||||
|
||||
P1.Top = 0 : P1.left = 0
|
||||
P_RESUMEN.Top = 0 : P_RESUMEN.left = 0
|
||||
P_RESUMEN.Width = Root.Width
|
||||
End Sub
|
||||
|
||||
Sub IsConnectedToInternet As Boolean
|
||||
@@ -298,20 +302,7 @@ Sub B4XPage_Appear
|
||||
l_ruta.Text = f.GetString("CAT_CL_RUTA")
|
||||
f.Close
|
||||
End If
|
||||
|
||||
' c=skmt.ExecQuery("select noversion from version")
|
||||
' c.Position=0
|
||||
' If c.GetString("NOVERSION") <> "2.1" Then
|
||||
' ToastMessageShow("EXISTE UNA NUEVA VERSION ACTUALIZA POR FAVOR." , True)
|
||||
' cargar.Visible = False
|
||||
' Subir.Visible = False
|
||||
' connecta.Visible = False
|
||||
' trabajar.Visible = False
|
||||
' BUSCA.Visible = False
|
||||
' inv.Visible = False
|
||||
'
|
||||
' End If
|
||||
' c.Close
|
||||
|
||||
c=skmt.ExecQuery2("select count(*) as CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("FECHA"))
|
||||
c.Position =0
|
||||
If c.GetString("CUANTOS") = 0 Then
|
||||
@@ -393,76 +384,13 @@ Sub B4XPage_Appear
|
||||
|
||||
End If
|
||||
|
||||
' bu.Initialize
|
||||
' batterystatus = bu.BatteryInformation
|
||||
'
|
||||
' sb.Initialize
|
||||
' PHONE.Shell("ping -c1 -W1 google.com",Null, sb,Null)
|
||||
'
|
||||
' c = skmt.ExecQuery2("select count(CAT_VA_DESCRIPCION) as HoraIngreso from cat_variables where CAT_VA_DESCRIPCION = ? ", Array As String("HoraIngreso"))
|
||||
' c.Position = 0
|
||||
'
|
||||
' 'Valida si ya se cuenta con hora para enviar cada 5 min-----------
|
||||
' If c.GetString("HoraIngreso") > 0 Then
|
||||
' D2 = skmt.ExecQuery2("select CAT_VA_VALOR as HoraIngreso from cat_variables where CAT_VA_DESCRIPCION = ? ", Array As String("HoraIngreso"))
|
||||
' D2.Position = 0
|
||||
' HORAINGRESO = D2.GetString("HoraIngreso")
|
||||
' D2.Close
|
||||
' End If
|
||||
' DateTime.TimeFormat = "HHmmss"
|
||||
'
|
||||
' If HORAINGRESO + 500 < DateTime.Time(DateTime.Now) Then
|
||||
'
|
||||
'
|
||||
' If sb.Length > 2 And sb.ToString.SubString2(110,114) <> "smit" Then
|
||||
' c=skmt.ExecQuery("select HGDATE, HGLAT, HGLON from HIST_GPS")
|
||||
'
|
||||
' If c.RowCount>0 Then
|
||||
' For i=0 To c.RowCount -1
|
||||
' c.Position=i
|
||||
' ' s=skmt.ExecQuery2("SELECT HIST_VI_IMAGEN FROM HIST_VISITAS WHERE HIST_VI_CREDITO =?", Array As String (c.GetString("HIST_VI_CREDITO")))
|
||||
' ' s.Position =0
|
||||
' 'LO DOCUMENTO PARA NO HACER TAN PESADO LA TRAN DE DATOS QUE SOLO MANDE UNO
|
||||
'' Dim cmd As DBCommand
|
||||
'' cmd.Initialize
|
||||
'' cmd.Name = "insert_gps_actual_GUNA"
|
||||
'' cmd.Parameters = Array As Object(c.GetString("hglat"),c.GetString("hglon"),usuario,ALMACEN,l_ruta.Text )
|
||||
'' 'cmd.Parameters = Array As Object(C.GetString("HGDATE"),C.GetString("HGLAT"),C.GetString("HGLON") )
|
||||
'
|
||||
' 'reqManager.ExecuteQuery(cmd , 0, "inst_visitas")
|
||||
'
|
||||
' cmd.Initialize
|
||||
' cmd.Name = "select_fechat"
|
||||
' reqManager.ExecuteQuery(cmd , 0, "fechat")
|
||||
'
|
||||
'
|
||||
' Dim cmd As DBCommand
|
||||
' cmd.Initialize
|
||||
' cmd.Name = "UPDATE_DURK_ACTUAL2_GPS"
|
||||
' cmd.Parameters = Array As Object(L_MONTOD.Text, L_CUANTOST.Text, l_cuantosc.Text,l_porvisitar.TEXT,c.GetString("hglat"),c.GetString("hglon"),batterystatus(0),0, 0, 0,ALMACEN,l_ruta.Text )
|
||||
' reqManager.ExecuteCommand(cmd,"inst_visitas")
|
||||
' skmt.ExecNonQuery2("Update cat_variables set CAT_VA_VALOR = ? WHERE CAT_VA_DESCRIPCION = ?" , Array As String(DateTime.Time(DateTime.Now),"HoraIngreso"))
|
||||
'
|
||||
'
|
||||
'
|
||||
' ' Dim cmd As DBCommand
|
||||
' ' cmd.Initialize
|
||||
' ' cmd.Name = "update_gps_actual_TKM"
|
||||
' ' cmd.Parameters = Array As Object(C.GetString("HGLAT"),C.GetString("HGLON"),usuario )
|
||||
' ' reqManager.ExecuteQuery(cmd , 0, "inst_visitas")
|
||||
' 'lv.AddTwoLines(c.GetString("HIST_VI_CREDITO"),c.GetString("HIST_VI_RESULTADO"))
|
||||
' Next
|
||||
' End If
|
||||
' c.Close
|
||||
' End If
|
||||
' End If
|
||||
|
||||
Main.montoActual = L_MONTOD.Text
|
||||
Main.clientestotal = L_CUANTOST.Text
|
||||
Main.clientesventa = l_cuantosc.Text
|
||||
Main.clientesvisitados = l_porvisitar.TEXT
|
||||
Main.ALMACEN = ALMACEN
|
||||
Main.rutapreventa = l_ruta.text
|
||||
' Main.montoActual = L_MONTOD.Text
|
||||
' Main.clientestotal = L_CUANTOST.Text
|
||||
' Main.clientesventa = l_cuantosc.Text
|
||||
' Main.clientesvisitados = l_porvisitar.TEXT
|
||||
' Main.ALMACEN = ALMACEN
|
||||
' Main.rutapreventa = l_ruta.text
|
||||
|
||||
DateTime.TimeFormat = "HH:mm:ss"
|
||||
|
||||
@@ -496,7 +424,9 @@ Sub trabajar_Click
|
||||
c.Close
|
||||
skmt.ExecNonQuery("delete from CAT_GUNAPROD WHERE CAT_GP_CLASIF NOT IN (" & MARCASQ &")" )
|
||||
skmt.ExecNonQuery("delete from CAT_GUNAPROD WHERE CAT_GP_ID IN (SELECT CAT_DP_ID FROM CAT_DETALLES_PAQ WHERE CAT_DP_IDPROD NOT IN (SELECT CAT_GP_ID FROM CAT_GUNAPROD))")
|
||||
StartActivity(colonia)
|
||||
|
||||
' StartActivity(colonia)
|
||||
B4XPages.ShowPage("Clientes")
|
||||
|
||||
End Sub
|
||||
|
||||
@@ -1975,18 +1905,15 @@ Sub GPS_LocationChanged (Location1 As Location)
|
||||
End Sub
|
||||
|
||||
Sub connecta_Click
|
||||
' c=skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("RUTA"))
|
||||
' c.Position =0
|
||||
' If c.GetString("CAT_VA_VALOR") = l_ruta.Text Then
|
||||
ime.HideKeyboard
|
||||
Dim cmd As DBCommand
|
||||
cmd.Initialize
|
||||
cmd.Name = "UPDATE_DURK_ACTUAL2_GPS"
|
||||
cmd.Parameters = Array As Object(L_MONTOD.Text, L_CUANTOST.Text, l_cuantosc.Text,l_porvisitar.TEXT,Main.lat_gps,Main.lon_gps,batterystatus(0),0, 0, 0,ALMACEN,l_ruta.Text )
|
||||
reqManager.ExecuteCommand(cmd,"inst_visitas")
|
||||
' cmd.Parameters = Array As Object(L_MONTOD.Text, L_CUANTOST.Text, l_cuantosc.Text,l_porvisitar.TEXT,Main.lat_gps,Main.lon_gps,batterystatus(0),0, 0, 0,ALMACEN,l_ruta.Text )
|
||||
' reqManager.ExecuteCommand(cmd,"inst_visitas")
|
||||
|
||||
connecta1 = connecta1 + 1
|
||||
imei = p.GetDeviceId
|
||||
imei = ""
|
||||
conn = "1"
|
||||
Dim cmd As DBCommand
|
||||
cmd.Initialize
|
||||
@@ -2007,17 +1934,14 @@ Sub connecta_Click
|
||||
e_ruta.Text = ""
|
||||
End If
|
||||
ToastMessageShow("Validando Conexión." , True)
|
||||
' Else
|
||||
' Msgbox("LA RUTA NO ES CORRECTA","")
|
||||
' End If
|
||||
End Sub
|
||||
|
||||
Sub BUSCA_Click
|
||||
StartActivity(BUSCAR)
|
||||
' StartActivity(BUSCAR)
|
||||
End Sub
|
||||
|
||||
Sub b_mapa_Click
|
||||
StartActivity(mapas)
|
||||
' StartActivity(mapas)
|
||||
End Sub
|
||||
|
||||
Sub e_ruta_EnterPressed
|
||||
@@ -2318,7 +2242,7 @@ Sub B_OK_PAS_Click
|
||||
End Sub
|
||||
|
||||
Sub NUEVO_Click
|
||||
StartActivity(nuevocliente)
|
||||
' StartActivity(nuevocliente)
|
||||
End Sub
|
||||
|
||||
Sub B_OK_RES_Click
|
||||
@@ -2518,10 +2442,10 @@ Sub Resumen_Click
|
||||
End Sub
|
||||
|
||||
Sub B_PROXIMA_Click
|
||||
skmt.ExecNonQuery("delete from CUENTAA")
|
||||
skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object("0"))
|
||||
Main.tipov = "ABORDO"
|
||||
StartActivity(colonia2)
|
||||
' skmt.ExecNonQuery("delete from CUENTAA")
|
||||
' skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object("0"))
|
||||
' Main.tipov = "ABORDO"
|
||||
'' StartActivity(colonia2)
|
||||
End Sub
|
||||
|
||||
|
||||
@@ -2633,7 +2557,7 @@ Sub Btn_UbicarR_Click
|
||||
c.Close
|
||||
skmt.ExecNonQuery("delete from CAT_GUNAPROD WHERE CAT_GP_CLASIF NOT IN (" & MARCASQ &")" )
|
||||
skmt.ExecNonQuery("delete from CAT_GUNAPROD WHERE CAT_GP_ID IN (SELECT CAT_DP_ID FROM CAT_DETALLES_PAQ WHERE CAT_DP_IDPROD NOT IN (SELECT CAT_GP_ID FROM CAT_GUNAPROD))")
|
||||
StartActivity(MAPA_RUTAS)
|
||||
' StartActivity(MAPA_RUTAS)
|
||||
End Sub
|
||||
|
||||
Sub SUBIR_P_Click
|
||||
@@ -2794,9 +2718,9 @@ Sub SUBIR_P_Click
|
||||
End Sub
|
||||
|
||||
Sub b_e_resumen_Click
|
||||
Dim cmd As DBCommand
|
||||
cmd.Initialize
|
||||
cmd.Name = "UPDATE_DURK_ACTUAL2_GPS"
|
||||
cmd.Parameters = Array As Object(L_MONTOD.Text, L_CUANTOST.Text, l_cuantosc.Text,l_porvisitar.TEXT,Main.lat_gps,Main.lon_gps,batterystatus(0),0, 0, 0,ALMACEN,l_ruta.Text )
|
||||
reqManager.ExecuteCommand(cmd,"inst_visitas")
|
||||
' Dim cmd As DBCommand
|
||||
' cmd.Initialize
|
||||
' cmd.Name = "UPDATE_DURK_ACTUAL2_GPS"
|
||||
' cmd.Parameters = Array As Object(L_MONTOD.Text, L_CUANTOST.Text, l_cuantosc.Text,l_porvisitar.TEXT,Main.lat_gps,Main.lon_gps,batterystatus(0),0, 0, 0,ALMACEN,l_ruta.Text )
|
||||
' reqManager.ExecuteCommand(cmd,"inst_visitas")
|
||||
End Sub
|
||||
@@ -162,14 +162,14 @@ Sub ListView1_ItemClick (Position As Int, Value As Object)
|
||||
'StartActivity(fila)
|
||||
|
||||
|
||||
If Value = "PROMOS" And fila.cuenta <> "N" Then
|
||||
entro = "3"
|
||||
marca = "PROMOS"
|
||||
tipo = "PROMOS"
|
||||
Else if Value = "PROMOS" And fila.cuenta = "N" Then
|
||||
entro = "5"
|
||||
StartActivity(fila)
|
||||
End If
|
||||
' If Value = "PROMOS" And fila.cuenta <> "N" Then
|
||||
' entro = "3"
|
||||
' marca = "PROMOS"
|
||||
' tipo = "PROMOS"
|
||||
' Else if Value = "PROMOS" And fila.cuenta = "N" Then
|
||||
' entro = "5"
|
||||
'' StartActivity(fila)
|
||||
' End If
|
||||
If entro = "1" Then
|
||||
marca = Value
|
||||
skmt.Initialize(ruta,"kmt.db", True)
|
||||
@@ -246,7 +246,7 @@ Sub Activity_KeyPress (key As Int) As Boolean
|
||||
|
||||
' I want to capture the key here so I return True
|
||||
|
||||
StartActivity(fila)
|
||||
' StartActivity(fila)
|
||||
Return False
|
||||
End If
|
||||
End If
|
||||
@@ -760,7 +760,7 @@ End Sub
|
||||
Sub Terminar_Click
|
||||
|
||||
If cantidad.Text = "" Then
|
||||
StartActivity(fila)
|
||||
' StartActivity(fila)
|
||||
|
||||
ELSE If cantidad.Text > l_bodega.Text Then
|
||||
Msgbox("Exede la existencia", "ADVERTENCIA")
|
||||
@@ -892,7 +892,7 @@ Sub Terminar_Click
|
||||
skmt.ExecNonQuery("delete from pedido WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) ")
|
||||
skmt.ExecNonQuery("INSERT INTO PEDIDO SELECT * FROM PEDIDO3")
|
||||
|
||||
StartActivity(fila)
|
||||
' StartActivity(fila)
|
||||
else If l_marca.text = "PROMOS" And l_tipo.Text ="PROMOS" And PROMO_C = 0 Then
|
||||
skmt.ExecNonQuery("delete from PROIDID")
|
||||
|
||||
@@ -965,8 +965,8 @@ Sub Terminar_Click
|
||||
End If
|
||||
skmt.ExecNonQuery("delete from pedido WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) ")
|
||||
skmt.ExecNonQuery("INSERT INTO PEDIDO SELECT * FROM PEDIDO3")
|
||||
|
||||
StartActivity(fila)
|
||||
'
|
||||
' StartActivity(fila)
|
||||
|
||||
Else
|
||||
|
||||
@@ -1017,7 +1017,7 @@ Sub Terminar_Click
|
||||
skmt.ExecNonQuery("delete from pedido WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) ")
|
||||
skmt.ExecNonQuery("INSERT INTO PEDIDO SELECT * FROM PEDIDO3")
|
||||
|
||||
StartActivity(fila)
|
||||
' StartActivity(fila)
|
||||
End If
|
||||
End Sub
|
||||
Sub i_fotol_Click
|
||||
@@ -1029,7 +1029,7 @@ Sub DESC_PROMO_Click
|
||||
skmt.ExecNonQuery("delete from PROIDID")
|
||||
skmt.ExecNonQuery2("INSERT INTO PROIDID VALUES (?)", Array As Object(L_PROID.text))
|
||||
|
||||
StartActivity(detalle_promo)
|
||||
' StartActivity(detalle_promo)
|
||||
End Sub
|
||||
Sub nopromo_Click
|
||||
c=skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("CAMBIOS"))
|
||||
|
||||
1331
B4A/C_Productos2.bas
430
B4A/C_Promos.bas
@@ -1,430 +0,0 @@
|
||||
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)
|
||||
If thisLog Then LogColor(mp, Colors.blue)
|
||||
Private prodsPromo As Map = mp.Get("productos") 'Los productos de la promoción.
|
||||
' Private invDispPromo As Map = Subs.traemosInventarioDisponibleParaPromo(promo)
|
||||
Private invDispPromo As Map = Subs.restaFijosPromo(mp)
|
||||
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")
|
||||
Dim listaPreciosPV As List = mp.Get("prodsVariablesPrecios")
|
||||
' Logcolor(listaPreciosPV, Colors.red)
|
||||
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("Prods variables: " & 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.
|
||||
If thisLog Then Log("Prod Variable: " & invDispPromo.get(p))
|
||||
Private existenciaProdVariable As String = invDispPromo.get(p)
|
||||
' c2.Position=i
|
||||
' jpeg = c2.GetBlob("CAT_GP_IMG")
|
||||
' ins.InitializeFromBytesArray(jpeg, 0, jpeg.Length)
|
||||
' bmp.Initialize2(ins)
|
||||
Private indicePV = pv.IndexOf(p)
|
||||
Private estePrecio = listaPreciosPV.Get(indicePV)
|
||||
Private thisProd As Map = prodsPromo.Get(p)
|
||||
If thisLog Then Log(thisProd)
|
||||
If existenciaProdVariable > 0 Then clv_prodsVariabes.Add(CreateListItem(Subs.traeProdNombre(p)&CRLF&"Hay " & invDispPromo.Get(p) & " $" & estePrecio, estePrecio, 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
|
||||
@@ -1,24 +0,0 @@
|
||||
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.
|
||||
436
B4A/C_Subs.bas
@@ -1,436 +0,0 @@
|
||||
B4A=true
|
||||
Group=Default Group
|
||||
ModulesStructureVersion=1
|
||||
Type=Class
|
||||
Version=12.2
|
||||
@EndOfDesignText@
|
||||
Sub Class_Globals
|
||||
'These global variables will be declared once when the application starts.
|
||||
'These variables can be accessed from all modules.
|
||||
' Public GZip As GZipStrings 'Usa la libreria CompressStrings
|
||||
' Private su As StringUtils 'Usa la libreria StringUtils
|
||||
Private EventName As String 'ignore
|
||||
Private CallBack As Object 'ignore
|
||||
Dim phn As Phone
|
||||
Dim devModel As String
|
||||
Dim db, kmt, errorLog As SQL 'Requiere la libreria "SQL" 'ignore
|
||||
' Dim wifi As MLwifi
|
||||
Dim ssid As String 'ignore
|
||||
Private subsLogs As Boolean = False
|
||||
End Sub
|
||||
|
||||
'You can add more parameters here.
|
||||
Public Sub Initialize (vCallback As Object, vEventName As String) As Object
|
||||
EventName = vEventName
|
||||
CallBack = vCallback
|
||||
Return Me
|
||||
End Sub
|
||||
|
||||
'Inicializa la BD con "kmt.db" en File.DirInternal, si el archivo no existe, lo copia desde File.DirAssets.
|
||||
'Dispara el evento "dbOk" cuando termina.
|
||||
Sub dbInit As SQL
|
||||
If File.Exists(File.DirInternal, "kmt.db") = False Then File.Copy(File.DirAssets, "kmt.db", File.DirInternal, "kmt.db")
|
||||
db.Initialize(File.DirInternal,"kmt.db", True)
|
||||
dbOk(True)
|
||||
Return db
|
||||
End Sub
|
||||
|
||||
Sub dbOk(Success As Boolean)
|
||||
If SubExists(CallBack, EventName & "_dbOk") Then
|
||||
CallSub2(CallBack, EventName & "_dbOk", Success)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
'Pone el valor de phn.Model en la variable global "devModel"
|
||||
Sub getPhnId As String 'ignore
|
||||
'Requiere la libreria "Phone"
|
||||
devModel = phn.Model
|
||||
If devModel.Length <= 3 Then 'Si phn.Model esta en blanco ...
|
||||
Dim t As String = phn.GetSettings("android_id") 'Intentamos con "android_id"
|
||||
devModel = t
|
||||
End If
|
||||
If devModel.Length >= 3 Then 'Si tenemos valor para phn.Model
|
||||
File.WriteString(File.DirInternal, "phnId.txt", devModel) 'Sobreescribimos archivo phnId.txt with deviceId
|
||||
' Log("Tenemos phnId: "&devModel&" "&File.DirInternal&"/phn.txt sobreescrito")
|
||||
Else If devModel.Length < 3 Then ' Si no tenemos valor, lo leemos de phnId.txt
|
||||
Dim s As String = File.ReadString(File.DirInternal, "phnId.txt")
|
||||
devModel = s
|
||||
' Log("Leemos id de "&File.DirInternal&"/phnId.txt")
|
||||
' Log(devModel)
|
||||
End If
|
||||
Return devModel
|
||||
End Sub
|
||||
|
||||
'Convierte una fecha al formato yyMMddHHmmss
|
||||
Sub fechaKMT(fecha As String) As String 'ignore
|
||||
' Log(fecha)
|
||||
Dim OrigFormat As String = DateTime.DateFormat 'save orig date format
|
||||
DateTime.DateFormat="yyMMddHHmmss"
|
||||
Dim nuevaFecha As String=DateTime.Date(fecha)
|
||||
DateTime.DateFormat=OrigFormat 'return to orig date format
|
||||
' Log(nuevaFecha)
|
||||
Return nuevaFecha
|
||||
End Sub
|
||||
|
||||
'Escribimos las coordenadas y fecha a un archivo de texto
|
||||
Sub guardaInfoEnArchivo(coords As String) 'ignore
|
||||
' Cambiamos el formato de la hora
|
||||
Dim OrigFormat As String=DateTime.DateFormat 'save orig date format
|
||||
DateTime.DateFormat="MMM-dd HH:mm:ss"
|
||||
Dim lastUpdate As String=DateTime.Date(DateTime.Now)
|
||||
DateTime.DateFormat=OrigFormat 'return to orig date format
|
||||
|
||||
Dim ubic As String = coords&","&lastUpdate
|
||||
Dim out As OutputStream = File.OpenOutput(File.DirRootExternal, "gps.txt", True)
|
||||
Dim s As String = ubic & CRLF
|
||||
Dim t() As Byte = s.GetBytes("UTF-8")
|
||||
out.WriteBytes(t, 0, t.Length)
|
||||
out.Close
|
||||
End Sub
|
||||
|
||||
'Escribimos las coordenadas (latitud, longitud, fecha) y fecha a una BD
|
||||
Sub guardaInfoEnBD(coords As String) 'ignore
|
||||
Log("Guardamos ubicacion en BD - "&coords)
|
||||
Try
|
||||
Dim latlon() As String = Regex.Split("\|", coords)
|
||||
If latlon.Length < 2 Then latlon = Regex.Split(",", coords) 'Si son menos de 2, entonces estan separadas por comas y no por "|"
|
||||
If subsLogs Then Log("LatLon="&latlon)
|
||||
kmt.ExecNonQuery2("INSERT INTO RUTA_GPS(FECHA, LAT, LON) VALUES (?,?,?)", Array As Object (latlon(2),latlon(0),latlon(1)))
|
||||
Catch
|
||||
LogColor(LastException, Colors.red)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
'Limpiamos la tabla RUTA_GPS de la BD
|
||||
Sub deleteGPS_DB 'ignore
|
||||
kmt.ExecNonQuery("delete from RUTA_GPS")
|
||||
kmt.ExecNonQuery("vacuum;")
|
||||
ToastMessageShow("Borramos BD Coords GPS", False)
|
||||
End Sub
|
||||
|
||||
'Limpiamos la tabla errorLog de la BD
|
||||
Sub deleteErrorLog_DB 'ignore
|
||||
errorLog.ExecNonQuery("delete from errores")
|
||||
errorLog.ExecNonQuery("vacuum;")
|
||||
ToastMessageShow("BD Errores Borrada", False)
|
||||
End Sub
|
||||
|
||||
'Mandamos "coords" en un mensaje a "Sprvsr"
|
||||
'Sub mandamosLoc(coords As String) 'ignore
|
||||
'' Log("Iniciamos mandamosLoc "&coords)
|
||||
'' Log("locRequest="&Tracker.locRequest)
|
||||
' guardaInfoEnBD(coords)'Escribimos coordenadas y fecha a una bd
|
||||
' Dim t As String
|
||||
' If Tracker.locRequest="Activa" Then
|
||||
' If PushService.au = 1 Then
|
||||
' t = "au" ' es una actualizacion
|
||||
' Else
|
||||
' t = "u" ' es una peticion
|
||||
' End If
|
||||
' Dim params As Map = CreateMap("topic":"Sprvsr", "coords":coords, "t":t, "b":PushService.battery, "mt":Main.montoActual)
|
||||
' CallSub2(PushService, "mandaMensaje",params)
|
||||
' Tracker.locRequest="Enviada"
|
||||
' CallSubDelayed(Tracker,"CreateLocationRequest")
|
||||
' End If
|
||||
'End Sub
|
||||
|
||||
'Regresa la fecha y hora de hoy a las 00:00 en el formato "yyMMddHHMMSS"
|
||||
Sub fechaInicioHoy As String 'ignore
|
||||
Dim OrigFormat As String = DateTime.DateFormat 'save orig date format
|
||||
DateTime.DateFormat="yyMMdd"
|
||||
Private h As String = DateTime.Date(DateTime.Now)&"000000"
|
||||
DateTime.DateFormat=OrigFormat 'return to orig date format
|
||||
Log("Hoy="&h)
|
||||
Return h
|
||||
End Sub
|
||||
|
||||
'Guardamos "texto" a la bitacora
|
||||
Sub log2DB(texto As String) 'ignore
|
||||
LogColor(fechaKMT(DateTime.Now)&" - log2BD: '"&texto&"'", Colors.LightGray)
|
||||
kmt.ExecNonQuery2("INSERT INTO bitacora(fecha, texto) VALUES (?,?)", Array As Object (fechaKMT(DateTime.now), texto))
|
||||
End Sub
|
||||
|
||||
'Regresa verdadero si ya pasaron XX minutos de la fecha dada
|
||||
Sub masDeXXMins(hora As Int, mins As Int) As Boolean 'ignore
|
||||
If (hora + mins * DateTime.TicksPerMinute) < DateTime.Now Then
|
||||
Return True
|
||||
Else
|
||||
Return False
|
||||
End If
|
||||
End Sub
|
||||
|
||||
'Regresa verdadero si ya pasaron XX minutos de la fechaKMT dada
|
||||
Sub masDeXXMinsKMT(hora As String, mins As Int) As Boolean 'ignore
|
||||
Try
|
||||
' LogColor($"Hora=${fechaKMT(fechaKMT2Ticks(hora) + mins * DateTime.TicksPerMinute)}, Mins=${mins}, Actual=${fechaKMT(DateTime.Now)}"$,Colors.red)
|
||||
If fechaKMT2Ticks(hora) + mins * DateTime.TicksPerMinute < DateTime.Now Then
|
||||
' Log("+++ +++ "&fechaKMT(fechaKMT2Ticks(hora) + mins * DateTime.TicksPerMinute) & " < " & fechaKMT(DateTime.Now))
|
||||
Return True
|
||||
Else
|
||||
' Log("+++ +++ "&fechaKMT(fechaKMT2Ticks(hora) + mins * DateTime.TicksPerMinute) & " > " & fechaKMT(DateTime.Now))
|
||||
Return False
|
||||
End If
|
||||
Catch
|
||||
Log(LastException)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
'Limpiamos la tabla "bitacora" de la BD
|
||||
Sub borraLogDB 'ignore
|
||||
LogColor("Borramos BD de log", Colors.Magenta)
|
||||
kmt.ExecNonQuery("delete from bitacora")
|
||||
kmt.ExecNonQuery("vacuum;")
|
||||
End Sub
|
||||
|
||||
'Monitoreamos los servicios para ver si estan activos (No pausados), y si no, los reniciamos
|
||||
'Sub Monitor 'ignore
|
||||
' Private monitorStatus As Boolean = True
|
||||
' LogColor("Corriendo Subs.Monitor", Colors.RGB(161,150,0))
|
||||
' If IsPaused(Tracker) Then
|
||||
' log2DB("Reiniciando 'Tracker Pausado' desde Subs.Monitor")
|
||||
' StartService(Tracker)
|
||||
' monitorStatus = False
|
||||
' Else
|
||||
' CallSubDelayed(Tracker, "revisaFLP")
|
||||
' End If
|
||||
' If IsPaused(PushService) Then
|
||||
' log2DB("Reiniciando 'PushService Pausado' desde Subs.Monitor")
|
||||
' StartService(PushService)
|
||||
' monitorStatus = False
|
||||
' Else
|
||||
' revisaPushService
|
||||
' End If
|
||||
' If monitorStatus Then LogColor(" +++ +++ Servicios Activos", Colors.Green)
|
||||
'End Sub
|
||||
|
||||
'Convierte una fecha en formato YYMMDDHHMMSS a Ticks
|
||||
Sub fechaKMT2Ticks(fKMT As String) As Long 'ignore
|
||||
Try
|
||||
If fKMT.Length = 12 Then
|
||||
Private parteFecha As String = fKMT.SubString2(0,6)
|
||||
Private parteHora As String = fKMT.SubString(6)
|
||||
Private OrigFormat As String = DateTime.DateFormat 'save original date format
|
||||
DateTime.DateFormat="yymmdd"
|
||||
DateTime.TimeFormat="HHmmss"
|
||||
Private ticks As Long = DateTime.DateTimeParse(parteFecha,parteHora)
|
||||
DateTime.DateFormat=OrigFormat 'return to original date format
|
||||
Return ticks
|
||||
Else
|
||||
Log("Formato de fecha incorrecto, debe de ser 'YYMMDDHHMMSS', no '"&fKMT&"' largo="&fKMT.Length)
|
||||
Return 0
|
||||
End If
|
||||
Catch
|
||||
Log(LastException)
|
||||
LogColor($"Fecha dada: ${fKMT}, Parte Fecha: ${parteFecha}, Parte Hora: ${parteHora}"$, Colors.Red)
|
||||
Return 0
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Sub InstallAPK(dir As String, apk As String) 'ignore
|
||||
If File.Exists(dir, apk) Then
|
||||
Dim i As Intent
|
||||
i.Initialize(i.ACTION_VIEW, "file://" & File.Combine(dir, apk))
|
||||
i.SetType("application/vnd.android.package-archive")
|
||||
StartActivity(i)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
'Copia la base de datos del almacenamiento interno al externo en el directorio kmts.
|
||||
Sub copiaDB(result As Boolean) 'ignore
|
||||
ToastMessageShow("copiaDB", False)
|
||||
If result Then
|
||||
Dim p As String
|
||||
If File.ExternalWritable Then
|
||||
p = File.DirRootExternal
|
||||
' Log("Externo")
|
||||
Else
|
||||
p = File.DirInternal
|
||||
' Log("Interno")
|
||||
End If
|
||||
Dim theDir As String
|
||||
Try
|
||||
File.MakeDir(File.DirRootExternal,"kmts")
|
||||
theDir = "/kmts"
|
||||
Catch
|
||||
theDir = ""
|
||||
End Try
|
||||
Try
|
||||
File.Copy(File.DirInternal,"kmt.db",File.DirRootExternal&theDir,"cedex_kmt.db")
|
||||
File.Copy(File.DirInternal,"errorLog.db",File.DirRootExternal&theDir,"cedex_errorLog.db")
|
||||
ToastMessageShow("BD copiada!", False)
|
||||
Catch
|
||||
ToastMessageShow("No se pudo hacer la copia: "&LastException, True)
|
||||
End Try
|
||||
Log("rootExternal="&p)
|
||||
Log("File.DirInternal="&File.DirInternal)
|
||||
Log("File.DirRootExternal="&File.DirRootExternal)
|
||||
Else
|
||||
ToastMessageShow("Sin permisos", False)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
'Hace visible y trae al frente el panel con los parametros "Top" y "Left" dados.
|
||||
Sub panelVisible(panel As Panel, top As Int, left As Int) 'ignore
|
||||
panel.BringToFront
|
||||
panel.Visible = True
|
||||
panel.Top = top
|
||||
panel.Left = left
|
||||
End Sub
|
||||
|
||||
'Centra una etiqueta dentro de un elemento superior.
|
||||
Sub centraEtiqueta(elemento As Label, anchoElementoSuperior As Int) 'ignore
|
||||
elemento.Left = Round(anchoElementoSuperior/2)-(elemento.Width/2)
|
||||
End Sub
|
||||
|
||||
'Centra un panel horizontalmente dentro de un elemento superior.
|
||||
Sub centraPanel(elemento As Panel, anchoElementoSuperior As Int) 'ignore
|
||||
elemento.Left = Round(anchoElementoSuperior/2)-(elemento.Width/2)
|
||||
End Sub
|
||||
|
||||
'Centra un panel verticalmente dentro de un elemento superior.
|
||||
Sub centraPanelV(elemento As Panel, altoElementoSuperior As Int) 'ignore
|
||||
elemento.Top = Round(altoElementoSuperior/2)-(elemento.Height/2)
|
||||
End Sub
|
||||
|
||||
'Centra una barra de progreso dentro de un elemento superior.
|
||||
Sub centraProgressBar(elemento As ProgressBar, anchoElementoSuperior As Int) 'ignore
|
||||
elemento.Left = Round(anchoElementoSuperior/2)-(elemento.Width/2)
|
||||
End Sub
|
||||
|
||||
'Regresa el usuario de la tabla USUARIOA si es que existe, si no existe, regresa "SinUsuario".
|
||||
Sub buscaDBUsuario As String 'ignore
|
||||
Private c As Cursor
|
||||
Private usuario As String = "SinUsuario"
|
||||
c=kmt.ExecQuery("select USUARIO from usuarioa")
|
||||
c.Position=0
|
||||
If c.RowCount > 0 Then usuario = c.GetString("USUARIO")
|
||||
Return usuario
|
||||
End Sub
|
||||
|
||||
'Regresa la fecha en el formato "MM/dd/yyyy"
|
||||
Sub traeFecha As String 'ignore
|
||||
DateTime.DateFormat = "MM/dd/yyyy"
|
||||
Private sDate As String = DateTime.Date(DateTime.Now)
|
||||
Private sTime As String = DateTime.Time(DateTime.Now)
|
||||
Return sDate & sTime
|
||||
End Sub
|
||||
|
||||
'Guarda el nombre y version de la app en CAT_VARIABLES.
|
||||
Sub guardaAppInfo(skmt As SQL) 'ignore
|
||||
skmt.ExecNonQuery("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'EMPRESA' or CAT_VA_DESCRIPCION = 'APP_NAME' or CAT_VA_DESCRIPCION = 'APP_VERSION'")
|
||||
skmt.ExecNonQuery($"insert into CAT_VARIABLES (CAT_VA_DESCRIPCION, CAT_VA_VALOR) values ('APP_NAME', '${Application.LabelName}')"$)
|
||||
skmt.ExecNonQuery($"insert into CAT_VARIABLES (CAT_VA_DESCRIPCION, CAT_VA_VALOR) values ('APP_VERSION', '${Application.VersionName}')"$)
|
||||
End Sub
|
||||
|
||||
'Muestra en el Log los campos y valores que regresan en el JobDone.
|
||||
Sub logJobDoneResultados(resultado As DBResult) 'ignore
|
||||
For Each records() As Object In resultado.Rows
|
||||
LogColor($"====== ${resultado.Tag} - REGISTROS = ${resultado.Rows.Size}"$, Colors.RGB(215,37,0))
|
||||
For Each k As String In resultado.Columns.Keys
|
||||
LogColor(k & " = " & records(resultado.Columns.Get(k)), Colors.RGB(215,37,0))
|
||||
Next
|
||||
Next
|
||||
End Sub
|
||||
|
||||
'Regresa la base de datos especificada ya inicializada.
|
||||
Sub inicializaBD(ruta As String, BDName As String) As SQL
|
||||
Dim skmt As SQL
|
||||
If File.Exists(ruta, BDName) = False Then
|
||||
File.Copy(File.DirAssets, BDName, ruta, BDName)
|
||||
LogColor($"Copiamos ${BDName} de ${File.DirAssets} a ${ruta}"$,Colors.Green)
|
||||
End If
|
||||
skmt.Initialize(ruta, BDName, True)
|
||||
Return skmt
|
||||
End Sub
|
||||
|
||||
'Agrega una columna a la tabla especificada.
|
||||
'Hay que indicar el "tipo" de la columna (TEXT, INTEGER, ETC)
|
||||
'Ej. agregaColumna("TABLA", "COLUMNA", "TIPO")
|
||||
Sub agregaColumna(tabla As String, columna As String, tipo As String) 'ignore
|
||||
Try 'Intentamos usar "pragma_table_info" para revisar si existe la columna en la tabla
|
||||
Private c As Cursor = Starter.db.ExecQuery($"SELECT COUNT(*) AS fCol FROM pragma_table_info('${tabla}') WHERE name='${columna}'"$)
|
||||
c.Position = 0
|
||||
If c.GetString("fCol") = 0 Then 'Si no esta la columna la agregamos
|
||||
Starter.db.ExecNonQuery($"ALTER TABLE ${tabla} ADD COLUMN ${columna} ${tipo}"$)
|
||||
Log($"Columna "${columna} ${tipo}", agregada a "${tabla}"."$)
|
||||
End If
|
||||
Catch 'Si no funciona "pragma_table_info" lo hacemos con try/catch
|
||||
Try
|
||||
Starter.db.ExecNonQuery($"ALTER TABLE ${tabla} ADD COLUMN ${columna} ${tipo}"$)
|
||||
Log($"Columna "${columna} ${tipo}", agregada a "${tabla}".."$)
|
||||
Catch
|
||||
Log(LastException)
|
||||
End Try
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
'Regresa el DBReqServer desde CAT_VARIABLES o "N/A" si no existe.
|
||||
Sub traeDBReqServerDeBD As String 'ignore
|
||||
Dim srvr As String = "N/A"
|
||||
Dim rs As ResultSet = Starter.db.ExecQuery("select valor from cat_variables where nombre = 'servidor'")
|
||||
If rs.RowCount > 0 Then
|
||||
rs.NextRow
|
||||
srvr = rs.GetString("valor")
|
||||
End If
|
||||
Return srvr
|
||||
End Sub
|
||||
|
||||
'Regresa el valor de intervalo desde CAT_VARIABLES o "30" si no existe.
|
||||
Sub traeIntervaloDeBD As String 'ignore
|
||||
Dim intrvl As String = "30"
|
||||
Dim rs As ResultSet = Starter.db.ExecQuery("select valor from cat_variables where nombre = 'intervalo'")
|
||||
If rs.RowCount > 0 Then
|
||||
rs.NextRow
|
||||
intrvl = rs.GetString("valor")
|
||||
End If
|
||||
Return intrvl
|
||||
End Sub
|
||||
|
||||
'Regresa el valor timeout desde CAT_VARIABLES o "9000" si no existe.
|
||||
Sub traeTimeoutDeBD As String 'ignore
|
||||
Dim tmout As String = "9000"
|
||||
Dim rs As ResultSet = Starter.db.ExecQuery("select valor from cat_variables where nombre = 'timeout'")
|
||||
If rs.RowCount > 0 Then
|
||||
rs.NextRow
|
||||
tmout = rs.GetString("valor")
|
||||
End If
|
||||
Return tmout
|
||||
End Sub
|
||||
|
||||
'Crea una notificación con el "body" dado y regresa el objeto.
|
||||
Sub CreateNotification (Body As String) As Notification
|
||||
Dim notification As Notification
|
||||
notification.Initialize2(notification.IMPORTANCE_LOW)
|
||||
notification.Icon = "icon"
|
||||
notification.SetInfo("Tester", Body, Main)
|
||||
Return notification
|
||||
End Sub
|
||||
|
||||
'Genera una notificacion con importancia alta
|
||||
Sub notiHigh(title As String, body As String, id As String, activity As Object) 'ignore
|
||||
activity = Main
|
||||
Private notif As Notification
|
||||
notif.Initialize2(notif.IMPORTANCE_HIGH)
|
||||
notif.Icon = "icon"
|
||||
notif.Vibrate = False
|
||||
notif.Sound = False
|
||||
notif.AutoCancel = True
|
||||
' If logger Then Log("notiHigh: "&title)
|
||||
notif.SetInfo(title, body, activity)
|
||||
' Log("notiHigh SetInfo")
|
||||
notif.Notify(id)
|
||||
End Sub
|
||||
|
||||
'Regresa el objeto de una notificacion con importancia baja
|
||||
Sub notiLowReturn(title As String, Body As String, id As Int) As Notification 'ignore
|
||||
Private notification As Notification
|
||||
notification.Initialize2(notification.IMPORTANCE_LOW)
|
||||
' Log("notiLowReturn: "&title)
|
||||
notification.Icon = "icon"
|
||||
notification.Sound = False
|
||||
notification.Vibrate = False
|
||||
notification.SetInfo(title, Body, Main)
|
||||
notification.Notify(id)
|
||||
' Log("notiLowReturn SetInfo")
|
||||
Return notification
|
||||
End Sub
|
||||
@@ -82,14 +82,14 @@ Sub B4XPage_Appear
|
||||
End Sub
|
||||
|
||||
Sub Regresar_Click
|
||||
StartActivity(fila)
|
||||
' StartActivity(fila)
|
||||
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
|
||||
StartActivity(seleccion)
|
||||
' StartActivity(seleccion)
|
||||
'Return True
|
||||
End If
|
||||
' Returning False signals the system to handle the key
|
||||
@@ -99,7 +99,7 @@ End Sub
|
||||
Sub ListView1_ItemLongClick (Position As Int, Value As Object)
|
||||
skmt.ExecNonQuery("delete from CUENTAA")
|
||||
skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object(Value))
|
||||
StartActivity(fila)
|
||||
' StartActivity(fila)
|
||||
End Sub
|
||||
|
||||
Sub b_noventa_Click
|
||||
|
||||
@@ -50,7 +50,7 @@ Private Sub FindCamera (frontCamera As Boolean) As CameraInfoAndId
|
||||
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
|
||||
If r.GetField("facing") = cameraValue Then
|
||||
ci.cameraInfo = r.target
|
||||
ci.Id = i
|
||||
Return ci
|
||||
@@ -76,7 +76,7 @@ Private Sub SetDisplayOrientation
|
||||
Else
|
||||
previewResult = (orientation - degrees + 360) Mod 360
|
||||
result = previewResult
|
||||
' Log(previewResult)
|
||||
Log(previewResult)
|
||||
End If
|
||||
r.target = nativeCam
|
||||
r.RunMethod2("setDisplayOrientation", previewResult, "java.lang.int")
|
||||
@@ -103,7 +103,6 @@ Sub Camera_Preview (Data() As Byte)
|
||||
CallSub2(target, event & "_preview", Data)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Public Sub TakePicture
|
||||
cam.TakePicture
|
||||
End Sub
|
||||
@@ -242,24 +241,24 @@ Public Sub PreviewImageToJpeg(data() As Byte, quality As Int) As Byte()
|
||||
End Sub
|
||||
|
||||
Public Sub GetSupportedFocusModes As List
|
||||
r.target = parameters
|
||||
Return r.RunMethod("getSupportedFocusModes")
|
||||
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
|
||||
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")
|
||||
r.target = parameters
|
||||
r.RunMethod2("setFocusMode", Mode, "java.lang.String")
|
||||
End Sub
|
||||
|
||||
Public Sub GetFocusDistances As Float()
|
||||
@@ -268,7 +267,6 @@ Public Sub GetFocusDistances As Float()
|
||||
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
|
||||
@@ -276,12 +274,10 @@ Public Sub CloseNow
|
||||
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
|
||||
|
||||
@@ -4,7 +4,9 @@ ModulesStructureVersion=1
|
||||
Type=Class
|
||||
Version=6.8
|
||||
@EndOfDesignText@
|
||||
''Class module
|
||||
'Necesita la libreria RandomAccessFile, ByteConverter
|
||||
|
||||
'Class module
|
||||
Sub Class_Globals
|
||||
Private mTarget As Object
|
||||
Type DBResult (Tag As Object, Columns As Map, Rows As List)
|
||||
@@ -15,7 +17,7 @@ Sub Class_Globals
|
||||
,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
|
||||
Dim jobTagAnterior As String = "" 'Mod por CHV - 211027
|
||||
End Sub
|
||||
|
||||
'Target - The module that handles JobDone (usually Me).
|
||||
@@ -113,7 +115,7 @@ Private Sub WriteObject(o As Object, out As OutputStream)
|
||||
Else If GetType(tempArray(0)) = "[B" Then
|
||||
data = o
|
||||
out.WriteBytes(Array As Byte(T_BLOB), 0, 1)
|
||||
WriteInt(data.Length, out)
|
||||
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")
|
||||
@@ -186,7 +188,7 @@ 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 start As Long = DateTime.Now
|
||||
Dim In As InputStream = Job.GetInputStream
|
||||
Dim cs As CompressedStreams
|
||||
In = cs.WrapInputStream(In, "gzip")
|
||||
@@ -197,8 +199,8 @@ Public Sub HandleJob(Job As HttpJob) As DBResult
|
||||
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 jobTagAnterior <> Job.Tag Then LogColor("HandleJob: '"&Job.Tag&"'", Colors.Blue) 'Mod por CHV - 211023
|
||||
jobTagAnterior = Job.Tag 'Mod por CHV - 211023
|
||||
If method = "query" Then
|
||||
Dim numberOfColumns As Int = ReadInt(In)
|
||||
For i = 0 To numberOfColumns - 1
|
||||
@@ -220,7 +222,7 @@ Public Sub HandleJob(Job As HttpJob) As DBResult
|
||||
Next
|
||||
End If
|
||||
In.Close
|
||||
' Log("HandleJob: " & (DateTime.Now - start))'Comentado por CHV - 211112
|
||||
' Log("HandleJob: " & (DateTime.Now - start))
|
||||
Return table
|
||||
End Sub
|
||||
'Reads a file and returns the file as a bytes array.
|
||||
@@ -232,6 +234,7 @@ Public Sub FileToBytes(Dir As String, FileName As String) As Byte()
|
||||
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
|
||||
@@ -240,6 +243,7 @@ Public Sub ImageToBytes(Image As Bitmap) As Byte()
|
||||
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
|
||||
@@ -248,6 +252,7 @@ Public Sub BytesToImage(bytes() As Byte) 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)
|
||||
|
||||
@@ -1,114 +0,0 @@
|
||||
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
|
||||
221
B4A/Durakelo.b4a
@@ -6,17 +6,7 @@ ModuleBookmarks12=
|
||||
ModuleBookmarks13=
|
||||
ModuleBookmarks14=
|
||||
ModuleBookmarks15=
|
||||
ModuleBookmarks16=
|
||||
ModuleBookmarks17=
|
||||
ModuleBookmarks18=
|
||||
ModuleBookmarks19=
|
||||
ModuleBookmarks2=
|
||||
ModuleBookmarks20=
|
||||
ModuleBookmarks21=
|
||||
ModuleBookmarks22=
|
||||
ModuleBookmarks23=
|
||||
ModuleBookmarks24=
|
||||
ModuleBookmarks25=
|
||||
ModuleBookmarks3=
|
||||
ModuleBookmarks4=
|
||||
ModuleBookmarks5=
|
||||
@@ -32,17 +22,7 @@ ModuleBreakpoints12=
|
||||
ModuleBreakpoints13=
|
||||
ModuleBreakpoints14=
|
||||
ModuleBreakpoints15=
|
||||
ModuleBreakpoints16=
|
||||
ModuleBreakpoints17=
|
||||
ModuleBreakpoints18=
|
||||
ModuleBreakpoints19=
|
||||
ModuleBreakpoints2=
|
||||
ModuleBreakpoints20=
|
||||
ModuleBreakpoints21=
|
||||
ModuleBreakpoints22=
|
||||
ModuleBreakpoints23=
|
||||
ModuleBreakpoints24=
|
||||
ModuleBreakpoints25=
|
||||
ModuleBreakpoints3=
|
||||
ModuleBreakpoints4=
|
||||
ModuleBreakpoints5=
|
||||
@@ -52,30 +32,20 @@ ModuleBreakpoints8=
|
||||
ModuleBreakpoints9=
|
||||
ModuleClosedNodes0=
|
||||
ModuleClosedNodes1=
|
||||
ModuleClosedNodes10=1,4
|
||||
ModuleClosedNodes10=
|
||||
ModuleClosedNodes11=
|
||||
ModuleClosedNodes12=
|
||||
ModuleClosedNodes13=2
|
||||
ModuleClosedNodes14=
|
||||
ModuleClosedNodes13=
|
||||
ModuleClosedNodes14=1
|
||||
ModuleClosedNodes15=
|
||||
ModuleClosedNodes16=
|
||||
ModuleClosedNodes17=
|
||||
ModuleClosedNodes18=
|
||||
ModuleClosedNodes19=
|
||||
ModuleClosedNodes2=1,2,4,28,29,30,31,32,33
|
||||
ModuleClosedNodes20=
|
||||
ModuleClosedNodes21=
|
||||
ModuleClosedNodes22=
|
||||
ModuleClosedNodes23=
|
||||
ModuleClosedNodes24=
|
||||
ModuleClosedNodes25=
|
||||
ModuleClosedNodes3=1,3
|
||||
ModuleClosedNodes4=1,4,5,7,8,9
|
||||
ModuleClosedNodes2=
|
||||
ModuleClosedNodes3=
|
||||
ModuleClosedNodes4=
|
||||
ModuleClosedNodes5=
|
||||
ModuleClosedNodes6=1,2,3
|
||||
ModuleClosedNodes7=2
|
||||
ModuleClosedNodes6=
|
||||
ModuleClosedNodes7=
|
||||
ModuleClosedNodes8=
|
||||
ModuleClosedNodes9=1,2
|
||||
NavigationStack=C_Nota,b_desc_Click,322,0,C_Principal,B4XPage_Appear,467,0,C_Principal,JobDone,1646,0,C_Principal,e_ruta_EnterPressed,2039,0,C_Principal,B_OK_PAS_Click,2185,0,C_Productos,Activity_KeyPress,236,0,C_Clientes,Activity_KeyPress,112,0,Main,Activity_Resume,46,0,Main,Activity_KeyPress,41,0,B4XMainPage,Class_Globals,35,0,C_Promos,b_continuar_Click,423,0
|
||||
ModuleClosedNodes9=
|
||||
NavigationStack=C_Cliente,Tels_Click,306,0,C_Cliente,B_INV_Click,875,0,C_Cliente,B_IMP_Click,447,0,C_Cliente,B_IMP2_Click,670,0,C_Cliente,Guardar_Click,353,5,C_NoVenta,CANCELA_Click,52,1,C_NoVenta,GUARDA_Click,62,6,C_Cliente,initialize,131,0,Visual Designer,Cliente.bal,-100,6,C_Cliente,B4XPage_Created,162,6
|
||||
SelectedBuild=0
|
||||
VisibleModules=1,9,2,6,10,3,11
|
||||
VisibleModules=14,1,8,12,6,3,7
|
||||
|
||||
|
Before Width: | Height: | Size: 59 KiB |
|
Before Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 4.9 KiB |
BIN
B4A/Files/buscar.bal
Normal file
BIN
B4A/Files/celltitle.bal
Normal file
BIN
B4A/Files/durakelo_192x192.png
Normal file
|
After Width: | Height: | Size: 6.9 KiB |
|
Before Width: | Height: | Size: 95 KiB |
BIN
B4A/Files/engrane3.png
Normal file
|
After Width: | Height: | Size: 79 KiB |
BIN
B4A/Files/espera.gif
Normal file
|
After Width: | Height: | Size: 241 KiB |
|
Before Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 8.6 KiB |
|
Before Width: | Height: | Size: 5.7 KiB |
BIN
B4A/Files/k.png
Normal file
|
After Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 75 KiB After Width: | Height: | Size: 4.6 KiB |
|
Before Width: | Height: | Size: 108 KiB |
|
Before Width: | Height: | Size: 90 KiB |
|
Before Width: | Height: | Size: 52 KiB |
|
Before Width: | Height: | Size: 299 KiB |
BIN
B4A/Files/kmt.db
|
Before Width: | Height: | Size: 77 KiB |
|
Before Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 156 KiB |
|
Before Width: | Height: | Size: 156 KiB |
|
Before Width: | Height: | Size: 4.6 KiB |
|
Before Width: | Height: | Size: 5.0 KiB |
|
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 249 KiB |
|
Before Width: | Height: | Size: 249 KiB |
|
Before Width: | Height: | Size: 23 KiB |
BIN
B4A/Files/unilever.jpg
Normal file
|
After Width: | Height: | Size: 6.1 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 45 KiB |
|
Before Width: | Height: | Size: 310 KiB |
|
Before Width: | Height: | Size: 119 KiB |
253
B4A/FirebaseMessaging.bas
Normal file
@@ -0,0 +1,253 @@
|
||||
B4A=true
|
||||
Group=Default Group
|
||||
ModulesStructureVersion=1
|
||||
Type=Service
|
||||
Version=10.2
|
||||
@EndOfDesignText@
|
||||
'///////////////////////////////////////////////////////////////////////////////////////
|
||||
'/// Agregar estas lineas al editor de manifiestos
|
||||
'
|
||||
' CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)
|
||||
' CreateResourceFromFile(Macro, FirebaseAnalytics.Firebase)
|
||||
' CreateResourceFromFile(Macro, FirebaseAnalytics.FirebaseAnalytics)
|
||||
' CreateResourceFromFile(Macro, FirebaseNotifications.FirebaseNotifications)
|
||||
'
|
||||
'/// Agregar modulo de servicio nuevo FirebaseMessaging y copiar este modulo
|
||||
'
|
||||
'/// Bajar el archivo google-services.json de la consola de Firebase (https://console.firebase.google.com/)
|
||||
'/// El nombre de la app en el archivo json tiene que ser el mismo que el nombre del paquete (Proyecto/Conf de Compilacion/Paquete)
|
||||
'
|
||||
'/// En Starter agregar esta linea
|
||||
'
|
||||
' Sub Service_Create
|
||||
' CallSubDelayed(FirebaseMessaging, "SubscribeToTopics")
|
||||
' End Sub
|
||||
'
|
||||
'/// En Main en Sub Process_Globals agregar esta linea
|
||||
'
|
||||
' Private const API_KEY As String = "AAAAv__xxxxxxxxxxxxx-xxxxxxxxxxxxxx-xxxxxxxxxxxx"
|
||||
'
|
||||
'/// Esta llave se consigue igualmente en la consola de Firebase, configuracion de proyecto, Cloud Messaging,
|
||||
'/// es la clave de servidor.
|
||||
'///
|
||||
'/// Se necesitan agregar las librerías: FirebaseAnalitics, FirebaseNotifications, JSON y OkHttpUtils2
|
||||
'/// ... JSON es necesario si se van a enviar mensajes, si solo se van a recibir, no es necesario.
|
||||
'
|
||||
'///////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
Sub Process_Globals
|
||||
Private fm As FirebaseMessaging
|
||||
Private const API_KEY As String = "AAAAv1qt3Lk:APA91bECIR-pHn6ul53eYyoVlpPuOo85RO-0zcAgEXwE7vqw8DFSbBtCaCINiqWQAkBBZXxHtQMdpU6B-jHIqgFKVL196UgwHv0Gw6_IgmipfV_NiItjzlH9d2QNpGLp9y_JUKVjUEhP"
|
||||
Dim locRequest As String
|
||||
Dim phn As Phone
|
||||
Dim devModel As String
|
||||
Dim pe As PhoneEvents
|
||||
Dim c As Cursor
|
||||
Public GZip As GZipStrings
|
||||
Dim Subscrito As String = ""
|
||||
Dim au As String
|
||||
Dim puntosRuta As Int = 380
|
||||
End Sub
|
||||
|
||||
Sub Service_Create
|
||||
fm.Initialize("fm") 'Inicializamos FirebaseMessaging
|
||||
pe.Initialize("pe") 'Para obtener la bateria
|
||||
End Sub
|
||||
|
||||
Public Sub SubscribeToTopics
|
||||
' fm.SubscribeToTopic("Trckr") 'Global (you can subscribe to more topics)
|
||||
fm.SubscribeToTopic("Trckr") 'Tracker global
|
||||
Log("Subscrito al tracker global")
|
||||
fm.SubscribeToTopic("Trckr-Durakelo") 'Global (you can subscribe to more topics)
|
||||
Log("Subscrito a Trckr-Durakelo")
|
||||
If Starter.usuario <> Subscrito Then
|
||||
fm.SubscribeToTopic(Starter.usuario) 'Propio (you can subscribe to more topics)
|
||||
fm.UnsubscribeFromTopic(Subscrito) 'Unsubscribe from topic
|
||||
End If
|
||||
If Starter.logger Then Log("Subscrito a "&Starter.usuario)
|
||||
Subscrito = Starter.usuario
|
||||
End Sub
|
||||
|
||||
Sub Service_Start (StartingIntent As Intent)
|
||||
If StartingIntent.IsInitialized Then fm.HandleIntent(StartingIntent)
|
||||
Sleep(0)
|
||||
Service.StopAutomaticForeground 'remove if not using B4A v8+.
|
||||
StartServiceAt(Me, DateTime.Now + 10 * DateTime.TicksPerMinute, True) 'Iniciamos servicio cada XX minutos
|
||||
End Sub
|
||||
|
||||
Sub fm_MessageArrived (Message As RemoteMessage)
|
||||
If Starter.logger Then Log("Message arrived")
|
||||
If Starter.logger Then Log($"Message data: ${Message.GetData}"$)
|
||||
' getPhnId
|
||||
If Message.GetData.ContainsKey("t") Then
|
||||
Dim tipos As List = Regex.Split(",",Message.GetData.Get("t"))
|
||||
If tipos.IndexOf("pu") <> -1 Or tipos.IndexOf("au") <> -1 Then 'Si es una peticion de ubicacion
|
||||
If Starter.logger Then Log("Es una peticion de ubicacion")
|
||||
locRequest="Activa"
|
||||
If Starter.logger Then Log("Llamamos StartFLP2Reqs")
|
||||
CallSubDelayed(Tracker, "StartFLP2Reqs")
|
||||
CallSubDelayed(Tracker, "StartFLP")
|
||||
End If
|
||||
If tipos.IndexOf("au") <> -1 Then 'Si es una actualizacion de ubicacion
|
||||
au = 1
|
||||
End If
|
||||
If tipos.IndexOf("ping") <> -1 Then 'Si es un ping
|
||||
If Starter.logger Then Log("Es un ping")
|
||||
If Starter.logger Then Log("Mandamos pong")
|
||||
Dim params As Map = CreateMap("topic":"Sprv-Durakelo","title":"pong", "body":Starter.usuario&" - Recibi mensaje "&Message.GetData.Get("title"), "t":"pong")
|
||||
SendMessage(params)
|
||||
End If
|
||||
If tipos.IndexOf("bgps") <> -1 Then 'Si es una instruccion de borrar archivo gps
|
||||
If Starter.logger Then Log("Es una instruccion de borrar archivo gps")
|
||||
If Starter.logger Then Log("Borramos archivo gps")
|
||||
borramosArchivoGPS
|
||||
End If
|
||||
If tipos.IndexOf("dr") <> -1 Then 'Si es una peticion de ruta gps
|
||||
If Starter.logger Then Log("Es una peticion de Ruta GPS")
|
||||
Dim rutaGpsCmp As String = dameRuta
|
||||
Dim params As Map = CreateMap("topic":"Sprv-Durakelo","title":"ruta", "body":Starter.usuario&" - Recibi mensaje "&Message.GetData.Get("title"), "t":"ruta", "r":rutaGpsCmp)
|
||||
SendMessage(params)
|
||||
End If
|
||||
If tipos.IndexOf("bgps2") <> -1 Then 'Si es una instruccion de borrar DB gps
|
||||
If Starter.logger Then Log("Es una instruccion de borrar BD gps")
|
||||
If Starter.logger Then Log("Borramos BD gps")
|
||||
borraGPSHist
|
||||
End If
|
||||
If tipos.IndexOf("pu") = -1 And tipos.IndexOf("au") = -1 And tipos.IndexOf("ping") = -1 And tipos.IndexOf("dr") = -1 Then
|
||||
If Starter.logger Then Log("No es ping ni solicitud de ubicacion o ruta, entonces no hacemos nada")
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Sub Service_Destroy
|
||||
|
||||
End Sub
|
||||
|
||||
Sub SendMessage(params As Map)
|
||||
' Dim topic As String= params.Get("topic")
|
||||
' Dim title As String= params.Get("title")
|
||||
' Dim body As String= params.Get("body")
|
||||
' Dim tipo As String= params.Get("t")
|
||||
' If params.ContainsKey("r") Then
|
||||
' If Starter.logger Then Log("Con ruta")
|
||||
' Dim rutaGpsCmp As String= params.Get("r")
|
||||
' Else
|
||||
' If Starter.logger Then Log("Sin ruta")
|
||||
' Dim rutaGpsCmp As String = ""
|
||||
' End If
|
||||
' Dim Job As HttpJob
|
||||
' Job.Initialize("fcm", Me)
|
||||
' Dim m As Map = CreateMap("to": $"/topics/${topic}"$)
|
||||
' Dim data As Map = CreateMap("title":title, "body":body, "d":Starter.usuario, "t":tipo, "b":Main.batt, "mt":Main.montoActual, "r":rutaGpsCmp, "v":Main.v)
|
||||
' m.Put("data", data)
|
||||
' Dim jg As JSONGenerator
|
||||
' jg.Initialize(m)
|
||||
' Job.PostString("https://fcm.googleapis.com/fcm/send", jg.ToString)
|
||||
' Job.GetRequest.SetContentType("application/json;charset=UTF-8")
|
||||
' Job.GetRequest.SetHeader("Authorization", "key=" & API_KEY)
|
||||
' If Starter.logger Then Log(m)
|
||||
End Sub
|
||||
|
||||
Sub mandamosLoc(coords As String)
|
||||
' If Starter.logger Then Log("Iniciamos mandamosLoc "&coords)
|
||||
' If Starter.logger Then Log("locRequest="&locRequest)
|
||||
' Dim t As String
|
||||
' guardaInfoEnArchivo(coords)'Escribimos coordenadas y fecha a un archivo de texto
|
||||
' If locRequest="Activa" Then 'Si hay solicitud de ubicacion, entonces la mandamos ...
|
||||
' If au = 1 Then
|
||||
' t = "au" ' es una actualizacion
|
||||
' Else
|
||||
' t = "u" ' es una peticion
|
||||
' End If
|
||||
' Dim params As Map = CreateMap("topic":"Sprv-Durakelo","title":"ubicacionRecibida", "body":coords, "t":t)
|
||||
' SendMessage(params)
|
||||
' locRequest="Enviada"
|
||||
' CallSubDelayed(Tracker,"CreateLocationRequest")
|
||||
' End If
|
||||
End Sub
|
||||
|
||||
Sub guardaInfoEnArchivo(coords As String) 'Escribimos coordenadas y fecha a un archivo de texto
|
||||
'' Cambiamos el formato de la hora
|
||||
'' Dim OrigFormat As String=DateTime.DateFormat 'save orig date format
|
||||
'' DateTime.DateFormat="MMM-dd HH:mm:ss"
|
||||
'' Dim lastUpdate As String=DateTime.Date(DateTime.Now)
|
||||
'' DateTime.DateFormat=OrigFormat 'return to orig date format
|
||||
'
|
||||
' If Starter.logger Then Log("Guardamos ubicacion en db")
|
||||
' Dim latlon() As String = Regex.Split(",", coords)
|
||||
' Try
|
||||
' Main.skmt.ExecNonQuery2("INSERT INTO RUTA_GPS(fecha, lat, lon) VALUES (?,?,?)", Array As Object (latlon(2),latlon(0),latlon(1)))
|
||||
' Catch
|
||||
' If Starter.logger Then Log("Error guardando ubicacion") 'Si la horaMinSeg es el mismo no lo guarda
|
||||
' Log(LastException)
|
||||
' End Try
|
||||
End Sub
|
||||
|
||||
Sub borramosArchivoGPS
|
||||
Dim out As OutputStream = File.OpenOutput(File.DirRootExternal, "gps.txt", False)
|
||||
Dim s As String = ""
|
||||
Dim t() As Byte = s.GetBytes("UTF-8")
|
||||
out.WriteBytes(t, 0, t.Length)
|
||||
out.Close
|
||||
End Sub
|
||||
|
||||
Sub pe_BatteryChanged (Level As Int, Scale As Int, Plugged As Boolean, Intent As Intent)
|
||||
' Main.batt=Level
|
||||
End Sub
|
||||
|
||||
Sub compress(str As String) As String
|
||||
' Compression
|
||||
Private su As StringUtils
|
||||
Dim compressed() As Byte = GZip.compress(str)
|
||||
If Starter.logger Then Log($"CompressedBytesLength: ${compressed.Length}"$)
|
||||
Dim base64 As String = su.EncodeBase64(compressed)
|
||||
If Starter.logger Then Log($"CompressedBytes converted to base64 Length: ${base64.Length}"$)
|
||||
If Starter.logger Then Log($"CompressedBytes converted to base64: ${base64}"$)
|
||||
Return base64
|
||||
End Sub
|
||||
|
||||
Sub decompress(base64 As String) As String
|
||||
' Decompression
|
||||
Private su As StringUtils
|
||||
Dim decompressedbytes() As Byte = su.DecodeBase64(base64)
|
||||
If Starter.logger Then Log($"decompressedbytesLength: ${decompressedbytes.Length}"$)
|
||||
Dim bc As ByteConverter
|
||||
Dim uncompressed As String = bc.StringFromBytes(decompressedbytes,"UTF8")
|
||||
If Starter.logger Then Log($"uncompressedLength: ${uncompressed.Length}"$) ' 6163 Bytes
|
||||
If Starter.logger Then Log($"Decompressed String = ${uncompressed}"$)
|
||||
Return uncompressed
|
||||
End Sub
|
||||
|
||||
Sub dameRuta As String
|
||||
' If Starter.logger Then Log("dameRuta")
|
||||
' Dim OrigFormat As String = DateTime.DateFormat 'save orig date format
|
||||
' DateTime.DateFormat="yyMMdd"
|
||||
'' Dim lastUpdate As String=DateTime.Date(fecha)
|
||||
' Dim hoy As String = DateTime.Date(DateTime.Now)&"000000"
|
||||
' DateTime.DateFormat=OrigFormat 'return to orig date format
|
||||
' If Starter.logger Then Log(hoy)
|
||||
' Dim c As Cursor
|
||||
' c = Main.skmt.ExecQuery("select LAT, LON from RUTA_GPS where fecha > "& hoy &" order by fecha desc limit "&puntosRuta)
|
||||
' c.Position = 0
|
||||
' Dim ruta2 As String = ""
|
||||
' If c.RowCount>0 Then
|
||||
' For i=0 To c.RowCount -1
|
||||
' c.Position=i
|
||||
' ruta2=ruta2&CRLF&c.GetString("LAT")&","&c.GetString("LON")
|
||||
' Next
|
||||
' End If
|
||||
' c.Close
|
||||
' Return compress(ruta2)
|
||||
End Sub
|
||||
|
||||
Sub borraGPSHist
|
||||
' c=Main.skmt.ExecQuery("select count(*) as cuantos FROM RUTA_GPS")
|
||||
' c.Position=0
|
||||
' If Starter.logger Then Log(c.GetInt("cuantos"))
|
||||
' Main.skmt.ExecNonQuery("delete from RUTA_GPS")
|
||||
' c=Main.skmt.ExecQuery("select count(*) as cuantos FROM RUTA_GPS")
|
||||
' c.Position=0
|
||||
' Log(c.GetInt("cuantos"))
|
||||
' Log("Borramos RUTA_GPS")
|
||||
' c.Close
|
||||
End Sub
|
||||
@@ -1,86 +0,0 @@
|
||||
B4A=true
|
||||
Group=Default Group
|
||||
ModulesStructureVersion=1
|
||||
Type=Service
|
||||
Version=5.5
|
||||
@EndOfDesignText@
|
||||
#Region Module Attributes
|
||||
#StartAtBoot: False
|
||||
#End Region
|
||||
|
||||
'Modified version of HttpUtils2
|
||||
'Service module
|
||||
Sub Process_Globals
|
||||
Private hc As OkHttpClient
|
||||
Private TaskIdToJob As Map
|
||||
Public TempFolder As String
|
||||
Private taskCounter As Int
|
||||
End Sub
|
||||
|
||||
Sub Service_Create
|
||||
TempFolder = File.DirInternalCache
|
||||
hc.Initialize("hc")
|
||||
TaskIdToJob.Initialize
|
||||
End Sub
|
||||
|
||||
Sub Service_Start (StartingIntent As Intent)
|
||||
|
||||
End Sub
|
||||
|
||||
Sub Service_Destroy
|
||||
|
||||
End Sub
|
||||
|
||||
Public Sub SubmitJob(job As HttpJob) As Int
|
||||
taskCounter = taskCounter + 1
|
||||
TaskIdToJob.Put(taskCounter, job)
|
||||
If job.Username <> "" And job.Password <> "" Then
|
||||
hc.ExecuteCredentials(job.GetRequest, taskCounter, job.Username, job.Password)
|
||||
Else
|
||||
hc.Execute(job.GetRequest, taskCounter)
|
||||
End If
|
||||
Return taskCounter
|
||||
End Sub
|
||||
|
||||
Sub hc_ResponseSuccess (Response As OkHttpResponse, TaskId As Int)
|
||||
' ********** Modified code *************
|
||||
Dim cs As CountingOutputStream
|
||||
cs.Initialize(File.OpenOutput(TempFolder, TaskId, False))
|
||||
Dim j As HttpJob = TaskIdToJob.Get(TaskId)
|
||||
Dim jt As JobTag = j.Tag
|
||||
jt.CountingStream = cs
|
||||
jt.Total = Response.ContentLength
|
||||
If jt.Data.url = "" Then
|
||||
Log("Job cancelled before downloaded started")
|
||||
cs.Close
|
||||
End If
|
||||
Response.GetAsynchronously("response", cs , _
|
||||
True, TaskId)
|
||||
'**************************************
|
||||
End Sub
|
||||
|
||||
Sub Response_StreamFinish (Success As Boolean, TaskId As Int)
|
||||
If Success Then
|
||||
CompleteJob(TaskId, Success, "")
|
||||
Else
|
||||
CompleteJob(TaskId, Success, LastException.Message)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Sub hc_ResponseError (Response As OkHttpResponse, Reason As String, StatusCode As Int, TaskId As Int)
|
||||
If Response <> Null Then
|
||||
Log(Response.ErrorResponse)
|
||||
Response.Release
|
||||
End If
|
||||
CompleteJob(TaskId, False, Reason)
|
||||
End Sub
|
||||
|
||||
Sub CompleteJob(TaskId As Int, success As Boolean, errorMessage As String)
|
||||
Dim job As HttpJob
|
||||
job = TaskIdToJob.Get(TaskId)
|
||||
TaskIdToJob.Remove(TaskId)
|
||||
job.success = success
|
||||
job.errorMessage = errorMessage
|
||||
job.Complete(TaskId)
|
||||
End Sub
|
||||
|
||||
@@ -1,323 +0,0 @@
|
||||
B4A=true
|
||||
Group=Default Group
|
||||
ModulesStructureVersion=1
|
||||
Type=Activity
|
||||
Version=9.3
|
||||
@EndOfDesignText@
|
||||
#Region Activity Attributes
|
||||
#FullScreen: False
|
||||
#IncludeTitle: False
|
||||
#End Region
|
||||
|
||||
'Activity module
|
||||
Sub Process_Globals
|
||||
' Dim GPS As GPS
|
||||
' Dim rp As RuntimePermissions
|
||||
Dim ruta As String
|
||||
Dim skmt As SQL
|
||||
Dim c As Cursor
|
||||
Dim c2 As Cursor
|
||||
Dim c3 As Cursor
|
||||
End Sub
|
||||
|
||||
Sub 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 HUE_BLUE As Float
|
||||
Dim HUE_RED As Float
|
||||
Dim HUE_GREEN As Float
|
||||
Private B_AZUL As Button
|
||||
Private B_ROJO As Button
|
||||
Private B_VERDE As Button
|
||||
Private B_TODOS As Button
|
||||
Dim Tienda As String
|
||||
Dim LatitudRu As Double
|
||||
Dim LongitudRU As Double
|
||||
Dim LIST_AZUL As List
|
||||
Dim LIST_ROJO As List
|
||||
Dim LIST_VERDE As List
|
||||
Dim MARK_AZUL As Marker
|
||||
Dim MARK_ROJO As Marker
|
||||
Dim MARK_VERDE As Marker
|
||||
Dim MARK_CEDIS As Marker
|
||||
Dim rojo As String
|
||||
Dim azul As String
|
||||
Dim verde As String
|
||||
Dim todos As String
|
||||
Dim NumSerie As Int
|
||||
Dim OnInfoWindowClickListener1 As OnInfoWindowClickListener
|
||||
Dim GoogleMapEXTRA As GoogleMapsExtras
|
||||
Dim CODIGO As String
|
||||
Private SEMANA As String
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
Sub Activity_Create(FirstTime As Boolean)
|
||||
Activity.LoadLayout("MAPA_RUTAS")
|
||||
ruta = File.DirInternal
|
||||
If File.Exists(ruta, "kmt.db") = False Then
|
||||
File.Copy(File.DirAssets, "kmt.db", ruta, "kmt.db")
|
||||
End If
|
||||
skmt.Initialize(ruta,"kmt.db", True)
|
||||
'GPS
|
||||
' If(FirstTime) Then
|
||||
' GPS.Initialize("GPS")
|
||||
' End If
|
||||
|
||||
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
|
||||
' Activity.AddView(boton1, 40%x, 5dip, 25%x, 40dip)
|
||||
'Fin Boton velocidad'
|
||||
'MARK_CEDIS.IsInitialized
|
||||
MARK_AZUL.IsInitialized
|
||||
MARK_ROJO.IsInitialized
|
||||
MARK_VERDE.IsInitialized
|
||||
|
||||
LIST_AZUL.Initialize
|
||||
LIST_ROJO.Initialize
|
||||
LIST_VERDE.Initialize
|
||||
|
||||
verde = 0
|
||||
azul = 0
|
||||
rojo = 0
|
||||
todos = 1
|
||||
' c=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=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
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
Sub MapFragment1_Ready
|
||||
' skmt.Initialize(ruta,"kmt.db", True)
|
||||
gmap = MapFragment1.GetMap
|
||||
gmap.IsInitialized
|
||||
'todos= 1
|
||||
'permisos
|
||||
Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_ACCESS_FINE_LOCATION)
|
||||
Wait For Activity_PermissionResult (Permission As String, Result As Boolean)
|
||||
gmap.MyLocationEnabled = Result
|
||||
|
||||
Dim JavaMapsObject As JavaObject
|
||||
JavaMapsObject = gmap.GetUiSettings
|
||||
JavaMapsObject.RunMethod("setMapToolbarEnabled", Array As Object(True))
|
||||
|
||||
'''''''----------------------------MARKER AZUL - POR VISITAR
|
||||
|
||||
If azul = 1 Or todos = 1 Then
|
||||
c.IsInitialized
|
||||
'''''''''VERIFICAR EN QUE TABLA O EN QUE CAMPO NOS LEE LA VENTAS PENDIENTES POR VISITAR
|
||||
c=skmt.ExecQuery("select CAT_CL_CODIGO,CAT_CL_NOMBRE,CAT_CL_LAT,CAT_CL_LONG,CAT_CL_NUM_SERIEFISICO from kmt_info where gestion = 0 and CAT_CL_LAT is not null and CAT_CL_LONG is not null and CAT_CL_LAT <> 0 and CAT_CL_LONG <> 0 AND CAT_CL_NOMBRE <>'VENTA ABORDO' ORDER BY CAT_CL_NUM_SERIEFISICO ")
|
||||
If c.RowCount > 0 Then
|
||||
For i = 0 To c.RowCount -1
|
||||
c.Position = i
|
||||
LatitudRu = c.GetDouble("CAT_CL_LAT")
|
||||
LongitudRU = c.GetDouble("CAT_CL_LONG")
|
||||
CODIGO=c.GetString("CAT_CL_CODIGO")
|
||||
Tienda= c.GetString("CAT_CL_NOMBRE")
|
||||
NumSerie=c.GetInt("CAT_CL_NUM_SERIEFISICO")
|
||||
|
||||
MARK_AZUL = gmap.AddMarker3(LongitudRU,LatitudRu,CODIGO,LoadBitmap(File.DirAssets, "marker-azul-" & NumSerie &".png"))
|
||||
MARK_AZUL.Snippet = Tienda
|
||||
' MARK_AZUL = gmap.AddMarker2(LatitudRu,LongitudRU,CODIGO, gmap.HUE_BLUE)
|
||||
' MARK_AZUL.Snippet = Tienda
|
||||
Next
|
||||
LIST_AZUL.Add(MARK_AZUL)
|
||||
End If
|
||||
c.Close
|
||||
End If
|
||||
|
||||
'''''''----------------------------MARKER VERDE - VENTA
|
||||
If verde = 1 Or todos = 1 Then
|
||||
c2.IsInitialized
|
||||
'''''''''VERIFICAR EN QUE TABLA O EN QUE CAMPO NOS LEE LA VENTAS
|
||||
c2=skmt.ExecQuery("select CAT_CL_CODIGO, CAT_CL_NOMBRE,CAT_CL_LONG,CAT_CL_LAT, CAT_CL_NUM_SERIEFISICO from kmt_info where gestion = 2 and CAT_CL_LAT is not null and CAT_CL_LONG is not null and CAT_CL_LAT <> 0 and CAT_CL_LONG <> 0 AND CAT_CL_NOMBRE <>'VENTA ABORDO' ORDER BY CAT_CL_NUM_SERIEFISICO")
|
||||
For i = 0 To c2.RowCount -1
|
||||
c2.Position = i
|
||||
LongitudRU = c2.GetDouble("CAT_CL_LONG")
|
||||
LatitudRu = c2.GetDouble("CAT_CL_LAT")
|
||||
CODIGO=c2.GetString("CAT_CL_CODIGO")
|
||||
Tienda= c2.GetString("CAT_CL_NOMBRE")
|
||||
NumSerie=c2.GetInt("CAT_CL_NUM_SERIEFISICO")
|
||||
MARK_VERDE = gmap.AddMarker3(LongitudRU,LatitudRu,CODIGO, LoadBitmap(File.DirAssets, "marker-verde-"&NumSerie&".png"))
|
||||
MARK_VERDE.Snippet = Tienda
|
||||
' MARK_VERDE = gmap.AddMarker2(LatitudRu,LongitudRU,CODIGO,gmap.HUE_GREEN)
|
||||
' MARK_VERDE.Snippet = Tienda
|
||||
Next
|
||||
Else
|
||||
'''''''''VERIFICAR EN QUE TABLA O EN QUE CAMPO NOS LEE LA VENTAS--- ESTE VA IGUAL QUE EL ANTERIOR
|
||||
If verde =1 Or todos = 1 Then
|
||||
c2.IsInitialized
|
||||
c2=skmt.ExecQuery("select CAT_CL_CODIGO, CAT_CL_NOMBRE,CAT_CL_LONG,CAT_CL_LAT,CAT_CL_NUM_SERIEFISICO from kmt_info where gestion = 2 and CAT_CL_LAT is not null and CAT_CL_LONG is not null and CAT_CL_LAT <> 0 and CAT_CL_LONG <> 0 AND CAT_CL_NOMBRE <>'VENTA ABORDO' ORDER BY CAT_CL_NUM_SERIEFISICO")
|
||||
For i = 0 To c2.RowCount -1
|
||||
c2.Position = i
|
||||
LongitudRU = c2.GetDouble("CAT_CL_LONG")
|
||||
LatitudRu = c2.GetDouble("CAT_CL_LAT")
|
||||
CODIGO=c2.GetString("CAT_CL_CODIGO")
|
||||
Tienda= c2.GetString("CAT_CL_NOMBRE")
|
||||
|
||||
NumSerie=c2.GetInt("CAT_CL_NUM_SERIEFISICO")
|
||||
MARK_VERDE = gmap.AddMarker3(LongitudRU,LatitudRu,CODIGO, LoadBitmap(File.DirAssets, "marker-verde-"&NumSerie&".png"))
|
||||
MARK_VERDE.Snippet = Tienda
|
||||
' MARK_VERDE = gmap.AddMarker2(LatitudRu,LongitudRU,CODIGO,gmap.HUE_GREEN)
|
||||
' MARK_VERDE.Snippet = Tienda
|
||||
Next
|
||||
c2 .Close
|
||||
LIST_VERDE.Add(MARK_VERDE)
|
||||
End If
|
||||
End If
|
||||
|
||||
' '''''''----------------------------MARKER ROJO - NO VENTA
|
||||
'''''''''VERIFICAR EN QUE TABLA O EN QUE CAMPO NOS LEE LAS NO VENTAS
|
||||
If rojo =1 Or todos = 1 Then
|
||||
c3.IsInitialized
|
||||
c3=skmt.ExecQuery("select CAT_CL_CODIGO, CAT_CL_NOMBRE,CAT_CL_LONG,CAT_CL_LAT ,CAT_CL_NUM_SERIEFISICO from kmt_info where gestion = 3 and CAT_CL_LAT is not null and CAT_CL_LONG is not null and CAT_CL_LAT <> 0 and CAT_CL_LONG <> 0 AND CAT_CL_NOMBRE <>'VENTA ABORDO' ORDER BY CAT_CL_NUM_SERIEFISICO")
|
||||
For i = 0 To c3.RowCount -1
|
||||
c3.Position = i
|
||||
LongitudRU = c3.GetDouble("CAT_CL_LONG")
|
||||
LatitudRu = c3.GetDouble("CAT_CL_LAT")
|
||||
Tienda= c3.GetString("CAT_CL_NOMBRE")
|
||||
NumSerie=c3.GetInt("CAT_CL_NUM_SERIEFISICO")
|
||||
MARK_ROJO = gmap.AddMarker3(LongitudRU,LatitudRu,CODIGO, LoadBitmap(File.DirAssets, "marker-rojo-" & NumSerie &".png"))
|
||||
MARK_ROJO.Snippet = Tienda
|
||||
' MARK_ROJO = gmap.AddMarker2(LatitudRu,LongitudRU,Tienda, gmap.HUE_RED)
|
||||
' MARK_ROJO.Snippet = Tienda
|
||||
Next
|
||||
|
||||
Else
|
||||
'''''''''VERIFICAR EN QUE TABLA O EN QUE CAMPO NOS LEE LAS NO VENTAS- ESTE VA IGUAL QUE EL ANTERIOR
|
||||
If rojo =1 Or todos = 1 Then
|
||||
c3.IsInitialized
|
||||
c3=skmt.ExecQuery("select CAT_CL_CODIGO, CAT_CL_NOMBRE,CAT_CL_LONG,CAT_CL_LAT, CAT_CL_NUM_SERIEFISICO from kmt_info where gestion = 3 and CAT_CL_LAT is not null and CAT_CL_LONG is not null and CAT_CL_LAT <> 0 and CAT_CL_LONG <> 0 AND CAT_CL_NOMBRE <>'VENTA ABORDO' ORDER BY CAT_CL_NUM_SERIEFISICO")
|
||||
For i = 0 To c3.RowCount -1
|
||||
c3.Position = i
|
||||
LongitudRU = c3.GetDouble("CAT_CL_LONG")
|
||||
LatitudRu = c3.GetDouble("CAT_CL_LAT")
|
||||
Tienda= c3.GetString("CAT_CL_NOMBRE")
|
||||
NumSerie=c3.GetInt("CAT_CL_NUM_SERIEFISICO")
|
||||
MARK_ROJO = gmap.AddMarker3(LongitudRU,LatitudRu,CODIGO, LoadBitmap(File.DirAssets, "marker-rojo-" & NumSerie &".png"))
|
||||
MARK_ROJO.Snippet = Tienda
|
||||
' MARK_ROJO = gmap.AddMarker2(LatitudRu,LongitudRU,Tienda, gmap.HUE_RED)
|
||||
' MARK_ROJO.Snippet = Tienda
|
||||
Next
|
||||
LIST_ROJO.Add(MARK_ROJO)
|
||||
c3.Close
|
||||
End If
|
||||
End If
|
||||
''------------------------------
|
||||
|
||||
' MARK_CEDIS = gmap.AddMarker3("19.3961802","-99.0784293","CEDIS", LoadBitmap(File.DirAssets, "marker-azul-0.png"))
|
||||
' If MARK_VERDE.Visible Or MARK_ROJO.Visible Then
|
||||
' MARK_CEDIS.Remove
|
||||
' End If
|
||||
Dim aa As CameraPosition
|
||||
aa.Initialize(LongitudRU,LatitudRu,15)''' RECOMENDABLE CAMBIAR A 10 PARA QUE SE VEAN MAS MARCADORES
|
||||
gmap.AnimateCamera(aa)
|
||||
|
||||
'''''---------------------- ESTO ES PARA LOS CLICK EN LAS VENTANAS DE INFORMACION-----------
|
||||
Dim OnInfoWindowClickListener1 As OnInfoWindowClickListener
|
||||
OnInfoWindowClickListener1.Initialize("OnInfoWindowClickListener1")
|
||||
GoogleMapEXTRA.SetOnInfoWindowClickListener(gmap, OnInfoWindowClickListener1)
|
||||
|
||||
End Sub
|
||||
|
||||
Sub OnInfoWindowClickListener1_click(Marker1 As Marker)
|
||||
skmt.ExecNonQuery("delete from CUENTAA")
|
||||
skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?) ", Array As Object(Marker1.Title))
|
||||
StartActivity(fila)
|
||||
End Sub
|
||||
|
||||
Sub GPS_LocationChanged (Parametro As Location)
|
||||
MARK_CEDIS.IsInitialized
|
||||
' Parametro.ConvertToSeconds(Parametro.Latitude)
|
||||
' Parametro.ConvertToSeconds(Parametro.Longitude)
|
||||
'
|
||||
' 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)
|
||||
' If Latitud <> 0 And Longitud <> 0 Then
|
||||
' If Distance > 10 Then
|
||||
' Lat2 = Latitud
|
||||
' Lon2 = Longitud
|
||||
' Dim cp As CameraPosition
|
||||
' cp.Initialize2(Parametro.Latitude, Parametro.Longitude, gmap.CameraPosition.Zoom, Parametro.Bearing, 0)
|
||||
' gmap.AnimateCamera(cp)
|
||||
' End If
|
||||
' End If
|
||||
End Sub
|
||||
|
||||
Sub Activity_Resume
|
||||
' If GPS.GPSEnabled = False Then
|
||||
' ToastMessageShow("Debe Activar el GPS del Equipo.", True)
|
||||
' StartActivity(GPS.LocationSettingsIntent)
|
||||
' Else
|
||||
' GPS.Start(0, 0)
|
||||
' End If
|
||||
End Sub
|
||||
|
||||
Sub Activity_Pause (UserClosed As Boolean)
|
||||
' GPS.Stop
|
||||
End Sub
|
||||
|
||||
Sub B_TODOS_Click
|
||||
todos =1
|
||||
verde = 0
|
||||
azul = 0
|
||||
rojo = 0
|
||||
MapFragment1_Ready
|
||||
End Sub
|
||||
|
||||
Sub B_VERDE_Click
|
||||
verde = 1
|
||||
azul = 0
|
||||
rojo = 0
|
||||
todos = 0
|
||||
gmap.Clear
|
||||
MapFragment1_Ready
|
||||
End Sub
|
||||
|
||||
Sub B_ROJO_Click
|
||||
rojo = 1
|
||||
verde = 0
|
||||
azul = 0
|
||||
todos = 0
|
||||
gmap.Clear
|
||||
MapFragment1_Ready
|
||||
End Sub
|
||||
|
||||
Sub B_AZUL_Click
|
||||
azul = 1
|
||||
verde = 0
|
||||
rojo = 0
|
||||
todos = 0
|
||||
gmap.Clear
|
||||
MapFragment1_Ready
|
||||
End Sub
|
||||
79
B4A/ManageExternalStorage.bas
Normal file
@@ -0,0 +1,79 @@
|
||||
B4A=true
|
||||
Group=Default Group
|
||||
ModulesStructureVersion=1
|
||||
Type=Class
|
||||
Version=10.7
|
||||
@EndOfDesignText@
|
||||
' Version 1.00
|
||||
#Event: StorageAvailable
|
||||
Sub Class_Globals
|
||||
Private ion As Object
|
||||
Private mCallback As Object
|
||||
Private mEventName As String
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
' This pretty trivial class is modelled on (plagiarised from!) Erel's ExternalStorage class
|
||||
' It applies to devices implementing SDK30 and later
|
||||
' It allows apps to access the internal 'external' storage as was possible on earlier Android versions ussing traditional file I/O
|
||||
' You must manually add 'AddPermission(android.permission.MANAGE_EXTERNAL_STORAGE)' to the manifest
|
||||
' You must ensure that you provide the package name of your app in Sub GetPermission
|
||||
' This class uses the MANAGE_APP_ALL_FILES_ACCESS_PERMISSION intent action to direct users to a system settings page
|
||||
' They must enable the option on that page to give permission
|
||||
|
||||
'Initializes the object
|
||||
Public Sub Initialize (Callback As Object, EventName As String)
|
||||
mCallback = Callback
|
||||
mEventName = EventName
|
||||
End Sub
|
||||
|
||||
|
||||
' Determine if the app already has MANAGE_EXTERNAL_STORAGE call Environment.isExternalStorageManager()
|
||||
' Return True if this app already has MANAGE_EXTERNAL_STORAGE permission
|
||||
Public Sub HasPermission As Boolean
|
||||
Dim has As Boolean
|
||||
Dim jo As JavaObject
|
||||
jo.InitializeStatic("android.os.Environment")
|
||||
has = jo.RunMethod("isExternalStorageManager", Null)
|
||||
Return has
|
||||
End Sub
|
||||
|
||||
' Check whether this app has MANAGE_EXTERNAL_STORAGE permission
|
||||
' If not show the user a dialog to enable MANAGE_EXTERNAL_STORAGE permission for this app
|
||||
' Raises the StorageAvailable event in the calling activity when complete
|
||||
Public Sub GetPermission
|
||||
If HasPermission Then
|
||||
RaiseEvent
|
||||
Return
|
||||
End If
|
||||
Dim in As Intent
|
||||
' Be sure to reference your app package name in "pakageg:xxx"
|
||||
in.Initialize("android.settings.MANAGE_APP_ALL_FILES_ACCESS_PERMISSION", $"package:${Application.PackageName}"$)
|
||||
StartActivityForResult(in)
|
||||
End Sub
|
||||
|
||||
|
||||
Private Sub RaiseEvent
|
||||
Log("Calling : " & mEventName & "_StorageAvailable")
|
||||
CallSubDelayed(mCallback, mEventName & "_StorageAvailable")
|
||||
End Sub
|
||||
|
||||
|
||||
Private Sub ion_Event (MethodName As String, Args() As Object) As Object
|
||||
RaiseEvent
|
||||
Return Null
|
||||
End Sub
|
||||
|
||||
|
||||
Private Sub StartActivityForResult(i As Intent)
|
||||
Dim jo As JavaObject = GetBA
|
||||
ion = jo.CreateEvent("anywheresoftware.b4a.IOnActivityResult", "ion", Null)
|
||||
jo.RunMethod("startActivityForResult", Array As Object(ion, i))
|
||||
End Sub
|
||||
|
||||
Private Sub GetBA As Object
|
||||
Dim jo As JavaObject = Me
|
||||
Return jo.RunMethod("getBA", Null)
|
||||
End Sub
|
||||
|
||||
15
B4A/Mods.bas
@@ -1,15 +0,0 @@
|
||||
B4A=true
|
||||
Group=Default Group
|
||||
ModulesStructureVersion=1
|
||||
Type=StaticCode
|
||||
Version=11.5
|
||||
@EndOfDesignText@
|
||||
Sub process_globals
|
||||
End Sub
|
||||
|
||||
'Ver 2.10.17
|
||||
'Se corrigieron en "mapas_rutas" y en "c_mapas" errores donde la longitud y latitud estaban invertidas y marcaba las tiendas en Africa.
|
||||
'Ver 2.09.03
|
||||
'Se agregó código en "C_Cliente.GPS_LocationChanged" para que cuando haya un cambio de ubicacion, se actualize el texto del boton "b_ubicacion".
|
||||
'Se agregó código en "C_Cliente.B4XPage_Appear" para que cuando se entre a "C_Cliente" el cambio minimo de distancia (SetSmallestDisplacement) de la ubicacion sea 1,
|
||||
'y cuando se salga de "C_Cliente" regrese a 75 (C_Cliente.Guardar_Click).
|
||||