- Commit inicial
3
.gitignore
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
**/Objects
|
||||||
|
**/AutoBackups
|
||||||
|
*.meta
|
||||||
170
BUSCAR.bas
Normal 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
@@ -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
@@ -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
|
After Width: | Height: | Size: 632 B |
BIN
Files/alerta.jpg
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
Files/alerta_amarilla.png
Normal file
|
After Width: | Height: | Size: 61 KiB |
BIN
Files/amarillo.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
Files/buscar.bal
Normal file
BIN
Files/carrito.png
Normal file
|
After Width: | Height: | Size: 22 KiB |
BIN
Files/detalle_promo.bal
Normal file
BIN
Files/fila.bal
Normal file
BIN
Files/fondo_kmt.jpg
Normal file
|
After Width: | Height: | Size: 33 KiB |
BIN
Files/foto.bal
Normal file
BIN
Files/guardagestion.bal
Normal file
BIN
Files/guna_viejo.png
Normal file
|
After Width: | Height: | Size: 3.5 KiB |
BIN
Files/info_gral.bal
Normal file
BIN
Files/infonavit1.jpg
Normal file
|
After Width: | Height: | Size: 30 KiB |
BIN
Files/itembuttonblue.png
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
Files/keymon_logo.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
Files/kmt.db
Normal file
BIN
Files/login.bal
Normal file
BIN
Files/logo sanfer.jpg
Normal file
|
After Width: | Height: | Size: 7.8 KiB |
BIN
Files/logo_exitus1.jpg
Normal file
|
After Width: | Height: | Size: 30 KiB |
BIN
Files/malo.jpg
Normal file
|
After Width: | Height: | Size: 8.6 KiB |
BIN
Files/mapa.bal
Normal file
BIN
Files/nopago.bal
Normal file
BIN
Files/nuevocliente.bal
Normal file
BIN
Files/palomita_verde.png
Normal file
|
After Width: | Height: | Size: 156 KiB |
BIN
Files/pedido.bal
Normal file
BIN
Files/planfia_logo.png
Normal file
|
After Width: | Height: | Size: 22 KiB |
BIN
Files/planfia_logo_old.png
Normal file
|
After Width: | Height: | Size: 33 KiB |
BIN
Files/planfia_logo_old2.png
Normal file
|
After Width: | Height: | Size: 40 KiB |
BIN
Files/qr.bal
Normal file
BIN
Files/rojo.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
Files/salma - Copy.jpg
Normal file
|
After Width: | Height: | Size: 19 KiB |
BIN
Files/salma.jpg
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
Files/salma_191x191.jpg
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
Files/seleccion.bal
Normal file
BIN
Files/senial.jpg
Normal file
|
After Width: | Height: | Size: 39 KiB |
BIN
Files/sync.png
Normal file
|
After Width: | Height: | Size: 763 B |
BIN
Files/tache_rojo.png
Normal file
|
After Width: | Height: | Size: 249 KiB |
BIN
Files/tarjeta.bal
Normal file
BIN
Files/telefonos.bal
Normal file
BIN
Files/tiendita.jpg
Normal file
|
After Width: | Height: | Size: 8.8 KiB |
BIN
Files/verde.png
Normal file
|
After Width: | Height: | Size: 7.5 KiB |
158
Historico.bas
Normal 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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -0,0 +1 @@
|
|||||||
|
git pull
|
||||||
51
mapas.bas
Normal 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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
298
tarjeta.bas
Normal 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
@@ -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
|
||||||