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