Se agregó´codigp para seleccionar base de datos, para editar almacen, ruta y ver clientes.

This commit is contained in:
2023-09-04 01:46:31 -06:00
parent 56f224c24d
commit b5f591b4f9
4 changed files with 72 additions and 20 deletions

View File

@@ -22,6 +22,7 @@ Sub Class_Globals
Private xui As XUI Private xui As XUI
' Private b_cargar As Button ' Private b_cargar As Button
Private b_enviar As Button Private b_enviar As Button
Dim ime As IME
Dim skmt As SQL Dim skmt As SQL
Dim reqManager As DBRequestManager Dim reqManager As DBRequestManager
Private l_pedidos2 As Label Private l_pedidos2 As Label
@@ -49,6 +50,13 @@ Sub Class_Globals
Private p_principal As Panel Private p_principal As Panel
Private l_appInfo As Label Private l_appInfo As Label
Dim empresa, appVersion As String Dim empresa, appVersion As String
Private et_nuevaRuta As EditText
Private et_nuevoAlmacen As EditText
Private p_clientes As Panel
Private lv_clientes As ListView
Private clv_clientes As CustomListView
Private p_item As Panel
Private l_item As Label
End Sub End Sub
Public Sub Initialize Public Sub Initialize
@@ -67,14 +75,13 @@ Private Sub B4XPage_Created (Root1 As B4XView)
Subs.centraPanel(p_progressDialog, Root.Width) Subs.centraPanel(p_progressDialog, Root.Width)
Subs.centraPanel(p_editaRuta, Root.Width) Subs.centraPanel(p_editaRuta, Root.Width)
Subs.centraPanel(p_editaAlmacen, Root.Width) Subs.centraPanel(p_editaAlmacen, Root.Width)
' Subs.centraPanel(p_progressDialog, Root.Width) Subs.centraPanel(p_clientes, Root.Width)
End Sub End Sub
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. 'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
Sub B4XPage_Appear Sub B4XPage_Appear
Log("INICIO") Log("INICIO")
' Dim usuario As String = c.GetString("USUARIO")
Dim in As Intent = B4XPages.GetNativeParent(Me).GetStartingIntent Dim in As Intent = B4XPages.GetNativeParent(Me).GetStartingIntent
If in <> Null Then If in <> Null Then
Log(in.GetData) Log(in.GetData)
@@ -108,7 +115,7 @@ Sub B4XPage_Appear
Next Next
l_appInfo.Text = $"${empresa} ${appVersion}"$ l_appInfo.Text = $"${empresa} ${appVersion}"$
End If End If
Dim c As Cursor = skmt.ExecQuery($"select count(distinct pe_cliente) as pedidos, group_concat(distinct substr(pe_fecha, 4,2)) as diasVenta, sum(pe_costo_tot) as total, (select PE_CANT from pedido where PE_CANT = 0) as cantsEnCero, (select count(PE_CLIENTE) from pedido where printf("%d", PE_CLIENTE) <> PE_CLIENTE ) as clienteNoNumerico from pedido"$) Dim c As Cursor = skmt.ExecQuery($"select count(distinct pe_cliente) as pedidos, group_concat(distinct substr(pe_fecha, 4,2)) as diasVenta, sum(pe_costo_tot) as total, (select PE_CANT from pedido where PE_CANT = 0) as cantsEnCero, (select count(distinct PE_CLIENTE) from pedido where printf("%d", PE_CLIENTE) <> PE_CLIENTE ) as clienteNoNumerico from pedido"$)
Log(c.RowCount) Log(c.RowCount)
If c.RowCount > 0 Then If c.RowCount > 0 Then
c.Position = 0 c.Position = 0
@@ -408,9 +415,15 @@ Private Sub b_cargarBD_Click
Private FH As FileHandler Private FH As FileHandler
FH.Initialize FH.Initialize
Wait For (FH.Load) Complete (Result As LoadResult) 'Abre un fileManager para seleccionar la base de datos a importar. Wait For (FH.Load) Complete (Result As LoadResult) 'Abre un fileManager para seleccionar la base de datos a importar.
File.Copy(Result.Dir, Result.FileName, File.DirInternal, "kmt.db") 'Copia la base de datos seleccionada al directorio interno. Log("|" & Result.FileName & "|")
skmt.Initialize(File.DirInternal,"kmt.db", True) 'Reiniciliza la base de datos con la recien importada. If Result.FileName <> "" And Result.FileName <> Null Then
ToastMessageShow("¡BD importada!", False) p_clientes.Visible = False
p_editaAlmacen.Visible = False
p_editaRuta.Visible = False
File.Copy(Result.Dir, Result.FileName, File.DirInternal, "kmt.db") 'Copia la base de datos seleccionada al directorio interno.
skmt.Initialize(File.DirInternal,"kmt.db", True) 'Reiniciliza la base de datos con la recien importada.
ToastMessageShow("¡BD importada!", False)
End If
End Sub End Sub
Private Sub l_ruta2_LongClick Private Sub l_ruta2_LongClick
@@ -424,19 +437,54 @@ Private Sub l_almacen2_LongClick
End Sub End Sub
Private Sub l_usuario2_LongClick Private Sub l_usuario2_LongClick
End Sub
Private Sub l_clienteNoNumerico_LongClick
Private c As Cursor = skmt.ExecQuery($"select distinct pe_cliente as cliente from pedido"$)
If c.RowCount > 0 Then
clv_clientes.Clear
For i = 0 To c.RowCount - 1
c.Position = i
clv_clientes.Add(CreateListItem(c.GetString("cliente")),i)
Next
End If
p_clientes.Top = l_totalVenta.top
p_clientes.BringToFront
p_clientes.Visible = True
End Sub End Sub
Private Sub b_guardaRuta_Click Private Sub b_guardaRuta_Click
p_editaRuta.Visible = False p_editaRuta.Visible = False
skmt.ExecNonQuery($"update "$) skmt.ExecNonQuery($"update pedido set pe_ruta = '${et_nuevaRuta.Text}' where pe_ruta = '${ruta}'"$)
l_ruta2.Text = et_nuevaRuta.text
End Sub End Sub
Private Sub b_guardaAlmacen_Click Private Sub b_guardaAlmacen_Click
skmt.ExecNonQuery($"delete from cat_almacen"$)
skmt.ExecNonQuery($"insert into cat_almacen (id_almacen) values ('${et_nuevoAlmacen.Text}')"$)
l_almacen2.Text = et_nuevoAlmacen.text
p_editaAlmacen.Visible = False p_editaAlmacen.Visible = False
End Sub End Sub
Private Sub p_principal_Click Private Sub p_principal_Click
p_editaAlmacen.Visible = False p_editaAlmacen.Visible = False
p_editaRuta.Visible = False p_editaRuta.Visible = False
p_clientes.Visible = False
ime.HideKeyboard
End Sub
Sub CreateListItem(mostrar As String) As Panel
Dim p As B4XView = xui.CreatePanel("")
p.SetLayoutAnimated(0, 0, 0, 1, 10)
p.LoadLayout("listItem")
p.Height= 36dip
p.Width = clv_clientes.GetBase.Width
p_item.Height = p.Height
p_item.Width = p.Width
l_item.Height = p.Height
l_item.Width = p.Width
l_item.Text = mostrar
' cxc.Text = mostrar3
' Log(p.Width)
Return p
End Sub End Sub

View File

@@ -1,30 +1,34 @@
Build1=Default,dbcheck.keymon.lat,HU2_PUBLIC Build1=Default,dbcheck.keymon.lat,HU2_PUBLIC
File1=MainPage.bal File1=listItem.bal
File2=MainPage.bal
FileGroup1=Default Group FileGroup1=Default Group
FileGroup2=Default Group
Group=Default Group Group=Default Group
Library1=b4xpages Library1=appupdating
Library2=byteconverter Library10=xcustomlistview
Library3=contentresolver Library2=b4xpages
Library4=core Library3=byteconverter
Library5=okhttputils2 Library4=contentresolver
Library6=randomaccessfile Library5=core
Library7=sql Library6=ime
Library8=appupdating Library7=okhttputils2
Library8=randomaccessfile
Library9=sql
ManifestCode='This code will be applied to the manifest file during compilation.~\n~'You do not need to modify it in most cases.~\n~'See this link for for more information: https://www.b4x.com/forum/showthread.php?p=78136~\n~AddManifestText(~\n~<uses-sdk android:minSdkVersion="5" android:targetSdkVersion="31"/>~\n~<supports-screens android:largeScreens="true" ~\n~ android:normalScreens="true" ~\n~ android:smallScreens="true" ~\n~ android:anyDensity="true"/>)~\n~SetApplicationAttribute(android:icon, "@drawable/icon")~\n~SetApplicationAttribute(android:label, "$LABEL$")~\n~CreateResourceFromFile(Macro, Themes.LightTheme)~\n~'End of default text.~\n~~\n~SetApplicationAttribute(android:usesCleartextTraffic, "true")~\n~AddPermission(android.permission.INTERNET)~\n~AddPermission(android.permission.READ_EXTERNAL_STORAGE)~\n~AddPermission(android.permission.WRITE_EXTERNAL_STORAGE)~\n~SetApplicationAttribute(android:allowBackup, "false")~\n~~\n~AddActivityText(main,~\n~<intent-filter>~\n~<action android:name="android.intent.action.VIEW" />~\n~<category android:name="android.intent.category.DEFAULT" />~\n~<data android:mimeType="application/octet-stream" />~\n~</intent-filter>) ManifestCode='This code will be applied to the manifest file during compilation.~\n~'You do not need to modify it in most cases.~\n~'See this link for for more information: https://www.b4x.com/forum/showthread.php?p=78136~\n~AddManifestText(~\n~<uses-sdk android:minSdkVersion="5" android:targetSdkVersion="31"/>~\n~<supports-screens android:largeScreens="true" ~\n~ android:normalScreens="true" ~\n~ android:smallScreens="true" ~\n~ android:anyDensity="true"/>)~\n~SetApplicationAttribute(android:icon, "@drawable/icon")~\n~SetApplicationAttribute(android:label, "$LABEL$")~\n~CreateResourceFromFile(Macro, Themes.LightTheme)~\n~'End of default text.~\n~~\n~SetApplicationAttribute(android:usesCleartextTraffic, "true")~\n~AddPermission(android.permission.INTERNET)~\n~AddPermission(android.permission.READ_EXTERNAL_STORAGE)~\n~AddPermission(android.permission.WRITE_EXTERNAL_STORAGE)~\n~SetApplicationAttribute(android:allowBackup, "false")~\n~~\n~AddActivityText(main,~\n~<intent-filter>~\n~<action android:name="android.intent.action.VIEW" />~\n~<category android:name="android.intent.category.DEFAULT" />~\n~<data android:mimeType="application/octet-stream" />~\n~</intent-filter>)
Module1=B4XMainPage Module1=B4XMainPage
Module2=DBRequestManager Module2=DBRequestManager
Module3=FileHandler Module3=FileHandler
Module4=Starter Module4=Starter
Module5=Subs Module5=Subs
NumberOfFiles=1 NumberOfFiles=2
NumberOfLibraries=8 NumberOfLibraries=10
NumberOfModules=5 NumberOfModules=5
Version=12.2 Version=12.2
@EndOfDesignText@ @EndOfDesignText@
#Region Project Attributes #Region Project Attributes
#ApplicationLabel: DBCheck #ApplicationLabel: DBCheck
#VersionCode: 1 #VersionCode: 1
#VersionName: 3.08.31 #VersionName: 3.09.03
'SupportedOrientations possible values: unspecified, landscape or portrait. 'SupportedOrientations possible values: unspecified, landscape or portrait.
#SupportedOrientations: portrait #SupportedOrientations: portrait
#CanInstallToExternalStorage: False #CanInstallToExternalStorage: False

BIN
B4A/Files/listitem.bal Normal file

Binary file not shown.

Binary file not shown.