This commit is contained in:
2023-10-16 19:01:04 -06:00
parent eb20c14c48
commit 57ef651054
112 changed files with 1988 additions and 7132 deletions

View File

@@ -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
View 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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -1,6 +0,0 @@
B4A=true
Group=Default Group
ModulesStructureVersion=1
Type=Class
Version=11.5
@EndOfDesignText@

View File

@@ -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

View File

@@ -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"))

File diff suppressed because it is too large Load Diff

View File

@@ -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

View File

@@ -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.

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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)

View File

@@ -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

File diff suppressed because one or more lines are too long

View File

@@ -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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

BIN
B4A/Files/buscar.bal Normal file

Binary file not shown.

BIN
B4A/Files/celltitle.bal Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 95 KiB

BIN
B4A/Files/engrane3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

BIN
B4A/Files/espera.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 241 KiB

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

BIN
B4A/Files/k.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 75 KiB

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 108 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 299 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 156 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 156 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 249 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 249 KiB

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

BIN
B4A/Files/unilever.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 310 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 119 KiB

253
B4A/FirebaseMessaging.bas Normal file
View 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

View File

@@ -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

View File

@@ -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

View 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

View File

@@ -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).

Some files were not shown because too many files have changed in this diff Show More