diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..618d244
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+**/Objects
+**/AutoBackups
+*.meta
\ No newline at end of file
diff --git a/B4A/AREstrategias.b4a b/B4A/AREstrategias.b4a
new file mode 100644
index 0000000..a9c2a19
--- /dev/null
+++ b/B4A/AREstrategias.b4a
@@ -0,0 +1,154 @@
+Build1=Default,arestrategicas.keymon.lat
+File1=candado.png
+File10=gestionadas.bal
+File11=Icon_22-[Convertido].png
+File12=ImgLogo_Cl_AR.png
+File13=lupa.png
+File14=MainPage.bal
+File15=principal.bal
+File16=scroll.bal
+File17=usuario.png
+File2=cuenta.bal
+File3=datos.bal
+File4=datos-varios.png
+File5=engranes.png
+File6=financiero.bal
+File7=fondo.png
+File8=fondoblanco.png
+File9=gestion.bal
+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
+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=accessibility
+Library10=core
+Library11=fileprovider
+Library12=fusedlocationprovider
+Library13=gps
+Library14=ime
+Library15=okhttputils2
+Library16=phone
+Library17=randomaccessfile
+Library18=reflection
+Library19=runtimepermissions
+Library2=appupdating
+Library20=sql
+Library21=stringutils
+Library22=wobblemenu
+Library23=xcustomlistview
+Library24=xui
+Library25=xui views
+Library26=javaobject
+Library3=aswheelpicker
+Library4=b4xpages
+Library5=bctoast
+Library6=bitmapcreator
+Library7=byteconverter
+Library8=camera
+Library9=compressstrings
+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~~\n~)~\n~SetApplicationAttribute(android:icon, "@drawable/icon")~\n~SetApplicationAttribute(android:label, "$LABEL$")~\n~CreateResourceFromFile(Macro, Themes.LightTheme)~\n~SetApplicationAttribute(android:usesCleartextTraffic, "true")~\n~SetServiceAttribute(Tracker, android:foregroundServiceType, "location")~\n~'End of default text.~\n~~\n~AddApplicationText(~\n~~\n~ ~\n~)~\n~~\n~AddManifestText(~\n~~\n~)~\n~~\n~AddManifestText(~\n~~\n~ )~\n~~\n~AddPermission(android.permission.ACCESS_BACKGROUND_LOCATION)~\n~~\n~AddPermission("android.permission.MANAGE_EXTERNAL_STORAGE")~\n~~\n~~\n~AddManifestText(~\n~)~\n~'/////////////////////// App Updating ////////////////~\n~ AddManifestText(~\n~ )~\n~ AddApplicationText(~\n~ ~\n~ ~\n~ ~\n~ )~\n~ CreateResource(xml, provider_paths,~\n~ ~\n~ ~\n~ ~\n~ ~\n~ ~\n~ )~\n~AddManifestText()~\n~AddManifestText()~\n~AddManifestText()~\n~AddManifestText()~\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~AddPermission("android.permission.MANAGE_EXTERNAL_STORAGE")~\n~SetApplicationAttribute(android:largeHeap, "true")~\n~AddPermission("android.permission.MANAGE_EXTERNAL_STORAGE")~\n~
+Module1=appUpdater
+Module10=Subs
+Module11=Tracker
+Module2=|relative|..\B4XMainPage
+Module3=c_datos
+Module4=C_principal
+Module5=C_UpdateAvailable
+Module6=CameraExClass2
+Module7=DBRequestManager
+Module8=ManageExternalStorage
+Module9=Starter
+NumberOfFiles=17
+NumberOfLibraries=26
+NumberOfModules=11
+Version=12.5
+@EndOfDesignText@
+#Region Project Attributes
+ #AdditionalJar: com.android.support:support-v4
+ #AdditionalJar: com.google.android.gms:play-services-location
+ #ApplicationLabel: AREstrategicas
+ #VersionCode: 1
+ #VersionName: 3.06.15
+ 'SupportedOrientations possible values: unspecified, landscape or portrait.
+ #SupportedOrientations: portrait
+ #CanInstallToExternalStorage: False
+#End Region
+
+#Region Activity Attributes
+ #FullScreen: False
+ #IncludeTitle: False
+#End Region
+
+'#BridgeLogger: True
+
+
+Sub Process_Globals
+ Public ActionBarHomeClicked As Boolean
+End Sub
+
+Sub Globals
+ Type CameraInfoAndId (CameraInfo As Object, Id As Int)
+ Type CameraSize (Width As Int, Height As Int)
+End Sub
+
+Sub Activity_Create(FirstTime As Boolean)
+ Dim pm As B4XPagesManager
+ pm.Initialize(Activity)
+
+
+End Sub
+
+'Template version: B4A-1.01
+#Region Delegates
+
+Sub Activity_ActionBarHomeClick
+ ActionBarHomeClicked = True
+ B4XPages.Delegate.Activity_ActionBarHomeClick
+ ActionBarHomeClicked = False
+End Sub
+
+Sub Activity_KeyPress (KeyCode As Int) As Boolean
+ Return B4XPages.Delegate.Activity_KeyPress(KeyCode)
+End Sub
+
+Sub Activity_Resume
+ B4XPages.Delegate.Activity_Resume
+
+End Sub
+
+Sub Activity_Pause (UserClosed As Boolean)
+ B4XPages.Delegate.Activity_Pause
+End Sub
+
+Sub Activity_PermissionResult (Permission As String, Result As Boolean)
+ B4XPages.Delegate.Activity_PermissionResult(Permission, Result)
+End Sub
+
+Sub Create_Menu (Menu As Object)
+ B4XPages.Delegate.Create_Menu(Menu)
+End Sub
+
+#if Java
+public boolean _onCreateOptionsMenu(android.view.Menu menu) {
+ processBA.raiseEvent(null, "create_menu", menu);
+ return true;
+
+}
+#End If
+#End Region
+
+'Program code should go into B4XMainPage and other pages.
\ No newline at end of file
diff --git a/B4A/C_UpdateAvailable.bas b/B4A/C_UpdateAvailable.bas
new file mode 100644
index 0000000..122de2b
--- /dev/null
+++ b/B4A/C_UpdateAvailable.bas
@@ -0,0 +1,74 @@
+B4A=true
+Group=Default Group
+ModulesStructureVersion=1
+Type=Class
+Version=12.2
+@EndOfDesignText@
+Sub Class_Globals
+ Private Root As B4XView 'ignore
+ Private xui As XUI 'ignore
+End Sub
+
+'You can add more parameters here.
+Public Sub Initialize As Object
+ Return Me
+End Sub
+
+'This event will be called once, before the page becomes visible.
+Private Sub B4XPage_Created (Root1 As B4XView)
+ Root = Root1
+ 'load the layout to Root
+ Root.Color = Colors.Transparent
+End Sub
+
+Sub B4XPage_Appear
+ Try
+ Do While Not(CanRequestPackageInstalls)
+ MsgboxAsync($"Por favor permita que ${Application.PackageName} instale actualizaciones"$, "Instalar actualización")
+ Wait For Msgbox_Result(Result As Int)
+ Dim in As Intent
+ in.Initialize("android.settings.", "package:" & Application.PackageName)
+ StartActivity(in)
+ Loop
+ Catch
+ Log("updateAvailable() Error - " & LastException.Message)
+ End Try
+ If appUpdater.newApp.update Then
+ ofreceActualizacion
+ Else
+ sinActualizacion
+ End If
+End Sub
+
+'////////////////////////////////////////////////////////////////////////////////////////////
+'//// Esta es una actividad usada por el servicio appUpdater para mostrar notificaciones
+'//// cuando hay alguna actualizacion de apk.
+'////////////////////////////////////////////////////////////////////////////////////////////
+
+
+public Sub CanRequestPackageInstalls As Boolean
+ ' // https://www.b4x.com/android/forum/threads/version-safe-apk-installation.87667/#content
+ Dim ctxt As JavaObject
+ ctxt.InitializeContext
+ Dim PackageManager As JavaObject = ctxt.RunMethod("getPackageManager", Null)
+ Return PackageManager.RunMethod("canRequestPackageInstalls", Null)
+End Sub
+
+Sub ofreceActualizacion
+ If Msgbox2(appUpdater.newApp.newMsg,"Actualización disponible","Si","","No",Null) = DialogResponse.Positive Then 'ignore
+' StartService(DownloadService)
+ CallSubDelayed(appUpdater, "download_newApk")
+' ToastMessageShow("Descargando actualización", True)
+ End If
+ B4XPages.MainPage.ocultaProgreso
+ StartActivity(Main)
+' Activity.Finish
+ B4XPages.ShowPage("Mainpage")
+End Sub
+
+Sub sinActualizacion
+ Msgbox(appUpdater.newApp.okMsg, "Aplicación al corriente") 'ignore
+' StartActivity(Main)
+ B4XPages.MainPage.ocultaProgreso
+ B4XPages.ShowPage("Mainpage")
+End Sub
\ No newline at end of file
diff --git a/B4A/C_principal.bas b/B4A/C_principal.bas
new file mode 100644
index 0000000..46fc580
--- /dev/null
+++ b/B4A/C_principal.bas
@@ -0,0 +1,607 @@
+B4A=true
+Group=Default Group
+ModulesStructureVersion=1
+Type=Class
+Version=12.2
+@EndOfDesignText@
+Sub Class_Globals
+ Private Root As B4XView 'ignore
+ Private xui As XUI 'ignore
+ Private l_cuentasportrabajar As Label
+ Private l_cuentrastrabajadas As Label
+ Private l_credito As Label
+ Private l_estatus As Label
+ Private l_nombre As Label
+ Private l_direccion As Label
+ Private clv_cuentas As CustomListView
+ Dim reqManager As DBRequestManager
+ Dim trabajos = 0 As Int
+ Dim c As Cursor
+ Dim d As Cursor
+ Dim e As Cursor
+ Private p_cuenta As Panel
+ Dim lb As Label
+
+ Private et_findia As EditText
+ Private b_enviar As Button
+ Private et_busqueda As EditText
+ Private l_creditoges As Label
+ Private l_estatusges As Label
+ Private l_nombreges As Label
+ Private l_direccionges As Label
+ Private l_fechagestion As Label
+ Private l_resultadoges As Label
+ Private Label3 As Label
+ Private paneltop As Panel
+ Private Panel4 As Panel
+ Dim IME As IME
+End Sub
+
+'You can add more parameters here.
+Public Sub Initialize As Object
+ Return Me
+End Sub
+
+'This event will be called once, before the page becomes visible.
+Private Sub B4XPage_Created (Root1 As B4XView)
+ Root = Root1
+ 'load the layout to Root
+ Root.LoadLayout("principal")
+
+
+ IME.Initialize("IME")
+ IME.AddHeightChangedEvent
+ IME_HeightChanged(100%y, 0)
+
+ Starter.skmt.ExecNonQuery("delete from TIPO_VIVIENDA")
+ Starter.skmt.ExecNonQuery("delete from NIVEL_SOCIO")
+ Starter.skmt.ExecNonQuery("delete from CARACTERISTICAS")
+ Starter.skmt.ExecNonQuery("delete from NUMERO_NIV")
+ Starter.skmt.ExecNonQuery2("INSERT INTO TIPO_VIVIENDA(TIPO, NUMERO) VALUES(?,?)", Array As Object ("Selecciona una opción","0"))
+ Starter.skmt.ExecNonQuery2("INSERT INTO TIPO_VIVIENDA(TIPO, NUMERO) VALUES(?,?)", Array As Object ("DEPTO","1"))
+ Starter.skmt.ExecNonQuery2("INSERT INTO TIPO_VIVIENDA(TIPO, NUMERO) VALUES(?,?)", Array As Object ("CASA","2"))
+ Starter.skmt.ExecNonQuery2("INSERT INTO TIPO_VIVIENDA(TIPO, NUMERO) VALUES(?,?)", Array As Object ("OTRO","3"))
+ Starter.skmt.ExecNonQuery2("INSERT INTO NIVEL_SOCIO(NIVEL, NUMERO) VALUES(?,?)", Array As Object ("Selecciona una opción","0"))
+ Starter.skmt.ExecNonQuery2("INSERT INTO NIVEL_SOCIO(NIVEL, NUMERO) VALUES(?,?)", Array As Object ("ALTO","1"))
+ Starter.skmt.ExecNonQuery2("INSERT INTO NIVEL_SOCIO(NIVEL, NUMERO) VALUES(?,?)", Array As Object ("MEDIO","2"))
+ Starter.skmt.ExecNonQuery2("INSERT INTO NIVEL_SOCIO(NIVEL, NUMERO) VALUES(?,?)", Array As Object ("BAJO","3"))
+ Starter.skmt.ExecNonQuery2("INSERT INTO NIVEL_SOCIO(NIVEL, NUMERO) VALUES(?,?)", Array As Object ("OTRO","4"))
+ Starter.skmt.ExecNonQuery2("INSERT INTO CARACTERISTICAS(TIPO, NUMERO) VALUES(?,?)", Array As Object ("Selecciona una opción","0"))
+ Starter.skmt.ExecNonQuery2("INSERT INTO CARACTERISTICAS(TIPO, NUMERO) VALUES(?,?)", Array As Object ("PROPIA","1"))
+ Starter.skmt.ExecNonQuery2("INSERT INTO CARACTERISTICAS(TIPO, NUMERO) VALUES(?,?)", Array As Object ("RENTADA","2"))
+ Starter.skmt.ExecNonQuery2("INSERT INTO CARACTERISTICAS(TIPO, NUMERO) VALUES(?,?)", Array As Object ("OTRO","3"))
+ Starter.skmt.ExecNonQuery2("INSERT INTO NUMERO_NIV(NIVELES, NUMERO) VALUES(?,?)", Array As Object ("Selecciona una opción","0"))
+ Starter.skmt.ExecNonQuery2("INSERT INTO NUMERO_NIV(NIVELES, NUMERO) VALUES(?,?)", Array As Object ("1","1"))
+ Starter.skmt.ExecNonQuery2("INSERT INTO NUMERO_NIV(NIVELES, NUMERO) VALUES(?,?)", Array As Object ("2","2"))
+ Starter.skmt.ExecNonQuery2("INSERT INTO NUMERO_NIV(NIVELES, NUMERO) VALUES(?,?)", Array As Object ("3","3"))
+ Starter.skmt.ExecNonQuery2("INSERT INTO NUMERO_NIV(NIVELES, NUMERO) VALUES(?,?)", Array As Object ("4","4"))
+ Starter.skmt.ExecNonQuery2("INSERT INTO NUMERO_NIV(NIVELES, NUMERO) VALUES(?,?)", Array As Object ("5","5"))
+ Starter.skmt.ExecNonQuery2("INSERT INTO NUMERO_NIV(NIVELES, NUMERO) VALUES(?,?)", Array As Object ("6","6"))
+End Sub
+
+Sub B4XPage_Appear
+ reqManager.Initialize(Me, Starter.DBReqServer)
+ d = Starter.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS, CARGADO FROM CARGADO")
+ d.Position = 0
+ If d.GetString("CUANTOS") > 0 Then
+ If d.GetString("CARGADO") = "1" Then
+ c = Starter.skmt.ExecQuery("SELECT CREDITO, NOMBRE, CALLE, N_EXT, N_INT, ALCALDIA, ESTATUS FROM HIST_DATOS_GENERALES WHERE ESTATUS2 <> 2 order by 1")
+
+ clv_cuentas.Clear
+ For i = 0 To c.RowCount - 1
+ c.Position = i
+ clv_cuentas.Add(CreateListItem(c.GetString("CREDITO"), c.GetString("NOMBRE"), ("CALLE: " & c.GetString("CALLE") &" NO. EXT: "& c.GetString("N_EXT") & CRLF & "No. INT: "& c.GetString("N_INT") &" COL.: "&c.GetString("ALCALDIA")), c.GetString("ESTATUS")),i)
+ Next
+ c.Close
+ End If
+ End If
+ d.Close
+
+ c = Starter.skmt.ExecQuery2("SELECT COUNT(*) AS CUANTOS FROM HIST_DATOS_GENERALES WHERE ESTATUS2 <> ?",Array As String(2))
+ c.Position = 0
+ Log(c.GetString("CUANTOS"))
+ l_cuentasportrabajar.Text = c.GetString("CUANTOS")
+ c.Close
+
+ c = Starter.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS FROM HIST_DATOS_GENERALES WHERE ESTATUS2 = 2")
+ c.Position = 0
+ Log(c.GetString("CUANTOS"))
+ l_cuentrastrabajadas.Text = c.GetString("CUANTOS")
+ c.Close
+
+ Label3.Text = "Cuentas"
+ l_cuentasportrabajar.TextColor = Colors.White
+ l_cuentasportrabajar.Color = Colors.Red
+ l_cuentrastrabajadas.TextColor = Colors.Black
+ l_cuentrastrabajadas.Color = Colors.White
+End Sub
+
+Sub IME_HeightChanged(NewHeight As Int, OldHeight As Int)
+ paneltop.Top = NewHeight - paneltop.Height
+ Panel4.Height = paneltop.Top - Panel4.Top
+End Sub
+
+Private Sub b_carga_Click
+ trabajos = 0
+
+ Dim cmd As DBCommand
+ cmd.Initialize
+
+
+ cmd.Name = "select_datosgenerales_AR"
+ cmd.Parameters = Array As Object(B4XPages.MainPage.user)
+ reqManager.ExecuteQuery(cmd , 0, "datosgenerales")
+ trabajos = trabajos + 1
+
+ cmd.Name = "select_datosfinancieros_AR"
+ cmd.Parameters = Array As Object(B4XPages.MainPage.user)
+ reqManager.ExecuteQuery(cmd , 0, "datosfinancieros")
+ trabajos = trabajos + 1
+
+ cmd.Name = "select_fuentes_AR"
+ cmd.Parameters = Array As Object()
+ reqManager.ExecuteQuery(cmd , 0, "fuente")
+ trabajos = trabajos + 1
+
+ cmd.Name = "select_parentesco_AR"
+ cmd.Parameters = Array As Object()
+ reqManager.ExecuteQuery(cmd , 0, "parentesco")
+ trabajos = trabajos + 1
+
+ cmd.Name = "select_accion_AR"
+ cmd.Parameters = Array As Object()
+ reqManager.ExecuteQuery(cmd , 0, "accion")
+ trabajos = trabajos + 1
+
+ cmd.Name = "select_resultado_MA_AR"
+ cmd.Parameters = Array As Object()
+ reqManager.ExecuteQuery(cmd , 0, "resultado_MA")
+ trabajos = trabajos + 1
+
+ cmd.Name = "select_resultado_VC_AR"
+ cmd.Parameters = Array As Object()
+ reqManager.ExecuteQuery(cmd , 0, "resultado_VC")
+ trabajos = trabajos + 1
+
+ cmd.Name = "select_resultado_CA_AR"
+ cmd.Parameters = Array As Object()
+ reqManager.ExecuteQuery(cmd , 0, "resultado_CA")
+ trabajos = trabajos + 1
+
+ cmd.Name = "select_resultado_BR_AR"
+ cmd.Parameters = Array As Object()
+ reqManager.ExecuteQuery(cmd , 0, "resultado_BR")
+ trabajos = trabajos + 1
+
+ ProgressDialogShow("Cargando")
+End Sub
+
+Private Sub l_cuentrastrabajadas_Click
+
+ d = Starter.skmt.ExecQuery("SELECT RESULTADO, FECHA, CREDITO FROM HIST_VISITA WHERE ESTATUS = 2")
+
+ clv_cuentas.Clear
+ For i = 0 To d.RowCount - 1
+ d.Position = i
+ c = Starter.skmt.ExecQuery2("SELECT NOMBRE, CALLE, N_EXT, N_INT, ALCALDIA, ESTATUS FROM HIST_DATOS_GENERALES WHERE CREDITO = ? ",Array As String(d.GetString("CREDITO")))
+ c.Position = 0
+ clv_cuentas.Add(CreateListItem2(d.GetString("CREDITO"), c.GetString("NOMBRE"), ("CALLE: " & c.GetString("CALLE") &" NO. EXT: "& c.GetString("N_EXT") & CRLF & "No. INT: "& c.GetString("N_INT") &" COL.: "&c.GetString("ALCALDIA")), c.GetString("ESTATUS"), d.GetString("FECHA"),d.GetString("RESULTADO")),i)
+ Next
+ d.Close
+ l_cuentasportrabajar.TextColor = Colors.Black
+ l_cuentasportrabajar.Color = Colors.White
+ l_cuentrastrabajadas.TextColor = Colors.White
+ l_cuentrastrabajadas.Color = Colors.Red
+ Label3.Text = "Cuentas gestionadas"
+
+End Sub
+
+Private Sub l_cuentasportrabajar_Click
+ d = Starter.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS, CARGADO FROM CARGADO")
+ d.Position = 0
+ If d.GetString("CUANTOS") > 0 Then
+ If d.GetString("CARGADO") = "1" Then
+ c = Starter.skmt.ExecQuery("SELECT CREDITO, NOMBRE, CALLE, N_EXT, N_INT, ALCALDIA, ESTATUS FROM HIST_DATOS_GENERALES WHERE ESTATUS2 <> 2 order by 1")
+
+ clv_cuentas.Clear
+ For i = 0 To c.RowCount - 1
+ c.Position = i
+ clv_cuentas.Add(CreateListItem(c.GetString("CREDITO"), c.GetString("NOMBRE"), ("CALLE: " & c.GetString("CALLE") &" NO. EXT: "& c.GetString("N_EXT") & CRLF & "No. INT: "& c.GetString("N_INT") &" COL.: "&c.GetString("ALCALDIA")), c.GetString("ESTATUS")),i)
+ Next
+ c.Close
+ End If
+ End If
+ d.Close
+
+ Label3.Text = "Cuentas"
+ l_cuentasportrabajar.TextColor = Colors.White
+ l_cuentasportrabajar.Color = Colors.Red
+ l_cuentrastrabajadas.TextColor = Colors.Black
+ l_cuentrastrabajadas.Color = Colors.White
+End Sub
+
+Sub CreateListItem2(cred As String, nom As String, call As String, status As String, fechages As String, resulges As String) As Panel
+ Dim p As B4XView = xui.CreatePanel("")
+' p.SetLayoutAnimated(0, 0, 0, 1, 115)
+ p.LoadLayout("gestionadas")
+ p.Height= 183dip
+' p.Width = clv_orden.GetBase.Width
+ l_creditoges.Text = cred
+ l_estatusges.Text = status
+ l_nombreges.Text = nom
+ l_direccionges.Text = call
+ l_fechagestion.Text = fechages
+ l_resultadoges.Text = resulges
+' Log(p.Width)
+ Return p
+End Sub
+
+Sub CreateListItem(cred As String, nom As String, call As String, status As String) As Panel
+ Dim p As B4XView = xui.CreatePanel("")
+' p.SetLayoutAnimated(0, 0, 0, 1, 115)
+ p.LoadLayout("cuenta")
+ p.Height= 112dip
+' p.Width = clv_orden.GetBase.Width
+ l_credito.Text = cred
+ l_estatus.Text = status
+ l_nombre.Text = nom
+ l_direccion.Text = call
+' Log(p.Width)
+ Return p
+End Sub
+
+Private Sub p_cuenta_Click
+ Log("si lo hice")
+
+ Dim Index As Int = clv_cuentas.GetItemFromView(Sender)
+ Dim pnl As B4XView = clv_cuentas.GetPanel(Index).GetView(0)
+ lb = pnl.GetView(0)
+ Log(lb.Text)
+
+
+
+ B4XPages.ShowPage("datos")
+End Sub
+
+Sub JobDone(Job As HttpJob)
+ If Not(Job.Success) Then
+ ToastMessageShow("Error: " & Job.ErrorMessage, True)
+ Else
+ LogColor("JobDone: '" & reqManager.HandleJob(Job).tag & "' - Registros: " & reqManager.HandleJob(Job).Rows.Size, Colors.Green)
+ If Job.JobName = "DBRequest" Then
+ Dim result As DBResult = reqManager.HandleJob(Job)
+
+ If result.Tag = "datosgenerales" Then 'query tag
+ Starter.skmt.ExecNonQuery("delete from HIST_DATOS_GENERALES2")
+ Starter.skmt.ExecNonQuery("delete from HIST_DATOS_GENERALES WHERE ESTATUS2 <> 2")
+ Starter.skmt.ExecNonQuery("delete from HIST_VISITA WHERE ESTATUS <> 2")
+ Starter.skmt.ExecNonQuery("delete from CARGADO")
+ Starter.skmt.ExecNonQuery2("INSERT INTO CARGADO(CARGADO) VALUES(?)", Array As Object ("0"))
+ trabajos = trabajos - 1
+
+ Starter.skmt.BeginTransaction
+
+ For Each records() As Object In result.Rows
+
+ Dim credito As String = records(result.Columns.Get("PR_KT_CREDITO"))
+ Dim nombre As String = records(result.Columns.Get("PR_CD_NOMBRE"))
+ Dim rfc As String = records(result.Columns.Get("PR_CD_RFC"))
+ Dim curp As String = records(result.Columns.Get("PR_CD_CURP"))
+ Dim calle As String = records(result.Columns.Get("PR_CD_CALLE"))
+ Dim n_ext As String = records(result.Columns.Get("PR_CD_NUM_EXT"))
+ Dim n_int As String = records(result.Columns.Get("PR_CD_NUM_INT"))
+ Dim alcaldia As String = records(result.Columns.Get("PR_CD_ALCALDIA"))
+ Dim municipio As String = records(result.Columns.Get("PR_CD_MUNICIPIO"))
+ Dim entidad As String = records(result.Columns.Get("PR_CD_ENTIDAD"))
+ Dim cp As String = records(result.Columns.Get("PR_CD_CP"))
+ Dim sexo As String = records(result.Columns.Get("PR_CD_SEXO"))
+ Dim fecha_nacimiento As String = records(result.Columns.Get("PR_CD_FECHA_NAC"))
+ Dim edad As String = records(result.Columns.Get("PR_CD_EDAD"))
+ Dim email As String = records(result.Columns.Get("PR_CD_EMAIL"))
+
+ Starter.skmt.ExecNonQuery2("INSERT INTO HIST_DATOS_GENERALES2(CREDITO, NOMBRE, RFC, CURP, CALLE, N_EXT, N_INT, ALCALDIA, MUNICIPIO, ENTIDAD, CP, SEXO, FECHA_NACIMIENTO, EDAD, EMAIL, ESTATUS, ESTATUS2) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (credito, nombre, rfc, curp, calle, n_ext, n_int, alcaldia, municipio, entidad, cp, sexo, fecha_nacimiento, edad, email, "Asignado",0))
+
+
+ c = Starter.skmt.ExecQuery2("SELECT COUNT(*) AS CUANTOS FROM HIST_DATOS_GENERALES WHERE CREDITO = ?",Array As String(credito))
+ c.Position= 0
+ LogColor(c.GetString("CUANTOS"),Colors.Magenta)
+ If c.GetString("CUANTOS") > 0 Then
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_DATOS_GENERALES SET CREDITO = ?, NOMBRE = ?, RFC = ?, CURP = ?, CALLE = ?, N_EXT = ?, N_INT = ?, ALCALDIA = ?, MUNICIPIO = ?, ENTIDAD = ?, CP = ?, SEXO = ?, FECHA_NACIMIENTO = ?, EDAD = ?, EMAIL = ? WHERE CREDITO = ?",Array As String(credito, nombre, rfc, curp, calle, n_ext, n_int, alcaldia, municipio, entidad, cp, sexo, fecha_nacimiento, edad, email,credito))
+ Else If c.GetString("CUANTOS") = 0 Then
+ Starter.skmt.ExecNonQuery2("INSERT INTO HIST_DATOS_GENERALES(CREDITO, NOMBRE, RFC, CURP, CALLE, N_EXT, N_INT, ALCALDIA, MUNICIPIO, ENTIDAD, CP, SEXO, FECHA_NACIMIENTO, EDAD, EMAIL, ESTATUS, ESTATUS2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)",Array As String(credito, nombre, rfc, curp, calle, n_ext, n_int, alcaldia, municipio, entidad, cp, sexo, fecha_nacimiento, edad, email, "Asignado",0))
+ End If
+ c.Close
+
+ Next
+
+ Starter.skmt.TransactionSuccessful 'Si no se pone TransactionSuccessful no se escribe NADA!!
+ Starter.skmt.EndTransaction
+
+ c = Starter.skmt.ExecQuery("SELECT CREDITO, NOMBRE, CALLE, N_EXT, N_INT, ALCALDIA, ESTATUS FROM HIST_DATOS_GENERALES WHERE ESTATUS2 <> 2 order by 1")
+
+ clv_cuentas.Clear
+ For i = 0 To c.RowCount - 1
+ c.Position = i
+ clv_cuentas.Add(CreateListItem(c.GetString("CREDITO"), c.GetString("NOMBRE"), ("CALLE: " & c.GetString("CALLE") &" NO. EXT: "& c.GetString("N_EXT") & CRLF & "No. INT: "& c.GetString("N_INT") &" COL.: "&c.GetString("ALCALDIA")), c.GetString("ESTATUS")),i)
+ Next
+ c.Close
+
+ c = Starter.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS FROM HIST_DATOS_GENERALES WHERE ESTATUS2 <> 2")
+ c.Position = 0
+ Log(c.GetString("CUANTOS"))
+ l_cuentasportrabajar.Text = c.GetString("CUANTOS")
+ c.Close
+
+ c = Starter.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS FROM HIST_DATOS_GENERALES WHERE ESTATUS2 = 2")
+ c.Position = 0
+ Log(c.GetString("CUANTOS"))
+ l_cuentrastrabajadas.Text = c.GetString("CUANTOS")
+ c.Close
+
+ Label3.Text = "Cuentas"
+ l_cuentasportrabajar.TextColor = Colors.White
+ l_cuentasportrabajar.Color = Colors.Red
+ l_cuentrastrabajadas.TextColor = Colors.Black
+ l_cuentrastrabajadas.Color = Colors.White
+
+ End If
+
+ If result.Tag = "datosfinancieros" Then 'query tag
+ Starter.skmt.ExecNonQuery("delete from HIST_FINANCIEROS2")
+ Starter.skmt.ExecNonQuery("delete from HIST_FINANCIEROS WHERE ESTATUS2 <> 2")
+ trabajos = trabajos - 1
+
+ For Each records() As Object In result.Rows
+
+ Dim creditof As String = records(result.Columns.Get("PR_KT_CREDITO"))
+ Dim CARTERA As String = records(result.Columns.Get("PR_KT_PRODUCTO"))
+ Dim AGENCIA As String = records(result.Columns.Get("PR_KT_AGENCIA"))
+ Dim SALDO_TOTAL As String = records(result.Columns.Get("PR_CF_SALDO_TOTAL"))
+ Dim MONTO_PAGAR As String = records(result.Columns.Get("PR_CF_LIQUIDACION"))
+ Dim TOTAL_PAGO_DESC As String = records(result.Columns.Get("PR_CF_TOTAL_A_PAGAR_DESC"))
+ Dim LIQUIDACION As String = records(result.Columns.Get("PR_CF_LIQUIDACION"))
+ Dim DIAS_VENCIDOS As String = records(result.Columns.Get("PR_CA_DIAS_VENCIDOS"))
+ Dim DIAS_ATRASO_ACT As String = records(result.Columns.Get("PR_CA_DIAS_ATRASO_ACT"))
+ Dim FECHA_ATRASO As String = records(result.Columns.Get("PR_CA_FECHA_ATRASO"))
+ Dim BBVA As String = records(result.Columns.Get("PR_CA_REFERENCIA1"))
+ Dim OXXO As String = records(result.Columns.Get("PR_CA_REFERENCIA2"))
+
+ Starter.skmt.ExecNonQuery2("INSERT INTO HIST_FINANCIEROS2(CREDITO, CARTERA, AGENCIA, SALDO_TOTAL, MONTO_PAGAR, TOTAL_PAGO_DESC, LIQUIDACION, DIAS_VENCIDOS, DIAS_ATRASO_ACT, FECHA_ATRASO, BBVA, OXXO, ESTATUS, ESTATUS2) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (creditof, CARTERA, AGENCIA, SALDO_TOTAL, MONTO_PAGAR, TOTAL_PAGO_DESC, LIQUIDACION, DIAS_VENCIDOS, DIAS_ATRASO_ACT, FECHA_ATRASO, BBVA, OXXO,"Asignado",0))
+
+ c = Starter.skmt.ExecQuery2("SELECT COUNT(*) AS CUANTOS FROM HIST_FINANCIEROS WHERE CREDITO = ?",Array As String(creditof))
+ c.Position = 0
+ LogColor(c.GetString("CUANTOS"),Colors.Red)
+ If c.GetString("CUANTOS") > 0 Then
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_FINANCIEROS SET CREDITO = ?, CARTERA = ?, AGENCIA = ?, SALDO_TOTAL = ?, MONTO_PAGAR = ?, TOTAL_PAGO_DESC = ?, LIQUIDACION = ?, DIAS_VENCIDOS = ?, DIAS_ATRASO_ACT = ?, FECHA_ATRASO = ?, BBVA = ?, OXXO = ? WHERE CREDITO = ?",Array As String(creditof, CARTERA, AGENCIA, SALDO_TOTAL, MONTO_PAGAR, TOTAL_PAGO_DESC, LIQUIDACION, DIAS_VENCIDOS, DIAS_ATRASO_ACT, FECHA_ATRASO, BBVA, OXXO, creditof))
+ Else If c.GetString("CUANTOS") = 0 Then
+ Starter.skmt.ExecNonQuery2("INSERT INTO HIST_FINANCIEROS(CREDITO, CARTERA, AGENCIA, SALDO_TOTAL, MONTO_PAGAR, TOTAL_PAGO_DESC, LIQUIDACION, DIAS_VENCIDOS, DIAS_ATRASO_ACT, FECHA_ATRASO, BBVA, OXXO, ESTATUS, ESTATUS2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?)",Array As String(creditof, CARTERA, AGENCIA, SALDO_TOTAL, MONTO_PAGAR, TOTAL_PAGO_DESC, LIQUIDACION, DIAS_VENCIDOS, DIAS_ATRASO_ACT, FECHA_ATRASO, BBVA, OXXO, "Asignado",0))
+ End If
+ c.Close
+ Next
+
+ End If
+
+ If result.Tag = "fuente" Then 'query tag
+ Starter.skmt.ExecNonQuery("delete from CAT_FUENTE")
+ trabajos = trabajos - 1
+ Dim num As Int = 0
+ Dim num2 As Int = 1
+ Starter.skmt.ExecNonQuery2("INSERT INTO CAT_FUENTE(FUENTE, NUMERO, NUME) VALUES (?,?,?)", Array As Object("Selecciona una opción",num, num2))
+ For Each records() As Object In result.Rows
+
+ Dim FUENTE As String = records(result.Columns.Get("CAT_FU_FUENTE"))
+ num = num + 1
+ num2 = num2 +1
+ Dim numero As Int = num
+ Starter.skmt.ExecNonQuery2("INSERT INTO CAT_FUENTE(FUENTE, NUMERO, NUME) VALUES (?,?,?)", Array As Object(FUENTE,numero,num2))
+
+ Next
+
+ End If
+
+ If result.Tag = "parentesco" Then 'query tag
+ Starter.skmt.ExecNonQuery("delete from CAT_PARENTESCO")
+ trabajos = trabajos - 1
+ Dim num As Int = 0
+ Dim num2 As Int = 1
+ Starter.skmt.ExecNonQuery2("INSERT INTO CAT_PARENTESCO (PARENTESCO, NUMERO, NUME) VALUES (?,?,?)", Array As Object("Selecciona una opción",num, num2))
+ For Each records() As Object In result.Rows
+ Dim PARENTESCO As String = records(result.Columns.Get("CAT_PA_PARENTESCO"))
+ num = num + 1
+ num2 = num2 +1
+ Dim numero As Int = num
+ Starter.skmt.ExecNonQuery2("INSERT INTO CAT_PARENTESCO (PARENTESCO, NUMERO, NUME) VALUES (?,?,?)", Array As Object(PARENTESCO,numero,num2))
+
+ Next
+
+ End If
+
+ If result.Tag = "accion" Then 'query tag
+ Starter.skmt.ExecNonQuery("delete from CAT_ACCION")
+ trabajos = trabajos - 1
+ Dim num As Int = 0
+ Dim num2 As Int = 1
+ Starter.skmt.ExecNonQuery2("INSERT INTO CAT_ACCION(CO_ACCION, CO_ACDESCRIPCION, NUMERO, NUME) VALUES (?,?,?,?)", Array As Object("SO", "Selecciona una opción",num,num2))
+ For Each records() As Object In result.Rows
+ Dim CO_ACCION As String = records(result.Columns.Get("CAT_CO_ACCION"))
+ Dim CO_ACDESCRIPCION As String = records(result.Columns.Get("CAT_CO_ADESCRIPCION"))
+ num = num + 1
+ num2 = num2 +1
+ Dim numero As Int = num
+
+ Starter.skmt.ExecNonQuery2("INSERT INTO CAT_ACCION(CO_ACCION, CO_ACDESCRIPCION, NUMERO,NUME) VALUES (?,?,?,?)", Array As Object(CO_ACCION, CO_ACDESCRIPCION,numero,num2))
+
+ Next
+
+ End If
+
+ If result.Tag = "resultado_MA" Then 'query tag
+ Starter.skmt.ExecNonQuery("delete from CAT_RESULTADO_MA")
+ trabajos = trabajos - 1
+ Dim num As Int = 0
+ Dim num2 As Int = 1
+ Dim num2 As Int = 1
+ Starter.skmt.ExecNonQuery2("INSERT INTO CAT_RESULTADO_MA(CAT_CO_ACCION, CO_RESULTADO, CO_RDESCRIPCION, NUMERO, NUME) VALUES (?,?,?,?,?)", Array As Object("MA","SO", "Selecciona una opción",num,num2))
+ For Each records() As Object In result.Rows
+ Dim CAT_CO_ACCION As String = records(result.Columns.Get("CAT_CO_ACCION"))
+ Dim CO_RESULTADO As String = records(result.Columns.Get("CAT_CO_RESULTADO"))
+ Dim CO_RDESCRIPCION As String = records(result.Columns.Get("CAT_CO_RDESCRIPCION"))
+ num = num + 1
+ num2 = num2 +1
+ Dim numero As Int = num
+ Starter.skmt.ExecNonQuery2("INSERT INTO CAT_RESULTADO_MA(CAT_CO_ACCION, CO_RESULTADO, CO_RDESCRIPCION, NUMERO, NUME) VALUES (?,?,?,?,?)", Array As Object(CAT_CO_ACCION, CO_RESULTADO, CO_RDESCRIPCION,numero,num2))
+ Next
+
+ End If
+
+ If result.Tag = "resultado_VC" Then 'query tag
+ Starter.skmt.ExecNonQuery("delete from CAT_RESULTADO_VC")
+ trabajos = trabajos - 1
+ Dim num As Int = 0
+ Dim num2 As Int = 1
+ Starter.skmt.ExecNonQuery2("INSERT INTO CAT_RESULTADO_VC(CAT_CO_ACCION, CO_RESULTADO, CO_RDESCRIPCION, NUMERO, NUME) VALUES (?,?,?,?,?)", Array As Object("VC","SO", "Selecciona una opción",num,num2))
+ For Each records() As Object In result.Rows
+ Dim CAT_CO_ACCION As String = records(result.Columns.Get("CAT_CO_ACCION"))
+ Dim CO_RESULTADO As String = records(result.Columns.Get("CAT_CO_RESULTADO"))
+ Dim CO_RDESCRIPCION As String = records(result.Columns.Get("CAT_CO_RDESCRIPCION"))
+ num = num + 1
+ num2 = num2 +1
+ Dim numero As Int = num
+ Starter.skmt.ExecNonQuery2("INSERT INTO CAT_RESULTADO_VC(CAT_CO_ACCION, CO_RESULTADO, CO_RDESCRIPCION, NUMERO, NUME) VALUES (?,?,?,?,?)", Array As Object(CAT_CO_ACCION, CO_RESULTADO, CO_RDESCRIPCION,numero,num2))
+ Next
+
+ End If
+
+ If result.Tag = "resultado_CA" Then 'query tag
+ Starter.skmt.ExecNonQuery("delete from CAT_RESULTADO_CA")
+ trabajos = trabajos - 1
+ Dim num As Int = 0
+ Dim num2 As Int = 1
+ Starter.skmt.ExecNonQuery2("INSERT INTO CAT_RESULTADO_CA(CAT_CO_ACCION, CO_RESULTADO, CO_RDESCRIPCION, NUMERO, NUME) VALUES (?,?,?,?,?)", Array As Object("CA","SO", "Selecciona una opción",num,num2))
+ For Each records() As Object In result.Rows
+ Dim CAT_CO_ACCION As String = records(result.Columns.Get("CAT_CO_ACCION"))
+ Dim CO_RESULTADO As String = records(result.Columns.Get("CAT_CO_RESULTADO"))
+ Dim CO_RDESCRIPCION As String = records(result.Columns.Get("CAT_CO_RDESCRIPCION"))
+ num = num + 1
+ num2 = num2 +1
+ Dim numero As Int = num
+ Starter.skmt.ExecNonQuery2("INSERT INTO CAT_RESULTADO_CA(CAT_CO_ACCION, CO_RESULTADO, CO_RDESCRIPCION, NUMERO, NUME) VALUES (?,?,?,?,?)", Array As Object(CAT_CO_ACCION, CO_RESULTADO, CO_RDESCRIPCION,numero,num2))
+ Next
+
+ End If
+
+ If result.Tag = "resultado_BR" Then 'query tag
+ Starter.skmt.ExecNonQuery("delete from CAT_RESULTADO_BR")
+ trabajos = trabajos - 1
+ Dim num As Int = 0
+ Dim num2 As Int = 1
+ Starter.skmt.ExecNonQuery2("INSERT INTO CAT_RESULTADO_BR(CAT_CO_ACCION, CO_RESULTADO, CO_RDESCRIPCION, NUMERO, NUME) VALUES (?,?,?,?,?)", Array As Object("BR","SO", "Selecciona una opción",num,num2))
+ For Each records() As Object In result.Rows
+ Dim CAT_CO_ACCION As String = records(result.Columns.Get("CAT_CO_ACCION"))
+ Dim CO_RESULTADO As String = records(result.Columns.Get("CAT_CO_RESULTADO"))
+ Dim CO_RDESCRIPCION As String = records(result.Columns.Get("CAT_CO_RDESCRIPCION"))
+ num = num + 1
+ num2 = num2 +1
+ Dim numero As Int = num
+ Starter.skmt.ExecNonQuery2("INSERT INTO CAT_RESULTADO_BR(CAT_CO_ACCION, CO_RESULTADO, CO_RDESCRIPCION, NUMERO, NUME) VALUES (?,?,?,?,?)", Array As Object(CAT_CO_ACCION, CO_RESULTADO, CO_RDESCRIPCION,numero,num2))
+ Next
+
+ End If
+
+ End If
+
+ Log(trabajos)
+ If trabajos = 0 Then
+ Starter.skmt.ExecNonQuery2("UPDATE CARGADO SET CARGADO = ?",Array As String("1"))
+ ProgressDialogHide
+ End If
+
+ End If
+End Sub
+
+Private Sub b_enviar_Click
+ Dim cmd As DBCommand
+ Dim foto1() As Byte
+ Dim foto2() As Byte
+ Dim foto3() As Byte
+ Dim foto4() As Byte
+ Dim Dirp As String = File.DirRootExternal
+ Dim Dir As String
+ Dim Dir2 As String
+ Dir = "/Arestrategicas"
+ Dir2 = "/reduccion"
+
+ c = Starter.skmt.ExecQuery("SELECT * FROM HIST_VISITA WHERE ESTATUS = 2 AND ENVIADO <> 1")
+ Log(c.RowCount)
+
+ For i = 0 To c.RowCount - 1
+ c.Position = i
+ foto1 = Bit.InputStreamToBytes(File.OpenInput(Dirp&Dir&Dir2,c.GetString("FOTOUNO")))
+ foto2 = Bit.InputStreamToBytes(File.OpenInput(Dirp&Dir&Dir2,c.GetString("FOTODOS")))
+ foto3 = Bit.InputStreamToBytes(File.OpenInput(Dirp&Dir&Dir2,c.GetString("FOTOTRES")))
+ foto4 = Bit.InputStreamToBytes(File.OpenInput(Dirp&Dir&Dir2,c.GetString("FOTOCUATRO")))
+
+ cmd.Initialize
+ cmd.Name = "insert_gestion_AR"
+ cmd.Parameters = Array As Object(c.GetString("CREDITO"), c.GetString("PRODUCTO"), c.GetString("VISITADOR"), c.GetString("RESULTADO"), c.GetString("CODIGO_RES"), c.GetString("PARENTESCO"), c.GetString("COMENTARIOS"), c.GetString("FECHA"), c.GetString("LONGITUD"), c.GetString("LATUTUD"), c.GetString("FECHACAPTURA"), c.GetString("AGENCIA"), c.GetString("FECHA_PROMESA"), c.GetString("MONTO_PROMESA"), c.GetString("TIPO_DOMICILIO"), c.GetString("NIVEL_SOCIO"), c.GetString("CARACTERISTICAS"), c.GetString("NIVELES"), foto1, foto2, foto3, foto4, c.GetString("NOMBRE_ATIENDE"), c.GetString("CODIGO_ACCION"), c.GetString("ACCION"), c.GetString("DIAS_ACCION"), c.GetString("PUNTOS_REF"))
+ B4XPages.MainPage.reqManager.ExecuteCommand(cmd, "insert_gestion_AREstrategicas")
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET ENVIADO = ? WHERE CREDITO = ?", Array As String("1",c.GetString("CREDITO")))
+ Next
+ MsgboxAsync("Datos enviados.","")
+ c.Close
+End Sub
+
+
+
+Private Sub et_findia_EnterPressed
+ Dim res As String
+ If et_findia.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
+ Starter.skmt.ExecNonQuery("delete from HIST_DATOS_GENERALES")
+ Starter.skmt.ExecNonQuery("delete from HIST_FINANCIEROS")
+ Starter.skmt.ExecNonQuery("delete from HIST_DATOS_GENERALES2")
+ Starter.skmt.ExecNonQuery("delete from HIST_FINANCIEROS2")
+ Starter.skmt.ExecNonQuery("delete from HIST_VISITA")
+ Starter.skmt.ExecNonQuery("delete from CHECADO")
+ Starter.skmt.ExecNonQuery("delete from CARGADO")
+ clv_cuentas.Clear
+ l_cuentasportrabajar.Text = "0"
+ l_cuentrastrabajadas.Text = "0"
+ et_findia.Text = ""
+ End If
+ End If
+End Sub
+
+Private Sub et_busqueda_TextChanged (Old As String, New As String)
+ Dim BUSCA As String
+ BUSCA = "%" & et_busqueda.Text & "%"
+ If et_busqueda.Text.Length = 0 Then
+ c = Starter.skmt.ExecQuery("SELECT CREDITO, NOMBRE, CALLE, N_EXT, N_INT, ALCALDIA, ESTATUS FROM HIST_DATOS_GENERALES WHERE ESTATUS2 <> 2 order by 1")
+
+ clv_cuentas.Clear
+ For i = 0 To c.RowCount - 1
+ c.Position = i
+ clv_cuentas.Add(CreateListItem(c.GetString("CREDITO"), c.GetString("NOMBRE"), ("CALLE: " & c.GetString("CALLE") &" NO. EXT: "& c.GetString("N_EXT") & CRLF & "No. INT: "& c.GetString("N_INT") &" COL.: "&c.GetString("ALCALDIA")), c.GetString("ESTATUS")),i)
+ Next
+ c.Close
+ Else If et_busqueda.Text.Length > 0 Then
+ c = Starter.skmt.ExecQuery2("SELECT CREDITO, NOMBRE, CALLE, N_EXT, N_INT, ALCALDIA, ESTATUS FROM HIST_DATOS_GENERALES WHERE NOMBRE LIKE ? OR CREDITO LIKE ? ",Array As String(BUSCA, BUSCA))
+
+ clv_cuentas.Clear
+ For i = 0 To c.RowCount - 1
+ c.Position = i
+ clv_cuentas.Add(CreateListItem(c.GetString("CREDITO"), c.GetString("NOMBRE"), ("CALLE: " & c.GetString("CALLE") &" NO. EXT: "& c.GetString("N_EXT") & CRLF & "No. INT: "& c.GetString("N_INT") &" COL.: "&c.GetString("ALCALDIA")), c.GetString("ESTATUS")),i)
+ Next
+ c.Close
+ End If
+End Sub
+
+Private Sub B4XPage_CloseRequest As ResumableSub
+
+
+ B4XPages.ShowPage("Mainpage")
+
+' Return True
+ Return False
+End Sub
\ No newline at end of file
diff --git a/B4A/CameraExClass2.bas b/B4A/CameraExClass2.bas
new file mode 100644
index 0000000..bc84bf4
--- /dev/null
+++ b/B4A/CameraExClass2.bas
@@ -0,0 +1,399 @@
+B4A=true
+Group=Default Group
+ModulesStructureVersion=1
+Type=Class
+Version=6
+@EndOfDesignText@
+'Class module
+'version 1.30
+'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
+ 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
+ Log("findCamera")
+ 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)
+ Log(r.target)
+ Log(numberOfCameras)
+ 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
+ Log("facing: " & r.GetField("facing") & ", " & cameraValue)
+ 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
+'Uncomment this sub if you need to handle the Preview event
+'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 GetSupportedPreviewSizes As CameraSize()
+ r.target = parameters
+ Dim list1 As List = r.RunMethod("getSupportedPreviewSizes")
+ 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 SetPreviewSize(Width As Int, Height As Int)
+ r.target = parameters
+ r.RunMethod3("setPreviewSize", Width, "java.lang.int", Height, "java.lang.int")
+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
+
+'Returns a list with the supported preview fps. Each item in the list is an array of two ints (minimum value and maximum value).
+Public Sub GetSupportedPreviewFpsRange As List
+ r.target = parameters
+ Return r.RunMethod("getSupportedPreviewFpsRange")
+End Sub
+'Returns the current preview fps range.
+'Range is a two elements array. The minimum value and maximum value will be stored in this array.
+Public Sub GetPreviewFpsRange(Range() As Int)
+ r.target = parameters
+ r.RunMethod4("getPreviewFpsRange", Array As Object(Range), Array As String("[I"))
+End Sub
+
+Public Sub SetPreviewFpsRange(MinValue As Int, MaxValue As Int)
+ r.target = parameters
+ r.RunMethod4("setPreviewFpsRange", Array As Object(MinValue, MaxValue), _
+ Array As String("java.lang.int", "java.lang.int"))
+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
+
+Public Sub GetSupportedPictureFormats As List
+ r.target = parameters
+ Return r.RunMethod("getSupportedPictureFormats")
+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
+
+Public Sub IsZoomSupported As Boolean
+ r.target = parameters
+ Return r.RunMethod("isZoomSupported")
+End Sub
+
+Public Sub GetMaxZoom As Int
+ r.target = parameters
+ Return r.RunMethod("getMaxZoom")
+End Sub
+
+Public Sub getZoom() As Int
+ r.target = parameters
+ Return r.RunMethod("getZoom")
+End Sub
+
+Public Sub setZoom(ZoomValue As Int)
+ r.target = parameters
+ r.RunMethod2("setZoom", ZoomValue, "java.lang.int")
+End Sub
+
+Public Sub getExposureCompensation As Int
+ r.target = parameters
+ Return r.RunMethod("getExposureCompensation")
+End Sub
+
+Public Sub setExposureCompensation(v As Int)
+ r.target = parameters
+ r.RunMethod2("setExposureCompensation", v, "java.lang.int")
+End Sub
+
+Public Sub getMinExposureCompensation As Int
+ r.target = parameters
+ Return r.RunMethod("getMinExposureCompensation")
+End Sub
+
+Public Sub getMaxExposureCompensation As Int
+ r.target = parameters
+ Return r.RunMethod("getMaxExposureCompensation")
+End Sub
+
+Public Sub SetFaceDetectionListener
+ Dim jo As JavaObject = nativeCam
+ Dim e As Object = jo.CreateEvent("android.hardware.Camera.FaceDetectionListener", "FaceDetection", Null)
+ jo.RunMethod("setFaceDetectionListener", Array(e))
+End Sub
+
+Private Sub FaceDetection_Event (MethodName As String, Args() As Object) As Object
+ Dim faces() As Object = Args(0)
+ For Each f As Object In faces
+ Dim jo As JavaObject = f
+ Dim faceRect As Rect = jo.GetField("rect")
+ Log(faceRect)
+ Next
+ Return Null
+End Sub
+
+
+
+Public Sub StartFaceDetection
+ Dim jo As JavaObject = nativeCam
+ jo.RunMethod("startFaceDetection", Null)
+End Sub
+
+Public Sub StopFaceDetection
+ Dim jo As JavaObject = nativeCam
+ jo.RunMethod("stopFaceDetection", Null)
+End Sub
+
diff --git a/B4A/DBRequestManager.bas b/B4A/DBRequestManager.bas
new file mode 100644
index 0000000..31298ba
--- /dev/null
+++ b/B4A/DBRequestManager.bas
@@ -0,0 +1,272 @@
+B4A=true
+Group=Default Group
+ModulesStructureVersion=1
+Type=Class
+Version=6.8
+@EndOfDesignText@
+''Class module
+
+'' Requiere accesRandom File y requiere compressStrings, byte converter y okhhtputuils2
+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 - 211109
+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 'ignore
+ 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 - 211109
+ jobTagAnterior = Job.Tag 'Mod por CHV - 211109
+ 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))'Comentado por CHV - 211112
+ 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
+
+
\ No newline at end of file
diff --git a/B4A/Files/alert2.png b/B4A/Files/alert2.png
new file mode 100644
index 0000000..44d3b7e
Binary files /dev/null and b/B4A/Files/alert2.png differ
diff --git a/B4A/Files/candado.png b/B4A/Files/candado.png
new file mode 100644
index 0000000..8122600
Binary files /dev/null and b/B4A/Files/candado.png differ
diff --git a/B4A/Files/cuenta.bal b/B4A/Files/cuenta.bal
new file mode 100644
index 0000000..a5c96d9
Binary files /dev/null and b/B4A/Files/cuenta.bal differ
diff --git a/B4A/Files/datos-varios.png b/B4A/Files/datos-varios.png
new file mode 100644
index 0000000..058934b
Binary files /dev/null and b/B4A/Files/datos-varios.png differ
diff --git a/B4A/Files/datos.bal b/B4A/Files/datos.bal
new file mode 100644
index 0000000..3c74e3c
Binary files /dev/null and b/B4A/Files/datos.bal differ
diff --git a/B4A/Files/engranes.png b/B4A/Files/engranes.png
new file mode 100644
index 0000000..868a879
Binary files /dev/null and b/B4A/Files/engranes.png differ
diff --git a/B4A/Files/financiero.bal b/B4A/Files/financiero.bal
new file mode 100644
index 0000000..6df8210
Binary files /dev/null and b/B4A/Files/financiero.bal differ
diff --git a/B4A/Files/fondo.png b/B4A/Files/fondo.png
new file mode 100644
index 0000000..ee96402
Binary files /dev/null and b/B4A/Files/fondo.png differ
diff --git a/B4A/Files/fondoblanco.png b/B4A/Files/fondoblanco.png
new file mode 100644
index 0000000..2e7ce3c
Binary files /dev/null and b/B4A/Files/fondoblanco.png differ
diff --git a/B4A/Files/gestion.bal b/B4A/Files/gestion.bal
new file mode 100644
index 0000000..d0bb7e3
Binary files /dev/null and b/B4A/Files/gestion.bal differ
diff --git a/B4A/Files/gestionadas.bal b/B4A/Files/gestionadas.bal
new file mode 100644
index 0000000..e699fa7
Binary files /dev/null and b/B4A/Files/gestionadas.bal differ
diff --git a/B4A/Files/icon_22-[convertido].png b/B4A/Files/icon_22-[convertido].png
new file mode 100644
index 0000000..d40595b
Binary files /dev/null and b/B4A/Files/icon_22-[convertido].png differ
diff --git a/B4A/Files/imglogo_cl_ar.png b/B4A/Files/imglogo_cl_ar.png
new file mode 100644
index 0000000..f018768
Binary files /dev/null and b/B4A/Files/imglogo_cl_ar.png differ
diff --git a/B4A/Files/kmt.db b/B4A/Files/kmt.db
new file mode 100644
index 0000000..2cbbb8e
Binary files /dev/null and b/B4A/Files/kmt.db differ
diff --git a/B4A/Files/lupa.png b/B4A/Files/lupa.png
new file mode 100644
index 0000000..4f586bf
Binary files /dev/null and b/B4A/Files/lupa.png differ
diff --git a/B4A/Files/mainpage.bal b/B4A/Files/mainpage.bal
new file mode 100644
index 0000000..23e131b
Binary files /dev/null and b/B4A/Files/mainpage.bal differ
diff --git a/B4A/Files/principal.bal b/B4A/Files/principal.bal
new file mode 100644
index 0000000..93ab898
Binary files /dev/null and b/B4A/Files/principal.bal differ
diff --git a/B4A/Files/scroll.bal b/B4A/Files/scroll.bal
new file mode 100644
index 0000000..d2bb505
Binary files /dev/null and b/B4A/Files/scroll.bal differ
diff --git a/B4A/Files/usuario.png b/B4A/Files/usuario.png
new file mode 100644
index 0000000..2935f41
Binary files /dev/null and b/B4A/Files/usuario.png differ
diff --git a/B4A/ManageExternalStorage.bas b/B4A/ManageExternalStorage.bas
new file mode 100644
index 0000000..6dbb41f
--- /dev/null
+++ b/B4A/ManageExternalStorage.bas
@@ -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:arestrategicas.keymon.lat")
+ 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
+
diff --git a/B4A/Starter.bas b/B4A/Starter.bas
new file mode 100644
index 0000000..2c148fc
--- /dev/null
+++ b/B4A/Starter.bas
@@ -0,0 +1,62 @@
+B4A=true
+Group=Default Group
+ModulesStructureVersion=1
+Type=Service
+Version=9.85
+@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
+ Dim reqManager As DBRequestManager
+ Dim DBReqServer As String = "http://keymon.lat:1788" '"http://keymon.lat:1788" "http://11.0.0.196:1782" "http://keymon.lat:1783" "http://11.0.0.48:1783" ""' CAMBIAR HACIA AFUERA O DENTRO DE LA OFNA
+' Dim server As String = "http://10.0.0.205:1782"
+ Dim rutaBD As String = File.DirInternal
+ Dim skmt As SQL
+ Dim almacen As String
+ Dim GPS As GPS
+ Public rp As RuntimePermissions
+ Public FLP As FusedLocationProvider
+ Private flpStarted As Boolean
+ Dim latitud As Double = 0
+ Dim longitud As Double = 0
+ Dim ubicacionActual As Location
+ Dim logger As Boolean
+ Dim muestraProgreso = 0
+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.
+ GPS.Initialize("GPS")
+ ubicacionActual.Initialize
+
+
+End Sub
+
+Sub Service_Start (StartingIntent As Intent)
+ Service.StopAutomaticForeground 'Starter service can start in the foreground state in some edge cases.
+ Subs.revisaBD
+ reqManager.Initialize(Me, DBReqServer)
+ If Not(skmt.IsInitialized) Then skmt.Initialize(rutaBD, "kmt.db", True)
+End Sub
+
+Sub Service_TaskRemoved
+ 'This event will be raised when the user removes the app from the recent apps list.
+End Sub
+
+Sub Service_Destroy
+
+End Sub
+
+Sub reinicializaReqManager
+ reqManager.Initialize(Me, DBReqServer)
+' B4XPages.MainPage.reqManager.Initialize(Me, server)
+ If logger Then Log(DBReqServer)
+End Sub
+
diff --git a/B4A/Subs.bas b/B4A/Subs.bas
new file mode 100644
index 0000000..1b670f8
--- /dev/null
+++ b/B4A/Subs.bas
@@ -0,0 +1,58 @@
+B4A=true
+Group=Default Group
+ModulesStructureVersion=1
+Type=StaticCode
+Version=11.5
+@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.
+End Sub
+
+'Revisa que exista la BD y si es necesario crea algunas tablas dentro de ella
+Sub revisaBD 'ignore
+ If Not(File.Exists(Starter.rutaBD, "kmt.db")) Then File.Copy(File.DirAssets, "kmt.db", Starter.rutaBD, "kmt.db")
+ If Not(Starter.skmt.IsInitialized) Then Starter.skmt.Initialize(Starter.rutaBD, "kmt.db", True)
+
+ Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_DATOS_GENERALES(CREDITO TEXT, NOMBRE TEXT, RFC TEXT, CURP TEXT, CALLE TEXT, N_EXT TEXT, N_INT TEXT, ALCALDIA TEXT, MUNICIPIO TEXT, ENTIDAD TEXT, CP TEXT, SEXO TEXT, FECHA_NACIMIENTO TEXT, EDAD TEXT, EMAIL TEXT, ESTATUS TEXT, ESTATUS2 TEXT)")
+ Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_FINANCIEROS(CREDITO TEXT, CARTERA TEXT, AGENCIA TEXT, SALDO_TOTAL TEXT, MONTO_PAGAR TEXT, TOTAL_PAGO_DESC TEXT, LIQUIDACION TEXT, DIAS_VENCIDOS TEXT, DIAS_ATRASO_ACT TEXT, FECHA_ATRASO TEXT, BBVA TEXT, OXXO TEXT, ESTATUS TEXT, ESTATUS2 TEXT)")
+ Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_DATOS_GENERALES2(CREDITO TEXT, NOMBRE TEXT, RFC TEXT, CURP TEXT, CALLE TEXT, N_EXT TEXT, N_INT TEXT, ALCALDIA TEXT, MUNICIPIO TEXT, ENTIDAD TEXT, CP TEXT, SEXO TEXT, FECHA_NACIMIENTO TEXT, EDAD TEXT, EMAIL TEXT, ESTATUS TEXT, ESTATUS2 TEXT)")
+ Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_FINANCIEROS2(CREDITO TEXT, CARTERA TEXT, AGENCIA TEXT, SALDO_TOTAL TEXT, MONTO_PAGAR TEXT, TOTAL_PAGO_DESC TEXT, LIQUIDACION TEXT, DIAS_VENCIDOS TEXT, DIAS_ATRASO_ACT TEXT, FECHA_ATRASO TEXT, BBVA TEXT, OXXO TEXT, ESTATUS TEXT, ESTATUS2 TEXT)")
+ Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_FUENTE(FUENTE TEXT, NUMERO INT, NUME INT)")
+ Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_PARENTESCO (PARENTESCO TEXT, NUMERO INT, NUME INT)")
+ Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_ACCION(CO_ACCION TEXT, CO_ACDESCRIPCION TEXT, NUMERO INT, NUME INT)")
+ Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_RESULTADO_MA(CAT_CO_ACCION TEXT,CO_RESULTADO TEXT, CO_RDESCRIPCION TEXT, NUMERO INT, NUME INT)")
+ Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_RESULTADO_VC(CAT_CO_ACCION TEXT,CO_RESULTADO TEXT, CO_RDESCRIPCION TEXT, NUMERO INT, NUME INT)")
+ Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_RESULTADO_CA(CAT_CO_ACCION TEXT,CO_RESULTADO TEXT, CO_RDESCRIPCION TEXT, NUMERO INT, NUME INT)")
+ Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_RESULTADO_BR(CAT_CO_ACCION TEXT,CO_RESULTADO TEXT, CO_RDESCRIPCION TEXT, NUMERO INT, NUME INT)")
+ Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_VISITA(CREDITO TEXT, PRODUCTO TEXT, VISITADOR TEXT, RESULTADO TEXT, CODIGO_RES TEXT, FUENTE TEXT, PARENTESCO TEXT, COMENTARIOS TEXT, FECHA TEXT, LONGITUD TEXT, LATUTUD TEXT, FECHACAPTURA TEXT, AGENCIA TEXT, FECHA_PROMESA TEXT, MONTO_PROMESA TEXT, TIPO_DOMICILIO TEXT, NIVEL_SOCIO TEXT, CARACTERISTICAS TEXT, NIVELES TEXT, FOTOUNO TEXT, FOTODOS TEXT, FOTOTRES TEXT, FOTOCUATRO TEXT, NOMBRE_ATIENDE TEXT, CODIGO_ACCION TEXT, ACCION TEXT, DIAS_ACCION TEXT, PUNTOS_REF TEXT, ESTATUS INT, ENVIADO TEXT)")
+ Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS TIPO_VIVIENDA(TIPO TEXT, NUMERO INT)")
+ Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS NIVEL_SOCIO(NIVEL TEXT, NUMERO INT)")
+ Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CARACTERISTICAS(TIPO TEXT, NUMERO INT)")
+ Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS NUMERO_NIV(NIVELES TEXT, NUMERO INT)")
+ Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CHECADO(CREDITO TEXT, LUNES TEXT, MARTES TEXT, MIERCOLES TEXT, JUEVES TEXT, VIERNES TEXT, SABADO TEXT, DOMINGO TEXT)")
+ Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CARGADO(CARGADO TEXT)")
+ Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_VARIABLES(CAT_VA_DESCRIPCION TEXT, CAT_VA_VALOR TEXT)")
+
+' Starter.skmt.ExecNonQuery("DROP TABLE IF EXISTS HIST_DATOS_GENERALES")
+' Starter.skmt.ExecNonQuery("DROP TABLE IF EXISTS HIST_FINANCIEROS")
+' Starter.skmt.ExecNonQuery("DROP TABLE IF EXISTS HIST_DATOS_GENERALES2")
+' Starter.skmt.ExecNonQuery("DROP TABLE IF EXISTS HIST_FINANCIEROS2")
+' Starter.skmt.ExecNonQuery("DROP TABLE IF EXISTS CAT_FUENTE")
+' Starter.skmt.ExecNonQuery("DROP TABLE IF EXISTS CAT_PARENTESCO")
+' Starter.skmt.ExecNonQuery("DROP TABLE IF EXISTS CAT_ACCION")
+' Starter.skmt.ExecNonQuery("DROP TABLE IF EXISTS CAT_RESULTADO_MA")
+' Starter.skmt.ExecNonQuery("DROP TABLE IF EXISTS CAT_RESULTADO_BR")
+' Starter.skmt.ExecNonQuery("DROP TABLE IF EXISTS CAT_RESULTADO_CA")
+' Starter.skmt.ExecNonQuery("DROP TABLE IF EXISTS CAT_RESULTADO_VC")
+' Starter.skmt.ExecNonQuery("DROP TABLE IF EXISTS HIST_VISITA")
+' Starter.skmt.ExecNonQuery("DROP TABLE IF EXISTS TIPO_VIVIENDA")
+' Starter.skmt.ExecNonQuery("DROP TABLE IF EXISTS NIVEL_SOCIO")
+' Starter.skmt.ExecNonQuery("DROP TABLE IF EXISTS CARACTERISTICAS")
+' Starter.skmt.ExecNonQuery("DROP TABLE IF EXISTS NUMERO_NIV")
+' Starter.skmt.ExecNonQuery("DROP TABLE IF EXISTS CHECADO")
+' Starter.skmt.ExecNonQuery("DROP TABLE IF EXISTS CAT_VARIABLES")
+
+End Sub
diff --git a/B4A/Tracker.bas b/B4A/Tracker.bas
new file mode 100644
index 0000000..224dd67
--- /dev/null
+++ b/B4A/Tracker.bas
@@ -0,0 +1,218 @@
+B4A=true
+Group=Default Group
+ModulesStructureVersion=1
+Type=Service
+Version=11
+@EndOfDesignText@
+#Region Service Attributes
+ #StartAtBoot: True
+#End Region
+'******************************************************************************
+'No olvidar agregar esta linea al editor de manifiesto:
+' SetServiceAttribute(Tracker, android:foregroundServiceType, "location")
+'
+'En Starter agregar estas lineas en Process_Globals
+' Public rp As RuntimePermissions
+' Public FLP As FusedLocationProvider
+' Private flpStarted As Boolean
+'
+'En Main agregar estas lineas a Activity_Resume
+' Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_ACCESS_FINE_LOCATION)
+' Wait For Activity_PermissionResult (Permission As String, Result As Boolean)
+' If Result Then
+' StartService(Tracker)
+' Log("Start Tracker")
+' Else
+' ToastMessageShow("No permission", True)
+' End If
+'
+'Se necesitan las librerias FusedLocationProvider, GPS, Phone y RunTimePermissions
+'
+'Y en Main agregar estas dos lineas:
+'#AdditionalJar: com.android.support:support-v4
+'#AdditionalJar: com.google.android.gms:play-services-location
+
+Sub Process_Globals
+' Private nid As Int = 1
+ Private Tracking As Boolean
+ Private lock As PhoneWakeState
+ 'Para FusedLocationProvider (2 lineas)
+ Public FLP As FusedLocationProvider
+ Dim actualLR As LocationRequest
+ Private flpStarted As Boolean
+' Dim locRequest As String
+ Dim UUGCoords As Location 'Ultima Ubicacion Guardada
+' Dim trackerActividad, pushServiceActividad As String
+ Dim logger As Boolean = True
+End Sub
+
+Sub Service_Create
+ Service.AutomaticForegroundMode = Service.AUTOMATIC_FOREGROUND_NEVER 'we are handling it ourselves
+ UUGCoords.Initialize
+ logger = False
+ 'Para FusedLocationProvider (2 lineas)
+ FLP.Initialize("flp")
+ FLP.Connect
+ lock.PartialLock
+ StartFLP
+End Sub
+
+Sub flp_ConnectionSuccess
+' If logger Then Log("Connected to location provider")
+ 'FLP.GetLastKnownLocation
+End Sub
+
+Sub flp_ConnectionFailed(ConnectionResult1 As Int)
+ If logger Then Log("Failed to connect to location provider")
+End Sub
+
+Sub flp_ConnectionSuspended(ConnectionResult1 As Int)
+ If logger Then Log("FLP conection suspended")
+ StartFLP
+End Sub
+
+Sub Service_Start (StartingIntent As Intent)
+ LogColor("Iniciando Tracker ...", Colors.Green)
+ Service.StopAutomaticForeground
+' Service.StartForeground(51042, Subs.notiLowReturn("Kelloggs", "Activo", 51042))
+ StartServiceAt(Me, DateTime.Now + 10 * DateTime.TicksPerMinute, True)
+ Track
+End Sub
+
+Public Sub Track
+ Log("Inicia Track - Tracking : "&Tracking)
+ If Tracking Then
+' Log(actualLR.GetSmallestDisplacement)
+ Return 'Si ya estamos "rastreando" no hacemos nada (return)
+ End If
+ If Starter.rp.Check(Starter.rp.PERMISSION_ACCESS_FINE_LOCATION) = False Then
+ If logger Then Log("Sin permisos de ublicación.")
+ Return
+ End If
+ StartFLP 'Iniciamos FusedLocationProvider
+ Tracking = True
+End Sub
+
+Public Sub StartFLP
+ Log("StartFLP - flpStarted="&flpStarted)
+ Do While FLP.IsConnected = False
+ Sleep(500)
+ If logger Then Log("sleeping")
+ Loop
+' If flpStarted = False Then
+' If logger Then Log("RequestLocationUpdates")
+' FLP.RequestLocationUpdates(CreateLocationRequest) 'Buscamos ubicacion
+ If logger Then LogColor("Buscamos ubicacion (movimientoMinimo = "&actualLR.GetSmallestDisplacement&")", Colors.Magenta)
+' If logger Then Log(actualLR.GetSmallestDisplacement)
+ flpStarted = True
+' End If
+End Sub
+
+Public Sub StartFLP2
+ If logger Then Log("StartFLP2 - flpStarted="&flpStarted)
+ Do While FLP.IsConnected = False
+ Sleep(500)
+ If logger Then Log("sleeping")
+ Loop
+ dameUltimaUbicacionConocida 'Regresamos ultima ubicacion conocida
+ FLP.RequestLocationUpdates(CreateLocationRequest2) 'Buscamos ubicacion 2 peticiones
+ If logger Then LogColor("Buscamos ubicacion (movimientoMinimo = "&actualLR.GetSmallestDisplacement&")", Colors.Magenta)
+' If logger Then Log(actualLR.GetSmallestDisplacement)
+End Sub
+
+Private Sub CreateLocationRequest As LocationRequest
+ If logger Then Log("CreateLocationRequest")
+ Dim lr As LocationRequest
+ lr.Initialize
+ lr.SetInterval(10000) 'Intervalo deseado para actualizaciones de ubicacion
+ lr.SetFastestInterval(lr.GetInterval / 2) 'Intervalo minimo para actualizaciones de ubicacion
+ lr.SetSmallestDisplacement(75) 'Solo registra cambio de ubicacion si es mayor a XX mts
+ lr.SetPriority(lr.Priority.PRIORITY_HIGH_ACCURACY)
+ actualLR=lr
+ Return lr
+End Sub
+
+Private Sub CreateLocationRequest2 As LocationRequest
+ If logger Then Log("Iniciamos CreateLocationRequest2")
+ Dim lr As LocationRequest
+ lr.Initialize
+ lr.SetInterval(2000) 'Intervalo deseado para actualizaciones de ubicacion
+ lr.SetFastestInterval(lr.GetInterval / 2) 'Intervalo minimo para actualizaciones de ubicacion
+ lr.setNumUpdates(2) 'Solicitamos solo 2 actualizaciones con estos parametros
+ lr.SetSmallestDisplacement(1) 'Solo registra cambio de ubicacion si es mayor a XX mts
+ lr.SetPriority(lr.Priority.PRIORITY_HIGH_ACCURACY)
+ actualLR=lr
+ Return lr
+End Sub
+
+Sub dameUltimaUbicacionConocida
+ If FLP.GetLastKnownLocation.IsInitialized Then 'Mandamos ultima ubicacion guardada
+' If logger Then LogColor($"Mandamos UUC "${Subs.fechaKMT(FLP.GetLastKnownLocation.Time)}|Acc:$0.2{FLP.GetLastKnownLocation.Accuracy}|$0.8{FLP.GetLastKnownLocation.Latitude}|$0.8{FLP.GetLastKnownLocation.Longitude}|Spd:$0.2{FLP.GetLastKnownLocation.Speed}|"$, Colors.RGB(255,112,35))
+' Dim coords As String = FLP.GetLastKnownLocation.Latitude&","&FLP.GetLastKnownLocation.Longitude&","&formatoFecha(FLP.GetLastKnownLocation.Time)
+' CallSubDelayed2(FirebaseMessaging,"mandamosLoc",coords)
+' Subs.mandamosLoc(coords)
+ End If
+End Sub
+
+Public Sub StopFLP
+ 'Log("StopFLP")
+ If flpStarted Then
+ FLP.RemoveLocationUpdates 'Eliminamos todas las solicitudes de ubicacion
+ flpStarted = False
+ End If
+End Sub
+
+Sub flp_LocationChanged (Location1 As Location)
+ Starter.latitud = Location1.Latitude
+ Starter.longitud = Location1.Longitude
+ LogColor($"Location changed lat=${Location1.Latitude}, lon=${Location1.Longitude}, Acc=${Location1.Accuracy}, SD=$1.0{actualLR.GetSmallestDisplacement}"$, Colors.green)
+ UUGCoords = Location1
+' If logger Then Log("SmallestDisplacement="&actualLR.GetSmallestDisplacement)
+' CallSub2(Starter, "GPS_LocationChanged", Location1)
+' CallSub2(gestion, "GPS_LocationChanged", Location1)
+' Starter.ubicacionActual.Latitude = Starter.lat_gps
+' Starter.ubicacionActual.Longitude = Starter.lon_gps
+' Starter.ubicacionActual.Accuracy = Location1.Accuracy
+
+ '/////// para la ultima ubicacion FL
+ Dim sDate,sTime As String
+ DateTime.DateFormat = "MM/dd/yyyy"
+ sDate=DateTime.Date(DateTime.Now)
+ sTime=DateTime.Time(DateTime.Now)
+' If Starter.lat_gps <> 0 And Starter.lat_gps <> Null Then
+' Try
+' Starter.skmt.ExecNonQuery("DELETE FROM HIST_GPS")
+' Starter.skmt.ExecNonQuery2("INSERT INTO HIST_GPS (HGDATE, HGLAT, HGLON) VALUES(?,?,?) ", Array As Object (sDate & sTime, Starter.lat_gps, Starter.lon_gps))
+' Catch
+' If logger Then Log("Error al borrar o insertar nuevas coordendas en HIST_GPS")
+' End Try
+' End If
+
+
+End Sub
+
+Sub CreateNotification (Body As String) As Notification 'ignore
+ Dim notification As Notification
+ notification.Initialize2(notification.IMPORTANCE_LOW)
+ notification.Icon = "icon"
+ notification.SetInfo("This", Body, Main)
+ Return notification
+End Sub
+
+Sub Service_Destroy
+ If Tracking Then
+ StopFLP
+ End If
+ Tracking = False
+ lock.ReleasePartialLock
+End Sub
+
+Sub formatoFecha(fecha As String) As String 'ignore 'Convierte una fecha al formato yyMMddHHmmss
+' Log(fecha)
+ Dim OrigFormat As String = DateTime.DateFormat 'save orig date format
+ DateTime.DateFormat="yyMMddHHmmss"
+ Dim lastUpdate As String=DateTime.Date(fecha)
+ DateTime.DateFormat=OrigFormat 'return to orig date format
+' Log(lastUpdate)
+ Return lastUpdate
+End Sub
\ No newline at end of file
diff --git a/B4A/appUpdater.bas b/B4A/appUpdater.bas
new file mode 100644
index 0000000..1a63778
--- /dev/null
+++ b/B4A/appUpdater.bas
@@ -0,0 +1,282 @@
+B4A=true
+Group=Default Group
+ModulesStructureVersion=1
+Type=Service
+Version=10.2
+@EndOfDesignText@
+#Region Service Attributes
+ #StartAtBoot: False
+#End Region
+
+'////////////////////////////////////////////////////////////////////////////////////////////
+'//// Servicio para revisar si hay actualizacion de aplicación, usa la
+'//// actividad "updateAvailable" para mostrar mensajes.
+'////
+'//// https://www.b4x.com/android/forum/threads/update-your-app-without-using-the-gplaystore.109720/#content
+'////
+'//// En la actividad del la cual se va a llamar la revision de actualizacion
+'//// hay que agregar los siguientes Subs:
+'////
+' Sub boton_que_llama_revision_Click
+' StartService(appUpdater)
+' End Sub
+'
+' appUpdater - Mostramos el anuncio de que se esta descargando el nuevo apk
+' Sub muestraProgreso
+' ProgressDialogShow("Descargando actualización")
+' End Sub
+'
+' appUpdater - Ocultamos el anuncio de que se esta descargando el nuevo apk
+' Sub ocultaProgreso
+' ProgressDialogHide
+' End Sub
+'////
+'//// Requiere las siguientes librerias:
+'////
+'//// * appUpdating
+'//// * JavaObject
+'//// * OkHttpUtils2
+'//// * Phone
+'//// * RuntimePermissions
+'////
+'//// Requiere las siguientes lineas en el manifiesto:
+'////
+' AddManifestText(
+' )
+' AddApplicationText(
+'
+'
+'
+' )
+' CreateResource(xml, provider_paths,
+'
+'
+'
+'
+'
+' )
+' AddPermission(android.permission.REQUEST_INSTALL_PACKAGES)
+' AddPermission(android.permission.INTERNET)
+' AddPermission(android.permission.INSTALL_PACKAGES)
+' AddPermission(android.permission.READ_EXTERNAL_STORAGE)
+' AddPermission(android.permission.WRITE_EXTERNAL_STORAGE)
+' AddPermission(android.permission.READ_PHONE_STATE)
+' AddPermission(android.permission.WAKE_LOCK)
+'////
+'////////////////////////////////////////////////////////////////////////////////////////////
+
+Sub Process_Globals
+ 'These global variables will be declared once when the application starts.
+ 'These variables can be accessed from all modules.
+
+ 'Aqui va la liga al archivo .ver en el servidor que contiene la información de la aplicacion
+ Public lnk As String = "https://keymon.lat/movil/Arlete/ARE.ver"
+
+ '/// En el servidor se necesita un archivo de texto (.ver) que tenga los siguientes
+ '/// datos separados por un tabulador
+ '/// contents of ver file, each field is seperated by a tab
+ ' Field 0 = 2.226.19.09.19.01a <-- Esta es la version de la aplicación disponible
+ ' Field 1 = A new version of the MyAPP is available, Download and update now ? <-- Mensaje para cuando hay actualización
+ ' Field 2 = MyApp is up to date <--- Mensaje para cuando no hay actualización
+ ' Field 3 = http://www.mydomain.com/Public/myapp.apk <--- Liga al apk de la actualización
+
+ Public nNewApp As Notification
+ Public nNewAppnID As Int = 16
+ 'Para Download
+ Dim nativeMe As JavaObject
+ Dim n2 As Notification
+ Dim n2ID As Int = 16
+ 'Para fileProvider
+ Public SharedFolder As String
+ Public UseFileProvider As Boolean
+ Private rp As RuntimePermissions
+
+ Type mNewVersion(update As Boolean, nonewAPP As Boolean, notifyUser As Boolean, _
+ version As String, newMsg As String, okMsg As String, appLink As String)
+ Public newApp As mNewVersion
+End Sub
+
+Sub Service_Create
+ Log("appUpdater(), Service_Create")
+ newApp.Initialize
+ Service.AutomaticForegroundMode = Service.AUTOMATIC_FOREGROUND_NEVER
+ n2.Initialize
+ nativeMe.InitializeContext
+End Sub
+
+Sub Service_Start (StartingIntent As Intent)
+ Log("appUpdater(), Service_Start")
+' CallSubDelayed2(Main, "muestraProgreso", "Buscando actualización")
+ B4XPages.MainPage.muestraProgreso("Buscando actualización")
+ Log("Buscando actualización")
+ fileProvider_init
+ Wait For (Download(Me, lnk)) JobDone (j As HttpJob)
+ If j.Success Then
+ Try
+ Dim app() As String = Regex.Split(Chr(9),j.GetString)
+ ' // Set the data
+ newApp.appLink = app(3) 'Liga a nueva app
+ newApp.newMsg = app(1) 'Texto de que hay actualizacion
+ newApp.okMsg = app(2) 'Texto de app al corriente
+ newApp.version = app(0) 'Version actual
+
+ Log($"Application.VersionName=${Application.VersionName}, newApp=${newApp}"$)
+
+ ' // App version check
+ If newApp.version = Application.VersionName Then
+ newApp.update = False
+ Log("No new app")
+ B4XPages.ShowPage("updateAvailable")
+ 'Se puede mandar tambien una notificacion avisando que NO hay actualizaciones
+ CreateNotification2("Aplicacion al corriente","No hay actualizaciones disponibles","ic_file_download_white_24dp",Main,True,True,nNewApp,nNewAppnID)
+ End If
+ If newApp.version <> Application.VersionName Then
+ newApp.update = True
+ Log("New app true")
+ B4XPages.ShowPage("updateAvailable")
+ 'Se puede mandar tambien una notificacion avisando que hay actualizacion disponible
+' CreateNotification2("Nueva aplicación disponible","Haga clic para descargar.","ic_file_download_white_24dp",C_UpdateAvailable,True,True,nNewApp,nNewAppnID)
+ End If
+ Catch
+ Log("appUpdater(), Job Failed, error " & LastException.Message)
+ End Try
+ Else
+ Log("appUpdater(), Job Failed " & lnk)
+ End If
+ j.Release
+' StopService(Me)
+End Sub
+
+Sub download_Start (StartingIntent As Intent)
+ download_newApk
+End Sub
+
+Sub download_newApk
+' CreateNotification("Descargando actualización", "Descargando apk", "ic_file_download_white_24dp", Main, False, True)
+' CallSubDelayed2(Main, "muestraProgreso", "Descargando actualización")
+ Log("Descargando actualización")
+ B4XPages.ShowPage("Mainpage")
+ Starter.muestraProgreso = 1
+ Dim job_newAPP As HttpJob
+ job_newAPP.Initialize("job_newAPP",Me)
+ job_newAPP.Download(newApp.appLink)
+ Wait for (job_newAPP) JobDone (job_newAPP As HttpJob)
+ If job_newAPP.Success = True Then
+ ' // Delete existing file
+ If File.Exists(SharedFolder,"newapp.apk") Then
+ File.Delete(SharedFolder,"newapp.apk")
+ End If
+ ' // Save new file
+ Dim outNewAPK As OutputStream = File.OpenOutput(SharedFolder,"newapp.apk", False)
+ File.Copy2(job_newAPP.GetInputStream, outNewAPK)
+ outNewAPK.Close
+ If Starter.Logger Then Log("APK dir: "&SharedFolder)
+ End If
+ job_newAPP.Release
+ ' // Install the app
+ Dim in As Intent
+ in.Initialize(in.ACTION_VIEW,"" )
+ SetFileUriAsIntentData(in, "newapp.apk")
+ ' // Type must be set after calling SetFileUriAsIntentData
+ in.SetType("application/vnd.android.package-archive")
+ StartActivity(in)
+ n2.Cancel(nNewAppnID)
+ B4XPages.MainPage.ocultaProgreso
+' Service.StopForeground(nNewAppnID)
+ StopService(Me)
+' CallSubDelayed(Main,"ocultaProgreso")
+End Sub
+
+Sub download_Destroy
+ n2.Cancel(n2ID)
+ Service.StopForeground(n2ID)
+End Sub
+
+Sub Download (Callback As Object, link As String) As HttpJob
+ Dim j As HttpJob
+ j.Initialize("", Callback)
+ j.Download(link)
+ Return j
+End Sub
+
+Private Sub CreateNotification2(Title As String, Content As String, _ 'ignore
+ Icon As String, TargetActivity As Object, Sound As Boolean, _
+ Vibrate As Boolean, pN As Notification,pNID As Int) As Notification
+ pN.Initialize2(pN.IMPORTANCE_HIGH)
+' pN.Number = pNID
+' pN.Light = False
+ pN.Vibrate = Vibrate
+ pN.Sound = Sound
+' pN.OnGoingEvent = False
+ pN.Icon = Icon
+ pN.AutoCancel = True
+ pN.SetInfo(Title, Content, TargetActivity)
+ pN.Notify(pNID)
+ Return pN
+End Sub
+
+Private Sub CreateNotification(Title As String, Content As String, Icon As String, TargetActivity As Object, Sound As Boolean, Vibrate As Boolean) As Notification 'ignore
+ n2.Initialize
+ n2.Light = False
+ n2.Vibrate = Vibrate
+ n2.Sound = Sound
+ n2.OnGoingEvent = True
+ n2.Icon = Icon
+ n2.SetInfo(Title, Content, TargetActivity)
+ n2.Notify(nNewAppnID)
+End Sub
+
+Sub Service_Destroy
+ Log("appUpdater(), Service_Destroy")
+End Sub
+
+Sub fileProvider_init
+ Dim p As Phone
+ If p.SdkVersion >= 24 Or File.ExternalWritable = False Then
+ UseFileProvider = True
+ SharedFolder = File.Combine(File.DirInternal, "shared")
+ If Not(File.IsDirectory(File.DirInternal,"shared")) Then
+ File.MakeDir("", SharedFolder)
+ End If
+ Else
+ UseFileProvider = False
+ SharedFolder = rp.GetSafeDirDefaultExternal("shared")
+ End If
+ Log($"Using FileProvider? ${UseFileProvider}"$)
+End Sub
+
+'Returns the file uri.
+Sub GetFileUri (FileName As String) As Object
+ Try
+ If Not(UseFileProvider) Then
+ Dim uri As JavaObject
+ Return uri.InitializeStatic("android.net.Uri").RunMethod("parse", Array("file://" & File.Combine(SharedFolder, FileName)))
+ End If
+ Dim f As JavaObject
+ f.InitializeNewInstance("java.io.File", Array(SharedFolder, FileName))
+ Dim fp As JavaObject
+ Dim context As JavaObject
+ context.InitializeContext
+ fp.InitializeStatic("android.support.v4.content.FileProvider")
+ Return fp.RunMethod("getUriForFile", Array(context, Application.PackageName & ".provider", f))
+ Catch
+ Log("FileProvider::GetFileUri - error - " & LastException.Message)
+ Return ""
+ End Try
+End Sub
+
+'Replaces the intent Data field with the file uri.
+'Resets the type field. Make sure to call Intent.SetType after calling this method
+Sub SetFileUriAsIntentData (Intent As Intent, FileName As String)
+ Dim jo As JavaObject = Intent
+ jo.RunMethod("setData", Array(GetFileUri(FileName)))
+ Intent.Flags = Bit.Or(Intent.Flags, 1) 'FLAG_GRANT_READ_URI_PERMISSION
+End Sub
diff --git a/B4A/c_datos.bas b/B4A/c_datos.bas
new file mode 100644
index 0000000..4c1d93f
--- /dev/null
+++ b/B4A/c_datos.bas
@@ -0,0 +1,2177 @@
+B4A=true
+Group=Default Group
+ModulesStructureVersion=1
+Type=Class
+Version=12.2
+@EndOfDesignText@
+Sub Class_Globals
+ Private Root As B4XView
+ Private xui As XUI
+ Private WobbleMenu1 As WobbleMenu
+ Private ScrollView1 As ScrollView
+ Private ScrollView2 As ScrollView
+ Private ScrollView3 As ScrollView
+ Private p_financiero As Panel
+ Private p_gestion As Panel
+ Private p_scroll As Panel
+ Private Panel1 As Panel
+ Private Panel2 As Panel
+ Private p_w1 As Panel
+ Private p_w2 As Panel
+ Private p_w3 As Panel
+ Private l_titulo As Label
+ Private b_guardar As Button
+ Dim c As Cursor
+ Dim b As Cursor
+ Dim d As Cursor
+ Dim e As Cursor
+ Dim f As Cursor
+ Dim g As Cursor
+ Dim s As Cursor
+ Dim p As Cursor
+ Dim q As Cursor
+ Dim r As Cursor
+ Dim cuenta As String
+ Dim device As Phone
+ Dim MES1 As ManageExternalStorage
+
+ 'Datos generales
+ Private l_nombreg As Label
+ Private l_rfc As Label
+ Private l_curp As Label
+ Private l_calle As Label
+ Private l_noext As Label
+ Private l_noint As Label
+ Private l_alcaldia As Label
+ Private l_municipio As Label
+ Private l_entidad As Label
+ Private l_cp As Label
+ Private l_sexo As Label
+ Private l_fn As Label
+ Private l_edad As Label
+ Private l_email As Label
+
+ 'Datos financieros
+ Private l_cartera As Label
+ Private l_saldotot As Label
+ Private l_montoapagar As Label
+ Private l_totalapagar As Label
+ Private l_liquidacion As Label
+ Private l_diasvencidos As Label
+ Private l_diasatraso As Label
+ Private l_fechaatraso As Label
+ Private l_bbva As Label
+ Private l_oxxo As Label
+
+ 'Gestion
+
+ Private cb_fuente As B4XComboBox
+ Private cb_parentesco As B4XComboBox
+ Private cb_accion As B4XComboBox
+ Private cb_resultado As B4XComboBox
+ Private cb_socioeconomico As B4XComboBox
+ Private cb_vivienda As B4XComboBox
+ Private cb_caracteristicas As B4XComboBox
+ Private cb_numero As B4XComboBox
+ Private chb_lunes As CheckBox
+ Private chb_martes As CheckBox
+ Private chb_miercoles As CheckBox
+ Private chb_jueves As CheckBox
+ Private chb_viernes As CheckBox
+ Private chb_sabado As CheckBox
+ Private chb_domingo As CheckBox
+ Private i_datosparentesco As ImageView
+ Private i_resultado As ImageView
+ Private p_parentesco As Panel
+ Private b_guardar_parentesco As Button
+ Private et_parentesco As EditText
+ Dim parentesco As String = ""
+ Private p_nom_parentesco As Panel
+ Private p_resultado As Panel
+ Private p_datosresultado As Panel
+ Private et_monto As EditText
+ Private ASWheelPicker1 As ASWheelPicker
+ Private ASWheelPicker2 As ASWheelPicker
+ Private ASWheelPicker3 As ASWheelPicker
+ Private l_fechapago As Label
+ Dim day As Int = DateTime.GetDayOfMonth(DateTime.Now)
+ Dim month As String = DateTime.GetMonth(DateTime.Now)
+ Dim year2 As String = DateTime.GetYear(DateTime.Now)
+ Dim month2 As String
+ Private p_calendario As Panel
+ Private b_fecharesultado As Button
+ Dim fechapago As String
+ Dim montopago As String
+ Dim dia As String
+ Private b_cancelarresultado As Button
+ Private b_cancelar As Button
+
+ Private camEx2 As CameraExClass2
+ 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
+ Private et_comentarios As EditText
+ Private et_puntosref As EditText
+ Dim diasvisita As String = ""
+ Dim montoapagar As Float
+ 'CURSORES GUARDADO
+ Dim h As Cursor
+ Dim j As Cursor
+ Dim k As Cursor
+ Dim l As Cursor
+ Dim m As Cursor
+ Dim n As Cursor
+End Sub
+
+Public Sub Initialize
+
+End Sub
+
+'This event will be called once, before the page becomes visible.
+Private Sub B4XPage_Created (Root1 As B4XView)
+ Root = Root1
+ Root.LoadLayout("datos")
+ Panel1.Width = Root.Width
+ p_w2.Visible = False
+ p_w3.Visible = False
+ p_camara.Width = Root.Width
+ p_camara.Height = Root.Height
+
+ ScrollView1.height = Root.Height - Panel1.Height -WobbleMenu1.Height
+ p_w1.height = Root.Height - Panel1.Height -WobbleMenu1.Height
+
+ ScrollView2.height = Root.Height - Panel1.Height -WobbleMenu1.Height
+ p_w2.height = Root.Height - Panel1.Height -WobbleMenu1.Height
+
+ ScrollView3.height = Root.Height - Panel1.Height -WobbleMenu1.Height
+ p_w3.height = Root.Height - Panel1.Height -WobbleMenu1.Height
+
+ ScrollView1.Panel.LoadLayout("scroll")
+ ScrollView1.Panel.Height = p_scroll.Height
+
+ ScrollView2.Panel.LoadLayout("financiero")
+ ScrollView2.Panel.Height = p_financiero.Height
+
+ ScrollView3.Panel.LoadLayout("gestion")
+ ScrollView3.Panel.Height = p_gestion.Height
+
+ WobbleMenu1.SetTabTextIcon(1,"Datos generales", Chr(0xE3D0), Typeface.MATERIALICONS)
+ WobbleMenu1.SetTabTextIcon(2,"Datos financieros", Chr(0xE3D1), Typeface.MATERIALICONS)
+ WobbleMenu1.SetTabTextIcon(3,"Gestión", Chr(0xE3D2), Typeface.MATERIALICONS)
+ WobbleMenu1.SetCurrentTab(1)
+
+
+ 'Creacion de spinners para fecha de pago
+ p_calendario.Width = Root.Width
+ p_calendario.Height = Root.Height
+ Dim dias As List : dias.Initialize
+ For i = 1 To 31
+ Dim Item As ASWheelPicker_Item
+ Item.Initialize
+ Item.Text = i
+ Item.Value = i
+ Item.ItemTextProperties = ASWheelPicker1.ItemTextProperties
+ Item.ItemTextProperties.TextColor = (0x8FF000000)
+ dias.Add(Item)
+ Next
+
+ ASWheelPicker1.AddItems(dias)
+
+ Dim mes0 As List : mes0.Initialize
+ mes0 = Array As String("Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre")
+ Dim MES As List
+ MES.Initialize
+ For Each o As Object In mes0
+ Dim Item As ASWheelPicker_Item
+ Item.Initialize
+ Item.Text = o
+ Item.Value = o
+ Item.ItemTextProperties = ASWheelPicker2.ItemTextProperties
+ Item.ItemTextProperties.TextColor = (0x8FF000000)
+ MES.Add(Item)
+ Next
+ ASWheelPicker2.AddItems(MES)
+
+ Dim year As List : year.Initialize
+ For i = DateTime.GetYear(DateTime.Now) To DateTime.GetYear(DateTime.Now) + 4
+ Dim Item As ASWheelPicker_Item
+ Item.Initialize
+ Item.Text = i
+ Item.Value = i
+ Item.ItemTextProperties = ASWheelPicker3.ItemTextProperties
+ Item.ItemTextProperties.TextColor = (0x8FF000000)
+
+ year.Add(Item)
+ Next
+ ASWheelPicker3.AddItems(year)
+
+ ASWheelPicker1.Refresh
+ ASWheelPicker2.Refresh
+ ASWheelPicker3.Refresh
+
+
+
+ If DateTime.GetDayOfMonth(DateTime.Now) < 10 And DateTime.GetMonth(DateTime.Now) < 10 Then
+ l_fechapago.Text = "0"&DateTime.GetDayOfMonth(DateTime.Now)&"/"&"0"&DateTime.GetMonth(DateTime.Now)&"/"&DateTime.GetYear(DateTime.Now)
+ Else If DateTime.GetDayOfMonth(DateTime.Now) >= 10 And DateTime.GetMonth(DateTime.Now) < 10 Then
+ l_fechapago.Text = DateTime.GetDayOfMonth(DateTime.Now)&"/"&"0"&DateTime.GetMonth(DateTime.Now)&"/"&DateTime.GetYear(DateTime.Now)
+ Else
+ l_fechapago.Text = DateTime.GetDayOfMonth(DateTime.Now)&"/"&DateTime.GetMonth(DateTime.Now)&"/"&DateTime.GetYear(DateTime.Now)
+ 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("This app requires access to all files, please enable the option", "Manage All Files")
+ Wait For Msgbox_Result(Res As Int)
+ Log("Getting permission")
+ MES1.GetPermission
+ Wait For MES_StorageAvailable
+ End If
+ End If
+
+End Sub
+
+Private Sub B4XPage_Appear
+ WobbleMenu1.SetCurrentTab(1)
+ p_w1.Visible = True
+ parentesco = ""
+ p_camara.Visible = False
+ p_parentesco.Width = Root.Width
+ p_parentesco.Height = Root.Height
+ p_resultado.Width = Root.Width
+ p_resultado.Height = Root.Height
+ cuenta = B4XPages.MainPage.principal.lb.Text
+ Log (cuenta)
+
+ c = Starter.skmt.ExecQuery2("SELECT NOMBRE, RFC, CURP, CALLE, N_EXT, N_INT, ALCALDIA, MUNICIPIO, ENTIDAD, CP, SEXO, FECHA_NACIMIENTO, EDAD, EMAIL from HIST_DATOS_GENERALES WHERE CREDITO = ?" , Array As String (cuenta))
+ c.Position = 0
+ l_nombreg.Text = c.GetString("NOMBRE")
+ l_rfc.Text = c.GetString("RFC")
+ l_curp.Text = c.GetString("CURP")
+ l_calle.Text = c.GetString("CALLE")
+ l_noext.Text = c.GetString("N_EXT")
+ l_noint.Text = c.GetString("N_INT")
+ l_alcaldia.Text = c.GetString("ALCALDIA")
+ l_municipio.Text = c.GetString("MUNICIPIO")
+ l_entidad.Text = c.GetString("ENTIDAD")
+ l_cp.Text = c.GetString("CP")
+ l_sexo.Text = c.GetString("SEXO")
+ l_fn.Text = c.GetString("FECHA_NACIMIENTO")
+ l_edad.Text = c.GetString("EDAD")
+ l_email.Text = c.GetString("EMAIL")
+ c.Close
+
+ b = Starter.skmt.ExecQuery2("SELECT CARTERA, SALDO_TOTAL, MONTO_PAGAR, TOTAL_PAGO_DESC, LIQUIDACION, DIAS_VENCIDOS, DIAS_ATRASO_ACT, FECHA_ATRASO, BBVA, OXXO FROM HIST_FINANCIEROS WHERE CREDITO = ?", Array As String(cuenta))
+ b.Position = 0
+ l_cartera.Text = b.GetString("CARTERA")
+ l_saldotot.Text = b.GetString("SALDO_TOTAL")
+ l_saldotot.Text= NumberFormat(l_saldotot.Text.Replace(",",""),0,2)
+ l_montoapagar.Text = b.GetString("MONTO_PAGAR")
+ l_montoapagar.Text= NumberFormat(l_montoapagar.Text.Replace(",",""),0,2)
+ montoapagar = b.GetString("MONTO_PAGAR")
+ l_totalapagar.Text = b.GetString("TOTAL_PAGO_DESC")
+ l_totalapagar.Text= NumberFormat(l_totalapagar.Text.Replace(",",""),0,2)
+ l_liquidacion.Text = b.GetString("LIQUIDACION")
+ l_liquidacion.Text= NumberFormat(l_liquidacion.Text.Replace(",",""),0,2)
+ l_diasvencidos.Text = b.GetString("DIAS_VENCIDOS")
+ l_diasatraso.Text = b.GetString("DIAS_ATRASO_ACT")
+ l_fechaatraso.Text = b.GetString("FECHA_ATRASO")
+ l_bbva.Text = b.GetString("BBVA")
+ l_oxxo.Text = b.GetString("OXXO")
+ b.Close
+
+ l = Starter.skmt.ExecQuery2("SELECT COUNT(*) As CUENTA FROM HIST_VISITA WHERE (ESTATUS = 0 OR ESTATUS = 1) and CREDITO = ?",Array As String(cuenta))
+ l.Position = 0
+ Log(l.GetString("CUENTA"))
+ If l.GetString("CUENTA") = 0 Then
+
+ chb_lunes.Checked = False
+ chb_martes.Checked = False
+ chb_miercoles.Checked = False
+ chb_jueves.Checked = False
+ chb_viernes.Checked = False
+ chb_sabado.Checked = False
+ chb_domingo.Checked = False
+ et_comentarios.Text = ""
+ et_puntosref.Text = ""
+ et_parentesco.Text = ""
+ et_monto.Text = ""
+ b_fecharesultado.Text = "Fecha de pago"
+ ASWheelPicker1.SelectRow(0,0,True)
+ ASWheelPicker2.SelectRow(0,0,True)
+ ASWheelPicker3.SelectRow(0,0,True)
+ i_datosparentesco.Visible = False
+ i_resultado.Visible = False
+ nombrefoto = "0"
+ nombrefoto1 = "0"
+ nombrefoto2 = "0"
+ nombrefoto3 = "0"
+
+ d = Starter.skmt.ExecQuery("SELECT FUENTE, NUME FROM CAT_FUENTE order by 2")
+ Dim Items As List
+ Items.Initialize
+ If d.RowCount > 0 Then
+ For i = 0 To d.RowCount-1
+ d.Position = i
+ Items.Add(d.GetString("FUENTE"))
+ Next
+ cb_fuente.SetItems(Items)
+ End If
+ d.Close
+
+ e = Starter.skmt.ExecQuery("SELECT PARENTESCO, NUME FROM CAT_PARENTESCO order by 2")
+ Dim Items2 As List
+ Items2.Initialize
+ If e.RowCount > 0 Then
+ For i = 0 To e.RowCount-1
+ e.Position = i
+ Items2.Add(e.GetString("PARENTESCO"))
+ Next
+ cb_parentesco.SetItems(Items2)
+ End If
+ e.Close
+
+ f = Starter.skmt.ExecQuery("SELECT CO_ACDESCRIPCION, NUME FROM CAT_ACCION order by 2")
+ Dim Items3 As List
+ Items3.Initialize
+ If f.RowCount > 0 Then
+ For i = 0 To f.RowCount-1
+ f.Position = i
+ Items3.Add(f.GetString("CO_ACDESCRIPCION"))
+ Next
+ cb_accion.SetItems(Items3)
+ End If
+ f.Close
+
+ Dim Items4 As List
+ Items4.Initialize
+ cb_resultado.SetItems(Items4)
+
+ s = Starter.skmt.ExecQuery("SELECT NIVEL, NUMERO FROM NIVEL_SOCIO order by 2")
+ Dim Items5 As List
+ Items5.Initialize
+ If s.RowCount > 0 Then
+ For i = 0 To s.RowCount-1
+ s.Position = i
+ Items5.Add(s.GetString("NIVEL"))
+ Next
+ cb_socioeconomico.SetItems(Items5)
+ End If
+ s.Close
+
+ p = Starter.skmt.ExecQuery("SELECT TIPO, NUMERO FROM TIPO_VIVIENDA order by 2")
+ Dim Items6 As List
+ Items6.Initialize
+ If p.RowCount > 0 Then
+ For i = 0 To p.RowCount-1
+ p.Position = i
+ Items6.Add(p.GetString("TIPO"))
+ Next
+ cb_vivienda.SetItems(Items6)
+ End If
+ p.Close
+
+ q = Starter.skmt.ExecQuery("SELECT TIPO, NUMERO FROM CARACTERISTICAS order by 2")
+ Dim Items7 As List
+ Items7.Initialize
+ If q.RowCount > 0 Then
+ For i = 0 To q.RowCount-1
+ q.Position = i
+ Items7.Add(q.GetString("TIPO"))
+ Next
+ cb_caracteristicas.SetItems(Items7)
+ End If
+ q.Close
+
+ r = Starter.skmt.ExecQuery("SELECT NIVELES, NUMERO FROM NUMERO_NIV order by 2")
+ Dim Items8 As List
+ Items8.Initialize
+ If r.RowCount > 0 Then
+ For i = 0 To r.RowCount-1
+ r.Position = i
+ Items8.Add(r.GetString("NIVELES"))
+ Next
+ cb_numero.SetItems(Items8)
+ End If
+ r.Close
+
+ h = Starter.skmt.ExecQuery2("SELECT CARTERA, AGENCIA FROM HIST_FINANCIEROS WHERE CREDITO = ?", Array As String(cuenta))
+ h.Position = 0
+ k = Starter.skmt.ExecQuery2("SELECT COUNT(*) As CUENTA FROM HIST_VISITA WHERE (ESTATUS = 0 OR ESTATUS = 1) and CREDITO = ?",Array As String(cuenta))
+ k.Position = 0
+ Log(k.GetString("CUENTA"))
+ If k.GetString("CUENTA") = 0 Then
+ Starter.skmt.ExecNonQuery2("INSERT INTO HIST_VISITA(CREDITO, PRODUCTO, VISITADOR, AGENCIA, RESULTADO, FUENTE, PARENTESCO, TIPO_DOMICILIO, NIVEL_SOCIO, CARACTERISTICAS, NIVELES, ACCION, FOTOUNO, FOTODOS, FOTOTRES, FOTOCUATRO, ESTATUS, ENVIADO) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", Array As String(cuenta, h.GetString("CARTERA"), B4XPages.MainPage.user, h.GetString("AGENCIA"),"Selecciona una opción","Selecciona una opción","Selecciona una opción","Selecciona una opción","Selecciona una opción","Selecciona una opción","Selecciona una opción","Selecciona una opción","0","0","0","0",0,"0"))
+ Starter.skmt.ExecNonQuery2("INSERT INTO CHECADO (CREDITO, LUNES, MARTES, MIERCOLES, JUEVES, VIERNES , SABADO , DOMINGO) VALUES (?,0,0,0,0,0,0,0)",Array As String(cuenta))
+ Log("inserte cuenta")
+ End If
+ k.Close
+ h.Close
+
+ Else If l.GetString("CUENTA") > 0 Then
+
+ m = Starter.skmt.ExecQuery2("SELECT * FROM HIST_VISITA WHERE CREDITO = ? AND ESTATUS = 1 OR ESTATUS = 0",Array As String(cuenta))
+ m.Position = 0
+
+ d = Starter.skmt.ExecQuery("SELECT FUENTE, NUMERO, NUME FROM CAT_FUENTE order by 3")
+ Dim Items As List
+ Items.Initialize
+ If d.RowCount > 0 Then
+ For i = 0 To d.RowCount-1
+ d.Position = i
+ Items.Add(d.GetString("FUENTE"))
+ Next
+ cb_fuente.SetItems(Items)
+ End If
+ d.Close
+ d = Starter.skmt.ExecQuery2("SELECT NUMERO FROM CAT_FUENTE WHERE FUENTE = ?", Array As String(m.GetString("FUENTE")))
+ d.Position = 0
+ cb_fuente.SelectedIndex = d.GetString("NUMERO")
+ d.Close
+
+ If cb_fuente.SelectedItem = "Cliente" Then
+
+ e = Starter.skmt.ExecQuery("SELECT PARENTESCO, NUMERO, NUME FROM CAT_PARENTESCO order by 3")
+ Dim Items2 As List
+ Items2.Initialize
+ If e.RowCount > 0 Then
+ For i = 0 To e.RowCount-1
+ e.Position = i
+ Items2.Add(e.GetString("PARENTESCO"))
+ Next
+ cb_parentesco.SetItems(Items2)
+ End If
+ e.Close
+ e = Starter.skmt.ExecQuery2("SELECT NUMERO FROM CAT_PARENTESCO WHERE PARENTESCO = ?",Array As String("Cliente"))
+ e.Position = 0
+ cb_parentesco.SelectedIndex = e.GetString("NUMERO")
+ e.Close
+ Else
+ e = Starter.skmt.ExecQuery("SELECT PARENTESCO, NUMERO, NUME FROM CAT_PARENTESCO order by 3")
+ Dim Items2 As List
+ Items2.Initialize
+ If e.RowCount > 0 Then
+ For i = 0 To e.RowCount-1
+ e.Position = i
+ Items2.Add(e.GetString("PARENTESCO"))
+ Next
+ cb_parentesco.SetItems(Items2)
+ End If
+ e.Close
+ e = Starter.skmt.ExecQuery2("SELECT NUMERO FROM CAT_PARENTESCO WHERE PARENTESCO = ?", Array As String(m.GetString("PARENTESCO")))
+ e.Position = 0
+ cb_parentesco.SelectedIndex = e.GetString("NUMERO")
+ e.Close
+ End If
+
+ If cb_parentesco.SelectedItem = "Cliente" Or cb_parentesco.SelectedItem = "Selecciona una opción" Then
+ i_datosparentesco.Visible = False
+ Else
+ i_datosparentesco.Visible = True
+
+ et_parentesco.Text = m.GetString("NOMBRE_ATIENDE")
+ If et_parentesco.Text = "null" Then
+ et_parentesco.Text = ""
+ End If
+
+ End If
+
+ f = Starter.skmt.ExecQuery("SELECT CO_ACDESCRIPCION, NUMERO, NUME FROM CAT_ACCION order by 3")
+ Dim Items3 As List
+ Items3.Initialize
+ If f.RowCount > 0 Then
+ For i = 0 To f.RowCount-1
+ f.Position = i
+ Items3.Add(f.GetString("CO_ACDESCRIPCION"))
+ Next
+ cb_accion.SetItems(Items3)
+ End If
+ f.Close
+ f = Starter.skmt.ExecQuery2("SELECT NUMERO FROM CAT_ACCION WHERE CO_ACDESCRIPCION = ?", Array As String(m.GetString("ACCION")))
+ f.Position = 0
+ cb_accion.SelectedIndex = f.GetString("NUMERO")
+ f.Close
+
+
+ If cb_accion.SelectedItem = "Selecciona una opción" Then
+ Dim Items4 As List
+ Items4.Initialize
+ Items4.Add("")
+ cb_resultado.SetItems(Items4)
+ Else If cb_accion.SelectedItem = "Carteo" Then
+ Dim Items4 As List
+ Items4.Initialize
+ g = Starter.skmt.ExecQuery("SELECT CO_RDESCRIPCION, NUMERO FROM CAT_RESULTADO_CA order by 2")
+ If g.RowCount > 0 Then
+ For i = 0 To g.RowCount-1
+ g.Position = i
+ Items4.Add(g.GetString("CO_RDESCRIPCION"))
+ Next
+ cb_resultado.SetItems(Items4)
+ End If
+ g.Close
+ g = Starter.skmt.ExecQuery2("SELECT NUMERO FROM CAT_RESULTADO_CA WHERE CO_RDESCRIPCION = ?", Array As String(m.GetString("RESULTADO")))
+ g.Position = 0
+ Log(m.GetString("RESULTADO"))
+ Log(g.GetString("NUMERO"))
+ cb_resultado.SelectedIndex = g.GetString("NUMERO")
+ g.Close
+ Else If cb_accion.SelectedItem = "Se envia Blaster" Then
+ Dim Items4 As List
+ Items4.Initialize
+ g = Starter.skmt.ExecQuery("SELECT CO_RDESCRIPCION, NUMERO FROM CAT_RESULTADO_BR order by 2")
+ If g.RowCount > 0 Then
+ For i = 0 To g.RowCount-1
+ g.Position = i
+ Items4.Add(g.GetString("CO_RDESCRIPCION"))
+ Next
+ cb_resultado.SetItems(Items4)
+ End If
+ g.Close
+ g = Starter.skmt.ExecQuery2("SELECT NUMERO FROM CAT_RESULTADO_BR WHERE CO_RDESCRIPCION = ?", Array As String(m.GetString("RESULTADO")))
+ g.Position = 0
+ cb_resultado.SelectedIndex = g.GetString("NUMERO")
+ g.Close
+ Else If cb_accion.SelectedItem = "Se envia email" Then
+ Dim Items4 As List
+ Items4.Initialize
+ g = Starter.skmt.ExecQuery("SELECT CO_RDESCRIPCION, NUMERO FROM CAT_RESULTADO_MA order by 2")
+ If g.RowCount > 0 Then
+ For i = 0 To g.RowCount-1
+ g.Position = i
+ Items4.Add(g.GetString("CO_RDESCRIPCION"))
+ Next
+ cb_resultado.SetItems(Items4)
+ End If
+ g.Close
+ g = Starter.skmt.ExecQuery2("SELECT NUMERO FROM CAT_RESULTADO_MA WHERE CO_RDESCRIPCION = ?", Array As String(m.GetString("RESULTADO")))
+ g.Position = 0
+ cb_resultado.SelectedIndex = g.GetString("NUMERO")
+ g.Close
+ Else If cb_accion.SelectedItem = "Visita En Domicilio" Then
+ Dim Items4 As List
+ Items4.Initialize
+ g = Starter.skmt.ExecQuery("SELECT CO_RDESCRIPCION, NUMERO FROM CAT_RESULTADO_VC order by 2")
+ If g.RowCount > 0 Then
+ For i = 0 To g.RowCount-1
+ g.Position = i
+ Items4.Add(g.GetString("CO_RDESCRIPCION"))
+ Next
+ cb_resultado.SetItems(Items4)
+ End If
+ g.Close
+ g = Starter.skmt.ExecQuery2("SELECT NUMERO FROM CAT_RESULTADO_VC WHERE CO_RDESCRIPCION = ?", Array As String(m.GetString("RESULTADO")))
+ g.Position = 0
+ cb_resultado.SelectedIndex = g.GetString("NUMERO")
+ g.Close
+ End If
+ f.Close
+
+ f = Starter.skmt.ExecQuery2("SELECT LUNES, MARTES, MIERCOLES, JUEVES, VIERNES, SABADO, DOMINGO FROM CHECADO WHERE CREDITO = ?", Array As String(cuenta))
+ f.Position = 0
+ If f.RowCount = 0 Then
+ chb_lunes.Checked = False
+ chb_martes.Checked = False
+ chb_miercoles.Checked = False
+ chb_jueves.Checked = False
+ chb_viernes.Checked = False
+ chb_sabado.Checked = False
+ chb_domingo.Checked = False
+ Else
+ LogColor(f.GetString("LUNES") & ",,,,," & cuenta, Colors.Cyan)
+ If f.GetString("LUNES") = "1" Then
+ chb_lunes.Checked = True
+ Else
+ chb_lunes.Checked = False
+ End If
+ If f.GetString("MARTES") = "1" Then
+ chb_martes.Checked = True
+ Else
+ chb_martes.Checked = False
+ End If
+ If f.GetString("MIERCOLES") = "1" Then
+ chb_miercoles.Checked = True
+ Else
+ chb_miercoles.Checked = False
+ End If
+ If f.GetString("JUEVES") = "1" Then
+ chb_jueves.Checked = True
+ Else
+ chb_jueves.Checked = False
+ End If
+ If f.GetString("VIERNES") = "1" Then
+ chb_viernes.Checked = True
+ Else
+ chb_viernes.Checked = False
+ End If
+ If f.GetString("SABADO") = "1" Then
+ chb_sabado.Checked = True
+ Else
+ chb_sabado.Checked = False
+ End If
+ If f.GetString("DOMINGO") = "1" Then
+ chb_domingo.Checked = True
+ Else
+ chb_domingo.Checked = False
+ End If
+ End If
+ f.Close
+
+ If cb_resultado.SelectedItem = "Promesa de pago" Then
+ i_resultado.Visible = True
+ b_fecharesultado.Text = m.GetString("FECHA_PROMESA")
+
+
+ et_monto.Text = m.GetString("MONTO_PROMESA")
+ If et_monto.Text = "null" Then
+ et_monto.Text = ""
+ End If
+ Else
+ i_resultado.Visible = False
+ End If
+
+ et_comentarios.Text = m.GetString("COMENTARIOS")
+ If et_comentarios.Text = "null" Then
+ et_comentarios.Text = ""
+ End If
+
+ et_puntosref.Text = m.GetString("PUNTOS_REF")
+ If et_puntosref.Text = "null" Then
+ et_puntosref.Text = ""
+ End If
+
+ s = Starter.skmt.ExecQuery("SELECT NIVEL, NUMERO FROM NIVEL_SOCIO order by 2")
+ Dim Items5 As List
+ Items5.Initialize
+ If s.RowCount > 0 Then
+ For i = 0 To s.RowCount-1
+ s.Position = i
+ Items5.Add(s.GetString("NIVEL"))
+ Next
+ cb_socioeconomico.SetItems(Items5)
+ End If
+ s.Close
+ s = Starter.skmt.ExecQuery2("SELECT NUMERO FROM NIVEL_SOCIO WHERE NIVEL = ?", Array As String(m.GetString("NIVEL_SOCIO")))
+ s.Position = 0
+ cb_socioeconomico.SelectedIndex = s.GetString("NUMERO")
+ s.Close
+
+ p = Starter.skmt.ExecQuery("SELECT TIPO, NUMERO FROM TIPO_VIVIENDA order by 2")
+ Dim Items6 As List
+ Items6.Initialize
+ If p.RowCount > 0 Then
+ For i = 0 To p.RowCount-1
+ p.Position = i
+ Items6.Add(p.GetString("TIPO"))
+ Next
+ cb_vivienda.SetItems(Items6)
+ End If
+ p.Close
+ p = Starter.skmt.ExecQuery2("SELECT NUMERO FROM TIPO_VIVIENDA WHERE TIPO = ?", Array As String(m.GetString("TIPO_DOMICILIO")))
+ p.Position = 0
+ cb_vivienda.SelectedIndex = p.GetString("NUMERO")
+ p.Close
+
+ q = Starter.skmt.ExecQuery("SELECT TIPO, NUMERO FROM CARACTERISTICAS order by 2")
+ Dim Items7 As List
+ Items7.Initialize
+ If q.RowCount > 0 Then
+ For i = 0 To q.RowCount-1
+ q.Position = i
+ Items7.Add(q.GetString("TIPO"))
+ Next
+ cb_caracteristicas.SetItems(Items7)
+ End If
+ q.Close
+ q = Starter.skmt.ExecQuery2("SELECT NUMERO FROM CARACTERISTICAS WHERE TIPO = ?", Array As String(m.GetString("CARACTERISTICAS")))
+ q.Position = 0
+ cb_caracteristicas.SelectedIndex = q.GetString("NUMERO")
+ q.Close
+
+ r = Starter.skmt.ExecQuery("SELECT NIVELES, NUMERO FROM NUMERO_NIV order by 2")
+ Dim Items8 As List
+ Items8.Initialize
+ If r.RowCount > 0 Then
+ For i = 0 To r.RowCount-1
+ r.Position = i
+ Items8.Add(r.GetString("NIVELES"))
+ Next
+ cb_numero.SetItems(Items8)
+ End If
+ r.Close
+ r = Starter.skmt.ExecQuery2("SELECT NUMERO FROM NUMERO_NIV WHERE NIVELES = ?", Array As String(m.GetString("NIVELES")))
+ r.Position = 0
+ cb_numero.SelectedIndex = r.GetString("NUMERO")
+ r.Close
+
+ Dim Dirp As String = File.DirRootExternal
+ Dim Dir As String
+ Dim Dir2 As String
+ Try
+ File.MakeDir(Dirp,"/Arestrategicas")
+ Dir = "/Arestrategicas"
+ 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
+
+ If m.GetString("FOTOUNO") = "0" Then
+ ImageView1.Bitmap = LoadBitmap(File.DirAssets,"icon_22-[convertido].png")
+ Else
+ ImageView1.Bitmap = LoadBitmap(File.DirRootExternal & Dir & Dir2,m.GetString("FOTOUNO"))
+ nombrefoto = m.GetString("FOTOUNO")
+ End If
+
+ If m.GetString("FOTODOS") = "0" Then
+ ImageView2.Bitmap = LoadBitmap(File.DirAssets,"icon_22-[convertido].png")
+ Else
+ ImageView2.Bitmap = LoadBitmap(File.DirRootExternal & Dir & Dir2,m.GetString("FOTODOS"))
+ nombrefoto1 = m.GetString("FOTODOS")
+ End If
+
+ If m.GetString("FOTOTRES") = "0" Then
+ ImageView3.Bitmap = LoadBitmap(File.DirAssets,"icon_22-[convertido].png")
+ Else
+ ImageView3.Bitmap = LoadBitmap(File.DirRootExternal & Dir & Dir2,m.GetString("FOTOTRES"))
+ nombrefoto2 = m.GetString("FOTOTRES")
+ End If
+
+ If m.GetString("FOTOCUATRO") = "0" Then
+ ImageView4.Bitmap = LoadBitmap(File.DirAssets,"icon_22-[convertido].png")
+ Else
+ ImageView4.Bitmap = LoadBitmap(File.DirRootExternal & Dir & Dir2,m.GetString("FOTOCUATRO"))
+ nombrefoto3 = m.GetString("FOTOCUATRO")
+ End If
+
+ m.Close
+ End If
+ l.Close
+
+ If Not(Starter.GPS.GPSEnabled) Then
+ ToastMessageShow("Debe Activar el GPS del Equipo.", True)
+ StartActivity(Starter.GPS.LocationSettingsIntent)
+ Else
+ Starter.GPS.Start(0, 0)
+' If Starter.ubicacionActual.Latitude <> 0 Then GPS_LocationChanged(Starter.ubicacionActual)
+ End If
+
+End Sub
+
+Sub WobbleMenu1_Tab1Click
+ p_w1.Visible = True
+ p_w2.Visible = False
+ p_w3.Visible = False
+ l_titulo.Text = "Datos generales"
+End Sub
+
+Sub WobbleMenu1_Tab2Click
+ p_w1.Visible = False
+ p_w2.Visible = True
+ p_w3.Visible = False
+ l_titulo.Text = "Datos financieros"
+End Sub
+
+Sub WobbleMenu1_Tab3Click
+ Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_CAMERA)
+ Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean)
+ If Result Then
+' camEx2.Initialize(p_cam, frontCamera, Me, "Camera1")
+' frontCamera = camEx2.Front
+' Log("inicializamos Camara")
+ Else
+ ToastMessageShow("No permission!!!", True)
+ End If
+
+ 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!!!", 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!!!", True)
+ End If
+
+ p_w1.Visible = False
+ p_w2.Visible = False
+ p_w3.Visible = True
+ l_titulo.Text = "Gestión"
+End Sub
+
+Private Sub cb_fuente_SelectedIndexChanged (Index As Int)
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET ESTATUS = ? WHERE CREDITO = ? AND ESTATUS <> 2", Array As String("1", cuenta))
+
+ c = Starter.skmt.ExecQuery2("SELECT ESTATUS2 FROM HIST_DATOS_GENERALES WHERE CREDITO = ?",Array As String(cuenta))
+ c.Position = 0
+ If c.GetString("ESTATUS2") = 2 Then
+
+ Else
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_DATOS_GENERALES SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_FINANCIEROS SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+ End If
+ c.Close
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET FUENTE = ? WHERE CREDITO = ? AND ESTATUS = 1", Array As String(cb_fuente.SelectedItem, cuenta))
+
+ If cb_fuente.SelectedItem = "Cliente" Then
+ g = Starter.skmt.ExecQuery2("SELECT NUMERO FROM CAT_PARENTESCO WHERE PARENTESCO = ?",Array As String("Cliente"))
+ g.Position = 0
+ Log(g.GetString("NUMERO"))
+ cb_parentesco.SelectedIndex = g.GetString("NUMERO")
+ g.Close
+ End If
+
+End Sub
+
+Private Sub cb_parentesco_SelectedIndexChanged (Index As Int)
+ Dim parentesco2 As String = cb_parentesco.SelectedItem
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET ESTATUS = ? WHERE CREDITO = ? AND ESTATUS <> 2", Array As String("1", cuenta))
+ c = Starter.skmt.ExecQuery2("SELECT ESTATUS2 FROM HIST_DATOS_GENERALES WHERE CREDITO = ?",Array As String(cuenta))
+ c.Position = 0
+ If c.GetString("ESTATUS2") = 2 Then
+
+ Else
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_DATOS_GENERALES SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_FINANCIEROS SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+ End If
+ c.Close
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET PARENTESCO = ? WHERE CREDITO = ? AND ESTATUS = 1", Array As String(cb_parentesco.SelectedItem, cuenta))
+ If parentesco2 = "Selecciona una opción" Or parentesco2 = "Cliente" Then
+ i_datosparentesco.Visible = False
+ Else
+ Log("aqui1")
+ i_datosparentesco.Visible = True
+ If parentesco = "" Then
+ p_parentesco.Visible = True
+ Else
+
+ End If
+ End If
+End Sub
+
+Private Sub b_guardar_parentesco_Click
+ If et_parentesco.Text <> "" Then
+ parentesco = et_parentesco.Text
+ p_parentesco.Visible = False
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET ESTATUS = ? WHERE CREDITO = ? AND ESTATUS <> 2", Array As String("1", cuenta))
+ c = Starter.skmt.ExecQuery2("SELECT ESTATUS2 FROM HIST_DATOS_GENERALES WHERE CREDITO = ?",Array As String(cuenta))
+ c.Position = 0
+ If c.GetString("ESTATUS2") = 2 Then
+
+ Else
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_DATOS_GENERALES SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_FINANCIEROS SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+ End If
+ c.Close
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET NOMBRE_ATIENDE = ? WHERE CREDITO = ? AND ESTATUS = 1", Array As String(et_parentesco.Text, cuenta))
+ Else
+ MsgboxAsync("Captura el nombre.","Atención")
+ End If
+End Sub
+
+Private Sub i_datosparentesco_Click
+ p_parentesco.Visible = True
+End Sub
+
+Private Sub p_parentesco_Click
+ If et_parentesco.Text <> "" Then
+ parentesco = et_parentesco.Text
+ p_parentesco.Visible = False
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET ESTATUS = ? WHERE CREDITO = ? AND ESTATUS <> 2", Array As String("1", cuenta))
+ c = Starter.skmt.ExecQuery2("SELECT ESTATUS2 FROM HIST_DATOS_GENERALES WHERE CREDITO = ?",Array As String(cuenta))
+ c.Position = 0
+ If c.GetString("ESTATUS2") = 2 Then
+
+ Else
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_DATOS_GENERALES SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_FINANCIEROS SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+ End If
+ c.Close
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET NOMBRE_ATIENDE = ? WHERE CREDITO = ? AND ESTATUS = 1", Array As String(et_parentesco.Text, cuenta))
+ Else
+ MsgboxAsync("Captura el nombre.","Atención")
+ End If
+End Sub
+
+Private Sub p_nom_parentesco_Click
+
+End Sub
+
+Private Sub cb_accion_SelectedIndexChanged (Index As Int)
+
+ f = Starter.skmt.ExecQuery2("SELECT CO_ACCION FROM CAT_ACCION WHERE CO_ACDESCRIPCION = ?",Array As String(cb_accion.SelectedItem))
+ f.Position = 0
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET ESTATUS = ? WHERE CREDITO = ? AND ESTATUS <> 2", Array As String("1", cuenta))
+ c = Starter.skmt.ExecQuery2("SELECT ESTATUS2 FROM HIST_DATOS_GENERALES WHERE CREDITO = ?",Array As String(cuenta))
+ c.Position = 0
+ If c.GetString("ESTATUS2") = 2 Then
+
+ Else
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_DATOS_GENERALES SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_FINANCIEROS SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+ End If
+ c.Close
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET ACCION = ?, CODIGO_ACCION = ? WHERE CREDITO = ? AND ESTATUS = 1", Array As String(cb_accion.SelectedItem,f.GetString("CO_ACCION"), cuenta))
+ If cb_accion.SelectedItem = "Selecciona una opción" Then
+ Dim Items4 As List
+ Items4.Initialize
+ Items4.Add("")
+ cb_resultado.SetItems(Items4)
+ Else If cb_accion.SelectedItem = "Carteo" Then
+ Dim Items4 As List
+ Items4.Initialize
+ g = Starter.skmt.ExecQuery("SELECT CO_RDESCRIPCION, NUMERO FROM CAT_RESULTADO_CA order by 2")
+ If g.RowCount > 0 Then
+ For i = 0 To g.RowCount-1
+ g.Position = i
+ Items4.Add(g.GetString("CO_RDESCRIPCION"))
+ Next
+ cb_resultado.SetItems(Items4)
+ End If
+ g.Close
+ Else If cb_accion.SelectedItem = "Se envia Blaster" Then
+ Dim Items4 As List
+ Items4.Initialize
+ g = Starter.skmt.ExecQuery("SELECT CO_RDESCRIPCION, NUMERO FROM CAT_RESULTADO_BR order by 2")
+ If g.RowCount > 0 Then
+ For i = 0 To g.RowCount-1
+ g.Position = i
+ Items4.Add(g.GetString("CO_RDESCRIPCION"))
+ Next
+ cb_resultado.SetItems(Items4)
+ End If
+ g.Close
+ Else If cb_accion.SelectedItem = "Se envia email" Then
+ Dim Items4 As List
+ Items4.Initialize
+ g = Starter.skmt.ExecQuery("SELECT CO_RDESCRIPCION, NUMERO FROM CAT_RESULTADO_MA order by 2")
+ If g.RowCount > 0 Then
+ For i = 0 To g.RowCount-1
+ g.Position = i
+ Items4.Add(g.GetString("CO_RDESCRIPCION"))
+ Next
+ cb_resultado.SetItems(Items4)
+ End If
+ g.Close
+ Else If cb_accion.SelectedItem = "Visita En Domicilio" Then
+ Dim Items4 As List
+ Items4.Initialize
+ g = Starter.skmt.ExecQuery("SELECT CO_RDESCRIPCION, NUMERO FROM CAT_RESULTADO_VC order by 2")
+ If g.RowCount > 0 Then
+ For i = 0 To g.RowCount-1
+ g.Position = i
+ Items4.Add(g.GetString("CO_RDESCRIPCION"))
+ Next
+ cb_resultado.SetItems(Items4)
+ End If
+ g.Close
+ End If
+ f.Close
+End Sub
+
+Private Sub cb_resultado_SelectedIndexChanged (Index As Int)
+ If cb_accion.SelectedItem = "Carteo" Then
+ If cb_resultado.SelectedItem <> "Promesa de pago" Then
+ i_resultado.Visible = False
+ p_resultado.Visible = False
+ j = Starter.skmt.ExecQuery2("SELECT CO_RESULTADO FROM CAT_RESULTADO_CA WHERE CO_RDESCRIPCION = ?",Array As String(cb_resultado.SelectedItem))
+ j.Position = 0
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET ESTATUS = ? WHERE CREDITO = ? AND ESTATUS <> 2", Array As String("1", cuenta))
+ c = Starter.skmt.ExecQuery2("SELECT ESTATUS2 FROM HIST_DATOS_GENERALES WHERE CREDITO = ?",Array As String(cuenta))
+ c.Position = 0
+ If c.GetString("ESTATUS2") = 2 Then
+
+ Else
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_DATOS_GENERALES SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_FINANCIEROS SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+ End If
+ c.Close
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET RESULTADO = ?, CODIGO_RES = ? WHERE CREDITO = ? AND ESTATUS = 1", Array As String(cb_resultado.SelectedItem,j.GetString("CO_RESULTADO"), cuenta))
+ j.Close
+ Else
+ i_resultado.Visible = True
+ p_resultado.Visible = True
+ j = Starter.skmt.ExecQuery2("SELECT CO_RESULTADO FROM CAT_RESULTADO_CA WHERE CO_RDESCRIPCION = ?",Array As String(cb_resultado.SelectedItem))
+ j.Position = 0
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET ESTATUS = ? WHERE CREDITO = ? AND ESTATUS <> 2", Array As String("1", cuenta))
+ c = Starter.skmt.ExecQuery2("SELECT ESTATUS2 FROM HIST_DATOS_GENERALES WHERE CREDITO = ?",Array As String(cuenta))
+ c.Position = 0
+ If c.GetString("ESTATUS2") = 2 Then
+
+ Else
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_DATOS_GENERALES SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_FINANCIEROS SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+ End If
+ c.Close
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET RESULTADO = ?, CODIGO_RES = ? WHERE CREDITO = ? AND ESTATUS = 1", Array As String(cb_resultado.SelectedItem,j.GetString("CO_RESULTADO"), cuenta))
+ j.Close
+ End If
+ Else If cb_accion.SelectedItem = "Se envia Blaster" Then
+ i_resultado.Visible = False
+ p_resultado.Visible = False
+ j = Starter.skmt.ExecQuery2("SELECT CO_RESULTADO FROM CAT_RESULTADO_BR WHERE CO_RDESCRIPCION = ?",Array As String(cb_resultado.SelectedItem))
+ j.Position = 0
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET ESTATUS = ? WHERE CREDITO = ? AND ESTATUS <> 2", Array As String("1", cuenta))
+ c = Starter.skmt.ExecQuery2("SELECT ESTATUS2 FROM HIST_DATOS_GENERALES WHERE CREDITO = ?",Array As String(cuenta))
+ c.Position = 0
+ If c.GetString("ESTATUS2") = 2 Then
+
+ Else
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_DATOS_GENERALES SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_FINANCIEROS SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+ End If
+ c.Close
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET RESULTADO = ?, CODIGO_RES = ? WHERE CREDITO = ? AND ESTATUS = 1", Array As String(cb_resultado.SelectedItem,j.GetString("CO_RESULTADO"), cuenta))
+ j.Close
+ Else If cb_accion.SelectedItem = "Se envia email" Then
+ i_resultado.Visible = False
+ p_resultado.Visible = False
+ j = Starter.skmt.ExecQuery2("SELECT CO_RESULTADO FROM CAT_RESULTADO_MA WHERE CO_RDESCRIPCION = ?",Array As String(cb_resultado.SelectedItem))
+ j.Position = 0
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET ESTATUS = ? WHERE CREDITO = ? AND ESTATUS <> 2", Array As String("1", cuenta))
+ c = Starter.skmt.ExecQuery2("SELECT ESTATUS2 FROM HIST_DATOS_GENERALES WHERE CREDITO = ?",Array As String(cuenta))
+ c.Position = 0
+ If c.GetString("ESTATUS2") = 2 Then
+
+ Else
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_DATOS_GENERALES SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_FINANCIEROS SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+ End If
+ c.Close
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET RESULTADO = ?, CODIGO_RES = ? WHERE CREDITO = ? AND ESTATUS = 1", Array As String(cb_resultado.SelectedItem,j.GetString("CO_RESULTADO"), cuenta))
+ j.Close
+ Else If cb_accion.SelectedItem = "Visita En Domicilio" Then
+ If cb_resultado.SelectedItem <> "Promesa de pago" Then
+ i_resultado.Visible = False
+ p_resultado.Visible = False
+ j = Starter.skmt.ExecQuery2("SELECT CO_RESULTADO FROM CAT_RESULTADO_VC WHERE CO_RDESCRIPCION = ?",Array As String(cb_resultado.SelectedItem))
+ j.Position = 0
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET ESTATUS = ? WHERE CREDITO = ? AND ESTATUS <> 2", Array As String("1", cuenta))
+ c = Starter.skmt.ExecQuery2("SELECT ESTATUS2 FROM HIST_DATOS_GENERALES WHERE CREDITO = ?",Array As String(cuenta))
+ c.Position = 0
+ If c.GetString("ESTATUS2") = 2 Then
+
+ Else
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_DATOS_GENERALES SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_FINANCIEROS SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+ End If
+ c.Close
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET RESULTADO = ?, CODIGO_RES = ? WHERE CREDITO = ? AND ESTATUS = 1", Array As String(cb_resultado.SelectedItem,j.GetString("CO_RESULTADO"), cuenta))
+ j.Close
+ Else
+ i_resultado.Visible = True
+ p_resultado.Visible = True
+ j = Starter.skmt.ExecQuery2("SELECT CO_RESULTADO FROM CAT_RESULTADO_VC WHERE CO_RDESCRIPCION = ?",Array As String(cb_resultado.SelectedItem))
+ j.Position = 0
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET ESTATUS = ? WHERE CREDITO = ? AND ESTATUS <> 2", Array As String("1", cuenta))
+ c = Starter.skmt.ExecQuery2("SELECT ESTATUS2 FROM HIST_DATOS_GENERALES WHERE CREDITO = ?",Array As String(cuenta))
+ c.Position = 0
+ If c.GetString("ESTATUS2") = 2 Then
+
+ Else
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_DATOS_GENERALES SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_FINANCIEROS SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+ End If
+ c.Close
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET RESULTADO = ?, CODIGO_RES = ? WHERE CREDITO = ? AND ESTATUS = 1", Array As String(cb_resultado.SelectedItem,j.GetString("CO_RESULTADO"), cuenta))
+ j.Close
+ End If
+ End If
+
+End Sub
+
+Private Sub b_guardarresultado_Click
+
+ Dim montoprometido As Float = et_monto.Text
+
+ If montoapagar < montoprometido Then
+ MsgboxAsync("El monto no puede ser mayor al monto a pagar","Atención")
+ Else
+ If et_monto.Text <> "" And b_fecharesultado.Text <> "Fecha de pago" Then
+ montopago = et_monto.Text
+ fechapago = b_fecharesultado.Text
+ p_resultado.Visible = False
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET ESTATUS = ? WHERE CREDITO = ? AND ESTATUS <> 2", Array As String("1", cuenta))
+ c = Starter.skmt.ExecQuery2("SELECT ESTATUS2 FROM HIST_DATOS_GENERALES WHERE CREDITO = ?",Array As String(cuenta))
+ c.Position = 0
+ If c.GetString("ESTATUS2") = 2 Then
+
+ Else
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_DATOS_GENERALES SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_FINANCIEROS SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+ End If
+ c.Close
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET FECHA_PROMESA = ?, MONTO_PROMESA = ? WHERE CREDITO = ? AND ESTATUS = 1", Array As String(b_fecharesultado.Text,et_monto.Text, cuenta))
+ Else
+ MsgboxAsync("Captura todos los datos.","Atención")
+ End If
+ End If
+End Sub
+
+Private Sub i_resultado_Click
+ p_resultado.Visible = True
+End Sub
+
+Private Sub p_resultado_Click
+ If et_monto.Text <> "" And b_fecharesultado.Text <> "Fecha de pago" Then
+ montopago = et_monto.Text
+ fechapago = b_fecharesultado.Text
+ p_resultado.Visible = False
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET ESTATUS = ? WHERE CREDITO = ? AND ESTATUS <> 2", Array As String("1", cuenta))
+ c = Starter.skmt.ExecQuery2("SELECT ESTATUS2 FROM HIST_DATOS_GENERALES WHERE CREDITO = ?",Array As String(cuenta))
+ c.Position = 0
+ If c.GetString("ESTATUS2") = 2 Then
+
+ Else
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_DATOS_GENERALES SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_FINANCIEROS SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+ End If
+ c.Close
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET FECHA_PROMESA = ?, MONTO_PROMESA = ? WHERE CREDITO = ? AND ESTATUS = 1", Array As String(b_fecharesultado.Text,et_monto.Text, cuenta))
+ Else
+ MsgboxAsync("Captura todos los datos.","Atención")
+ End If
+End Sub
+
+Private Sub p_datosresultado_Click
+
+End Sub
+
+Private Sub ASWheelPicker1_ItemChange(Column As Int,ListIndex As Int)
+ l_fechapago.Text = ASWheelPicker1.GetSelectedItem(Column).Text
+ day = ASWheelPicker1.GetSelectedItem(Column).Text
+ If month = "" Then
+ month2 = DateTime.GetMonth(DateTime.Now)
+ End If
+
+ If month = Null Or month2 = "" Or month2 = "null" Then
+ month2 = DateTime.GetMonth(DateTime.Now)
+ If month2 < 10 Then
+ month2 = "0"&DateTime.GetMonth(DateTime.Now)
+ Else
+ month2 = month2 = DateTime.GetMonth(DateTime.Now)
+ End If
+ End If
+
+ If day < 10 Then
+ day = "0"&day
+ Else
+ day = day
+ End If
+
+ If day = 1 Or day = "2" Or day = "3" Or day = "4" Or day = "5" Or day = "6" Or day = "7" Or day = "8" Or day = "9" Then
+ l_fechapago.Text = "0"&day&"/"&month2&"/"&year2
+ Else
+ l_fechapago.Text = day&"/"&month2&"/"&year2
+ End If
+
+
+End Sub
+
+Private Sub ASWheelPicker2_ItemChange(Column As Int,ListIndex As Int)
+ l_fechapago.Text = ASWheelPicker2.GetSelectedItem(Column).Text
+ month = ASWheelPicker2.GetSelectedItem(Column).Text
+
+ If month = "Enero" Then
+ month2 = "01"
+ Else If month = "Febrero" Then
+ month2 = "02"
+ Else If month = "Marzo" Then
+ month2 = "03"
+ Else If month = "Abril" Then
+ month2 = "04"
+ Else If month = "Mayo" Then
+ month2 = "05"
+ Else If month = "Junio" Then
+ month2 = "06"
+ Else If month = "Julio" Then
+ month2 = "07"
+ Else If month = "Agosto" Then
+ month2 = "08"
+ Else If month = "Septiembre" Then
+ month2 = "09"
+ Else If month = "Octubre" Then
+ month2 = "10"
+ Else If month = "Noviembre" Then
+ month2 = "11"
+ Else If month = "Diciembre" Then
+ month2 = "12"
+ End If
+
+ If day < 10 Then
+ day = "0"&day
+ Else
+ day = day
+ End If
+
+ If day = 1 Or day = "2" Or day = "3" Or day = "4" Or day = "5" Or day = "6" Or day = "7" Or day = "8" Or day = "9" Then
+ l_fechapago.Text = "0"&day&"/"&month2&"/"&year2
+ Else
+ l_fechapago.Text = day&"/"&month2&"/"&year2
+ End If
+
+End Sub
+
+Private Sub ASWheelPicker3_ItemChange(Column As Int,ListIndex As Int)
+ l_fechapago.Text = ASWheelPicker3.GetSelectedItem(Column).Text
+ year2 = ASWheelPicker3.GetSelectedItem(Column).Text
+
+ If month = "" Then
+ month2 = DateTime.GetMonth(DateTime.Now)
+ End If
+
+ If month = Null Or month2 = "" Or month2 = "null" Then
+ month2 = DateTime.GetMonth(DateTime.Now)
+ If month2 < 10 Then
+ month2 = "0"&DateTime.GetMonth(DateTime.Now)
+ Else
+ month2 = month2 = DateTime.GetMonth(DateTime.Now)
+ End If
+ End If
+
+ If day < 10 Then
+ day = "0"&day
+ Else
+ day = day
+ End If
+
+ If day = 1 Or day = "2" Or day = "3" Or day = "4" Or day = "5" Or day = "6" Or day = "7" Or day = "8" Or day = "9" Then
+ l_fechapago.Text = "0"&day&"/"&month2&"/"&year2
+ Else
+ l_fechapago.Text = day&"/"&month2&"/"&year2
+ End If
+End Sub
+
+Private Sub b_fecharesultado_Click
+ p_calendario.Visible = True
+End Sub
+
+Private Sub bgfecha_Click
+ DateTime.DateFormat = "yyyyMMdd"
+ Dim fechahoy As Int = DateTime.Date(DateTime.Now)
+
+ If month = Null Or month2 = "" Or month2 = "null" Then
+ month2 = DateTime.GetMonth(DateTime.Now)
+ If month2 < 10 Then
+ month2 = "0"&DateTime.GetMonth(DateTime.Now)
+ Else
+ month2 = month2 = DateTime.GetMonth(DateTime.Now)
+ End If
+ End If
+
+ If day < 10 Then
+ dia = "0"&day
+ Else
+ dia = day
+ End If
+
+ If year2 = Null Or year2 = "" Or year2 = "null" Then
+ year2 = DateTime.GetYear(DateTime.Now)
+ End If
+
+ Dim fechacompara As Int = year2&month2&dia
+
+ If fechacompara < fechahoy Then
+ MsgboxAsync("La fecha no puede ser menor al día de hoy","Atención")
+ Else
+ p_calendario.Visible = False
+ b_fecharesultado.Text = l_fechapago.Text
+ End If
+
+End Sub
+
+Private Sub b_cancelar_Click
+ p_parentesco.Visible = False
+End Sub
+
+Private Sub b_cancelarresultado_Click
+ b_fecharesultado.Text = "Fecha de pago"
+ ASWheelPicker1.SelectRow(0,0,True)
+ ASWheelPicker2.SelectRow(0,0,True)
+ ASWheelPicker3.SelectRow(0,0,True)
+ p_resultado.Visible = False
+End Sub
+
+Private Sub p_calendario_Click
+
+End Sub
+
+Private Sub b_cancelarfecha_Click
+ p_calendario.Visible = False
+ ASWheelPicker1.SelectRow(0,0,True)
+ ASWheelPicker2.SelectRow(0,0,True)
+ ASWheelPicker3.SelectRow(0,0,True)
+End Sub
+
+Private Sub chb_domingo_CheckedChange(Checked As Boolean)
+ diasvisita = ""
+ If chb_lunes.Checked Then diasvisita = diasvisita & ", " & chb_lunes.Text
+ If chb_martes.Checked Then diasvisita = diasvisita & ", " & chb_martes.Text
+ If chb_miercoles.Checked Then diasvisita = diasvisita & ", " & chb_miercoles.Text
+ If chb_jueves.Checked Then diasvisita = diasvisita & ", " & chb_jueves.Text
+ If chb_viernes.Checked Then diasvisita = diasvisita & ", " & chb_viernes.Text
+ If chb_sabado.Checked Then diasvisita = diasvisita & ", " & chb_sabado.Text
+ If chb_domingo.Checked Then diasvisita = diasvisita & ", " & chb_domingo.Text
+ If diasvisita <> "" And diasvisita.SubString2(0,2) = ", " Then diasvisita = diasvisita.SubString(2)
+ Log(diasvisita)
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET ESTATUS = ? WHERE CREDITO = ? AND ESTATUS <> 2", Array As String("1", cuenta))
+ c = Starter.skmt.ExecQuery2("SELECT ESTATUS2 FROM HIST_DATOS_GENERALES WHERE CREDITO = ?",Array As String(cuenta))
+ c.Position = 0
+ If c.GetString("ESTATUS2") = 2 Then
+
+ Else
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_DATOS_GENERALES SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_FINANCIEROS SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+ End If
+ c.Close
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET DIAS_ACCION = ? WHERE CREDITO = ? AND ESTATUS = 1", Array As String(diasvisita, cuenta))
+ If chb_domingo.Checked = True Then
+ Starter.skmt.ExecNonQuery2("UPDATE CHECADO SET DOMINGO = 1 WHERE CREDITO = ?", Array As String(cuenta))
+ Else If chb_domingo.Checked = False Then
+ Starter.skmt.ExecNonQuery2("UPDATE CHECADO SET DOMINGO = 0 WHERE CREDITO = ?", Array As String(cuenta))
+ End If
+End Sub
+
+Private Sub chb_sabado_CheckedChange(Checked As Boolean)
+ diasvisita = ""
+ If chb_lunes.Checked Then diasvisita = diasvisita & ", " & chb_lunes.Text
+ If chb_martes.Checked Then diasvisita = diasvisita & ", " & chb_martes.Text
+ If chb_miercoles.Checked Then diasvisita = diasvisita & ", " & chb_miercoles.Text
+ If chb_jueves.Checked Then diasvisita = diasvisita & ", " & chb_jueves.Text
+ If chb_viernes.Checked Then diasvisita = diasvisita & ", " & chb_viernes.Text
+ If chb_sabado.Checked Then diasvisita = diasvisita & ", " & chb_sabado.Text
+ If chb_domingo.Checked Then diasvisita = diasvisita & ", " & chb_domingo.Text
+ If diasvisita <> "" And diasvisita.SubString2(0,2) = ", " Then diasvisita = diasvisita.SubString(2)
+ Log(diasvisita)
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET ESTATUS = ? WHERE CREDITO = ? AND ESTATUS <> 2", Array As String("1", cuenta))
+ c = Starter.skmt.ExecQuery2("SELECT ESTATUS2 FROM HIST_DATOS_GENERALES WHERE CREDITO = ?",Array As String(cuenta))
+ c.Position = 0
+ If c.GetString("ESTATUS2") = 2 Then
+
+ Else
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_DATOS_GENERALES SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_FINANCIEROS SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+ End If
+ c.Close
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET DIAS_ACCION = ? WHERE CREDITO = ? AND ESTATUS = 1", Array As String(diasvisita, cuenta))
+ If chb_sabado.Checked = True Then
+ Starter.skmt.ExecNonQuery2("UPDATE CHECADO SET SABADO = 1 WHERE CREDITO = ?", Array As String(cuenta))
+ Else If chb_sabado.Checked = False Then
+ Starter.skmt.ExecNonQuery2("UPDATE CHECADO SET SABADO = 0 WHERE CREDITO = ?", Array As String(cuenta))
+ End If
+End Sub
+
+Private Sub chb_viernes_CheckedChange(Checked As Boolean)
+ diasvisita = ""
+ If chb_lunes.Checked Then diasvisita = diasvisita & ", " & chb_lunes.Text
+ If chb_martes.Checked Then diasvisita = diasvisita & ", " & chb_martes.Text
+ If chb_miercoles.Checked Then diasvisita = diasvisita & ", " & chb_miercoles.Text
+ If chb_jueves.Checked Then diasvisita = diasvisita & ", " & chb_jueves.Text
+ If chb_viernes.Checked Then diasvisita = diasvisita & ", " & chb_viernes.Text
+ If chb_sabado.Checked Then diasvisita = diasvisita & ", " & chb_sabado.Text
+ If chb_domingo.Checked Then diasvisita = diasvisita & ", " & chb_domingo.Text
+ If diasvisita <> "" And diasvisita.SubString2(0,2) = ", " Then diasvisita = diasvisita.SubString(2)
+ Log(diasvisita)
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET ESTATUS = ? WHERE CREDITO = ? AND ESTATUS <> 2", Array As String("1", cuenta))
+ c = Starter.skmt.ExecQuery2("SELECT ESTATUS2 FROM HIST_DATOS_GENERALES WHERE CREDITO = ?",Array As String(cuenta))
+ c.Position = 0
+ If c.GetString("ESTATUS2") = 2 Then
+
+ Else
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_DATOS_GENERALES SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_FINANCIEROS SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+ End If
+ c.Close
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET DIAS_ACCION = ? WHERE CREDITO = ? AND ESTATUS = 1", Array As String(diasvisita, cuenta))
+ If chb_viernes.Checked = True Then
+ Starter.skmt.ExecNonQuery2("UPDATE CHECADO SET VIERNES = 1 WHERE CREDITO = ?", Array As String(cuenta))
+ Else If chb_viernes.Checked = False Then
+ Starter.skmt.ExecNonQuery2("UPDATE CHECADO SET VIERNES = 0 WHERE CREDITO = ?", Array As String(cuenta))
+ End If
+End Sub
+
+Private Sub chb_jueves_CheckedChange(Checked As Boolean)
+ diasvisita = ""
+ If chb_lunes.Checked Then diasvisita = diasvisita & ", " & chb_lunes.Text
+ If chb_martes.Checked Then diasvisita = diasvisita & ", " & chb_martes.Text
+ If chb_miercoles.Checked Then diasvisita = diasvisita & ", " & chb_miercoles.Text
+ If chb_jueves.Checked Then diasvisita = diasvisita & ", " & chb_jueves.Text
+ If chb_viernes.Checked Then diasvisita = diasvisita & ", " & chb_viernes.Text
+ If chb_sabado.Checked Then diasvisita = diasvisita & ", " & chb_sabado.Text
+ If chb_domingo.Checked Then diasvisita = diasvisita & ", " & chb_domingo.Text
+ If diasvisita <> "" And diasvisita.SubString2(0,2) = ", " Then diasvisita = diasvisita.SubString(2)
+ Log(diasvisita)
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET ESTATUS = ? WHERE CREDITO = ? AND ESTATUS <> 2", Array As String("1", cuenta))
+ c = Starter.skmt.ExecQuery2("SELECT ESTATUS2 FROM HIST_DATOS_GENERALES WHERE CREDITO = ?",Array As String(cuenta))
+ c.Position = 0
+ If c.GetString("ESTATUS2") = 2 Then
+
+ Else
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_DATOS_GENERALES SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_FINANCIEROS SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+ End If
+ c.Close
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET DIAS_ACCION = ? WHERE CREDITO = ? AND ESTATUS = 1", Array As String(diasvisita, cuenta))
+ If chb_jueves.Checked = True Then
+ Starter.skmt.ExecNonQuery2("UPDATE CHECADO SET JUEVES = 1 WHERE CREDITO = ?", Array As String(cuenta))
+ Else If chb_jueves.Checked = False Then
+ Starter.skmt.ExecNonQuery2("UPDATE CHECADO SET JUEVES = 0 WHERE CREDITO = ?", Array As String(cuenta))
+ End If
+End Sub
+
+Private Sub chb_miercoles_CheckedChange(Checked As Boolean)
+ diasvisita = ""
+ If chb_lunes.Checked Then diasvisita = diasvisita & ", " & chb_lunes.Text
+ If chb_martes.Checked Then diasvisita = diasvisita & ", " & chb_martes.Text
+ If chb_miercoles.Checked Then diasvisita = diasvisita & ", " & chb_miercoles.Text
+ If chb_jueves.Checked Then diasvisita = diasvisita & ", " & chb_jueves.Text
+ If chb_viernes.Checked Then diasvisita = diasvisita & ", " & chb_viernes.Text
+ If chb_sabado.Checked Then diasvisita = diasvisita & ", " & chb_sabado.Text
+ If chb_domingo.Checked Then diasvisita = diasvisita & ", " & chb_domingo.Text
+ If diasvisita <> "" And diasvisita.SubString2(0,2) = ", " Then diasvisita = diasvisita.SubString(2)
+ Log(diasvisita)
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET ESTATUS = ? WHERE CREDITO = ? AND ESTATUS <> 2", Array As String("1", cuenta))
+ c = Starter.skmt.ExecQuery2("SELECT ESTATUS2 FROM HIST_DATOS_GENERALES WHERE CREDITO = ?",Array As String(cuenta))
+ c.Position = 0
+ If c.GetString("ESTATUS2") = 2 Then
+
+ Else
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_DATOS_GENERALES SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_FINANCIEROS SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+ End If
+ c.Close
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET DIAS_ACCION = ? WHERE CREDITO = ? AND ESTATUS = 1", Array As String(diasvisita, cuenta))
+ If chb_miercoles.Checked = True Then
+ Starter.skmt.ExecNonQuery2("UPDATE CHECADO SET MIERCOLES = 1 WHERE CREDITO = ?", Array As String(cuenta))
+ Else If chb_miercoles.Checked = False Then
+ Starter.skmt.ExecNonQuery2("UPDATE CHECADO SET MIERCOLES = 0 WHERE CREDITO = ?", Array As String(cuenta))
+ End If
+End Sub
+
+Private Sub chb_martes_CheckedChange(Checked As Boolean)
+ diasvisita = ""
+ If chb_lunes.Checked Then diasvisita = diasvisita & ", " & chb_lunes.Text
+ If chb_martes.Checked Then diasvisita = diasvisita & ", " & chb_martes.Text
+ If chb_miercoles.Checked Then diasvisita = diasvisita & ", " & chb_miercoles.Text
+ If chb_jueves.Checked Then diasvisita = diasvisita & ", " & chb_jueves.Text
+ If chb_viernes.Checked Then diasvisita = diasvisita & ", " & chb_viernes.Text
+ If chb_sabado.Checked Then diasvisita = diasvisita & ", " & chb_sabado.Text
+ If chb_domingo.Checked Then diasvisita = diasvisita & ", " & chb_domingo.Text
+ If diasvisita <> "" And diasvisita.SubString2(0,2) = ", " Then diasvisita = diasvisita.SubString(2)
+ Log(diasvisita)
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET ESTATUS = ? WHERE CREDITO = ? AND ESTATUS <> 2", Array As String("1", cuenta))
+ c = Starter.skmt.ExecQuery2("SELECT ESTATUS2 FROM HIST_DATOS_GENERALES WHERE CREDITO = ?",Array As String(cuenta))
+ c.Position = 0
+ If c.GetString("ESTATUS2") = 2 Then
+
+ Else
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_DATOS_GENERALES SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_FINANCIEROS SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+ End If
+ c.Close
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET DIAS_ACCION = ? WHERE CREDITO = ? AND ESTATUS = 1", Array As String(diasvisita, cuenta))
+ If chb_martes.Checked = True Then
+ Starter.skmt.ExecNonQuery2("UPDATE CHECADO SET MARTES = 1 WHERE CREDITO = ?", Array As String(cuenta))
+ Else If chb_martes.Checked = False Then
+ Starter.skmt.ExecNonQuery2("UPDATE CHECADO SET MARTES = 0 WHERE CREDITO = ?", Array As String(cuenta))
+ End If
+End Sub
+
+Private Sub chb_lunes_CheckedChange(Checked As Boolean)
+ diasvisita = ""
+ If chb_lunes.Checked Then diasvisita = diasvisita & ", " & chb_lunes.Text
+ If chb_martes.Checked Then diasvisita = diasvisita & ", " & chb_martes.Text
+ If chb_miercoles.Checked Then diasvisita = diasvisita & ", " & chb_miercoles.Text
+ If chb_jueves.Checked Then diasvisita = diasvisita & ", " & chb_jueves.Text
+ If chb_viernes.Checked Then diasvisita = diasvisita & ", " & chb_viernes.Text
+ If chb_sabado.Checked Then diasvisita = diasvisita & ", " & chb_sabado.Text
+ If chb_domingo.Checked Then diasvisita = diasvisita & ", " & chb_domingo.Text
+ If diasvisita <> "" And diasvisita.SubString2(0,2) = ", " Then diasvisita = diasvisita.SubString(2)
+ Log(diasvisita)
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET ESTATUS = ? WHERE CREDITO = ? AND ESTATUS <> 2", Array As String("1", cuenta))
+ c = Starter.skmt.ExecQuery2("SELECT ESTATUS2 FROM HIST_DATOS_GENERALES WHERE CREDITO = ?",Array As String(cuenta))
+ c.Position = 0
+ If c.GetString("ESTATUS2") = 2 Then
+
+ Else
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_DATOS_GENERALES SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_FINANCIEROS SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+ End If
+ c.Close
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET DIAS_ACCION = ? WHERE CREDITO = ? AND ESTATUS = 1", Array As String(diasvisita, cuenta))
+ If chb_lunes.Checked = True Then
+ Starter.skmt.ExecNonQuery2("UPDATE CHECADO SET LUNES = 1 WHERE CREDITO = ?", Array As String(cuenta))
+ Else If chb_lunes.Checked = False Then
+ Starter.skmt.ExecNonQuery2("UPDATE CHECADO SET LUNES = 0 WHERE CREDITO = ?", Array As String(cuenta))
+ End If
+End Sub
+
+Private Sub et_comentarios_TextChanged (Old As String, New As String)
+ Private maxSize As Int = 500
+ If New.Length > maxSize Then et_comentarios.Text = Old
+ If et_comentarios.Text.Length = 0 Then
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET COMENTARIOS = ? WHERE CREDITO = ? AND ESTATUS = 1", Array As String("null", cuenta))
+' Starter.skmt.ExecNonQuery2("UPDATE HIST_DATOS_GENERALES SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+' Starter.skmt.ExecNonQuery2("UPDATE HIST_FINANCIEROS SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+' Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET ESTATUS = ? WHERE CREDITO = ?", Array As String("1", cuenta))
+ Else
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET COMENTARIOS = ? WHERE CREDITO = ? AND ESTATUS = 1", Array As String(et_comentarios.Text, cuenta))
+' Starter.skmt.ExecNonQuery2("UPDATE HIST_DATOS_GENERALES SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+' Starter.skmt.ExecNonQuery2("UPDATE HIST_FINANCIEROS SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+' Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET ESTATUS = ? WHERE CREDITO = ?", Array As String("1", cuenta))
+ End If
+End Sub
+
+Private Sub et_puntosref_TextChanged (Old As String, New As String)
+ Private maxSize As Int = 500
+ If New.Length > maxSize Then et_puntosref.Text = Old
+ If et_puntosref.Text.Length = 0 Then
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET PUNTOS_REF = ? WHERE CREDITO = ? AND ESTATUS = 1", Array As String("null", cuenta))
+' Starter.skmt.ExecNonQuery2("UPDATE HIST_DATOS_GENERALES SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+' Starter.skmt.ExecNonQuery2("UPDATE HIST_FINANCIEROS SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+' Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET ESTATUS = ? WHERE CREDITO = ?", Array As String("1", cuenta))
+ Else
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET PUNTOS_REF = ? WHERE CREDITO = ? AND ESTATUS = 1", Array As String(et_puntosref.Text, cuenta))
+' Starter.skmt.ExecNonQuery2("UPDATE HIST_DATOS_GENERALES SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+' Starter.skmt.ExecNonQuery2("UPDATE HIST_FINANCIEROS SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+' Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET ESTATUS = ? WHERE CREDITO = ?", Array As String("1", cuenta))
+ End If
+End Sub
+
+Private Sub cb_numero_SelectedIndexChanged (Index As Int)
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET ESTATUS = ? WHERE CREDITO = ? AND ESTATUS <> 2", Array As String("1", cuenta))
+ c = Starter.skmt.ExecQuery2("SELECT ESTATUS2 FROM HIST_DATOS_GENERALES WHERE CREDITO = ?",Array As String(cuenta))
+ c.Position = 0
+ If c.GetString("ESTATUS2") = 2 Then
+
+ Else
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_DATOS_GENERALES SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_FINANCIEROS SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+ End If
+ c.Close
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET NIVELES = ? WHERE CREDITO = ? AND ESTATUS = 1", Array As String(cb_numero.SelectedItem, cuenta))
+End Sub
+
+Private Sub cb_caracteristicas_SelectedIndexChanged (Index As Int)
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET ESTATUS = ? WHERE CREDITO = ? AND ESTATUS <> 2", Array As String("1", cuenta))
+ c = Starter.skmt.ExecQuery2("SELECT ESTATUS2 FROM HIST_DATOS_GENERALES WHERE CREDITO = ?",Array As String(cuenta))
+ c.Position = 0
+ If c.GetString("ESTATUS2") = 2 Then
+
+ Else
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_DATOS_GENERALES SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_FINANCIEROS SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+ End If
+ c.Close
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET CARACTERISTICAS = ? WHERE CREDITO = ? AND ESTATUS = 1", Array As String(cb_caracteristicas.SelectedItem, cuenta))
+End Sub
+
+Private Sub cb_vivienda_SelectedIndexChanged (Index As Int)
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET ESTATUS = ? WHERE CREDITO = ? AND ESTATUS <> 2", Array As String("1", cuenta))
+ c = Starter.skmt.ExecQuery2("SELECT ESTATUS2 FROM HIST_DATOS_GENERALES WHERE CREDITO = ?",Array As String(cuenta))
+ c.Position = 0
+ If c.GetString("ESTATUS2") = 2 Then
+
+ Else
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_DATOS_GENERALES SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_FINANCIEROS SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+ End If
+ c.Close
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET TIPO_DOMICILIO = ? WHERE CREDITO = ? AND ESTATUS = 1", Array As String(cb_vivienda.SelectedItem, cuenta))
+End Sub
+
+Private Sub cb_socioeconomico_SelectedIndexChanged (Index As Int)
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET ESTATUS = ? WHERE CREDITO = ? AND ESTATUS <> 2", Array As String("1", cuenta))
+ c = Starter.skmt.ExecQuery2("SELECT ESTATUS2 FROM HIST_DATOS_GENERALES WHERE CREDITO = ?",Array As String(cuenta))
+ c.Position = 0
+ If c.GetString("ESTATUS2") = 2 Then
+
+ Else
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_DATOS_GENERALES SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_FINANCIEROS SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+ End If
+ c.Close
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET NIVEL_SOCIO = ? WHERE CREDITO = ? AND ESTATUS = 1", Array As String(cb_socioeconomico.SelectedItem, cuenta))
+End Sub
+
+'tomar foto
+
+Private Sub InitializeCamera2
+ Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_CAMERA)
+ Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean)
+ If Result Then
+ camEx2.Initialize(p_cam, frontCamera, Me, "Camera1")
+ frontCamera = camEx2.Front
+ Log("inicializamos Camara")
+ Else
+ ToastMessageShow("No permission!!!", True)
+ End If
+ 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!!!", 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!!!", True)
+ End If
+End Sub
+
+Sub Camera1_Ready (Success As Boolean)
+ Log("Camara ready")
+ If Success Then
+ camEx2.SetJpegQuality(90)
+ camEx2.SetContinuousAutoFocus
+ camEx2.CommitParameters
+ camEx2.StartPreview
+ Log(camEx2.GetPreviewSize)
+ Else
+ ToastMessageShow("Cannot open camera.", True)
+ Log("Cannot open camera")
+ End If
+End Sub
+
+Sub Camera1_PictureTaken (Data()As Byte)
+ Log("tome foto")
+ Dim filename As String = fototomada
+ Dim Dirp As String = File.DirRootExternal
+ Dim Dir As String
+ Dim Dir2 As String
+ Try
+ File.MakeDir(Dirp,"/Arestrategicas")
+ Dir = "/Arestrategicas"
+ 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
+
+ camEx2.SavePictureToFile(Data, Dirp&Dir, filename)
+ camEx2.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
+
+
+ If nombrefoto <> 0 Then
+ Dim img As B4XBitmap = xui.LoadBitmapResize(File.DirRootExternal & Dir, filename, 300, 450, True)
+ Dim out As OutputStream = File.OpenOutput(File.DirRootExternal & Dir & Dir2, filename, True)
+ img.WriteToStream(out, 100, "PNG")
+ out.Close
+ ImageView1.Bitmap = LoadBitmap(File.DirRootExternal & Dir & Dir2,nombrefoto)
+ End If
+
+ If nombrefoto1 <> 0 Then
+ Dim img As B4XBitmap = xui.LoadBitmapResize(File.DirRootExternal & Dir, filename, 300, 450, True)
+ Dim out As OutputStream = File.OpenOutput(File.DirRootExternal & Dir & Dir2, filename, False)
+ img.WriteToStream(out, 100, "PNG")
+ out.Close
+ ImageView2.Bitmap = LoadBitmap(File.DirRootExternal & Dir& Dir2,nombrefoto1)
+ End If
+
+ If nombrefoto2 <> 0 Then
+ Dim img As B4XBitmap = xui.LoadBitmapResize(File.DirRootExternal & Dir, filename, 300, 450, True)
+ Dim out As OutputStream = File.OpenOutput(File.DirRootExternal & Dir & Dir2, filename, False)
+ img.WriteToStream(out, 100, "PNG")
+ out.Close
+ ImageView3.Bitmap = LoadBitmap(File.DirRootExternal & Dir& Dir2,nombrefoto2)
+ End If
+
+ If nombrefoto3 <> 0 Then
+ Dim img As B4XBitmap = xui.LoadBitmapResize(File.DirRootExternal & Dir, filename, 300, 450, True)
+ Dim out As OutputStream = File.OpenOutput(File.DirRootExternal & Dir & Dir2, filename, False)
+ img.WriteToStream(out, 100, "PNG")
+ out.Close
+ ImageView4.Bitmap = LoadBitmap(File.DirRootExternal & Dir & Dir2,nombrefoto3)
+ End If
+
+ StopCamera2
+
+End Sub
+
+Private Sub p_camara_Click
+
+End Sub
+
+Private Sub b_foto_Click
+ camEx2.TakePicture
+ p_camara.Visible = False
+' StopCamera2
+End Sub
+
+Private Sub StopCamera2
+' Capturing = False
+ If camEx2.IsInitialized Then
+ camEx2.Release
+ End If
+End Sub
+
+Private Sub ImageView1_Click
+' foto = 2
+ DateTime.DateFormat="ddMMyyyyHHmmss"
+ InitializeCamera2
+ p_camara.Visible = True
+ nombrefoto = DateTime.Now & "_FOTO1.jpg"
+ teclado.HideKeyboard
+ fototomada = nombrefoto
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET ESTATUS = ? WHERE CREDITO = ? AND ESTATUS <> 2", Array As String("1", cuenta))
+ c = Starter.skmt.ExecQuery2("SELECT ESTATUS2 FROM HIST_DATOS_GENERALES WHERE CREDITO = ?",Array As String(cuenta))
+ c.Position = 0
+ If c.GetString("ESTATUS2") = 2 Then
+
+ Else
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_DATOS_GENERALES SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_FINANCIEROS SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+ End If
+ c.Close
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET FOTOUNO = ? WHERE CREDITO = ? AND ESTATUS = 1", Array As String(nombrefoto, cuenta))
+End Sub
+
+Private Sub ImageView2_Click
+' foto = 2
+ DateTime.DateFormat="ddMMyyyyHHmmss"
+ InitializeCamera2
+ p_camara.Visible = True
+ nombrefoto1 = DateTime.Now & "_FOTO2.jpg"
+ teclado.HideKeyboard
+ fototomada = nombrefoto1
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET ESTATUS = ? WHERE CREDITO = ? AND ESTATUS <> 2", Array As String("1", cuenta))
+ c = Starter.skmt.ExecQuery2("SELECT ESTATUS2 FROM HIST_DATOS_GENERALES WHERE CREDITO = ?",Array As String(cuenta))
+ c.Position = 0
+ If c.GetString("ESTATUS2") = 2 Then
+
+ Else
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_DATOS_GENERALES SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_FINANCIEROS SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+ End If
+ c.Close
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET FOTODOS = ? WHERE CREDITO = ? AND ESTATUS = 1", Array As String(nombrefoto1, cuenta))
+End Sub
+
+Private Sub ImageView3_Click
+' foto = 2
+ DateTime.DateFormat="ddMMyyyyHHmmss"
+ InitializeCamera2
+ p_camara.Visible = True
+ nombrefoto2 = DateTime.Now & "_FOTO3.jpg"
+ teclado.HideKeyboard
+ fototomada = nombrefoto2
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET ESTATUS = ? WHERE CREDITO = ? AND ESTATUS <> 2", Array As String("1", cuenta))
+ c = Starter.skmt.ExecQuery2("SELECT ESTATUS2 FROM HIST_DATOS_GENERALES WHERE CREDITO = ?",Array As String(cuenta))
+ c.Position = 0
+ If c.GetString("ESTATUS2") = 2 Then
+
+ Else
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_DATOS_GENERALES SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_FINANCIEROS SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+ End If
+ c.Close
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET FOTOTRES = ? WHERE CREDITO = ? AND ESTATUS = 1", Array As String(nombrefoto2, cuenta))
+End Sub
+
+Private Sub ImageView4_Click
+' foto = 2
+ DateTime.DateFormat="ddMMyyyyHHmmss"
+ InitializeCamera2
+ p_camara.Visible = True
+ nombrefoto3 = DateTime.Now & "_FOTO4.jpg"
+ teclado.HideKeyboard
+ fototomada = nombrefoto3
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET ESTATUS = ? WHERE CREDITO = ? AND ESTATUS <> 2", Array As String("1", cuenta))
+ c = Starter.skmt.ExecQuery2("SELECT ESTATUS2 FROM HIST_DATOS_GENERALES WHERE CREDITO = ?",Array As String(cuenta))
+ c.Position = 0
+ If c.GetString("ESTATUS2") = 2 Then
+
+ Else
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_DATOS_GENERALES SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_FINANCIEROS SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?", Array As String("Trabajando", "1", cuenta))
+ End If
+ c.Close
+ c.Close
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET FOTOCUATRO = ? WHERE CREDITO = ? AND ESTATUS = 1", Array As String(nombrefoto3, cuenta))
+End Sub
+
+Private Sub b_guardar_Click
+ diasvisita = ""
+ If chb_lunes.Checked Then diasvisita = diasvisita & ", " & chb_lunes.Text
+ If chb_martes.Checked Then diasvisita = diasvisita & ", " & chb_martes.Text
+ If chb_miercoles.Checked Then diasvisita = diasvisita & ", " & chb_miercoles.Text
+ If chb_jueves.Checked Then diasvisita = diasvisita & ", " & chb_jueves.Text
+ If chb_viernes.Checked Then diasvisita = diasvisita & ", " & chb_viernes.Text
+ If chb_sabado.Checked Then diasvisita = diasvisita & ", " & chb_sabado.Text
+ If chb_domingo.Checked Then diasvisita = diasvisita & ", " & chb_domingo.Text
+ If diasvisita <> "" And diasvisita.SubString2(0,2) = ", " Then diasvisita = diasvisita.SubString(2)
+ Log(diasvisita)
+
+ If cb_fuente.SelectedItem <> "Selecciona una opción" Then
+ If cb_parentesco.SelectedItem <> "Selecciona una opción" Then
+ If cb_accion.SelectedItem <> "Selecciona una opción" Then
+ If cb_resultado.SelectedItem <> "Selecciona una opción" Then
+ If cb_socioeconomico.SelectedItem <> "Selecciona una opción" Then
+ If cb_vivienda.SelectedItem <> "Selecciona una opción" Then
+ If cb_caracteristicas.SelectedItem <> "Selecciona una opción" Then
+ If cb_numero.SelectedItem <> "Selecciona una opción" Then
+ If et_comentarios.Text.Length > 0 Then
+ If et_puntosref.Text.Length > 0 Then
+ LogColor(et_puntosref.Text.Length,Colors.Green)
+ If i_datosparentesco.Visible Then
+ If et_parentesco.Text <> "" Then
+ If i_resultado.Visible Then
+ If et_monto.Text <> "" And b_fecharesultado.Text <> "Fecha de pago" Then
+ If nombrefoto <> "0" And nombrefoto1 <> "0" And nombrefoto2 <> "0" And nombrefoto3 <> "0" Then
+ h = Starter.skmt.ExecQuery2("SELECT CARTERA, AGENCIA FROM HIST_FINANCIEROS WHERE CREDITO = ? ", Array As String(cuenta))
+ h.Position = 0
+ f = Starter.skmt.ExecQuery2("SELECT CO_ACCION FROM CAT_ACCION WHERE CO_ACDESCRIPCION = ?", Array As String(cb_accion.SelectedItem))
+ f.Position = 0
+ If cb_accion.SelectedItem = "Carteo" Then
+ j = Starter.skmt.ExecQuery2("SELECT CO_RESULTADO FROM CAT_RESULTADO_CA WHERE CO_RDESCRIPCION = ?",Array As String(cb_resultado.SelectedItem))
+ j.Position = 0
+ Else if cb_accion.SelectedItem = "Se envia Blaster" Then
+ j = Starter.skmt.ExecQuery2("SELECT CO_RESULTADO FROM CAT_RESULTADO_BR WHERE CO_RDESCRIPCION = ?",Array As String(cb_resultado.SelectedItem))
+ j.Position = 0
+ Else if cb_accion.SelectedItem = "Se envia email" Then
+ j = Starter.skmt.ExecQuery2("SELECT CO_RESULTADO FROM CAT_RESULTADO_MA WHERE CO_RDESCRIPCION = ?",Array As String(cb_resultado.SelectedItem))
+ j.Position = 0
+ Else if cb_accion.SelectedItem = "Visita En Domicilio" Then
+ j = Starter.skmt.ExecQuery2("SELECT CO_RESULTADO FROM CAT_RESULTADO_VC WHERE CO_RDESCRIPCION = ?",Array As String(cb_resultado.SelectedItem))
+ j.Position = 0
+ End If
+
+ DateTime.DateFormat = "dd/MM/yyyy"
+ Dim fecha_captura As String = DateTime.Date(DateTime.Now)
+ Log(fecha_captura)
+
+ n = Starter.skmt.ExecQuery2("SELECT COUNT(*) AS REGISTRADO FROM HIST_VISITA WHERE CREDITO = ?",Array As String(cuenta))
+ n.Position = 0
+ If n.GetString("REGISTRADO") = 0 Then
+ Starter.skmt.ExecNonQuery2("INSERT INTO HIST_VISITA(CREDITO, PRODUCTO, VISITADOR, RESULTADO, CODIGO_RES, PARENTESCO, COMENTARIOS, FECHA, LONGITUD, LATUTUD, FECHACAPTURA, AGENCIA, FECHA_PROMESA, MONTO_PROMESA, TIPO_DOMICILIO, NIVEL_SOCIO, CARACTERISTICAS, NIVELES, FOTOUNO, FOTODOS, FOTOTRES, FOTOCUATRO, NOMBRE_ATIENDE, CODIGO_ACCION, ACCION, DIAS_ACCION, PUNTOS_REF) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", Array As String(cuenta, h.GetString("CARTERA"), B4XPages.MainPage.user, cb_resultado.SelectedItem, j.GetString("CO_RESULTADO"),cb_parentesco.SelectedItem, et_comentarios.Text, fecha_captura, Starter.latitud, Starter.longitud, fecha_captura, h.GetString("AGENCIA"), b_fecharesultado.Text, et_monto.Text, cb_vivienda.SelectedItem, cb_socioeconomico.SelectedItem, cb_caracteristicas.SelectedItem, cb_numero.SelectedItem, nombrefoto, nombrefoto1, nombrefoto2, nombrefoto3, et_parentesco.Text, f.GetString("CO_ACCION"), cb_accion.SelectedItem, diasvisita, et_puntosref.Text))
+ Starter.skmt.ExecNonQuery2("delete from CHECADO WHERE CREDITO = ?",Array As String(cuenta))
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_DATOS_GENERALES SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?",Array As Object("Terminada","2",cuenta))
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_FINANCIEROS SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?",Array As Object("Terminada","2",cuenta))
+ Log("Insert")
+ Else If n.GetString("REGISTRADO") > 0 Then
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET PRODUCTO = ?, VISITADOR = ?, RESULTADO = ?, CODIGO_RES = ?, PARENTESCO = ?, COMENTARIOS = ?, FECHA = ?, LONGITUD = ?, LATUTUD = ?, FECHACAPTURA = ?, AGENCIA = ?, FECHA_PROMESA = ?, MONTO_PROMESA = ?, TIPO_DOMICILIO = ?, NIVEL_SOCIO = ?, CARACTERISTICAS = ?, NIVELES = ?, FOTOUNO = ?, FOTODOS = ?, FOTOTRES = ?, FOTOCUATRO = ?, NOMBRE_ATIENDE = ?, CODIGO_ACCION = ?, ACCION = ?, DIAS_ACCION = ?, PUNTOS_REF = ?, ESTATUS = ? WHERE CREDITO = ? AND ESTATUS <> 2", Array As String(h.GetString("CARTERA"), B4XPages.MainPage.user, cb_resultado.SelectedItem, j.GetString("CO_RESULTADO"),cb_parentesco.SelectedItem, et_comentarios.Text, fecha_captura, Starter.latitud, Starter.longitud, fecha_captura, h.GetString("AGENCIA"), b_fecharesultado.Text, et_monto.Text, cb_vivienda.SelectedItem, cb_socioeconomico.SelectedItem, cb_caracteristicas.SelectedItem, cb_numero.SelectedItem, nombrefoto, nombrefoto1, nombrefoto2, nombrefoto3, et_parentesco.Text, f.GetString("CO_ACCION"), cb_accion.SelectedItem, diasvisita, et_puntosref.Text,"2", cuenta))
+ Starter.skmt.ExecNonQuery2("delete from CHECADO WHERE CREDITO = ?",Array As String(cuenta))
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_DATOS_GENERALES SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?",Array As Object("Terminada","2",cuenta))
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_FINANCIEROS SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?",Array As Object("Terminada","2",cuenta))
+ Log("update")
+ End If
+ n.Close
+ h.Close
+ f.Close
+ j.Close
+ B4XPages.ShowPage("principal")
+
+ ImageView1.Bitmap = LoadBitmap(File.DirAssets,"icon_22-[convertido].png")
+ ImageView2.Bitmap = LoadBitmap(File.DirAssets,"icon_22-[convertido].png")
+ ImageView3.Bitmap = LoadBitmap(File.DirAssets,"icon_22-[convertido].png")
+ ImageView4.Bitmap = LoadBitmap(File.DirAssets,"icon_22-[convertido].png")
+
+ Else
+ MsgboxAsync("Por favor captura todas las fotos","Atención")
+ End If
+
+ Else
+ MsgboxAsync("Captura todos los datos de la promesa de pago","Atención")
+ End If
+ Else
+ If nombrefoto <> "0" And nombrefoto1 <> "0" And nombrefoto2 <> "0" And nombrefoto3 <> "0" Then
+ h = Starter.skmt.ExecQuery2("SELECT CARTERA, AGENCIA FROM HIST_FINANCIEROS WHERE CREDITO = ? ", Array As String(cuenta))
+ h.Position = 0
+ f = Starter.skmt.ExecQuery2("SELECT CO_ACCION FROM CAT_ACCION WHERE CO_ACDESCRIPCION = ?", Array As String(cb_accion.SelectedItem))
+ f.Position = 0
+ If cb_accion.SelectedItem = "Carteo" Then
+ j = Starter.skmt.ExecQuery2("SELECT CO_RESULTADO FROM CAT_RESULTADO_CA WHERE CO_RDESCRIPCION = ?",Array As String(cb_resultado.SelectedItem))
+ j.Position = 0
+ Else if cb_accion.SelectedItem = "Se envia Blaster" Then
+ j = Starter.skmt.ExecQuery2("SELECT CO_RESULTADO FROM CAT_RESULTADO_BR WHERE CO_RDESCRIPCION = ?",Array As String(cb_resultado.SelectedItem))
+ j.Position = 0
+ Else if cb_accion.SelectedItem = "Se envia email" Then
+ j = Starter.skmt.ExecQuery2("SELECT CO_RESULTADO FROM CAT_RESULTADO_MA WHERE CO_RDESCRIPCION = ?",Array As String(cb_resultado.SelectedItem))
+ j.Position = 0
+ Else if cb_accion.SelectedItem = "Visita En Domicilio" Then
+ j = Starter.skmt.ExecQuery2("SELECT CO_RESULTADO FROM CAT_RESULTADO_VC WHERE CO_RDESCRIPCION = ?",Array As String(cb_resultado.SelectedItem))
+ j.Position = 0
+ End If
+ DateTime.DateFormat = "dd/MM/yyyy"
+ Dim fecha_captura As String = DateTime.Date(DateTime.Now)
+ Log(fecha_captura)
+
+ n = Starter.skmt.ExecQuery2("SELECT COUNT(*) AS REGISTRADO FROM HIST_VISITA WHERE CREDITO = ?",Array As String(cuenta))
+ n.Position = 0
+ If n.GetString("REGISTRADO") = 0 Then
+ Starter.skmt.ExecNonQuery2("INSERT INTO HIST_VISITA(CREDITO, PRODUCTO, VISITADOR, RESULTADO, CODIGO_RES, PARENTESCO, COMENTARIOS, FECHA, LONGITUD, LATUTUD, FECHACAPTURA, AGENCIA, TIPO_DOMICILIO, NIVEL_SOCIO, CARACTERISTICAS, NIVELES, FOTOUNO, FOTODOS, FOTOTRES, FOTOCUATRO, NOMBRE_ATIENDE, CODIGO_ACCION, ACCION, DIAS_ACCION, PUNTOS_REF) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", Array As String(cuenta, h.GetString("CARTERA"), B4XPages.MainPage.user, cb_resultado.SelectedItem, j.GetString("CO_RESULTADO"),cb_parentesco.SelectedItem, et_comentarios.Text, fecha_captura, Starter.latitud, Starter.longitud, fecha_captura, h.GetString("AGENCIA"), cb_vivienda.SelectedItem, cb_socioeconomico.SelectedItem, cb_caracteristicas.SelectedItem, cb_numero.SelectedItem, nombrefoto, nombrefoto1, nombrefoto2, nombrefoto3, et_parentesco.Text, f.GetString("CO_ACCION"), cb_accion.SelectedItem, diasvisita, et_puntosref.Text))
+ Starter.skmt.ExecNonQuery2("delete from CHECADO WHERE CREDITO = ?",Array As String(cuenta))
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_DATOS_GENERALES SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?",Array As Object("Terminada","2",cuenta))
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_FINANCIEROS SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?",Array As Object("Terminada","2",cuenta))
+ Else
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET PRODUCTO = ?, VISITADOR = ?, RESULTADO = ?, CODIGO_RES = ?, PARENTESCO = ?, COMENTARIOS = ?, FECHA = ?, LONGITUD = ?, LATUTUD = ?, FECHACAPTURA = ?, AGENCIA = ?, TIPO_DOMICILIO = ?, NIVEL_SOCIO = ?, CARACTERISTICAS = ?, NIVELES = ?, FOTOUNO = ?, FOTODOS = ?, FOTOTRES = ?, FOTOCUATRO = ?, NOMBRE_ATIENDE = ?, CODIGO_ACCION = ?, ACCION = ?, DIAS_ACCION = ?, PUNTOS_REF = ?, ESTATUS = ? WHERE CREDITO = ? AND ESTATUS <> 2", Array As String(h.GetString("CARTERA"), B4XPages.MainPage.user, cb_resultado.SelectedItem, j.GetString("CO_RESULTADO"),cb_parentesco.SelectedItem, et_comentarios.Text, fecha_captura, Starter.latitud, Starter.longitud, fecha_captura, h.GetString("AGENCIA"), cb_vivienda.SelectedItem, cb_socioeconomico.SelectedItem, cb_caracteristicas.SelectedItem, cb_numero.SelectedItem, nombrefoto, nombrefoto1, nombrefoto2, nombrefoto3, et_parentesco.Text, f.GetString("CO_ACCION"), cb_accion.SelectedItem, diasvisita, et_puntosref.Text,"2",cuenta))
+ Starter.skmt.ExecNonQuery2("delete from CHECADO WHERE CREDITO = ?",Array As String(cuenta))
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_DATOS_GENERALES SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?",Array As Object("Terminada","2",cuenta))
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_FINANCIEROS SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?",Array As Object("Terminada","2",cuenta))
+ Log("update2")
+ End If
+ n.Close
+ h.Close
+ f.Close
+ j.Close
+
+ B4XPages.ShowPage("principal")
+
+ ImageView1.Bitmap = LoadBitmap(File.DirAssets,"icon_22-[convertido].png")
+ ImageView2.Bitmap = LoadBitmap(File.DirAssets,"icon_22-[convertido].png")
+ ImageView3.Bitmap = LoadBitmap(File.DirAssets,"icon_22-[convertido].png")
+ ImageView4.Bitmap = LoadBitmap(File.DirAssets,"icon_22-[convertido].png")
+
+ Else
+ MsgboxAsync("Por favor captura todas las fotos","Atención")
+ End If
+ End If
+ Else
+ MsgboxAsync("Captura el nombre del tipo de contacto.","Atención")
+ End If
+ Else
+ If i_resultado.Visible Then
+ If et_monto.Text <> "" And b_fecharesultado.Text <> "Fecha de pago" Then
+ If et_comentarios.Text <> "" Then
+ If et_puntosref.Text <> "" Then
+ If nombrefoto <> "0" And nombrefoto1 <> "0" And nombrefoto2 <> "0" And nombrefoto3 <> "0" Then
+ h = Starter.skmt.ExecQuery2("SELECT CARTERA, AGENCIA FROM HIST_FINANCIEROS WHERE CREDITO = ? ", Array As String(cuenta))
+ h.Position = 0
+ f = Starter.skmt.ExecQuery2("SELECT CO_ACCION FROM CAT_ACCION WHERE CO_ACDESCRIPCION = ?", Array As String(cb_accion.SelectedItem))
+ f.Position = 0
+ If cb_accion.SelectedItem = "Carteo" Then
+ j = Starter.skmt.ExecQuery2("SELECT CO_RESULTADO FROM CAT_RESULTADO_CA WHERE CO_RDESCRIPCION = ?",Array As String(cb_resultado.SelectedItem))
+ j.Position = 0
+ Else if cb_accion.SelectedItem = "Se envia Blaster" Then
+ j = Starter.skmt.ExecQuery2("SELECT CO_RESULTADO FROM CAT_RESULTADO_BR WHERE CO_RDESCRIPCION = ?",Array As String(cb_resultado.SelectedItem))
+ j.Position = 0
+ Else if cb_accion.SelectedItem = "Se envia email" Then
+ j = Starter.skmt.ExecQuery2("SELECT CO_RESULTADO FROM CAT_RESULTADO_MA WHERE CO_RDESCRIPCION = ?",Array As String(cb_resultado.SelectedItem))
+ j.Position = 0
+ Else if cb_accion.SelectedItem = "Visita En Domicilio" Then
+ j = Starter.skmt.ExecQuery2("SELECT CO_RESULTADO FROM CAT_RESULTADO_VC WHERE CO_RDESCRIPCION = ?",Array As String(cb_resultado.SelectedItem))
+ j.Position = 0
+ End If
+ DateTime.DateFormat = "dd/MM/yyyy"
+ Dim fecha_captura As String = DateTime.Date(DateTime.Now)
+ Log(fecha_captura)
+
+
+ n = Starter.skmt.ExecQuery2("SELECT COUNT(*) AS REGISTRADO FROM HIST_VISITA WHERE CREDITO = ?",Array As String(cuenta))
+ n.Position = 0
+ If n.GetString("REGISTRADO") = 0 Then
+ Starter.skmt.ExecNonQuery2("INSERT INTO HIST_VISITA(CREDITO, PRODUCTO, VISITADOR, RESULTADO, CODIGO_RES, PARENTESCO, COMENTARIOS, FECHA, LONGITUD, LATUTUD, FECHACAPTURA, AGENCIA, FECHA_PROMESA, MONTO_PROMESA, TIPO_DOMICILIO, NIVEL_SOCIO, CARACTERISTICAS, NIVELES, FOTOUNO, FOTODOS, FOTOTRES, FOTOCUATRO, NOMBRE_ATIENDE, CODIGO_ACCION, ACCION, DIAS_ACCION, PUNTOS_REF) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", Array As String(cuenta, h.GetString("CARTERA"), B4XPages.MainPage.user, cb_resultado.SelectedItem, j.GetString("CO_RESULTADO"),cb_parentesco.SelectedItem, et_comentarios.Text, fecha_captura, Starter.latitud, Starter.longitud, fecha_captura, h.GetString("AGENCIA"), b_fecharesultado.Text, et_monto.Text, cb_vivienda.SelectedItem, cb_socioeconomico.SelectedItem, cb_caracteristicas.SelectedItem, cb_numero.SelectedItem, nombrefoto, nombrefoto1, nombrefoto2, nombrefoto3, l_nombreg.Text, f.GetString("CO_ACCION"), cb_accion.SelectedItem, diasvisita, et_puntosref.Text))
+ Starter.skmt.ExecNonQuery2("delete from CHECADO WHERE CREDITO = ?",Array As String(cuenta))
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_DATOS_GENERALES SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?",Array As Object("Terminada","2",cuenta))
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_FINANCIEROS SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?",Array As Object("Terminada","2",cuenta))
+ Else
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET PRODUCTO = ?, VISITADOR = ?, RESULTADO = ?, CODIGO_RES = ?, PARENTESCO = ?, COMENTARIOS = ?, FECHA = ?, LONGITUD = ?, LATUTUD = ?, FECHACAPTURA = ?, AGENCIA = ?, FECHA_PROMESA = ?, MONTO_PROMESA = ?, TIPO_DOMICILIO = ?, NIVEL_SOCIO = ?, CARACTERISTICAS = ?, NIVELES = ?, FOTOUNO = ?, FOTODOS = ?, FOTOTRES = ?, FOTOCUATRO = ?, NOMBRE_ATIENDE = ?, CODIGO_ACCION = ?, ACCION = ?, DIAS_ACCION = ?, PUNTOS_REF = ?, ESTATUS = ? WHERE CREDITO = ? AND ESTATUS <> 2", Array As String(h.GetString("CARTERA"), B4XPages.MainPage.user, cb_resultado.SelectedItem, j.GetString("CO_RESULTADO"),cb_parentesco.SelectedItem, et_comentarios.Text, fecha_captura, Starter.latitud, Starter.longitud, fecha_captura, h.GetString("AGENCIA"), b_fecharesultado.Text, et_monto.Text, cb_vivienda.SelectedItem, cb_socioeconomico.SelectedItem, cb_caracteristicas.SelectedItem, cb_numero.SelectedItem, nombrefoto, nombrefoto1, nombrefoto2, nombrefoto3, l_nombreg.Text, f.GetString("CO_ACCION"), cb_accion.SelectedItem, diasvisita, et_puntosref.Text,"2", cuenta))
+ Starter.skmt.ExecNonQuery2("delete from CHECADO WHERE CREDITO = ?",Array As String(cuenta))
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_DATOS_GENERALES SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?",Array As Object("Terminada","2",cuenta))
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_FINANCIEROS SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?",Array As Object("Terminada","2",cuenta))
+ Log("update3")
+ End If
+ n.Close
+ h.Close
+ f.Close
+ j.Close
+
+ B4XPages.ShowPage("principal")
+
+ ImageView1.Bitmap = LoadBitmap(File.DirAssets,"icon_22-[convertido].png")
+ ImageView2.Bitmap = LoadBitmap(File.DirAssets,"icon_22-[convertido].png")
+ ImageView3.Bitmap = LoadBitmap(File.DirAssets,"icon_22-[convertido].png")
+ ImageView4.Bitmap = LoadBitmap(File.DirAssets,"icon_22-[convertido].png")
+
+ Else
+ MsgboxAsync("Por favor captura todas las fotos","Atención")
+ End If
+ Else
+ MsgboxAsync("Falta capturar los puntos de referencia","Atención")
+ End If
+ Else
+ MsgboxAsync("Falta capturar comentarios","Atención")
+ End If
+ Else
+ MsgboxAsync("Captura todos los datos de la promesa de pago","Atención")
+ End If
+ Else
+ If nombrefoto <> "0" And nombrefoto1 <> "0" And nombrefoto2 <> "0" And nombrefoto3 <> "0" Then
+ h = Starter.skmt.ExecQuery2("SELECT CARTERA, AGENCIA FROM HIST_FINANCIEROS WHERE CREDITO = ? ", Array As String(cuenta))
+ h.Position = 0
+ f = Starter.skmt.ExecQuery2("SELECT CO_ACCION FROM CAT_ACCION WHERE CO_ACDESCRIPCION = ?", Array As String(cb_accion.SelectedItem))
+ f.Position = 0
+ If cb_accion.SelectedItem = "Carteo" Then
+ j = Starter.skmt.ExecQuery2("SELECT CO_RESULTADO FROM CAT_RESULTADO_CA WHERE CO_RDESCRIPCION = ?",Array As String(cb_resultado.SelectedItem))
+ j.Position = 0
+ Else if cb_accion.SelectedItem = "Se envia Blaster" Then
+ j = Starter.skmt.ExecQuery2("SELECT CO_RESULTADO FROM CAT_RESULTADO_BR WHERE CO_RDESCRIPCION = ?",Array As String(cb_resultado.SelectedItem))
+ j.Position = 0
+ Else if cb_accion.SelectedItem = "Se envia email" Then
+ j = Starter.skmt.ExecQuery2("SELECT CO_RESULTADO FROM CAT_RESULTADO_MA WHERE CO_RDESCRIPCION = ?",Array As String(cb_resultado.SelectedItem))
+ j.Position = 0
+ Else if cb_accion.SelectedItem = "Visita En Domicilio" Then
+ j = Starter.skmt.ExecQuery2("SELECT CO_RESULTADO FROM CAT_RESULTADO_VC WHERE CO_RDESCRIPCION = ?",Array As String(cb_resultado.SelectedItem))
+ j.Position = 0
+ End If
+ DateTime.DateFormat = "dd/MM/yyyy"
+ Dim fecha_captura As String = DateTime.Date(DateTime.Now)
+ Log(fecha_captura)
+
+ n = Starter.skmt.ExecQuery2("SELECT COUNT(*) AS REGISTRADO FROM HIST_VISITA WHERE CREDITO = ?",Array As String(cuenta))
+ n.Position = 0
+ If n.GetString("REGISTRADO") = 0 Then
+ Starter.skmt.ExecNonQuery2("INSERT INTO HIST_VISITA(CREDITO, PRODUCTO, VISITADOR, RESULTADO, CODIGO_RES, PARENTESCO, COMENTARIOS, FECHA, LONGITUD, LATUTUD, FECHACAPTURA, AGENCIA, TIPO_DOMICILIO, NIVEL_SOCIO, CARACTERISTICAS, NIVELES, FOTOUNO, FOTODOS, FOTOTRES, FOTOCUATRO, NOMBRE_ATIENDE, CODIGO_ACCION, ACCION, DIAS_ACCION, PUNTOS_REF) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", Array As String(cuenta, h.GetString("CARTERA"), B4XPages.MainPage.user, cb_resultado.SelectedItem, j.GetString("CO_RESULTADO"),cb_parentesco.SelectedItem, et_comentarios.Text, fecha_captura, Starter.latitud, Starter.longitud, fecha_captura, h.GetString("AGENCIA"), cb_vivienda.SelectedItem, cb_socioeconomico.SelectedItem, cb_caracteristicas.SelectedItem, cb_numero.SelectedItem, nombrefoto, nombrefoto1, nombrefoto2, nombrefoto3, l_nombreg.Text, f.GetString("CO_ACCION"), cb_accion.SelectedItem, diasvisita, et_puntosref.Text))
+ Starter.skmt.ExecNonQuery2("delete from CHECADO WHERE CREDITO = ?",Array As String(cuenta))
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_DATOS_GENERALES SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?",Array As Object("Terminada","2",cuenta))
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_FINANCIEROS SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?",Array As Object("Terminada","2",cuenta))
+ Else
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_VISITA SET PRODUCTO = ?, VISITADOR = ?, RESULTADO = ?, CODIGO_RES = ?, PARENTESCO = ?, COMENTARIOS = ?, FECHA = ?, LONGITUD = ?, LATUTUD = ?, FECHACAPTURA = ?, AGENCIA = ?, TIPO_DOMICILIO = ?, NIVEL_SOCIO = ?, CARACTERISTICAS = ?, NIVELES = ?, FOTOUNO = ?, FOTODOS = ?, FOTOTRES = ?, FOTOCUATRO = ?, NOMBRE_ATIENDE = ?, CODIGO_ACCION = ?, ACCION = ?, DIAS_ACCION = ?, PUNTOS_REF = ?, ESTATUS = ? WHERE CREDITO = ? AND ESTATUS <> 2", Array As String(h.GetString("CARTERA"), B4XPages.MainPage.user, cb_resultado.SelectedItem, j.GetString("CO_RESULTADO"),cb_parentesco.SelectedItem, et_comentarios.Text, fecha_captura, Starter.latitud, Starter.longitud, fecha_captura, h.GetString("AGENCIA"), cb_vivienda.SelectedItem, cb_socioeconomico.SelectedItem, cb_caracteristicas.SelectedItem, cb_numero.SelectedItem, nombrefoto, nombrefoto1, nombrefoto2, nombrefoto3, l_nombreg.Text, f.GetString("CO_ACCION"), cb_accion.SelectedItem, diasvisita, et_puntosref.Text,"2", cuenta))
+ Starter.skmt.ExecNonQuery2("delete from CHECADO WHERE CREDITO = ?",Array As String(cuenta))
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_DATOS_GENERALES SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?",Array As Object("Terminada","2",cuenta))
+ Starter.skmt.ExecNonQuery2("UPDATE HIST_FINANCIEROS SET ESTATUS = ?, ESTATUS2 = ? WHERE CREDITO = ?",Array As Object("Terminada","2",cuenta))
+ Log("update4")
+ End If
+ n.Close
+ h.Close
+ f.Close
+ j.Close
+
+ B4XPages.ShowPage("principal")
+
+ ImageView1.Bitmap = LoadBitmap(File.DirAssets,"icon_22-[convertido].png")
+ ImageView2.Bitmap = LoadBitmap(File.DirAssets,"icon_22-[convertido].png")
+ ImageView3.Bitmap = LoadBitmap(File.DirAssets,"icon_22-[convertido].png")
+ ImageView4.Bitmap = LoadBitmap(File.DirAssets,"icon_22-[convertido].png")
+ Else
+ MsgboxAsync("Por favor captura todas las fotos","Atención")
+ End If
+ End If
+ End If
+ Else
+ MsgboxAsync("Falta capturar los puntos de referencia","Atención")
+ LogColor("estoy aqui",Colors.Green)
+ End If
+ Else
+ MsgboxAsync("Falta capturar comentarios","Atención")
+ End If
+ Else
+ MsgboxAsync("Selecciona una opción de # de niveles","Atención")
+ End If
+ Else
+ MsgboxAsync("Selecciona una opción de Caracteristicas","Atención")
+ End If
+ Else
+ MsgboxAsync("Selecciona una opción de Tipo de vivienda","Atención")
+ End If
+ Else
+ MsgboxAsync("Selecciona una opción de Nivel socioeconomico","Atención")
+ End If
+ Else
+ MsgboxAsync("Selecciona una opción de Resultado","Atención")
+ End If
+ Else
+ MsgboxAsync("Selecciona una opción de Acción","Atención")
+ End If
+ Else
+ MsgboxAsync("Selecciona una opción de Parentesco","Atención")
+ End If
+ Else
+ MsgboxAsync("Selecciona una opción de Fuente","Atención")
+ End If
+End Sub
+
+Private Sub B4XPage_CloseRequest As ResumableSub
+
+ If p_camara.Visible Then
+ p_camara.Visible = False
+ Else
+
+ p_w1.Visible = False
+ p_w2.Visible = False
+ p_w3.Visible = False
+ B4XPages.ShowPage("principal")
+ End If
+
+' Return True
+ Return False
+End Sub
+
+Sub GPS_LocationChanged (Location1 As Location)
+
+' ubicacion.Initialize
+' ubicacion.Latitude = mlat
+' ubicacion.Longitude = mlon
+' If logger Then Log($"${Location1.Latitude}, ${Location1.Longitude}, ${Location1.Accuracy}"$)
+' laDist = Location1.DistanceTo(ubicacion)
+' l_ubicacion.Text = $"Dist: $1.0{laDist} mts."$
+' Log(Location1.Latitude)
+' Log(Location1.Longitude)
+' l1.Initialize2(Starter.latitud,Starter.longitud)
+' l2.Initialize2(mlat, mlon)
+' distance = l1.DistanceTo(l2) ' resultado en metros
+'' Log (distance)
+'' Log(mlat & " , " & mlon)
+'' Log(Starter.latitud & " , " & Starter.longitud)
+' l_ubicacion.Text = $"Dist: $1.0{distance} mts."$
+' If laDist > 50 Then l_ubicacion.TextColor = Colors.Red Else l_ubicacion.TextColor = Colors.Blue
+ Starter.longitud = Location1.Longitude
+ Starter.latitud = Location1.Latitude
+End Sub
\ No newline at end of file
diff --git a/B4J/AREstrategias.b4j b/B4J/AREstrategias.b4j
new file mode 100644
index 0000000..cdedb76
--- /dev/null
+++ b/B4J/AREstrategias.b4j
@@ -0,0 +1,53 @@
+AppType=JavaFX
+Build1=Default,b4j.example
+File1=MainPage.bjl
+FileGroup1=New Group
+Group=Default Group
+Library1=jcore
+Library2=jfx
+Library3=b4xpages
+Module1=|relative|..\B4XMainPage
+NumberOfFiles=1
+NumberOfLibraries=3
+NumberOfModules=1
+Version=8.31
+@EndOfDesignText@
+#Region Project Attributes
+ #MainFormWidth: 600
+ #MainFormHeight: 600
+#End Region
+
+Sub Process_Globals
+ Private fx As JFX
+ Private MainForm As Form
+End Sub
+
+Sub AppStart (Form1 As Form, Args() As String)
+ MainForm = Form1
+ MainForm.Show
+ Dim PagesManager As B4XPagesManager
+ PagesManager.Initialize(MainForm)
+End Sub
+
+'Template version: B4J-1.0
+#Region Delegates
+Sub MainForm_FocusChanged (HasFocus As Boolean)
+ B4XPages.Delegate.MainForm_FocusChanged(HasFocus)
+End Sub
+
+Sub MainForm_Resize (Width As Double, Height As Double)
+ B4XPages.Delegate.MainForm_Resize(Width, Height)
+End Sub
+
+Sub MainForm_Closed
+ B4XPages.Delegate.MainForm_Closed
+End Sub
+
+Sub MainForm_CloseRequest (EventData As Event)
+ B4XPages.Delegate.MainForm_CloseRequest(EventData)
+End Sub
+
+Public Sub MainForm_IconifiedChanged (Iconified As Boolean)
+ B4XPages.Delegate.MainForm_IconifiedChanged(Iconified)
+End Sub
+#End Region
\ No newline at end of file
diff --git a/B4J/Files/MainPage.bjl b/B4J/Files/MainPage.bjl
new file mode 100644
index 0000000..405b3b7
Binary files /dev/null and b/B4J/Files/MainPage.bjl differ
diff --git a/B4XMainPage.bas b/B4XMainPage.bas
new file mode 100644
index 0000000..cad5bc2
--- /dev/null
+++ b/B4XMainPage.bas
@@ -0,0 +1,230 @@
+B4A=true
+Group=Default Group
+ModulesStructureVersion=1
+Type=Class
+Version=9.85
+@EndOfDesignText@
+#Region Shared Files
+#CustomBuildAction: folders ready, %WINDIR%\System32\Robocopy.exe,"..\..\Shared Files" "..\Files"
+'Ctrl + click to sync files: ide://run?file=%WINDIR%\System32\Robocopy.exe&args=..\..\Shared+Files&args=..\Files&FilesSync=True
+#End Region
+
+'Ctrl + click to export as zip: ide://run?File=%B4X%\Zipper.jar&Args=Project.zip
+
+Sub Class_Globals
+ Private Root As B4XView
+ Private xui As XUI
+
+ Dim principal As C_principal
+ Dim datos As c_datos
+ Private b_iniciar As Button
+ Private Contraseña As EditText
+ Private Usuario As EditText
+ Dim user As String
+ Dim db As SQL
+ Dim reqManager As DBRequestManager
+ Public updateAvailable As C_UpdateAvailable
+ Private p_configuracion As Panel
+ Private p_adorno As Panel
+ Private et_server As EditText
+ Private lv_server As ListView
+ Dim Logger As Boolean
+ Private b_guarda_server As Button
+ Public Provider As FileProvider
+ Private l_version As Label
+End Sub
+
+Public Sub Initialize
+' B4XPages.GetManager.LogEvents = True
+End Sub
+
+'This event will be called once, before the page becomes visible.
+Private Sub B4XPage_Created (Root1 As B4XView)
+ Root = Root1
+ Root.LoadLayout("MainPage")
+ principal.Initialize
+ B4XPages.AddPage("principal",principal)
+ datos.Initialize
+ B4XPages.AddPage("datos",datos)
+ updateAvailable.Initialize
+ B4XPages.AddPage("updateAvailable", updateAvailable)
+ reqManager.Initialize(Me, Starter.DBReqServer)
+ db.Initialize(Starter.rutaBD,"kmt.db",True)
+ Provider.Initialize
+ l_version.Text = Application.VersionName
+End Sub
+
+Sub B4XPage_Appear
+ If Starter.muestraProgreso = 1 Then
+ muestraProgreso("Descargando actualización")
+ Starter.muestraProgreso = 0
+ End If
+ p_configuracion.Width = Root.Width
+ p_configuracion.Height = Root.Height
+ p_configuracion.Visible = False
+ p_adorno.Width = Root.Width * 0.85
+ p_adorno.Height = Root.Height * 0.80
+
+ Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_ACCESS_FINE_LOCATION)
+ Wait For b4xpage_PermissionResult (Permission As String, Result As Boolean)
+ If Result Then
+ StartService(Tracker)
+ Log("Start Tracker")
+ Else
+ ToastMessageShow("Sin permisos para GPS", True)
+ End If
+ Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_ACCESS_COARSE_LOCATION)
+ Wait For b4xpage_PermissionResult (Permission As String, Result As Boolean)
+ If Result Then
+ StartService(Tracker)
+ Log("Start Tracker")
+ Else
+ ToastMessageShow("Sin permisos para GPS", True)
+ End If
+ Log(Result)
+
+ If Not(Starter.GPS.GPSEnabled) Then
+ ToastMessageShow("Debe Activar el GPS del Equipo.", True)
+ StartActivity(Starter.GPS.LocationSettingsIntent)
+ Else
+ Starter.GPS.Start(0, 0)
+' If Starter.ubicacionActual.Latitude <> 0 Then GPS_LocationChanged(Starter.ubicacionActual)
+ End If
+
+End Sub
+
+
+Sub GPS_LocationChanged (Location1 As Location)
+' Log(Location1.Latitude)
+End Sub
+'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
+
+Private Sub b_iniciar_Click
+ If Usuario.Text <> "" Then
+
+ Dim cmd As DBCommand
+ cmd.Initialize
+ cmd.Name = "select_usuario_AREstrategicas"
+ cmd.Parameters = Array As Object(Usuario.Text, Contraseña.Text)
+ reqManager.ExecuteQuery(cmd , 0, "usuario")
+ user = Usuario.Text
+ Else
+ MsgboxAsync("Llena los datos de acceso","Atención")
+' B4XPages.ShowPage ("principal")
+ End If
+
+' B4XPages.ShowPage ("principal")
+ Log(Starter.latitud & Starter.longitud)
+End Sub
+
+Sub JobDone(Job As HttpJob)
+ 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 - 211110
+ 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
+ For Each k As String In result.Columns.Keys
+ Log(result.Tag & ": " & k & ": " & records(result.Columns.Get(k)))
+ Next
+ If records(result.Columns.Get ("USUARIO")) = "OKActivo" Then
+ Starter.almacen = records(result.Columns.Get ("CAT_LO_AGENCIA"))
+ B4XPages.ShowPage ("principal")
+ Log(Starter.almacen)
+ Else
+ ToastMessageShow ("Datos incorrectos",True)
+ End If
+ Next
+ If result.Rows.Size = 0 Then
+ ToastMessageShow ("Datos incorrectos",True)
+ End If
+ End If
+ End If
+ End If
+End Sub
+
+Private Sub B4XPage_CloseRequest As ResumableSub
+ If p_configuracion.Visible = True Then
+ p_configuracion.Visible = False
+ Else
+ B4XPages.ShowPage("Mainpage")
+ End If
+
+' Return True
+ Return False
+End Sub
+
+Private Sub ImageView5_Click
+ p_configuracion.Visible = True
+ lv_server.Clear
+ lv_server.AddSingleLine("http://keymon.lat:1788")
+ If Usuario.Text = "KMTS1" Then lv_server.AddSingleLine("http://11.0.0.196:1782")
+' l_server.Text = Starter.server
+ et_server.Text = Starter.DBReqServer
+ l_version.Visible = False
+End Sub
+
+Private Sub p_configuracion_Click
+
+End Sub
+
+Private Sub lv_server_ItemClick (Position As Int, Value As Object)
+ Starter.DBReqServer = Value
+' l_server.Text = Value
+ et_server.Text = Value
+ Starter.reqManager.Initialize(Me, Value)
+ Log(Value)
+ ToastMessageShow("Servidor modificado", False)
+End Sub
+
+Private Sub b_guarda_server_Click
+ Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("SERVER"))
+ Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("SERVER",et_server.text))
+ Starter.DBReqServer = et_server.text
+ Log("Inicializamos reqManager con " & Starter.DBReqServer)
+ reqManager.Initialize(Me, Starter.DBReqServer)
+ CallSubDelayed(Starter, "reinicializaReqManager")
+ p_configuracion.Visible= False
+ l_version.Visible = True
+End Sub
+
+Private Sub b_regresa_Click
+ p_configuracion.Visible = False
+ l_version.Visible = True
+End Sub
+
+
+
+Private Sub b_enviarbd_Click
+ ' copiaDB
+' Sleep(1000)
+ Dim FileName As String = "kmt.db"
+ 'copy the shared file to the shared folder
+ Log("xxxxxx:"&Provider.SharedFolder)
+ Sleep(1000)
+ File.Copy(File.DirInternal, FileName, Provider.SharedFolder, FileName)
+ Dim email As Email
+ email.To.Add("soporte@keymonsoft.com")
+ email.Subject = "Envio Base de dados AREstrategicas"
+ email.Attachments.Add(Provider.GetFileUri(FileName))
+' email.Attachments.Add(Provider.GetFileUri(FileName)) 'second attachment
+ Dim in As Intent = email.GetIntent
+ in.Flags = 1 'FLAG_GRANT_READ_URI_PERMISSION
+ StartActivity(in)
+End Sub
+
+Private Sub b_actualizar_app_Click
+ StartService(appUpdater)
+End Sub
+
+' appUpdater - Mostramos el anuncio de que se esta descargando el nuevo apk
+Sub muestraProgreso(mensaje As String)
+ ProgressDialogShow(mensaje)
+End Sub
+'
+' appUpdater - Ocultamos el anuncio de que se esta descargando el nuevo apk
+Sub ocultaProgreso
+ ProgressDialogHide
+End Sub
\ No newline at end of file
diff --git a/B4i/AREstrategias.b4i b/B4i/AREstrategias.b4i
new file mode 100644
index 0000000..7b2433a
--- /dev/null
+++ b/B4i/AREstrategias.b4i
@@ -0,0 +1,46 @@
+Build1=Default,b4i.example
+File1=MainPage.bil
+FileGroup1=Default Group
+Group=Default Group
+Library1=icore
+Library2=b4xpages
+Module1=|relative|..\B4XMainPage
+NumberOfFiles=1
+NumberOfLibraries=2
+NumberOfModules=1
+Version=6.5
+@EndOfDesignText@
+'Code module
+#Region Project Attributes
+ #ApplicationLabel: B4i Example
+ #Version: 1.0.0
+ 'Orientation possible values: Portrait, LandscapeLeft, LandscapeRight and PortraitUpsideDown
+ #iPhoneOrientations: Portrait, LandscapeLeft, LandscapeRight
+ #iPadOrientations: Portrait, LandscapeLeft, LandscapeRight, PortraitUpsideDown
+ #Target: iPhone, iPad
+ #ATSEnabled: True
+ #MinVersion: 8
+#End Region
+
+Sub Process_Globals
+ Public App As Application
+ Public NavControl As NavigationController
+
+End Sub
+
+Private Sub Application_Start (Nav As NavigationController)
+ NavControl = Nav
+ Dim PagesManager As B4XPagesManager
+ PagesManager.Initialize(NavControl)
+End Sub
+
+'Template version: B4i-1.0
+#Region Delegates
+Private Sub Application_Background
+ B4XPages.Delegate.Activity_Pause
+End Sub
+
+Private Sub Application_Foreground
+ B4XPages.Delegate.Activity_Resume
+End Sub
+#End Region
diff --git a/B4i/Files/mainpage.bil b/B4i/Files/mainpage.bil
new file mode 100644
index 0000000..9ac93b4
Binary files /dev/null and b/B4i/Files/mainpage.bil differ
diff --git a/Icon_22-[Convertido].png b/Icon_22-[Convertido].png
new file mode 100644
index 0000000..d40595b
Binary files /dev/null and b/Icon_22-[Convertido].png differ
diff --git a/ar.txt b/ar.txt
new file mode 100644
index 0000000..73a9585
--- /dev/null
+++ b/ar.txt
@@ -0,0 +1,27 @@
+##########
+########## ARESTRATEGICAS
+##########
+
+sql.select_usuario_AREstrategicas = select 'OK' || cat_lo_estatus as usuario, cat_lo_agencia from ARESTRATEGICAS.cat_logins where cat_lo_usuario = (?) and cat_lo_contrasena = (?)
+
+sql.select_datosgenerales_AR = SELECT PR_KT_CREDITO, PR_CD_NOMBRE, PR_CD_RFC, PR_CD_CURP, PR_CD_CALLE, PR_CD_NUM_EXT, PR_CD_NUM_INT, PR_CD_ALCALDIA, PR_CD_MUNICIPIO, PR_CD_ENTIDAD, PR_CD_CP, PR_CD_SEXO, PR_CD_FECHA_NAC, PR_CD_EDAD, PR_CD_EMAIL FROM ARESTRATEGICAS.vi_informacion WHERE PR_KT_ESTATUS <> 'Retirada' and PR_KT_UASIGNADOV is not null and PR_KT_CREDITO IN (SELECT PR_KT_CREDITO FROM ARESTRATEGICAS.pr_kmt_gral WHERE PR_KT_ESTATUS<>'Retirada' and PR_KT_UASIGNADOV = ?)
+
+sql.select_datosfinancieros_AR = SELECT PR_KT_CREDITO, PR_KT_PRODUCTO, PR_KT_AGENCIA, PR_CF_SALDO_TOTAL, PR_CF_LIQUIDACION, PR_CF_TOTAL_A_PAGAR_DESC, PR_CF_LIQUIDACION, PR_CA_DIAS_VENCIDOS, PR_CA_DIAS_ATRASO_ACT, PR_CA_FECHA_ATRASO, PR_CA_REFERENCIA1, PR_CA_REFERENCIA2 FROM ARESTRATEGICAS.vi_informacion WHERE PR_KT_ESTATUS <> 'Retirada' and PR_KT_UASIGNADOV is not null and PR_KT_CREDITO IN (SELECT PR_KT_CREDITO FROM ARESTRATEGICAS.pr_kmt_gral WHERE PR_KT_ESTATUS<> 'Retirada' and PR_KT_UASIGNADOV = ?)
+
+sql.select_fuentes_AR = SELECT * FROM ARESTRATEGICAS.CAT_FUENTE
+
+sql.select_parentesco_AR = SELECT * FROM ARESTRATEGICAS.CAT_PARENTESCO
+
+sql.select_accion_AR = select distinct CAT_CO_ACCION, CAT_CO_ADESCRIPCION from ARESTRATEGICAS.cat_codigos where CAT_CO_TIPO in (2,3) order by 2
+
+sql.select_resultado_MA_AR = select distinct CAT_CO_ACCION, CAT_CO_RESULTADO, CAT_CO_RDESCRIPCION from cat_codigos where CAT_CO_ACCION ='MA' order by 1
+
+sql.select_resultado_VC_AR = select distinct CAT_CO_ACCION, CAT_CO_RESULTADO, CAT_CO_RDESCRIPCION from cat_codigos where CAT_CO_ACCION = 'VC' order by 1
+
+sql.select_resultado_CA_AR = select distinct CAT_CO_ACCION, CAT_CO_RESULTADO, CAT_CO_RDESCRIPCION from cat_codigos where CAT_CO_ACCION ='CA' order by 1
+
+sql.select_resultado_BR_AR = select distinct CAT_CO_ACCION, CAT_CO_RESULTADO, CAT_CO_RDESCRIPCION from cat_codigos where CAT_CO_ACCION ='BR' order by 1
+
+sql.insert_fotos_cliente_nuevo_MARIANA = insert into MARIANA.HIST_FOTO_CLIENTES_NUEVOS (HIST_FCM_CODIGO, HIST_FCM_ALMACEN, HIST_FCM_RUTA, HIST_FCM_FOTO) VALUES(?,?,?,?)
+
+sql.insert_gestion_AR = insert into ARESTRATEGICAS.TMP_HIST_VISITAS(TMP_HIST_VI_CREDITO, TMP_HIST_VI_PRODUCTO, TMP_HIST_VI_VISITADOR, TMP_HIST_VI_RESULTADO, TMP_HIST_VI_CODIGO, TMP_HIST_VI_PARENTESCO, TMP_HIST_VI_COMENTARIO, TMP_HIST_VI_DTEVISITA, TMP_HIST_VI_LONGITUD, TMP_HIST_VI_LATITUD, TMP_HIST_VI_DTECAPTURA, TMP_HIST_VI_AGENCIA, TMP_HIST_VI_DPROM, TMP_HIST_VI_MPROM, HIST_VI_TIPODOMICILIO, HIST_VI_NIVELSOCIO, HIST_VI_CARACTERISTICA, HIST_VI_NIVELES, TMP_HIST_VI_IMAGEN, TMP_HIST_VI_IMAGEN2, TMP_HIST_VI_IMAGEN3, TMP_HIST_VI_IMAGEN4, HIST_VI_NATIENDE, TMP_HIST_VI_ACCION_CODIGO, TMP_HIST_VI_ACCION, TMP_HIST_VI_DIAS_ACCION, TMP_HIST_VI_PUNTOS_REF) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
\ No newline at end of file
diff --git a/bagon.txt b/bagon.txt
new file mode 100644
index 0000000..dcea578
--- /dev/null
+++ b/bagon.txt
@@ -0,0 +1,8 @@
+NO CREDITO
+PRODIUCTO
+NOMBRE
+CALLE
+COLONIA
+MUNICIPIO
+ESTADO
+CP
diff --git a/datos-varios.png b/datos-varios.png
new file mode 100644
index 0000000..058934b
Binary files /dev/null and b/datos-varios.png differ
diff --git a/engranes.png b/engranes.png
new file mode 100644
index 0000000..868a879
Binary files /dev/null and b/engranes.png differ
diff --git a/gitpull.bat b/gitpull.bat
new file mode 100644
index 0000000..d0aed61
--- /dev/null
+++ b/gitpull.bat
@@ -0,0 +1 @@
+git pull
diff --git a/lupa.png b/lupa.png
new file mode 100644
index 0000000..4f586bf
Binary files /dev/null and b/lupa.png differ