...
@@ -28,6 +28,7 @@ Sub Class_Globals
|
||||
Dim cmd As DBCommand
|
||||
Dim skmt As SQL
|
||||
Public principal As C_Principal
|
||||
Public checklist As C_Cheklist
|
||||
Private i_engrane As ImageView
|
||||
Private b_entrar As Button
|
||||
Private l_version As Label
|
||||
@@ -45,6 +46,7 @@ Sub Class_Globals
|
||||
Dim server As String = ""
|
||||
Private et_server As EditText
|
||||
Private p_Main As Panel
|
||||
Dim rp As RuntimePermissions
|
||||
End Sub
|
||||
|
||||
Public Sub Initialize
|
||||
@@ -57,6 +59,8 @@ Private Sub B4XPage_Created (Root1 As B4XView)
|
||||
Root.LoadLayout("MainPage")
|
||||
principal.Initialize
|
||||
B4XPages.AddPage("Principal", principal)
|
||||
checklist.Initialize
|
||||
B4XPages.AddPage("checklist",checklist)
|
||||
If File.Exists(File.DirInternal, "kmt.db") = False Then
|
||||
File.Copy(File.DirAssets, "kmt.db", File.DirInternal, "kmt.db")
|
||||
End If
|
||||
@@ -64,6 +68,13 @@ Private Sub B4XPage_Created (Root1 As B4XView)
|
||||
skmt.ExecNonQuery("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'FECHA'")
|
||||
Subs.guardaAppInfo
|
||||
l_version.Text = Application.VersionName
|
||||
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CHECKLIST2(USUARIO TEXT, PLACA TEXT, FECHA_CAPTURA TEXT, TARJETA_CIRCULACION TEXT, POLIZA_SEGURO TEXT, LICENCIA_CONDUCIR TEXT, LIMPIA_EXTERNA TEXT, LIMPIA_INTERNA TEXT, TRIANGULO TEXT, GATO TEXT, LLANTA_REFACCION TEXT, CARROCERIA TEXT, CARROCERIA_COMENTARIOS TEXT, LUCES TEXT, LUCES_COMENTARIOS TEXT, CONDICION_PLACAS TEXT, CONDICION_PLACAS_COMENTARIOS TEXT, CONDICION_LLANTAS_DEL_DER TEXT, CONDICION_LLANTAS_DEL_IZQ TEXT, CONDICION_LLANTAS_TRASERA_DER TEXT, CONDICION_LLANTAS_TRASERA_IZQ TEXT, ACEITE TEXT, ANTICONGELANTE TEXT, FRENOS TEXT, AIRE TEXT, FUGAS TEXT, COMETARIOS_FUGAS TEXT, FOTO1 BLOB, FOTO12 BLOB, FOTO3 BLOB, FOTO4 BLOB, KILIMETRAJE TEXT, RUTA TEXT)")
|
||||
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CHECADO_CHECK(CHECADO TEXT)")
|
||||
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS PLACAS(PLACA TEXT)")
|
||||
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS RUTAA (RUTAA TEXT)")
|
||||
Subs.agregaColumna("kmt_info","limitecredito","TEXT")
|
||||
Subs.agregaColumna("kmt_info","SALDODISP","TEXT")
|
||||
Subs.agregaColumna("kmt_info","BCREDITO","TEXT")
|
||||
End Sub
|
||||
|
||||
Sub B4XPage_Appear
|
||||
|
||||
803
B4A/C_Cheklist.bas
Normal file
@@ -0,0 +1,803 @@
|
||||
B4A=true
|
||||
Group=Default Group
|
||||
ModulesStructureVersion=1
|
||||
Type=Class
|
||||
Version=12.5
|
||||
@EndOfDesignText@
|
||||
Sub Class_Globals
|
||||
Private Root As B4XView 'ignore
|
||||
Private xui As XUI 'ignore
|
||||
Private p_check As Panel
|
||||
Private sv_datos As ScrollView
|
||||
|
||||
Private camEx As CameraExClass
|
||||
Dim frontCamera As Boolean = False
|
||||
Private p_cam As Panel
|
||||
Dim nombrefoto As String = "0"
|
||||
Dim nombrefoto1 As String = "0"
|
||||
Dim nombrefoto2 As String = "0"
|
||||
Dim nombrefoto3 As String = "0"
|
||||
Private p_camara As Panel
|
||||
Private teclado As IME
|
||||
Dim fototomada As String
|
||||
Private ImageView1 As ImageView
|
||||
Private ImageView3 As ImageView
|
||||
Private ImageView2 As ImageView
|
||||
Private ImageView4 As ImageView
|
||||
Private b_foto As Button
|
||||
Dim device As Phone
|
||||
Dim MES1 As ManageExternalStorage
|
||||
Dim x As Int = 0
|
||||
Private rb_docsi1 As RadioButton
|
||||
Private rb_docno1 As RadioButton
|
||||
Private rb_docsi2 As RadioButton
|
||||
Private rb_docno2 As RadioButton
|
||||
Private rb_docsi3 As RadioButton
|
||||
Private rb_docno3 As RadioButton
|
||||
Private rb_docsi4 As RadioButton
|
||||
Private rb_docno4 As RadioButton
|
||||
Private rb_docsi5 As RadioButton
|
||||
Private rb_docno5 As RadioButton
|
||||
Private rb_docsi6 As RadioButton
|
||||
Private rb_docno6 As RadioButton
|
||||
Private rb_docsi7 As RadioButton
|
||||
Private rb_docno7 As RadioButton
|
||||
Private rb_docsi8 As RadioButton
|
||||
Private rb_docno8 As RadioButton
|
||||
Private rb_docsi9 As RadioButton
|
||||
Private rb_docno9 As RadioButton
|
||||
Private rb_docsi10 As RadioButton
|
||||
Private rb_docno10 As RadioButton
|
||||
Private rb_docsi11 As RadioButton
|
||||
Private rb_docno11 As RadioButton
|
||||
Private rb_docsi12 As RadioButton
|
||||
Private rb_docno12 As RadioButton
|
||||
Private rb_docsi13 As RadioButton
|
||||
Private rb_docno13 As RadioButton
|
||||
Private rb_docsi14 As RadioButton
|
||||
Private rb_docno14 As RadioButton
|
||||
Private rb_docsi15 As RadioButton
|
||||
Private rb_docno15 As RadioButton
|
||||
Private rb_docsi16 As RadioButton
|
||||
Private rb_docno16 As RadioButton
|
||||
Private rb_docsi17 As RadioButton
|
||||
Private rb_docno17 As RadioButton
|
||||
Private rb_docsi18 As RadioButton
|
||||
Private rb_docno18 As RadioButton
|
||||
Private rb_docsi19 As RadioButton
|
||||
Private rb_docno19 As RadioButton
|
||||
Private et_carroceria As EditText
|
||||
Private et_luces As EditText
|
||||
Private et_placas As EditText
|
||||
Private et_liquidos As EditText
|
||||
|
||||
Dim p1 As String
|
||||
Dim p2 As String
|
||||
Dim p3 As String
|
||||
Dim p4 As String
|
||||
Dim p5 As String
|
||||
Dim p6 As String
|
||||
Dim p7 As String
|
||||
Dim p8 As String
|
||||
Dim p9 As String
|
||||
Dim p10 As String
|
||||
Dim p11 As String
|
||||
Dim p12 As String
|
||||
Dim p13 As String
|
||||
Dim p14 As String
|
||||
Dim p15 As String
|
||||
Dim p16 As String
|
||||
Dim p17 As String
|
||||
Dim p18 As String
|
||||
Dim p19 As String
|
||||
Private cb_izqdel As B4XComboBox
|
||||
Private cb_derdel As B4XComboBox
|
||||
Private cb_izqatras As B4XComboBox
|
||||
Private cb_deratras As B4XComboBox
|
||||
Dim itemselect1 As String
|
||||
Dim itemselect2 As String
|
||||
Dim itemselect3 As String
|
||||
Dim itemselect4 As String
|
||||
Dim foto1() As Byte
|
||||
Dim foto2() As Byte
|
||||
Dim foto3() As Byte
|
||||
Dim foto4() As Byte
|
||||
Dim c As Cursor
|
||||
Dim reqManager As DBRequestManager
|
||||
Private l_placa As Label
|
||||
Private et_km As EditText
|
||||
Private logo As ImageView
|
||||
End Sub
|
||||
|
||||
'You can add more parameters here.
|
||||
Public Sub Initialize As Object
|
||||
Return Me
|
||||
End Sub
|
||||
|
||||
'This event will be called once, before the page becomes visible.
|
||||
Private Sub B4XPage_Created (Root1 As B4XView)
|
||||
Root = Root1
|
||||
Root.LoadLayout("checklist")
|
||||
|
||||
sv_datos.Height = Root.Height
|
||||
sv_datos.Width = Root.Width
|
||||
sv_datos.Panel.LoadLayout("check2")
|
||||
sv_datos.Panel.Height = p_check.Height
|
||||
p_check.Width = Root.Width
|
||||
p_camara.Width = Root.Width
|
||||
p_camara.Height = Root.Height
|
||||
|
||||
|
||||
Dim items As List
|
||||
items.Initialize
|
||||
items.Add("100%")
|
||||
items.Add("75%")
|
||||
items.Add("50%")
|
||||
items.Add("25%")
|
||||
cb_deratras.SetItems(items)
|
||||
cb_izqatras.SetItems(items)
|
||||
cb_derdel.SetItems(items)
|
||||
cb_izqdel.SetItems(items)
|
||||
itemselect1 = "100%"
|
||||
itemselect2 = "100%"
|
||||
itemselect3 = "100%"
|
||||
itemselect4 = "100%"
|
||||
|
||||
reqManager.Initialize(Me, B4XPages.MainPage.server)
|
||||
End Sub
|
||||
|
||||
Private Sub B4XPage_Appear
|
||||
c = B4XPages.MainPage.skmt.ExecQuery("SELECT PLACA FROM PLACAS")
|
||||
c.Position = 0
|
||||
Log(c.GetString("PLACA"))
|
||||
l_placa.Text = c.GetString("PLACA")
|
||||
c.Close
|
||||
B4XPages.MainPage.rp.CheckAndRequest(B4XPages.MainPage.rp.PERMISSION_CAMERA)
|
||||
Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean)
|
||||
If Result Then
|
||||
' camEx.Initialize(p_cam, frontCamera, Me, "Camera1")
|
||||
' frontCamera = camEx.Front
|
||||
Log("inicializamos Camara")
|
||||
Else
|
||||
ToastMessageShow("No permission Camara!!!", True)
|
||||
End If
|
||||
MES1.Initialize(Me, "MES1")
|
||||
|
||||
' get the device SDK version
|
||||
Dim SdkVersion As Int = device.SdkVersion
|
||||
|
||||
' Choose which permission to request in order to access external storgage
|
||||
If SdkVersion < 30 Then
|
||||
Log("SDK = " & SdkVersion & " : Requesting WRITE_EXTERNAL_STORAGE permission")
|
||||
Dim rp As RuntimePermissions
|
||||
rp.CheckAndRequest(rp.PERMISSION_WRITE_EXTERNAL_STORAGE) ' Implicit read capability if granted
|
||||
Wait For Activity_PermissionResult (Permission As String, Result As Boolean)
|
||||
Log($"PERMISSION_WRITE_EXTERNAL_STORAGE = ${Result}"$)
|
||||
Else
|
||||
Log("SDK = " & SdkVersion & " : Requesting MANAGE_EXTERNAL_STORAGE permission")
|
||||
Log("On Entry MANAGE_EXTERNAL_STORAGE = " & MES1.HasPermission)
|
||||
If Not(MES1.HasPermission) Then
|
||||
MsgboxAsync("Esta aplicación requiere acceso a todos los archivos, habilite la opción", "Administrar todos los archivos")
|
||||
Wait For Msgbox_Result(Res As Int)
|
||||
Log("Getting permission")
|
||||
MES1.GetPermission
|
||||
Wait For MES_StorageAvailable
|
||||
End If
|
||||
End If
|
||||
p_camara.Visible = False
|
||||
|
||||
|
||||
' Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_WRITE_EXTERNAL_STORAGE)
|
||||
' Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean)
|
||||
' If Result Then
|
||||
' Log("conpermisos para escritura")
|
||||
' Else
|
||||
' ToastMessageShow("No permission Escritura!!!", True)
|
||||
' End If
|
||||
'
|
||||
' Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_READ_EXTERNAL_STORAGE)
|
||||
' Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean)
|
||||
' If Result Then
|
||||
' Log("conpermisos para escritura")
|
||||
' Else
|
||||
' ToastMessageShow("No permission Lectura!!!", True)
|
||||
' End If
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub B4XPage_CloseRequest As ResumableSub
|
||||
' BACK key pressed
|
||||
If p_camara.visible Then
|
||||
p_camara.visible = False
|
||||
StopCamera2
|
||||
Else
|
||||
B4XPages.ShowPage("principal")
|
||||
End If
|
||||
' Returning False signals the system to handle the key
|
||||
Return False
|
||||
End Sub
|
||||
|
||||
Private Sub InitializeCamera2
|
||||
B4XPages.MainPage.rp.CheckAndRequest(B4XPages.MainPage.rp.PERMISSION_CAMERA)
|
||||
Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean)
|
||||
If Result Then
|
||||
camEx.Initialize(p_cam, frontCamera, Me, "Camera1")
|
||||
frontCamera = camEx.Front
|
||||
Log("inicializamos Camara")
|
||||
Else
|
||||
ToastMessageShow("No permission Camara!!!", True)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Sub Camera1_Ready (Success As Boolean)
|
||||
Log("Camara ready")
|
||||
If Success Then
|
||||
camEx.SetJpegQuality(90)
|
||||
camEx.SetContinuousAutoFocus
|
||||
camEx.CommitParameters
|
||||
camEx.StartPreview
|
||||
Log(camEx.GetPreviewSize)
|
||||
Else
|
||||
ToastMessageShow("Cannot open camera.", True)
|
||||
Log("Cannot open camera")
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Sub Camera1_PictureTaken (Data()As Byte)
|
||||
If x = 1 Then
|
||||
DateTime.DateFormat="ddMMyyyyHHmmss"
|
||||
nombrefoto = DateTime.Now & "_FOTO1.jpg"
|
||||
teclado.HideKeyboard
|
||||
fototomada = nombrefoto
|
||||
|
||||
Else If x = 2 Then
|
||||
DateTime.DateFormat="ddMMyyyyHHmmss"
|
||||
nombrefoto1 = DateTime.Now & "_FOTO2.jpg"
|
||||
teclado.HideKeyboard
|
||||
fototomada = nombrefoto1
|
||||
|
||||
Else If x = 3 Then
|
||||
DateTime.DateFormat="ddMMyyyyHHmmss"
|
||||
nombrefoto2 = DateTime.Now & "_FOTO3.jpg"
|
||||
teclado.HideKeyboard
|
||||
fototomada = nombrefoto2
|
||||
|
||||
Else If x = 4 Then
|
||||
DateTime.DateFormat="ddMMyyyyHHmmss"
|
||||
nombrefoto3 = DateTime.Now & "_FOTO4.jpg"
|
||||
teclado.HideKeyboard
|
||||
fototomada = nombrefoto3
|
||||
|
||||
End If
|
||||
|
||||
Log("tome foto")
|
||||
Dim filename As String = fototomada
|
||||
Dim Dirp As String = File.DirInternal
|
||||
Dim Dir As String
|
||||
Dim Dir2 As String
|
||||
Try
|
||||
File.MakeDir(Dirp,"/md")
|
||||
Dir = "/md"
|
||||
Log("creado en promotoria " & Dirp & Dir)
|
||||
Catch
|
||||
Dir = ""
|
||||
Log("creado en raiz")
|
||||
End Try
|
||||
|
||||
Try
|
||||
File.MakeDir(Dirp & Dir,"/reduccion")
|
||||
Dir2 = "/reduccion"
|
||||
Log("creado en promotoria " & Dirp & Dir & Dir2)
|
||||
Catch
|
||||
Dir = ""
|
||||
Log("creado en raiz")
|
||||
End Try
|
||||
|
||||
camEx.SavePictureToFile(Data, Dirp&Dir, filename)
|
||||
camEx.StartPreview 'restart preview
|
||||
' ToastMessageShow("Picture saved." & CRLF & "File size: " & File.Size(Dir, filename) & Dir &"," & filename, True)
|
||||
Log("Picture saved." & CRLF & "File size: " & File.Size(Dir, filename) & Dir &"," & filename)
|
||||
p_camara.Visible = False
|
||||
|
||||
Log(nombrefoto)
|
||||
Log(nombrefoto1)
|
||||
Log(nombrefoto2)
|
||||
Log(nombrefoto3)
|
||||
|
||||
If nombrefoto <> "0" Then
|
||||
Dim img As B4XBitmap = xui.LoadBitmapResize(File.DirInternal & Dir, filename, 450, 600, True)
|
||||
Dim out As OutputStream = File.OpenOutput(File.DirInternal & Dir & Dir2, filename, True)
|
||||
img.WriteToStream(out, 100, "PNG")
|
||||
' foto1 = File.ReadBytes(File.DirInternal & Dir & Dir2, nombrefoto)
|
||||
|
||||
out.Close
|
||||
ImageView1.Bitmap = LoadBitmap(File.DirInternal & Dir & Dir2,nombrefoto)
|
||||
|
||||
End If
|
||||
|
||||
If nombrefoto1 <> "0" Then
|
||||
Dim img As B4XBitmap = xui.LoadBitmapResize(File.DirInternal & Dir, filename, 450, 600, True)
|
||||
Dim out As OutputStream = File.OpenOutput(File.DirInternal & Dir & Dir2, filename, False)
|
||||
img.WriteToStream(out, 100, "PNG")
|
||||
' foto2 = File.ReadBytes(File.DirInternal & Dir & Dir2, nombrefoto1)
|
||||
|
||||
out.Close
|
||||
ImageView2.Bitmap = LoadBitmap(File.DirInternal & Dir& Dir2,nombrefoto1)
|
||||
End If
|
||||
|
||||
If nombrefoto2 <> "0" Then
|
||||
Dim img As B4XBitmap = xui.LoadBitmapResize(File.DirInternal & Dir, filename, 450, 600, True)
|
||||
Dim out As OutputStream = File.OpenOutput(File.DirInternal & Dir & Dir2, filename, False)
|
||||
img.WriteToStream(out, 100, "PNG")
|
||||
' foto3 = File.ReadBytes(File.DirInternal & Dir & Dir2, nombrefoto2)
|
||||
|
||||
out.Close
|
||||
ImageView3.Bitmap = LoadBitmap(File.DirInternal & Dir& Dir2,nombrefoto2)
|
||||
End If
|
||||
|
||||
If nombrefoto3 <> "0" Then
|
||||
Dim img As B4XBitmap = xui.LoadBitmapResize(File.DirInternal & Dir, filename, 450, 600, True)
|
||||
Dim out As OutputStream = File.OpenOutput(File.DirInternal & Dir & Dir2, filename, False)
|
||||
img.WriteToStream(out, 100, "PNG")
|
||||
' foto4 = File.ReadBytes(File.DirInternal & Dir & Dir2, nombrefoto3)
|
||||
|
||||
out.Close
|
||||
ImageView4.Bitmap = LoadBitmap(File.DirInternal & Dir & Dir2,nombrefoto3)
|
||||
End If
|
||||
|
||||
StopCamera2
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub p_camara_Click
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub b_foto_Click
|
||||
camEx.TakePicture
|
||||
p_camara.Visible = False
|
||||
' StopCamera2
|
||||
End Sub
|
||||
|
||||
Private Sub StopCamera2
|
||||
' Capturing = False
|
||||
If camEx.IsInitialized Then
|
||||
camEx.Release
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub ImageView1_Click
|
||||
|
||||
x = 1
|
||||
InitializeCamera2
|
||||
p_camara.Visible = True
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub ImageView2_Click
|
||||
|
||||
x = 2
|
||||
InitializeCamera2
|
||||
p_camara.Visible = True
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub ImageView3_Click
|
||||
|
||||
x = 3
|
||||
InitializeCamera2
|
||||
p_camara.Visible = True
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub ImageView4_Click
|
||||
|
||||
x = 4
|
||||
InitializeCamera2
|
||||
p_camara.Visible = True
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub rb_docno1_CheckedChange(Checked As Boolean)
|
||||
p1 = "No"
|
||||
End Sub
|
||||
|
||||
Private Sub rb_docsi1_CheckedChange(Checked As Boolean)
|
||||
p1 = "Si"
|
||||
End Sub
|
||||
|
||||
Private Sub rb_docno2_CheckedChange(Checked As Boolean)
|
||||
p2 = "No"
|
||||
End Sub
|
||||
|
||||
Private Sub rb_docsi2_CheckedChange(Checked As Boolean)
|
||||
p2 = "Si"
|
||||
End Sub
|
||||
|
||||
Private Sub rb_docno3_CheckedChange(Checked As Boolean)
|
||||
p3 = "No"
|
||||
End Sub
|
||||
|
||||
Private Sub rb_docsi3_CheckedChange(Checked As Boolean)
|
||||
p3 = "Si"
|
||||
End Sub
|
||||
|
||||
Private Sub rb_docno4_CheckedChange(Checked As Boolean)
|
||||
p4 = "No"
|
||||
End Sub
|
||||
|
||||
Private Sub rb_docsi4_CheckedChange(Checked As Boolean)
|
||||
p4 = "Si"
|
||||
End Sub
|
||||
|
||||
Private Sub rb_docno5_CheckedChange(Checked As Boolean)
|
||||
p5 = "No"
|
||||
End Sub
|
||||
|
||||
Private Sub rb_docsi5_CheckedChange(Checked As Boolean)
|
||||
p5 = "Si"
|
||||
End Sub
|
||||
|
||||
Private Sub rb_docno6_CheckedChange(Checked As Boolean)
|
||||
p6 = "No"
|
||||
End Sub
|
||||
|
||||
Private Sub rb_docsi6_CheckedChange(Checked As Boolean)
|
||||
p6 = "Si"
|
||||
End Sub
|
||||
|
||||
Private Sub rb_docno7_CheckedChange(Checked As Boolean)
|
||||
p7 = "No"
|
||||
End Sub
|
||||
|
||||
Private Sub rb_docsi7_CheckedChange(Checked As Boolean)
|
||||
p7 = "Si"
|
||||
End Sub
|
||||
|
||||
Private Sub rb_docno8_CheckedChange(Checked As Boolean)
|
||||
p8 = "No"
|
||||
End Sub
|
||||
|
||||
Private Sub rb_docsi8_CheckedChange(Checked As Boolean)
|
||||
p8 = "Si"
|
||||
End Sub
|
||||
|
||||
Private Sub rb_docno9_CheckedChange(Checked As Boolean)
|
||||
p9 = "Incorrecto"
|
||||
End Sub
|
||||
|
||||
Private Sub rb_docsi9_CheckedChange(Checked As Boolean)
|
||||
p9 = "Correcto"
|
||||
End Sub
|
||||
|
||||
Private Sub rb_docno11_CheckedChange(Checked As Boolean)
|
||||
p11 = "Incorrecto"
|
||||
End Sub
|
||||
|
||||
Private Sub rb_docsi11_CheckedChange(Checked As Boolean)
|
||||
p11 = "Correcto"
|
||||
End Sub
|
||||
|
||||
Private Sub rb_docno13_CheckedChange(Checked As Boolean)
|
||||
p13 = "Incorrecto"
|
||||
End Sub
|
||||
|
||||
Private Sub rb_docsi13_CheckedChange(Checked As Boolean)
|
||||
p13 = "Correcto"
|
||||
End Sub
|
||||
|
||||
Private Sub rb_docno15_CheckedChange(Checked As Boolean)
|
||||
p15 = "Incorrecto"
|
||||
End Sub
|
||||
|
||||
Private Sub rb_docsi15_CheckedChange(Checked As Boolean)
|
||||
p15 = "Correcto"
|
||||
End Sub
|
||||
|
||||
Private Sub rb_docno16_CheckedChange(Checked As Boolean)
|
||||
p16 = "Incorrecto"
|
||||
End Sub
|
||||
|
||||
Private Sub rb_docsi16_CheckedChange(Checked As Boolean)
|
||||
p16 = "Correcto"
|
||||
End Sub
|
||||
|
||||
Private Sub rb_docno17_CheckedChange(Checked As Boolean)
|
||||
p17 = "Incorrecto"
|
||||
End Sub
|
||||
|
||||
Private Sub rb_docsi17_CheckedChange(Checked As Boolean)
|
||||
p17 = "Correcto"
|
||||
End Sub
|
||||
|
||||
Private Sub rb_docno18_CheckedChange(Checked As Boolean)
|
||||
p18 = "Incorrecto"
|
||||
End Sub
|
||||
|
||||
Private Sub rb_docsi18_CheckedChange(Checked As Boolean)
|
||||
p18 = "Correcto"
|
||||
End Sub
|
||||
|
||||
Private Sub rb_docno19_CheckedChange(Checked As Boolean)
|
||||
p19 = "Incorrecto"
|
||||
End Sub
|
||||
|
||||
Private Sub rb_docsi19_CheckedChange(Checked As Boolean)
|
||||
p19 = "Correcto"
|
||||
End Sub
|
||||
|
||||
Private Sub cb_izqdel_SelectedIndexChanged (Index As Int)
|
||||
itemselect1 = cb_izqdel.SelectedItem
|
||||
Log(itemselect1)
|
||||
End Sub
|
||||
|
||||
Private Sub cb_izqatras_SelectedIndexChanged (Index As Int)
|
||||
itemselect2 = cb_izqatras.SelectedItem
|
||||
Log(itemselect2)
|
||||
End Sub
|
||||
|
||||
Private Sub cb_derdel_SelectedIndexChanged (Index As Int)
|
||||
itemselect3 = cb_derdel.SelectedItem
|
||||
Log(itemselect3)
|
||||
End Sub
|
||||
|
||||
Private Sub cb_deratras_SelectedIndexChanged (Index As Int)
|
||||
itemselect4 = cb_deratras.SelectedItem
|
||||
Log(itemselect4)
|
||||
End Sub
|
||||
|
||||
Private Sub b_guardar_Click
|
||||
|
||||
Dim Dirp As String = File.DirInternal
|
||||
Dim Dir As String
|
||||
Dim Dir2 As String
|
||||
Try
|
||||
File.MakeDir(Dirp,"/md")
|
||||
Dir = "/md"
|
||||
Log("creado en promotoria " & Dirp & Dir)
|
||||
Catch
|
||||
Dir = ""
|
||||
Log("creado en raiz")
|
||||
End Try
|
||||
|
||||
Try
|
||||
File.MakeDir(Dirp & Dir,"/reduccion")
|
||||
Dir2 = "/reduccion"
|
||||
Log("creado en promotoria " & Dirp & Dir & Dir2)
|
||||
Catch
|
||||
Dir = ""
|
||||
Log("creado en raiz")
|
||||
End Try
|
||||
|
||||
DateTime.TimeFormat="HH:mm:ss"
|
||||
DateTime.DateFormat="dd/MM/yyyy"
|
||||
Dim checkdate As String = DateTime.Date(DateTime.Now)
|
||||
Dim checktime As String = DateTime.Time(DateTime.Now)
|
||||
If et_km.Text <> "" Then
|
||||
If rb_docno1.Checked Or rb_docsi1.Checked Then
|
||||
If rb_docno2.Checked Or rb_docsi2.Checked Then
|
||||
If rb_docno3.Checked Or rb_docsi3.Checked Then
|
||||
If rb_docno4.Checked Or rb_docsi4.Checked Then
|
||||
If rb_docno5.Checked Or rb_docsi5.Checked Then
|
||||
If rb_docno6.Checked Or rb_docsi6.Checked Then
|
||||
If rb_docno7.Checked Or rb_docsi7.Checked Then
|
||||
If rb_docno8.Checked Or rb_docsi8.Checked Then
|
||||
If rb_docno9.Checked Or rb_docsi9.Checked Then
|
||||
If (rb_docno9.Checked And et_carroceria.Text <> "") Or (rb_docsi9.Checked And et_carroceria.Text = "") Then
|
||||
If rb_docno11.Checked Or rb_docsi11.Checked Then
|
||||
If (rb_docno11.Checked And et_luces.Text <> "") Or (rb_docsi11.Checked And et_luces.Text = "") Then
|
||||
If rb_docno13.Checked Or rb_docsi13.Checked Then
|
||||
If (rb_docno13.Checked And et_placas.Text <> "") Or (rb_docsi13.Checked And et_placas.Text = "") Then
|
||||
If rb_docno15.Checked Or rb_docsi15.Checked Then
|
||||
If rb_docno16.Checked Or rb_docsi16.Checked Then
|
||||
If rb_docno17.Checked Or rb_docsi17.Checked Then
|
||||
If rb_docno18.Checked Or rb_docsi18.Checked Then
|
||||
If rb_docno19.Checked Or rb_docsi19.Checked Then
|
||||
If et_liquidos.Text <> "" And (rb_docno15.Checked Or rb_docno16.Checked Or rb_docno17.Checked Or rb_docno18.Checked Or rb_docno19.Checked) Or et_liquidos.Text = "" And (rb_docsi15.Checked And rb_docsi16.Checked And rb_docsi17.Checked And rb_docsi18.Checked And rb_docsi19.Checked) Then
|
||||
If nombrefoto <> "0" And nombrefoto1 <> "0" And nombrefoto2 <> "0" And nombrefoto3 <> "0" Then
|
||||
c = B4XPages.MainPage.skmt.ExecQuery("SELECT RUTAA FROM RUTAA")
|
||||
c.Position = 0
|
||||
Private rutacheck As String = c.GetString("RUTAA")
|
||||
c.Close
|
||||
B4XPages.MainPage.skmt.ExecNonQuery("DELETE FROM CHECKLIST2")
|
||||
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO CHECKLIST2(USUARIO, PLACA, FECHA_CAPTURA, TARJETA_CIRCULACION , POLIZA_SEGURO, LICENCIA_CONDUCIR, LIMPIA_EXTERNA, LIMPIA_INTERNA, TRIANGULO, GATO, LLANTA_REFACCION, CARROCERIA, CARROCERIA_COMENTARIOS, LUCES, LUCES_COMENTARIOS, CONDICION_PLACAS, CONDICION_PLACAS_COMENTARIOS, CONDICION_LLANTAS_DEL_DER, CONDICION_LLANTAS_DEL_IZQ, CONDICION_LLANTAS_TRASERA_DER, CONDICION_LLANTAS_TRASERA_IZQ, ACEITE, ANTICONGELANTE, FRENOS, AIRE, FUGAS, COMETARIOS_FUGAS, FOTO1, FOTO12, FOTO3, FOTO4, KILIMETRAJE,RUTA) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)",Array As Object(B4XPages.MainPage.usuario,l_placa.Text,checkdate&" "&checktime,p1,p2,p3,p4,p5,p6,p7,p8,p9,et_carroceria.Text,p11,et_luces.Text,p13,et_placas.Text,itemselect1,itemselect2,itemselect3,itemselect4,p15,p16,p17,p18,p19,et_liquidos.Text,File.ReadBytes(File.DirInternal & Dir & Dir2, nombrefoto),File.ReadBytes(File.DirInternal & Dir & Dir2, nombrefoto1),File.ReadBytes(File.DirInternal & Dir & Dir2, nombrefoto2),File.ReadBytes(File.DirInternal & Dir & Dir2, nombrefoto3), et_km.Text, rutacheck))
|
||||
|
||||
|
||||
mandaPendientes
|
||||
|
||||
rb_docno1.Checked = False
|
||||
rb_docno2.Checked = False
|
||||
rb_docno3.Checked = False
|
||||
rb_docno4.Checked = False
|
||||
rb_docno5.Checked = False
|
||||
rb_docno6.Checked = False
|
||||
rb_docno7.Checked = False
|
||||
rb_docno8.Checked = False
|
||||
rb_docno9.Checked = False
|
||||
rb_docno11.Checked = False
|
||||
rb_docno13.Checked = False
|
||||
rb_docno15.Checked = False
|
||||
rb_docno16.Checked = False
|
||||
rb_docno17.Checked = False
|
||||
rb_docno18.Checked = False
|
||||
rb_docno19.Checked = False
|
||||
|
||||
rb_docsi1.Checked = False
|
||||
rb_docsi2.Checked = False
|
||||
rb_docsi3.Checked = False
|
||||
rb_docsi4.Checked = False
|
||||
rb_docsi5.Checked = False
|
||||
rb_docsi6.Checked = False
|
||||
rb_docsi7.Checked = False
|
||||
rb_docsi8.Checked = False
|
||||
rb_docsi9.Checked = False
|
||||
rb_docsi11.Checked = False
|
||||
rb_docsi13.Checked = False
|
||||
rb_docsi15.Checked = False
|
||||
rb_docsi16.Checked = False
|
||||
rb_docsi17.Checked = False
|
||||
rb_docsi18.Checked = False
|
||||
rb_docsi19.Checked = False
|
||||
|
||||
cb_deratras.SelectedIndex = 0
|
||||
cb_derdel.SelectedIndex = 0
|
||||
cb_izqatras.SelectedIndex = 0
|
||||
cb_izqdel.SelectedIndex = 0
|
||||
|
||||
et_carroceria.Text = ""
|
||||
et_liquidos.Text = ""
|
||||
et_luces.Text = ""
|
||||
et_placas.Text = ""
|
||||
|
||||
ImageView1.Bitmap = LoadBitmap(File.DirAssets,"frontal1.png")
|
||||
ImageView2.Bitmap = LoadBitmap(File.DirAssets,"derecha1.png")
|
||||
ImageView3.Bitmap = LoadBitmap(File.DirAssets,"atras1.png")
|
||||
ImageView4.Bitmap = LoadBitmap(File.DirAssets,"izquierda1.png")
|
||||
|
||||
nombrefoto = "0"
|
||||
nombrefoto1 = "0"
|
||||
nombrefoto2 = "0"
|
||||
nombrefoto3 = "0"
|
||||
|
||||
B4XPages.ShowPage("Principal")
|
||||
Else
|
||||
MsgboxAsync("Favor de tomar todas las fotos","Atención")
|
||||
End If
|
||||
Else
|
||||
MsgboxAsync("Especifica Fugas o detallaes en los liquidos","Atención")
|
||||
End If
|
||||
Else
|
||||
MsgboxAsync("Seleeciona una opción en Niveles de Liquidos y aire de Fugas","Atención")
|
||||
End If
|
||||
Else
|
||||
MsgboxAsync("Seleeciona una opción en Niveles de Liquidos y aire de Aire","Atención")
|
||||
End If
|
||||
Else
|
||||
MsgboxAsync("Seleeciona una opción en Niveles de Liquidos y aire de Frenos","Atención")
|
||||
End If
|
||||
Else
|
||||
MsgboxAsync("Seleeciona una opción en Niveles de Liquidos y aire de Anticongelante","Atención")
|
||||
End If
|
||||
Else
|
||||
MsgboxAsync("Seleeciona una opción en Niveles de Liquidos y aire de Aceite","Atención")
|
||||
End If
|
||||
Else
|
||||
MsgboxAsync("Especifica daños en las condiciones de placas","Atención")
|
||||
End If
|
||||
Else
|
||||
MsgboxAsync("Seleeciona una opción en Conciciones de placas de Correcto","Atención")
|
||||
End If
|
||||
Else
|
||||
MsgboxAsync("Especifica daños en las luces","Atención")
|
||||
End If
|
||||
Else
|
||||
MsgboxAsync("Seleeciona una opción en Funcionamiento de luces de Correcto","Atención")
|
||||
End If
|
||||
Else
|
||||
MsgboxAsync("Especifica daños en la carrocería","Atención")
|
||||
End If
|
||||
Else
|
||||
MsgboxAsync("Seleeciona una opción en Carrocería de Buen estado","Atención")
|
||||
End If
|
||||
Else
|
||||
MsgboxAsync("Seleeciona una opción en Seguridad y refación de Llanta de refacción","Atención")
|
||||
End If
|
||||
Else
|
||||
MsgboxAsync("Seleeciona una opción en Seguridad y refación de gato","Atención")
|
||||
End If
|
||||
Else
|
||||
MsgboxAsync("Seleeciona una opción en Seguridad y refación de Triagulo reflectante","Atención")
|
||||
End If
|
||||
Else
|
||||
MsgboxAsync("Seleeciona una opción en Limpieza unidad interna","Atención")
|
||||
End If
|
||||
Else
|
||||
MsgboxAsync("Seleeciona una opción en Limpieza unidad externa","Atención")
|
||||
End If
|
||||
Else
|
||||
MsgboxAsync("Seleeciona una opción en Documentación viegnte de Licencia de conducir","Atención")
|
||||
End If
|
||||
Else
|
||||
MsgboxAsync("Seleeciona una opción en Documentación viegnte de Póliza de seguro","Atención")
|
||||
End If
|
||||
Else
|
||||
MsgboxAsync("Seleeciona una opción en Documentación viegnte de tarjeta de circulación","Atención")
|
||||
End If
|
||||
Else
|
||||
MsgboxAsync("Captura el kilometraje inicial.","Atención")
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
Sub mandaPendientes
|
||||
Log("MandaPendientes")
|
||||
'PEDIDO (Pendientes)
|
||||
c=B4XPages.MainPage.skmt.ExecQuery("SELECT USUARIO, PLACA, FECHA_CAPTURA, TARJETA_CIRCULACION , POLIZA_SEGURO, LICENCIA_CONDUCIR, LIMPIA_EXTERNA, LIMPIA_INTERNA, TRIANGULO, GATO, LLANTA_REFACCION, CARROCERIA, CARROCERIA_COMENTARIOS, LUCES, LUCES_COMENTARIOS, CONDICION_PLACAS, CONDICION_PLACAS_COMENTARIOS, CONDICION_LLANTAS_DEL_DER, CONDICION_LLANTAS_DEL_IZQ, CONDICION_LLANTAS_TRASERA_DER, CONDICION_LLANTAS_TRASERA_IZQ, ACEITE, ANTICONGELANTE, FRENOS, AIRE, FUGAS, COMETARIOS_FUGAS, FOTO1, FOTO12, FOTO3, FOTO4 FROM CHECKLIST2")
|
||||
Log($"Pedido PENDIENTE: ${c.RowCount}"$)
|
||||
If c.RowCount > 0 Then
|
||||
For i = 0 To c.RowCount -1
|
||||
c.Position=i
|
||||
Dim cmd As DBCommand
|
||||
|
||||
foto1 = c.GetBlob("FOTO1")
|
||||
foto2 = c.GetBlob("FOTO12")
|
||||
foto3 = c.GetBlob("FOTO3")
|
||||
foto4 = c.GetBlob("FOTO4")
|
||||
|
||||
cmd.Initialize
|
||||
cmd.Name = "insert_CHECK_GUNA"
|
||||
cmd.Parameters = Array As Object(C.GetString("USUARIO"),C.GetString("PLACA"),C.GetString("FECHA_CAPTURA"),C.GetString("TARJETA_CIRCULACION"),C.GetString("POLIZA_SEGURO"),C.GetString("LICENCIA_CONDUCIR"),C.GetString("LIMPIA_EXTERNA"),C.GetString("LIMPIA_INTERNA"),C.GetString("TRIANGULO"),C.GetString("GATO"), C.GetString("LLANTA_REFACCION"),C.GetString("CARROCERIA"),c.GetString("CARROCERIA_COMENTARIOS"),c.GetString("LUCES"),c.GetString("LUCES_COMENTARIOS"),c.GetString("CONDICION_PLACAS"),c.GetString("CONDICION_PLACAS_COMENTARIOS"))'c.GetString("CONDICION_PLACAS_INCORRECTO"),c.GetString("CONDICION_PLACAS_COMENTARIOS"),c.GetString("CONDICION_LLANTAS_DEL_DER"),c.GetString("CONDICION_LLANTAS_DEL_IZQ"),c.GetString("CONDICION_LLANTAS_TRASERA_DER"),c.GetString("CONDICION_LLANTAS_TRASERA_IZQ"),c.GetString("ACEITE"),c.GetString("ANTICONGELANTE"),c.GetString("FRENOS"),c.GetString("AIRE"),c.GetString("FUGAS"),c.GetString("COMETARIOS_FUGAS"),foto1,foto2,foto3,foto4,B4XPages.MainPage.principal.ALMACEN)
|
||||
reqManager.ExecuteCommand(cmd , $"ins_checkliPendientes_head_${c.GetString("USUARIO")}"$)
|
||||
Next
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Sub JobDone(Job As HttpJob)
|
||||
Log("JOBDONE CLIENTE . " & Job.Success)
|
||||
If Job.Success = False Then
|
||||
' ToastMessageShow("Error: " & Job.ErrorMessage, True)
|
||||
' LogColor("JobDone Error: '" & reqManager.HandleJob(Job).tag, Colors.red) 'Mod por CHV - 211027
|
||||
LogColor("Error: " & Job.tag & " : " & Job.ErrorMessage, Colors.Blue)
|
||||
Else
|
||||
LogColor("JobDone: '" & reqManager.HandleJob(Job).tag & "' - Registros: " & reqManager.HandleJob(Job).Rows.Size, Colors.Green)
|
||||
If Job.JobName = "DBRequest" Then
|
||||
Dim resultado As DBResult = reqManager.HandleJob(Job)
|
||||
If resultado.Tag.As(String).IndexOf("ins_checkliPendientes_head_") > -1 Then
|
||||
Private cliente As String= resultado.Tag
|
||||
cliente = cliente.SubString(cliente.IndexOf("_")+24)
|
||||
Log($"Cliente1:${cliente}"$)
|
||||
|
||||
c=B4XPages.MainPage.skmt.ExecQuery("SELECT USUARIO, PLACA, FECHA_CAPTURA, TARJETA_CIRCULACION , POLIZA_SEGURO, LICENCIA_CONDUCIR, LIMPIA_EXTERNA, LIMPIA_INTERNA, TRIANGULO, GATO, LLANTA_REFACCION, CARROCERIA, CARROCERIA_COMENTARIOS, LUCES, LUCES_COMENTARIOS, CONDICION_PLACAS, CONDICION_PLACAS_COMENTARIOS, CONDICION_LLANTAS_DEL_DER, CONDICION_LLANTAS_DEL_IZQ, CONDICION_LLANTAS_TRASERA_DER, CONDICION_LLANTAS_TRASERA_IZQ, ACEITE, ANTICONGELANTE, FRENOS, AIRE, FUGAS, COMETARIOS_FUGAS, FOTO1, FOTO12, FOTO3, FOTO4, KILIMETRAJE, RUTA FROM CHECKLIST2")
|
||||
Log($"Pedido PENDIENTE: ${c.RowCount}"$)
|
||||
If c.RowCount > 0 Then
|
||||
For i = 0 To c.RowCount -1
|
||||
c.Position=i
|
||||
Dim cmd As DBCommand
|
||||
|
||||
foto1 = c.GetBlob("FOTO1")
|
||||
foto2 = c.GetBlob("FOTO12")
|
||||
foto3 = c.GetBlob("FOTO3")
|
||||
foto4 = c.GetBlob("FOTO4")
|
||||
|
||||
cmd.Initialize
|
||||
cmd.Name = "update_CHECK_GUNA"
|
||||
cmd.Parameters = Array As Object(c.GetString("CONDICION_LLANTAS_DEL_DER"),c.GetString("CONDICION_LLANTAS_DEL_IZQ"),c.GetString("CONDICION_LLANTAS_TRASERA_DER"),c.GetString("CONDICION_LLANTAS_TRASERA_IZQ"),c.GetString("ACEITE"),c.GetString("ANTICONGELANTE"),c.GetString("FRENOS"),c.GetString("AIRE"),c.GetString("FUGAS"),c.GetString("COMETARIOS_FUGAS"),foto1,foto2,foto3,foto4,Subs.traeAlmacen, C.GetString("KILIMETRAJE"),C.GetString("RUTA"), C.GetString("USUARIO"),C.GetString("PLACA"),C.GetString("FECHA_CAPTURA"))
|
||||
reqManager.ExecuteCommand(cmd , "update")
|
||||
Next
|
||||
End If
|
||||
|
||||
For Each records() As Object In resultado.Rows
|
||||
For Each k As String In resultado.Columns.Keys
|
||||
Log(resultado.Tag & ": " & k & ": " & records(resultado.Columns.Get(k)))
|
||||
Next
|
||||
Next
|
||||
B4XPages.MainPage.skmt.ExecNonQuery("UPDATE CHECADO_CHECK set CHECADO = 1 ")
|
||||
B4XPages.MainPage.principal.checachek
|
||||
End If
|
||||
End If
|
||||
|
||||
Job.Release
|
||||
End If
|
||||
|
||||
End Sub
|
||||
@@ -39,6 +39,12 @@ Sub Class_Globals
|
||||
Private et_ruta As EditText
|
||||
Private l_ruta1 As Label
|
||||
Private l_almacen As Label
|
||||
Dim b As Cursor
|
||||
Private b_check As Button
|
||||
Dim reqManager As DBRequestManager
|
||||
Dim cmd As DBCommand
|
||||
Dim c As Cursor
|
||||
Dim RES As String
|
||||
End Sub
|
||||
|
||||
'You can add more parameters here.
|
||||
@@ -55,6 +61,8 @@ Private Sub B4XPage_Created (Root1 As B4XView)
|
||||
End Sub
|
||||
|
||||
Sub B4XPage_Appear
|
||||
reqManager.Initialize(Me, Subs.traeDBReqServer)
|
||||
b_check.visible = True
|
||||
Subs.centraPanel(p_botones, Root.Width)
|
||||
b_verCartaPorte.Enabled = False
|
||||
If File.Exists(File.DirInternal,"cartaPorte.pdf") Then
|
||||
@@ -66,9 +74,19 @@ Sub B4XPage_Appear
|
||||
End If
|
||||
End If
|
||||
b_descargaCartaPorte.Enabled = False
|
||||
et_ruta.Text = "131"
|
||||
' et_ruta.Text = "131"
|
||||
l_almacen.Text= Subs.traeAlmacen
|
||||
et_ruta.RequestFocus
|
||||
|
||||
c = B4XPages.MainPage.skmt.ExecQuery("SELECT * FROM CHECADO_CHECK")
|
||||
|
||||
If c.RowCount = 0 Then
|
||||
b_check.Visible = False
|
||||
|
||||
Else
|
||||
b_check.Visible = True
|
||||
End If
|
||||
checachek
|
||||
End Sub
|
||||
|
||||
Sub B4XPage_CloseRequest As ResumableSub
|
||||
@@ -121,6 +139,17 @@ Private Sub b_descargaCartaPorte_Click
|
||||
' VALIDAR_INFO
|
||||
End If
|
||||
End If
|
||||
|
||||
cmd.Initialize
|
||||
cmd.Name = "select_cat_placa_guna"
|
||||
cmd.Parameters = Array As Object(Subs.traeAlmacen,et_ruta.Text)
|
||||
reqManager.ExecuteQuery(cmd , 0, "placa")
|
||||
|
||||
' cmd.Initialize
|
||||
' cmd.Name = "select_cat_kmt_info_guna"
|
||||
' cmd.Parameters = Array As Object(almacen,et_ruta.Text)
|
||||
' reqManager.ExecuteQuery(cmd , 0, "kmt_datos")
|
||||
|
||||
End Sub
|
||||
|
||||
'Descarga del servidor el PDF de la carta porte del dia de hoy y la
|
||||
@@ -134,7 +163,7 @@ Sub descargaCartaPorte
|
||||
Private rutaX As String = et_ruta.text 'rutaPreventa
|
||||
Private almacenX As String = Subs.traeAlmacen
|
||||
'#################################
|
||||
Private almacenX As String = "2" 'almacen
|
||||
' Private almacenX As String = "2" 'almacen
|
||||
'#################################
|
||||
|
||||
Private cartaPortePDF As String = $"CPORTE${almacenX}_${rutaX}.pdf"$
|
||||
@@ -144,7 +173,8 @@ Sub descargaCartaPorte
|
||||
Private pdfServer As String = "keymon.lat"
|
||||
If DBReqServer.IndexOf("10.0.0.205") > -1 Then pdfServer = "10.0.0.205"
|
||||
' Log(pdfServer)
|
||||
pdfURL = $"https://${pdfServer}/CartaPorteKelloggs/CartaPorteMovil${DateTime.Date(DateTime.now)}/${cartaPortePDF}"$
|
||||
Log(DateTime.Date(DateTime.now))
|
||||
pdfURL = $"https://${pdfServer}/CartaPorteGuna/CartaPorteMovil${DateTime.Date(DateTime.now)}/${cartaPortePDF}"$
|
||||
LogColor(pdfURL,Colors.Red)
|
||||
' Log("Iniciamos wait for descargaCartaPorteyProgreso")
|
||||
Wait For (descargaCartaPorteyProgreso(pdfURL)) Complete (Success As Boolean)
|
||||
@@ -220,9 +250,13 @@ Sub descargaCartaPorteyProgreso (urlx As String) As ResumableSub
|
||||
ToastMessageShow("Carta Porte descargada exitosamente!!", False)
|
||||
b_verCartaPorte.Enabled = True
|
||||
|
||||
|
||||
' AQUI VA EL CODIGO DE CARTA PORTE DSCARGADA
|
||||
|
||||
' AQUI VA EL CODIGO DE CARTA PORTE DESCARGADA!!!!!
|
||||
B4XPages.MainPage.skmt.ExecNonQuery("DELETE FROM RUTAA")
|
||||
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO RUTAA(RUTAA) VALUES (?)", Array As Object (et_ruta.TEXT))
|
||||
cmd.Initialize
|
||||
cmd.Name = "insert_checkcp_GUNA"
|
||||
cmd.Parameters = Array As Object(Subs.traeAlmacen,et_ruta.Text,B4XPages.MainPage.usuario)
|
||||
reqManager.ExecuteCommand(cmd , $"ins_checkcpPendientes_head_${usuario}"$)
|
||||
|
||||
Subs.panelOculto(p_downloadPDF)
|
||||
' p_progress1.Visible = False
|
||||
@@ -349,4 +383,105 @@ Private Sub et_ruta_TextChanged (Old As String, New As String)
|
||||
Else
|
||||
b_descargaCartaPorte.Enabled = False
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Sub checachek
|
||||
b = B4XPages.MainPage.skmt.ExecQuery("SELECT CHECADO FROM CHECADO_CHECK")
|
||||
If b.RowCount > 0 Then
|
||||
b.Position = 0
|
||||
If b.GetString("CHECADO") = 0 Then
|
||||
b_check.Visible = True
|
||||
Else If b.GetString("CHECADO") = 1 Then
|
||||
b_check.Visible =False
|
||||
End If
|
||||
b.Close
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub b_check_Click
|
||||
B4XPages.ShowPage("checklist")
|
||||
End Sub
|
||||
|
||||
Sub et_ruta_EnterPressed
|
||||
If et_ruta.Text = "FIN DIA" Then
|
||||
RES = Msgbox2("Seguro que desea hacer el cierre todos los datos se borraran?","Cierre", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore
|
||||
If RES = DialogResponse.POSITIVE Then
|
||||
et_ruta.Text = ""
|
||||
|
||||
B4XPages.MainPage.skmt.ExecNonQuery("delete from CHECADO_CHECK")
|
||||
B4XPages.MainPage.skmt.ExecNonQuery("delete from CHECKLIST2")
|
||||
B4XPages.MainPage.skmt.ExecNonQuery("delete from PLACAS")
|
||||
' Starter.skmt.ExecNonQuery("delete from kmt_info")
|
||||
|
||||
B4XPages.MainPage.skmt.ExecNonQuery("DELETE FROM RUTAA")
|
||||
B4XPage_Appear
|
||||
End If
|
||||
' Starter.waypointsOrdered.Clear
|
||||
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Sub JobDone(Job As HttpJob)
|
||||
Log("JOBDONE CLIENTE . " & Job.Success)
|
||||
If Job.Success = False Then
|
||||
' ToastMessageShow("Error: " & Job.ErrorMessage, True)
|
||||
' LogColor("JobDone Error: '" & reqManager.HandleJob(Job).tag, Colors.red) 'Mod por CHV - 211027
|
||||
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 = "placa" Then 'query tag
|
||||
B4XPages.MainPage.skmt.ExecNonQuery("delete from PLACAS")
|
||||
For Each records() As Object In RESULT.Rows
|
||||
Dim placa As String = records(RESULT.Columns.Get("CAT_VE_PLACAS"))
|
||||
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO PLACAS(PLACA) VALUES (?)", Array As Object (placa))
|
||||
B4XPage_Appear
|
||||
Next
|
||||
End If
|
||||
End If
|
||||
|
||||
' If Job.JobName = "DBRequest" Then
|
||||
' Dim RESULT As DBResult = reqManager.HandleJob(Job)
|
||||
' If RESULT.Tag = "kmt_datos" Then 'query tag
|
||||
' For Each records() As Object In RESULT.Rows
|
||||
'
|
||||
' Dim CAT_CL_CODIGO As String = records(RESULT.Columns.Get("CAT_VE_PLACAS"))
|
||||
' Dim CAT_CL_RUTA As String = records(RESULT.Columns.Get("CAT_VE_PLACAS"))
|
||||
' Dim CAT_CL_DIAS_VISITA As String = records(RESULT.Columns.Get("CAT_VE_PLACAS"))
|
||||
' Dim CAT_CL_NOMBRE As String = records(RESULT.Columns.Get("CAT_VE_PLACAS"))
|
||||
' Dim CAT_CL_ATIENDE1 As String = records(RESULT.Columns.Get("CAT_VE_PLACAS"))
|
||||
' Dim CAT_CL_ATIENTE2 As String = records(RESULT.Columns.Get("CAT_VE_PLACAS"))
|
||||
' Dim CAT_CL_TELEFONO As String = records(RESULT.Columns.Get("CAT_VE_PLACAS"))
|
||||
' Dim CAT_CL_EMAIL As String = records(RESULT.Columns.Get("CAT_VE_PLACAS"))
|
||||
' Dim CAT_CL_CALLE As String = records(RESULT.Columns.Get("CAT_VE_PLACAS"))
|
||||
' Dim CAT_CL_NOEXT As String = records(RESULT.Columns.Get("CAT_VE_PLACAS"))
|
||||
' Dim CAT_CL_NOINT As String = records(RESULT.Columns.Get("CAT_VE_PLACAS"))
|
||||
' Dim CAT_CL_CALLE1 As String = records(RESULT.Columns.Get("CAT_VE_PLACAS"))
|
||||
' Dim CAT_CL_CALLE2 As String = records(RESULT.Columns.Get("CAT_VE_PLACAS"))
|
||||
' Dim CAT_CL_COLONIA As String = records(RESULT.Columns.Get("CAT_VE_PLACAS"))
|
||||
' Dim CAT_CL_MUNI As String = records(RESULT.Columns.Get("CAT_VE_PLACAS"))
|
||||
' Dim CAT_CL_EDO As String = records(RESULT.Columns.Get("CAT_VE_PLACAS"))
|
||||
' Dim CAT_CL_CP As String = records(RESULT.Columns.Get("CAT_VE_PLACAS"))
|
||||
' Dim CAT_CL_LONG As String = records(RESULT.Columns.Get("CAT_VE_PLACAS"))
|
||||
' Dim CAT_CL_LAT As String = records(RESULT.Columns.Get("CAT_VE_PLACAS"))
|
||||
' Dim CAT_CL_MTOCOMPRA As String = records(RESULT.Columns.Get("CAT_VE_PLACAS"))
|
||||
' Dim CAT_CL_BCREDITO As String = records(RESULT.Columns.Get("CAT_VE_PLACAS"))
|
||||
' Dim CAT_CL_LIMITECREDITO As String = records(RESULT.Columns.Get("CAT_VE_PLACAS"))
|
||||
' Dim CAT_CL_SALDODISPONIBLE As String = records(RESULT.Columns.Get("CAT_VE_PLACAS"))
|
||||
' B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO kmt_info(PLACA) VALUES (?)", Array As Object (placa))
|
||||
' Next
|
||||
' End If
|
||||
' End If
|
||||
|
||||
c = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS FROM CHECADO_CHECK")
|
||||
c.Position = 0
|
||||
If c.GetString("CUANTOS") = 0 Then
|
||||
B4XPages.MainPage.skmt.ExecNonQuery2("insert into CHECADO_CHECK (CHECADO) VALUES(?)", Array As String("0"))
|
||||
|
||||
Else If c.GetString("CUANTOS") = 1 Then
|
||||
|
||||
End If
|
||||
|
||||
End If
|
||||
End Sub
|
||||
290
B4A/CameraExClass.bas
Normal file
@@ -0,0 +1,290 @@
|
||||
B4A=true
|
||||
Group=Default Group
|
||||
ModulesStructureVersion=1
|
||||
Type=Class
|
||||
Version=7.01
|
||||
@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
|
||||
|
||||
|
||||
|
||||
BIN
B4A/Files/alert2.png
Normal file
|
After Width: | Height: | Size: 632 B |
BIN
B4A/Files/atras.png
Normal file
|
After Width: | Height: | Size: 3.1 KiB |
BIN
B4A/Files/atras1.png
Normal file
|
After Width: | Height: | Size: 6.2 KiB |
BIN
B4A/Files/check2.bal
Normal file
BIN
B4A/Files/checklist.bal
Normal file
BIN
B4A/Files/derecha.png
Normal file
|
After Width: | Height: | Size: 8.4 KiB |
BIN
B4A/Files/derecha1.png
Normal file
|
After Width: | Height: | Size: 5.8 KiB |
BIN
B4A/Files/frintal.png
Normal file
|
After Width: | Height: | Size: 3.2 KiB |
BIN
B4A/Files/frontal1.gif
Normal file
|
After Width: | Height: | Size: 4.9 KiB |
BIN
B4A/Files/frontal1.png
Normal file
|
After Width: | Height: | Size: 7.3 KiB |
BIN
B4A/Files/izquierda.png
Normal file
|
After Width: | Height: | Size: 8.4 KiB |
BIN
B4A/Files/izquierda1.png
Normal file
|
After Width: | Height: | Size: 6.3 KiB |
@@ -1,44 +1,77 @@
|
||||
Build1=Default,gunaCartaPorte.keymon.lat,HU2_PUBLIC
|
||||
File1=engraneactual.png
|
||||
File2=kmt.db
|
||||
File3=logo guna_192x192.png
|
||||
File4=logo-guna-18.png
|
||||
File5=MainPage.bal
|
||||
File6=mainpage0.bal
|
||||
File7=principal.bal
|
||||
File1=alert2.png
|
||||
File10=frontal1.gif
|
||||
File11=frontal1.png
|
||||
File12=izquierda.png
|
||||
File13=izquierda1.png
|
||||
File14=kmt.db
|
||||
File15=logo guna_192x192.png
|
||||
File16=logo-guna-18.png
|
||||
File17=MainPage.bal
|
||||
File18=mainpage0.bal
|
||||
File19=principal.bal
|
||||
File2=atras.png
|
||||
File3=atras1.png
|
||||
File4=check2.bal
|
||||
File5=checklist.bal
|
||||
File6=derecha.png
|
||||
File7=derecha1.png
|
||||
File8=engraneactual.png
|
||||
File9=frintal.png
|
||||
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
|
||||
FileGroup3=Default Group
|
||||
FileGroup4=Default Group
|
||||
FileGroup5=Default Group
|
||||
FileGroup6=Default Group
|
||||
FileGroup7=Default Group
|
||||
FileGroup8=Default Group
|
||||
FileGroup9=Default Group
|
||||
Group=Default Group
|
||||
Library1=appupdating
|
||||
Library10=randomaccessfile
|
||||
Library11=sql
|
||||
Library12=xcustomlistview
|
||||
Library13=xui
|
||||
Library14=xui views
|
||||
Library15=runtimepermissions
|
||||
Library2=b4xpages
|
||||
Library3=byteconverter
|
||||
Library4=compressstrings
|
||||
Library5=core
|
||||
Library6=fileprovider
|
||||
Library7=pdfium
|
||||
Library8=randomaccessfile
|
||||
Library9=sql
|
||||
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: https://www.b4x.com/forum/showthread.php?p=78136~\n~AddManifestText(~\n~<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="33"/>~\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~CreateResourceFromFile(Macro, Themes.LightTheme)~\n~'End of default text.~\n~SetApplicationAttribute(android:usesCleartextTraffic, "true")
|
||||
Library4=camera
|
||||
Library5=compressstrings
|
||||
Library6=core
|
||||
Library7=fileprovider
|
||||
Library8=ime
|
||||
Library9=pdfium
|
||||
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: https://www.b4x.com/forum/showthread.php?p=78136~\n~AddManifestText(~\n~<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="33"/>~\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~CreateResourceFromFile(Macro, Themes.LightTheme)~\n~'End of default text.~\n~SetApplicationAttribute(android:usesCleartextTraffic, "true")~\n~AddManifestText(<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" android:maxSdkVersion="33" />)~\n~AddPermission(android.permission.ACCESS_BACKGROUND_LOCATION)~\n~'AddManifestText(<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="23" />)~\n~'AddManifestText(<uses-permission android:name="android.permission.READ_PHONE_STATE" android:maxSdkVersion="19" />)~\n~'AddManifestText(<uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE" android:maxSdkVersion="19" />) 'in order to access the device non-resettable identifiers such as IMEI and serial number.~\n~AddManifestText(<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />)~\n~'/////////////// FLP y FBMessageing MOD Inicia /////////////////////~\n~'CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)~\n~'CreateResourceFromFile(Macro, FirebaseAnalytics.Firebase)~\n~'CreateResourceFromFile(Macro, FirebaseAnalytics.FirebaseAnalytics)~\n~'CreateResourceFromFile(Macro, FirebaseNotifications.FirebaseNotifications)~\n~'SetServiceAttribute(Tracker, android:foregroundServiceType, "location")~\n~'/////////////// FLP y FBMessageing MOD Termina /////////////////////~\n~~\n~'Si al cargar un mapa de google mande este error "java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/http/ProtocolVersion". agregar la siguiente linea:~\n~AddApplicationText(<uses-library android:name="org.apache.http.legacy" android:required="false"/>)~\n~~\n~'/////////////////////// App Updating ////////////////~\n~ AddManifestText(<uses-permission~\n~ android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="33" />~\n~ )~\n~ AddApplicationText(~\n~ <provider~\n~ android:name="android.support.v4.content.FileProvider"~\n~ android:authorities="$PACKAGE$.provider"~\n~ android:exported="false"~\n~ android:grantUriPermissions="true">~\n~ <meta-data~\n~ android:name="android.support.FILE_PROVIDER_PATHS"~\n~ android:resource="@xml/provider_paths"/>~\n~ </provider>~\n~ )~\n~ CreateResource(xml, provider_paths,~\n~ <paths>~\n~ <external-files-path name="name" path="" />~\n~ <files-path name="name" path="" />~\n~ <files-path name="name" path="shared" />~\n~ </paths>~\n~ )~\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~~\n~AddPermission(android.permission.REQUEST_INSTALL_PACKAGES)~\n~AddPermission(android.permission.INTERNET)~\n~AddPermission(android.permission.INSTALL_PACKAGES)~\n~AddPermission(android.permission.READ_EXTERNAL_STORAGE)~\n~AddPermission(android.permission.WRITE_EXTERNAL_STORAGE)~\n~AddPermission(android.permission.READ_PHONE_STATE)~\n~AddPermission(android.permission.WAKE_LOCK)~\n~CreateResourceFromFile(Macro, JhsIceZxing1.CaturePortrait)~\n~ ~\n~SetApplicationAttribute(android:largeHeap, "true")~\n~~\n~AddManifestText(<queries>~\n~ <package android:name="com.google.android.apps.maps" />~\n~ </queries>)~\n~ AddPermission(android.permission.MANAGE_EXTERNAL_STORAGE)~\n~ SetApplicationAttribute(android:allowBackup, "false")~\n~ ~\n~ ~\n~ AddManifestText(<uses-permission~\n~ android:name="android.permission.WRITE_EXTERNAL_STORAGE"~\n~ android:maxSdkVersion="33" />~\n~ )~\n~ AddPermission(android.permission.READ_EXTERNAL_STORAGE)
|
||||
Module1=B4XMainPage
|
||||
Module2=C_Principal
|
||||
Module3=C_updateAvailable
|
||||
Module4=DBRequestManager
|
||||
Module5=Starter
|
||||
Module6=Subs
|
||||
NumberOfFiles=7
|
||||
NumberOfLibraries=9
|
||||
NumberOfModules=6
|
||||
Module2=C_Cheklist
|
||||
Module3=C_Principal
|
||||
Module4=C_updateAvailable
|
||||
Module5=CameraExClass
|
||||
Module6=DBRequestManager
|
||||
Module7=ManageExternalStorage
|
||||
Module8=Starter
|
||||
Module9=Subs
|
||||
NumberOfFiles=19
|
||||
NumberOfLibraries=15
|
||||
NumberOfModules=9
|
||||
Version=12.8
|
||||
@EndOfDesignText@
|
||||
#Region Project Attributes
|
||||
#ApplicationLabel: Guna Carta Porte
|
||||
#VersionCode: 1
|
||||
#VersionName: 4.05.28
|
||||
#VersionName: 4.06.01
|
||||
'SupportedOrientations possible values: unspecified, landscape or portrait.
|
||||
#SupportedOrientations: portrait
|
||||
#CanInstallToExternalStorage: False
|
||||
|
||||
@@ -5,6 +5,9 @@ ModuleBookmarks3=
|
||||
ModuleBookmarks4=
|
||||
ModuleBookmarks5=
|
||||
ModuleBookmarks6=
|
||||
ModuleBookmarks7=
|
||||
ModuleBookmarks8=
|
||||
ModuleBookmarks9=
|
||||
ModuleBreakpoints0=
|
||||
ModuleBreakpoints1=
|
||||
ModuleBreakpoints2=
|
||||
@@ -12,13 +15,19 @@ ModuleBreakpoints3=
|
||||
ModuleBreakpoints4=
|
||||
ModuleBreakpoints5=
|
||||
ModuleBreakpoints6=
|
||||
ModuleBreakpoints7=
|
||||
ModuleBreakpoints8=
|
||||
ModuleBreakpoints9=
|
||||
ModuleClosedNodes0=
|
||||
ModuleClosedNodes1=
|
||||
ModuleClosedNodes2=5,6,9,10,11,12,13,14,15,16,17,18,19,20,21,22
|
||||
ModuleClosedNodes3=
|
||||
ModuleClosedNodes2=
|
||||
ModuleClosedNodes3=5,9,10,11,12,13,14,15,16,17,18,19,20,21,24
|
||||
ModuleClosedNodes4=
|
||||
ModuleClosedNodes5=1
|
||||
ModuleClosedNodes5=
|
||||
ModuleClosedNodes6=
|
||||
NavigationStack=Subs,traeAlmacen,274,0,C_Principal,et_ruta_TextChanged,337,6,C_Principal,b_descargaCartaPorte_Click,113,0,C_Principal,Class_Globals,35,0,Visual Designer,MainPage.bal,-100,4,Visual Designer,principal.bal,-100,6,C_Principal,B4XPage_CloseRequest,78,0,C_Principal,B4XPage_Created,49,0,C_Principal,B4XPage_Appear,66,6,C_Principal,descargaCartaPorte,127,6
|
||||
ModuleClosedNodes7=
|
||||
ModuleClosedNodes8=1
|
||||
ModuleClosedNodes9=
|
||||
NavigationStack=C_Cheklist,JobDone,776,2,C_Principal,checachek,370,0,B4XMainPage,JobDone,174,0,C_Principal,b_check_Click,387,0,C_Cheklist,B4XPage_Created,135,0,C_Cheklist,B4XPage_Appear,199,0,C_Principal,Class_Globals,43,6,C_Principal,et_ruta_EnterPressed,410,1,C_Principal,B4XPage_Appear,74,5,C_Principal,JobDone,432,6
|
||||
SelectedBuild=0
|
||||
VisibleModules=1,2,6
|
||||
VisibleModules=1,3,9,2,5,7
|
||||
|
||||
81
B4A/ManageExternalStorage.bas
Normal file
@@ -0,0 +1,81 @@
|
||||
B4A=true
|
||||
Group=Default Group
|
||||
ModulesStructureVersion=1
|
||||
Type=Class
|
||||
Version=10.7
|
||||
@EndOfDesignText@
|
||||
' Version 1.00
|
||||
#Event: StorageAvailable
|
||||
Sub Class_Globals
|
||||
Private ion As Object
|
||||
Private mCallback As Object
|
||||
Private mEventName As String
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
' This pretty trivial class is modelled on (plagiarised from!) Erel's ExternalStorage class
|
||||
' It applies to devices implementing SDK30 and later
|
||||
' It allows apps to access the internal 'external' storage as was possible on earlier Android versions ussing traditional file I/O
|
||||
' You must manually add 'AddPermission(android.permission.MANAGE_EXTERNAL_STORAGE)' to the manifest
|
||||
' You must ensure that you provide the package name of your app in Sub GetPermission
|
||||
' This class uses the MANAGE_APP_ALL_FILES_ACCESS_PERMISSION intent action to direct users to a system settings page
|
||||
' They must enable the option on that page to give permission
|
||||
|
||||
|
||||
|
||||
'Initializes the object
|
||||
Public Sub Initialize (Callback As Object, EventName As String)
|
||||
mCallback = Callback
|
||||
mEventName = EventName
|
||||
End Sub
|
||||
|
||||
|
||||
' Determine if the app already has MANAGE_EXTERNAL_STORAGE call Environment.isExternalStorageManager()
|
||||
' Return True if this app already has MANAGE_EXTERNAL_STORAGE permission
|
||||
Public Sub HasPermission As Boolean
|
||||
Dim has As Boolean
|
||||
Dim jo As JavaObject
|
||||
jo.InitializeStatic("android.os.Environment")
|
||||
has = jo.RunMethod("isExternalStorageManager", Null)
|
||||
Return has
|
||||
End Sub
|
||||
|
||||
' Check whether this app has MANAGE_EXTERNAL_STORAGE permission
|
||||
' If not show the user a dialog to enable MANAGE_EXTERNAL_STORAGE permission for this app
|
||||
' Raises the StorageAvailable event in the calling activity when complete
|
||||
Public Sub GetPermission
|
||||
If HasPermission Then
|
||||
RaiseEvent
|
||||
Return
|
||||
End If
|
||||
Dim in As Intent
|
||||
' Be sure to reference your app package name in "pakageg:xxx"
|
||||
in.Initialize("android.settings.MANAGE_APP_ALL_FILES_ACCESS_PERMISSION", $"package:${Application.PackageName}"$)
|
||||
StartActivityForResult(in)
|
||||
End Sub
|
||||
|
||||
|
||||
Private Sub RaiseEvent
|
||||
Log("Calling : " & mEventName & "_StorageAvailable")
|
||||
CallSubDelayed(mCallback, mEventName & "_StorageAvailable")
|
||||
End Sub
|
||||
|
||||
|
||||
Private Sub ion_Event (MethodName As String, Args() As Object) As Object
|
||||
RaiseEvent
|
||||
Return Null
|
||||
End Sub
|
||||
|
||||
|
||||
Private Sub StartActivityForResult(i As Intent)
|
||||
Dim jo As JavaObject = GetBA
|
||||
ion = jo.CreateEvent("anywheresoftware.b4a.IOnActivityResult", "ion", Null)
|
||||
jo.RunMethod("startActivityForResult", Array As Object(ion, i))
|
||||
End Sub
|
||||
|
||||
Private Sub GetBA As Object
|
||||
Dim jo As JavaObject = Me
|
||||
Return jo.RunMethod("getBA", Null)
|
||||
End Sub
|
||||
|
||||
21
B4A/Subs.bas
@@ -283,4 +283,25 @@ Sub traeAlmacen As String 'ignore
|
||||
a = C.GetString("ID_ALMACEN")
|
||||
c.Close
|
||||
Return a
|
||||
End Sub
|
||||
|
||||
'Agrega una columna a la tabla especificada.
|
||||
'Hay que indicar el "tipo" de la columna (TEXT, INTEGER, ETC)
|
||||
'Ej. agregaColumna("TABLA", "COLUMNA", "TIPO")
|
||||
Sub agregaColumna(tabla As String, columna As String, tipo As String) 'ignore
|
||||
Try 'Intentamos usar "pragma_table_info" para revisar si existe la columna en la tabla
|
||||
Private c As Cursor = B4XPages.MainPage.skmt.ExecQuery($"SELECT COUNT(*) AS fCol FROM pragma_table_info('${tabla}') WHERE name='${columna}'"$)
|
||||
c.Position = 0
|
||||
If c.GetString("fCol") = 0 Then 'Si no esta la columna la agregamos
|
||||
B4XPages.MainPage.skmt.ExecNonQuery($"ALTER TABLE ${tabla} ADD COLUMN ${columna} ${tipo}"$)
|
||||
Log($"Columna "${columna} ${tipo}", agregada a "${tabla}"."$)
|
||||
End If
|
||||
Catch 'Si no funciona "pragma_table_info" lo hacemos con try/catch
|
||||
Try
|
||||
B4XPages.MainPage.skmt.ExecNonQuery($"ALTER TABLE ${tabla} ADD COLUMN ${columna} ${tipo}"$)
|
||||
Log($"Columna "${columna} ${tipo}", agregada a "${tabla}".."$)
|
||||
Catch
|
||||
Log(LastException)
|
||||
End Try
|
||||
End Try
|
||||
End Sub
|
||||