From b5f591b4f98fbaf1056f92f3c1064f2743b80338 Mon Sep 17 00:00:00 2001 From: cheveguerra Date: Mon, 4 Sep 2023 01:46:31 -0600 Subject: [PATCH] =?UTF-8?q?Se=20agreg=C3=B3=C2=B4codigp=20para=20seleccion?= =?UTF-8?q?ar=20base=20de=20datos,=20para=20editar=20almacen,=20ruta=20y?= =?UTF-8?q?=20ver=20clientes.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- B4A/B4XMainPage.bas | 64 +++++++++++++++++++++++++++++++++++------ B4A/DBCheck.b4a | 28 ++++++++++-------- B4A/Files/listitem.bal | Bin 0 -> 2022 bytes B4A/Files/mainpage.bal | Bin 15288 -> 16507 bytes 4 files changed, 72 insertions(+), 20 deletions(-) create mode 100644 B4A/Files/listitem.bal diff --git a/B4A/B4XMainPage.bas b/B4A/B4XMainPage.bas index bb072f4..7a5f665 100644 --- a/B4A/B4XMainPage.bas +++ b/B4A/B4XMainPage.bas @@ -22,6 +22,7 @@ Sub Class_Globals Private xui As XUI ' Private b_cargar As Button Private b_enviar As Button + Dim ime As IME Dim skmt As SQL Dim reqManager As DBRequestManager Private l_pedidos2 As Label @@ -49,6 +50,13 @@ Sub Class_Globals Private p_principal As Panel Private l_appInfo As Label 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 Public Sub Initialize @@ -67,14 +75,13 @@ Private Sub B4XPage_Created (Root1 As B4XView) Subs.centraPanel(p_progressDialog, Root.Width) Subs.centraPanel(p_editaRuta, Root.Width) Subs.centraPanel(p_editaAlmacen, Root.Width) -' Subs.centraPanel(p_progressDialog, Root.Width) + Subs.centraPanel(p_clientes, Root.Width) End Sub 'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. Sub B4XPage_Appear Log("INICIO") - ' Dim usuario As String = c.GetString("USUARIO") Dim in As Intent = B4XPages.GetNativeParent(Me).GetStartingIntent If in <> Null Then Log(in.GetData) @@ -108,7 +115,7 @@ Sub B4XPage_Appear Next l_appInfo.Text = $"${empresa} ${appVersion}"$ 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) If c.RowCount > 0 Then c.Position = 0 @@ -408,9 +415,15 @@ Private Sub b_cargarBD_Click Private FH As FileHandler FH.Initialize 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. - skmt.Initialize(File.DirInternal,"kmt.db", True) 'Reiniciliza la base de datos con la recien importada. - ToastMessageShow("¡BD importada!", False) + Log("|" & Result.FileName & "|") + If Result.FileName <> "" And Result.FileName <> Null Then + 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 Private Sub l_ruta2_LongClick @@ -424,19 +437,54 @@ Private Sub l_almacen2_LongClick End Sub 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 Private Sub b_guardaRuta_Click 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 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 End Sub Private Sub p_principal_Click p_editaAlmacen.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 \ No newline at end of file diff --git a/B4A/DBCheck.b4a b/B4A/DBCheck.b4a index e82f1df..de785e0 100644 --- a/B4A/DBCheck.b4a +++ b/B4A/DBCheck.b4a @@ -1,30 +1,34 @@ Build1=Default,dbcheck.keymon.lat,HU2_PUBLIC -File1=MainPage.bal +File1=listItem.bal +File2=MainPage.bal FileGroup1=Default Group +FileGroup2=Default Group Group=Default Group -Library1=b4xpages -Library2=byteconverter -Library3=contentresolver -Library4=core -Library5=okhttputils2 -Library6=randomaccessfile -Library7=sql -Library8=appupdating +Library1=appupdating +Library10=xcustomlistview +Library2=b4xpages +Library3=byteconverter +Library4=contentresolver +Library5=core +Library6=ime +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~~\n~)~\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~~\n~~\n~~\n~~\n~) Module1=B4XMainPage Module2=DBRequestManager Module3=FileHandler Module4=Starter Module5=Subs -NumberOfFiles=1 -NumberOfLibraries=8 +NumberOfFiles=2 +NumberOfLibraries=10 NumberOfModules=5 Version=12.2 @EndOfDesignText@ #Region Project Attributes #ApplicationLabel: DBCheck #VersionCode: 1 - #VersionName: 3.08.31 + #VersionName: 3.09.03 'SupportedOrientations possible values: unspecified, landscape or portrait. #SupportedOrientations: portrait #CanInstallToExternalStorage: False diff --git a/B4A/Files/listitem.bal b/B4A/Files/listitem.bal new file mode 100644 index 0000000000000000000000000000000000000000..01f01e5dd3f50cad8641d57c3656cc285eed4fe2 GIT binary patch literal 2022 zcmbtV&2tn*6rVNO=t>X~P*fD;BL-O35d6f0Ol8+HvP@uENfig7Gt5Y6Ys^~Ev(Z}G! z52@vQ3Y@la5CbvB(;$A=K?lEKb=<$)THCyTY5IJ1qq%wV_?2m|wo#pam{d>Q-{pCm z^W{&I)3dkEef7)O-M^i$fBNIsLmT^U?`YjS^ZV?*AO8Gt@3(g*Pc*BO_O^SoyYpvf z|M%ZbeU7*vf|%1!+v`1j08)KPrN*z-b!t{3ozyO9t8y?{rG?*i2<^t6icD8o6G!#c zL{=6bBx+49g?eh6;Pv5NZ7vSuB-dVoXDvVW_!cqp>05!I`#Q3o>T0IRYve?iSHtkK zpJ*LTLNk#ct_HeoY$%>LR9~@Mb`#;W%uOYT1%ph(sud=(Ji&M(NQsU zMn!gpp+dcEIZ7M%czDeOw!_dJZB{y#2RkbAJ8>d0GLepFzc4|{`!Mq|*mm&C&5?Vz z^-i7M#ydwa18vdR&Rm>eifO*F1BaI4B+!YpGg22>F46MkKuZN?H5HIU-IrOiY#niu zfgmO~oyMLD0u!w~sd{-E|9Lf8=+N|1b5kbaEqD#a&0ZM`TaF{^uIV(+227RC97x9v zaXY&h8L!=3!)rHM*FITj&0k&c+HRBCa1k|z6VCf_l=4i98bjSQktXV?T@PjQ-a_kw z+mxHFzqBmNVij~aVP5xT|OSmiJ2z`e?1ytb;em#g;|M8+2NGRCH5$>o}<8BR#M^9 zBqk!fK!IC(KoV~+gmP&g_}GhJr2vf2O@#fqz)_0j6$&8d)m)%5&fkf#*T|?=UI&xX z4?-AqbSO8oqc=bkZ09gYLS{V<27@EH1*dg$1CGEWl(V3+bB11T zgB4i5LkrWs3zEqSx(xXqx84W)fWld@0;Mf@^XiT8<~a#KyaexRjyLNrIw>N-DF2#I HW{&d@2g+J) literal 0 HcmV?d00001 diff --git a/B4A/Files/mainpage.bal b/B4A/Files/mainpage.bal index f2a5461d5f635b98e5360000d7241aca34f27d52..ddd402916d60276644fc505b2f902d26b9e7c97b 100644 GIT binary patch delta 1140 zcmZvc%}*0i5WwG-ma^DdK@=_DRzaXGt+j@T5tSM>F`)?xCMKG-ecFxNZrNR0yjbGR zgb!i-77~wMjAA|L&4V{DCLW9zO>kyQ=`*p(On)=)&AfSUrhQlZJtuixjImcv z#v1WEyzHHeq_o1-l&12W#m#1Nj?I{so}E;AamrBgd2Z0wnsfcGDaFW@-wN|mSW?Mx zZ8L%nv2C}#FRfU*2|bR46oBiF@sbC<6tf+r%0A>BC`~9-MwNF8+#>KUfp-hsD)1hG z_tvv zD#OpZo6=hOiZktY6m$TK;nA zg^P^x!f;z1d}?Wg_wfWwhdQKrSPBK;_z@XtJaW4Il7lh2l0>gWBPq?JqIr~N;dP|H zw19|vn7oK;38fB&$@fs%ZfeLfc~(#XO8v&Suix(@NVNWdAczG%M35h$dW=%Par^DB zC**mG>KTg5zKnA#6a7f(B)A;zgD!8=O0Y#*g^{QqhJwxT;ixPv!gSQ{U&TE%n;v?5 knQE`5g+BwG&=5NYpM%|amvv77p2vOgazu9HKMZ~T0;c@mUjP6A delta 423 zcmYk%s|o@^7>410hFwH)J)h6#Q?Zx?*$qZPi&;dQVGV*&t00KXO&FCeR`0_L5iI^H z;ul`#`Iss5+=}bk(1~cQ5qbD*9gXefW($vt$8s{Cu58tlX*H95QB)^6+_?GT{nE=B zoR9N^1K=Py1P+5E;3zl-j{m)(#D7o{oC2r88E_Vy1Lwg7a1mVk*!=#u%%j3pxf-|* xZh)IVtAVx