From 1185af35e98e4d6bbdf8122a16aefdee2bcdc20e Mon Sep 17 00:00:00 2001 From: cheveguerra Date: Mon, 25 Sep 2023 11:14:55 -0600 Subject: [PATCH] Revert "Merge branch 'master' of https://github.com/KeymonSoft/Nuevo_Torrado_V2" This reverts commit 3e02c1ea4ff0b55b1048f26368a93611c3daf0f8, reversing changes made to d5a7b354c26d660a672f900b19de0f266982ee65. --- B4A/C_UpdateAvailable.bas | 74 -- B4A/C_principal.bas | 598 ---------- B4A/CameraExClass2.bas | 399 ------- B4A/DBRequestManager.bas | 272 ----- B4A/Files/alert2.png | Bin 632 -> 0 bytes B4A/Files/candado.png | Bin 17760 -> 0 bytes B4A/Files/cuenta.bal | Bin 3282 -> 0 bytes B4A/Files/datos-varios.png | Bin 2112 -> 0 bytes B4A/Files/datos.bal | Bin 18199 -> 0 bytes B4A/Files/engranes.png | Bin 2735 -> 0 bytes B4A/Files/financiero.bal | Bin 12838 -> 0 bytes B4A/Files/fondo-vino.jpg | Bin 17168 -> 0 bytes B4A/Files/fondo.png | Bin 86882 -> 0 bytes B4A/Files/fondoblanco.png | Bin 20816 -> 0 bytes B4A/Files/gestion.bal | Bin 14948 -> 0 bytes B4A/Files/gestionadas.bal | Bin 4973 -> 0 bytes B4A/Files/icon_22-[convertido].png | Bin 1131 -> 0 bytes B4A/Files/imglogo_cl_ar.png | Bin 11473 -> 0 bytes B4A/Files/kmt.db | Bin 16384 -> 0 bytes B4A/Files/lupa.png | Bin 1872 -> 0 bytes B4A/Files/mainpage.bal | Bin 10245 -> 0 bytes B4A/Files/principal.bal | Bin 9773 -> 0 bytes B4A/Files/scroll.bal | Bin 18888 -> 0 bytes B4A/Files/t_a.jpg | Bin 3980 -> 0 bytes B4A/Files/usuario.png | Bin 17227 -> 0 bytes B4A/ManageExternalStorage.bas | 81 -- B4A/NUEVO_TORRADO.b4a | 158 --- B4A/NUEVO_TORRADO.b4a.meta | 39 - B4A/Starter.bas | 62 - B4A/Subs.bas | 57 - B4A/Tracker.bas | 218 ---- B4A/appUpdater.bas | 282 ----- B4A/c_datos.bas | 1759 ---------------------------- B4J/AREstrategias.b4j | 53 - B4J/AREstrategias.b4j.meta | 9 - B4J/Files/MainPage.bjl | Bin 1959 -> 0 bytes B4XMainPage.bas | 240 ---- B4i/AREstrategias.b4i | 46 - B4i/AREstrategias.b4i.meta | 9 - B4i/Files/mainpage.bil | Bin 3084 -> 0 bytes 40 files changed, 4356 deletions(-) delete mode 100644 B4A/C_UpdateAvailable.bas delete mode 100644 B4A/C_principal.bas delete mode 100644 B4A/CameraExClass2.bas delete mode 100644 B4A/DBRequestManager.bas delete mode 100644 B4A/Files/alert2.png delete mode 100644 B4A/Files/candado.png delete mode 100644 B4A/Files/cuenta.bal delete mode 100644 B4A/Files/datos-varios.png delete mode 100644 B4A/Files/datos.bal delete mode 100644 B4A/Files/engranes.png delete mode 100644 B4A/Files/financiero.bal delete mode 100644 B4A/Files/fondo-vino.jpg delete mode 100644 B4A/Files/fondo.png delete mode 100644 B4A/Files/fondoblanco.png delete mode 100644 B4A/Files/gestion.bal delete mode 100644 B4A/Files/gestionadas.bal delete mode 100644 B4A/Files/icon_22-[convertido].png delete mode 100644 B4A/Files/imglogo_cl_ar.png delete mode 100644 B4A/Files/kmt.db delete mode 100644 B4A/Files/lupa.png delete mode 100644 B4A/Files/mainpage.bal delete mode 100644 B4A/Files/principal.bal delete mode 100644 B4A/Files/scroll.bal delete mode 100644 B4A/Files/t_a.jpg delete mode 100644 B4A/Files/usuario.png delete mode 100644 B4A/ManageExternalStorage.bas delete mode 100644 B4A/NUEVO_TORRADO.b4a delete mode 100644 B4A/NUEVO_TORRADO.b4a.meta delete mode 100644 B4A/Starter.bas delete mode 100644 B4A/Subs.bas delete mode 100644 B4A/Tracker.bas delete mode 100644 B4A/appUpdater.bas delete mode 100644 B4A/c_datos.bas delete mode 100644 B4J/AREstrategias.b4j delete mode 100644 B4J/AREstrategias.b4j.meta delete mode 100644 B4J/Files/MainPage.bjl delete mode 100644 B4XMainPage.bas delete mode 100644 B4i/AREstrategias.b4i delete mode 100644 B4i/AREstrategias.b4i.meta delete mode 100644 B4i/Files/mainpage.bil diff --git a/B4A/C_UpdateAvailable.bas b/B4A/C_UpdateAvailable.bas deleted file mode 100644 index 122de2b..0000000 --- a/B4A/C_UpdateAvailable.bas +++ /dev/null @@ -1,74 +0,0 @@ -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 deleted file mode 100644 index e7ea9de..0000000 --- a/B4A/C_principal.bas +++ /dev/null @@ -1,598 +0,0 @@ -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.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 ("BODEGA","3")) - Starter.skmt.ExecNonQuery2("INSERT INTO TIPO_VIVIENDA(TIPO, NUMERO) VALUES(?,?)", Array As Object ("TERRENO","4")) - Starter.skmt.ExecNonQuery2("INSERT INTO TIPO_VIVIENDA(TIPO, NUMERO) VALUES(?,?)", Array As Object ("LOCAL COMERCIAL","5")) - Starter.skmt.ExecNonQuery2("INSERT INTO TIPO_VIVIENDA(TIPO, NUMERO) VALUES(?,?)", Array As Object ("OFICINA","6")) - Starter.skmt.ExecNonQuery2("INSERT INTO TIPO_VIVIENDA(TIPO, NUMERO) VALUES(?,?)", Array As Object ("OTRO","7")) - 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")) - -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.RGB(83,22,22.255) - 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_TORRADO" - cmd.Parameters = Array As Object(B4XPages.MainPage.user) - reqManager.ExecuteQuery(cmd , 0, "datosgenerales") - trabajos = trabajos + 1 - - cmd.Name = "select_datosfinancieros_TORRADO" - 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.RGB(83,22,22.255) - 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.RGB(83,22,22.255) - 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 calle As String = records(result.Columns.Get("PR_CD_CALLE")) - Dim colonia As String = records(result.Columns.Get("PR_CD_COL")) - Dim ciudad As String = records(result.Columns.Get("PR_CD_CITY")) - Dim estado As String = records(result.Columns.Get("PR_CD_EDO")) - Dim cp As String = records(result.Columns.Get("PR_CD_CD")) - - Starter.skmt.ExecNonQuery2("INSERT INTO HIST_DATOS_GENERALES2(CREDITO, NOMBRE, CALLE, COLONIA, CIUDAD, ESTADO, CP, ESTATUS, ESTATUS2) values(?,?,?,?,?,?,?,?,?)", Array As Object (credito, nombre,calle, colonia, ciudad,estado, cp,"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 = ?, CALLE = ?, COLONIA = ?, CIUDAD = ?, ESTADO = ?, CP = ? WHERE CREDITO = ?",Array As Object (credito, nombre,calle, colonia, ciudad,estado, cp)) - Else If c.GetString("CUANTOS") = 0 Then - Starter.skmt.ExecNonQuery2("INSERT INTO HIST_DATOS_GENERALES(CREDITO, NOMBRE, CALLE, COLONIA, CIUDAD, ESTADO, CP, ESTATUS, ESTATUS2) values(?,?,?,?,?,?,?,?,?)", Array As Object (credito, nombre,calle, colonia, ciudad,estado, cp,"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, COLONIA, CIUDAD, ESTADO, CP, 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") &" COL: "& c.GetString("COLONIA") & CRLF & "CIUDAD: "& c.GetString("CIUDAD") &" ESTADO: "&c.GetString("ESTADO") & "C.P.: " & c.GetString("CP")), 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.RGB(83,22,22.255) - 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 diasv As String = records(result.Columns.Get("PR_CF_DIASATRASO")) - Dim mesv As String = records(result.Columns.Get("PR_CF_MESESVEN")) - Dim saldov As String = records(result.Columns.Get("PR_CF_SDOVEN")) - Dim saldot As String = records(result.Columns.Get("PR_CF_SDOTOTAL")) - Dim tipouni As String = records(result.Columns.Get("PR_CA_TIPOUNIDAD")) - Dim marca As String = records(result.Columns.Get("PR_CA_MARCA_AUTO")) - Dim anio As String = records(result.Columns.Get("PR_CA_ANIO")) - Dim serie As String = records(result.Columns.Get("PR_CA_NUM_SERIE")) - Dim resultado As String = records(result.Columns.Get("PR_KT_RESULTADO")) - - Starter.skmt.ExecNonQuery2("INSERT INTO HIST_FINANCIEROS2(CREDITO, DIASATRASO, MESVENCIDO, SALDO_VENCIDO, SALDO_TOTAL, TIPO_UNIDAD, MARCA, ANO, NO_SERIE, RESULTADO, ESTATUS, ESTATUS2) values(?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (creditof, diasv, mesv, saldov, saldot, tipouni, marca, anio, serie, resultado,"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 = ?, DIASATRASO = ?, MESVENCIDO = ?, SALDO_VENCIDO = ?, SALDO_TOTAL = ?, TIPO_UNIDAD = ?, MARCA = ?, ANO = ?, NO_SERIE = ?, RESULTADO = ? WHERE CREDITO = ?",Array As String(creditof, diasv, mesv, saldov, saldot, tipouni, marca, anio, serie, resultado)) - Else If c.GetString("CUANTOS") = 0 Then - Starter.skmt.ExecNonQuery2("INSERT INTO HIST_FINANCIEROS(CREDITO, DIASATRASO, MESVENCIDO, SALDO_VENCIDO, SALDO_TOTAL, TIPO_UNIDAD, MARCA, ANO, NO_SERIE, RESULTADO, ESTATUS, ESTATUS2) values(?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (creditof, diasv, mesv, saldov, saldot, tipouni, marca, anio, serie, resultado,"Asignado",0)) - End If - c.Close - Next - - End If - - - '' AQUI NOS QUEDAMOS, FALTA VER DATOS DE CONTACTO Y RESULTADOS DE ACCION Y LA PARTE DE ENVIOS. - 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 deleted file mode 100644 index bc84bf4..0000000 --- a/B4A/CameraExClass2.bas +++ /dev/null @@ -1,399 +0,0 @@ -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 deleted file mode 100644 index 31298ba..0000000 --- a/B4A/DBRequestManager.bas +++ /dev/null @@ -1,272 +0,0 @@ -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 deleted file mode 100644 index 44d3b7e651884f30ca0811371860a2c872077175..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 632 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 AE&u=k diff --git a/B4A/Files/cuenta.bal b/B4A/Files/cuenta.bal deleted file mode 100644 index a5c96d963b5b94cd84f7778f67773f2c4b662ea7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3282 zcmc&#OLH4V5ME)+AmR`n34~|D%Q%T5{NQOGv9OgYgQ5^c#8n(n#=9eHV7;r_9mzPS zRB@pKRHZ6a6j$y!!hr*)ToRX0z=;$51GsTB-`DG1TZwtN$^@0C_nV%cp6;)E#(Bqa z&g2~DZhZG(+=Wqgt?3!NaxZWxoy4vesSbnH_irF%o0K1ugM@8@jAeFIdkq24spg#c;BJ0&Nu|Yn}t*0WR0y{=m zzHV8T)rK8zUN)X>({)>$#kS?fwhG*K7>SPr(s1e{wuN?n0k62sO~7w zGr{6t#V>d5mRp!O_f01@7o--o)3pkf*~MjatuV0VWgUk}l{uw7tI{s}XwfCqjr3P5 zCmTEi4X9BRf6fhqm}W5|^L5n(nrz2*#g~fLPS;PBtJ2Z>V|x#lRP4oGD{jTg!yhBD zSP`C>FdM(6T+M`MD<{kERU35Q%c9ta*-WL@sMMS1D)q+POu5Rkj&pPRl29>m)3Za} zWRm#C+rzeDC|-+ej&t$EG{7&(#3}I0$EA?IBDu>@F*_=p0=LULL*?m1>%aZ6j;}Mw zV+stLG2|T_w&q?khfLSOK+;wP#0UjxtC;*{?#?N643m>E{<3loiADS$kgbzuaE;ot6Bq4@C z)>%zCy8}%YP3DPqHxn}ooe*;bV28w@`2EBjg^$89h%LkvF+EPbJnjHs?tJ-qYQ`Y4 zC?#%2Bb+fB;p|NSzDTlN$fLte@<`Q}h*D#R4Q zYY-VrTli+{ZSu`d5(m88!uK}-5;sMbN#+Sk`6ulRz7CW$;(yNf8#roL`KH4i@Xa#s zGT*$s!uM3#-~YrnyXH3WeF8`AD&KVY|MJbt(a$$;*x&W{G}dnu-(?)Nt9;Yp4)}fx b=DXA1KfqJ}d&2kTU%e-=+jv>}k>mUcA55-T diff --git a/B4A/Files/datos-varios.png b/B4A/Files/datos-varios.png deleted file mode 100644 index 058934b77f0378d1578a543698e7fdd7d6fa3f44..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2112 zcmV-G2*3Ak7RCwC#Ty1O%S&S&#B$5D$@YOFeLX7gk;7g1jjEaUYCK_XmXiNx0KahwY0Chx#xJ43` z37H@Z2(m%k*mzrkZSDH%^M9^a+OBuK-pktS`cE#`UZ1=4e*OJ_|Ci^vGN90I-@ff2 zyRBr~LN*8J)Mn;_Fm`tqe1XsqdHYFsn|lcMpd*AX&vu>qErS!JEeW;niG%U{$`#DL9Iton702KkP{<`U)cMygB9Ipu~q z1rUm+6kUi3C}Et1xQ{;+hCnc!cAV}3LU2+Pje=%3v9P?d1g2*FqS-J%PWJ$zm_D4r zjUY47%B@DQ8`-quQXKb?-H>ho;zT<0uY}qqM~I2r4RyDl zS~MC|U236G4s)gHxu9fS${P(r_iC#xPdiS^%_5L$qzsF?)X*J+1bV}g!hLm#Mey9b zaWNEO)EPNZOzhl3sS&3;dF^6yt9iNZQxNG~VoFkAuaielCMar2g_C1n2z^0A^>YTa~`H6W9`aZY5@F0~81bqrX_1%l>%=n9ui7 zaKLH>>z=nLgRqB#Z3@XXn31I&0IcDr{lT>3vI>xQ)(77m?T7C59Z*$OAv|#4Brsp> z<6aYRBJaEj;Hr-T92V^@&oiPec;g6;=y}m`Sp}&7#2@hMiBs_G@gD%*egmMPUK||q zd1U8~gmF^)L8)pmt)`1q$%Ag*oPxfi1K^AV!7?+=xlfWIFbUuwb5enrj~cXh?;*Oc zttbVUi3;#n2O;wObDRhxU_^JQH9rE8*I%aYH7}P+qd_=(ffYY4dJ^jh;JA2Q%Bltp z4_|@v=daM$D>gg@FkTCA>?dw(ZUW}pBNQ-dolipKr5%FT!lu30f~Hb)F@QmQ(Nl=j zbLC*9VDsY;G+VY9)Z6=g?6te80U}Sd0z;C&_#6j~vT5T6Rf<(9V~|C-W!1&{`%lB@ z=s0(CRx{KstKq;P;>+haG*Tfrggxmj)2Zi}kQOm?PEBa~nV&9NaDWaSIv#tyqOsw@ z2T>7bj{OXgjn7CH<4mWXV|k8=rK>`OLVZ?B4P*~SuNXj0uEYTdl8D}A~1+{uVvhpC}UMS36 z@yAe@`S70aCWS#g3&9?=bPK4;ttQHpaqbTQ1S26n`h;3GH9MDZOe=uqx!2~+Yc&BV z-Q!SvJHt}UlCediV`v{bdM(Y?C=&PDs&(!or&yJuH#QTiO3IM#3iFo(b^zrYU>S9$m9i7nv`zP}5T5B7$@0 zE=)$fEQEd!u!m)h(6R0@-TBRoG#0%lS)|d;`o8(`)yc6NF>!Vh_F(Q)UAshg0P$@O z5j#xS)0l<(1RuRN=ieL`=Fod@*nT8uEXjc=h+BI zLj)L)l45ns+}sQVLw;ZlMwq_uA={ZFM4N_Su^VBJi)@jyk|hz=P#kfV*G0(tDJWP% zu?mi|rC>7I$wpTcA1*+{8J)DYTFOT3HmA#CE`_2Z+L~N7a_w}%y(onY#aq#}qT2{@ qul52ei2&`7188>vkwp7nfB^t*`Sjvd$gBbY0000j`A@8 diff --git a/B4A/Files/datos.bal b/B4A/Files/datos.bal deleted file mode 100644 index 08df6e39f6f9075047aca23e91d9e6943b708f54..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18199 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 WuiygA%OKQllq3wRh$cZ^DD*#9XNWQY diff --git a/B4A/Files/engranes.png b/B4A/Files/engranes.png deleted file mode 100644 index 868a8793df757a14fc5428d378b2f7bc1a555ba6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2735 zcmZuzc~nx{8rKRfZobmMY`Eo+CJ5KE%&VCtiUUUt4hIG5Uely5g)VeBZW@#B+>tT1j_1+(Eul4QyO>3{c)^Gp5?>kBLao0ny zL~Chj>3Mp%f?8VIh(?YsoUid1(?YT}$BJk&GnyW@FFGzDlB4Au6c)%a_6!Nw&jC3B zK?xD}IgXkn9jX^Z{{CYz4owGZJoBPKANqH#H#as=w6xG0Jzbrl_@1%8U9qpXEM7p} z^F8meyHBLWWc&+*Ye(lXzf~?szIl-DO;%5&)t!hh3odOhZF*Aq{kD2CI06XBaVnYZ zcthmJs!OLPQ zN=lOUOtd}F2_&ia^BoA7HDxWrWh-rjkipKzmPRJ8L?kh0&o-VLo+zGD>VE`sMvJ7k}VW7E+9i!%7${dB.=fr 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

jP2)N)6KHhWFOj2=TbpMk&wn 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 UC3rlMe*^d^E2zQ0$h~^^f0@=l<^TWy diff --git a/B4A/Files/fondoblanco.png b/B4A/Files/fondoblanco.png deleted file mode 100644 index 2e7ce3cc1da74c137c37f6086216c8d24d1fad30..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20816 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 Pbe^bVWi`hpsZ{F!n0FAL diff --git a/B4A/Files/gestionadas.bal b/B4A/Files/gestionadas.bal deleted file mode 100644 index e699fa735a88871f9d270c129e487bcc9364a3af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4973 zcmc&$OK%%h6dsefV46}MEtF@&E2M2|5~mLckH(E1Nb5S_hDKsRdNXqq4@_pPnXyB< zs>BABhbmP6R?~hTc+Q;ZYs(J3MI9WVOi9gaXG0(jhMeya zNz3-NY1*C(*+^Fhp$h8(&XL4|HmeG!5JLM!$Mu%xeVqvSI;cCLvgmGKY<(o5atygP zXV$eFDhcNe<+g<*XC}xWa+Tj5*n6;gu^4kq({4=P*+SDx%+IvYv>WpoeoQl2M#Cie zyNY%6BU+))%a!G|+iwnD99k`{oj7)7u$)~T8vNZKI(hqGxx6-&zTl7Ku8)84UC+%w zjSs*1<@^5C!#DOU(A?3S?IwlxT4HFgxpqTz7KcGwU-pDQmFg#Wbl@+mestY2evR? z*tpA1c#h}Cr-vY!jn&$(h`UKy0;(G*U|B6`x`|^Xx(jv3xr~m}E-|%T)2Ul}#tt2k zd{;FTvt>3ew3&ZR`LG2-su8M1Itr;ldqPNvtZ%~(Y~(|y4dvU)4TovU(F-9<8G1D; zFWXjFrRl1+7pox^tI9R2o-Z~cl7eIJ*;c?F8-5tuR`5$VZtByKEu>=vBhY5;usY%S zsA3Rbu;1oA-_pLM(>%^HT%u))LPc42JrIx`-H=)`Z0)j=7E_PkAF^x8vTS#8yZGhh z-t^i>#vQvB*w>^M<>_*f5ws2q2Dsq4VSZT$UQ}ovslvik^A5Un38iBNO2x?;xqL-&Dm+~cPYW;r5ctSh{7-q;$Ur?rIhK1r}{;kps zjWrUVoPHC<@=UQZccoaFnVQI#SjQ0t?aU=JiM-tA*+%wgly7suk$H+;Bbbdaw)4}a z0$;94PQ89h_is$TG0L9aJQ2x0lbFacf%nV;I-Zjf40tIv5!~IrB2{ zfJ)s2iwKfoWavZg2@nC>xBkap>v$Ty#4xw*)Z5VZ!``xIeyn z0EE~(1R|X}jJ@YUY$*#H2ZRtuVuGzFoJUAt8IQ&U551ghJ&$waG4ljA3H>ODW=8!n zn;AWcwU6mMg(W7V9M{*^pN=_r8oke8qk{1)RyrlQ4}eTUk>Gv=M-ZS($wYw=C@B0K zR-fQO*b+P>)3?D%(uwep#A&h#3=R=6B;=me6yINglSGqPqTD}$83a#&IR@fC0)yhW z19KcUGAFRL05gQ+N%G|z0s_cg%|B1hFt#L0iJQ>~W{gHKdldu+pQsCXG}r`>Q0B1G z#wevuVN0+)O%C0j!IH`fx@4c_)eG2OBr%39L8%3Awq6r&c9Iz2ODcGO4MO7PmSmDx z0#p7w7`-oniW+g(@qQVuI*K<9?k(PYc?EAyvmN36O84+)gLV{e8r)mF`Chc+%{T1d z`uiO2yVT#~aMe+~X>d>Q{t1rT=LzS{j`}+f!7kx_9|6H_V+Po~-c6&VNkgt*2ta9!VjsNKPReSOQ<_a8C^Bxfh26)R}g8dy9$ zfARJG2WQuBIy`^z(t@&y0pUCQC;$Kd|Au|WcA$2_k|4ieAQuHNsIHxv#K6G3(bL5- zq~g|_+qa7r8}P6t%%^<$X_P6UB8d*HCSo7xWct_pRTfI(v)dD&sXximojQn za?dz^f~(_BkD)@(Mp0*FuB%&vf- zmzW+hYksmtZRekyAK#?ol=#9e1kDSnbTB`&7?^XwcOtul#T zW3yGW9^9}$xix4DXX27wH^1B~dG*rZSe?5;@r_4j61I;|Ke~RnbmKOu^9NbCC#f(C zXGQWHzr)`nH%F|eX`j!HR~3Bu7gt7v+tBTeMR zd%n*NN1xlXirvXl@DYBg@Vsr&@ttR1onbI4UAi{?%txDI-!o}x7et@9CR)UK`0k&( z-$*Ea;%Wb)D}8Tf+`jB9A0s(yrH10Y^vy2CUtW9NZ|q6k|Dyh@#^yO!%GuV%8Jiq4 z=$_WmE-h{SI&XJbQqOPGUAO1jy?J=(*qZPo5{uu2X8f*PYFBgNK;jH`(OYqnZ??Uj z{=P|%zw7V`m!pR+z87=6yXkz8J~vt9_E|#izQo&Wp+`A+ zoa?t*J_~u}pUmQRcJ0ZReP=fG4)1?_sXRZ~Ki5B%YUE{3XdeZSuZP zKVNEJGB$qf{~~zyWB=S=E^a@2I_31Lcd4cNyO>Y;rRMq|_s2rjj}=hjGz zewMBC`|p=}W{EoaDHgxEg{rUR^8dZ_?aeEJbd59I76y;6r)|}?Pp`O|_0LpcPT{d@ zebP0l+XkK1#}e^ diff --git a/B4A/Files/imglogo_cl_ar.png b/B4A/Files/imglogo_cl_ar.png deleted file mode 100644 index f0187681b157506c1f9a2b2ed05c90c231dcaf4c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11473 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 Dw}jzq diff --git a/B4A/Files/mainpage.bal b/B4A/Files/mainpage.bal deleted file mode 100644 index a8e5bfba7ba81a14787e30a6e19d8a749635eaab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10245 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 diff --git a/B4A/Files/principal.bal b/B4A/Files/principal.bal deleted file mode 100644 index ad91e69f393e7ec6d35f1e4c972e360ffa34d1fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9773 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 diff --git a/B4A/Files/scroll.bal b/B4A/Files/scroll.bal deleted file mode 100644 index 9cd4ca401295074892a33b7cb6a1f5a6da99393b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18888 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 diff --git a/B4A/Files/t_a.jpg b/B4A/Files/t_a.jpg deleted file mode 100644 index 8a89391204bac34bfb64d789e62f0863e85f518e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3980 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 diff --git a/B4A/Files/usuario.png b/B4A/Files/usuario.png deleted file mode 100644 index 2935f41a7b156661e9224766883c83c25d88dc25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17227 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 DS$Fry diff --git a/B4A/ManageExternalStorage.bas b/B4A/ManageExternalStorage.bas deleted file mode 100644 index 6dbb41f..0000000 --- a/B4A/ManageExternalStorage.bas +++ /dev/null @@ -1,81 +0,0 @@ -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/NUEVO_TORRADO.b4a b/B4A/NUEVO_TORRADO.b4a deleted file mode 100644 index 30120df..0000000 --- a/B4A/NUEVO_TORRADO.b4a +++ /dev/null @@ -1,158 +0,0 @@ -Build1=Default,arestrategicas.keymon.lat -File1=candado.png -File10=gestion.bal -File11=gestionadas.bal -File12=icon_22-[convertido].png -File13=ImgLogo_Cl_AR.png -File14=lupa.png -File15=MainPage.bal -File16=principal.bal -File17=scroll.bal -File18=t_a.jpg -File19=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=fondo-vino.jpg -FileGroup1=Default Group -FileGroup10=Default Group -FileGroup11=Default Group -FileGroup12=Default Group -FileGroup13=Default Group -FileGroup14=Default Group -FileGroup15=Default Group -FileGroup16=Default Group -FileGroup17=Default Group -FileGroup18=Default Group -FileGroup19=Default Group -FileGroup2=Default Group -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=19 -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: NUEVO TORRADO - #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/NUEVO_TORRADO.b4a.meta b/B4A/NUEVO_TORRADO.b4a.meta deleted file mode 100644 index fd0f2e0..0000000 --- a/B4A/NUEVO_TORRADO.b4a.meta +++ /dev/null @@ -1,39 +0,0 @@ -ModuleBookmarks0= -ModuleBookmarks1= -ModuleBookmarks10= -ModuleBookmarks11= -ModuleBookmarks2= -ModuleBookmarks3= -ModuleBookmarks4= -ModuleBookmarks5= -ModuleBookmarks6= -ModuleBookmarks7= -ModuleBookmarks8= -ModuleBookmarks9= -ModuleBreakpoints0= -ModuleBreakpoints1= -ModuleBreakpoints10= -ModuleBreakpoints11= -ModuleBreakpoints2= -ModuleBreakpoints3= -ModuleBreakpoints4= -ModuleBreakpoints5= -ModuleBreakpoints6= -ModuleBreakpoints7= -ModuleBreakpoints8= -ModuleBreakpoints9= -ModuleClosedNodes0= -ModuleClosedNodes1= -ModuleClosedNodes10= -ModuleClosedNodes11= -ModuleClosedNodes2= -ModuleClosedNodes3= -ModuleClosedNodes4= -ModuleClosedNodes5= -ModuleClosedNodes6= -ModuleClosedNodes7= -ModuleClosedNodes8= -ModuleClosedNodes9= -NavigationStack=Subs,revisaBD,15,6,B4XMainPage,b_iniciar_Click,100,0,C_principal,b_carga_Click,127,0,Diseñador Visual,gestion.bal,-100,6,Diseñador Visual,datos.bal,-100,1,C_principal,JobDone,428,6,Diseñador Visual,scroll.bal,-100,6,c_datos,B4XPage_Appear,259,0,Diseñador Visual,financiero.bal,-100,6,c_datos,Class_Globals,42,0 -SelectedBuild=0 -VisibleModules=9,1,2,4,3,5,6,7,8,10 diff --git a/B4A/Starter.bas b/B4A/Starter.bas deleted file mode 100644 index 22bbe65..0000000 --- a/B4A/Starter.bas +++ /dev/null @@ -1,62 +0,0 @@ -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://11.0.0.60:1782" '"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 deleted file mode 100644 index 4d5c21e..0000000 --- a/B4A/Subs.bas +++ /dev/null @@ -1,57 +0,0 @@ -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, CALLE TEXT, COLONIA TEXT, CIUDAD TEXT, ESTADO TEXT, CP TEXT,ESTATUS TEXT, ESTATUS2 TEXT)") - Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_FINANCIEROS(CREDITO TEXT, DIASATRASO TEXT, MESVENCIDO TEXT, SALDO_VENCIDO TEXT, SALDO_TOTAL TEXT, TIPO_UNIDAD TEXT, MARCA TEXT, ANO TEXT, NO_SERIE TEXT, RESULTADO TEXT, ESTATUS TEXT, ESTATUS2 TEXT)") - Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_DATOS_GENERALES2(CREDITO TEXT, NOMBRE TEXT, CALLE TEXT, COLONIA TEXT, CIUDAD TEXT, ESTADO TEXT, CP TEXT, ESTATUS TEXT, ESTATUS2 TEXT)") - Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_FINANCIEROS2(CREDITO TEXT, DIASATRASO TEXT, MESVENCIDO TEXT, SALDO_VENCIDO TEXT, SALDO_TOTAL TEXT, TIPO_UNIDAD TEXT, MARCA TEXT, ANO TEXT, NO_SERIE TEXT, RESULTADO 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, FOTOUNO TEXT, FOTODOS TEXT, FOTOTRES TEXT, FOTOCUATRO TEXT, NOMBRE_ATIENDE TEXT, CODIGO_ACCION TEXT, 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 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 deleted file mode 100644 index 224dd67..0000000 --- a/B4A/Tracker.bas +++ /dev/null @@ -1,218 +0,0 @@ -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 deleted file mode 100644 index 1a63778..0000000 --- a/B4A/appUpdater.bas +++ /dev/null @@ -1,282 +0,0 @@ -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 deleted file mode 100644 index 5143c3e..0000000 --- a/B4A/c_datos.bas +++ /dev/null @@ -1,1759 +0,0 @@ -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_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 - - 'Datos financieros - - - 'Gestion - - 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 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 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_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") - 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 - - 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" - - 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 - - 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 - - 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 - - - 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 - - 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 - - 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_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 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_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 - - 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 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, FOTOUNO, FOTODOS, FOTOTRES, FOTOCUATRO, NOMBRE_ATIENDE, CODIGO_ACCION, 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, nombrefoto, nombrefoto1, nombrefoto2, nombrefoto3, et_parentesco.Text, f.GetString("CO_ACCION"), cb_accion.SelectedItem, 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 = ?, FOTOUNO = ?, FOTODOS = ?, FOTOTRES = ?, FOTOCUATRO = ?, NOMBRE_ATIENDE = ?, CODIGO_ACCION = ?, 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, nombrefoto, nombrefoto1, nombrefoto2, nombrefoto3, et_parentesco.Text, f.GetString("CO_ACCION"), cb_accion.SelectedItem, 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, FOTOUNO, FOTODOS, FOTOTRES, FOTOCUATRO, NOMBRE_ATIENDE, CODIGO_ACCION, 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, nombrefoto, nombrefoto1, nombrefoto2, nombrefoto3, et_parentesco.Text, f.GetString("CO_ACCION"), cb_accion.SelectedItem, 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 = ?, FOTOUNO = ?, FOTODOS = ?, FOTOTRES = ?, FOTOCUATRO = ?, NOMBRE_ATIENDE = ?, CODIGO_ACCION = ?, 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, nombrefoto, nombrefoto1, nombrefoto2, nombrefoto3, et_parentesco.Text, f.GetString("CO_ACCION"), cb_accion.SelectedItem, 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, FOTOUNO, FOTODOS, FOTOTRES, FOTOCUATRO, NOMBRE_ATIENDE, CODIGO_ACCION, 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, nombrefoto, nombrefoto1, nombrefoto2, nombrefoto3, l_nombreg.Text, f.GetString("CO_ACCION"), cb_accion.SelectedItem, 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 = ?, FOTOUNO = ?, FOTODOS = ?, FOTOTRES = ?, FOTOCUATRO = ?, NOMBRE_ATIENDE = ?, CODIGO_ACCION = ?, 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, nombrefoto, nombrefoto1, nombrefoto2, nombrefoto3, l_nombreg.Text, f.GetString("CO_ACCION"), cb_accion.SelectedItem, 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, 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, nombrefoto, nombrefoto1, nombrefoto2, nombrefoto3, l_nombreg.Text, f.GetString("CO_ACCION"), cb_accion.SelectedItem, 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 = ?, FOTOUNO = ?, FOTODOS = ?, FOTOTRES = ?, FOTOCUATRO = ?, NOMBRE_ATIENDE = ?, CODIGO_ACCION = ?, 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, nombrefoto, nombrefoto1, nombrefoto2, nombrefoto3, l_nombreg.Text, f.GetString("CO_ACCION"), cb_accion.SelectedItem, 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 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 -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 deleted file mode 100644 index cdedb76..0000000 --- a/B4J/AREstrategias.b4j +++ /dev/null @@ -1,53 +0,0 @@ -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/AREstrategias.b4j.meta b/B4J/AREstrategias.b4j.meta deleted file mode 100644 index 33c33ea..0000000 --- a/B4J/AREstrategias.b4j.meta +++ /dev/null @@ -1,9 +0,0 @@ -ModuleBookmarks0= -ModuleBookmarks1= -ModuleBreakpoints0= -ModuleBreakpoints1= -ModuleClosedNodes0=1,4 -ModuleClosedNodes1=1 -NavigationStack=Main,MainForm_IconifiedChanged,37,0,Main,AppStart,14,6,B4XMainPage,Button1_Click,19,0,B4XMainPage,Initialize,9,0,B4XMainPage,B4XPage_Created,18,0,B4XMainPage,Class_Globals,7,0 -SelectedBuild=0 -VisibleModules=1 diff --git a/B4J/Files/MainPage.bjl b/B4J/Files/MainPage.bjl deleted file mode 100644 index 405b3b756ed703481ce30bdf2802b885d8384a70..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1959 zcma)6&yy2H6z;f5WIzQ)5ELZ>u0eKV5by{7ShGo1R(7`_WChC$ote&N+{tvRr?UZ1 zSXO!QU(h?{*+0Pp;+98GUZng3JX+;p{l1=^0aq-Ys`uvW?$_^q{k@(k2_b%g?S_?M zkHY51*6R556M(f8Uo~>Fj(19Ob!@DaTE6kx8}~k4s;E`(3AgrhZ%WzPb0?_g{BEY1YJM^T>ynk!}G->VDF_IZ}s!T0NPB zeyydFa4lA*wydn=aY)A^rh@l>9gDPOG#bb~06lF2WtuwD=Kk<%7}&vMSoO6*m5vO; zal-QjMowfeQq#aYskFA&YA#tedK{5|n_zXH<(SWbi|Xdnz_a}uvpwmruNgg#gV{VL z7#nFr9kanIX7#`$+)%Mykwe8ilwd)dA+fq)jcg_fpzBgUjMS6B0~rUA>Oi^ARGXU_ z{HffK)Ry|iNX9plQ44KCMCG*?S1zI#WlgpKjA5ZkteNCLE}6ZD6?(Ed7BtE=LL(cz!($5?;Uhvv50==OsvQ_djnw zrIHaY%MgrNs@Y!YwmUqZuVV|bmQ_3^&s6_JvGn$bM9O_cJ?!Q!VEzLW1}r&$c9FyF zPl>yFItrMSyV)crZM7E~t4rN%`U?6$LZJmepM)6Pn5aY#6|c=uS_SE%MG#FGnG9s0 zCl6ELid!Ka7SjEGqU^Q%@MG>a?iRC7n#bKriktAmA!(|?i6;20Q#ekzFs8CvN8NBl z`V;(Bx>#dJgt#?#4Sxk1A20h$c-e0Pn{UlAZ+VLj#&pg(z>JI)9&0j<$DbORmbZTY zV~Zc6M?v@$skf`U7ob$w2k-HEKSi(~j^C042LMWigB&vbGX(79VFIf7909i+$-wgj zFTfpzl?oO3sTbi~!DAUXPH+eAL 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_torra" -' 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 deleted file mode 100644 index 7b2433a..0000000 --- a/B4i/AREstrategias.b4i +++ /dev/null @@ -1,46 +0,0 @@ -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/AREstrategias.b4i.meta b/B4i/AREstrategias.b4i.meta deleted file mode 100644 index cca4a05..0000000 --- a/B4i/AREstrategias.b4i.meta +++ /dev/null @@ -1,9 +0,0 @@ -ModuleBookmarks0= -ModuleBookmarks1= -ModuleBreakpoints0= -ModuleBreakpoints1= -ModuleClosedNodes0=1,4 -ModuleClosedNodes1=1 -NavigationStack=Main,Application_Start,25,4,Main,Application_Foreground,34,0,Main,Process_Globals,13,0,Visual Designer,MainPage.bil,-100,1,B4XMainPage,Initialize,9,0,B4XMainPage,Button1_Click,19,0,B4XMainPage,B4XPage_Created,10,1,B4XMainPage,Class_Globals,11,0 -SelectedBuild=0 -VisibleModules=1 diff --git a/B4i/Files/mainpage.bil b/B4i/Files/mainpage.bil deleted file mode 100644 index 9ac93b44a4223d32856cea3afb71fb37c2b5b976..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3084 zcmc&#OK%%h6rLfr!$3+Y@A7CV<&n}f*iL{_9&w(?&_<~f+6_Wndv5Gok7q_R*A8VB zi478)tdLT%fJL|b10;}Gv{hC}th(wyU=zd!x!-rkGq_PfVr5I`_`Bzxd!F~6$y=6n z8}tyU02&7^bhQrr(xZg4)ns)!5@9GKsw9FO&;_CV!->|K@TE6U%0pz<4*>9IgNVmK zJVyoo>Y(G_JZNyvTCZ*G-Ml#Y@zkyJd#6ubnp~Z}H8puBnmTjy@apPbHUCjmDsNZ5 z`e|%O{POG1-(NpgxcKARr#sia+x>QT;`hz#pL_0_xU%`f`owST_Kmz%9zXQwXRy5j zV%&{*<7z0M0a~hyST&}XWUQLLjHWM0Etm^q)6n^soP-y)1o!Hq(QZaT*LN2KFNhwd zD2QAcT~@AcO<>swA{ed-S9N2q-EJpTezPXD3Yf3kjR<`QSoWl^S4BrAb!*Df5lCCY zcRg7{h+oQOYCJ-ra^(V?CoQ0%E21Zu7DM-8BW=qQX5CXw<7PobmsG6ko=M*qseB^{ zyn43BB84J?F91`rFbX=MX4|xAGCZxcXMC)QrlfzJSSY>#e6XzWngse`q}->Wz}u9{ zs#Uin^q2`R2stNAv`mLXU*Xttf^*87l#+6;YE3PF*CfFWt6?7HMH9k zkrKWxGB{6eCZ!KT2EE0*#TKZROs*T@3UG)!k|Hw z3Tr%mZTILLZQDCI&%x&~6F$?t%_Q;`Z0%mF?yyXt> z>`@SdvK%&n@jB0eJrA<~?)UqAFM0bIc%pS2$Y{L?a02AK1a=aHxWAsqzm?{Bj5P5$Qz-9sN9o|cjEE^rLY>H=f%!-v%+mw~T{8!nzpGBSJky*m7sq8^!S$6^X C