From 54e33a93fddc7cb4891f1ad0c950e8c04ca3dfd2 Mon Sep 17 00:00:00 2001 From: cvaldes1201 Date: Mon, 26 Feb 2024 11:04:45 -0600 Subject: [PATCH] ... --- B4A/B4XMainPage.bas | 50 ++++++++------- B4A/C_Cliente.bas | 124 ++++++++++++++++++++++--------------- B4A/C_Nota.bas | 113 ++++++++++++++++++--------------- B4A/C_NuevoCliente.bas | 55 +++++++++------- B4A/C_Principal.bas | 19 +++++- B4A/C_Productos.bas | 8 +-- B4A/C_RespaldoDiario.bas | 2 +- B4A/C_Subs.bas | 12 ++-- B4A/CameraExClass2.bas | 48 +++++++------- B4A/Files/cliente.bal | Bin 34677 -> 34659 bytes B4A/Files/nuevocliente.bal | Bin 8611 -> 8611 bytes B4A/Files/principal.bal | Bin 46774 -> 46774 bytes B4A/Mariana.b4a | 67 +++++++++++--------- B4A/Mariana.b4a.meta | 6 +- B4A/Subs.bas | 14 ++--- 15 files changed, 297 insertions(+), 221 deletions(-) diff --git a/B4A/B4XMainPage.bas b/B4A/B4XMainPage.bas index 31a0be9..0894086 100644 --- a/B4A/B4XMainPage.bas +++ b/B4A/B4XMainPage.bas @@ -177,6 +177,7 @@ Private Sub B4XPage_Created (Root1 As B4XView) Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_GIRO(GIRO TEXT)") ' Starter.skmt.ExecNonQuery("drop table kmt_info") Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS kmt_info (CAT_CL_FOTO BLOB, CAT_CL_NUM_SERIEFISICO TEXT, CAT_CL_MTOCOMPRA TEXT, CAT_CL_CEDIS TEXT, CAT_CL_LAT TEXT, CAT_CL_LONG TEXT, CAT_CL_FBAJA TEXT, CAT_CL_FALTA TEXT, CAT_CL_CP TEXT, CAT_CL_EDO TEXT, CAT_CL_MUNI TEXT, CAT_CL_COLONIA TEXT, CAT_CL_CALLE2 TEXT, CAT_CL_CALLE1 TEXT, CAT_CL_NOINT TEXT, CAT_CL_NOEXT TEXT, CAT_CL_CALLE TEXT, CAT_CL_EMAIL TEXT, CAT_CL_TELEFONO TEXT, CAT_CL_ATIENTE2 TEXT, CAT_CL_ATIENDE1 TEXT, CAT_CL_NOMBRE TEXT, CAT_CL_GIRO TEXT, CAT_CL_DIAS_VISITA TEXT, CAT_CL_TIPO_RUTA TEXT, CAT_CL_RUTA TEXT, CAT_CL_CODIGO TEXT, gestion NUMERIC, CAT_CL_DIASEMANA TEXT, CAT_CL_SECUENCIA INT)") + Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS VENDIDOS(ID TEXT)") Subs.agregaColumna("PEDIDO", "PE_ENVIO_OK", "TEXT") Try 'Intentamos usar "pragma_table_info" para revisar si existe la columna "CAT_CL_DIASEMANA" en la tabla c=Starter.skmt.ExecQuery("SELECT COUNT(*) AS fCol FROM pragma_table_info('kmt_info') WHERE name='CAT_CL_DIASEMANA'") @@ -281,6 +282,7 @@ Private Sub B4XPage_Created (Root1 As B4XView) End Sub Sub B4XPage_Appear + If Starter.muestraProgreso = 1 Then muestraProgreso("Descargando actualización") Starter.muestraProgreso = 0 @@ -326,26 +328,26 @@ Sub B4XPage_Appear 'Obtenemos el usuario registrado ' CallSubDelayed(FirebaseMessaging, "SubscribeToTopics") dameUsuario - If Not(CheckNotificationAccess) Then - Msgbox2Async($"Se necesita acceso a las notificaciones, haga clic en "Aceptar" y en la siguiente pantalla permita el acceso a la aplicación "${Application.LabelName}"."$, "Permisos necesarios", "Aceptar", "Cancelar", "", Null, True) - Wait For Msgbox_Result (resultado As Int) - If resultado = DialogResponse.POSITIVE Then - Dim In As Intent - In.Initialize("android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS", "") - StartActivity(In) - End If -' Private cd1 As ColorDrawable -' cd1.Initialize(Colors.red, 10dip) -' b_notifAccess.Background = cd1 -' b_notifAccess.TextColor = Colors.White -' b_notifAccess.Text = "Activar Permisos" - Else -' Private cd1 As ColorDrawable -' cd1.Initialize(Colors.RGB(109, 221, 101), 10dip) -' b_notifAccess.Background = cd1 -' b_notifAccess.TextColor = Colors.White -' b_notifAccess.Text = "Permisos Activos" - End If +' If Not(CheckNotificationAccess) Then +' Msgbox2Async($"Se necesita acceso a las notificaciones, haga clic en "Aceptar" y en la siguiente pantalla permita el acceso a la aplicación "${Application.LabelName}"."$, "Permisos necesarios", "Aceptar", "Cancelar", "", Null, True) +' Wait For Msgbox_Result (resultado As Int) +' If resultado = DialogResponse.POSITIVE Then +' Dim In As Intent +' In.Initialize("android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS", "") +' StartActivity(In) +' End If +'' Private cd1 As ColorDrawable +'' cd1.Initialize(Colors.red, 10dip) +'' b_notifAccess.Background = cd1 +'' b_notifAccess.TextColor = Colors.White +'' b_notifAccess.Text = "Activar Permisos" +' Else +'' Private cd1 As ColorDrawable +'' cd1.Initialize(Colors.RGB(109, 221, 101), 10dip) +'' b_notifAccess.Background = cd1 +'' b_notifAccess.TextColor = Colors.White +'' b_notifAccess.Text = "Permisos Activos" +' End If ' ks.Initialize(Me, "ks") ' ks.vacuum ' ks.centraEtiqueta(l_version, Root.Width) @@ -664,20 +666,20 @@ Sub copiaDB If Result Then ' Private x As String ' If File.ExternalWritable Then -' x = File.DirRootExternal +' x = File.DirInternal ' Else ' x = File.DirInternal ' End If Dim theDir As String Try - File.MakeDir(File.DirRootExternal,"kmts") + File.MakeDir(File.DirInternal,"kmts") theDir = "/kmts" Catch theDir = "" End Try Try - File.Copy(File.DirInternal,"kmt.db",File.DirRootExternal&theDir, "mariana_kmt.db") - ToastMessageShow("Listo, copiado a " & File.DirRootExternal&theDir & "/mariana_kmt.db", False) + File.Copy(File.DirInternal,"kmt.db",File.DirInternal&theDir, "mariana_kmt.db") + ToastMessageShow("Listo, copiado a " & File.DirInternal&theDir & "/mariana_kmt.db", False) Catch ToastMessageShow("No se pudo hacer la copia: "&LastException, True) End Try diff --git a/B4A/C_Cliente.bas b/B4A/C_Cliente.bas index 7f2198e..a4ecc76 100644 --- a/B4A/C_Cliente.bas +++ b/B4A/C_Cliente.bas @@ -150,7 +150,7 @@ End Sub 'This event will be called once, before the page becomes visible. Private Sub B4XPage_Created (Root1 As B4XView) - B4XPages.SetTitle(Me, $"${subs.capitalizar(B4XPages.GetPageId(Me))} - ${Application.VersionName}"$) + B4XPages.SetTitle(Me, $"${Subs.capitalizar(B4XPages.GetPageId(Me))} - ${Application.VersionName}"$) Root = Root1 'load the layout to Root ' Activity.RemoveAllViews @@ -194,6 +194,13 @@ End Sub 'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. Sub B4XPage_Appear + Tels.Enabled = True + gest.Enabled = True + c = Starter.skmt.ExecQuery("SELECT ID FROM VENDIDOS WHERE ID IN (Select cuenta from cuentaa)") + If c.RowCount > 0 Then + Tels.Enabled = False + gest.Enabled = False + End If reqManager.Initialize(Me, Starter.DBReqServer) ' Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_CAMERA) ' Wait For B4XPage_PermissionResult (Permission As String, resultC As Boolean) @@ -227,7 +234,12 @@ Sub B4XPage_Appear Label20.Text = c.GetString("CAT_CL_CP") l_calle1.Text = c.GetString("CAT_CL_CALLE1") TELEFONO = c.GetString("CAT_CL_TELEFONO") + If s.GetString("TOTAL_CLIE") = Null Then + l_total.Text = "0" + Else l_total.Text = s.GetString("TOTAL_CLIE") + + End If total_cliente = s.GetString("TOTAL_CLIE") Private factura As String = 0 If s.GetString("PC_FACTURA") <> Null And IsNumber(s.GetString("PC_FACTURA")) Then factura = s.GetString("PC_FACTURA") @@ -431,62 +443,76 @@ Sub DATOS_Click B4XPages.ShowPage("telefonos") End Sub -Sub Guardar_Click - DateTime.DateFormat = "MM/dd/yyyy" - sDate=DateTime.Date(DateTime.Now) - sTime=DateTime.Time(DateTime.Now) - c=skmt.ExecQuery("Select CUENTA from cuentaa") - c.Position=0 - clie_id = c.GetString("CUENTA") - c.Close - c=skmt.ExecQuery("select USUARIO from usuarioa") - c.Position=0 - usuario = c.GetString("USUARIO") - c.Close - c = skmt.ExecQuery("Select sum(pe_costo_tot) As TOTAL_CLIE, SUM(PE_CANT) As CANT_CLIE, COUNT(*) As CUANTOS, PC_ENVIO_OK FROM PEDIDO left join PEDIDO_CLIENTE Where pc_cliente = pe_cliente And PE_CLIENTE IN (Select cuenta from cuentaa)") - c.Position=0 - If c.GetString("CUANTOS") > 0 Then - Private cbFactura As Int = 0 - If cb_factura.Checked Then cbFactura = 1 - skmt.ExecNonQuery("delete from NOVENTA where NV_CLIENTE In (select cuenta from cuentaa)") - skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") - skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT, PC_ENVIO_OK, PC_FACTURA) VALUES (?,?,?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"), c.GetString("TOTAL_CLIE"), B4XPages.MainPage.lon_gps, B4XPages.MainPage.lat_gps, c.GetString("PC_ENVIO_OK"), cbFactura)) - skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)") - End If - c.Close - DateTime.TimeFormat = "HHmmss" - sTime=DateTime.Time(DateTime.Now) - skmt.ExecNonQuery2("UPDATE HIST_STAY_STORE set HSS_OUT = ? where HSS_OUT = 0 AND HSS_CODIGO In (select cuenta from cuentaa)", Array As Object(sTime)) - ' skmt.ExecNonQuery("UPDATE HIST_STAY_STORE set HSS_TOT = HSS_OUT - HSS_IN where HSS_CODIGO In (select cuenta from cuentaa)") - Try - c=skmt.ExecQuery("Select (substr(HSS_OUT,1,2) - substr(HSS_IN,1,2)) - Case when (substr(HSS_OUT,3,2) - substr(HSS_IN,3,2)) < 0 Then 1 Else 0 end HORAS_TOTALES, " & _ +Sub Guardar_Click + If l_total.Text = "0" Or l_total.Text = Null Then + B4XPages.ShowPage("Principal") + Else + c = Starter.skmt.ExecQuery("SELECT ID FROM VENDIDOS WHERE ID IN (Select cuenta from cuentaa)") + If c.RowCount > 0 Then + B4XPages.ShowPage("Principal") + Else + + res = Msgbox2("Seguro que desea cerrar el pedido? no se podran hacer cambios una vez guardada la venta!!!","Atención", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore + If res = DialogResponse.POSITIVE Then + + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + c=skmt.ExecQuery("Select CUENTA from cuentaa") + c.Position=0 + clie_id = c.GetString("CUENTA") + c.Close + c=skmt.ExecQuery("select USUARIO from usuarioa") + c.Position=0 + usuario = c.GetString("USUARIO") + c.Close + c = skmt.ExecQuery("Select sum(pe_costo_tot) As TOTAL_CLIE, SUM(PE_CANT) As CANT_CLIE, COUNT(*) As CUANTOS, PC_ENVIO_OK FROM PEDIDO left join PEDIDO_CLIENTE Where pc_cliente = pe_cliente And PE_CLIENTE IN (Select cuenta from cuentaa)") + c.Position=0 + If c.GetString("CUANTOS") > 0 Then + Private cbFactura As Int = 0 + If cb_factura.Checked Then cbFactura = 1 + skmt.ExecNonQuery("delete from NOVENTA where NV_CLIENTE In (select cuenta from cuentaa)") + skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") + skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT, PC_ENVIO_OK, PC_FACTURA) VALUES (?,?,?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"), c.GetString("TOTAL_CLIE"), B4XPages.MainPage.lon_gps, B4XPages.MainPage.lat_gps, c.GetString("PC_ENVIO_OK"), cbFactura)) + skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)") + End If + c.Close + DateTime.TimeFormat = "HHmmss" + sTime=DateTime.Time(DateTime.Now) + skmt.ExecNonQuery2("UPDATE HIST_STAY_STORE set HSS_OUT = ? where HSS_OUT = 0 AND HSS_CODIGO In (select cuenta from cuentaa)", Array As Object(sTime)) + ' skmt.ExecNonQuery("UPDATE HIST_STAY_STORE set HSS_TOT = HSS_OUT - HSS_IN where HSS_CODIGO In (select cuenta from cuentaa)") + Try + c=skmt.ExecQuery("Select (substr(HSS_OUT,1,2) - substr(HSS_IN,1,2)) - Case when (substr(HSS_OUT,3,2) - substr(HSS_IN,3,2)) < 0 Then 1 Else 0 end HORAS_TOTALES, " & _ "Case when (substr(HSS_OUT,3,2) - substr(HSS_IN,3,2)) < 0 Then (substr(HSS_OUT,3,2) + 60 - substr(HSS_IN,3,2)) " & _ " Else (substr(HSS_OUT,3,2) - substr(HSS_IN,3,2)) End - Case when (substr(HSS_OUT,5,2) - substr(HSS_IN,5,2)) < 0 Then 1 Else 0 end MINUTOS_TOTALES, " & _ "Case when (substr(HSS_OUT,5,2) - substr(HSS_IN,5,2)) < 0 Then (substr(HSS_OUT,5,2) + 60 - substr(HSS_IN,5,2)) " & _ " Else (substr(HSS_OUT,5,2) - substr(HSS_IN,5,2)) end SEGUNDOS_TOTALES " & _ " from HIST_STAY_STORE where HSS_CODIGO In (Select cuenta from cuentaa) ") - c.Position = 0 - stay_hh = c.GetString("HORAS_TOTALES") * 60 * 60 - stay_mi = c.GetString("MINUTOS_TOTALES") * 60 - stay_ss = c.GetString("SEGUNDOS_TOTALES") - skmt.ExecNonQuery2("UPDATE HIST_STAY_STORE set HSS_TOT = ? where HSS_CODIGO In (select cuenta from cuentaa)", Array As Object(stay_hh + stay_mi + stay_ss)) - skmt.ExecNonQuery2("UPDATE HIST_STAY_OUT set HSO_FIN = ? ", Array As Object(sTime)) - c.Close - Catch - ToastMessageShow(".",True) - End Try + c.Position = 0 + stay_hh = c.GetString("HORAS_TOTALES") * 60 * 60 + stay_mi = c.GetString("MINUTOS_TOTALES") * 60 + stay_ss = c.GetString("SEGUNDOS_TOTALES") + skmt.ExecNonQuery2("UPDATE HIST_STAY_STORE set HSS_TOT = ? where HSS_CODIGO In (select cuenta from cuentaa)", Array As Object(stay_hh + stay_mi + stay_ss)) + skmt.ExecNonQuery2("UPDATE HIST_STAY_OUT set HSO_FIN = ? ", Array As Object(sTime)) + c.Close + Catch + ToastMessageShow(".",True) + End Try - skmt.ExecNonQuery2("update PEDIDO_INICIO_FINAL set PIF_HORA_FINAL = ? where PIF_CLIENTE = ? and PIF_HORA_FINAL = 0", Array As Object (DateTime.Now, la_cuenta.Text)) + skmt.ExecNonQuery2("update PEDIDO_INICIO_FINAL set PIF_HORA_FINAL = ? where PIF_CLIENTE = ? and PIF_HORA_FINAL = 0", Array As Object (DateTime.Now, la_cuenta.Text)) ' LogColor($"actualizamos "${la_cuenta.text}, hora_final=${DateTime.now}"$,Colors.Red) - Subs.actualizaTET(la_cuenta.text) - DateTime.TimeFormat = "HH:mm:ss" + Subs.actualizaTET(la_cuenta.text) + DateTime.TimeFormat = "HH:mm:ss" + skmt.ExecNonQuery2("insert into VENDIDOS(ID) VALUES(?)",Array As String(clie_id)) + mandaPendientes 'LO COMENTAMOS PARA PRUEBAS, ACTIVAR AL FINAL!!! - mandaPendientes 'LO COMENTAMOS PARA PRUEBAS, ACTIVAR AL FINAL!!! - - B4XPages.MainPage.productos.reiniciarlistaProds = True - B4XPages.MainPage.productos.prodsMap.Initialize - B4XPages.MainPage.promos.promosMap.Initialize - B4XPages.ShowPage("Principal") + B4XPages.MainPage.productos.reiniciarlistaProds = True + B4XPages.MainPage.productos.prodsMap.Initialize + B4XPages.MainPage.promos.promosMap.Initialize + B4XPages.ShowPage("Principal") + End If + End If + End If End Sub Sub NUEVO_Click diff --git a/B4A/C_Nota.bas b/B4A/C_Nota.bas index 95ad48f..8bc9c95 100644 --- a/B4A/C_Nota.bas +++ b/B4A/C_Nota.bas @@ -43,7 +43,7 @@ End Sub 'This event will be called once, before the page becomes visible. Private Sub B4XPage_Created (Root1 As B4XView) - B4XPages.SetTitle(Me, $"${subs.capitalizar(B4XPages.GetPageId(Me))} - ${Application.VersionName}"$) + B4XPages.SetTitle(Me, $"${Subs.capitalizar(B4XPages.GetPageId(Me))} - ${Application.VersionName}"$) Root = Root1 ruta = File.DirInternal Root.LoadLayout("nota") @@ -129,66 +129,77 @@ Private Sub B4XPage_CloseRequest As ResumableSub End Sub Sub borra_Click - If folio <> "" Then - result = Msgbox2("Seguro que desea borrar el pedido?","Cancelar pedido", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore - If result = DialogResponse.POSITIVE Then - c=Starter.skmt.ExecQuery("select PE_PROID,PE_CANT FROM PEDIDO where pe_cliente in (Select CUENTA from cuentaa) ") - If c.RowCount>0 Then - For i=0 To c.RowCount -1 - c.Position=i - Starter.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?", Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID"))) - Starter.skmt.ExecNonQuery2("INSERT INTO INVENT_X_ENVIAR (ALMACEN , PROID , CANTIDAD ) VALUES(?,?,?) ", Array As Object (almacen,c.GetString("PE_PROID"),c.GetString("PE_CANT")* -1)) - Next + c = Starter.skmt.ExecQuery("SELECT ID FROM VENDIDOS WHERE ID IN (Select cuenta from cuentaa)") + If c.RowCount = 0 Then + + If folio <> "" Then + result = Msgbox2("Seguro que desea borrar el pedido?","Cancelar pedido", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore + If result = DialogResponse.POSITIVE Then + c=Starter.skmt.ExecQuery("select PE_PROID,PE_CANT FROM PEDIDO where pe_cliente in (Select CUENTA from cuentaa) ") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Starter.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?", Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID"))) + Starter.skmt.ExecNonQuery2("INSERT INTO INVENT_X_ENVIAR (ALMACEN , PROID , CANTIDAD ) VALUES(?,?,?) ", Array As Object (almacen,c.GetString("PE_PROID"),c.GetString("PE_CANT")* -1)) + Next + End If + Starter.skmt.ExecNonQuery("delete from pedido_cliente where pc_cliente in (Select CUENTA from cuentaa)") + Starter.skmt.ExecNonQuery("delete from pedido where pe_cliente in (Select CUENTA from cuentaa)") + Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)") + B4XPage_Appear End If - Starter.skmt.ExecNonQuery("delete from pedido_cliente where pc_cliente in (Select CUENTA from cuentaa)") - Starter.skmt.ExecNonQuery("delete from pedido where pe_cliente in (Select CUENTA from cuentaa)") - Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)") - B4XPage_Appear + Else + Msgbox("CLIENTE YA SE TRANSMITIO, FAVOR DE LLAMAR A SOPORTE PARA ASISTENCIA","AVISO") 'ignore End If Else - Msgbox("CLIENTE YA SE TRANSMITIO, FAVOR DE LLAMAR A SOPORTE PARA ASISTENCIA","AVISO") 'ignore + MsgboxAsync("La venta fue enviada, no se puede eliminar","Atnción") End If End Sub Sub ListView1_ItemLongClick (Position As Int, Value As Object) - If Not(Subs.pedidoGuardado) Then - result = Msgbox2("Seguro que desea borrar este articulo?","Borrar Articulo", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore - If result = DialogResponse.POSITIVE Then - c=Starter.skmt.ExecQuery2("select PE_PROID,PE_CANT FROM PEDIDO where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa) ", Array As String(Value)) - c.Position=0 - Starter.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?", Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID"))) - Starter.skmt.ExecNonQuery2("INSERT INTO INVENT_X_ENVIAR (ALMACEN , PROID , CANTIDAD ) VALUES(?,?,?) ", Array As Object (almacen,c.GetString("PE_PROID"),c.GetString("PE_CANT")* -1)) - c.Close - c=Starter.skmt.ExecQuery2("select count(*) AS CUANTOS from cat_gunaprod where CAT_GP_ID in (select pe_cedis from pedido where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa)) and CAT_GP_CLASIF = 'PROMOS' AND CAT_GP_TIPO = 'PROMOS' AND CAT_GP_SUBTIPO = 'PROMOS'", Array As String(Value)) - c.Position=0 - If c.GetString("CUANTOS") > 0 Then - Starter.skmt.ExecNonQuery2("delete from pedido where pe_cedis in (select pe_cedis from pedido where pe_pronombre = ?) and pe_cliente in (Select CUENTA from cuentaa)", Array As Object(Value)) - Else - Starter.skmt.ExecNonQuery2("delete from pedido where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa)", Array As Object(Value)) + c = Starter.skmt.ExecQuery("SELECT ID FROM VENDIDOS WHERE ID IN (Select cuenta from cuentaa)") + If c.RowCount = 0 Then + If Not(Subs.pedidoGuardado) Then + result = Msgbox2("Seguro que desea borrar este articulo?","Borrar Articulo", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore + If result = DialogResponse.POSITIVE Then + c=Starter.skmt.ExecQuery2("select PE_PROID,PE_CANT FROM PEDIDO where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa) ", Array As String(Value)) + c.Position=0 + Starter.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?", Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID"))) + Starter.skmt.ExecNonQuery2("INSERT INTO INVENT_X_ENVIAR (ALMACEN , PROID , CANTIDAD ) VALUES(?,?,?) ", Array As Object (almacen,c.GetString("PE_PROID"),c.GetString("PE_CANT")* -1)) + c.Close + c=Starter.skmt.ExecQuery2("select count(*) AS CUANTOS from cat_gunaprod where CAT_GP_ID in (select pe_cedis from pedido where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa)) and CAT_GP_CLASIF = 'PROMOS' AND CAT_GP_TIPO = 'PROMOS' AND CAT_GP_SUBTIPO = 'PROMOS'", Array As String(Value)) + c.Position=0 + If c.GetString("CUANTOS") > 0 Then + Starter.skmt.ExecNonQuery2("delete from pedido where pe_cedis in (select pe_cedis from pedido where pe_pronombre = ?) and pe_cliente in (Select CUENTA from cuentaa)", Array As Object(Value)) + Else + Starter.skmt.ExecNonQuery2("delete from pedido where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa)", Array As Object(Value)) + End If + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa") + c.Position=0 + clie_id = c.GetString("CUENTA") + c=Starter.skmt.ExecQuery("select USUARIO from usuarioa") + c.Position=0 + usuario = c.GetString("USUARIO") + c=Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, count(*) as CUANTOS FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + c.Position=0 + If c.GetString("CUANTOS") > 0 Then + Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") + Starter.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT) VALUES (?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), B4XPages.MainPage.lon_gps, B4XPages.MainPage.lat_gps)) + Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)") + Else + Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") + Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)") + End If + B4XPage_Appear End If - DateTime.DateFormat = "MM/dd/yyyy" - sDate=DateTime.Date(DateTime.Now) - sTime=DateTime.Time(DateTime.Now) - c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa") - c.Position=0 - clie_id = c.GetString("CUENTA") - c=Starter.skmt.ExecQuery("select USUARIO from usuarioa") - c.Position=0 - usuario = c.GetString("USUARIO") - c=Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, count(*) as CUANTOS FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") - c.Position=0 - If c.GetString("CUANTOS") > 0 Then - Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") - Starter.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT) VALUES (?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), B4XPages.MainPage.lon_gps, B4XPages.MainPage.lat_gps)) - Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)") - Else - Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") - Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)") - End If - B4XPage_Appear + Else + ToastMessageShow("El pedido ya fue guardado, no se puden borrar productos.", True) End If Else - ToastMessageShow("El pedido ya fue guardado, no se puden borrar productos.", True) + MsgboxAsync("La venta fue enviada, no se puede eliminar","Atnción") End If End Sub diff --git a/B4A/C_NuevoCliente.bas b/B4A/C_NuevoCliente.bas index 11531ed..e00c27b 100644 --- a/B4A/C_NuevoCliente.bas +++ b/B4A/C_NuevoCliente.bas @@ -52,7 +52,7 @@ End Sub 'This event will be called once, before the page becomes visible. Private Sub B4XPage_Created (Root1 As B4XView) - B4XPages.SetTitle(Me, $"${subs.capitalizar(B4XPages.GetPageId(Me))} - ${Application.VersionName}"$) + B4XPages.SetTitle(Me, $"${Subs.capitalizar(B4XPages.GetPageId(Me))} - ${Application.VersionName}"$) Root = Root1 'load the layout to Root Root.LoadLayout("nuevocliente") @@ -63,23 +63,37 @@ Private Sub B4XPage_Created (Root1 As B4XView) ' skmt.Initialize(ruta,"kmt.db", True) ' p_camara.Height = Root.Height ' p_camara.Width = Root.Width + 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 'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. Sub B4XPage_Appear - 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 E_NOMBRE.Text = "" - If Not(Starter.gps.GPSEnabled) Then ToastMessageShow("Es necesario tener el GPS encendido", True) StartActivity(Starter.gps.LocationSettingsIntent) @@ -95,11 +109,10 @@ Sub B4XPage_Appear Subs.centraEtiqueta(b_ubicacion, Root.Width) Subs.centraPanel(p_botones, Root.Width) E_NOMBRE.Left = Round(Root.Width/2)-(E_NOMBRE.Width/2) - et_direccion.Left = Round(Root.Width/2)-(E_NOMBRE.Width/2) If B4XPages.MainPage.lat_gps <> "0.0" Then GUARDA.Visible = True 'Si hay ubicaccion, mostramos el boton de guardar. - l_sinUbicacion.Visible = False + l_sinUbicacion.Visible = True End If If Not(Starter.GPS.GPSEnabled) Then @@ -124,7 +137,6 @@ Sub B4XPage_Appear End If giros = "SELECCIONA UNA OPCIÓN" c.Close - End Sub Sub GPS_LocationChanged (Location1 As Location) @@ -156,7 +168,7 @@ Sub GUARDA_Click Else If et_direccion.Text.Length > 3 Then If lat <> 0 Then - If fototomada <> "0" Then +' If fototomada <> "0" Then If giros <> "SELECCIONA UNA OPCIÓN" Or cb_giro.SelectedItem <> "SELECCIONA UNA OPCIÓN" Then DateTime.DateFormat = "MM/dd/yyyy" DateTime.Timeformat = "HHmmss" @@ -189,7 +201,7 @@ Sub GUARDA_Click c.Position = 0 usuario = c.GetString("USUARIO") c.Close - Starter.skmt.ExecNonQuery2("INSERT INTO HIST_FOTO_CLIENTE(CODIGO, ALMACEN, RUTA, NOM_FOTO) VALUES(?,?,?,?)", Array As Object(no_cliente, ALMACEN, no_ruta, fototomada)) + Starter.skmt.ExecNonQuery2("INSERT INTO HIST_FOTO_CLIENTE(CODIGO, ALMACEN, RUTA) VALUES(?,?,?)", Array As Object(no_cliente, ALMACEN, no_ruta)) Starter.skmt.ExecNonQuery2("INSERT INTO NOVENTA (NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_LAT,NV_LON,NV_NOMBRE,NV_DIRECCION) VALUES(?,?,?,?,?,?,?,?) ", Array As Object (no_cliente,sDate & sTime, usuario, "NUEVO CLIENTE", lat, lon, E_NOMBRE.Text,et_direccion.Text)) DateTime.DateFormat = "dd/MM/yyyy" @@ -197,8 +209,8 @@ Sub GUARDA_Click sDate2=DateTime.Date(DateTime.Now) sTime2=DateTime.Time(DateTime.Now) - Starter.skmt.ExecNonQuery2("INSERT INTO CLIENTES_NUEVOS(CN_ID, CN_FECHA, CN_USER, CN_LAT, CN_LON, CN_NOMBRE, CN_DIRECCION, CN_FOTO, CN_ALMACEN, CN_RUTA, CN_GIRO) VALUES (?,?,?,?,?,?,?,?,?,?,?)",Array As String(no_cliente,sDate2 &" "&sTime2, usuario, lat, lon, E_NOMBRE.Text,et_direccion.Text, fototomada, ALMACEN, no_ruta,cb_giro.SelectedItem)) - fototomada = "0" + Starter.skmt.ExecNonQuery2("INSERT INTO CLIENTES_NUEVOS(CN_ID, CN_FECHA, CN_USER, CN_LAT, CN_LON, CN_NOMBRE, CN_DIRECCION, CN_FOTO, CN_RUTA, CN_GIRO) VALUES (?,?,?,?,?,?,?,?,?,?)",Array As String(no_cliente,sDate2 &" "&sTime2, usuario, lat, lon, E_NOMBRE.Text,et_direccion.Text, ALMACEN, no_ruta,cb_giro.SelectedItem)) +' fototomada = "0" B4XPages.ShowPage("Principal") CallSubDelayed(Tracker, "StartFLP") @@ -206,9 +218,9 @@ Sub GUARDA_Click MsgboxAsync("Por favor captura el giro del cliente","Atención") End If - Else - MsgboxAsync("Por favor captura la foto del cliente","Atención") - End If +' Else +' MsgboxAsync("Por favor captura la foto del cliente","Atención") +' End If Else MsgboxAsync("Por favor revisa que tengas señal GPS","Atención") End If @@ -219,6 +231,7 @@ Sub GUARDA_Click End Sub + Private Sub p_nuevoCliente_Click End Sub diff --git a/B4A/C_Principal.bas b/B4A/C_Principal.bas index 45ecb06..ca57fab 100644 --- a/B4A/C_Principal.bas +++ b/B4A/C_Principal.bas @@ -518,7 +518,7 @@ Sub Subir_Click PASO = 1 'End If If PASO =1 Then - Starter.skmt.ExecNonQuery2("delete from PEDIDO WHERE PE_PRONOMBRE = ? ", Array As Object("N/A") ) + Starter.skmt.ExecNonQuery2("delete from PEDIDO WHERE PE_PRONOMBRE = ? ", Array As String("N/A") ) Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE not In (select PE_CLIENTE from pedido)") c=Starter.skmt.ExecQuery("select usuario from usuarioa") c.Position = 0 @@ -650,10 +650,24 @@ Sub Subir_Click c.Position = i Log(File.Exists(Dirp&Dir&Dir2,c.GetString("CN_FOTO"))) If File.Exists(Dirp&Dir&Dir2,c.GetString("CN_FOTO")) Then fotocn = Bit.InputStreamToBytes(File.OpenInput(Dirp&Dir,c.GetString("CN_FOTO"))) + Dim dia As Int = DateTime.GetDayOfWeek(DateTime.Now) + If dia = 2 Then + Dim dialetra As String = "LUNES" + Else If dia = 3 Then + Dim dialetra As String = "MARTES" + Else If dia = 4 Then + Dim dialetra As String = "MIERCOLES" + Else If dia = 5 Then + Dim dialetra As String = "JUEVES" + Else If dia = 6 Then + Dim dialetra As String = "VIERNES" + Else If dia = 7 Then + Dim dialetra As String = "SABADO" + End If Dim cmd As DBCommand cmd.Initialize cmd.Name = "insert_clientesnuevos_MARDS" - cmd.Parameters = Array As Object(c.GetString("CN_ID"), c.GetString("CN_FECHA"), c.GetString("CN_USER"), c.GetString("CN_LAT"), c.GetString("CN_LON"), c.GetString("CN_NOMBRE"), c.GetString("CN_DIRECCION"),c.GetString("CN_ALMACEN"), c.GetString("CN_RUTA"), fotocn, "EN ESPERA",c.GetString("CN_GIRO")) + cmd.Parameters = Array As Object(c.GetString("CN_ID"), c.GetString("CN_FECHA"), c.GetString("CN_USER"), c.GetString("CN_LAT"), c.GetString("CN_LON"), c.GetString("CN_NOMBRE"), c.GetString("CN_DIRECCION"),ALMACEN, c.GetString("CN_RUTA"), fotocn, "En espera",c.GetString("CN_GIRO"),dialetra) reqManager.ExecuteCommand(cmd , "inst_clientesn") Next End If @@ -1870,6 +1884,7 @@ Sub e_ruta_EnterPressed Starter.skmt.ExecNonQuery("DELETE FROM HIST_CODIGO_BARRAS") Starter.skmt.ExecNonQuery("DELETE FROM HIST_FOTO_CLIENTE") Starter.skmt.ExecNonQuery("DELETE FROM CLIENTES_NUEVOS") + Starter.skmt.ExecNonQuery("DELETE FROM VENDIDOS") B4XPage_Appear End If End If diff --git a/B4A/C_Productos.bas b/B4A/C_Productos.bas index 59a74ae..ed1eecc 100644 --- a/B4A/C_Productos.bas +++ b/B4A/C_Productos.bas @@ -91,7 +91,7 @@ End Sub 'This event will be called once, before the page becomes visible. Private Sub B4XPage_Created (Root1 As B4XView) - B4XPages.SetTitle(Me, $"${subs.capitalizar(B4XPages.GetPageId(Me))} - ${Application.VersionName}"$) + B4XPages.SetTitle(Me, $"${Subs.capitalizar(B4XPages.GetPageId(Me))} - ${Application.VersionName}"$) Root = Root1 'load the layout to Root ' Activity.RemoveAllViews @@ -491,7 +491,7 @@ Sub b_prodMenos_Click Private id As String=clv_prods_ll.GetValue(index).As(Map).Get("id") Private tmpMap As Map = CreateMap("precio":precio, "cant":laCant.Text, "almacen":Subs.traeAlmacen) ' Log(tmpMap) - prodsMap.Put(id, tmpMap) +' prodsMap.Put(id, tmpMap) If laCant.Text = 0 Then prodsMap.Remove(id) ' LogColor("prodsMap="&prodsMap, Colors.blue) ' (Subs.traeAlmacen, p1.Get("precio"), p1.Get("cant"), pn, p, clienteId, Subs.traeFecha, Subs.traeUsuarioDeBD, rutaUsuario, 0, B4XPages.MainPage.tipo_venta) @@ -513,7 +513,7 @@ Sub b_prodMas_Click If laCant.Text = "" Then laCant.Text = 0 If laCant.Text + 1 <= inv Then - Log(NumberFormat2(laCant.Text+1,0,0,0,False)) +' Log(NumberFormat2(laCant.Text+1,0,0,0,False)) laCant.Text = $"${NumberFormat2(laCant.Text+1,0,0,0,False)}"$ ' Private precio As String=clv_prods_ll.GetValue(index).As(Map).Get("precio") Private id As String=clv_prods_ll.GetValue(index).As(Map).Get("id") @@ -585,7 +585,7 @@ End Sub Sub b_terminar1_Click ' Log("b_terminar1_Click") ' ya_entro = "0" : Log("ya_entro=1") - Starter.skmt.ExecNonQuery2("delete from PEDIDO WHERE PE_PRONOMBRE = ? ", Array As Object("N/A") ) + Starter.skmt.ExecNonQuery2("delete from PEDIDO WHERE PE_PRONOMBRE = ? ", Array As String("N/A") ) lv_promos.Visible = False clv_prods_ll.AsView.Visible = False diff --git a/B4A/C_RespaldoDiario.bas b/B4A/C_RespaldoDiario.bas index cf0baaf..787fc0c 100644 --- a/B4A/C_RespaldoDiario.bas +++ b/B4A/C_RespaldoDiario.bas @@ -17,7 +17,7 @@ End Sub 'You can add more parameters here. Public Sub Initialize As Object ' Log("************************** " & safePath) - Dim Dirp As String = File.DirRootExternal + Dim Dirp As String = File.DirInternal Dim Dir As String ' Dim Dir2 As String Try diff --git a/B4A/C_Subs.bas b/B4A/C_Subs.bas index 9d45150..7e65b43 100644 --- a/B4A/C_Subs.bas +++ b/B4A/C_Subs.bas @@ -155,7 +155,7 @@ Sub guardaInfoEnArchivo(coords As String) 'ignore DateTime.DateFormat=OrigFormat 'return to orig date format Dim ubic As String = coords&","&lastUpdate - Dim out As OutputStream = File.OpenOutput(File.DirRootExternal, "gps.txt", True) + Dim out As OutputStream = File.OpenOutput(File.DirInternal, "gps.txt", True) Dim s As String = ubic & CRLF Dim t() As Byte = s.GetBytes("UTF-8") out.WriteBytes(t, 0, t.Length) @@ -315,7 +315,7 @@ Sub copiaDB(result As Boolean) 'ignore If result Then Dim p As String If File.ExternalWritable Then - p = File.DirRootExternal + p = File.DirInternal ' Log("Externo") Else p = File.DirInternal @@ -323,21 +323,21 @@ Sub copiaDB(result As Boolean) 'ignore End If Dim theDir As String Try - File.MakeDir(File.DirRootExternal,"kmts") + File.MakeDir(File.DirInternal,"kmts") theDir = "/kmts" Catch theDir = "" End Try Try - File.Copy(File.DirInternal,"kmt.db",File.DirRootExternal&theDir,"cedex_kmt.db") - File.Copy(File.DirInternal,"errorLog.db",File.DirRootExternal&theDir,"cedex_errorLog.db") + File.Copy(File.DirInternal,"kmt.db",File.DirInternal&theDir,"cedex_kmt.db") + File.Copy(File.DirInternal,"errorLog.db",File.DirInternal&theDir,"cedex_errorLog.db") ToastMessageShow("BD copiada!", False) Catch ToastMessageShow("No se pudo hacer la copia: "&LastException, True) End Try Log("rootExternal="&p) Log("File.DirInternal="&File.DirInternal) - Log("File.DirRootExternal="&File.DirRootExternal) + Log("File.DirInternal="&File.DirInternal) Else ToastMessageShow("Sin permisos", False) End If diff --git a/B4A/CameraExClass2.bas b/B4A/CameraExClass2.bas index 76b54bc..cf3a43e 100644 --- a/B4A/CameraExClass2.bas +++ b/B4A/CameraExClass2.bas @@ -51,7 +51,7 @@ Private Sub FindCamera (frontCamera As Boolean) As CameraInfoAndId 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 'ignore + If r.GetField("facing") = cameraValue Then ci.cameraInfo = r.target ci.Id = i Return ci @@ -144,8 +144,8 @@ End Sub Public Sub CommitParameters 'Try - r.target = nativeCam - r.RunMethod4("setParameters", Array As Object(parameters), Array As String("android.hardware.Camera$Parameters")) + 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) @@ -277,24 +277,24 @@ Public Sub PreviewImageToJpeg(data() As Byte, quality As Int) As Byte() End Sub Public Sub GetSupportedFocusModes As List - r.target = parameters - Return r.RunMethod("getSupportedFocusModes") + 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 + 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") + r.target = parameters + r.RunMethod2("setFocusMode", Mode, "java.lang.String") End Sub Public Sub GetFocusDistances As Float() @@ -306,7 +306,7 @@ End Sub Public Sub GetSupportedPictureFormats As List r.target = parameters - Return r.RunMethod("getSupportedPictureFormats") + 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. @@ -330,23 +330,23 @@ Private Sub Camera_FocusDone (Success As Boolean) End Sub Public Sub IsZoomSupported As Boolean - r.target = parameters - Return r.RunMethod("isZoomSupported") + r.target = parameters + Return r.RunMethod("isZoomSupported") End Sub Public Sub GetMaxZoom As Int - r.target = parameters - Return r.RunMethod("getMaxZoom") + r.target = parameters + Return r.RunMethod("getMaxZoom") End Sub Public Sub getZoom() As Int - r.target = parameters - Return r.RunMethod("getZoom") + 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") + r.target = parameters + r.RunMethod2("setZoom", ZoomValue, "java.lang.int") End Sub Public Sub getExposureCompensation As Int diff --git a/B4A/Files/cliente.bal b/B4A/Files/cliente.bal index 3b951bb835d2f1de19dd2e5a6da9fd167d7b8de2..8e250a7c0fe095e44b2d81eb072ace699b175392 100644 GIT binary patch delta 43 tcmey`$Mm?5X+y5Z~\n~)~\n~SetApplicationAttribute(android:icon, "@drawable/icon")~\n~SetApplicationAttribute(android:label, "$LABEL$")~\n~CreateResourceFromFile(Macro, Themes.LightTheme)~\n~AddApplicationText(~\n~)~\n~CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)~\n~ 'End of default text.~\n~''''' CAMBIA LA CLAVE API~\n~AddApplicationText(~\n~~\n~ ~\n~)~\n~AddApplicationText(~\n~~\n~)~\n~AddManifestText(~\n~~\n~)~\n~''CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)~\n~ 'End of default text.~\n~ ~\n~SetApplicationAttribute(android:usesCleartextTraffic, "true")~\n~ AddManifestText(~\n~~\n~)~\n~AddPermission(android.permission.ACCESS_BACKGROUND_LOCATION)~\n~AddManifestText(~\n~~\n~)~\n~AddManifestText(~\n~~\n~) 'in order to access the device non-resettable identifiers such as IMEI and serial number.~\n~~\n~'///////////////////////// FLP Y PUSH /////////////~\n~' CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)~\n~' CreateResourceFromFile(Macro, FirebaseAnalytics.Firebase)~\n~' CreateResourceFromFile(Macro, FirebaseAnalytics.FirebaseAnalytics)~\n~' CreateResourceFromFile(Macro, FirebaseNotifications.FirebaseNotifications)~\n~ SetServiceAttribute(Tracker, android:foregroundServiceType, "location")~\n~'//////////////////////////////////////////////////////~\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~AddApplicationText(~\n~~\n~ ~\n~ )~\n~ ~\n~ AddManifestText(~\n~ ~\n~ )~\n~ ~\n~ +Library1=accessibility +Library10=compressstrings +Library11=contentresolver +Library12=core +Library13=fileprovider +Library14=firebaseadmob +Library15=firebasenotifications +Library16=fusedlocationprovider +Library17=googlemaps +Library18=googlemapsextras +Library19=gps +Library2=appupdating +Library20=javaobject +Library21=json +Library22=okhttputils2 +Library23=phone +Library24=preoptimizedclv +Library25=randomaccessfile +Library26=reflection +Library27=replyauto +Library28=runtimepermissions +Library29=serial +Library3=b4xpages +Library30=sql +Library31=togglelibrary +Library32=xcustomlistview +Library33=xui +Library34=xui views +Library35=rspopupmenu +Library4=baqrcode +Library5=batteryprogressview +Library6=bctoast +Library7=bitmapcreator +Library8=byteconverter +Library9=camera +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~'AddApplicationText(~\n~')~\n~CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)~\n~ 'End of default text.~\n~''''' CAMBIA LA CLAVE API~\n~AddApplicationText(~\n~~\n~ ~\n~)~\n~AddApplicationText(~\n~~\n~)~\n~AddManifestText(~\n~~\n~)~\n~''CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)~\n~ 'End of default text.~\n~ ~\n~SetApplicationAttribute(android:usesCleartextTraffic, "true")~\n~ AddManifestText(~\n~~\n~)~\n~AddPermission(android.permission.ACCESS_BACKGROUND_LOCATION)~\n~AddManifestText(~\n~~\n~)~\n~AddManifestText(~\n~~\n~) 'in order to access the device non-resettable identifiers such as IMEI and serial number.~\n~~\n~'///////////////////////// FLP Y PUSH /////////////~\n~' CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)~\n~' CreateResourceFromFile(Macro, FirebaseAnalytics.Firebase)~\n~' CreateResourceFromFile(Macro, FirebaseAnalytics.FirebaseAnalytics)~\n~' CreateResourceFromFile(Macro, FirebaseNotifications.FirebaseNotifications)~\n~ SetServiceAttribute(Tracker, android:foregroundServiceType, "location")~\n~'//////////////////////////////////////////////////////~\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~AddApplicationText(~\n~~\n~ ~\n~ )~\n~ ~\n~ AddManifestText(~\n~ ~\n~ )~\n~ ~\n~ Module1=appUpdater Module10=C_NuevoCliente Module11=C_Pedidos @@ -1051,14 +1060,14 @@ Module7=C_Mapas Module8=C_Nota Module9=C_NoVenta NumberOfFiles=498 -NumberOfLibraries=26 +NumberOfLibraries=35 NumberOfModules=27 Version=12.5 @EndOfDesignText@ #Region Project Attributes #ApplicationLabel: Mariana #VersionCode: 1 - #VersionName: 3.10.24 + #VersionName: 4.01.29 'SupportedOrientations possible values: unspecified, landscape or portrait. #SupportedOrientations: portrait #CanInstallToExternalStorage: False diff --git a/B4A/Mariana.b4a.meta b/B4A/Mariana.b4a.meta index e90c2c1..3eec7e0 100644 --- a/B4A/Mariana.b4a.meta +++ b/B4A/Mariana.b4a.meta @@ -59,7 +59,7 @@ ModuleClosedNodes1= ModuleClosedNodes10= ModuleClosedNodes11=1 ModuleClosedNodes12= -ModuleClosedNodes13=1 +ModuleClosedNodes13= ModuleClosedNodes14=2 ModuleClosedNodes15= ModuleClosedNodes16= @@ -82,6 +82,6 @@ ModuleClosedNodes6= ModuleClosedNodes7= ModuleClosedNodes8= ModuleClosedNodes9= -NavigationStack=B4XMainPage,i_engrane_Click,699,0,Starter,Process_Globals,17,0,C_Principal,Class_Globals,6,0,B4XMainPage,B4XPage_Created,275,0,C_RespaldoDiario,Initialize,25,0,B4XMainPage,B4XPage_Appear,296,0,B4XMainPage,Entrar_Click,378,0,C_Principal,B4XPage_Created,236,0,B4XMainPage,Class_Globals,22,0,C_Principal,B4XPage_Appear,312,0 +NavigationStack=C_Cliente,B4XPage_Created,176,0,Main,Activity_Create,27,0,C_Clientes,Mods,0,0,C_Cliente,Guardar_Click,466,6,C_Cliente,B4XPage_Appear,191,6,C_Nota,borra_Click,126,0,C_Nota,ListView1_ItemLongClick,159,0,C_Productos,et_pCant_FocusChanged,577,0,C_Productos,b_terminar1_Click,581,1,C_Principal,Subir_Click,514,6 SelectedBuild=0 -VisibleModules=1,2,3,4,5,6,7,8,9,10,12 +VisibleModules=1,2,3,4,5,6,7,8,9,10,12,13 diff --git a/B4A/Subs.bas b/B4A/Subs.bas index bee5fa7..7516119 100644 --- a/B4A/Subs.bas +++ b/B4A/Subs.bas @@ -113,7 +113,7 @@ Sub guardaInfoEnArchivo(coords As String) 'ignore DateTime.DateFormat=OrigFormat 'return to orig date format Dim ubic As String = coords&","&lastUpdate - Dim out As OutputStream = File.OpenOutput(File.DirRootExternal, "gps.txt", True) + Dim out As OutputStream = File.OpenOutput(File.DirInternal, "gps.txt", True) Dim s As String = ubic & CRLF Dim t() As Byte = s.GetBytes("UTF-8") out.WriteBytes(t, 0, t.Length) @@ -179,7 +179,7 @@ End Sub 'Borramos el archio "gps.txt" Sub borramosArchivoGPS 'ignore - Dim out As OutputStream = File.OpenOutput(File.DirRootExternal, "gps.txt", False) + Dim out As OutputStream = File.OpenOutput(File.DirInternal, "gps.txt", False) Dim s As String = "" Dim t() As Byte = s.GetBytes("UTF-8") out.WriteBytes(t, 0, t.Length) @@ -591,7 +591,7 @@ Sub copiaDB(result As Boolean) 'ignore If result Then Dim p As String If File.ExternalWritable Then - p = File.DirRootExternal + p = File.DirInternal ' Log("Externo") Else p = File.DirInternal @@ -599,21 +599,21 @@ Sub copiaDB(result As Boolean) 'ignore End If Dim theDir As String Try - File.MakeDir(File.DirRootExternal,"kmts") + File.MakeDir(File.DirInternal,"kmts") theDir = "/kmts" Catch theDir = "" End Try Try - File.Copy(File.DirInternal,"kmt.db",File.DirRootExternal&theDir,"cedex_kmt.db") - File.Copy(File.DirInternal,"errorLog.db",File.DirRootExternal&theDir,"cedex_errorLog.db") + File.Copy(File.DirInternal,"kmt.db",File.DirInternal&theDir,"cedex_kmt.db") + File.Copy(File.DirInternal,"errorLog.db",File.DirInternal&theDir,"cedex_errorLog.db") ToastMessageShow("BD copiada!", False) Catch ToastMessageShow("No se pudo hacer la copia: "&LastException, True) End Try Log("rootExternal="&p) Log("File.DirInternal="&File.DirInternal) - Log("File.DirRootExternal="&File.DirRootExternal) + Log("File.DirInternal="&File.DirInternal) Else ToastMessageShow("Sin permisos", False) End If