From 2c44d646c0c8e0db1deef9a699cec183f47c1e3b Mon Sep 17 00:00:00 2001 From: Jose Alberto Guerra Ugalde Date: Tue, 4 Mar 2025 16:33:14 -0600 Subject: [PATCH] =?UTF-8?q?-=20VERSION=205.03.02=20-=20Se=20agreg=C3=B3=20?= =?UTF-8?q?la=20clase=20"C=5FValidador",=20que=20valida=20que=20el=20pedid?= =?UTF-8?q?o=20se=20envie=20correctamente=20y=20actualiza=20la=20columna?= =?UTF-8?q?=20PE=5FVALIDADO=20en=20Web/Pedido.=20-=20Se=20corrigio=20la=20?= =?UTF-8?q?funcion=20"Subs/TraeRuta"=20para=20que=20busque=20la=20ruta=20e?= =?UTF-8?q?n=20kmt=5Finfo=20y=20kmt=5Finfo2.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- B4A/B4XMainPage.bas | 1 + B4A/C_Cliente.bas | 24 ++++++++++-------------- B4A/C_Principal.bas | 8 +++++++- B4A/C_RespaldoDiario.bas | 3 ++- B4A/INTMEX.b4a | 25 +++++++++++++------------ B4A/INTMEX.b4a.meta | 17 ++++++++++------- B4A/Subs.bas | 2 +- 7 files changed, 44 insertions(+), 36 deletions(-) diff --git a/B4A/B4XMainPage.bas b/B4A/B4XMainPage.bas index fd26d18..2d3c31e 100644 --- a/B4A/B4XMainPage.bas +++ b/B4A/B4XMainPage.bas @@ -185,6 +185,7 @@ Private Sub B4XPage_Created (Root1 As B4XView) Subs.agregaColumna("CAT_GUNAPROD", "CAT_GP_PRECIO8", "TEXT DEFAULT '0'") Subs.agregaColumna("CAT_GUNAPROD", "CAT_GP_PRECIO9", "TEXT DEFAULT '0'") Subs.agregaColumna("CAT_GUNAPROD", "CAT_GP_PRECIO10", "TEXT DEFAULT '0'") + Subs.agregaColumna("PEDIDO_CLIENTE", "PC_GUARDADO", "TEXT DEFAULT '0'") c=skmt.ExecQuery("select COUNT(*) AS CUANTOS from HIST_STAY_OUT ") C.Position = 0 diff --git a/B4A/C_Cliente.bas b/B4A/C_Cliente.bas index 7f10d46..8a6571a 100644 --- a/B4A/C_Cliente.bas +++ b/B4A/C_Cliente.bas @@ -587,6 +587,7 @@ Sub Guardar_Click c.Position=0 ' Log("xxxxxxxxxxxxxxx " & c.GetString("CUANTOS")) If c.GetString("CUANTOS") > 0 Then ' Si hay pedido, entonces ... + Log("HAY PEDIDO") Private cbFactura As Int = 0 If cb_factura.Checked Then cbFactura = 1 B4XPages.MainPage.skmt.ExecNonQuery("delete from NOVENTA where NV_CLIENTE In (select cuenta from cuentaa)") @@ -594,9 +595,10 @@ Sub Guardar_Click B4XPages.MainPage.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, 0, cbFactura)) B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)") Log(">>>>> PONEMOS SIG TICKET") - B4XPages.MainPage.skmt.ExecNonQuery($"update pedido set PE_TICKET = ${Subs.traeTicketConsecutivo(Subs.traeCliente)} where PE_CLIENTE = '${Subs.traeCliente}' and PE_TICKET is Null"$) - + B4XPages.MainPage.skmt.ExecNonQuery($"update pedido set PE_TICKET = ${Subs.traeTicketConsecutivo(Subs.traeCliente)}, PE_GUARDADO = 1 where PE_CLIENTE IN (Select CUENTA from cuentaa) and PE_TICKET is Null"$) End If + B4XPages.MainPage.skmt.ExecNonQuery($"update pedido set PE_GUARDADO = 1 where PE_CLIENTE IN (Select CUENTA from cuentaa)"$) + B4XPages.MainPage.skmt.ExecNonQuery($"update pedido_cliente set PC_GUARDADO = 1 where PC_CLIENTE IN (Select CUENTA from cuentaa)"$) c.Close DateTime.TimeFormat = "HHmmss" sTime=DateTime.Time(DateTime.Now) @@ -623,7 +625,7 @@ Sub Guardar_Click ' LogColor($"actualizamos "${la_cuenta.text}, hora_final=${DateTime.now}"$,Colors.Red) Subs.actualizaTET(la_cuenta.text) DateTime.TimeFormat = "HH:mm:ss" - mandaPendientes 'LO COMENTAMOS PARA PRUEBAS, ACTIVAR AL FINAL!!! +' mandaPendientes 'LO COMENTAMOS PARA PRUEBAS, ACTIVAR AL FINAL!!! mandapiezas B4XPages.MainPage.productos.reiniciarlistaProds = True B4XPages.MainPage.productos.prodsMap.Initialize @@ -1291,7 +1293,7 @@ Sub JobDone(Job As HttpJob) cliente = cliente.SubString(cliente.IndexOf("_")+24) ' Log($"Cliente1:${cliente}"$) For Each records() As Object In resultado.Rows - If records(resultado.Columns.Get("AffectedRows")).As(Int) = 1 Then + If records(resultado.Columns.Get("AffectedRows")).As(Int) > 0 Then ' Log(">>>>>>>> GUARDADO") Private pars() As String = Regex.Split("_", resultado.tag) B4XPages.MainPage.skmt.ExecNonQuery($"update PEDIDO_CLIENTE set PC_ENVIO_OK = 1 where PC_CLIENTE = '${pars(3)}'"$) @@ -1309,9 +1311,7 @@ Sub JobDone(Job As HttpJob) If resultado.Tag = "piezas" Then 'query tag ' B4XPages.MainPage.picking.cl_picking.Clear Dim piezasexiste As Int - For Each records() As Object In resultado.Rows - piezasexiste = records(resultado.Columns.Get("COUNT(*)")) Log(piezasexiste) DateTime.DateFormat = "MM/dd/yyyy" @@ -1319,17 +1319,14 @@ Sub JobDone(Job As HttpJob) sDate=DateTime.Date(DateTime.Now) sTime=DateTime.Time(DateTime.Now) If piezasexiste = 0 Then - Dim PCNoArts As String Dim PCMonto As String c = skmt.ExecQuery2("SELECT * FROM PEDIDO_CLIENTE WHERE PC_CLIENTE = ?", Array As String(la_cuenta.Text)) - If c.RowCount > 0 Then c.Position = 0 PCNoArts = c.GetString("PC_NOART") PCMonto = c.GetString("PC_MONTO") End If - Dim cmd As DBCommand cmd.Initialize cmd.Name = "insert_HVC_INTMEX" @@ -1351,11 +1348,8 @@ Sub JobDone(Job As HttpJob) cmd.Name = "update_HVC_INTMEX" cmd.Parameters = Array As Object((sDate & " " & sTime), la_cuenta.Text, PCNoArts, PCMonto, ALMACEN, LA_RUTA, la_cuenta.Text, ALMACEN, LA_RUTA) reqManager.ExecuteCommand(cmd, "update_hvc") - End If Next - - End If End If @@ -1368,8 +1362,10 @@ Sub JobDone(Job As HttpJob) Log($"Cliente2:${cliente}"$) For Each records() As Object In resultado.Rows ' If records(resultado.Columns.Get("AffectedRows")).As(Int) = 1 Then Log(">>>>>>>> GUARDADO") - Private pars() As String = Regex.Split("_", resultado.tag) - B4XPages.MainPage.skmt.ExecNonQuery($"update PEDIDO set PE_ENVIO_OK = 1 where PE_CLIENTE = '${pars(3)}' and PE_PROID = '${pars(4)}' and PE_ENVIO_OK = 0"$) + If records(resultado.Columns.Get("AffectedRows")).As(Int) > 0 Then + Private pars() As String = Regex.Split("_", resultado.tag) + B4XPages.MainPage.skmt.ExecNonQuery($"update PEDIDO set PE_ENVIO_OK = 1 where PE_CLIENTE = '${pars(3)}' and PE_PROID = '${pars(4)}' and PE_ENVIO_OK = 0"$) + End If ' Log($"update PEDIDO set PE_ENVIO_OK = 1 where PE_CLIENTE = '${pars(3)}' and PE_PROID = '${pars(4)}' and PE_ENVIO_OK = 0"$) ' For Each k As String In resultado.Columns.Keys ' Log(resultado.Tag & ": " & k & ": " & records(resultado.Columns.Get(k))) diff --git a/B4A/C_Principal.bas b/B4A/C_Principal.bas index 8fb1f61..31a0253 100644 --- a/B4A/C_Principal.bas +++ b/B4A/C_Principal.bas @@ -213,6 +213,7 @@ Sub Class_Globals Private L_ABORDO As Label Private L_VENTA As Label Private L_PREVENTA As Label + Dim validador As C_Validador End Sub 'You can add more parameters here. @@ -227,6 +228,7 @@ Private Sub B4XPage_Created (Root1 As B4XView) Root.LoadLayout("principal") rd.Initialize rd.vacuum + validador.Initialize EJECUTANDO=1 Dim ruta As String img2.Visible =False @@ -533,7 +535,7 @@ Sub B4XPage_Appear ' Else ' b_abordo.Visible = True ' End If - + validador.iniciaValidacion End Sub Sub Subir_Click @@ -1957,6 +1959,10 @@ Private Sub B4XPage_CloseRequest As ResumableSub Return False End Sub +Sub connecta_LongClick + validador.iniciaValidacion +End Sub + Sub connecta_Click Log( Starter.DBReqServer) reqManager.Initialize(Me, Starter.DBReqServer) diff --git a/B4A/C_RespaldoDiario.bas b/B4A/C_RespaldoDiario.bas index 69a516b..0bc787c 100644 --- a/B4A/C_RespaldoDiario.bas +++ b/B4A/C_RespaldoDiario.bas @@ -55,6 +55,7 @@ Public Sub Initialize As Object rkmt.ExecNonQuery($"create table if not exists inventarios (cat_gp_iniciativa TEXT, cat_gp_tipoprod TEXT, cat_gp_dev TEXT, cat_gp_almacen NUMERIC, cat_gp_id TEXT, cat_gp_nombre TEXT, cat_gp_imp1 TEXT, cat_gp_imp2 TEXT, cat_gp_precio TEXT, cat_gp_clasif TEXT, cat_gp_sts TEXT, cat_gp_tipo TEXT, cat_gp_subtipo TEXT, cat_gp_tipoprod2 TEXT, fecha TEXT)"$) rkmt.ExecNonQuery($"create table if not exists paquetes (cat_dp_precio_simptos TEXT, cat_dp_precio TEXT, cat_dp_almacen TEXT, cat_dp_id TEXT, cat_dp_idprod TEXT, cat_dp_tipo TEXT, cat_dp_pzas TEXT, cat_dp_usuario TEXT, cat_dp_fecha TEXT, cat_dp_regalo TEXT, cat_dp_clasif TEXT, fecha TEXT)"$) agregaColumna("pedidos", "pe_ticket", "INT") + agregaColumna("pedidos", "pe_guardado", "TEXT") DateTime.DateFormat = "MM/dd/yyyy" fechaHoy = DateTime.Date(DateTime.Now) revisaSkmtAttached @@ -86,7 +87,7 @@ Sub respaldaPedido Log("copiando pedidos ...") rkmt.BeginTransaction rkmt.ExecNonQuery($"delete from pedidos where substr(pe_fecha, 1, 10) = '${fechaHoy}'"$) - rkmt.ExecNonQuery($"insert into pedidos (pe_folio, pe_desc, pe_costo_sin, pe_ruta, pe_cedis, pe_costo_tot, pe_costou, pe_cant, pe_pronombre, pe_proid, pe_cliente, pe_fecha, pe_usuario, pe_envio_ok, pe_ticket) select * from skmt1.pedido where substr(pe_fecha, 1, 10) = '${fechaHoy}'"$) + rkmt.ExecNonQuery($"insert into pedidos (pe_folio, pe_desc, pe_costo_sin, pe_ruta, pe_cedis, pe_costo_tot, pe_costou, pe_cant, pe_pronombre, pe_proid, pe_cliente, pe_fecha, pe_usuario, pe_envio_ok, pe_ticket, pe_guardado) select * from skmt1.pedido where substr(pe_fecha, 1, 10) = '${fechaHoy}'"$) rkmt.TransactionSuccessful 'Si no se pone TransactionSuccessful no se escribe NADA!! rkmt.EndTransaction ' Log(((DateTime.Now - inicio)/1000) & " segs") diff --git a/B4A/INTMEX.b4a b/B4A/INTMEX.b4a index b500f83..08d3dbb 100644 --- a/B4A/INTMEX.b4a +++ b/B4A/INTMEX.b4a @@ -139,17 +139,18 @@ Module17=C_Subs Module18=C_TicketsDia Module19=C_UpdateAvailable Module2=B4XMainPage -Module20=DBRequestManager -Module21=EscPosPrinter -Module22=FileHandler -Module23=ManageExternalStorage -Module24=MAPA_RUTAS -Module25=NotificationService -Module26=Pendientes -Module27=Starter -Module28=Subs -Module29=Tracker +Module20=C_Validador +Module21=DBRequestManager +Module22=EscPosPrinter +Module23=FileHandler +Module24=ManageExternalStorage +Module25=MAPA_RUTAS +Module26=NotificationService +Module27=Pendientes +Module28=Starter +Module29=Subs Module3=BatteryUtilities +Module30=Tracker Module4=C_Cliente Module5=C_Clientes Module6=C_Cuestionario @@ -158,13 +159,13 @@ Module8=C_Mapas Module9=C_Nota NumberOfFiles=46 NumberOfLibraries=34 -NumberOfModules=29 +NumberOfModules=30 Version=12.8 @EndOfDesignText@ #Region Project Attributes #ApplicationLabel: Intmex #VersionCode: 1 - #VersionName: 4.11.30.MV + #VersionName: 5.03.02.MV 'SupportedOrientations possible values: unspecified, landscape or portrait. #SupportedOrientations: portrait #CanInstallToExternalStorage: False diff --git a/B4A/INTMEX.b4a.meta b/B4A/INTMEX.b4a.meta index 1a10eb4..de3b302 100644 --- a/B4A/INTMEX.b4a.meta +++ b/B4A/INTMEX.b4a.meta @@ -22,6 +22,7 @@ ModuleBookmarks27= ModuleBookmarks28= ModuleBookmarks29= ModuleBookmarks3= +ModuleBookmarks30= ModuleBookmarks4= ModuleBookmarks5= ModuleBookmarks6= @@ -52,6 +53,7 @@ ModuleBreakpoints27= ModuleBreakpoints28= ModuleBreakpoints29= ModuleBreakpoints3= +ModuleBreakpoints30= ModuleBreakpoints4= ModuleBreakpoints5= ModuleBreakpoints6= @@ -63,7 +65,7 @@ ModuleClosedNodes1= ModuleClosedNodes10= ModuleClosedNodes11= ModuleClosedNodes12= -ModuleClosedNodes13= +ModuleClosedNodes13=3 ModuleClosedNodes14=11 ModuleClosedNodes15=1,10,11 ModuleClosedNodes16= @@ -75,19 +77,20 @@ ModuleClosedNodes20= ModuleClosedNodes21= ModuleClosedNodes22= ModuleClosedNodes23= -ModuleClosedNodes24=2 -ModuleClosedNodes25= -ModuleClosedNodes26=1 -ModuleClosedNodes27= +ModuleClosedNodes24= +ModuleClosedNodes25=2 +ModuleClosedNodes26= +ModuleClosedNodes27=1 ModuleClosedNodes28= ModuleClosedNodes29= ModuleClosedNodes3= +ModuleClosedNodes30= ModuleClosedNodes4=4 ModuleClosedNodes5=3 ModuleClosedNodes6= ModuleClosedNodes7= ModuleClosedNodes8= ModuleClosedNodes9= -NavigationStack=B4XMainPage,ocultaProgreso,689,0,C_Productos,Busca_TextChanged,1062,6,B4XMainPage,B4XPage_Created,171,3,C_Principal,JobDone,1058,3,C_Principal,cargar_Click,930,0,C_Productos,clv_prods_ll_VisibleRangeChanged,1041,2,C_Productos,B4XPage_Appear,230,0,C_Productos,PCLV_HintRequested,1185,0,C_Productos,LlenaProdsLL,1162,6,Main,Globals,25,0 +NavigationStack=C_RespaldoDiario,Initialize,51,0,C_RespaldoDiario,agregaColumna,127,0,C_Validador,timerValidador_Tick,47,6,C_Validador,iniciaValidacion,34,6,Subs,totalPedido,702,0,Subs,traeRuta,707,6,C_Principal,cargar_Click,890,0,C_Validador,Class_Globals,5,0,C_Validador,Initialize,21,0,B4XMainPage,B4XPage_Created,180,0,C_Principal,JobDone,1558,0 SelectedBuild=0 -VisibleModules=2,27,13,14,4,28,15,16,18,20 +VisibleModules=2,28,13,14,4,20,29,15,16,18 diff --git a/B4A/Subs.bas b/B4A/Subs.bas index 164ba93..7b0b065 100644 --- a/B4A/Subs.bas +++ b/B4A/Subs.bas @@ -711,7 +711,7 @@ End Sub Sub traeRuta As String 'ignore Private c As Cursor Private r As String - c=B4XPages.MainPage.skmt.ExecQuery("select CAT_CL_RUTA from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)") + c = B4XPages.MainPage.skmt.ExecQuery("select CAT_CL_RUTA from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa) union select CAT_CL_RUTA from kmt_info2 where CAT_CL_CODIGO In (Select cuenta from cuentaa)") ' Agregamos la union con kmt_info2 porque si el cliente de la venta SOLO esta en kmt_info2, regresaría 0. r = "0" If c.RowCount > 0 Then c.Position=0