- Commit inicial

This commit is contained in:
2024-05-18 11:31:07 -06:00
commit f825f4c7aa
69 changed files with 7108 additions and 0 deletions

3
.gitignore vendored Normal file
View File

@@ -0,0 +1,3 @@
**/Objects
**/AutoBackups
*.meta

170
BUSCAR.bas Normal file
View File

@@ -0,0 +1,170 @@
B4A=true
Group=Default Group
ModulesStructureVersion=1
Type=Activity
Version=6.8
@EndOfDesignText@
#Region Activity Attributes
#FullScreen: False
#IncludeTitle: True
#End Region
Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
Dim skmt As SQL
End Sub
Sub Globals
'These global variables will be redeclared each time the activity is created.
'These variables can only be accessed from this module.
Dim c As Cursor
Dim ruta As String
Dim ListView1 As ListView
Dim b_noventa As Button
Dim nombre_boton As String
End Sub
Sub Activity_Create(FirstTime As Boolean)
ruta = File.DirInternal
Activity.LoadLayout("buscar")
' 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)
c=skmt.ExecQuery("select PC_CLIENTE,PC_MONTO,PC_NOART FROM PEDIDO_CLIENTE ORDER BY PC_FECHA asc")
ListView1.Clear
If c.RowCount>0 Then
For i=0 To c.RowCount -1
c.Position=i
Dim label1 As Label
label1 = ListView1.TwoLinesLayout.Label
label1.TextSize = 10
label1.TextColor = Colors.Black
Dim label2 As Label
label2 = ListView1.TwoLinesLayout.SecondLabel
label2.TextSize = 15
label2.TextColor = Colors.Blue
ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),"Cantidad #"& c.GetString("PC_NOART")& " SubTotal $"& c.GetString("PC_MONTO"))
Next
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 Activity_Resume
nombre_boton = "NOVENTA"
c=skmt.ExecQuery("select PC_CLIENTE,PC_MONTO,PC_NOART,(select CAT_CL_NOMBRE from kmt_info where cat_cl_codigo = pc_cliente ) as NOMBRE FROM PEDIDO_CLIENTE ORDER BY PC_FECHA asc")
ListView1.Clear
If c.RowCount>0 Then
For i=0 To c.RowCount -1
c.Position=i
Dim label1 As Label
label1 = ListView1.TwoLinesLayout.Label
label1.TextSize = 15
label1.TextColor = Colors.Black
Dim label2 As Label
label2 = ListView1.TwoLinesLayout.SecondLabel
label2.TextSize = 10
label2.TextColor = Colors.Blue
ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),c.GetString("NOMBRE") &" Cantidad #"& c.GetString("PC_NOART")& " SubTotal $"& c.GetString("PC_MONTO"))
Next
End If
c.Close
'la_no_ird.Text = c.GetString("PR_CF_SALDO_ACORT")
End Sub
Sub Activity_Pause (UserClosed As Boolean)
End Sub
Sub Regresar_Click
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)
'Return True
End If
' Returning False signals the system to handle the key
Return False
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)
End Sub
Sub b_noventa_Click
If nombre_boton = "NOVENTA" Then
nombre_boton = "VENTA"
b_noventa.Text ="VENTA"
c=skmt.ExecQuery("select NV_CLIENTE,NV_MOTIVO,NV_COMM FROM NOVENTA ORDER BY NV_CLIENTE asc")
ListView1.Clear
If c.RowCount>0 Then
For i=0 To c.RowCount -1
c.Position=i
Dim label1 As Label
label1 = ListView1.TwoLinesLayout.Label
label1.TextSize = 15
label1.TextColor = Colors.Black
Dim label2 As Label
label2 = ListView1.TwoLinesLayout.SecondLabel
label2.TextSize = 10
label2.TextColor = Colors.Blue
ListView1.AddTwoLines(c.GetString("NV_CLIENTE"),"Motivo #"& c.GetString("NV_MOTIVO")& " Comentario $"& c.GetString("NV_COMM"))
Next
End If
Else
nombre_boton = "NOVENTA"
b_noventa.Text ="NO VENTA"
c=skmt.ExecQuery("select PC_CLIENTE,PC_MONTO,PC_NOART,(select CAT_CL_NOMBRE from kmt_info where cat_cl_codigo = pc_cliente ) as NOMBRE FROM PEDIDO_CLIENTE ORDER BY PC_FECHA asc")
ListView1.Clear
If c.RowCount>0 Then
For i=0 To c.RowCount -1
c.Position=i
Dim label1 As Label
label1 = ListView1.TwoLinesLayout.Label
label1.TextSize = 15
label1.TextColor = Colors.Black
Dim label2 As Label
label2 = ListView1.TwoLinesLayout.SecondLabel
label2.TextSize = 10
label2.TextColor = Colors.Blue
ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),c.GetString("NOMBRE") &" Cantidad #"& c.GetString("PC_NOART")& " SubTotal $"& c.GetString("PC_MONTO"))
Next
End If
c.Close
End If
End Sub

290
CameraExClass.bas Normal file
View File

@@ -0,0 +1,290 @@
B4A=true
Group=Default Group
ModulesStructureVersion=1
Type=Class
Version=6.8
@EndOfDesignText@
'Class module
'version 1.20
'See this page for the list of constants:
'http://developer.android.com/intl/fr/reference/android/hardware/Camera.Parameters.html
'Note that you should use the constant values instead of the names.
Sub Class_Globals
Private nativeCam As Object
Private cam As Camera
Private r As Reflector
Private target As Object
Private event As String
Public Front As Boolean
Type CameraInfoAndId (CameraInfo As Object, Id As Int)
Type CameraSize (Width As Int, Height As Int)
Private parameters As Object
End Sub
Public Sub Initialize (Panel1 As Panel, FrontCamera As Boolean, TargetModule As Object, EventName As String)
target = TargetModule
event = EventName
Front = FrontCamera
Dim id As Int
id = FindCamera(Front).id
If id = -1 Then
Front = Not(Front) 'try different camera
id = FindCamera(Front).id
If id = -1 Then
ToastMessageShow("No camera found.", True)
Return
End If
End If
cam.Initialize2(Panel1, "camera", id)
End Sub
Private Sub FindCamera (frontCamera As Boolean) As CameraInfoAndId
Dim ci As CameraInfoAndId
Dim cameraInfo As Object
Dim cameraValue As Int
If frontCamera Then cameraValue = 1 Else cameraValue = 0
cameraInfo = r.CreateObject("android.hardware.Camera$CameraInfo")
Dim numberOfCameras As Int = r.RunStaticMethod("android.hardware.Camera", "getNumberOfCameras", Null, Null)
For i = 0 To numberOfCameras - 1
r.RunStaticMethod("android.hardware.Camera", "getCameraInfo", Array As Object(i, cameraInfo), _
Array As String("java.lang.int", "android.hardware.Camera$CameraInfo"))
r.target = cameraInfo
If r.GetField("facing") = cameraValue Then
ci.cameraInfo = r.target
ci.Id = i
Return ci
End If
Next
ci.id = -1
Return ci
End Sub
Private Sub SetDisplayOrientation
r.target = r.GetActivity
r.target = r.RunMethod("getWindowManager")
r.target = r.RunMethod("getDefaultDisplay")
r.target = r.RunMethod("getRotation")
Dim previewResult, result, degrees As Int = r.target * 90
Dim ci As CameraInfoAndId = FindCamera(Front)
r.target = ci.CameraInfo
Dim orientation As Int = r.GetField("orientation")
If Front Then
previewResult = (orientation + degrees) Mod 360
result = previewResult
previewResult = (360 - previewResult) Mod 360
Else
previewResult = (orientation - degrees + 360) Mod 360
result = previewResult
Log(previewResult)
End If
r.target = nativeCam
r.RunMethod2("setDisplayOrientation", previewResult, "java.lang.int")
r.target = parameters
r.RunMethod2("setRotation", result, "java.lang.int")
CommitParameters
End Sub
Private Sub Camera_Ready (Success As Boolean)
If Success Then
r.target = cam
nativeCam = r.GetField("camera")
r.target = nativeCam
parameters = r.RunMethod("getParameters")
SetDisplayOrientation
Else
Log("success = false, " & LastException)
End If
CallSub2(target, event & "_ready", Success)
End Sub
Sub Camera_Preview (Data() As Byte)
If SubExists(target, event & "_preview") Then
CallSub2(target, event & "_preview", Data)
End If
End Sub
Public Sub TakePicture
cam.TakePicture
End Sub
Private Sub Camera_PictureTaken (Data() As Byte)
CallSub2(target, event & "_PictureTaken", Data)
End Sub
Public Sub StartPreview
cam.StartPreview
End Sub
Public Sub StopPreview
cam.StopPreview
End Sub
Public Sub Release
cam.Release
End Sub
'Saves the data received from PictureTaken event
Public Sub SavePictureToFile(Data() As Byte, Dir As String, FileName As String)
Dim out As OutputStream = File.OpenOutput(Dir, FileName, False)
out.WriteBytes(Data, 0, Data.Length)
out.Close
End Sub
Public Sub SetParameter(Key As String, Value As String)
r.target = parameters
r.RunMethod3("set", Key, "java.lang.String", Value, "java.lang.String")
End Sub
Public Sub GetParameter(Key As String) As String
r.target = parameters
Return r.RunMethod2("get", Key, "java.lang.String")
End Sub
Public Sub CommitParameters
Try
r.target = nativeCam
r.RunMethod4("setParameters", Array As Object(parameters), Array As String("android.hardware.Camera$Parameters"))
Catch
ToastMessageShow("Error setting parameters.", True)
Log(LastException)
End Try
End Sub
Public Sub GetColorEffect As String
Return GetParameter("effect")
End Sub
Public Sub SetColorEffect(Effect As String)
SetParameter("effect", Effect)
End Sub
Public Sub GetSupportedPicturesSizes As CameraSize()
r.target = parameters
Dim list1 As List = r.RunMethod("getSupportedPictureSizes")
Dim cs(list1.Size) As CameraSize
For i = 0 To list1.Size - 1
r.target = list1.Get(i)
cs(i).Width = r.GetField("width")
cs(i).Height = r.GetField("height")
Next
Return cs
End Sub
Public Sub SetPictureSize(Width As Int, Height As Int)
r.target = parameters
r.RunMethod3("setPictureSize", Width, "java.lang.int", Height, "java.lang.int")
End Sub
Public Sub SetJpegQuality(Quality As Int)
r.target = parameters
r.RunMethod2("setJpegQuality", Quality, "java.lang.int")
End Sub
Public Sub SetFlashMode(Mode As String)
r.target = parameters
r.RunMethod2("setFlashMode", Mode, "java.lang.String")
End Sub
Public Sub GetFlashMode As String
r.target = parameters
Return r.RunMethod("getFlashMode")
End Sub
Public Sub GetSupportedFlashModes As List
r.target = parameters
Return r.RunMethod("getSupportedFlashModes")
End Sub
Public Sub GetSupportedColorEffects As List
r.target = parameters
Return r.RunMethod("getSupportedColorEffects")
End Sub
Public Sub GetPreviewSize As CameraSize
r.target = parameters
r.target = r.RunMethod("getPreviewSize")
Dim cs As CameraSize
cs.Width = r.GetField("width")
cs.Height = r.GetField("height")
Return cs
End Sub
Public Sub GetPictureSize As CameraSize
r.target = parameters
r.target = r.RunMethod("getPictureSize")
Dim cs As CameraSize
cs.Width = r.GetField("width")
cs.Height = r.GetField("height")
Return cs
End Sub
'Converts a preview image formatted in YUV format to JPEG.
'Note that you should not save every preview image as it will slow down the whole process.
Public Sub PreviewImageToJpeg(data() As Byte, quality As Int) As Byte()
Dim size, previewFormat As Object
r.target = parameters
size = r.RunMethod("getPreviewSize")
previewFormat = r.RunMethod("getPreviewFormat")
r.target = size
Dim width = r.GetField("width"), height = r.GetField("height") As Int
Dim yuvImage As Object = r.CreateObject2("android.graphics.YuvImage", _
Array As Object(data, previewFormat, width, height, Null), _
Array As String("[B", "java.lang.int", "java.lang.int", "java.lang.int", "[I"))
r.target = yuvImage
Dim rect1 As Rect
rect1.Initialize(0, 0, r.RunMethod("getWidth"), r.RunMethod("getHeight"))
Dim out As OutputStream
out.InitializeToBytesArray(100)
r.RunMethod4("compressToJpeg", Array As Object(rect1, quality, out), _
Array As String("android.graphics.Rect", "java.lang.int", "java.io.OutputStream"))
Return out.ToBytesArray
End Sub
Public Sub GetSupportedFocusModes As List
r.target = parameters
Return r.RunMethod("getSupportedFocusModes")
End Sub
Public Sub SetContinuousAutoFocus
Dim modes As List = GetSupportedFocusModes
If modes.IndexOf("continuous-picture") > -1 Then
SetFocusMode("continuous-picture")
Else If modes.IndexOf("continuous-video") > -1 Then
SetFocusMode("continuous-video")
Else
Log("Continuous focus mode is not available")
End If
End Sub
Public Sub SetFocusMode(Mode As String)
r.target = parameters
r.RunMethod2("setFocusMode", Mode, "java.lang.String")
End Sub
Public Sub GetFocusDistances As Float()
Dim F(3) As Float
r.target = parameters
r.RunMethod4("getFocusDistances", Array As Object(F), Array As String("[F"))
Return F
End Sub
'This method should only be called if you need to immediately release the camera.
'For example if you need to start another application that depends on the camera.
Public Sub CloseNow
cam.Release
r.target = cam
r.RunMethod2("releaseCameras", True, "java.lang.boolean")
End Sub
'Calls AutoFocus and then takes the picture if focus was successfull.
Public Sub FocusAndTakePicture
cam.AutoFocus
End Sub
Private Sub Camera_FocusDone (Success As Boolean)
If Success Then
TakePicture
Else
Log("AutoFocus error.")
End If
End Sub

271
DBRequestManager.bas Normal file
View File

@@ -0,0 +1,271 @@
B4A=true
Group=Default Group
ModulesStructureVersion=1
Type=Class
Version=6.8
@EndOfDesignText@
'Class module
Sub Class_Globals
Private mTarget As Object
Type DBResult (Tag As Object, Columns As Map, Rows As List)
Type DBCommand (Name As String, Parameters() As Object)
Private link As String
Private bc As ByteConverter
Private T_NULL = 0, T_STRING = 1, T_SHORT = 2, T_INT = 3, T_LONG = 4, T_FLOAT = 5 _
,T_DOUBLE = 6, T_BOOLEAN = 7, T_BLOB = 8 As Byte
Private VERSION As Float = 0.9
Private tempArray(1) As Object
Dim jobTagAnterior As String = "" 'Mod por CHV - 211029
End Sub
'Target - The module that handles JobDone (usually Me).
'ConnectorLink - URL of the Java server.
Public Sub Initialize (Target As Object, ConnectorLink As String)
mTarget = Target
link = ConnectorLink
End Sub
'Sends a query request.
'Command - Query name and parameters.
'Limit - Maximum rows to return or 0 for no limit.
'Tag - An object that will be returned in the result.
Public Sub ExecuteQuery(Command As DBCommand, Limit As Int, Tag As Object)
Dim j As HttpJob
Dim ms As OutputStream
Dim out2 As OutputStream = StartJob(j,ms, Tag)
WriteObject(Command.Name, out2)
WriteInt(Limit, out2)
WriteList(Command.Parameters, out2)
out2.Close
j.PostBytes(link & "?method=query", ms.ToBytesArray)
End Sub
'Executes a batch of (non-select) commands.
'ListOfCommands - List of the commands that will be executes.
'Tag - An object that will be returned in the result.
Public Sub ExecuteBatch(ListOfCommands As List, Tag As Object)
Dim j As HttpJob
Dim ms As OutputStream
Dim out2 As OutputStream = StartJob(j,ms, Tag)
WriteInt(ListOfCommands.Size, out2)
For Each Command As DBCommand In ListOfCommands
WriteObject(Command.Name, out2)
WriteList(Command.Parameters, out2)
Next
out2.Close
j.PostBytes(link & "?method=batch", ms.ToBytesArray)
End Sub
'Similar to ExecuteBatch. Sends a single command.
Public Sub ExecuteCommand(Command As DBCommand, Tag As Object)
ExecuteBatch(Array As DBCommand(Command), Tag)
End Sub
Private Sub StartJob(j As HttpJob, MemoryStream As OutputStream, Tag As Object) As OutputStream
j.Initialize("DBRequest", mTarget)
j.Tag = Tag
MemoryStream.InitializeToBytesArray(0)
Dim compress As CompressedStreams
Dim out As OutputStream = compress.WrapOutputStream(MemoryStream, "gzip")
WriteObject(VERSION, out)
Return out
End Sub
Private Sub WriteList(Parameters As List, out As OutputStream)
Dim data() As Byte
If Parameters = Null Or Parameters.IsInitialized = False Then
Dim Parameters As List
Parameters.Initialize
End If
data = bc.IntsToBytes(Array As Int(Parameters.Size))
out.WriteBytes(data, 0, data.Length)
For Each o As Object In Parameters
WriteObject(o, out)
Next
End Sub
Private Sub WriteObject(o As Object, out As OutputStream)
Dim data() As Byte
tempArray(0) = o
If tempArray(0) = Null Then
out.WriteBytes(Array As Byte(T_NULL), 0, 1)
Else If tempArray(0) Is Short Then
out.WriteBytes(Array As Byte(T_SHORT), 0, 1)
data = bc.ShortsToBytes(Array As Short(o))
Else If tempArray(0) Is Int Then
out.WriteBytes(Array As Byte(T_INT), 0, 1)
data = bc.IntsToBytes(Array As Int(o))
Else If tempArray(0) Is Float Then
out.WriteBytes(Array As Byte(T_FLOAT), 0, 1)
data = bc.FloatsToBytes(Array As Float(o))
Else If tempArray(0) Is Double Then
out.WriteBytes(Array As Byte(T_DOUBLE), 0, 1)
data = bc.DoublesToBytes(Array As Double(o))
Else If tempArray(0) Is Long Then
out.WriteBytes(Array As Byte(T_LONG), 0, 1)
data = bc.LongsToBytes(Array As Long(o))
Else If tempArray(0) Is Boolean Then
out.WriteBytes(Array As Byte(T_BOOLEAN), 0, 1)
Dim b As Boolean = 0
Dim data(1) As Byte
If b Then data(0) = 1 Else data(0) = 0
Else If GetType(tempArray(0)) = "[B" Then
data = o
out.WriteBytes(Array As Byte(T_BLOB), 0, 1)
WriteInt(data.Length, out)
Else 'If o Is String Then (treat all other values as string)
out.WriteBytes(Array As Byte(T_STRING), 0, 1)
data = bc.StringToBytes(o, "UTF8")
WriteInt(data.Length, out)
End If
If data.Length > 0 Then out.WriteBytes(data, 0, data.Length)
End Sub
Private Sub ReadObject(In As InputStream) As Object
Dim data(1) As Byte
In.ReadBytes(data, 0, 1)
Select data(0)
Case T_NULL
Return Null
Case T_SHORT
Dim data(2) As Byte
Return bc.ShortsFromBytes(ReadBytesFully(In, data, data.Length))(0)
Case T_INT
Dim data(4) As Byte
Return bc.IntsFromBytes(ReadBytesFully(In, data, data.Length))(0)
Case T_LONG
Dim data(8) As Byte
Return bc.LongsFromBytes(ReadBytesFully(In, data, data.Length))(0)
Case T_FLOAT
Dim data(4) As Byte
Return bc.FloatsFromBytes(ReadBytesFully(In, data, data.Length))(0)
Case T_DOUBLE
Dim data(8) As Byte
Return bc.DoublesFromBytes(ReadBytesFully(In, data, data.Length))(0)
Case T_BOOLEAN
Dim b As Byte = ReadByte(In)
Return b = 1
Case T_BLOB
Dim len As Int = ReadInt(In)
Dim data(len) As Byte
Return ReadBytesFully(In, data, data.Length)
Case Else
Dim len As Int = ReadInt(In)
Dim data(len) As Byte
ReadBytesFully(In, data, data.Length)
Return BytesToString(data, 0, data.Length, "UTF8")
End Select
End Sub
Private Sub ReadBytesFully(In As InputStream, Data() As Byte, Len As Int) As Byte()
Dim count = 0, read As Int
Do While count < Len And read > -1
read = In.ReadBytes(Data, count, Len - count)
count = count + read
Loop
Return Data
End Sub
Private Sub WriteInt(i As Int, out As OutputStream)
Dim data() As Byte
data = bc.IntsToBytes(Array As Int(i))
out.WriteBytes(data, 0, data.Length)
End Sub
Private Sub ReadInt(In As InputStream) As Int
Dim data(4) As Byte
Return bc.IntsFromBytes(ReadBytesFully(In, data, data.Length))(0)
End Sub
Private Sub ReadByte(In As InputStream) As Byte
Dim data(1) As Byte
In.ReadBytes(data, 0, 1)
Return data(0)
End Sub
'Handles the Job result and returns a DBResult.
Public Sub HandleJob(Job As HttpJob) As DBResult
Dim start As Long = DateTime.Now
Dim In As InputStream = Job.GetInputStream
Dim cs As CompressedStreams
In = cs.WrapInputStream(In, "gzip")
Dim serverVersion As Float = ReadObject(In) 'ignore
Dim method As String = ReadObject(In)
Dim table As DBResult
table.Initialize
table.Columns.Initialize
table.rows.Initialize
table.Tag = Job.Tag
If jobTagAnterior <> Job.Tag Then LogColor("HandleJob: '"&Job.Tag&"'", Colors.Blue) 'Mod por CHV - 211029
jobTagAnterior = Job.Tag 'Mod por CHV - 211029
If method = "query" Then
Dim numberOfColumns As Int = ReadInt(In)
For i = 0 To numberOfColumns - 1
table.Columns.Put(ReadObject(In), i)
Next
Do While ReadByte(In) = 1
Dim rowObjects(numberOfColumns) As Object
table.rows.Add(rowObjects)
For col = 0 To numberOfColumns - 1
Dim o As Object = ReadObject(In)
rowObjects(col) = o
Next
Loop
Else If method = "batch" Then
table.Columns.Put("AffectedRows", 0)
Dim rows As Int = ReadInt(In)
For i = 0 To rows - 1
table.rows.Add(Array As Object(ReadInt(In)))
Next
End If
In.Close
Log("HandleJob: " & (DateTime.Now - start))
Return table
End Sub
'Reads a file and returns the file as a bytes array.
Public Sub FileToBytes(Dir As String, FileName As String) As Byte()
Dim out As OutputStream
out.InitializeToBytesArray(0)
Dim In As InputStream = File.OpenInput(Dir, FileName)
File.Copy2(In, out)
out.Close
Return out.ToBytesArray
End Sub
'Converts an image to a bytes array (for BLOB fields).
Public Sub ImageToBytes(Image As Bitmap) As Byte()
Dim out As OutputStream
out.InitializeToBytesArray(0)
Image.WriteToStream(out, 100, "JPEG")
out.Close
Return out.ToBytesArray
End Sub
'Converts a bytes array to an image (for BLOB fields).
Public Sub BytesToImage(bytes() As Byte) As Bitmap
Dim In As InputStream
In.InitializeFromBytesArray(bytes, 0, bytes.Length)
Dim bmp As Bitmap
bmp.Initialize2(In)
Return bmp
End Sub
'Prints the table to the logs.
Public Sub PrintTable(Table As DBResult)
Log("Tag: " & Table.Tag & ", Columns: " & Table.Columns.Size & ", Rows: " & Table.Rows.Size)
Dim sb As StringBuilder
sb.Initialize
For Each col In Table.Columns.Keys
sb.Append(col).Append(TAB)
Next
Log(sb.ToString)
For Each row() As Object In Table.Rows
Dim sb As StringBuilder
sb.Initialize
For Each record As Object In row
sb.Append(record).Append(TAB)
Next
ToastMessageShow(sb.ToString, True)
Next
End Sub

BIN
Files/alert2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 632 B

BIN
Files/alerta.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
Files/alerta_amarilla.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

BIN
Files/amarillo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

BIN
Files/buscar.bal Normal file

Binary file not shown.

BIN
Files/carrito.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

BIN
Files/detalle_promo.bal Normal file

Binary file not shown.

BIN
Files/fila.bal Normal file

Binary file not shown.

BIN
Files/fondo_kmt.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

BIN
Files/foto.bal Normal file

Binary file not shown.

BIN
Files/guardagestion.bal Normal file

Binary file not shown.

BIN
Files/guna_viejo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

BIN
Files/info_gral.bal Normal file

Binary file not shown.

BIN
Files/infonavit1.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

BIN
Files/itembuttonblue.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

BIN
Files/keymon_logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
Files/kmt.db Normal file

Binary file not shown.

BIN
Files/login.bal Normal file

Binary file not shown.

BIN
Files/logo sanfer.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

BIN
Files/logo_exitus1.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

BIN
Files/malo.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

BIN
Files/mapa.bal Normal file

Binary file not shown.

BIN
Files/nopago.bal Normal file

Binary file not shown.

BIN
Files/nuevocliente.bal Normal file

Binary file not shown.

BIN
Files/palomita_verde.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 156 KiB

BIN
Files/pedido.bal Normal file

Binary file not shown.

BIN
Files/planfia_logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

BIN
Files/planfia_logo_old.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

BIN
Files/planfia_logo_old2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

BIN
Files/qr.bal Normal file

Binary file not shown.

BIN
Files/rojo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

BIN
Files/salma - Copy.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

BIN
Files/salma.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
Files/salma_191x191.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
Files/seleccion.bal Normal file

Binary file not shown.

BIN
Files/senial.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

BIN
Files/sync.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 763 B

BIN
Files/tache_rojo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 249 KiB

BIN
Files/tarjeta.bal Normal file

Binary file not shown.

BIN
Files/telefonos.bal Normal file

Binary file not shown.

BIN
Files/tiendita.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

BIN
Files/verde.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

158
Historico.bas Normal file
View File

@@ -0,0 +1,158 @@
B4A=true
Group=Default Group
ModulesStructureVersion=1
Type=Activity
Version=6.8
@EndOfDesignText@
#Region Activity Attributes
#FullScreen: False
#IncludeTitle: True
#End Region
Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
Dim skmt As SQL
Dim g As GPS
Dim clie_id As String
Dim sDate,sTime As String
Dim usuario As String
End Sub
Sub Globals
'These global variables will be redeclared each time the activity is created.
'These variables can only be accessed from this module.
Dim c As Cursor
Dim ruta As String
Dim Regresar As Button
Dim ListView1 As ListView
Dim L_CANT As Label
Dim L_TOTAL As Label
Dim borra As Button
Dim Existe As String
Dim result As String
Dim lat_gps, lon_gps As String
Private Titulo As Label
Private b_desc As Button
Private ListView2 As ListView
End Sub
Sub Activity_Create(FirstTime As Boolean)
If(FirstTime) Then
g.Initialize("GPS")
End If
ruta = File.DirInternal
Activity.LoadLayout("tarjeta")
borra.Visible = False
Titulo.Text = "Acumulado"
b_desc.Visible = False
' 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)
'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 Activity_Resume
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.Position=0
Existe = C.GetString("EXISTE")
C.Close
c=skmt.ExecQuery("select HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT from HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) order by HVD_PRONOMBRE asc")
ListView1.Clear
If c.RowCount>0 Then
For i=0 To c.RowCount -1
c.Position=i
Dim label1 As Label
label1 = ListView1.TwoLinesLayout.Label
label1.TextSize = 15
label1.TextColor = Colors.Black
Dim label2 As Label
label2 = ListView1.TwoLinesLayout.SecondLabel
label2.TextSize = 10
label2.TextColor = Colors.Blue
ListView1.AddTwoLines(c.GetString("HVD_PRONOMBRE"),"Cantidad #"& c.GetString("HVD_CANT")& " SubTotal $"& c.GetString("HVD_COSTO_TOT"))
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.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")
End Sub
Sub Activity_Pause (UserClosed As Boolean)
End Sub
Sub GPS_LocationChanged (Location1 As Location)
lat_gps=Location1.ConvertToSeconds(Location1.Latitude)
lon_gps=Location1.ConvertToSeconds(Location1.Longitude)
End Sub
Sub Regresar_Click
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)
'Return True
End If
' Returning False signals the system to handle the key
Return False
End Sub
Sub ListView2_ItemClick (Position As Int, Value As Object)
ListView2.Visible = False
ListView1.Visible = True
End Sub
Sub ListView1_ItemClick (Position As Int, Value As Object)
ListView2.Visible = True
ListView1.Visible = False
Dim label1 As Label
For i=0 To 20
label1 = ListView2.SingleLineLayout.Label
label1.TextSize = 15
label1.TextColor = Colors.Black
ListView2.AddSingleLine(i)
Next
End Sub

98
QR_MODULE.bas Normal file
View File

@@ -0,0 +1,98 @@
B4A=true
Group=Default Group
ModulesStructureVersion=1
Type=Activity
Version=6.8
@EndOfDesignText@
#Region Activity Attributes
#FullScreen: False
#IncludeTitle: True
#End Region
Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
End Sub
'
Sub Globals
' 'These global variables will be redeclared each time the activity is created.
' 'These variables can only be accessed from this module.
' Dim b,b1,b2 As ImageView
' Dim bt As Button
'
' Dim qr As QRCode
' Dim sc As Zxing_scanner
' Dim CODIGO As String
'
'
' Private Label1 As Label
End Sub
'
'Sub Activity_Create(FirstTime As Boolean)
' 'Do not forget to load the layout file created with the visual designer. For example:
' Activity.LoadLayout("qr")
'
' b.Initialize("")
' b1.Initialize("")
' b1.Gravity=Gravity.FILL
' b2.Initialize("")
' b2.Gravity=Gravity.FILL
'
' Activity.AddView(b,0,0,100dip,100dip)
' Activity.AddView(b1,0,110dip,300dip,100dip)
' Activity.AddView(b2,0,220dip,300dip,100dip)
'
' qr.initialize
'
' b.Bitmap = qr.QR_Encode("TESTING QR CODES",100dip)
' b1.Bitmap = qr.Ean13_Encode(calc_ean_checksum("123456789012"),100dip) ' Not interested in this
' b2.Bitmap = qr.Ean8_Encode(calc_ean_checksum("1234567"),100dip) ' Not interested in this
'
' bt.Initialize("bt")
' bt.Text="Codigo"
' Activity.AddView(bt,0,330dip,120dip,50dip)
'
'End Sub
'
'Sub Activity_Resume
'
'End Sub
'
'Sub Activity_Pause (UserClosed As Boolean)
'
'End Sub
'Sub bt_click
' 'ADDED BY JOHAN SCHOEMAN i.e OPTION TO CHANGE THE WIDTH AND HEIGHT OF THE VIEWING RECTANGLE
' Dim scan_width As Int
' Dim scan_height As Int
' scan_width = 400
' scan_height = 400
' sc.BeginScan("sc","CODIGO CLIENTE",scan_width,scan_height)
'
'End Sub
'Sub sc_result(atype As String,Values As String)
' 'Log("Type : " & atype)
' 'Log("Value : " & Values)
' CODIGO = Values
' b.Bitmap = qr.QR_Encode(Values,100dip)
'End Sub
'Sub sc_noScan
' Log("nothing returned from the scan !!!!!")
'End Sub
'Sub calc_ean_checksum(number As String) As String 'this has now become redundant as I am only interested in QR Codes
' Dim i As Int
' Dim c As Char
' Dim soma As Int
' Dim n As Int
' Dim digit As Float
'
' soma = 0
' For i=0 To number.Length - 1
' digit = number.SubString2(i,i+1)
' n= digit * ((i Mod 2) * 2 + 1)
' soma=soma+n
' Next
' Return number & ( ( 10 - ( soma Mod 10 )) Mod 10 )
'End Sub

44
Starter.bas Normal file
View File

@@ -0,0 +1,44 @@
B4A=true
Group=Default Group
ModulesStructureVersion=1
Type=Service
Version=11
@EndOfDesignText@
#Region Service Attributes
#StartAtBoot: False
#ExcludeFromLibrary: True
#End Region
Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
Public rp As RuntimePermissions
Private BTAdmin As BluetoothAdmin 'ignore
Public BluetoothState As Boolean
End Sub
Sub Service_Create
'This is the program entry point.
'This is a good place to load resources that are not specific to a single activity.
End Sub
Sub Service_Start (StartingIntent As Intent)
Service.StopAutomaticForeground 'Starter service can start in the foreground state in some edge cases.
Log("//////////////////////////////////////////////////////////////////////////////////")
Log("/////////////////////////// Iniciando Starter //////////////////////////////////")
Log("//////////////////////////////////////////////////////////////////////////////////")
End Sub
Sub Service_TaskRemoved
'This event will be raised when the user removes the app from the recent apps list.
End Sub
'Return true to allow the OS default exceptions handler to handle the uncaught exception.
Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
Return True
End Sub
Sub Service_Destroy
End Sub

527
Subs.bas Normal file
View File

@@ -0,0 +1,527 @@
B4A=true
Group=Default Group
ModulesStructureVersion=1
Type=StaticCode
Version=11
@EndOfDesignText@
'Code module
'Subs in this code module will be accessible from all modules.
Sub Process_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
Dim phn As Phone
Dim devModel As String
Dim kmt, errorLog As SQL 'Requiere la libreria "SQL"
' Dim wifi As MLwifi
Dim ssid As String 'ignore
Dim rutaMaxPoints As Int = 3000
Dim rutaHrsAtras As Int = 48
' Dim rutaInicioHoy As String = ""
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
'Comprime y regresa un texto (str) en base64
Sub compress(str As String) As String 'ignore
'Requiere la libreria "CompressStrings"
Dim compressed() As Byte = GZip.compress(str)
' Log($"UncompressedBytesLength: ${str.Length}"$)
' Log($"CompressedBytesLength: ${compressed.Length}"$)
Dim base64 As String = su.EncodeBase64(compressed)
Log($"Comprimido: ${base64.Length}"$)
' Log($"CompressedBytes converted to base64: ${base64}"$)
Return base64
End Sub
'Descomprime y regresa un texto en base64
Sub decompress(base64 As String) As String 'ignore
Dim decompressedbytes() As Byte = su.DecodeBase64(base64)
' Log($"decompressedbytesLength: ${decompressedbytes.Length}"$)
Dim bc As ByteConverter
Dim uncompressed As String = bc.StringFromBytes(decompressedbytes,"UTF8")
Log($"Descomprimido: ${uncompressed.Length}"$)
' Log($"Decompressed String = ${uncompressed}"$)
Return uncompressed
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
'Genera una notificacion con importancia alta
Sub notiHigh(title As String, body As String, activity As Object) 'ignore
Private notif As Notification
notif.Initialize2(notif.IMPORTANCE_HIGH)
notif.Icon = "icon"
notif.Vibrate = False
notif.Sound = False
notif.AutoCancel = True
Log("notiHigh: "&title)
notif.SetInfo(title, body, activity)
' Log("notiHigh SetInfo")
notif.Notify(777)
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
'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 "|"
' Log("LatLon="&latlon)
kmt.ExecNonQuery2("INSERT INTO RUTA_GPS(fecha, lat, lon) VALUES (?,?,?)", Array As Object (latlon(2),latlon(0),latlon(1)))
Catch
Log(LastException)
End Try
End Sub
'Regresa la ruta solicitada comprimida y en base64
Sub dameRuta(inicioRuta As String, origenRuta As String) As String 'ignore
'Requiere la libreria "SQL"
Dim fechaInicio As String
Try 'incioRuta es numero
inicioRuta = inicioRuta * 1
' Log("fechaInicio numerica="&fechaInicio)
fechaInicio = fechaKMT(DateTime.Now - (DateTime.TicksPerHour * inicioRuta))
Catch 'inicioRuta es string
fechaInicio = fechaInicioHoy
' Log("fechaInicio string="&fechaInicio)
End Try
If Main.logger Then Log("fechaInicio: "&fechaInicio&" | rutaHrsAtras="&rutaHrsAtras) 'fechaKMT(DateTime.Now)
Dim c As Cursor
If kmt.IsInitialized = False Then kmt.Initialize(Main.ruta, "kmt.db", True)
If Main.logger Then Log("select FECHA, LAT, LON from "& origenRuta &" where FECHA > " & fechaInicio & " order by FECHA desc limit " & rutaMaxPoints)
c = kmt.ExecQuery("select FECHA, LAT, LON from "& origenRuta &" where FECHA > " & fechaInicio & " order by FECHA desc limit " & rutaMaxPoints)
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")&","&c.GetString("FECHA")
Main.fechaRuta = c.GetString("FECHA")
Next
End If
c.Close
Return compress(ruta2)
End Sub
'Limpiamos la tabla RUTA_GPS de la BD
Sub deleteGPS_DB 'ignore
kmt.ExecNonQuery("delete from RUTA_GPS")
kmt.ExecNonQuery("vacuum;")
End Sub
'Limpiamos la tabla errorLog de la BD
Sub deleteErrorLog_DB 'ignore
errorLog.ExecNonQuery("delete from errores")
errorLog.ExecNonQuery("vacuum;")
ToastMessageShow("Borrada", False)
End Sub
'Borramos el archio "gps.txt"
Sub borramosArchivoGPS 'ignore
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
'Revisa que exista la BD y si es necesario crea algunans tablas dentro de ella
Sub revisaBD 'ignore
Main.ruta = File.DirInternal
If Not(File.Exists(Main.ruta, "kmt.db")) Then File.Copy(File.DirAssets, "kmt.db", Main.ruta, "kmt.db")
If Not(kmt.IsInitialized) Then kmt.Initialize(Main.ruta, "kmt.db", True)
kmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS RUTA_GPS(fecha INTEGER, lat TEXT, lon TEXT)")
' kmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS UUC(fecha INTEGER, lat TEXT, lon TEXT)") 'LastKnownLocation
kmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS bitacora(fecha INTEGER, texto TEXT)") 'Bitacora
'Tabla para la bitacora de errores
If Not(errorLog.IsInitialized) Then errorLog.Initialize(Main.ruta, "errorLog.db", True)
errorLog.ExecNonQuery("CREATE TABLE IF NOT EXISTS errores(fecha INTEGER, error TEXT)")
End Sub
'Obtiene el ssid al que esta conectado el telefono
Sub getSSID 'ignore
' 'Requiere la libreria "MLWifi400"
' If wifi.isWifiConnected Then
' ssid = wifi.WifiSSID
' End If
End Sub
'Convierte un texto en formato JSON a un objeto "Map"
Sub JSON2Map(theJson As String) As Map 'ignore
'Requiere la libreria "JSON"
Try
Private json As JSONParser
json.Initialize(theJson)
Return json.NextObject
Catch
Log(LastException)
log2DB("JSON2Map: "&LastException)
Private m As Map = CreateMap("title":"Error generating JSON", "t":"Error", "Message":LastException, "text" : LastException)
Return m
End Try
End Sub
'Convierte un mapa a formato JSON
Sub map2JSON(m As Map) As String 'ignore
'Requiere la libreria "JSON"
'Convierte un objecto "Map" a JSON
Dim jg As JSONGenerator
jg.Initialize(m)
Dim t As String = jg.ToString
Return t
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)
' 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.Magenta)
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
' 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
'Compara la UUG (Ultima Ubicacion Guardada) con FLP.LastKnowLocation y si
'cumple con los requisitos de distancia y precision la guardamos en la BD.
'Sub revisaUUG 'ignore
' revisaFLP
' If Tracker.FLP.GetLastKnownLocation.IsInitialized Then
' Dim daa As Int = Tracker.UUGCoords.DistanceTo(Tracker.FLP.GetLastKnownLocation) 'Distancia de la UUG a la actual de Tracker.FLP.GetLastKnownLocation
' If Main.Logger Then LogColor($"**** UUC "${fechaKMT(Tracker.FLP.GetLastKnownLocation.Time)}|$0.2{Tracker.FLP.GetLastKnownLocation.Accuracy}|$0.8{Tracker.FLP.GetLastKnownLocation.Latitude}|$0.8{Tracker.FLP.GetLastKnownLocation.Longitude}|$0.2{Tracker.FLP.GetLastKnownLocation.Speed}|"$, Colors.RGB(255,112,35))
' If daa > 40 And Tracker.FLP.GetLastKnownLocation.Accuracy < 35 Then 'Si la distancia de la ubicacion anterior es mayor de XX y la precision es menor de XX, la guardamos ...
' kmt.ExecNonQuery2("INSERT INTO RUTA_GPS(fecha, lat, lon) VALUES (?,?,?)", Array As Object (fechaKMT(Tracker.FLP.GetLastKnownLocation.Time),Tracker.FLP.GetLastKnownLocation.Latitude,Tracker.FLP.GetLastKnownLocation.Longitude))
' If Main.Logger Then Log("++++ Distancia a anterior="&daa&"|"&"Precision="&Tracker.FLP.GetLastKnownLocation.Accuracy)
' End If
' Tracker.UUGCoords = Tracker.FLP.GetLastKnownLocation
' End If
'End Sub
'Revisamos que el FLP (FusedLocationProvider) este inicializado y activo
'Sub revisaFLP 'ignore
' LogColor("**** **** Revisamos FLP **** ****", Colors.RGB(78,0,227))
' Private todoBienFLP As Boolean = True
' If Not(Tracker.FLP.IsInitialized) Then
' log2DB("revisaFLP: No esta inicializado ... 'Reinicializando FLP'")
' Tracker.FLP.Initialize("flp")
' todoBienFLP = False
' End If
' If Tracker.FLP.IsInitialized Then
' If Not(Tracker.FLP.IsConnected) Then
' log2DB("revisaFLP: No esta conectado ... 'Reconectando FLP'")
'' Tracker.FLP.Connect
' CallSubDelayed(Tracker,"StartFLP")
' todoBienFLP = False
' End If
' If Tracker.FLP.IsConnected And _
' Tracker.FLP.GetLastKnownLocation.IsInitialized And _
' Tracker.FLP.GetLastKnownLocation.DistanceTo(Tracker.UUGCoords) > 500 Then
' log2DB("revisaFLP: 'No se esta actualizando, lo reiniciamos ...'")
' StartService(Tracker)
' todoBienFLP = False
' End If
' End If
' If todoBienFLP Then LogColor(" +++ +++ Sin errores en FLP", Colors.Green)
' ' revisar hora de lastKnownlocation y si es mayor de 10 minutos llamar StartFLP
'End Sub
'Revisamos que el servicio "PushService" este inicializado y activo
'Sub revisaPushService 'ignore
' Private todoBienPS As Boolean = True
' LogColor("**** **** Revisamos PushService **** ****", Colors.RGB(78,0,227))
' If Not(PushService.wsh.IsInitialized) Then 'Si no esta inicializado ...
' log2DB("revisaPushService: No esta inicializado ... 'Reinicializando PushService'")
' CallSubDelayed(PushService, "Connect")
' todoBienPS = False
' End If
' If Not(PushService.wsh.ws.Connected) Then 'Si no esta conectado ...
' log2DB("revisaPushService: No esta conectado ... 'Reconectando PushService'")
' CallSubDelayed(PushService, "Connect")
' todoBienPS = False
' End If
' If masDeXXMinsKMT(Starter.pushServiceActividad, 5) Then 'Si mas de xx minutos de la ultima actividad entonces ...
' PushService.wsh.Close
' CallSubDelayed(PushService, "Connect")
'' StartService(PushService)
' log2DB("revisaPushService: 'Reconectamos 'PushService' por inactividad")
' Starter.pushServiceActividad = fechaKMT(DateTime.Now)
' todoBienPS = False
' End If
' If todoBienPS Then LogColor(" +++ +++ Sin errores en PushService", Colors.Green)
'End Sub
'Borramos renglones extra de la tabla de errores
Sub borraArribaDe100Errores 'ignore
revisaBD
LogColor("Borramos BD de log", Colors.Magenta)
errorLog.ExecNonQuery("DELETE FROM errores WHERE fecha NOT in (SELECT fecha FROM errores ORDER BY fecha desc LIMIT 99 )")
errorLog.ExecNonQuery("vacuum;")
Log("Borramos mas de 100 de errorLog")
End Sub
'Borramos renglones extra de la tabla de bitacora
Sub borraArribaDe600RenglonesBitacora 'ignore
revisaBD
LogColor("Borramos BD de log", Colors.Magenta)
kmt.ExecNonQuery("DELETE FROM bitacora WHERE fecha NOT in (SELECT fecha FROM bitacora ORDER BY fecha desc LIMIT 599 )")
kmt.ExecNonQuery("vacuum;")
Log("Borramos mas de 600 de bitacora")
End Sub
'Inserta 50 renglones de prueba a la tabla "errores"
Sub insertaRenglonesPruebaEnErrorLog 'ignore
revisaBD
Log("insertamos 50 renglones a errorLog")
For x = 1 To 50
errorLog.ExecNonQuery2("INSERT INTO errores(fecha, error) VALUES (?,?)", Array As Object (fechaKMT(DateTime.now), "abc"))
Log(x)
Next
End Sub
'Regresa la tabla "errores" en una lista de mapas convertida a JSON
Sub dameErroresJSON(SQL As SQL, maxErrores As Int, comprimido As Boolean) As String 'ignore
Log("dameErroresJSON")
Private j As JSONGenerator
Private lim As String
Private cur As ResultSet
Private l As List
Private i As Int = 0
l.Initialize
Dim m, m2 As Map
m2.Initialize
If maxErrores = 0 Then lim = "" Else lim = "limit "&maxErrores
cur = SQL.ExecQuery("select * from errores order by fecha desc "&lim)
Do While cur.NextRow
m.Initialize
m.Put("fecha", cur.GetString("fecha"))
m.Put("error", cur.GetString("error"))
m2.Put(i,m)
i = i + 1
Loop
cur.Close
j.Initialize(m2)
Log(j.ToString)
If comprimido Then
Return compress(j.ToString)
Else
Return j.ToString
End If
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
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,"this_kmt.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
'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

237
colonia.bas Normal file
View File

@@ -0,0 +1,237 @@
B4A=true
Group=Default Group
ModulesStructureVersion=1
Type=Activity
Version=6.8
@EndOfDesignText@
#Region Activity Attributes
#FullScreen: False
#IncludeTitle: True
#End Region
Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
Dim ruta As String
Dim q_buscar As String
End Sub
Sub Globals
'These global variables will be redeclared each time the activity is created.
'These variables can only be accessed from this module.
Dim skmt As SQL
Dim c As Cursor
Dim c2 As Cursor
Dim s As Cursor
Dim ListView1 As ListView
Dim entro As String
Dim gest As Button
Dim lfila As Label
Dim busca As EditText
Dim colonia As String
Private b_qr As Button
Private qr As QRCode
' Dim sc As Zxing_scanner
Dim sc As JhsIceZxing1
Dim CODIGO As String
End Sub
Sub Activity_Create(FirstTime As Boolean)
'Do not forget to load the layout file created with the visual designer. For example:
'Activity.LoadLayout("Layout1")
Activity.LoadLayout("fila")
'Dim ruta As String
entro ="2"
' valido donde escribo el archivo de la base de datos de kmt
ruta = File.DirInternal
' 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
qr.initialize
End Sub
Sub Activity_Resume
' b_qr.Visible = True
b_qr.Text = "Código QR"
busca.Text = ""
skmt.Initialize(ruta,"kmt.db", True)
entro ="2"
colonia = 0
' esto es para rutas se quito por colonia c=skmt.ExecQuery("select CAT_CL_RUTA, count(*) as cuantos from kmt_info where gestion = 0 group by CAT_CL_RUTA order by CAT_CL_RUTA asc")
'SE COMENTA EL SIGUIENTE CODIGO PARA QUE TODAS LAS TIENDAS APARESCAN.
' c=skmt.ExecQuery("select CAT_CL_COLONIA, count(*) as cuantos from kmt_info where gestion = 0 group by CAT_CL_COLONIA order by CAT_CL_COLONIA asc")
c=skmt.ExecQuery("select CAT_CL_NOMBRE, CAT_CL_CALLE, CAT_CL_CODIGO from kmt_info where gestion = 0 ORDER BY CAT_CL_CODIGO")
ListView1.Clear
lfila.Text = "NOMBRE"
If c.RowCount>0 Then
For i=0 To c.RowCount -1
c.Position=i
Dim label1 As Label
label1 = ListView1.TwoLinesLayout.Label
label1.TextSize = 13
label1.TextColor = Colors.Black
Dim label2 As Label
label2 = ListView1.TwoLinesLayout.SecondLabel
label2.TextSize = 13
label2.TextColor = Colors.Black
ListView1.AddTwoLines(c.GetString("CAT_CL_CODIGO"), c.GetString("CAT_CL_NOMBRE"))
Next
End If
entro = "4"
' ESTE FUE EL FIN DEL CODIGO COMENTADO
End Sub
Sub Activity_Pause (UserClosed As Boolean)
End Sub
Sub ListView1_ItemClick (Position As Int, Value As Object)
If colonia = 0 Then
colonia = Value
End If
If entro = "2" Then
c2=skmt.ExecQuery2("select CAT_CL_CALLE, CAT_CL_COLONIA, count(*) as cuantos from kmt_info where gestion = 0 and CAT_CL_COLONIA = ? GROUP BY CAT_CL_CALLE, CAT_CL_COLONIA order by CAT_CL_CALLE ", Array As String(Value))
ListView1.Clear
lfila.text = "Calle"
If c2.RowCount>0 Then
For i=0 To c2.RowCount -1
c2.Position=i
ListView1.AddTwoLines(c2.GetString("CAT_CL_CALLE"),c2.GetString("cuantos") )
Next
End If
entro = "3"
Else If entro = "3" Then
c2=skmt.ExecQuery2("select CAT_CL_NOMBRE, CAT_CL_CALLE, CAT_CL_CODIGO from kmt_info where gestion = 0 and CAT_CL_CALLE = ? AND CAT_CL_COLONIA = ? order by CAT_CL_NOMBRE ", Array As String(Value, colonia))
ListView1.Clear
lfila.text = "Nombre"
If c2.RowCount>0 Then
For i=0 To c2.RowCount -1
c2.Position=i
ListView1.AddTwoLines(c2.GetString("CAT_CL_CODIGO"), c2.GetString("CAT_CL_NOMBRE"))
Next
End If
entro = "4"
Else If entro = "4" Then
skmt.ExecNonQuery("delete from CUENTAA")
skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object(Value))
StartActivity(fila)
End If
End Sub
Sub Activity_KeyPress (key As Int) As Boolean
' BACK key pressed
If key=KeyCodes.KEYCODE_BACK Then
' If entro = "3" Then
'entro = "2"
'Activity_Resume
'Return True
'Else If entro = "2" Then
'entro = "1"
'Activity_Resume
'Return True
'Else If entro = "1" Then
' I want to capture the key here so I return True
StartActivity(seleccion)
Return False
'End If
End If
' Returning False signals the system to handle the key
End Sub
Sub BUSCA_TextChanged (Old As String, New As String)
q_buscar = "%" & busca.Text & "%"
skmt.Initialize(ruta,"kmt.db", True)
c2=skmt.ExecQuery2("select CAT_CL_NOMBRE, CAT_CL_CALLE, CAT_CL_CODIGO from kmt_info where (CAT_CL_NOMBRE like ? OR CAT_CL_CODIGO LIKE ?)and gestion = 0 order by CAT_CL_NOMBRE ", Array As String(q_buscar,q_buscar))
ListView1.Clear
lfila.text = "Nombre y Calle"
If c2.RowCount>0 Then
For i=0 To c2.RowCount -1
c2.Position=i
Dim label1 As Label
label1 = ListView1.TwoLinesLayout.Label
label1.TextSize = 9
label1.TextColor = Colors.White
Dim label2 As Label
label2 = ListView1.TwoLinesLayout.SecondLabel
label2.TextSize = 17
label2.TextColor = Colors.White
ListView1.AddTwoLines(c2.GetString("CAT_CL_CODIGO"), c2.GetString("CAT_CL_NOMBRE") &" CALLE: "& c2.GetString("CAT_CL_CALLE"))
Next
End If
entro = "4"
c2.Close
End Sub
Sub b_qr_Click
'StartActivity(QR_MODULE)
sc.isportrait = True
' sc.displayOrientation = 90
' sc.useFrontCam = False
sc.timeoutDuration = 45
sc.theViewFinderXfactor = 0.7
sc.theViewFinderYfactor = 0.5
' sc.theFrameColor = Colors.White
' sc.theLaserColor = Colors.red
' sc.moveLaser = True
' sc.theMaskColor = Colors.argb(100, 0, 0, 100)
sc.theResultColor = Colors.Green
' sc.theResultPointColor = Colors.Red
' sc.mustBeep = True
sc.mustVibrate = True
sc.BeginScan("sc")
End Sub
Sub sc_result(atype As String, Value As String, image As Bitmap)
'Log("Type : " & atype)
'Log("Value : " & Values)
CODIGO = Value
If CODIGO.SubString2(0,3) = "GTM" Then
c2=skmt.ExecQuery2("select COUNT(*) AS ENCONTRADO from kmt_info where CAT_CL_NUM_SERIEFISICO = ? order by CAT_CL_NOMBRE ", Array As String(CODIGO))
c2.Position =0
If c2.GetString("ENCONTRADO") > 0 Then
s=skmt.ExecQuery2("select CAT_CL_CODIGO from kmt_info where CAT_CL_NUM_SERIEFISICO = ? order by CAT_CL_NOMBRE ", Array As String(CODIGO))
s.Position =0
skmt.ExecNonQuery("delete from CUENTAA")
skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object(s.GetString("CAT_CL_CODIGO")))
s.Close
b_qr.Visible = False
StartActivity(fila)
Else
Msgbox("CODIGO " & CODIGO & " NO ENCONTRADO","AVISO")
End If
Else
Msgbox("CODIGO NO ENCONTRADO","AVISO")
End If
End Sub
Sub sc_timedout(timedOut As Boolean)
Log("timedOut " & timedOut)
End Sub
Sub sc_usercancelled(userCancelled As Boolean)
Log("userCancelled " & userCancelled)
End Sub

406
colonia2.bas Normal file
View File

@@ -0,0 +1,406 @@
B4A=true
Group=Default Group
ModulesStructureVersion=1
Type=Activity
Version=6.8
@EndOfDesignText@
#Region Activity Attributes
#FullScreen: False
#IncludeTitle: True
#End Region
Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
Dim ruta As String
Dim q_buscar As String
Dim skmt As SQL
End Sub
Sub Globals
'These global variables will be redeclared each time the activity is created.
'These variables can only be accessed from this module.
Dim c As Cursor
Dim c2 As Cursor
Dim s As Cursor
Dim ListView1 As ListView
Dim entro As String
Dim gest As Button
Dim lfila As Label
Dim marca As String
Dim tipo As String
Dim subtipo As String
Private BUSCA As EditText
Dim ya_entro As String
Dim TIENE_PROMOS As String
Dim RES As String
Dim S1 As Cursor
Dim ciclo As String
Private b_qr As Button
End Sub
Sub Activity_Create(FirstTime As Boolean)
'Do not forget to load the layout file created with the visual designer. For example:
'Activity.LoadLayout("Layout1")
Activity.LoadLayout("fila")
'Dim ruta As String
' valido donde escribo el archivo de la base de datos de kmt
ruta = File.DirInternal
' 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)
c=skmt.ExecQuery("select count(*) as CUANTOS FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
c.Position=0
If c.GetString("CUANTOS") = 0 Then
c2=skmt.ExecQuery2("select CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG from cat_gunaprod where CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 and CAT_GP_CLASIF = ? AND CAT_GP_TIPO = ? AND CAT_GP_SUBTIPO = ? AND CAT_GP_ID IN (SELECT HP_CODIGO_PROMOCION FROM HIST_PROMOS WHERE HP_CLIENTE IN (Select cuenta from cuentaa) )", Array As String(marca, tipo, "PROMOS"))
If c2.RowCount>0 Then
For i=0 To c.RowCount -1
c2.Position =i
RES = Msgbox2(" " & c2.GetString("CAT_GP_NOMBRE"),"IR......", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png"))
If RES = DialogResponse.POSITIVE Then
skmt.ExecNonQuery("delete from PROID")
skmt.ExecNonQuery2("INSERT INTO PROID VALUES (?)", Array As Object(c2.GetString("CAT_GP_NOMBRE")))
StartActivity(pedidos)
i = c2.RowCount
End If
Next
End If
End If
c.Close
ciclo = 1
End Sub
Sub Activity_Resume
skmt.ExecNonQuery2("UPDATE CAT_GUNAPROD SET CAT_GP_TIPOPROD = (?) WHERE CAT_GP_TIPOPROD = (?) ",Array As Object("PAQUETES","6"))
skmt.ExecNonQuery2("UPDATE CAT_GUNAPROD SET CAT_GP_TIPOPROD = (?) WHERE CAT_GP_TIPOPROD = (?) ",Array As Object("PAQUETES CLIENTE","7"))
skmt.ExecNonQuery2("UPDATE CAT_GUNAPROD SET CAT_GP_TIPOPROD = (?) WHERE CAT_GP_TIPOPROD = (?) ",Array As Object("PROMOCIONAL","1"))
skmt.ExecNonQuery2("UPDATE CAT_GUNAPROD SET CAT_GP_TIPOPROD = (?) WHERE CAT_GP_TIPOPROD = (?) ",Array As Object("CATALOGO REGULAR","0"))
skmt.ExecNonQuery2("UPDATE CAT_GUNAPROD SET CAT_GP_TIPOPROD = (?) WHERE CAT_GP_TIPOPROD = (?) ",Array As Object("INICIATIVAS","2"))
skmt.ExecNonQuery2("UPDATE CAT_GUNAPROD SET CAT_GP_TIPOPROD = (?) WHERE CAT_GP_TIPOPROD = (?) ",Array As Object("RECOMENDACIONES","8"))
'skmt.ExecNonQuery2("UPDATE CAT_GUNAPROD SET CAT_GP_TIPOPROD = (?) WHERE CAT_GP_ID IN (SELECT CAT_PA_ID FROM PROMOS_COMP WHERE CAT_PA_BANDERAORO = (?))",Array As Object("PAQUETES ORO","1"))
If ya_entro = "1" And marca = "PROMOS" Then
ya_entro = 0
End If
If ya_entro <> "1" Then
BUSCA.Text =""
skmt.Initialize(ruta,"kmt.db", True)
entro ="3"
ya_entro ="1"
'c=skmt.ExecQuery2("select CAT_GP_CLASIF, count(*) as cuantos from cat_gunaprod where CAT_GP_ALMACEN > 0 and CAT_GP_CLASIF <> ? group by CAT_GP_CLASIF order by CAT_GP_CLASIF asc", Array As String("PROMOS") )
If ciclo = 1 Then
' c=skmt.ExecQuery2("select CAT_GP_TIPOPROD, count(*) as cuantos from cat_gunaprod where CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 and (CAT_GP_TIPOPROD = (?) or CAT_GP_TIPOPROD = (?)) group by CAT_GP_TIPOPROD order by CAT_GP_CLASIF asc", Array As String("INICIATIVAS","PAQUETES") )
c=skmt.ExecQuery2("select (?) AS CAT_GP_TIPOPROD, count(*) as cuantos from CAT_NEXTBESTSKU where CAT_TIENDA IN (SELECT CUENTA FROM CUENTAA) ", Array As String("RECOMENDACIONES") )
else if ciclo = 2 Then
c=skmt.ExecQuery2("select CAT_GP_TIPOPROD, count(*) as cuantos from cat_gunaprod where CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 and (CAT_GP_TIPOPROD = (?) or CAT_GP_TIPOPROD = (?)) group by CAT_GP_TIPOPROD order by CAT_GP_CLASIF asc", Array As String("INICIATIVAS","PAQUETES") )
' c=skmt.ExecQuery2("select CAT_GP_TIPOPROD, count(*) as cuantos from cat_gunaprod where CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 and CAT_GP_TIPOPROD = (?) group by CAT_GP_TIPOPROD order by CAT_GP_CLASIF asc", Array As String("INICIATIVAS") )
'c=skmt.ExecQuery2("select CAT_GP_TIPOPROD, count(*) as cuantos from cat_gunaprod where CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 and (CAT_GP_TIPOPROD = (?) or CAT_GP_TIPOPROD = (?)) group by CAT_GP_TIPOPROD order by CAT_GP_CLASIF asc", Array As String("INICIATIVAS","PAQUETES") )
' Else IF ciclo = 3 Then
'c=skmt.ExecQuery2("select CAT_GP_TIPOPROD, count(*) as cuantos from cat_gunaprod where CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 and (CAT_GP_TIPOPROD = (?) or CAT_GP_TIPOPROD = (?) or CAT_GP_TIPOPROD = (?)) group by CAT_GP_TIPOPROD order by CAT_GP_CLASIF asc", Array As String("PROMOCIONAL","PAQUETES CLIENTE") )
' c=skmt.ExecQuery2("select CAT_GP_TIPOPROD, count(*) as cuantos from cat_gunaprod where CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 and (CAT_GP_TIPOPROD = (?) or CAT_GP_TIPOPROD = (?) or CAT_GP_TIPOPROD = (?)) group by CAT_GP_TIPOPROD order by CAT_GP_CLASIF asc", Array As String("PROMOCIONAL","PAQUETES CLIENTE") )
else if ciclo = 3 Then
c=skmt.ExecQuery2("select CAT_GP_TIPOPROD, count(*) as cuantos from cat_gunaprod where CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 and (CAT_GP_TIPOPROD = (?) ) group by CAT_GP_TIPOPROD order by CAT_GP_CLASIF asc", Array As String("CATALOGO REGULAR") )
Else
'c=skmt.ExecQuery2("select CAT_GP_TIPOPROD, count(*) as cuantos from cat_gunaprod where CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 and (CAT_GP_TIPOPROD = (?) ) group by CAT_GP_TIPOPROD order by CAT_GP_CLASIF asc", Array As String("CATALOGO REGULAR") )
c=skmt.ExecQuery2("select CAT_GP_TIPOPROD, count(*) as cuantos from cat_gunaprod where CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 and (CAT_GP_TIPOPROD = (?) or CAT_GP_TIPOPROD = (?) or CAT_GP_TIPOPROD = (?)) group by CAT_GP_TIPOPROD order by CAT_GP_CLASIF asc", Array As String("PROMOCIONAL","PAQUETES CLIENTE") )
'c=skmt.ExecQuery2("select (?) AS CAT_GP_TIPOPROD, count(*) as cuantos from CAT_NEXTBESTSKU where CAT_TIENDA IN (SELECT CUENTA FROM CUENTAA) ", Array As String("RECOMENDACIONES") )
'c=skmt.ExecQuery2("select CAT_GP_TIPOPROD, count(*) as cuantos from cat_gunaprod where CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 and (CAT_GP_TIPOPROD = (?) ) group by CAT_GP_TIPOPROD order by CAT_GP_CLASIF asc", Array As String("PAQUETES CLIENTE") )
End If
'ESTO ES PARA NO VER PROCTER
'c=skmt.ExecQuery2("select CAT_GP_CLASIF, count(*) as cuantos from cat_gunaprod where CAT_GP_ALMACEN > 0 and cat_gp_clasif NOT IN (?,?,?,?,?,?,?,?,?,?) group by CAT_GP_CLASIF order by CAT_GP_CLASIF asc", Array As String("PROCTER","PROMOS","TRES MONTES","CAMPARI","CAMPARI-PRO","CLOROX DE MEXICO","MARS","CONAGRA","VERDE VALLE","MEAD JOHNSON"))
ListView1.Clear
lfila.Text = "CATALOGOS"
If c.RowCount>0 Then
For i=0 To c.RowCount -1
c.Position=i
Dim label1 As Label
label1 = ListView1.TwoLinesLayout.Label
label1.TextSize = 13
label1.TextColor = Colors.Black
Dim label2 As Label
label2 = ListView1.TwoLinesLayout.SecondLabel
label2.TextSize = 13
label2.TextColor = Colors.Black
Dim label13 As Label
label13 = ListView1.TwoLinesAndBitmap.Label
label13.TextSize = 13
label13.TextColor = Colors.Black
Dim label14 As Label
label14 = ListView1.TwoLinesAndBitmap.SecondLabel
label14.TextSize = 13
label14.TextColor = Colors.Black
' If c.GetString("CAT_GP_TIPOPROD") = "PROMOS" Then
' ListView1.AddTwoLines(c.GetString("CAT_GP_CLASIF")," ")
'Else
ListView1.AddTwoLines(c.GetString("CAT_GP_TIPOPROD"),c.GetString("cuantos"))
'End If
Next
End If
End If
End Sub
Sub Activity_Pause (UserClosed As Boolean)
End Sub
Sub ListView1_ItemClick (Position As Int, Value As Object)
'Sub ListView1_ItemLongClick (Position As Int, Value As Object)
'que_colonia = Value
'StartActivity(fila)
b_qr.Visible = True
b_qr.Text = "SIGUIENTE"
If Value = "PAQUETES" Or Value = "PAQUETES CLIENTE" Or Value = "PAQUETES ORO" Then
entro = "3"
marca = "PROMOS"
tipo = "PROMOS"
End If
' entro = "3"
If entro = "3" Then
entro = "4"
skmt.Initialize(ruta,"kmt.db", True)
If marca = "PROMOS" Then
c2=skmt.ExecQuery2("select CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG from cat_gunaprod where CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 and CAT_GP_TIPOPROD = ? AND CAT_GP_TIPO = ? AND CAT_GP_SUBTIPO = ? AND CAT_GP_ID NOT IN (SELECT PE_PROID FROM PEDIDO WHERE PE_CLIENTE IN (Select cuenta from cuentaa) )", Array As String(Value,marca, tipo))
ELSE IF Value = "RECOMENDACIONES" Then
c2=skmt.ExecQuery("select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG, CAT_GP_INICIATIVA from cat_gunaprod where CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 and CAT_GP_ID IN (SELECT CAT_CODIGO FROM CAT_NEXTBESTSKU WHERE CAT_TIENDA IN (SELECT CUENTA FROM CUENTAA) ORDER BY CAT_RANK) ")
Else
c2=skmt.ExecQuery2("select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG, CAT_GP_INICIATIVA from cat_gunaprod where CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 and CAT_GP_TIPOPROD = ? ", Array As String(Value))
'c2=skmt.ExecQuery2("select CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG from cat_gunaprod where CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 and CAT_GP_TIPOPROD = ? AND CAT_GP_TIPO = ? AND CAT_GP_SUBTIPO = ? ", Array As String(marca, tipo, Value))
End If
' AND CAT_GP_ID IN (SELECT HP_CODIGO_PROMOCION FROM HIST_PROMOS WHERE HP_CLIENTE = (Select cuenta from cuentaa))
If Value = "INICIATIVAS" Then
ListView1.Clear
lfila.text = "INICIATIVAS"
Dim ins As InputStream
Dim bmp As Bitmap
Dim jpeg() As Byte
If c2.RowCount>0 Then
For i=0 To c2.RowCount -1
c2.Position=i
'jpeg = LoadBitmap(File.DirAssets, "ROJO.png")
'c2.GetBlob("CAT_GP_IMG")
'ins.InitializeFromBytesArray(jpeg, 0, jpeg.Length)
'bmp.Initialize2(ins)
S1=skmt.ExecQuery2("select COUNT(*) AS CUANTOS from HIST_VENTAS where HVD_PRONOMBRE =? and HVD_CLIENTE IN (Select cuenta from cuentaa)", Array As String(c2.GetString("CAT_GP_NOMBRE")))
S1.Position =0
If S1.GetString("CUANTOS") > 0 Then
s=skmt.ExecQuery2("select sum(HVD_CANT) AS SUMA from HIST_VENTAS where HVD_PRONOMBRE =? and HVD_CLIENTE IN (Select cuenta from cuentaa)", Array As String(c2.GetString("CAT_GP_NOMBRE")))
s.Position =0
'Msgbox(s.GetString("SUMA"),"DATO")
If s.GetString("SUMA") >= c2.GetString("CAT_GP_INICIATIVA") Then
bmp = LoadBitmap(File.DirAssets, "VERDE.png")
Else If s.GetString("SUMA") < c2.GetString("CAT_GP_INICIATIVA") And s.GetString("SUMA") > 0 Then
bmp = LoadBitmap(File.DirAssets, "AMARILLO.png")
Else
bmp = LoadBitmap(File.DirAssets, "ROJO.png")
End If
s.Close
Else
bmp = LoadBitmap(File.DirAssets, "ROJO.png")
End If
ListView1.AddTwoLinesAndBitmap(c2.GetString("CAT_GP_NOMBRE"),"# " & c2.GetString("CAT_GP_ALMACEN") & " $ " & c2.GetString("CAT_GP_PRECIO"),bmp)
Next
End If
c2.Close
Else if Value = "RECOMENDACIONES" Then
ListView1.Clear
lfila.text = "PRODUCTO"
Dim ins As InputStream
Dim bmp As Bitmap
Dim jpeg() As Byte
If c2.RowCount>0 Then
For i=0 To c2.RowCount -1
c2.Position=i
jpeg = c2.GetBlob("CAT_GP_IMG")
ins.InitializeFromBytesArray(jpeg, 0, jpeg.Length)
bmp.Initialize2(ins)
ListView1.AddTwoLinesAndBitmap(c2.GetString("CAT_GP_NOMBRE"),"# " & c2.GetString("CAT_GP_ALMACEN") & " $ " & c2.GetString("CAT_GP_PRECIO"),bmp)
Next
End If
c2.Close
Else
ListView1.Clear
lfila.text = "PRODUCTO"
Dim ins As InputStream
Dim bmp As Bitmap
Dim jpeg() As Byte
If c2.RowCount>0 Then
For i=0 To c2.RowCount -1
c2.Position=i
jpeg = c2.GetBlob("CAT_GP_IMG")
ins.InitializeFromBytesArray(jpeg, 0, jpeg.Length)
bmp.Initialize2(ins)
ListView1.AddTwoLinesAndBitmap(c2.GetString("CAT_GP_NOMBRE"),"# " & c2.GetString("CAT_GP_ALMACEN") & " $ " & c2.GetString("CAT_GP_PRECIO"),bmp)
Next
End If
c2.Close
End If
' c2=skmt.ExecQuery2("select CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG from cat_gunaprod where CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 and CAT_GP_IMP2 = ? AND CAT_GP_CLASIF <> ? ", Array As String("0", "PROMOS"))
' Dim ins As InputStream
' Dim bmp As Bitmap
' Dim jpeg() As Byte
' If c2.RowCount>0 Then
' For i=0 To c2.RowCount -1
' c2.Position=i
' jpeg = c2.GetBlob("CAT_GP_IMG")
' ins.InitializeFromBytesArray(jpeg, 0, jpeg.Length)
' bmp.Initialize2(ins)
'
' ListView1.AddTwoLinesAndBitmap(c2.GetString("CAT_GP_NOMBRE"),"# " & c2.GetString("CAT_GP_ALMACEN") & " $ " & c2.GetString("CAT_GP_PRECIO"),bmp)
' Next
' End If
' c2.Close
entro = "4"
Else If entro = "4" Then
skmt.ExecNonQuery("delete from PROID")
skmt.ExecNonQuery2("INSERT INTO PROID VALUES (?)", Array As Object(Value))
StartActivity(pedidos)
End If
End Sub
Sub Activity_KeyPress (key As Int) As Boolean
' BACK key pressed
If key=KeyCodes.KEYCODE_BACK Then
ya_entro ="0"
If entro = "4" Then
entro = "3"
Activity_Resume
Return True
Else If entro = "3" Then
' entro = "2"
' Activity_Resume
' Return True
' Else If entro = "2" Then
' entro = "1"
' Activity_Resume
' Return True
'Else If entro = "1" Then
' I want to capture the key here so I return True
StartActivity(fila)
Return False
End If
End If
' Returning False signals the system to handle the key
End Sub
Sub BUSCA_TextChanged (Old As String, New As String)
q_buscar = "%" & BUSCA.Text & "%"
skmt.Initialize(ruta,"kmt.db", True)
' c=skmt.ExecQuery2("select CAT_GP_NOMBRE from cat_gunaprod where CAT_GP_ALMACEN > 0 and CAT_GP_NOMBRE like ? AND cat_gp_clasif NOT IN (?,?,?,?,?,?,?,?,?,?) order by CAT_GP_NOMBRE asc", Array As String(q_buscar, "PROCTER","PROMOS","TRES MONTES","CAMPARI","CAMPARI-PRO","CLOROX DE MEXICO","MARS","CONAGRA","VERDE VALLE","MEAD JOHNSON"))
c=skmt.ExecQuery2("select CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO,CAT_GP_IMG from cat_gunaprod where CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 and CAT_GP_NOMBRE like ? and CAT_GP_CLASIF <> ? order by CAT_GP_NOMBRE asc", Array As String(q_buscar,"PROMOS"))
'and CAT_GP_CLASIF <> ? group by CAT_GP_CLASIF order by CAT_GP_CLASIF asc", Array As String("PROMOS") )
ListView1.Clear
Dim ins As InputStream
Dim bmp As Bitmap
Dim jpeg() As Byte
If c.RowCount>0 Then
For i=0 To c.RowCount -1
c.Position=i
jpeg = c.GetBlob("CAT_GP_IMG")
ins.InitializeFromBytesArray(jpeg, 0, jpeg.Length)
bmp.Initialize2(ins)
ListView1.AddTwoLinesAndBitmap(c.GetString("CAT_GP_NOMBRE"),"Existencia " & c.GetString("CAT_GP_ALMACEN") & " Precio $" & c.GetString("CAT_GP_PRECIO"),bmp)
Next
End If
' If c.RowCount>0 Then
' For i=0 To c.RowCount -1
' c.Position=i
' Dim label1 As Label
' label1 = ListView1.SingleLineLayout.Label
' label1.TextSize = 13
' ListView1.AddSingleLine(c.GetString("CAT_GP_NOMBRE"))
' Next
' End If
c.Close
entro= "4"
End Sub
Sub b_QR_Click
If ciclo = 1 Then
ciclo = 2
b_qr.Visible = False
ya_entro = "0"
'entro = 3
Activity_Resume
else if ciclo = 2 Then
ciclo = 3
' ya_entro = 0
ya_entro = "0"
Activity_Resume
b_qr.Visible = False
else if ciclo = 3 Then
ciclo = 4
' ya_entro = 0
ya_entro = "0"
Activity_Resume
b_qr.Visible = False
else if ciclo = 4 Then
ciclo = 1
' ya_entro = 0
ya_entro = "0"
Activity_Resume
b_qr.Visible = False
End If
End Sub

136
detalle_promo.bas Normal file
View File

@@ -0,0 +1,136 @@
B4A=true
Group=Default Group
ModulesStructureVersion=1
Type=Activity
Version=6.8
@EndOfDesignText@
#Region Activity Attributes
#FullScreen: False
#IncludeTitle: True
#End Region
Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
Dim skmt As SQL
End Sub
Sub Globals
'These global variables will be redeclared each time the activity is created.
'These variables can only be accessed from this module.
Dim c As Cursor
Dim ruta As String
Dim Regresar As Button
Dim b As Cursor
Dim regalo As String
Dim ListView1 As ListView
Dim L_CANT As Label
Dim L_TOTAL As Label
Dim borra As Button
Dim Existe As String
End Sub
Sub Activity_Create(FirstTime As Boolean)
ruta = File.DirInternal
Activity.LoadLayout("detalle_promo")
' 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)
c=skmt.ExecQuery("select CAT_DP_IDPROD, CAT_DP_PZAS, CAT_DP_PRECIO FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID)")
ListView1.Clear
If c.RowCount>0 Then
For i=0 To c.RowCount -1
c.Position=i
b=skmt.ExecQuery2("select CAT_GP_NOMBRE from cat_gunaprod where CAT_GP_ID = ?", Array As String(C.GetString("CAT_DP_IDPROD")))
B.Position =0
Dim label1 As Label
label1 = ListView1.TwoLinesLayout.Label
label1.TextSize = 15
label1.TextColor = Colors.White
Dim label2 As Label
label2 = ListView1.TwoLinesLayout.SecondLabel
label2.TextSize = 10
label2.TextColor = Colors.White
If c.GetString("CAT_DP_PRECIO") = 0 Then
regalo = "SI"
Else
regalo = "NO"
End If
ListView1.AddTwoLines(B.GetString("CAT_GP_NOMBRE"),"Cantidad # "& c.GetString("CAT_DP_PZAS")& " REGALO "& regalo)
b.Close
Next
c.Close
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 Activity_Resume
skmt.Initialize(ruta,"kmt.db", True)
c=skmt.ExecQuery("select CAT_DP_IDPROD, CAT_DP_PZAS, CAT_DP_PRECIO FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID)")
ListView1.Clear
If c.RowCount>0 Then
For i=0 To c.RowCount -1
c.Position=i
b=skmt.ExecQuery2("select CAT_GP_NOMBRE from cat_gunaprod where CAT_GP_ID = ?", Array As String(C.GetString("CAT_DP_IDPROD")))
B.Position =0
Dim label1 As Label
label1 = ListView1.TwoLinesLayout.Label
label1.TextSize = 15
label1.TextColor = Colors.White
Dim label2 As Label
label2 = ListView1.TwoLinesLayout.SecondLabel
label2.TextSize = 10
label2.TextColor = Colors.White
If c.GetString("CAT_DP_PRECIO") = 0 Then
regalo = "SI"
Else
regalo = "NO"
End If
ListView1.AddTwoLines(B.GetString("CAT_GP_NOMBRE"),"Cantidad # "& c.GetString("CAT_DP_PZAS")& " REGALO "& regalo)
b.Close
Next
c.Close
End If
'la_no_ird.Text = c.GetString("PR_CF_SALDO_ACORT")
End Sub
Sub Activity_Pause (UserClosed As Boolean)
End Sub
Sub Regresar_Click
StartActivity(pedidos)
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(pedidos)
'Return True
End If
' Returning False signals the system to handle the key
Return False
End Sub

475
fila.bas Normal file
View File

@@ -0,0 +1,475 @@
B4A=true
Group=Default Group
ModulesStructureVersion=1
Type=Activity
Version=6.8
@EndOfDesignText@
#Region Activity Attributes
#FullScreen: False
#IncludeTitle: True
#End Region
Sub Process_Globals
'These global variables will be declared once when the application starts.
'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
Dim total_cliente As String
Dim m_lat As String
Dim m_lon As String
End Sub
Sub Globals
'These global variables will be redeclared each time the activity is created.
'These variables can only be accessed from this module.
Dim c As Cursor
Dim s As Cursor
Dim c2 As Cursor
Dim ListView1 As ListView
Dim la_cuenta As Label
Dim La_nombre As Label
Dim la_Calle As Label
Dim la_numero As Label
Dim la_nint As Label
Dim la_edo As Label
Dim la_pob As Label
Dim la_col As Label
Dim la_cp As Label
Dim la_zona As Label
Dim gest As Button
Dim la_saldotot As Label
Dim la_saldooper As Label
Dim Tels As Button
Dim Label10 As Label
Dim Label11 As Label
Dim Tar As Button
Dim la_comm As Label
Dim la_actdte As Label
Dim la_usuario As Label
Dim la_resultado As Label
Dim l_entre1 As Label
Dim l_entre2 As Label
Dim l_atiende As Label
Dim l_atiende2 As Label
Dim DATOS As Button
Dim Guardar As Button
Dim NUEVO As Button
Dim lat_gps, lon_gps As String
Dim l_total As Label
Dim c2 As Cursor
Dim S2 As Cursor
Private s As Cursor
Dim res As String
Private HIST As Button
Private MONTO_COMPRA As String
Private META As String
Private META2 As String
Private VERIFICA As String
Private L_QR As Label
Private BT_QR As Button
Private qr As QRCode
' Dim sc As Zxing_scanner
Dim sc As JhsIceZxing1
Dim CODIGO As String
Private b_mapa As Button
Dim CUANTOS As String
End Sub
Sub Activity_Create(FirstTime As Boolean)
'Do not forget to load the layout file created with the visual designer. For example:
'Activity.LoadLayout("Layout1")
If(FirstTime) Then
g.Initialize("GPS")
End If
Activity.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")
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 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
' ListView1.Clear
'If c.RowCount>0 Then
' For i=0 To c.RowCount -1
c.Position=0
la_cuenta.Text = 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")
' 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
End Sub
Sub Activity_Resume
BT_QR.Enabled = False
BT_QR.Enabled = True
If g.GPSEnabled=False Then
ToastMessageShow("Habilitar el GPS", True)
StartActivity(g.LocationSettingsIntent)
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 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
' ListView1.Clear
'If c.RowCount>0 Then
' For i=0 To c.RowCount -1
c.Position=0
la_cuenta.Text = 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")
m_lat =c.GetString("CAT_CL_LAT")
m_lon =c.GetString("CAT_CL_LONG")
' Msgbox(c.GetString("CAT_CL_NUM_SERIEFISICO"),"AVISO")
If c.GetString("CAT_CL_NUM_SERIEFISICO") = "0" Then
L_QR.Visible = True
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.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.Position =0
MONTO_COMPRA = c2.GetString("TOTAL")
c2.Close
Else
MONTO_COMPRA = "0"
End If
la_saldotot.Text = MONTO_COMPRA
If MONTO_COMPRA <> "0" Then
META2 = 300 - MONTO_COMPRA
Else
META2 = 300
End If
If META2 < 1 Then
META2 = "CUBIERTO"
End If
la_saldooper.Text = META2
' 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")
'
'
'
''''''''''''''''''esto es para los pup de validacion
'
'
' s=skmt.ExecQuery("select count(*) as CUANTOS from HIST_VERIFICACION where HVE_CLIENTE IN (Select cuenta from cuentaa)")
' s.Position=0
' If s.GetString("CUANTOS") = 0 Then
'
' If MONTO_COMPRA > 300 Then
' META = "FELICIDADES ESTE CLIENTE YA ALCANZO LA META DE VENTA"
' Else
' META2 = 300 - MONTO_COMPRA
'
' META = "FALTA POR ALCANZAR META, LA VENTA MINIMA PARA HOY ES DE : " & META2
'
' End If
' c=skmt.ExecQuery("select count(*) as CUANTOS FROM CAT_VERIFICACION")
' c.Position=0
' If c.GetString("CUANTOS") <> 0 Then
'
' c2=skmt.ExecQuery("select CAT_VE_IDPROD, CAT_VE_NOMBRE, CAT_VE_ORDEN FROM CAT_VERIFICACION ORDER BY CAT_VE_ORDEN ")
' If c2.RowCount>0 Then
' For i=0 To c2.RowCount -1
'' c2.Position =i
' VERIFICA = VERIFICA & "-------VALIDAR------- " & c2.GetString("CAT_VE_NOMBRE")
'
'
' Next
' End If
' End If
' c.Close
' c2.Close
'
' Msgbox(" Instrucciones: " & META &" para este clinete el adicional " & VERIFICA &" y el cliente cuenta con 6 promos.","Indicaciones")
' c=skmt.ExecQuery("select count(*) as CUANTOS FROM CAT_VERIFICACION")
' c.Position=0
' If c.GetString("CUANTOS") <> 0 Then
' c2=skmt.ExecQuery("select CAT_VE_IDPROD, CAT_VE_NOMBRE, CAT_VE_ORDEN FROM CAT_VERIFICACION ORDER BY CAT_VE_ORDEN ")
' If c2.RowCount>0 Then
'' For i=0 To c2.RowCount -1
' c2.Position =i
' 'ToastMessageShow(c2.GetString("CAT_GP_NOMBRE"), True)
'
' res = Msgbox2("Tiene el cliente " & c2.GetString("CAT_VE_NOMBRE"),"Verificacion", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png"))
' If res = DialogResponse.POSITIVE Then
' skmt.ExecNonQuery2("INSERT INTO HIST_VERIFICACION VALUES (?,?,?)", Array As Object(la_cuenta.Text,c2.GetString("CAT_VE_IDPROD"), 1))
'
' Else
' skmt.ExecNonQuery2("INSERT INTO HIST_VERIFICACION VALUES (?,?,?)", Array As Object(la_cuenta.Text,c2.GetString("CAT_VE_IDPROD"), 0))
'
' End If
' Next
' End If
' End If
' c.Close
' End If
' s.Close
''''''''''''''''''''''''''' hasta aqui es todo para los pups de validacion.
End Sub
Sub Activity_Pause (UserClosed As Boolean)
End Sub
Sub GPS_LocationChanged (Location1 As Location)
lat_gps=Location1.Latitude
lon_gps=Location1.Longitude
BT_QR.Enabled = True
End Sub
Sub ListView1_ItemLongClick (Position As Int, Value As Object)
End Sub
Sub gest_Click
'StartActivity(telefonos)
' skmt.ExecNonQuery("delete from PRODUCTOA")
' skmt.ExecNonQuery2("INSERT INTO PRODUCTOA VALUES (?)", Array As Object(la_producto.Text))
' Dim cuantos As String
'c=skmt.ExecQuery("select count(*) as cuantos from HIST_VISITAS WHERE HIST_VI_CREDITO IN (SELECT CUENTA FROM CUENTAA) ")
' c.Position = 0
' cuantos = c.GetString("cuantos")
' ToastMessageShow(cuantos,True)
'If cuantos > 0 Then
'StartActivity(gestion)
'Else If cuantos = 0 Then
''''' ESTE CODIGO SIRVE PARA MANDAR EN PUPUP LA PROMOCIONES E IR PREGUNTANDO UNO A UNO.
''' DESDE EL CURSOR Y TODO EL IF DE ABAJO SON 20 LINEAS.
' c=skmt.ExecQuery("select count(*) as CUANTOS FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
' c.Position=0
' If c.GetString("CUANTOS") = 0 Then
' c2=skmt.ExecQuery2("select CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG from cat_gunaprod where CAT_GP_ALMACEN > 0 and CAT_GP_CLASIF = ? AND CAT_GP_TIPO = ? AND CAT_GP_SUBTIPO = ? AND CAT_GP_ID IN (SELECT HP_CODIGO_PROMOCION FROM HIST_PROMOS WHERE HP_CLIENTE IN (Select cuenta from cuentaa) )", Array As String("PROMOS", "PROMOS", "PROMOS"))
' If c2.RowCount>0 Then
' For i=0 To c2.RowCount -1
' c2.Position =i
' 'ToastMessageShow(c2.GetString("CAT_GP_NOMBRE"), True)
'
' res = Msgbox2(" " & c2.GetString("CAT_GP_NOMBRE"),"IR......", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png"))
' If res = DialogResponse.POSITIVE Then
' skmt.ExecNonQuery("delete from PROID")
' skmt.ExecNonQuery2("INSERT INTO PROID VALUES (?)", Array As Object(c2.GetString("CAT_GP_NOMBRE")))
' StartActivity(pedidos)
' i = c2.RowCount
' else if i = c2.RowCount -1 Then
' StartActivity(colonia2)
' End If
' Next
' Else
' StartActivity(colonia2)
' End If
' Else
' StartActivity(colonia2)
' End If
' c.Close
''''' HASTA AQUI TERMINA LO DE LOS PUPUPS
StartActivity(colonia2)
End Sub
Sub Tels_Click
' skmt.ExecNonQuery("delete from PEDIDO")
StartActivity(nopago)
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)
'Return True
End If
' Returning False signals the system to handle the key
Return False
End Sub
Sub Tar_Click
StartActivity(tarjeta)
End Sub
Sub DATOS_Click
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.Position=0
clie_id = c.GetString("CUENTA")
c=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.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"), lon_gps, lat_gps))
skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
End If
StartActivity(seleccion)
End Sub
Sub NUEVO_Click
StartActivity(nuevocliente)
End Sub
Sub HIST_Click
StartActivity(Historico)
End Sub
Sub BT_QR_Click
'StartActivity(QR_MODULE)
sc.isportrait = True
' sc.displayOrientation = 90
' sc.useFrontCam = False
sc.timeoutDuration = 45
sc.theViewFinderXfactor = 0.7
sc.theViewFinderYfactor = 0.5
' sc.theFrameColor = Colors.White
' sc.theLaserColor = Colors.red
' sc.moveLaser = True
' sc.theMaskColor = Colors.argb(100, 0, 0, 100)
sc.theResultColor = Colors.Green
' sc.theResultPointColor = Colors.Red
' sc.mustBeep = True
sc.mustVibrate = True
sc.BeginScan("sc")
End Sub
Sub sc_result(atype As String,Values As String, image As Bitmap)
' Log("Type : " & atype)
' Log("Value : " & Values)
CODIGO = Values
'Msgbox("CODIGO NO VALIDO " & Values,"ALERTA")
If CODIGO.SubString2(0,3) = "GTM" Then
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, lon_gps, lat_gps))
Else
Msgbox("CODIGO NO VALIDO","ALERTA")
End If
End Sub
Sub sc_timedout(timedOut As Boolean)
Log("timedOut " & timedOut)
End Sub
Sub sc_usercancelled(userCancelled As Boolean)
Log("userCancelled " & userCancelled)
End Sub
Sub calc_ean_checksum(number As String) As String 'this has now become redundant as I am only interested in QR Codes
Dim i As Int
Dim cO As Char
Dim soma As Int
Dim n As Int
Dim digit As Float
soma = 0
For i=0 To number.Length - 1
digit = number.SubString2(i,i+1)
n= digit * ((i Mod 2) * 2 + 1)
soma=soma+n
Next
Return number & ( ( 10 - ( soma Mod 10 )) Mod 10 )
End Sub
Sub b_mapa_Click
StartActivity(mapas)
End Sub

138
fila2.bas Normal file
View File

@@ -0,0 +1,138 @@
Type=Activity
Version=3
@EndOfDesignText@
#Region Activity Attributes
#FullScreen: False
#IncludeTitle: True
#End Region
Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
End Sub
Sub Globals
'These global variables will be redeclared each time the activity is created.
'These variables can only be accessed from this module.
Dim g As GPS
Dim skmt As SQL
Dim c As Cursor
Dim ListView1 As ListView
Dim la_cuenta As Label
Dim La_nombre As Label
Dim la_Calle As Label
Dim la_numero As Label
Dim la_nint As Label
Dim la_edo As Label
Dim la_pob As Label
Dim la_col As Label
Dim la_cp As Label
Dim la_zona As Label
Dim la_entre1 As Label
Dim la_entre2 As Label
Dim gest As Button
Dim la_saldotot As Label
Dim la_saldooper As Label
Dim la_saldof1 As Label
Dim la_penal As Label
Dim la_producto As Label
Dim la_padre As Label
Dim la_no_ird As Label
Dim Tels As Button
End Sub
Sub Activity_Create(FirstTime As Boolean)
'Do not forget to load the layout file created with the visual designer. For example:
'Activity.LoadLayout("Layout1")
If(FirstTime) Then
g.Initialize("GPS")
End If
Activity.LoadLayout("info_gral")
Dim ruta As String
' valido donde escribo el archivo de la base de datos de kmt
If File.ExternalWritable Then
ruta = File.DirDefaultExternal
Else
ruta = File.DirInternal
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.
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)
c=skmt.ExecQuery("select pr_cd_credito,pr_cd_nombre,pr_cd_calle,pr_cd_numero,pr_cd_num_int,pr_cd_entrecalle1,pr_cd_entrecalle2,pr_cd_colonia,pr_cd_poblacion,pr_cd_edo,pr_cd_cp,pr_Cd_zona, pr_cf_saldotot,pr_cf_saldooper,pr_cf_saldof1, pr_cf_penalizacion, pr_kt_producto, Pr_Ca_Padre, Pr_Ca_No_Ird, PR_CA_CONVENIO,PR_CF_MTO_PRESTAMO,PR_CF_FECHA_DISP,PR_CF_SALDO_ACORT,PR_CF_SALDO_VEN,PR_CF_SALDO_PAGARE,PR_CF_CAPITAL from kmt_info where pr_cd_credito In (select cuenta from cuentaa)")
' ListView1.Clear
'If c.RowCount>0 Then
' For i=0 To c.RowCount -1
c.Position=0
la_cuenta.Text = c.GetString("pr_cd_credito")
La_nombre.Text = c.GetString("pr_cd_nombre")
la_Calle.Text = c.GetString("pr_cd_calle")
'la_numero.Text = c.GetString("pr_cd_numero")
'la_nint.Text = c.GetString("pr_cd_num_int")
la_entre1.Text = c.GetString("PR_CF_CAPITAL")
'la_entre2.Text = c.GetString("pr_cd_entrecalle2")
la_col.Text = c.GetString("pr_cd_colonia")
la_pob.Text = c.GetString("pr_cd_poblacion")
la_edo.Text = c.GetString("pr_cd_edo")
la_cp.Text = c.GetString("pr_cd_cp")
'la_zona.Text = c.GetString("pr_Cd_zona")
la_saldotot.Text = c.GetString("PR_CA_CONVENIO")
la_saldooper.Text = c.GetString("PR_CF_MTO_PRESTAMO")
la_saldof1.Text = c.GetString("PR_CF_SALDO_VEN")
la_penal.Text = c.GetString("PR_CF_SALDO_PAGARE")
la_producto.Text = c.GetString("pr_kt_producto")
la_padre.Text = c.GetString("PR_CF_FECHA_DISP")
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 Activity_Resume
If g.GPSEnabled=False Then
ToastMessageShow("Habilitar el GPS", True)
StartActivity(g.LocationSettingsIntent)
Else
g.Start(0,0)
End If
End Sub
Sub Activity_Pause (UserClosed As Boolean)
End Sub
Sub ListView1_ItemLongClick (Position As Int, Value As Object)
End Sub
Sub gest_Click
StartActivity(gestion)
End Sub
Sub Tels_Click
StartActivity(telefonos)
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)
'Return True
End If
' Returning False signals the system to handle the key
Return False
End Sub

129
foto.bas Normal file
View File

@@ -0,0 +1,129 @@
B4A=true
Group=Default Group
ModulesStructureVersion=1
Type=Activity
Version=6.8
@EndOfDesignText@
#Region Activity Attributes
#FullScreen: False
#IncludeTitle: True
#End Region
Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
Dim ruta As String
Dim g As GPS
Private frontCamera As Boolean = False
End Sub
Sub Globals
Dim camera1 As Camera
Dim btnTakePicture As Button
Dim Panel1 As Panel
Dim skmt As SQL
Dim c As Cursor
Dim cuenta As String
Dim lat_gps As String
Dim lon_gps As String
Private camEx As CameraExClass
End Sub
Sub Activity_Create(FirstTime As Boolean)
If(FirstTime) Then
g.Initialize("GPS")
End If
Activity.LoadLayout("foto")
btnTakePicture.Enabled = False
camera1.Initialize(Panel1, "Camera1")
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)
c=skmt.ExecQuery("select cuenta from cuentaa")
c.Position = 0
cuenta = c.GetString("CUENTA")
End Sub
Sub Camera1_Ready (Success As Boolean)
If Success Then
camera1.StartPreview
btnTakePicture.Enabled = True
Else
ToastMessageShow("No se puede abrir la camara.", True)
End If
End Sub
Sub Activity_Resume
If g.GPSEnabled=False Then
ToastMessageShow("Habilitar el GPS", True)
StartActivity(g.LocationSettingsIntent)
Else
g.Start(0,0)
End If
btnTakePicture.Enabled = False
camera1.Initialize(Panel1, "Camera1")
End Sub
Sub Activity_Pause (UserClosed As Boolean)
camera1.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
Sub Camera1_PictureTaken (Data() As Byte)
camera1.StartPreview
'Dim out As OutputStream
c=skmt.ExecQuery("select cuenta from cuentaa")
c.Position = 0
cuenta = c.GetString("CUENTA")
Dim sDate,sTime As String
DateTime.DateFormat = "MM/dd/yyyy"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
skmt.ExecNonQuery2("INSERT INTO HIST_VISITAS (HIST_VI_IMAGEN, HIST_VI_CREDITO,HIST_VI_DTEVISITA, HIST_VI_LONGITUD, HIST_VI_LATITUD) VALUES(?,?,?,?,?) ", Array As Object (Data, cuenta,sDate & sTime, lon_gps,lat_gps))
'out = File.OpenOutput(File.DirRootExternal, "1.jpg", False)
'out.WriteBytes(Data, 0, Data.Length)
'out.Close
'ToastMessageShow("Gestion Salvada ", True)
btnTakePicture.Enabled = True
'CallSubDelayed(seleccion,"seleccion")
StartActivity(fila)
End Sub
Sub btnTakePicture_Click
btnTakePicture.Enabled = False
camera1.TakePicture
'camera1.TakePicture
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)
'Return True
End If
' Returning False signals the system to handle the key
Return False
End Sub

267
gestion.bas Normal file
View File

@@ -0,0 +1,267 @@
B4A=true
Group=Default Group
ModulesStructureVersion=1
Type=Activity
Version=6.8
@EndOfDesignText@
#Region Activity Attributes
#FullScreen: False
#IncludeTitle: True
#End Region
Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
Dim g As GPS
End Sub
Sub Globals
'These global variables will be redeclared each time the activity is created.
'These variables can only be accessed from this module.
Dim s As SQL
Dim c As Cursor
Dim nombre As EditText
Dim btn As Button
Dim lv As ListView
Dim telefono As EditText
Dim lb_gps As Label
Dim lat_gps As String
Dim lon_gps As String
Dim contacto As EditText
Dim Resultado As EditText
Dim comentario As EditText
Dim codigos As Button
Dim parent As Button
Dim quien_llamo As String
Dim fecha As EditText
Dim l_fecha As Label
Dim l_monto As Label
Dim monto As EditText
Dim cuantos As String
Dim l_comentario As Label
Dim l_ird1 As Label
Dim ird1 As EditText
Dim l_ird2 As Label
Dim ird2 As EditText
Dim l_ird3 As Label
Dim ird3 As EditText
Dim l_ird4 As Label
Dim ird4 As EditText
Dim despues As Button
Dim cuenta As String
Dim usuario As String
Dim result As String
Dim pondera As String
End Sub
Sub Activity_Create(FirstTime As Boolean)
'Do not forget to load the layout file created with the visual designer. For example:
'Activity.LoadLayout("Layout1")
If(FirstTime) Then
g.Initialize("GPS")
End If
Activity.LoadLayout("guardagestion")
Dim ruta As String
' valido donde escribo el archivo de la base de datos de kmt
ruta = File.DirInternal
' 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
s.Initialize(ruta,"kmt.db", True)
End Sub
Sub Activity_Resume
If g.GPSEnabled=False Then
ToastMessageShow("Habilitar el GPS", True)
StartActivity(g.LocationSettingsIntent)
Else
g.Start(0,0)
End If
monto.Visible = False
l_monto.Visible = False
l_fecha.Visible = False
fecha.Visible = False
contacto.Text = ""
Resultado.Text= ""
comentario.Text =""
monto.Text = ""
fecha.Text = ""
End Sub
Sub Activity_Pause (UserClosed As Boolean)
g.Start(0,0)
End Sub
Sub btn_Click
If Resultado.text<>"" And contacto.Text<>"" And comentario.text<>"" Then
' c=s.ExecQuery("select pr_cd_credito,pr_cd_nombre,pr_cd_calle,pr_cd_numero,pr_cd_num_int,pr_cd_entrecalle1,pr_cd_entrecalle2,pr_cd_colonia,pr_cd_poblacion,pr_cd_edo,pr_cd_cp,pr_Cd_zona, pr_cf_saldotot,pr_cf_saldooper,pr_cf_saldof1, pr_cf_penalizacion, pr_kt_producto, Pr_Ca_Padre, Pr_Ca_No_Ird from kmt_info where pr_cd_credito In (select cuenta from cuentaa)")
'ESTO SE NECESITA PARA SACAR LOS VALORES Y COMPARAR LOS IRD
' c.Position=0
' Dim la_cuenta As String = c.GetString("pr_cd_credito")
' Dim La_nombre As String = c.GetString("pr_cd_nombre")
' la_Calle.Text = c.GetString("pr_cd_calle")
' la_numero.Text = c.GetString("pr_cd_numero")
' la_nint.Text = c.GetString("pr_cd_num_int")
' la_entre1.Text = c.GetString("pr_cd_entrecalle1")
' la_entre2.Text = c.GetString("pr_cd_entrecalle2")
' la_col.Text = c.GetString("pr_cd_colonia")
' la_pob.Text = c.GetString("pr_cd_poblacion")
' la_edo.Text = c.GetString("pr_cd_edo")
' la_cp.Text = c.GetString("pr_cd_cp")
' la_zona.Text = c.GetString("pr_Cd_zona")
' la_saldotot.Text = c.GetString("pr_cf_saldotot")
' la_saldooper.Text = c.GetString("pr_cf_saldooper")
' la_saldof1.Text = c.GetString("pr_cf_saldof1")
' la_penal.Text = c.GetString("pr_cf_penalizacion")
' la_producto.Text = c.GetString("pr_kt_producto")
' la_padre.Text = c.GetString("Pr_Ca_Padre")
' la_no_ird.Text = c.GetString("Pr_Ca_No_Ird")
c=s.ExecQuery("select CUENTA from cuentaa")
c.Position = 0
cuenta = c.GetString("CUENTA")
c=s.ExecQuery("select usuario from usuarioa")
c.Position = 0
usuario = c.GetString("USUARIO")
c=s.ExecQuery2("select CRDESC,CRCOD AS CODIGO,CRPROD from cod_result WHERE CRDESC = ? ", Array As String(Resultado.Text))
c.Position = 0
result = c.GetString("CODIGO")
'pondera = c.GetString("CAT_CO_PONDERACION")
Dim sDate,sTime As String
DateTime.DateFormat = "MM/dd/yyyy"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
s.ExecNonQuery("UPDATE kmt_info set gestion = 1 where MGCTA In (select cuenta from cuentaa)")
s.ExecNonQuery2("UPDATE hist_visitas SET HIST_VI_VISITADOR = ?, HIST_VI_RESULTADO = ?, HIST_VI_CODIGO = ?, HIST_VI_PARENTESCO = ?, HIST_VI_COMENTARIO =?, HIST_VI_DPROM =?, HIST_VI_MPROM =? WHERE HIST_VI_CREDITO = ? ", Array As Object(usuario,Resultado.Text,result,contacto.text, comentario.Text,fecha.text,monto.Text, cuenta))
'datetime(updatedon,'localtime')
'CallSubDelayed(foto,"foto")
StartActivity(seleccion)
End If
End Sub
Sub GPS_LocationChanged (Location1 As Location)
Dim sDate,sTime As String
DateTime.DateFormat = "MM/dd/yyyy"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
lat_gps=Location1.ConvertToSeconds(Location1.Latitude)
lon_gps=Location1.ConvertToSeconds(Location1.Longitude)
's.ExecNonQuery2("INSERT INTO HIST_GPS (HGDATE,HGLAT, HGLON) VALUES(?,?,?) ", Array As Object (sDate & sTime, lat_gps, lon_gps))
End Sub
Sub codigos_Click
quien_llamo = "codigo"
c=s.ExecQuery("select COUNT(*) AS CUANTOS from COD_RESULT WHERE CRPROD IN (select productoa from productoa)")
c.Position=0
cuantos = c.GetString("CUANTOS")
If cuantos = 0 Then
lv.Clear
lv.AddSingleLine("SIN CODIGOS")
Else
c=s.ExecQuery("select CRDESC AS DESC, CRCOD from COD_RESULT WHERE CRPROD IN (select productoa from productoa) ORDER BY CRDESC ASC")
lv.Clear
If c.RowCount>0 Then
For i=0 To c.RowCount -1
c.Position=i
lv.AddSingleLine(c.GetString("DESC"))
Next
End If
End If
End Sub
Sub lv_ItemClick (Position As Int, Value As Object)
Dim es_c_promesa As String
If quien_llamo = "codigo" Then
Resultado.Text = Value
If Resultado.Text <> "EQUIPO RECUPERADO" Then
comentario.Visible = True
l_comentario.Visible = True
l_ird1.Visible = False
ird1.Visible = False
l_ird2.Visible = False
ird2.Visible = False
l_ird3.Visible = False
ird3.Visible = False
l_ird4.Visible = False
ird4.Visible = False
' c=s.ExecQuery2("select CAT_CO_CONFIGURACION from CAT_CODIGOS WHERE CAT_CO_RDESCRIPCION = ? ", Array As String(Value))
' c.Position=0
' es_c_promesa=c.GetString("CAT_CO_CONFIGURACION")
If Resultado.Text = "PROMESA DE PAGO" Then
monto.Visible = True
l_monto.Visible = True
l_fecha.Visible = True
fecha.Visible = True
Else
monto.Visible = False
l_monto.Visible = False
l_fecha.Visible = False
fecha.Visible = False
End If
Else
comentario.Visible = False
l_comentario.Visible = False
l_ird1.Visible = True
ird1.Visible = True
l_ird2.Visible = True
ird2.Visible = True
l_ird3.Visible = True
ird3.Visible = True
l_ird4.Visible = True
ird4.Visible = True
End If
Else
contacto.Text = Value
End If
lv.Clear
End Sub
Sub parent_Click
quien_llamo = "parent"
c=s.ExecQuery("select CAT_PA_ID, CAT_PA_PARENTESCO from CAT_PARENTESCO order by CAT_PA_PARENTESCO asc")
lv.Clear
If c.RowCount>0 Then
For i=0 To c.RowCount -1
c.Position=i
lv.AddSingleLine(c.GetString("CAT_PA_PARENTESCO"))
Next
End If
End Sub
Sub despues_Click
s.ExecNonQuery("UPDATE kmt_info set gestion = 2 where pr_cd_credito In (select cuenta from cuentaa)")
's.ExecNonQuery2("insert into hist_Act (htel, hanombre) values (?,datetime(updatedon,'localtime'))" Array As String(cuantos))
'CallSubDelayed(foto,"foto")
StartActivity(colonia)
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)
'Return True
End If
' Returning False signals the system to handle the key
Return False
End Sub

1
gitpull.bat Normal file
View File

@@ -0,0 +1 @@
git pull

BIN
kmt.db Normal file

Binary file not shown.

51
mapas.bas Normal file
View File

@@ -0,0 +1,51 @@
B4A=true
Group=Default Group
ModulesStructureVersion=1
Type=Activity
Version=6.8
@EndOfDesignText@
#Region Activity Attributes
#FullScreen: False
#IncludeTitle: True
#End Region
Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
End Sub
Sub Globals
'These global variables will be redeclared each time the activity is created.
'These variables can only be accessed from this module.
Dim WebView1 As WebView
Dim reg As Button
Dim a_url As String
End Sub
Sub Activity_Create(FirstTime As Boolean)
'Do not forget to load the layout file created with the visual designer. For example:
'Activity.LoadLayout("Layout1")
Activity.LoadLayout("mapa")
a_url ="http://maps.googleapis.com/maps/api/staticmap?zoom=16&size=400x300&maptype=roadmap&markers=color:blue%7C" & "19.072205" & ",%20"& "-98.226863" & "&sensor=false"
WebView1.LoadUrl("http://maps.googleapis.com/maps/api/staticmap?zoom=16&size=800x800&maptype=roadmap&markers=color:blue%7Clabel:1%7C19.076514,%20-98.228184&markers=color:red%7Clabel:C%7C19.076514,%20-98.238184&sensor=false")
'http://maps.googleapis.com/maps/api/staticmap?zoom=16&size=800x800&maptype=roadmap&markers=color:blue%7Clabel:1%7C19.076514,%20-98.228184&markers=color:red%7Clabel:C%7C19.076514,%20-98.238184&path=color:0xff0000ff|weight:5|19.076514,-98.228184|19.076514,-98.238184&sensor=False
' la parte del path
End Sub
Sub Activity_Resume
End Sub
Sub Activity_Pause (UserClosed As Boolean)
End Sub
Sub reg_Click
StartActivity(fila)
End Sub

115
nopago.bas Normal file
View File

@@ -0,0 +1,115 @@
B4A=true
Group=Default Group
ModulesStructureVersion=1
Type=Activity
Version=6.8
@EndOfDesignText@
#Region Activity Attributes
#FullScreen: False
#IncludeTitle: True
#End Region
Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
Dim g As GPS
Dim ruta As String
Dim skmt As SQL
Dim c As Cursor
End Sub
Sub Globals
'These global variables will be redeclared each time the activity is created.
'These variables can only be accessed from this module.
Dim CANCELA As Button
Dim GUARDA As Button
Dim r_1 As RadioButton
Dim r_2 As RadioButton
Dim r_3 As RadioButton
Dim e_comm As EditText
Dim motivo As String
Dim cuenta As String
Dim usuario As String
Dim sDate,sTime As String
Dim lat_gps, lon_gps As String
Dim r_4 As RadioButton
End Sub
Sub Activity_Create(FirstTime As Boolean)
'Do not forget to load the layout file created with the visual designer. For example:
If(FirstTime) Then
g.Initialize("GPS")
End If
Activity.LoadLayout("nopago")
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)
End Sub
Sub Activity_Resume
e_comm.Text=""
If g.GPSEnabled=False Then
ToastMessageShow("Habilitar el GPS", True)
StartActivity(g.LocationSettingsIntent)
Else
g.Start(0,0)
End If
End Sub
Sub Activity_Pause (UserClosed As Boolean)
g.Start(0,0)
End Sub
Sub GPS_LocationChanged (Location1 As Location)
lat_gps=Location1.ConvertToSeconds(Location1.Latitude)
lon_gps=Location1.ConvertToSeconds(Location1.Longitude)
End Sub
Sub CANCELA_Click
StartActivity(fila)
End Sub
Sub GUARDA_Click
If r_1.Checked Then
motivo = "CERRADO"
Else If r_2.Checked Then
motivo = "NO COMPRA"
Else If r_3.Checked Then
motivo = "CON PRODUCTO"
Else
motivo = "NO ESTA EL ENCARGADO"
End If
DateTime.DateFormat = "MM/dd/yyyy"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
c=skmt.ExecQuery("select CUENTA from cuentaa")
c.Position = 0
cuenta = c.GetString("CUENTA")
c=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) ")
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")))
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.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,lat_gps,lon_gps))
skmt.ExecNonQuery("UPDATE kmt_info set gestion = 3 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
StartActivity(seleccion)
End Sub

99
nuevocliente.bas Normal file
View File

@@ -0,0 +1,99 @@
B4A=true
Group=Default Group
ModulesStructureVersion=1
Type=Activity
Version=6.8
@EndOfDesignText@
#Region Activity Attributes
#FullScreen: False
#IncludeTitle: True
#End Region
Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
Dim g As GPS
Dim ruta As String
Dim skmt As SQL
Dim c As Cursor
End Sub
Sub Globals
'These global variables will be redeclared each time the activity is created.
'These variables can only be accessed from this module.
Dim CANCELA As Button
Dim GUARDA As Button
Dim cuenta As String
Dim usuario As String
Dim sDate,sTime As String
Dim lat_gps, lon_gps As String
Dim no_cliente As String
Dim no_ruta As String
Dim r_4 As RadioButton
Dim E_NOMBRE As EditText
End Sub
Sub Activity_Create(FirstTime As Boolean)
'Do not forget to load the layout file created with the visual designer. For example:
If(FirstTime) Then
g.Initialize("GPS")
End If
Activity.LoadLayout("nuevocliente")
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)
End Sub
Sub Activity_Resume
E_NOMBRE.Text = ""
If g.GPSEnabled=False Then
ToastMessageShow("Habilitar el GPS", True)
StartActivity(g.LocationSettingsIntent)
Else
g.Start(0,0)
End If
End Sub
Sub Activity_Pause (UserClosed As Boolean)
g.Start(0,0)
End Sub
Sub GPS_LocationChanged (Location1 As Location)
lat_gps=Location1.ConvertToSeconds(Location1.Latitude)
lon_gps=Location1.ConvertToSeconds(Location1.Longitude)
End Sub
Sub CANCELA_Click
StartActivity(seleccion)
End Sub
Sub GUARDA_Click
If E_NOMBRE.Text = "" Then
ToastMessageShow("Se tiene que nombrar la tienda para continuar" , True)
Else
DateTime.DateFormat = "MM/dd/yyyy"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
c=skmt.ExecQuery("select CAT_CL_RUTA FROM kmt_info")
c.Position=0
no_ruta= c.GetString("CAT_CL_RUTA")
no_cliente= "N" & sTime & no_ruta
c.Close
skmt.ExecNonQuery2("INSERT INTO kmt_info(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, gestion) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,0,0,0) ",Array As Object (no_cliente,no_ruta, E_NOMBRE.Text,"null","null","null","null","null","null","null","null","null","null","null","null","null","null","null"))
skmt.ExecNonQuery("delete from CUENTAA")
skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object(no_cliente))
StartActivity(fila)
End If
End Sub

654
pedidos.bas Normal file
View File

@@ -0,0 +1,654 @@
B4A=true
Group=Default Group
ModulesStructureVersion=1
Type=Activity
Version=6.8
@EndOfDesignText@
#Region Activity Attributes
#FullScreen: False
#IncludeTitle: True
#End Region
Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
Dim g As GPS
Dim ruta As String
Dim skmt As SQL
End Sub
Sub Globals
'These global variables will be redeclared each time the activity is created.
'These variables can only be accessed from this module.
Dim c As Cursor
Dim e As Cursor
Dim f As Cursor
Dim h As Cursor
Dim CC As Cursor
Dim DD As Cursor
Dim l_tipo As Label
Dim l_sub As Label
Dim l_marca As Label
Dim l_desc As Label
Dim l_precio As Label
Dim l_bodega As Label
Dim cantidad As EditText
Dim guardar As Button
Dim Terminar As Button
Dim img_prod As ImageView
Dim IMG_PASO() As Byte
Dim L_PROID As Label
Dim clie_id As String
Dim sDate,sTime As String
Dim usuario As String
Dim lat_gps, lon_gps As String
Dim t_venta As Label
Dim PROMO_C As String
Dim i_fotol As ImageView
Private DESC_PROMO As Button
Private nopromo As Button
Dim TOT_ART_PROMO As String
Dim cambio As String
Dim COSTO_TOT As String
Dim ALMACEN As String
Dim preciosin As String
Dim cl_ruta As String
Dim d As Cursor
Dim TOT_ART_PROMOR As String
Dim PROMO_CR As String
Dim TOTAL_PROMO As String
Dim HCCP_CANT As String
End Sub
Sub Activity_Create(FirstTime As Boolean)
'Do not forget to load the layout file created with the visual designer. For example:
If(FirstTime) Then
g.Initialize("GPS")
End If
Activity.LoadLayout("pedido")
i_fotol.Visible = False
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)
'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
End Sub
Sub Activity_Resume
If g.GPSEnabled=False Then
ToastMessageShow("Habilitar el GPS", True)
StartActivity(g.LocationSettingsIntent)
Else
g.Start(0,0)
End If
cantidad.Text = ""
c=skmt.ExecQuery("select ID_ALMACEN from CAT_ALMACEN")
C.Position =0
ALMACEN = C.GetString("ID_ALMACEN")
C.Close
i_fotol.Visible = False
skmt.Initialize(ruta,"kmt.db", True)
c=skmt.ExecQuery("select CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_DEV from CAT_GUNAPROD where CAT_GP_NOMBRE In (Select PDESC from PROID)")
' ListView1.Clear
'If c.RowCount>0 Then
' For i=0 To c.RowCount -1
c.Position=0
L_PROID.Text = c.GetString("CAT_GP_ID")
l_tipo.Text = c.GetString("CAT_GP_TIPO")
l_sub.Text = c.GetString("CAT_GP_SUBTIPO")
l_marca.Text = c.GetString("CAT_GP_CLASIF")
l_desc.Text = c.GetString("CAT_GP_NOMBRE")
l_precio.Text = c.GetDouble("CAT_GP_PRECIO")
l_bodega.Text = c.GetString("CAT_GP_ALMACEN")
IMG_PASO = c.GetBlob("CAT_GP_IMG")
PROMO_C = c.GetString("CAT_GP_STS")
cambio = c.GetString("CAT_GP_DEV")
preciosin = c.GetString("CAT_GP_IMP2")
PROMO_CR = c.GetString("CAT_GP_IMP1")
cambio = "0"
e=skmt.ExecQuery2("select count(*) as CUANTOS FROM pedido WHERE PE_PROID = ? AND PE_CLIENTE IN (Select cuenta from cuentaa) ", Array As String(c.GetString("CAT_GP_ID")))
e.Position =0
If e.GetString("CUANTOS") = 0 Then
If l_marca.text = "PROMOS" And l_tipo.Text ="PROMOS" Then
DESC_PROMO.Visible = True
CC=skmt.ExecQuery2("select count(*) as CUANTOS FROM PROMOS_COMP WHERE CAT_PA_ID = ?", Array As String(c.GetString("CAT_GP_ID")))
CC.Position =0
If CC.GetString("CUANTOS") = 0 Then
l_bodega.Text = "4"
Else
CC.Close
CC=skmt.ExecQuery2("select CAT_PA_MAXPROM, CAT_PA_MAXPROMREC, CAT_PA_MAXPROMCLIE FROM PROMOS_COMP WHERE CAT_PA_ID = ?", Array As String(c.GetString("CAT_GP_ID")))
CC.Position =0
DD=skmt.ExecQuery2("SELECT COUNT(*) AS CUANTOS FROM HIST_CLIENTE_CANT_PROMOS WHERE HCCP_CLIENTE IN (Select cuenta from cuentaa) AND HCCP_PROMO =?", Array As String(c.GetString("CAT_GP_ID")))
DD.Position =0
If DD.GetString("CUANTOS") = 0 Then
HCCP_CANT = 0
Else
DD.Close
DD=skmt.ExecQuery2("SELECT HCCP_CANT FROM HIST_CLIENTE_CANT_PROMOS WHERE HCCP_CLIENTE IN (Select cuenta from cuentaa) AND HCCP_PROMO =?", Array As String(c.GetString("CAT_GP_ID")))
DD.Position =0
HCCP_CANT = DD.GetString("HCCP_CANT")
DD.Close
End If
TOTAL_PROMO = CC.GetString("CAT_PA_MAXPROMCLIE") - HCCP_CANT
If HCCP_CANT = 0 Then
l_bodega.Text = CC.GetString("CAT_PA_MAXPROM")
Else IF TOTAL_PROMO > CC.GetString("CAT_PA_MAXPROMREC") Then
l_bodega.Text = CC.GetString("CAT_PA_MAXPROMREC")
Else
l_bodega.Text = TOTAL_PROMO
End If
End If
Else
DESC_PROMO.Visible = False
End If
c.Close
c=skmt.ExecQuery("select CASE WHEN pe_costo_tot is null then 0 else sum( pe_costo_tot ) end as TOTAL_CLIE FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
c.Position=0
t_venta.Text = c.GetString("TOTAL_CLIE")
c.Close
' If t_venta.Text < 100 AND l_tipo.Text = "PROMOS" Then
'Terminar.Visible = False
'guardar.Visible = False
'cantidad.Visible = False
'nopromo.Visible = True
'Else
Terminar.Visible = True
guardar.Visible = True
cantidad.Visible = True
If cambio = "1" Then
nopromo.Visible = True
Else
nopromo.Visible = False
End If
'End If
Dim out As OutputStream
out = File.OpenOutput(ruta, "1.jpg", False)
out.WriteBytes(IMG_PASO, 0, IMG_PASO.Length)
out.Close
img_prod.Bitmap = LoadBitmap(ruta,"1.jpg")
TOT_ART_PROMO = "0"
TOT_ART_PROMOR = "0"
If l_marca.text = "PROMOS" And l_tipo.Text ="PROMOS" And l_bodega.Text = "0" Then
Msgbox("ALERTA","EL CLIENTE YA NO PUEDE TENER ESTA PROMOCION")
StartActivity(colonia2)
End If
Else
Msgbox("ALERTA","EL CLIENTE YA COMPRO ESTE PRODUCTO REVISAR NOTA")
StartActivity(colonia2)
End If
End Sub
Sub Activity_Pause (UserClosed As Boolean)
g.Start(0,0)
End Sub
Sub guardar_Click
If cantidad.Text = "" Then
StartActivity(colonia2)
ELSE If cantidad.Text > l_bodega.Text Then
Msgbox("Exede la existencia", "ADVERTENCIA")
Else If l_marca.text = "PROMOS" And l_tipo.Text ="PROMOS" And PROMO_C > 0 And cantidad.Text > 0 Then
skmt.ExecNonQuery("delete from PROIDID")
skmt.ExecNonQuery2("INSERT INTO PROIDID VALUES (?)", Array As Object(L_PROID.text))
c=skmt.ExecQuery("Select count(*) as CUANTOSD from pedido where PE_CLIENTE IN (Select CUENTA from cuentaa) and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID) AND CAT_DP_PRECIO > 0)")
c.Position =0
If c.GetString("CUANTOSD") = 0 Then
Msgbox("No tiene venta el cliente para la promo", "ADVERTENCIA")
Else
c=skmt.ExecQuery("Select sum(pe_cant) As TOT_ART_PROMO, sum(PE_COSTO_TOT) as COSTO_TOT from pedido where PE_CLIENTE IN (Select CUENTA from cuentaa) and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID) AND CAT_DP_PRECIO > 0)")
C.Position =0
TOT_ART_PROMO = C.GetString("TOT_ART_PROMO")
COSTO_TOT = C.GetString("COSTO_TOT")
C.Close
c=skmt.ExecQuery("Select count(*) as CUANTOSD from pedido where PE_CLIENTE IN (Select CUENTA from cuentaa) and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID) AND CAT_DP_PRECIO = 0 AND CAT_DP_TIPO = 1)")
c.Position =0
If c.GetString("CUANTOSD") = 0 Then
TOT_ART_PROMOR = "0" 'Msgbox("No tiene venta el cliente para la promo", "ADVERTENCIA")
Else
c=skmt.ExecQuery("Select sum(pe_cant) As TOT_ART_PROMO, sum(PE_COSTO_TOT) as COSTO_TOT from pedido where PE_CLIENTE IN (Select CUENTA from cuentaa) and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID) AND CAT_DP_PRECIO = 0 AND CAT_DP_TIPO = 1)")
C.Position =0
TOT_ART_PROMOR = C.GetString("TOT_ART_PROMO")
End If
C.Close
PROMO_C = PROMO_C * cantidad.Text
PROMO_CR = PROMO_CR * cantidad.Text
If TOT_ART_PROMO = PROMO_C And TOT_ART_PROMOR = PROMO_CR Then
' anterior a 29/06/2015
'skmt.ExecNonQuery2("UPDATE PEDIDO SET PE_COSTOU = (?), PE_COSTO_TOT = PE_CANT * (?) WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID))", Array As Object(l_precio.text/(TOT_ART_PROMO/cantidad.Text),l_precio.text/(TOT_ART_PROMO/cantidad.Text)))
'en pe_cedis meto el codigo de promocion para hacer esta validacion.
skmt.ExecNonQuery2("UPDATE PEDIDO SET PE_CEDIS = (?) WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID))", Array As Object(L_PROID.text))
D=skmt.ExecQuery("select CAT_DP_ID, CAT_DP_PRECIO, CAT_DP_PRECIO_SIMPTOS, CAT_DP_IDPROD FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID) AND CAT_DP_PRECIO > 0")
If D.RowCount>0 Then
For i=0 To D.RowCount -1
D.Position=i
skmt.ExecNonQuery2("UPDATE PEDIDO SET PE_COSTOU = (?), PE_COSTO_TOT = PE_CANT * (?) , PE_COSTO_SIN = (?) WHERE PE_PROID = (?) And PE_CEDIS In (Select PROIDID from PROIDID) AND PE_CLIENTE IN (Select CUENTA from cuentaa) ",Array As Object( D.GetString("CAT_DP_PRECIO"), D.GetString("CAT_DP_PRECIO"), D.GetString("CAT_DP_PRECIO_SIMPTOS"),D.GetString("CAT_DP_IDPROD")))
Next
End If
D.Close
D=skmt.ExecQuery("select CAT_DP_ID, CAT_DP_PRECIO, CAT_DP_PRECIO_SIMPTOS, CAT_DP_IDPROD FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID) AND CAT_DP_PRECIO = 0 AND CAT_DP_TIPO = 1")
If D.RowCount>0 Then
For i=0 To D.RowCount -1
D.Position=i
skmt.ExecNonQuery2("UPDATE PEDIDO SET PE_COSTOU = (?), PE_COSTO_TOT = PE_CANT * (?) , PE_COSTO_SIN = (?) WHERE PE_PROID = (?) And PE_CEDIS In (Select PROIDID from PROIDID) AND PE_CLIENTE IN (Select CUENTA from cuentaa) ",Array As Object( D.GetString("CAT_DP_PRECIO"), D.GetString("CAT_DP_PRECIO"), D.GetString("CAT_DP_PRECIO_SIMPTOS"),D.GetString("CAT_DP_IDPROD")))
Next
End If
D.Close
'skmt.ExecNonQuery("UPDATE PEDIDO SET PE_COSTO_TOT = 0.01 WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID))")
DateTime.DateFormat = "MM/dd/yyyy"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
c=skmt.ExecQuery("Select CUENTA from cuentaa")
c.Position=0
clie_id = c.GetString("CUENTA")
c.Close
c=skmt.ExecQuery("select CAT_CL_RUTA from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
c.Position=0
cl_ruta = c.GetString("CAT_CL_RUTA")
c.Close
c=skmt.ExecQuery("select USUARIO from usuarioa")
c.Position=0
usuario = c.GetString("USUARIO")
'skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO) VALUES(?,?,?,?,?,?,?,?,?) ", Array As Object ("COACALCO",cantidad.Text * l_precio.Text, l_precio.text, cantidad.text, l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario))
'para insertar la promo de ades el de regalo en 0
e=skmt.ExecQuery("select count(*) as CUANTOS FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID) and CAT_DP_TIPO = 0 AND CAT_DP_PRECIO = 0")
If e.GetString("CUANTOS") > 0 Then
F=skmt.ExecQuery("select CAT_DP_IDPROD, CAT_DP_PZAS FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID) and CAT_DP_TIPO = 0 AND CAT_DP_PRECIO = 0")
'se coloco el if por la mala promocion.
For i=0 To F.RowCount -1
F.Position=i
h=skmt.ExecQuery2("select CAT_GP_NOMBRE from CAT_GUNAPROD where CAT_GP_ID = ? ", Array As String(f.GetString("CAT_DP_IDPROD")))
h.Position=0
skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA) VALUES(?,?,?,?,?,?,?,?,?,?) ", Array As Object (L_PROID.text,0, 0, f.GetString("CAT_DP_PZAS") * cantidad.text, h.GetString("CAT_GP_NOMBRE"), f.GetString("CAT_DP_IDPROD"),clie_id, sDate & sTime, usuario,cl_ruta))
h.Close
Next
f.Close
End If
e.Close
skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA) VALUES(?,?,?,?,?,?,?,?,?,?) ", Array As Object (L_PROID.text,0, 0, cantidad.text, l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario,cl_ruta))
skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(cantidad.Text, L_PROID.Text))
Else
Msgbox("Tiene " & TOT_ART_PROMO & " " & TOT_ART_PROMOR & " y necesita " & PROMO_C & " " & PROMO_CR & " Para la Promo. " , "ADVERTENCIA")
End If
End If
cantidad.Text = ""
StartActivity(colonia2)
else If l_marca.text = "PROMOS" And l_tipo.Text ="PROMOS" And PROMO_C = 0 Then
skmt.ExecNonQuery("delete from PROIDID")
skmt.ExecNonQuery2("INSERT INTO PROIDID VALUES (?)", Array As Object(L_PROID.text))
c=skmt.ExecQuery("Select CUENTA from cuentaa")
c.Position=0
clie_id = c.GetString("CUENTA")
c.Close
DateTime.DateFormat = "MM/dd/yyyy"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
c=skmt.ExecQuery("select CAT_CL_RUTA from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
c.Position=0
cl_ruta = c.GetString("CAT_CL_RUTA")
c.Close
c=skmt.ExecQuery("select USUARIO from usuarioa")
c.Position=0
usuario = c.GetString("USUARIO")
'skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO) VALUES(?,?,?,?,?,?,?,?,?) ", Array As Object ("COACALCO",cantidad.Text * l_precio.Text, l_precio.text, cantidad.text, l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario))
'para insertar la promo de ades el de regalo en 0
e=skmt.ExecQuery("select count(*) as CUANTOS FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID) ")
e.Position =0
If e.GetString("CUANTOS") > 0 Then
F=skmt.ExecQuery("select CAT_DP_IDPROD, CAT_DP_PZAS, CAT_DP_PRECIO FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID)")
For i =0 To f.RowCount -1
F.Position =i
h=skmt.ExecQuery2("select CAT_GP_NOMBRE from CAT_GUNAPROD where CAT_GP_ID = ? ", Array As String(f.GetString("CAT_DP_IDPROD")))
h.Position=0
skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA) VALUES(?,?,?,?,?,?,?,?,?,?) ", Array As Object (L_PROID.text,f.GetString("CAT_DP_PRECIO") * cantidad.text * f.GetString("CAT_DP_PZAS"), f.GetString("CAT_DP_PRECIO"), f.GetString("CAT_DP_PZAS") * cantidad.text, h.GetString("CAT_GP_NOMBRE"), f.GetString("CAT_DP_IDPROD"),clie_id, sDate & sTime, usuario,cl_ruta))
h.Close
Next
f.Close
End If
e.Close
skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA) VALUES(?,?,?,?,?,?,?,?,?,?) ", Array As Object (L_PROID.text,0, 0, cantidad.text, l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario,cl_ruta))
skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(cantidad.Text, L_PROID.Text))
cantidad.Text = ""
c=skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, SUM(PE_COSTO_SIN) AS TOTAL_CLIE_SIN 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,PC_ALMACEN,PC_RUTA,PC_COSTO_SIN) VALUES (?,?,?,?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), lon_gps, lat_gps,ALMACEN,cl_ruta,c.GetString("TOTAL_CLIE_SIN")))
skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
StartActivity(colonia2)
Else
DateTime.DateFormat = "MM/dd/yyyy"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
c=skmt.ExecQuery("Select CUENTA from cuentaa")
c.Position=0
clie_id = c.GetString("CUENTA")
c.Close
c=skmt.ExecQuery("select CAT_CL_RUTA from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
c.Position=0
cl_ruta = c.GetString("CAT_CL_RUTA")
c.Close
c=skmt.ExecQuery("select USUARIO from usuarioa")
c.Position=0
usuario = c.GetString("USUARIO")
skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_COSTO_SIN) VALUES(?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (ALMACEN,cantidad.Text * l_precio.Text, l_precio.text, cantidad.text, l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario,cl_ruta,preciosin))
skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(cantidad.Text, L_PROID.Text))
c=skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, SUM(PE_COSTO_SIN) AS TOTAL_CLIE_SIN 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,PC_ALMACEN,PC_RUTA,PC_COSTO_SIN) VALUES (?,?,?,?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), lon_gps, lat_gps,ALMACEN,cl_ruta,c.GetString("TOTAL_CLIE_SIN")))
skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
StartActivity(colonia2)
End If
End Sub
Sub GPS_LocationChanged (Location1 As Location)
lat_gps=Location1.ConvertToSeconds(Location1.Latitude)
lon_gps=Location1.ConvertToSeconds(Location1.Longitude)
End Sub
Sub Terminar_Click
If cantidad.Text = "" Then
StartActivity(fila)
ELSE If cantidad.Text > l_bodega.Text Then
Msgbox("Exede la existencia", "ADVERTENCIA")
Else If l_marca.text = "PROMOS" And l_tipo.Text ="PROMOS" And PROMO_C > 0 And cantidad.Text > 0 Then
skmt.ExecNonQuery("delete from PROIDID")
skmt.ExecNonQuery2("INSERT INTO PROIDID VALUES (?)", Array As Object(L_PROID.text))
c=skmt.ExecQuery("Select count(*) as CUANTOSD from pedido where PE_CLIENTE IN (Select CUENTA from cuentaa) and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID) AND CAT_DP_PRECIO > 0)")
c.Position =0
If c.GetString("CUANTOSD") = 0 Then
Msgbox("No tiene venta el cliente para la promo", "ADVERTENCIA")
Else
c=skmt.ExecQuery("Select sum(pe_cant) As TOT_ART_PROMO, sum(PE_COSTO_TOT) as COSTO_TOT from pedido where PE_CLIENTE IN (Select CUENTA from cuentaa) and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID) AND CAT_DP_PRECIO > 0)")
C.Position =0
TOT_ART_PROMO = C.GetString("TOT_ART_PROMO")
COSTO_TOT = C.GetString("COSTO_TOT")
C.Close
c=skmt.ExecQuery("Select count(*) as CUANTOSD from pedido where PE_CLIENTE IN (Select CUENTA from cuentaa) and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID) AND CAT_DP_PRECIO = 0 AND CAT_DP_TIPO = 1)")
c.Position =0
If c.GetString("CUANTOSD") = 0 Then
TOT_ART_PROMOR = "0" 'Msgbox("No tiene venta el cliente para la promo", "ADVERTENCIA")
Else
c=skmt.ExecQuery("Select sum(pe_cant) As TOT_ART_PROMO, sum(PE_COSTO_TOT) as COSTO_TOT from pedido where PE_CLIENTE IN (Select CUENTA from cuentaa) and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID) AND CAT_DP_PRECIO = 0 AND CAT_DP_TIPO = 1)")
C.Position =0
TOT_ART_PROMOR = C.GetString("TOT_ART_PROMO")
End If
C.Close
PROMO_C = PROMO_C * cantidad.Text
PROMO_CR = PROMO_CR * cantidad.Text
If TOT_ART_PROMO = PROMO_C And TOT_ART_PROMOR = PROMO_CR Then
' anterior a 29/06/2015
'skmt.ExecNonQuery2("UPDATE PEDIDO SET PE_COSTOU = (?), PE_COSTO_TOT = PE_CANT * (?) WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID))", Array As Object(l_precio.text/(TOT_ART_PROMO/cantidad.Text),l_precio.text/(TOT_ART_PROMO/cantidad.Text)))
'en pe_cedis meto el codigo de promocion para hacer esta validacion.
skmt.ExecNonQuery2("UPDATE PEDIDO SET PE_CEDIS = (?) WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID))", Array As Object(L_PROID.text))
D=skmt.ExecQuery("select CAT_DP_ID, CAT_DP_PRECIO, CAT_DP_PRECIO_SIMPTOS, CAT_DP_IDPROD FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID) AND CAT_DP_PRECIO > 0")
If D.RowCount>0 Then
For i=0 To D.RowCount -1
D.Position=i
skmt.ExecNonQuery2("UPDATE PEDIDO SET PE_COSTOU = (?), PE_COSTO_TOT = PE_CANT * (?) , PE_COSTO_SIN = (?) WHERE PE_PROID = (?) And PE_CEDIS In (Select PROIDID from PROIDID) AND PE_CLIENTE IN (Select CUENTA from cuentaa) ",Array As Object( D.GetString("CAT_DP_PRECIO"), D.GetString("CAT_DP_PRECIO"), D.GetString("CAT_DP_PRECIO_SIMPTOS"),D.GetString("CAT_DP_IDPROD")))
Next
End If
D.Close
D=skmt.ExecQuery("select CAT_DP_ID, CAT_DP_PRECIO, CAT_DP_PRECIO_SIMPTOS, CAT_DP_IDPROD FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID) AND CAT_DP_PRECIO = 0 AND CAT_DP_TIPO = 1")
If D.RowCount>0 Then
For i=0 To D.RowCount -1
D.Position=i
skmt.ExecNonQuery2("UPDATE PEDIDO SET PE_COSTOU = (?), PE_COSTO_TOT = PE_CANT * (?) , PE_COSTO_SIN = (?) WHERE PE_PROID = (?) And PE_CEDIS In (Select PROIDID from PROIDID) AND PE_CLIENTE IN (Select CUENTA from cuentaa) ",Array As Object( D.GetString("CAT_DP_PRECIO"), D.GetString("CAT_DP_PRECIO"), D.GetString("CAT_DP_PRECIO_SIMPTOS"),D.GetString("CAT_DP_IDPROD")))
Next
End If
D.Close
'skmt.ExecNonQuery("UPDATE PEDIDO SET PE_COSTO_TOT = 0.01 WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID))")
DateTime.DateFormat = "MM/dd/yyyy"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
c=skmt.ExecQuery("Select CUENTA from cuentaa")
c.Position=0
clie_id = c.GetString("CUENTA")
c.Close
c=skmt.ExecQuery("select CAT_CL_RUTA from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
c.Position=0
cl_ruta = c.GetString("CAT_CL_RUTA")
c.Close
c=skmt.ExecQuery("select USUARIO from usuarioa")
c.Position=0
usuario = c.GetString("USUARIO")
'skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO) VALUES(?,?,?,?,?,?,?,?,?) ", Array As Object ("COACALCO",cantidad.Text * l_precio.Text, l_precio.text, cantidad.text, l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario))
'para insertar la promo de ades el de regalo en 0
e=skmt.ExecQuery("select count(*) as CUANTOS FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID) and CAT_DP_TIPO = 0 AND CAT_DP_PRECIO = 0")
e.Position =0
If e.GetString("CUANTOS") > 0 Then
F=skmt.ExecQuery("select CAT_DP_IDPROD, CAT_DP_PZAS FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID) and CAT_DP_TIPO = 0 AND CAT_DP_PRECIO = 0")
'meter el otro
F.Position =0
h=skmt.ExecQuery2("select CAT_GP_NOMBRE from CAT_GUNAPROD where CAT_GP_ID = ? ", Array As String(f.GetString("CAT_DP_IDPROD")))
h.Position=0
skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA) VALUES(?,?,?,?,?,?,?,?,?,?) ", Array As Object (L_PROID.text,0, 0, f.GetString("CAT_DP_PZAS") * cantidad.text, h.GetString("CAT_GP_NOMBRE"), f.GetString("CAT_DP_IDPROD"),clie_id, sDate & sTime, usuario,cl_ruta))
h.Close
f.Close
End If
e.Close
skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA) VALUES(?,?,?,?,?,?,?,?,?,?) ", Array As Object (L_PROID.text,0, 0, cantidad.text, l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario,cl_ruta))
skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(cantidad.Text, L_PROID.Text))
Else
Msgbox("Tiene " & TOT_ART_PROMO & " " & TOT_ART_PROMOR & " y necesita " & PROMO_C & " " & PROMO_CR & " Para la Promo. " , "ADVERTENCIA")
End If
End If
cantidad.Text = ""
StartActivity(fila)
else If l_marca.text = "PROMOS" And l_tipo.Text ="PROMOS" And PROMO_C = 0 Then
skmt.ExecNonQuery("delete from PROIDID")
skmt.ExecNonQuery2("INSERT INTO PROIDID VALUES (?)", Array As Object(L_PROID.text))
c=skmt.ExecQuery("Select CUENTA from cuentaa")
c.Position=0
clie_id = c.GetString("CUENTA")
c.Close
DateTime.DateFormat = "MM/dd/yyyy"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
c=skmt.ExecQuery("select CAT_CL_RUTA from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
c.Position=0
cl_ruta = c.GetString("CAT_CL_RUTA")
c.Close
c=skmt.ExecQuery("select USUARIO from usuarioa")
c.Position=0
usuario = c.GetString("USUARIO")
'skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO) VALUES(?,?,?,?,?,?,?,?,?) ", Array As Object ("COACALCO",cantidad.Text * l_precio.Text, l_precio.text, cantidad.text, l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario))
'para insertar la promo de ades el de regalo en 0
e=skmt.ExecQuery("select count(*) as CUANTOS FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID) ")
e.Position =0
If e.GetString("CUANTOS") > 0 Then
F=skmt.ExecQuery("select CAT_DP_IDPROD, CAT_DP_PZAS, CAT_DP_PRECIO FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID)")
For i =0 To f.RowCount -1
F.Position =i
h=skmt.ExecQuery2("select CAT_GP_NOMBRE from CAT_GUNAPROD where CAT_GP_ID = ? ", Array As String(f.GetString("CAT_DP_IDPROD")))
h.Position=0
skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA) VALUES(?,?,?,?,?,?,?,?,?,?) ", Array As Object (L_PROID.text,f.GetString("CAT_DP_PRECIO") * cantidad.text * f.GetString("CAT_DP_PZAS"), f.GetString("CAT_DP_PRECIO"), f.GetString("CAT_DP_PZAS") * cantidad.text, h.GetString("CAT_GP_NOMBRE"), f.GetString("CAT_DP_IDPROD"),clie_id, sDate & sTime, usuario,cl_ruta))
h.Close
Next
f.Close
End If
e.Close
skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA) VALUES(?,?,?,?,?,?,?,?,?,?) ", Array As Object (L_PROID.text,0, 0, cantidad.text, l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario,cl_ruta))
skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(cantidad.Text, L_PROID.Text))
cantidad.Text = ""
c=skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, SUM(PE_COSTO_SIN) AS TOTAL_CLIE_SIN 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,PC_ALMACEN,PC_RUTA,PC_COSTO_SIN) VALUES (?,?,?,?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), lon_gps, lat_gps,ALMACEN,cl_ruta,c.GetString("TOTAL_CLIE_SIN")))
skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
StartActivity(fila)
Else
DateTime.DateFormat = "MM/dd/yyyy"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
c=skmt.ExecQuery("Select CUENTA from cuentaa")
c.Position=0
clie_id = c.GetString("CUENTA")
c.Close
c=skmt.ExecQuery("select CAT_CL_RUTA from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
c.Position=0
cl_ruta = c.GetString("CAT_CL_RUTA")
c.Close
c=skmt.ExecQuery("select USUARIO from usuarioa")
c.Position=0
usuario = c.GetString("USUARIO")
skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_COSTO_SIN) VALUES(?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (ALMACEN,cantidad.Text * l_precio.Text, l_precio.text, cantidad.text, l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario,cl_ruta,preciosin))
skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(cantidad.Text, L_PROID.Text))
c=skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, SUM(PE_COSTO_SIN) AS TOTAL_CLIE_SIN 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,PC_ALMACEN,PC_RUTA,PC_COSTO_SIN) VALUES (?,?,?,?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), lon_gps, lat_gps,ALMACEN,cl_ruta,c.GetString("TOTAL_CLIE_SIN")))
skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
StartActivity(fila)
End If
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(colonia2)
Msgbox("Presione Boton Terminar.","ADVERTENCIA")
'Return True
End If
' Returning False signals the system to handle the key
Return False
End Sub
Sub img_prod_Click
i_fotol.Visible = True
i_fotol.Bitmap = LoadBitmap(ruta,"1.jpg")
End Sub
Sub i_fotol_Click
i_fotol.Visible = False
End Sub
Sub DESC_PROMO_Click
skmt.ExecNonQuery("delete from PROIDID")
skmt.ExecNonQuery2("INSERT INTO PROIDID VALUES (?)", Array As Object(L_PROID.text))
StartActivity(detalle_promo)
End Sub
Sub nopromo_Click
If cantidad.Text = "" Then
Msgbox("Cantidad no puede ser 0","Cantidad")
Else If cantidad.Text > l_bodega.Text Then
Msgbox("Exede la existencia", "ADVERTENCIA")
Else
DateTime.DateFormat = "MM/dd/yyyy"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
c=skmt.ExecQuery("Select CUENTA from cuentaa")
c.Position=0
clie_id = c.GetString("CUENTA")
c=skmt.ExecQuery("select USUARIO from usuarioa")
c.Position=0
usuario = c.GetString("USUARIO")
skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO) VALUES(?,?,?,?,?,?,?,?,?) ", Array As Object ("COACALCO",0,0, cantidad.text, l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario))
skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(cantidad.Text, L_PROID.Text))
cantidad.Text = ""
StartActivity(colonia2)
End If
End Sub

35
primero.bas Normal file
View File

@@ -0,0 +1,35 @@
Type=Activity
Version=3
@EndOfDesignText@
#Region Activity Attributes
#FullScreen: False
#IncludeTitle: True
#End Region
Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
End Sub
Sub Globals
'These global variables will be redeclared each time the activity is created.
'These variables can only be accessed from this module.
End Sub
Sub Activity_Create(FirstTime As Boolean)
'Do not forget to load the layout file created with the visual designer. For example:
'Activity.LoadLayout("Layout1")
Msgbox("Welcome to Basic4android!", "")
End Sub
Sub Activity_Resume
End Sub
Sub Activity_Pause (UserClosed As Boolean)
End Sub

97
qr.bas Normal file
View File

@@ -0,0 +1,97 @@
Type=Activity
Version=5.8
ModulesStructureVersion=1
B4A=true
@EndOfDesignText@
#Region Activity Attributes
#FullScreen: False
#IncludeTitle: True
#End Region
Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
End Sub
Sub Globals
'These global variables will be redeclared each time the activity is created.
'These variables can only be accessed from this module.
Dim b,b1,b2 As ImageView
Dim bt As Button
Dim qr As QRCode
Dim sc As Zxing_scanner
Dim CODIGO As String
Private Label1 As Label
End Sub
Sub Activity_Create(FirstTime As Boolean)
'Do not forget to load the layout file created with the visual designer. For example:
Activity.LoadLayout("qr")
b.Initialize("")
b1.Initialize("")
b1.Gravity=Gravity.FILL
b2.Initialize("")
b2.Gravity=Gravity.FILL
Activity.AddView(b,0,0,100dip,100dip)
Activity.AddView(b1,0,110dip,300dip,100dip)
Activity.AddView(b2,0,220dip,300dip,100dip)
qr.initialize
b.Bitmap = qr.QR_Encode("TESTING QR CODES",100dip)
b1.Bitmap = qr.Ean13_Encode(calc_ean_checksum("123456789012"),100dip) ' Not interested in this
b2.Bitmap = qr.Ean8_Encode(calc_ean_checksum("1234567"),100dip) ' Not interested in this
bt.Initialize("bt")
bt.Text="Codigo"
Activity.AddView(bt,0,330dip,120dip,50dip)
End Sub
Sub Activity_Resume
End Sub
Sub Activity_Pause (UserClosed As Boolean)
End Sub
Sub bt_click
'ADDED BY JOHAN SCHOEMAN i.e OPTION TO CHANGE THE WIDTH AND HEIGHT OF THE VIEWING RECTANGLE
Dim scan_width As Int
Dim scan_height As Int
scan_width = 400
scan_height = 400
sc.BeginScan("sc","CODIGO CLIENTE",scan_width,scan_height)
End Sub
Sub sc_result(atype As String,Values As String)
'Log("Type : " & atype)
'Log("Value : " & Values)
CODIGO = Values
b.Bitmap = qr.QR_Encode(Values,100dip)
End Sub
Sub sc_noScan
Log("nothing returned from the scan !!!!!")
End Sub
Sub calc_ean_checksum(number As String) As String 'this has now become redundant as I am only interested in QR Codes
Dim i As Int
Dim c As Char
Dim soma As Int
Dim n As Int
Dim digit As Float
soma = 0
For i=0 To number.Length - 1
digit = number.SubString2(i,i+1)
n= digit * ((i Mod 2) * 2 + 1)
soma=soma+n
Next
Return number & ( ( 10 - ( soma Mod 10 )) Mod 10 )
End Sub

539
salma.b4a Normal file
View File

@@ -0,0 +1,539 @@
Build1=Default,guna.keymon.com.mx
File1=alert2.png
File10=foto.bal
File11=guardagestion.bal
File12=guna_viejo.png
File13=info_gral.bal
File14=infonavit1.jpg
File15=itembuttonblue.png
File16=keymon_logo.png
File17=kmt.db
File18=login.bal
File19=LOGO SANFER.jpg
File2=alerta.jpg
File20=logo_exitus1.jpg
File21=Malo.jpg
File22=mapa.bal
File23=nopago.bal
File24=nuevocliente.bal
File25=palomita_verde.png
File26=pedido.bal
File27=planfia_logo.png
File28=planfia_logo_old.png
File29=planfia_logo_old2.png
File3=alerta_amarilla.png
File30=qr.bal
File31=ROJO.png
File32=salma.jpg
File33=seleccion.bal
File34=senial.jpg
File35=sync.png
File36=tache_rojo.png
File37=tarjeta.bal
File38=telefonos.bal
File39=Tiendita.jpg
File4=AMARILLO.png
File40=VERDE.png
File5=buscar.bal
File6=carrito.png
File7=detalle_promo.bal
File8=fila.bal
File9=fondo_kmt.jpg
FileGroup1=Default Group
FileGroup10=Default Group
FileGroup11=Default Group
FileGroup12=Default Group
FileGroup13=Default Group
FileGroup14=Default Group
FileGroup15=Default Group
FileGroup16=Default Group
FileGroup17=Default Group
FileGroup18=Default Group
FileGroup19=Default Group
FileGroup2=Default Group
FileGroup20=Default Group
FileGroup21=Default Group
FileGroup22=Default Group
FileGroup23=Default Group
FileGroup24=Default Group
FileGroup25=Default Group
FileGroup26=Default Group
FileGroup27=Default Group
FileGroup28=Default Group
FileGroup29=Default Group
FileGroup3=Default Group
FileGroup30=Default Group
FileGroup31=Default Group
FileGroup32=Default Group
FileGroup33=Default Group
FileGroup34=Default Group
FileGroup35=Default Group
FileGroup36=Default Group
FileGroup37=Default Group
FileGroup38=Default Group
FileGroup39=Default Group
FileGroup4=Default Group
FileGroup40=Default Group
FileGroup5=Default Group
FileGroup6=Default Group
FileGroup7=Default Group
FileGroup8=Default Group
FileGroup9=Default Group
Group=Default Group
Library1=baqrcode
Library10=jhsicezxing1
Library11=phone
Library12=randomaccessfile
Library13=reflection
Library14=rspopupmenu
Library15=runtimepermissions
Library16=serial
Library17=sql
Library18=stringutils
Library19=json
Library2=byteconverter
Library3=camera
Library4=compressstrings
Library5=core
Library6=firebaseadmob
Library7=gps
Library8=httputils2
Library9=javaobject
ManifestCode='This code will be applied to the manifest file during compilation.~\n~'You do not need to modify it in most cases.~\n~'See this link for for more information: http://www.basic4ppc.com/forum/showthread.php?p=78136~\n~AddManifestText(~\n~<uses-sdk android:minSdkVersion="4" android:targetSdkVersion="23"/>~\n~<supports-screens android:largeScreens="true" ~\n~ android:normalScreens="true" ~\n~ android:smallScreens="true" ~\n~ android:anyDensity="true"/>)~\n~SetApplicationAttribute(android:icon, "@drawable/icon")~\n~SetApplicationAttribute(android:label, "$LABEL$")~\n~'AddApplicationText(<activity android:name="com.google.zxing.client.android.CaptureActivity" 'Quite esta linea para actualizar la libreria del scanner CHV 20211005~\n~'android:screenOrientation="landscape" ~\n~'android:configChanges="orientation|keyboardHidden"~\n~'android:theme="@android:style/Theme.NoTitleBar.Fullscreen"~\n~'android:windowSoftInputMode="stateAlwaysHidden">~\n~'</activity>)~\n~~\n~SetApplicationAttribute(android:usesCleartextTraffic, "true")~\n~AddManifestText(<uses-permission~\n~ android:name="android.permission.ACCESS_FINE_LOCATION"~\n~ android:maxSdkVersion="23" />~\n~)~\n~AddPermission(android.permission.ACCESS_BACKGROUND_LOCATION)~\n~AddManifestText(<uses-permission~\n~ android:name="android.permission.WRITE_EXTERNAL_STORAGE"~\n~ android:maxSdkVersion="23" />~\n~)~\n~AddManifestText(<uses-permission android:name="android.permission.READ_PHONE_STATE" android:maxSdkVersion="19" />~\n~)~\n~AddManifestText(<uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE" android:maxSdkVersion="19" />~\n~~\n~~\n~'Agregue las siguentes lineas para el nuevo scanner CHV 20211005~\n~AddManifestText(<uses-feature android:name="android.hardware.telephony" android:required="false" />)~\n~AddManifestText(<uses-feature android:name="android.hardware.camera" android:required="false" />)~\n~AddManifestText(<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />)~\n~AddManifestText(<uses-feature android:name="android.hardware.camera.flash" android:required="false" />)~\n~AddPermission(android.permission.INTERNET)~\n~AddPermission(android.permission.ACCESS_FINE_LOCATION)~\n~AddPermission(android.permission.WAKE_LOCK)~\n~AddPermission(android.permission.DEVICE_POWER)~\n~AddPermission("android.permission.READ_PHONE_STATE")~\n~AddPermission(android.permission.VIBRATE)~\n~AddPermission(android.permission.CAMERA)~\n~AddPermission(android.permission.FLASHLIGHT)~\n~AddPermission(android.permission.WRITE_EXTERNAL_STORAGE)~\n~AddPermission(android.hardware.camera)~\n~AddManifestText(~\n~<uses-permission~\n~ android:name="android.permission.WRITE_EXTERNAL_STORAGE"~\n~ android:maxSdkVersion="18" />~\n~)~\n~CreateResourceFromFile(Macro, JhsIceZxing1.CaturePortrait)~\n~'CreateResourceFromFile(Macro, JhsIceZxing1.CatureLandscape)~\n~'End of default text.~\n~
Module1=BUSCAR
Module10=Historico
Module11=mapas
Module12=nopago
Module13=nuevocliente
Module14=pedidos
Module15=seleccion
Module16=Starter
Module17=Subs
Module18=tarjeta
Module19=telefonos
Module2=CameraExClass
Module3=colonia
Module4=colonia2
Module5=DBRequestManager
Module6=detalle_promo
Module7=fila
Module8=foto
Module9=gestion
NumberOfFiles=40
NumberOfLibraries=19
NumberOfModules=19
Version=12.8
@EndOfDesignText@
#Region Project Attributes
#ApplicationLabel: Salma-Preventa
#VersionCode: 1
#VersionName: 1.11.02
'SupportedOrientations possible values: unspecified, landscape or portrait.
#SupportedOrientations: portrait
#CanInstallToExternalStorage: False
#IgnoreWarnings: 32
#BridgeLogger: true
'###########################################################################################################
'###################### PULL #############################################################
'Ctrl + click ide://run?file=%WINDIR%\System32\cmd.exe&Args=/c&Args=git&Args=pull
'###########################################################################################################
'###################### PUSH #############################################################
'Ctrl + click ide://run?file=%WINDIR%\System32\WindowsPowerShell\v1.0\powershell.exe&Args=github&Args=..\..\
'###########################################################################################################
'###################### PUSH TORTOISE GIT #########################################################
'Ctrl + click ide://run?file=%WINDIR%\System32\WindowsPowerShell\v1.0\powershell.exe&Args=TortoiseGitProc&Args=/command:commit&Args=/path:"./../"&Args=/closeonend:2
'###########################################################################################################
#End Region
#Region Activity Attributes
#FullScreen: False
#IncludeTitle: True
#End Region
#Region Service Attributes
#End Region
Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
Dim reqManager As DBRequestManager
Dim ruta As String
Dim Logger As Boolean
Dim fechaRuta As String
End Sub
Sub Globals
'These global variables will be redeclared each time the activity is created.
'These variables can only be accessed from this module.
Dim skmt As SQL
Dim user As EditText
Dim pass As EditText
Dim c As Cursor
Dim existe As String
Dim paso1 As String
Private IMEN As Label
Dim IMEI As String
Dim g As GPS
Dim server As String
Dim alterno As String
Private b_menu As Button
Dim PopupMenu As RSPopupMenu
Dim cmd As DBCommand
Private l_version As Label
End Sub
Sub Activity_Create(FirstTime As Boolean)
ruta = File.DirInternal
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.
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)
'c=skmt.ExecQuery2("select COUNT(*) AS CUANTOS from CAT_CODIGOS where CAT_CO_PONDERACION =1 AND CAT_CO_ACCION = ?", Array As String("SERVER"))
'c.Position =0
'If c.GetString("CUANTOS") = 0 Then
'skmt.ExecNonQuery2("INSERT INTO CAT_CODIGOS (CAT_CO_PONDERACION, CAT_CO_ACCION, CAT_CO_RESULTADO, CAT_CO_CONFIGURACION) VALUES (?,?,?,?)", Array As Object ("1","1","SERVER","http://masternoc.mx:1783"))
'skmt.ExecNonQuery2("INSERT INTO CAT_CODIGOS (CAT_CO_PONDERACION, CAT_CO_ACCION, CAT_CO_RESULTADO, CAT_CO_CONFIGURACION) VALUES (?,?,?,?)", Array As Object ("0","2","SERVER","http://masternoc1.mx:1783"))
'End If
'c.Close
'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
server = "http://keymon.lat:1782"
'server = "http://10.0.0.205:1782"
'server = "http://177.244.63.54:1782"
'server = "http://keymon.com.mx:1782"
If FirstTime Then
reqManager.Initialize(Me, server)
End If
Activity.LoadLayout("login")
l_version.Text = Application.VersionName
Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_READ_PHONE_STATE)
Wait For Activity_PermissionResult (Permission As String, Result As Boolean)
Dim P As PhoneId
IMEN.Text = P.GetDeviceId
IMEI = 0
'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
End Sub
Sub Activity_Resume
'server = "http://177.244.63.54:1782"
'server = "http://keymon.com.mx:1782"
server = "http://keymon.lat:1782"
'server = "http://10.0.0.205:1782"
reqManager.Initialize(Me, server)
Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_ACCESS_FINE_LOCATION)
Wait For Activity_PermissionResult (Permission As String, Result As Boolean)
If g.IsInitialized And Not(g.GPSEnabled) Then
ToastMessageShow("Habilitar el GPS", True)
StartActivity(g.LocationSettingsIntent)
Else
Try
g.Start(0,0)
Catch
Log(LastException)
End Try
End If
' user.Text ="GPS"
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
cmd.Initialize
cmd.Name = "select_fecha"
reqManager.ExecuteQuery(cmd , 0, "fecha")
Msgbox("AJUSTAR FECHA","AVISO")
Activity_Resume
Else
c=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 = "yyyyMMdd"
sDate=DateTime.Date(DateTime.Now)
If sDate > "20230430" Then
Msgbox("INSTALAR NUEVO APK" ,"AVISO")
Activity_Resume
End If
DateTime.DateFormat = "yyyyMMdd"
sDate=DateTime.Date(DateTime.Now)
If c.GetString("CAT_VA_VALOR") > sDate Then
Msgbox("AJUSTAR LA FECHA YA QUE ES MENOR AL SISTEMA" ,"AVISO")
Activity_Resume
End If
End If
End Sub
Sub Activity_Pause (UserClosed As Boolean)
End Sub
Sub Entrar_Click
If user.Text = "ALTERNO" Then
c=skmt.ExecQuery2("select CAT_CO_CONFIGURACION, CAT_CO_RESULTADO from CAT_CODIGOS where CAT_CO_PONDERACION =1 AND CAT_CO_ACCION = ?", Array As String("SERVER"))
c.Position =0
server = c.GetString("CAT_CO_CONFIGURACION")
alterno = c.GetString("CAT_CO_RESULTADO")
c.Close
If alterno = 1 Then
skmt.ExecNonQuery2("UPDATE CAT_CODIGOS SET CAT_CO_PONDERACION = 1 WHERE CAT_CO_ACCION = ? AND CAT_CO_RESULTADO = 2", Array As String ("SERVER"))
skmt.ExecNonQuery2("UPDATE CAT_CODIGOS SET CAT_CO_PONDERACION = 0 WHERE CAT_CO_ACCION = ? AND CAT_CO_RESULTADO = 1", Array As String ("SERVER"))
Else if alterno = 2 Then
skmt.ExecNonQuery2("UPDATE CAT_CODIGOS SET CAT_CO_PONDERACION = 1 WHERE CAT_CO_ACCION = ? AND CAT_CO_RESULTADO = 1", Array As String ("SERVER"))
skmt.ExecNonQuery2("UPDATE CAT_CODIGOS SET CAT_CO_PONDERACION = 0 WHERE CAT_CO_ACCION = ? AND CAT_CO_RESULTADO = 2", Array As String ("SERVER"))
End If
c=skmt.ExecQuery2("select CAT_CO_CONFIGURACION, CAT_CO_RESULTADO from CAT_CODIGOS where CAT_CO_PONDERACION =1 AND CAT_CO_ACCION = ?", Array As String("SERVER"))
c.Position =0
server = c.GetString("CAT_CO_CONFIGURACION")
user.Text = server
c.Close
reqManager.Initialize(Me, server)
else if user.Text = "ROOT" Then
skmt.ExecNonQuery("delete from usuarioa")
skmt.ExecNonQuery2("INSERT INTO USUARIOA VALUES (?,?)", Array As Object(user.Text, pass.Text))
skmt.ExecNonQuery("delete from cat_almacen")
skmt.ExecNonQuery2("INSERT INTO CAT_ALMACEN(ID_ALMACEN) VALUES (?)", Array As Object (pass.Text))
skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("PERFIL"))
skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("PERFIL","1"))
skmt.ExecNonQuery("delete from VERSION")
skmt.ExecNonQuery2("INSERT INTO VERSION(NOVERSION) VALUES (?)", Array As Object ("2.1"))
StartActivity(seleccion)
End If
c=skmt.ExecQuery2("select count(*) as EXISTE1 from usuarioa where usuario = ?", Array As String(user.Text))
c.Position=0
existe = c.GetString("EXISTE1")
'existe = 1
If existe = 0 Then
'skmt.ExecNonQuery("delete from usuarioa")
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "select_usuario_guna_SAL_10"
cmd.Parameters = Array As Object(user.Text, pass.Text)
reqManager.ExecuteQuery(cmd , 0, "usuario")
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "select_version_SAL"
reqManager.ExecuteQuery(cmd , 0, "version")
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "select_perfil_SAL"
reqManager.ExecuteQuery(cmd , 0, "perfil")
Else
skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("PERFIL"))
skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("PERFIL","10"))
StartActivity(seleccion)
End If
End Sub
Sub JobDone(Job As HttpJob)
Log("Job.Success:"&Job.Success)
If Job.Success = False Then
ToastMessageShow("Error: " & Job.ErrorMessage, True)
Else
LogColor("JobDone: '" & reqManager.HandleJob(Job).tag & "' - Registros: " & reqManager.HandleJob(Job).Rows.Size, Colors.Green) 'Mod por CHV - 211027
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
skmt.ExecNonQuery("delete from VERSION")
Dim CAT_VE_VERSION As String = records(result.Columns.Get("CAT_VE_VERSION"))
skmt.ExecNonQuery2("INSERT INTO VERSION(NOVERSION) VALUES (?)", Array As Object (CAT_VE_VERSION))
Next
End If
End If
If Job.JobName = "DBRequest" Then
Dim result As DBResult = reqManager.HandleJob(Job)
If result.Tag = "agencia" Then 'query tag
For Each records() As Object In result.Rows
Dim ID_ALMACEN As String = records(result.Columns.Get("ID_ALMACEN"))
Next
End If
End If
If Job.JobName = "DBRequest" Then
Dim result As DBResult = reqManager.HandleJob(Job)
If result.Tag = "fecha" Then 'query tag
For Each records() As Object In result.Rows
Dim FECHA_HOY As String = records(result.Columns.Get("FECHA"))
skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("FECHA"))
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 = "perfil" Then 'query tag
For Each records() As Object In result.Rows
Dim PERFIL As String = records(result.Columns.Get("PERFIL"))
skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("PERFIL"))
skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("PERFIL",PERFIL))
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"))
Log("Name: "&name)
Dim ID_ALMACEN As String = records(result.Columns.Get("CAT_LO_AGENCIA"))
Dim IMEI_BASE As String = records(result.Columns.Get("CAT_LO_IDTELEFONO"))
Next
paso1 = 1
Log("paso = 1")
End If
End If
Job.Release
End If
Log("name: "&name)
If paso1 = 1 Then
' If IMEI = 0 Then
If name.Contains("OKActivo") = True Then
skmt.ExecNonQuery("delete from usuarioa")
skmt.ExecNonQuery2("INSERT INTO USUARIOA VALUES (?,?)", Array As Object(user.Text, pass.Text))
skmt.ExecNonQuery("delete from cat_almacen")
skmt.ExecNonQuery2("INSERT INTO CAT_ALMACEN(ID_ALMACEN) VALUES (?)", Array As Object (ID_ALMACEN))
StartActivity(seleccion)
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","")
End If
paso1 = 0
' Else
' If name = "OKActivo" & IMEI And IMEI = IMEI_BASE Then
' If name = "OKActivo" & IMEI Then
' skmt.ExecNonQuery("delete from usuarioa")
' skmt.ExecNonQuery2("INSERT INTO USUARIOA VALUES (?,?)", Array As Object(user.Text, pass.Text))
' skmt.ExecNonQuery("delete from cat_almacen")
' skmt.ExecNonQuery2("INSERT INTO CAT_ALMACEN(ID_ALMACEN) VALUES (?)", Array As Object (ID_ALMACEN))
' StartActivity(seleccion)
' 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","")
' End If
' paso1 = 0
' Else if name = "OKActivo" Then
' Msgbox("Telefono no VALIDO!","")
' Else
' Msgbox("Usuario o password No validos","")
' End If
' End If
Log("end jobdone")
End If
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(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
public Sub Initialize
'Initialize the PopupMenu
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 ImageView1_LongClick
copiaDB
End Sub
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 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,"salma_kmt.db")
ToastMessageShow("Listo", 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

1742
seleccion.bas Normal file

File diff suppressed because it is too large Load Diff

298
tarjeta.bas Normal file
View File

@@ -0,0 +1,298 @@
B4A=true
Group=Default Group
ModulesStructureVersion=1
Type=Activity
Version=6.8
@EndOfDesignText@
#Region Activity Attributes
#FullScreen: False
#IncludeTitle: True
#End Region
Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
Dim skmt As SQL
Dim g As GPS
Dim clie_id As String
Dim sDate,sTime As String
Dim usuario As String
End Sub
Sub Globals
'These global variables will be redeclared each time the activity is created.
'These variables can only be accessed from this module.
Dim c As Cursor
Dim ruta As String
Dim Regresar As Button
Dim ListView1 As ListView
Dim L_CANT As Label
Dim L_TOTAL As Label
Dim borra As Button
Dim Existe As String
Dim result As String
Dim lat_gps, lon_gps As String
Dim DESC As String
Private Titulo As Label
Private b_desc As Button
Dim DESCUENTO As String
Dim folio As String
End Sub
Sub Activity_Create(FirstTime As Boolean)
If(FirstTime) Then
g.Initialize("GPS")
End If
ruta = File.DirInternal
Activity.LoadLayout("tarjeta")
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)")
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")
ListView1.Clear
If c.RowCount>0 Then
For i=0 To c.RowCount -1
c.Position=i
Dim label1 As Label
label1 = ListView1.TwoLinesLayout.Label
label1.TextSize = 15
label1.TextColor = Colors.Black
Dim label2 As Label
label2 = ListView1.TwoLinesLayout.SecondLabel
label2.TextSize = 10
label2.TextColor = Colors.Blue
ListView1.AddTwoLines(c.GetString("PE_PRONOMBRE"),"Cantidad #"& c.GetString("PE_CANT")& " SubTotal $"& c.GetString("PE_COSTO_TOT")& " Folio "& c.GetString("PE_FOLIO"))
folio = c.GetString("PE_FOLIO")
Next
End If
If Existe <> 0 Then
c=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 Activity_Resume
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=""
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.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")
ListView1.Clear
If c.RowCount>0 Then
For i=0 To c.RowCount -1
c.Position=i
Dim label1 As Label
label1 = ListView1.TwoLinesLayout.Label
label1.TextSize = 15
label1.TextColor = Colors.Black
Dim label2 As Label
label2 = ListView1.TwoLinesLayout.SecondLabel
label2.TextSize = 10
label2.TextColor = Colors.Blue
ListView1.AddTwoLines(c.GetString("PE_PRONOMBRE"),"Cantidad #"& c.GetString("PE_CANT")& " SubTotal $"& c.GetString("PE_COSTO_TOT")& " Folio "& c.GetString("PE_FOLIO"))
folio = c.GetString("PE_FOLIO")
Next
End If
If Existe <> 0 Then
c=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.Position=0
DESC = c.GetString("DESCUENTO")
'If L_TOTAL.Text > 1000 And DESC = 0 Then
'b_desc.Visible = True
'b_desc.Text = "- 5% DESC"
'DESCUENTO = "MENOS"
'Else if L_TOTAL.Text > 1000 Then
'b_desc.Visible = True
'b_desc.Text = "Cancela Desc"
'DESCUENTO = "MAS"
'Else
b_desc.Visible = False
'End If
End If
'la_no_ird.Text = c.GetString("PR_CF_SALDO_ACORT")
End Sub
Sub Activity_Pause (UserClosed As Boolean)
End Sub
Sub GPS_LocationChanged (Location1 As Location)
lat_gps=Location1.ConvertToSeconds(Location1.Latitude)
lon_gps=Location1.ConvertToSeconds(Location1.Longitude)
End Sub
Sub Regresar_Click
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)
'Return True
End If
' Returning False signals the system to handle the key
Return False
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"))
If result = DialogResponse.POSITIVE Then
c=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")))
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)")
Activity_Resume
End If
Else
Msgbox("CLIENTE YA SE TRANSMITIO, FAVOR DE LLAMAR A SOPORTE PARA ASISTENCIA","AVISO")
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"))
If result = DialogResponse.POSITIVE Then
c=skmt.ExecQuery2("select PE_PROID,PE_CANT FROM PEDIDO where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa) ", Array As String(Value))
c.Position=0
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")))
c.Close
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.Position=0
If c.GetString("CUANTOS") > 0 Then
skmt.ExecNonQuery2("delete from pedido where pe_folio = 0 and pe_cedis in (select pe_cedis from pedido where pe_pronombre = ?) and pe_cliente in (Select CUENTA from cuentaa)", Array As Object(Value))
Else
skmt.ExecNonQuery2("delete from pedido where pe_folio = 0 and pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa)", Array As Object(Value))
End If
DateTime.DateFormat = "MM/dd/yyyy"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
c=skmt.ExecQuery("Select CUENTA from cuentaa")
c.Position=0
clie_id = c.GetString("CUENTA")
c=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.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"), lon_gps, lat_gps))
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)")
End If
Activity_Resume
End If
End Sub
Sub b_desc_Click
If DESCUENTO = "MENOS" Then
DateTime.DateFormat = "MM/dd/yyyy"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
c=skmt.ExecQuery("Select CUENTA from cuentaa")
c.Position=0
clie_id = c.GetString("CUENTA")
c.Close
c=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"))
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)")
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"), lon_gps, lat_gps))
c.Close
Activity_Resume
End If
ELSE IF DESCUENTO = "MAS" Then
DateTime.DateFormat = "MM/dd/yyyy"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
c=skmt.ExecQuery("Select CUENTA from cuentaa")
c.Position=0
clie_id = c.GetString("CUENTA")
c.Close
c=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"))
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)")
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"), lon_gps, lat_gps))
c.Close
Activity_Resume
End If
End If
End Sub

128
telefonos.bas Normal file
View File

@@ -0,0 +1,128 @@
B4A=true
Group=Default Group
ModulesStructureVersion=1
Type=Activity
Version=6.8
@EndOfDesignText@
#Region Activity Attributes
#FullScreen: False
#IncludeTitle: True
#End Region
Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
Dim skmt As SQL
End Sub
Sub Globals
'These global variables will be redeclared each time the activity is created.
'These variables can only be accessed from this module.
Dim c As Cursor
Dim ruta As String
Dim Regresa As Button
Dim Agrega As Button
Dim e_atiende1 As EditText
Dim e_atiende2 As EditText
Dim e_tel As EditText
Dim e_email As EditText
Dim e_edo As EditText
Dim e_mpo As EditText
Dim e_cp As EditText
End Sub
Sub Activity_Create(FirstTime As Boolean)
'Do not forget to load the layout file created with the visual designer. For example:
'Activity.LoadLayout("Layout1")
ruta = File.DirInternal
Activity.LoadLayout("telefonos")
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)
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 from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
' ListView1.Clear
'If c.RowCount>0 Then
' For i=0 To c.RowCount -1
c.Position=0
e_edo.Text = c.GetString("CAT_CL_EDO")
If e_edo.Text <> "" Or e_edo.text <> "null" Then
e_edo.Enabled = False
End If
e_cp.Text = c.GetString("CAT_CL_CP")
If e_cp.Text <> "" Then
e_cp.Enabled = False
End If
e_mpo.Text = c.GetString("CAT_CL_MUNI")
If e_mpo.Text <> "" Then
e_mpo.Enabled = False
End If
e_email.Text = c.GetString("CAT_CL_EMAIL")
e_tel.Text = c.GetString("CAT_CL_TELEFONO")
e_atiende1.Text = c.GetString("CAT_CL_ATIENDE1")
e_atiende2.Text = c.GetString("CAT_CL_ATIENTE2")
' 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.
End Sub
Sub Activity_Resume
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 from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
' ListView1.Clear
'If c.RowCount>0 Then
' For i=0 To c.RowCount -1
c.Position=0
e_edo.Text = c.GetString("CAT_CL_EDO")
If e_edo.Text <> "" Or e_edo.text <> "null" Then
e_edo.Enabled = False
End If
e_cp.Text = c.GetString("CAT_CL_CP")
If e_cp.Text <> "" Then
e_cp.Enabled = False
End If
e_mpo.Text = c.GetString("CAT_CL_MUNI")
If e_mpo.Text <> "" Then
e_mpo.Enabled = False
End If
e_email.Text = c.GetString("CAT_CL_EMAIL")
e_tel.Text = c.GetString("CAT_CL_TELEFONO")
e_atiende1.Text = c.GetString("CAT_CL_ATIENDE1")
e_atiende2.Text = c.GetString("CAT_CL_ATIENTE2")
End Sub
Sub Activity_Pause (UserClosed As Boolean)
End Sub
Sub Regresa_Click
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)
'Return True
End If
' Returning False signals the system to handle the key
Return False
End Sub
Sub Agrega_Click
c=skmt.ExecQuery("Select CUENTA from cuentaa")
C.Position =0
skmt.ExecNonQuery2("insert into CLIE_ACT(CLIENTE,ATIENDE1, ATIENDE2,TEL,EMAIL,EDO,CP, MPO) VALUES (?,?,?,?,?,?,?,?)", Array As Object(c.GetString("CUENTA"),e_atiende1.Text ,e_atiende2.Text,e_tel.text,e_email.Text,e_edo.Text,e_cp.Text,e_mpo.Text))
c.Close
StartActivity(seleccion)
End Sub