From 831bec62fc83c16a46f02f89d07baa8f84a5cf32 Mon Sep 17 00:00:00 2001 From: Jose Alberto Guerra Ugalde Date: Wed, 18 Mar 2026 10:53:45 -0600 Subject: [PATCH] Version 5.11.25 --- .gitignore | 3 +- B4A/B4XMainPage.bas | 647 +++++- B4A/C_Durakelo.bas | 12 +- B4A/C_Durakelo_Reparto.bas | 88 + B4A/C_Envios.bas | 10 +- B4A/C_Intmex.bas | 16 +- B4A/C_Intmex_Reparto.bas | 253 +++ B4A/C_Izca.bas | 425 ++++ B4A/C_Kelloggs.bas | 400 ++++ B4A/C_Marquez_Reparto.bas | 235 ++ B4A/C_Mazapa.bas | 43 +- B4A/C_Mazapa_Reparto.bas | 329 +++ B4A/C_Profina.bas | 301 +++ B4A/C_Profina_Reparto.bas | 282 +++ B4A/DBCheck.b4a | 29 +- B4A/DBCheck.b4a.meta | 47 +- B4A/Files/mainpage.bal | Bin 27383 -> 37530 bytes B4A/Subs.bas | 57 + B4A/_DBCheck_Completo.txt | 4285 ++++++++++++++++++++++++++++++++++++ B4A/_juntaBas.ps1 | 43 + C_Guna_Reparto.bas | 240 ++ C_Marquez.bas | 12 +- 22 files changed, 7642 insertions(+), 115 deletions(-) create mode 100644 B4A/C_Durakelo_Reparto.bas create mode 100644 B4A/C_Intmex_Reparto.bas create mode 100644 B4A/C_Izca.bas create mode 100644 B4A/C_Kelloggs.bas create mode 100644 B4A/C_Marquez_Reparto.bas create mode 100644 B4A/C_Mazapa_Reparto.bas create mode 100644 B4A/C_Profina.bas create mode 100644 B4A/C_Profina_Reparto.bas create mode 100644 B4A/_DBCheck_Completo.txt create mode 100644 B4A/_juntaBas.ps1 create mode 100644 C_Guna_Reparto.bas diff --git a/.gitignore b/.gitignore index af94e9d..618d244 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ **/Objects -**/AutoBackups \ No newline at end of file +**/AutoBackups +*.meta \ No newline at end of file diff --git a/B4A/B4XMainPage.bas b/B4A/B4XMainPage.bas index b2fb641..7295b48 100644 --- a/B4A/B4XMainPage.bas +++ b/B4A/B4XMainPage.bas @@ -20,6 +20,21 @@ Version=9.85 '########################################################################################################### #End Region +'Faltan: +' - Venta: Izca, Kelloggs, Profina, (Danvit y Salma no tienen forma de enviar la base de datos) +' - Reparto: Guna, Intmex, Durakelo, Profina, Marquez, Mazapa, Izca + +'Reparto: +'HIST_VENTAS - Son los pedidos que el repartidor tiene que entregar. +'kmt_info - Cientes. +'NOVENTA - Cuantos entregados y cuantos no entregados. +'PAGARES - Pagares Nuevos. +'ABONOS_P - Pagares pendientes de cobro. +'ABONOS - Pagos realizados de pagares de ABONOS_P. +'PEDIDO - Ventas de rechazo (si hubo rechazo y se vendió, ahi aparece). +'PEDIDO_CLIENTE - Igual que pedido (solo encabezado de la venta). +'REPARTO - + 'Ctrl + click ide://run?file=%WINDIR%\System32\cmd.exe&Args=/c&Args=github&Args=..\..\ Sub Class_Globals @@ -29,7 +44,7 @@ Sub Class_Globals Dim b_enviar As Button Dim ime As IME Dim skmt As SQL - Dim reqManager As DBRequestManager + Dim reqManager, thisReq As DBRequestManager Dim cmd As DBCommand Dim l_pedidos2 As Label Dim l_diasVenta As Label @@ -83,13 +98,38 @@ Sub Class_Globals Dim i_progress As B4XGifView Dim in As Intent Dim intentUsado As Boolean = False + Dim Guna_Reparto As C_Guna_Reparto + Dim Intmex_Reparto As C_Intmex_Reparto + Dim Marquez_Reparto As C_Marquez_Reparto + Dim Durakelo_Reparto As C_Durakelo_Reparto + Dim Profina_Reparto As C_Profina_Reparto + Dim Mazapa_Reparto As C_Mazapa_Reparto Dim Intmex As C_Intmex + Dim Kelloggs As C_Kelloggs + Dim Izca As C_Izca Dim Durakelo As C_Durakelo Dim Marquez As C_Marquez Dim Mazapa As C_Mazapa + Dim Profina As C_Profina Private l_version0 As Label Private b_guardaRutaTodos As Button Private b_guardaRuta As Button + Private p_datos_reparto As Panel + Dim tipoApp As String + Private l_ctast As Label + Private l_porvisitar As Label + Private Label9 As Label + Private l_e As Label + Private l_cuantosc As Label + Private l_r As Label + Private l_cuantosn As Label + Private L_MONTOE As Label + Private l_rechazo As Label + Private l_pagarescobrados As Label + Private l_pagaresnuevos As Label + Private l_montoaliquidar As Label + Private l_rutasP As Label + Private l_rutaRep As Label End Sub Public Sub Initialize @@ -108,7 +148,7 @@ Sub B4XPage_Created (Root1 As B4XView) Subs.centraPanel(p_datos, Root.Width) Subs.centraPanel(p_validacion, Root.Width) p_validacion.Top = l_diasVenta.Top - reqManager.Initialize(Me, "http://keymon.lat:1781") + reqManager.Initialize(Me, "http://keymon.net:1781") B4XPages.SetTitle(Me, "Revisión de BD") Subs.centraPanel(p_progressDialog, Root.Width) Subs.centraPanel(p_editaRuta, Root.Width) @@ -116,25 +156,43 @@ Sub B4XPage_Created (Root1 As B4XView) Subs.centraPanel(p_editaUsuario, Root.Width) Subs.centraPanel(p_clientes, Root.Width) ime.Initialize("ime") - lv_DBRServer.AddSingleLine("http://keymon.lat:1781") - lv_DBRServer.AddSingleLine("http://keymon.lat:1782") - lv_DBRServer.AddSingleLine("http://192.99.93.204:1782") - et_server.Text = "http://keymon.lat:1781" + lv_DBRServer.AddSingleLine("http://keymon.net:1781") +' lv_DBRServer.AddSingleLine("http://keymon.net:1782") + lv_DBRServer.AddSingleLine("http://keymon.net:1782") + et_server.Text = "http://keymon.net:1781" B_SERVER.Left = (Root.Width / 2) - (B_SERVER.Width / 2) 'Centramos B_SERVER et_server.Left = (Root.Width / 2) - (et_server.Width / 2) 'Centramos et_server lv_DBRServer.Left = (Root.Width / 2) - (lv_DBRServer.Width / 2) 'Centramos lv_DBRServer sp_empresa.Add("------------") sp_empresa.Add("Durakelo") sp_empresa.Add("Guna") + sp_empresa.Add("Guna_Reparto") + sp_empresa.Add("Durakelo_Reparto") sp_empresa.Add("Intmex") + sp_empresa.Add("Intmex_Reparto") + sp_empresa.Add("Mazapa_Reparto") + sp_empresa.Add("Marquez_Reparto") + sp_empresa.Add("Profina_Reparto") + sp_empresa.Add("Izca") + sp_empresa.Add("Kelloggs") sp_empresa.Add("Mariana") sp_empresa.Add("Marquez") sp_empresa.Add("Mazapa") + sp_empresa.Add("Profina") i_engrane.Left = Root.Width - i_engrane.Width - 5dip Intmex.Initialize + Kelloggs.Initialize + Guna_Reparto.Initialize + Intmex_Reparto.Initialize + Mazapa_Reparto.Initialize + Marquez_Reparto.Initialize + Durakelo_Reparto.Initialize + Profina_Reparto.Initialize + Izca.Initialize Durakelo.Initialize Marquez.Initialize Mazapa.Initialize + Profina.Initialize End Sub 'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. @@ -203,65 +261,26 @@ Sub B4XPage_Appear Log(LastException) LogColor("Error en CAT_VARIABLES", Colors.red) End Try - Try - 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 - l_pedidos2.Text = c.GetString("pedidos") - l_diasVenta.Text = "N/A" - If c.GetString("diasVenta") <> Null Then l_diasVenta.Text = c.GetString("diasVenta") - If c.GetString("diasVenta").Length > 2 Then - l_diasVenta.TextColor = Colors.Red - Else - l_diasVenta.TextColor = Colors.Black - End If - If c.GetString("total") <> Null Then l_totalVenta.Text = "$" & NumberFormat2(c.GetString("total"), 1, 2, 2, True) Else l_totalVenta.Text = "0" - l_cantsEnCero.Text = "0" - If c.GetString("cantsEnCero") <> Null Then l_cantsEnCero.Text = c.GetString("cantsEnCero") - l_clienteNoNumerico.Text = c.GetString("clienteNoNumerico") - End If - c.Close - Catch - Log(LastException) - LogColor("Error en PEDIDO", Colors.red) - End Try - Try - Dim c As Cursor = skmt.ExecQuery("select pe_ruta from pedido") - If c.RowCount > 0 Then - c.Position = 0 - ruta = c.GetString("PE_RUTA") - l_ruta2.Text = ruta - End If - c.Close - Catch - Log(LastException) - LogColor("Error en PEDIDO", Colors.red) - End Try - Try - Dim c As Cursor = skmt.ExecQuery("select USUARIO from usuarioa") - If c.RowCount > 0 Then - c.Position = 0 - usuario = c.GetString("USUARIO") - l_usuario2.Text = usuario - End If - c.Close - Catch - Log(LastException) - LogColor("Error en USUARIOA", Colors.red) - End Try - Try - Dim c As Cursor = skmt.ExecQuery("select ID_ALMACEN from cat_almacen") - If c.RowCount > 0 Then - c.Position = 0 - almacen = c.GetString("ID_ALMACEN") - l_almacen2.Text = almacen - End If - c.Close - Catch - Log(LastException) - LogColor("Error en CAT_ALMACEN", Colors.red) - End Try + If empresa.ToUpperCase.Contains("REPARTO") Then + p_datos_reparto.Top = p_datos.Top + p_datos_reparto.Left = p_datos.Left + p_datos_reparto.BringToFront + p_datos_reparto.Visible = True + tipoApp = "REPARTO" + Else + tipoApp = "VENTA" + p_datos_reparto.Visible = False + End If + If tipoApp = "VENTA" Then + leeInfoVenta + Else + p_datos_reparto.Top = p_datos.Top + 20dip + p_datos_reparto.Left = p_datos.Left + p_datos_reparto.BringToFront + p_datos_reparto.Visible = True + i_engrane.BringToFront + leeInfoReparto + End If End If Try usuario = Subs.traeUsuarioDeBD @@ -285,11 +304,51 @@ Sub B4XPage_Appear b_valida.Text = "Validar Guna" b_enviar.Enabled = True Log("Cargamos GUNA") + else if empresa.ToUpperCase.Contains("GUNA_REPARTO") Then + b_enviar.Text = "Enviar Guna_Reparto" + b_valida.Text = "Validar Guna_Reparto" + b_enviar.Enabled = True + Log("Cargamos Guna_Reparto") + else if empresa.ToUpperCase.Contains("INTMEX_REPARTO") Then + b_enviar.Text = "Enviar Intmex_Reparto" + b_valida.Text = "Validar Intmex_Reparto" + b_enviar.Enabled = True + Log("Cargamos Intmex_Reparto") + else if empresa.ToUpperCase.Contains("MARQUEZ_REPARTO") Then + b_enviar.Text = "Enviar Marquez_Reparto" + b_valida.Text = "Validar Marquez_Reparto" + b_enviar.Enabled = True + Log("Cargamos Marquez_Reparto") + else if empresa.ToUpperCase.Contains("MAZAPA_REPARTO") Then + b_enviar.Text = "Enviar Mazapa_Reparto" + b_valida.Text = "Validar Mazapa_Reparto" + b_enviar.Enabled = True + Log("Cargamos Mazapa_Reparto") + else if empresa.ToUpperCase.Contains("DURAKELO_REPARTO") Then + b_enviar.Text = "Enviar Durakelo_Reparto" + b_valida.Text = "Validar Durakelo_Reparto" + b_enviar.Enabled = True + Log("Cargamos Durakelo_Reparto") + else if empresa.ToUpperCase.Contains("PROFINA_REPARTO") Then + b_enviar.Text = "Enviar Profina_Reparto" + b_valida.Text = "Validar Profina_Reparto" + b_enviar.Enabled = True + Log("Cargamos Profina_Reparto") else if empresa.ToUpperCase.Contains("INTMEX") Then b_enviar.Text = "Enviar Intmex" b_valida.Text = "Validar Intmex" b_enviar.Enabled = True Log("Cargamos INTMEX") + else if empresa.ToUpperCase.Contains("KELLOGGS") Then + b_enviar.Text = "Enviar Kelloggs" + b_valida.Text = "Validar Kelloggs" + b_enviar.Enabled = True + Log("Cargamos KELLOGGS") + else if empresa.ToUpperCase.Contains("IZCA") Then + b_enviar.Text = "Enviar Izca" + b_valida.Text = "Validar Izca" + b_enviar.Enabled = True + Log("Cargamos IZCA") else if empresa.ToUpperCase.Contains("DURAKELO") Then b_enviar.Text = "Enviar Durakelo" b_valida.Text = "Validar Durakelo" @@ -305,12 +364,313 @@ Sub B4XPage_Appear b_valida.Text = "Validar Mazapa" b_enviar.Enabled = True Log("Cargamos MAZAPA") + else if empresa.ToUpperCase.Contains("PROFINA") Then + b_enviar.Text = "Enviar Profina" + b_valida.Text = "Validar Profina" + b_enviar.Enabled = True + Log("Cargamos PROFINA") Else p_empresa.Visible = True b_enviar.Enabled = False End If End Sub +Sub leeInfoVenta + Try + 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 + l_pedidos2.Text = c.GetString("pedidos") + l_diasVenta.Text = "N/A" + If c.GetString("diasVenta") <> Null Then l_diasVenta.Text = c.GetString("diasVenta") + If c.GetString("diasVenta").Length > 2 Then + l_diasVenta.TextColor = Colors.Red + Else + l_diasVenta.TextColor = Colors.Black + End If + If c.GetString("total") <> Null Then l_totalVenta.Text = "$" & NumberFormat2(c.GetString("total"), 1, 2, 2, True) Else l_totalVenta.Text = "0" + l_cantsEnCero.Text = "0" + If c.GetString("cantsEnCero") <> Null Then l_cantsEnCero.Text = c.GetString("cantsEnCero") + l_clienteNoNumerico.Text = c.GetString("clienteNoNumerico") + End If + c.Close + Catch + Log(LastException) + LogColor("Error en PEDIDO", Colors.red) + End Try + Try + Dim c As Cursor = skmt.ExecQuery("select pe_ruta from pedido") + If c.RowCount > 0 Then + c.Position = 0 + ruta = c.GetString("PE_RUTA") + l_ruta2.Text = ruta + End If + c.Close + Catch + Log(LastException) + LogColor("Error en PEDIDO", Colors.red) + End Try + Try + Dim c As Cursor = skmt.ExecQuery("select USUARIO from usuarioa") + If c.RowCount > 0 Then + c.Position = 0 + usuario = c.GetString("USUARIO") + l_usuario2.Text = usuario + End If + c.Close + Catch + Log(LastException) + LogColor("Error en USUARIOA", Colors.red) + End Try + Try + Dim c As Cursor = skmt.ExecQuery("select ID_ALMACEN from cat_almacen") + If c.RowCount > 0 Then + c.Position = 0 + almacen = c.GetString("ID_ALMACEN") + l_almacen2.Text = almacen + End If + c.Close + Catch + Log(LastException) + LogColor("Error en CAT_ALMACEN", Colors.red) + End Try +End Sub + +Sub leeInfoReparto + Private rescant As String + Private totalcantped As String + Private rescant2 As Double = 0 + Dim f As Cursor = skmt.ExecQuery("select rutaa from rutaa") + If f.RowCount > 0 Then + f.Position = 0 + l_rutaRep.Text = f.GetString("RUTAA") + End If + f = skmt.ExecQuery("select distinct CAT_CL_RUTA from kmt_info WHERE CAT_CL_RUTA <> 1000 order by CAT_CL_RUTA") + l_rutasP.Text = "" + For i = 0 To f.RowCount - 1 + f.Position = i + If i = 0 Then + l_rutasP.Text = f.GetString("CAT_CL_RUTA") + Else + l_rutasP.Text = l_rutasP.Text & ", " & f.GetString("CAT_CL_RUTA") + End If + Next + f.Close + + ActualizarEtiquetasReparto +End Sub + +' Esta subrutina calcula y actualiza las etiquetas de totales en la página principal. +Sub ActualizarEtiquetasReparto + ' --- Declaraciones de variables para cálculos --- + Private r5 As Cursor + Private r6 As Cursor + Private r55 As Cursor + Private r5r As Cursor + Private r6r As Cursor + Private rescant As String = 0 + Private rescant2 As Double = 0 + Private rescant3 As Double = 0 + Private rescant4 As Double = 0 + Private rescant5 As Double = 0 + Private rescant6 As Double = 0 + Private rescant7 As Double = 0 + + Dim b As Cursor = skmt.ExecQuery("Select count(*) as CUANTOS from pedido_cliente") + b.Position=0 + Private Cuantos As String = b.GetString("CUANTOS") + Dim d As Cursor = skmt.ExecQuery("select count(distinct(CAT_CL_NOMBRE)) as TOTAL_VISITAR from kmt_info where gestion = 0 AND CAT_CL_RUTA <> 1000") + D.Position=0 + Dim e As Cursor = skmt.ExecQuery("select COUNT(distinct(CAT_CL_NOMBRE)) as POR_VISITAR from kmt_info WHERE CAT_CL_RUTA <> 1000") + e.Position=0 + Log(Cuantos) + If Cuantos = 0 Then + l_cuantosc.Text = 0 + l_cuantosn.Text = 0 + l_ctast.Text = d.GetString("TOTAL_VISITAR") + l_porvisitar.Text = e.GetString("POR_VISITAR") + End If + b = skmt.ExecQuery("select count(DISTINCT NV_CLIENTE) as CUANTOS from noventa where nv_motivo <> 'ENTREGA' and NV_CLIENTE <> 63403") + l_cuantosn.Text = 0 + b.Position = 0 + If b.RowCount > 0 Then l_cuantosn.Text = b.GetString("CUANTOS") + b.Close + Dim L As Cursor = skmt.ExecQuery("select count(DISTINCT NV_CLIENTE) as CLIENTES_DIA from noventa where nv_motivo = 'ENTREGA' and NV_CLIENTE <> 63403") + L.Position = 0 + If L.RowCount > 0 Then l_cuantosc.Text = L.GetString("CLIENTES_DIA") + + ' --- Cálculo de l_rechazo y L_MONTOE --- + + ' Cálculo de rescant (Rechazos Cajas=0) + Try + r5 = skmt.ExecQuery($"select IFNULL(HVD_COSTO_TOT,0) AS HVD_COSTO_TOT, IFNULL(HVD_CANT,0) AS HVD_CANT, IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT, HVD_PROID, HVD_CLIENTE, CONSECUTIVO from HIST_VENTAS where HVD_RECHAZO = '1' and BCAJAS = '0' ORDER BY HVD_PROID "$) + rescant = 0 + If r5.RowCount > 0 Then + For j4 = 0 To r5.RowCount -1 + r5.Position = j4 + Private r6 As Cursor = skmt.ExecQuery($"select IFNULL(SUM(PE_CANT),0) AS PE_CANT from PEDIDO where PE_CLIENTEOR = '${r5.GetString("HVD_CLIENTE")}' AND PE_PROID = '${r5.GetString("HVD_PROID")}' AND CONSECUTIVO = '${r5.GetString("CONSECUTIVO")}' "$) + Dim totalcantped As String + If r6.RowCount > 0 Then + r6.Position = 0 + totalcantped = r6.GetString("PE_CANT") + Else + totalcantped = 0 + End If + Log(r5.GetString("HVD_RECHAZOCANT") &" - "& totalcantped) + rescant = rescant + ((r5.GetString("HVD_COSTO_TOT")/(r5.GetString("HVD_CANT")))*((r5.GetString("HVD_RECHAZOCANT") - totalcantped))) + r6.Close + Next + End If + If rescant = "NaN" Then rescant = 0 + r5.Close + Catch + ToastMessageShow("Falta columna HVD_RECHAZO_CANT", False) + Log(LastException) + End Try + + Try + ' Cálculo de rescant2 (Rechazos Cajas=1) + r5 = skmt.ExecQuery($"select IFNULL(HVD_COSTO_TOT,0) AS HVD_COSTO_TOT, IFNULL(HVD_CANT,0) AS HVD_CANT,IFNULL(CANTC,0) AS CANTC, IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT, HVD_PROID, HVD_CLIENTE, CONSECUTIVO from HIST_VENTAS where HVD_RECHAZO = '1' and BCAJAS = '1' "$) + rescant2 = 0 + If r5.RowCount > 0 Then + For j5 = 0 To r5.RowCount -1 + r5.Position = j5 + Private r6 As Cursor = skmt.ExecQuery($"select IFNULL(SUM(PE_CANT),0) AS PE_CANT from PEDIDO where PE_CLIENTEOR = '${r5.GetString("HVD_CLIENTE")}' AND PE_PROID = '${r5.GetString("HVD_PROID")}' AND CONSECUTIVO = '${r5.GetString("CONSECUTIVO")}'"$) + r6.Position = 0 + rescant2 = rescant2 + ((r5.GetString("HVD_COSTO_TOT")/(r5.GetString("CANTC")))*((r5.GetString("HVD_RECHAZOCANT") - r6.GetString("PE_CANT"))/Subs.traeConversion(r5.GetString("HVD_PROID")))) + rescant2 = NumberFormat2(rescant2, 0, 2, 2, False) + r6.Close + Next + End If + If rescant2 = "NaN" Then rescant2 = 0 + Log(rescant2) + r5.Close + Catch + ToastMessageShow("Falta columna CANTC", False) + Log(LastException) + End Try + + + ' Asignación de l_rechazo + l_rechazo.text = NumberFormat2((rescant + rescant2),0,2,2,False) + + Try + ' Cálculo de rescant3 (Entregado Cajas=0) + Private r55 As Cursor = skmt.ExecQuery($"select HVD_COSTO_TOT from HIST_VENTAS where HVD_RECHAZO = '0' and BCAJAS = '0' "$) + rescant3 = 0 + If r55.RowCount > 0 Then + For r75 = 0 To r55.RowCount -1 + r55.Position = r75 + rescant3 = rescant3 + r55.GetString("HVD_COSTO_TOT") + rescant3 = NumberFormat2(rescant3, 0, 2, 2, False) + Next + End If + r55.Close + Catch + Log(LastException) + ToastMessageShow("Falta columna BCAJAS", False) + End Try + + Try + ' Cálculo de rescant4 (Entregado Cajas=1) + r5 = skmt.ExecQuery($"select IFNULL(SUM(HVD_COSTO_TOT),0) AS HVD_COSTO_TOT from HIST_VENTAS where HVD_RECHAZO = '0' and BCAJAS = '1' "$) + rescant4 = 0 + If r5.RowCount > 0 Then + r5.Position = 0 + rescant4 = r5.GetString("HVD_COSTO_TOT") + End If + Log(rescant4) + r5.Close + Catch + Log(LastException) + ToastMessageShow("Falta columna BCAJAS", False) + End Try + + + ' Cálculo de rescant5 (Venta nueva en PEDIDO) + r5 = skmt.ExecQuery($"select IFNULL(SUM(PE_COSTO_TOT),0) AS PE_COSTO_TOT from PEDIDO "$) + rescant5 = 0 + If r5.RowCount > 0 Then + r5.Position = 0 + rescant5 = r5.GetString("PE_COSTO_TOT") + End If + Log(rescant5) + r5.Close + + Try + ' Cálculo de rescant6 (Entregado parcial Cajas=0) + r5 = skmt.ExecQuery($"select IFNULL(HVD_COSTO_TOT,0) AS HVD_COSTO_TOT, IFNULL(HVD_CANT,0) AS HVD_CANT, IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT, HVD_PROID, HVD_CLIENTE, CONSECUTIVO from HIST_VENTAS where HVD_RECHAZO = '1' and BCAJAS = '0' "$) + rescant6 = 0 + If r5.RowCount > 0 Then + For j4 = 0 To r5.RowCount -1 + r5.Position = j4 + Private r6 As Cursor = skmt.ExecQuery($"select IFNULL(SUM(PE_CANT),0) AS PE_CANT from PEDIDO where PE_CLIENTEOR = '${r5.GetString("HVD_CLIENTE")}' AND PE_PROID = '${r5.GetString("HVD_PROID")}' AND CONSECUTIVO = '${r5.GetString("CONSECUTIVO")}' "$) + r6.Position = 0 + rescant6 = rescant6 + ((r5.GetString("HVD_COSTO_TOT")/(r5.GetString("HVD_CANT")))*(r5.GetString("HVD_CANT")- r5.GetString("HVD_RECHAZOCANT"))) + r6.Close + Next + End If + If rescant6 = "NaN" Then rescant6 = 0 + LogColor(rescant6,Colors.Red) + r5.Close + Catch + Log(LastException) + ToastMessageShow("Falta columna HVD_CANT", False) + End Try + + Try + ' Cálculo de rescant7 (Entregado parcial Cajas=1) + r5 = skmt.ExecQuery($"select IFNULL(HVD_COSTO_TOT,0) AS HVD_COSTO_TOT, IFNULL(HVD_CANT,0) AS HVD_CANT,IFNULL(CANTC,0) AS CANTC, IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT, HVD_PROID, HVD_CLIENTE, CONSECUTIVO from HIST_VENTAS where HVD_RECHAZO = '1' and BCAJAS = '1' "$) + rescant7 = 0 + If r5.RowCount > 0 Then + For j5 = 0 To r5.RowCount -1 + r5.Position = j5 + Private r6 As Cursor = skmt.ExecQuery($"select IFNULL(SUM(PE_CANT),0) AS PE_CANT from PEDIDO where PE_CLIENTEOR = '${r5.GetString("HVD_CLIENTE")}' AND PE_PROID = '${r5.GetString("HVD_PROID")}' AND CONSECUTIVO = '${r5.GetString("CONSECUTIVO")}'"$) + r6.Position = 0 + rescant7 = rescant7 + ((r5.GetString("HVD_COSTO_TOT")/(r5.GetString("CANTC")))*((r5.GetString("HVD_CANT") - r5.GetString("HVD_RECHAZOCANT") )/Subs.traeConversion(r5.GetString("HVD_PROID")))) + r6.Close + Next + End If + If rescant7 = "NaN" Then rescant7 = 0 + Log(rescant7) + r5.Close + Catch + Log(LastException) + End Try + + + ' Asignación de L_MONTOE (Monto Entregado) + L_MONTOE.Text = NumberFormat2((rescant3 + rescant4 + rescant5 + rescant6 + rescant7),0,2,2,False) + Try + ' --- Cálculo de l_pagarescobrados --- + Dim pagarescobrados As Cursor = skmt.ExecQuery("SELECT IfNull(SUM(a_abono),0) as a_abono FROM ABONOS") + pagarescobrados.Position = 0 + l_pagarescobrados.Text = NumberFormat2(pagarescobrados.GetDouble("a_abono"),0,2,2,False) + pagarescobrados.Close + Catch + Log(LastException) + ToastMessageShow("Falta tabla ABONOS", False) + End Try + Try + ' --- Cálculo de l_pagaresnuevos --- + Dim pagaresnuevos As Cursor = skmt.ExecQuery("SELECT IfNull(SUM(PA_MONTO),0) as PA_MONTO FROM PAGARES") + pagaresnuevos.Position = 0 + l_pagaresnuevos.Text = NumberFormat2(pagaresnuevos.GetDouble("PA_MONTO"),0,2,2,False) + pagaresnuevos.Close + Catch + Log(LastException) + ToastMessageShow("Falta columna PA_MONTO", False) + End Try + Try + ' --- Cálculo de l_montoaliquidar --- + l_montoaliquidar.Text = NumberFormat2((l_pagarescobrados.Text+ L_MONTOE.Text - l_pagaresnuevos.Text),0,2,2,False) + Catch + Log(LastException) + ToastMessageShow("Campo de pagares en blanco", False) + End Try +End Sub + Sub b_enviar_Click Dim resultado = Msgbox2("Se va a enviar la venta de la BD", "AVISO", "Continuar", "Cancelar", "", Null) 'ignore If resultado = DialogResponse.POSITIVE Then @@ -323,14 +683,45 @@ Sub b_enviar_Click envioMariana else if empresa.ToUpperCase.Contains("GUNA") Then envioGuna + else if empresa.ToUpperCase.Contains("GUNA_REPARTO") Then +' envioGuna_Reparto + Guna_Reparto.ConfigurarYEnviar("http://keymon.net:1782") + else if empresa.ToUpperCase.Contains("INTMEX_REPARTO") Then +' envioGuna_Reparto + Intmex_Reparto.ConfigurarYEnviar("http://keymon.net:1781") + else if empresa.ToUpperCase.Contains("MARQUEZ_REPARTO") Then +' envioGuna_Reparto + Marquez_Reparto.ConfigurarYEnviar("http://keymon.net:1781") + else if empresa.ToUpperCase.Contains("MAZAPA_REPARTO") Then +' envioGuna_Reparto + Mazapa_Reparto.ConfigurarYEnviar("http://keymon.net:1781") + else if empresa.ToUpperCase.Contains("DURAKELO_REPARTO") Then +' envioGuna_Reparto + Durakelo_Reparto.ConfigurarYEnviar("http://keymon.net:1781") else if empresa.ToUpperCase.Contains("INTMEX") Then - envioIntmex + Intmex.ConfigurarYEnviar("http://keymon.net:1781") +' envioIntmex + else if empresa.ToUpperCase.Contains("KELLOGGS") Then + Kelloggs.ConfigurarYEnviar("http://keymon.net:1781") +' envioKelloggs + Kelloggs.ConfigurarYEnviar("http://keymon.net:1781") + else if empresa.ToUpperCase.Contains("IZCA") Then +' envioIzca + Izca.ConfigurarYEnviar("http://keymon.net:1781") else if empresa.ToUpperCase.Contains("DURAKELO") Then envioDurakelo else if empresa.ToUpperCase.Contains("MARQUEZ") Then - envioMarquez +' envioMarquez + Marquez.ConfigurarYEnviar("http://keymon.net:1781") else if empresa.ToUpperCase.Contains("MAZAPA") Then - envioMazapa +' envioMazapa + Mazapa.ConfigurarYEnviar("http://keymon.net:1781") + else if empresa.ToUpperCase.Contains("PROFINA") Then +' envioProfina + Profina.ConfigurarYEnviar("http://keymon.net:1781") + else if empresa.ToUpperCase.Contains("PROFINA_REPARTO") Then +' envioProfina + Profina_Reparto.ConfigurarYEnviar("http://keymon.net:1781") End If ' Sleep(5000) End If @@ -338,6 +729,7 @@ Sub b_enviar_Click End Sub Sub JobDone(Job As HttpJob) + Log("JOBDONE MAINPAGE") If reqManager.reqsList.IsInitialized Then 'Si tenemos lista de requests, la procesamos. If reqManager.reqsList.IndexOf(Job.tag) <> -1 Then reqManager.reqsList.RemoveAt(reqManager.reqsList.IndexOf(Job.tag)) @@ -603,6 +995,17 @@ Private Sub sp_empresa_ItemClick (Position As Int, Value As Object) b_enviar.Enabled = False b_valida.Enabled = False End If + If Value.As(String).ToUpperCase.Contains("REPARTO") Then + p_datos_reparto.Top = p_datos.Top + 20dip + p_datos_reparto.Left = p_datos.Left + p_datos_reparto.BringToFront + p_datos_reparto.Visible = True + i_engrane.BringToFront + leeInfoReparto + Else + p_datos_reparto.Visible = False + leeInfoVenta + End If Log(Value) End Sub @@ -731,10 +1134,38 @@ Sub envioMariana 'ignore ' reqManager.ExecuteCommand(cmd , "inst_noventa") End Sub +Sub envioGuna_Reparto 'ignore + Guna_Reparto.envia +End Sub + Sub envioIntmex 'ignore Intmex.envia End Sub +Sub envioDurakeloReparto 'ignore + Durakelo_Reparto.envia +End Sub + +Sub envioIntmexReparto 'ignore + Intmex_Reparto.envia +End Sub + +Sub envioMarquezReparto 'ignore + Marquez_Reparto.envia +End Sub + +Sub envioMazapaReparto 'ignore + Mazapa_Reparto.envia +End Sub + +Sub envioKelloggs 'ignore + Kelloggs.envia +End Sub + +Sub envioIzca 'ignore + Izca.envia +End Sub + Sub envioDurakelo 'ignore Durakelo.envia End Sub @@ -747,8 +1178,17 @@ Sub envioMazapa 'ignore Mazapa.envia End Sub +Sub envioProfina 'ignore + Profina.envia +End Sub + +Sub envioProfinaReparto 'ignore + Profina_Reparto.envia +End Sub + Sub envioGuna 'ignore Private PASO As Int = 1 + reqManager.Initialize(Me, "http://keymon.net:1782") reqManager.reqsList.Initialize 'inicializamos lista de requests. If PASO = 1 Then B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE not In (select PE_CLIENTE from pedido)") @@ -762,6 +1202,7 @@ Sub envioGuna 'ignore cmd.Name = "insert_pedidos_GV2" cmd.Parameters = Array As Object(C.GetString("PC_CLIENTE"),C.GetString("PC_FECHA"),C.GetString("PC_USER"),C.GetString("PC_NOART"),C.GetString("PC_MONTO"),C.GetString("PC_LON"),C.GetString("PC_LAT"), almacen, ruta, C.GetString("PC_COSTO_SIN") ) B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_pedidos") + Log("ins_pedidos") Next End If c.Close @@ -814,23 +1255,64 @@ Sub envioGuna 'ignore Next End If c.Close - c = B4XPages.MainPage.skmt.ExecQuery("SELECT PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO FROM PEDIDO") - d = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO") - If c.RowCount > 0 Then - For i = 0 To c.RowCount - 1 - c.Position = i + + c=B4XPages.MainPage.skmt.ExecQuery2("SELECT PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO FROM PEDIDO WHERE (PE_RECALCULO = ? or PE_RECALCULO = ? or PE_RECALCULO IS NULL)",Array As String("","null")) + d=B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i Dim cmd As DBCommand cmd.Initialize cmd.Name = "insert_pedido_GV2" cmd.Parameters = Array As Object(C.GetString("PE_CEDIS"), almacen, C.GetString("PE_COSTO_TOT"), C.GetString("PE_COSTOU"), C.GetString("PE_CANT"), C.GetString("PE_PRONOMBRE"), C.GetString("PE_PROID"), C.GetString("PE_CLIENTE"),C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),c.GetString("PE_FOLIO")) +' Log($"${C.GetString("PE_CEDIS")}, ${almacen}, ${C.GetString("PE_COSTO_TOT")}, ${C.GetString("PE_COSTOU")}, ${C.GetString("PE_CANT")}, C.GetString("PE_PRONOMBRE"), C.GetString("PE_PROID"), ${C.GetString("PE_CLIENTE")},${C.GetString("PE_FECHA")},${C.GetString("PE_USUARIO")},${C.GetString("PE_RUTA")}, C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),c.GetString("PE_FOLIO")"$) B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_pedido") + Log("ins_pedido") Next End If c.Close d.Position=0 - Private cuantos_pedido As String = D.GetString("CUANTOS_PEDIDO") + cuantos_pedido = D.GetString("CUANTOS_PEDIDO") d.Close + If almacen = "88" Or almacen = "6" Then + c=B4XPages.MainPage.skmt.ExecQuery2("SELECT PE_RECALCULO,PE_RECALCULOTOT,PE_RECCEDIS,PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO FROM PEDIDO WHERE PE_RECALCULO <> ? or PE_RECALCULO <> ? or PE_RECALCULO IS NOT NULL",Array As String("","null")) + d=B4XPages.MainPage.skmt.ExecQuery($"SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO where PE_RUTA = '${Subs.traeRuta}'"$) + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_pedido_GV2_06" + cmd.Parameters = Array As Object(C.GetString("PE_RECCEDIS"), almacen, C.GetString("PE_RECALCULOTOT"), C.GetString("PE_RECALCULO"), C.GetString("PE_CANT"), C.GetString("PE_PRONOMBRE"), C.GetString("PE_PROID"), C.GetString("PE_CLIENTE"),C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),c.GetString("PE_FOLIO")) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_pedido") + Log("ins_pedido") + Next + End If + c.Close + d.Position=0 + cuantos_pedido = D.GetString("CUANTOS_PEDIDO") + d.Close + Else + c=B4XPages.MainPage.skmt.ExecQuery2("SELECT PE_RECALCULO,PE_RECALCULOTOT,PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO FROM PEDIDO WHERE PE_RECALCULO <> ? or PE_RECALCULO <> ? or PE_RECALCULO IS NOT NULL",Array As String("","null")) + d=B4XPages.MainPage.skmt.ExecQuery($"SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO where PE_RUTA = '${Subs.traeRuta}'"$) + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_pedido_GV2_06" + cmd.Parameters = Array As Object(C.GetString("PE_CEDIS"), almacen, C.GetString("PE_RECALCULOTOT"), C.GetString("PE_RECALCULO"), C.GetString("PE_CANT"), C.GetString("PE_PRONOMBRE"), C.GetString("PE_PROID"), C.GetString("PE_CLIENTE"),C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),c.GetString("PE_FOLIO")) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_pedido") + Log("ins_pedido") + Next + End If + c.Close + d.Position=0 + cuantos_pedido = D.GetString("CUANTOS_PEDIDO") + d.Close + End If + ' NOVENTA c = B4XPages.MainPage.skmt.ExecQuery("SELECT NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON FROM NOVENTA") If c.RowCount > 0 Then @@ -849,7 +1331,7 @@ Sub envioGuna 'ignore d.Position = 0 cuantos_noventa = D.GetString("CUANTOS_NOVENTA") d.Close - + ' DATOS DE KMTS PARA EL TIPO DE ABARROTE. '''CAT_CL_GIRO = ? WHERE CAT_CL_CODIGO = ? And CAT_CL_NOMBRE = ? kmt_info c = B4XPages.MainPage.skmt.ExecQuery("Select CAT_CL_GIRO, CAT_CL_CODIGO from kmt_info") @@ -978,10 +1460,10 @@ Sub valida(identificador As String) Log("Validamos " & identificador) If empresa.ToUpperCase.Contains("GUNA") Then ' reqManager.Initialize(Me, "http://keymon.lat:1782") - reqManager.Initialize(Me, "http://192.99.93.204:1782") + reqManager.Initialize(Me, "http://keymon.net:1782") Else ' reqManager.Initialize(Me, "http://keymon.lat:1781") - reqManager.Initialize(Me, "http://192.99.93.204:1781") + reqManager.Initialize(Me, "http://keymon.net:1781") End If d = skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM NOVENTA") d.Position = 0 @@ -1015,6 +1497,7 @@ Sub valida(identificador As String) End Sub Private Sub p_empresa_Click + End Sub Private Sub b_valida_Click @@ -1027,16 +1510,24 @@ Private Sub b_valida_Click else if empresa.ToUpperCase.Contains("GUNA") Then valida("GV2") else if empresa.ToUpperCase.Contains("INTMEX") Then -' valida("INTMEX") Intmex.valida + else if empresa.ToUpperCase.Contains("KELLOGGS") Then + Kelloggs.valida + else if empresa.ToUpperCase.Contains("IZCA") Then + Izca.valida + else if empresa.ToUpperCase.Contains("MAZAPA") Then + Mazapa.valida else if empresa.ToUpperCase.Contains("DURAKELO") Then Durakelo.valida else if empresa.ToUpperCase.Contains("MARQUEZ") Then Marquez.valida + else if empresa.ToUpperCase.Contains("PROFINA") Then + Profina.valida End If End Sub Private Sub p_engrane_Click + End Sub Private Sub p_validacion_Click diff --git a/B4A/C_Durakelo.bas b/B4A/C_Durakelo.bas index 97a2221..db7bb80 100644 --- a/B4A/C_Durakelo.bas +++ b/B4A/C_Durakelo.bas @@ -21,7 +21,7 @@ End Sub 'You can add more parameters here. Public Sub Initialize As Object ' reqManager.Initialize(Me, "http://keymon.lat:1781") - reqManager.Initialize(Me, "http://192.99.93.204:1781") + reqManager.Initialize(Me, "http://keymon.net:1781") l_ruta.Initialize("") L_ABORDO.Initialize("") l_porvisitar.Initialize("") @@ -310,6 +310,7 @@ Sub envia End Sub Sub JobDone(Job As HttpJob) + Log("JOBDONE DURAKELO") If reqManager.reqsList.IsInitialized Then 'Si tenemos lista de requests, la procesamos. LogColor($">>>>>>>>>> Llega ${Job.tag} <<<<<<<<<<"$, Colors.Blue) If reqManager.reqsList.IndexOf(Job.tag) <> -1 Then @@ -441,7 +442,7 @@ Sub valida cmd.Name = "select_cuantos_pedidoc_DUR" cmd.Parameters = Array As Object(almacen, Subs.traeRuta) reqManager.ExecuteQuery(cmd , 0, "valida_pedidoc") - Log("http://keymon.lat:1781") + Log("http://keymon.net:1781") B4XPages.MainPage.l_vPedidos2.Text = "" B4XPages.MainPage.l_vProds2.Text = "" @@ -465,4 +466,11 @@ Sub T4_Tick B4XPages.MainPage.p_validacion.Visible = True End If End If +End Sub + +' Nuevo método para inicializar el manager con el Target correcto +Public Sub ConfigurarYEnviar(ServidorURL As String) + ' 'Me' aquí es C_Intmex, asegurando que C_Intmex.JobDone sea llamado. + reqManager.Initialize(Me, ServidorURL) + envia ' Llama a la función de envío original de C_Intmex End Sub \ No newline at end of file diff --git a/B4A/C_Durakelo_Reparto.bas b/B4A/C_Durakelo_Reparto.bas new file mode 100644 index 0000000..a792eee --- /dev/null +++ b/B4A/C_Durakelo_Reparto.bas @@ -0,0 +1,88 @@ +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Class +Version=12.8 +@EndOfDesignText@ +Sub Class_Globals + Dim reqManager As DBRequestManager + Dim cmd As DBCommand + Dim b, c, d, f As Cursor + Dim almacen, perfil, cuantos, NUMERO_PEDIDO, usuario, cuantos_exib, cuantos_pedidosc, cuantos_noventa, cuantos_ped, cuantos_pedido As String + Dim l_ruta As Label + Dim foto1() As Byte +End Sub + +'Initializes the object. You can add parameters to this method if needed. +Public Sub Initialize + +End Sub + +Sub envia + c=B4XPages.MainPage.skmt.ExecQuery("select usuario from usuarioa") + c.Position = 0 + usuario = c.GetString("USUARIO") + c.Close + 'reparto rechazo REP_CLIENTE, REP_PRONOMBRE, REP_CANT, REP_COSTO_TOT + c=B4XPages.MainPage.skmt.ExecQuery("SELECT REP_CLIENTE, REP_PRONOMBRE, REP_CANT, REP_COSTO_TOT, REP_FECHA FROM REPARTO") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_reparto_rechazo_dur" +' cmd.Parameters = Array As Object(C.GetString("REP_CLIENTE"),C.GetString("REP_PRONOMBRE"),C.GetString("REP_CANT"),C.GetString("REP_COSTO_TOT"),C.GetString("REP_FECHA"), ALMACEN) + cmd.Parameters = Array As Object(C.GetString("REP_CLIENTE"),C.GetString("REP_PRONOMBRE"),C.GetString("REP_CANT"),C.GetString("REP_COSTO_TOT"), almacen) + reqManager.ExecuteQuery(cmd , 0, "inst_noventa") + Next + c.Close + End If + + ' NOVENTA + c=B4XPages.MainPage.skmt.ExecQuery("SELECT NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON, NV_FOTO FROM NOVENTA") + D=B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM NOVENTA") + + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + foto1 = c.GetBlob("NV_FOTO") + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_reparto_dur" + cmd.Parameters = Array As Object(C.GetString("NV_CLIENTE"),C.GetString("NV_FECHA"),C.GetString("NV_USER"),C.GetString("NV_MOTIVO"),C.GetString("NV_COMM"),C.GetString("NV_LAT"),C.GetString("NV_LON"), almacen, l_ruta.Text, foto1) + reqManager.ExecuteQuery(cmd , 0, "inst_noventa") + Next + c.Close + End If + d.Position=0 + cuantos_noventa = D.GetString("CUANTOS_NOVENTA") + d.Close + ToastMessageShow("Se Actualizaran los datos, Este proceso podria tardar hasta un minuto, gracias "& l_ruta.text , True) +End Sub + +' Nuevo método para inicializar el manager con el Target correcto +Public Sub ConfigurarYEnviar(ServidorURL As String) + ' 'Me' aquí es C_Intmex, asegurando que C_Intmex.JobDone sea llamado. + reqManager.Initialize(Me, ServidorURL) + envia ' Llama a la función de envío original de C_Intmex +End Sub + +Sub JobDone(Job As HttpJob) + Log("JOBDONE") + Log(reqManager.link) + If reqManager.reqsList.IsInitialized Then 'Si tenemos lista de requests, la procesamos. + If reqManager.reqsList.IndexOf(Job.tag) <> -1 Then + reqManager.reqsList.RemoveAt(reqManager.reqsList.IndexOf(Job.tag)) + LogColor($">>>>>> Quitamos ${Job.tag}"$, Colors.Blue) + End If + LogColor(">>>>>> " & reqManager.reqsList.Size & " - " & reqManager.reqsList, Colors.Blue) + End If + If Job.Success = False Then + LogColor("Error: " & reqManager.HandleJob(Job).tag & " : " & Job.ErrorMessage, Colors.red) + Else 'If Job Success then ... + LogColor("JobDone: '" & reqManager.HandleJob(Job).tag & "' - Registros: " & reqManager.HandleJob(Job).Rows.Size, Colors.RGB(0,160,0)) 'Mod por CHV - 211027 + Log(reqManager.reqsList.size) + If reqManager.reqsList.size = 0 Then B4XPages.MainPage.p_progressDialog.Visible = False + End If + Job.Release +End Sub \ No newline at end of file diff --git a/B4A/C_Envios.bas b/B4A/C_Envios.bas index cc1a240..7570783 100644 --- a/B4A/C_Envios.bas +++ b/B4A/C_Envios.bas @@ -11,6 +11,7 @@ Sub Class_Globals Private usuario As String 'ignore Private almacen As String Private ruta As String + Dim reqManager As DBRequestManager End Sub 'You can add more parameters here. @@ -234,7 +235,7 @@ Sub envioGuna 'ignore c.Position = i Dim cmd As DBCommand cmd.Initialize - cmd.Name = "insert_pedido_GV2" + cmd.Name = "insert_pedido_GV2_06" cmd.Parameters = Array As Object(C.GetString("PE_CEDIS"), almacen, C.GetString("PE_COSTO_TOT"), C.GetString("PE_COSTOU"), C.GetString("PE_CANT"), C.GetString("PE_PRONOMBRE"), C.GetString("PE_PROID"), C.GetString("PE_CLIENTE"),C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),c.GetString("PE_FOLIO")) B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_pedido") Next @@ -382,4 +383,11 @@ Sub envioGuna 'ignore Next End If x.Close +End Sub + +' Nuevo método para inicializar el manager con el Target correcto +Public Sub ConfigurarYEnviar(ServidorURL As String) + ' 'Me' aquí es C_Intmex, asegurando que C_Intmex.JobDone sea llamado. + reqManager.Initialize(Me, ServidorURL) +' envia ' Llama a la función de envío original de C_Intmex End Sub \ No newline at end of file diff --git a/B4A/C_Intmex.bas b/B4A/C_Intmex.bas index 13df1f6..f048c04 100644 --- a/B4A/C_Intmex.bas +++ b/B4A/C_Intmex.bas @@ -23,7 +23,6 @@ End Sub 'Initializes the object. You can add parameters to this method if needed. Public Sub Initialize ' reqManager.Initialize(Me, "http://keymon.lat:1781") - reqManager.Initialize(Me, "http://192.99.93.204:1781") End Sub Sub envia @@ -364,14 +363,21 @@ Sub valida cmd.Name = "select_cuantos_noventa_INTMEX" cmd.Parameters = Array As Object(almacen, Subs.traeRuta) reqManager.ExecuteQuery(cmd , 0, "valida_noventa") - + cmd.Initialize cmd.Name = "select_cuantos_pedidoc_INTMEX" cmd.Parameters = Array As Object(almacen, Subs.traeRuta) reqManager.ExecuteQuery(cmd , 0, "valida_pedidoc") - Log("http://keymon.lat:1781") - + Log("http://keymon.net:1781") + B4XPages.MainPage.l_vPedidos2.Text = "" B4XPages.MainPage.l_vProds2.Text = "" B4XPages.MainPage.l_vNoVenta2.Text = "" -End Sub \ No newline at end of file +End Sub + +' Nuevo método para inicializar el manager con el Target correcto +Public Sub ConfigurarYEnviar(ServidorURL As String) + ' 'Me' aquí es C_Intmex, asegurando que C_Intmex.JobDone sea llamado. + reqManager.Initialize(Me, ServidorURL) + envia ' Llama a la función de envío original de C_Intmex +End Sub diff --git a/B4A/C_Intmex_Reparto.bas b/B4A/C_Intmex_Reparto.bas new file mode 100644 index 0000000..017f199 --- /dev/null +++ b/B4A/C_Intmex_Reparto.bas @@ -0,0 +1,253 @@ +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Class +Version=12.8 +@EndOfDesignText@ +Sub Class_Globals + Dim reqManager As DBRequestManager + Dim cmd As DBCommand + Dim b, c, d, f As Cursor + Dim almacen, perfil, cuantos, NUMERO_PEDIDO, usuario, cuantos_exib, cuantos_pedidosc, cuantos_noventa, cuantos_ped, cuantos_pedido As String + Dim l_ruta As Label +End Sub + +'Initializes the object. You can add parameters to this method if needed. +Public Sub Initialize + reqManager.Initialize(Me, "http://keymon.net:1781") + l_ruta.Initialize("l") +End Sub + +Sub envia + almacen = Subs.traeAlmacen + Dim foto1() As Byte + ' NOVENTA + c = B4XPages.MainPage.skmt.ExecQuery("SELECT NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON, NV_FOTO, NV_REPROGRAMAR FROM NOVENTA") + D=B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM NOVENTA") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + foto1 = c.GetBlob("NV_FOTO") + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_reparto_REPG_INTMEX" + cmd.Parameters = Array As Object(C.GetString("NV_CLIENTE"),C.GetString("NV_FECHA"),C.GetString("NV_USER"),C.GetString("NV_MOTIVO"),C.GetString("NV_COMM"),C.GetString("NV_LAT"),C.GetString("NV_LON"), almacen, l_ruta.Text, C.GetString("NV_REPROGRAMAR")) + reqManager.ExecuteCommand(cmd , "inst_noventa_") + Next + c.Close + End If + d.Position=0 + cuantos_noventa = D.GetString("CUANTOS_NOVENTA") + d.Close + + 'Buscamos ordenes a reprogramar. + Dim r As Cursor =B4XPages.MainPage.skmt.ExecQuery("select * from noventa where nv_reprogramar = 1") + If r.RowCount > 0 Then + For rx = 0 To r.RowCount - 1 + r.Position = rx + Dim o As Cursor = B4XPages.MainPage.skmt.ExecQuery2("select HVD_FECHA, CAT_CL_RUTA FROM HIST_VENTAS INNER JOIN kmt_info on HVD_CLIENTE = cat_cl_codigo WHERE HVD_CLIENTE = ?",Array As String(r.GetString("NV_CLIENTE"))) + If o.RowCount > 0 Then + o.Position = 0 + Log("Enviamos reprogramados: " & r.RowCount) + + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_reparto_reprogramar3_INTMEX" + cmd.Parameters = Array As Object(r.GetString("NV_CLIENTE"),r.GetString("NV_REPROGRAMAR"),o.GetString("HVD_FECHA"),o.GetString("CAT_CL_RUTA"),almacen) + reqManager.ExecuteCommand(cmd , "ins_reprogramar") + End If + Next + End If + r.Close + + 'PAGARES. + Dim pa As Cursor =B4XPages.MainPage.skmt.ExecQuery("select * from PAGARES") + If pa.RowCount > 0 Then + For pag = 0 To pa.RowCount - 1 + pa.Position = pag + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_reparto_PAGARES_INTMEX2" + Dim fechaenvio() As String + fechaenvio = Regex.Split(" ",pa.GetString("PA_FECHA_PREV")) +' Log(fechaenvio(0)) + Dim fechaenvio1() As String + fechaenvio1 = Regex.Split("/",fechaenvio(0)) + Dim fechaano As String = fechaenvio1(2).SubString(2) + Dim fechareal As String = fechaenvio1(0)&"/"&fechaenvio1(1)&"/"&fechaano +' Log(fechareal) + + Dim fechacap() As String + fechacap = Regex.Split("/",pa.GetString("PA_CAPTURA")) + Dim fechacapano As String = fechacap(2).SubString(2) + Dim fechacapreal As String = fechacap(0)&"/"&fechacap(1)&"/"&fechacapano + + cmd.Parameters = Array As Object(pa.GetString("PA_CLIENTE"),pa.GetString("PA_MONTO"),fechacapreal,pa.GetString("PA_ALMACEN"),pa.GetString("PA_RUTAPREV"),pa.GetString("PA_RUTA_REP"),fechareal,pa.GetString("PA_USUARIO")) + reqManager.ExecuteCommand(cmd , "ins_pagares") + Next + End If + pa.Close + + 'ABONOS + Dim ab As Cursor = B4XPages.MainPage.skmt.ExecQuery($"SELECT * from ABONOS where a_enviado is null"$) + Log(ab.RowCount) + If ab.RowCount > 0 Then + For i=0 To ab.RowCount -1 + ab.Position = i + + Dim c58 As Cursor = B4XPages.MainPage.skmt.ExecQuery($"SELECT * from HIST_VENTAS"$) + If c58.RowCount > 0 Then + c58.Position = 0 + + Private fechapre As String = c58.GetString("HVD_FECHA") + End If + + + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_abono_INTMEXREP2" + cmd.Parameters = Array As Object( ab.GetString("a_usuario"), ab.GetString("a_ruta"), ab.GetString("a_cliente"), ab.GetString("a_abono"), ab.GetString("a_fecha"),almacen,"REPARTO", ab.GetString("TIPO_PAGO"), ab.GetString("CONSECUTIVO"), ab.GetString("NUM_TICKET"), ab.GetString("RUTA_REP"), fechapre) + reqManager.ExecuteCommand(cmd , $"ins_abonosPendientes_${ab.GetString("a_cliente")}"$) + Log($"ins_abonosPendientes_${ab.GetString("a_cliente")}"$) + Next + End If + ab.Close + + + c=B4XPages.MainPage.skmt.ExecQuery("SELECT * FROM hist_ventas WHERE HVD_RECHAZO = 1 ") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_rep_hist_ventas_REPG2_INTMEX" + Dim restarechazos As Int = c.GetString("HVD_CANT")-c.GetString("HVD_RECHAZOCANT") + Dim costorechazos As Double= C.GetString("HVD_COSTO_TOT") / c.GetString("HVD_CANT") + If restarechazos = 0 Then + cmd.Parameters = Array As Object(C.GetString("HVD_CLIENTE"),C.GetString("HVD_PRONOMBRE"),C.GetString("HVD_RECHAZOCANT"),(costorechazos*c.GetString("HVD_RECHAZOCANT")),C.GetString("HVD_CODPROMO"),C.GetString("HVD_PROID"),C.GetString("HVD_NUM_TICKET"),C.GetString("HVD_NUM_REGISTRO"),1,"", almacen, costorechazos) + Else + + cmd.Parameters = Array As Object(C.GetString("HVD_CLIENTE"),C.GetString("HVD_PRONOMBRE"),C.GetString("HVD_RECHAZOCANT"),(costorechazos*c.GetString("HVD_RECHAZOCANT")),C.GetString("HVD_CODPROMO"),C.GetString("HVD_PROID"),C.GetString("HVD_NUM_TICKET"),C.GetString("HVD_NUM_REGISTRO"),"",1, almacen,costorechazos) + End If + reqManager.ExecuteCommand(cmd , "inst_noventa") + Next + c.Close + End If + +' pedido + c=B4XPages.MainPage.skmt.ExecQuery("SELECT PE_TIPO, PE_RUTA, PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_FECHA, PE_USUARIO, PE_CLIENTEOR, PE_CAJAS, PE_BCAJAS, CONSECUTIVO, FECHA_PREV, RUTA_REP, PE_REGALO FROM PEDIDO") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_pedido_REP_INTMEX" + cmd.Parameters = Array As Object(c.GetString("PE_TIPO"), c.GetString("PE_RUTA"), c.GetString("PE_CEDIS"), c.GetString("PE_COSTO_TOT"), c.GetString("PE_COSTOU"), c.GetString("PE_CANT"), c.GetString("PE_PRONOMBRE"), c.GetString("PE_PROID"), c.GetString("PE_CLIENTE"), c.GetString("PE_FECHA"), c.GetString("PE_USUARIO"), c.GetString("PE_CLIENTEOR"), c.GetString("PE_CAJAS"), c.GetString("PE_BCAJAS"), c.GetString("CONSECUTIVO"), c.GetString("FECHA_PREV"), c.GetString("RUTA_REP"), c.GetString("PE_REGALO")) + reqManager.ExecuteCommand(cmd , "ins_pedido_Inmtex") + Next + c.Close + End If + +' c=B4XPages.MainPage.skmt.ExecQuery("SELECT CLIENTE, USUARIO, FECHA_PUNTEO, LATITUD, LONGITUD, ALMACEN, RUTA_REPARTO, RUTA_PREV, FECHA_PREVENTA, MOTIVO, COMENTARIO,TIPO FROM REPARTO_GEO") +' Log($"REPARTO_Cliente PENDIENTE: ${c.RowCount}"$) +' If c.RowCount>0 Then +' For i=0 To c.RowCount -1 +' c.Position=i +' +' Dim cmd As DBCommand +' cmd.Initialize +' cmd.Name = "insert_REPARTO_INTMEX" +' cmd.Parameters = Array As Object(c.GetString("CLIENTE"), c.GetString("USUARIO"), c.GetString("FECHA_PUNTEO"), c.GetString("LATITUD"), c.GetString("LONGITUD"), c.GetString("ALMACEN"), c.GetString("RUTA_REPARTO"), c.GetString("RUTA_PREV"), c.GetString("FECHA_PREVENTA"), c.GetString("MOTIVO"), c.GetString("COMENTARIO"),c.GetString("TIPO")) +' reqManager.ExecuteCommand(cmd , $"ins_REPARTOPendientes_head_${c.GetString("CLIENTE")}"$) +' +' Next +' End If +' c.Close + + 'TABULADOR + c = B4XPages.MainPage.skmt.ExecQuery("SELECT VEINTE, DIEZ, CINCO, DOS, PESO, CENTAVO, TOTAL FROM TABULADOR_MONEDAS") + d = B4XPages.MainPage.skmt.ExecQuery("SELECT RUTAA FROM RUTAA") + b = B4XPages.MainPage.skmt.ExecQuery("SELECT ID_ALMACEN FROM CAT_ALMACEN") + f = B4XPages.MainPage.skmt.ExecQuery("SELECT HVD_FECHA FROM HIST_VENTAS") + d.Position = 0 + b.Position = 0 + f.Position = 0 + If c.RowCount > 0 Then + For i = 0 To c.RowCount - 1 + c.Position=i + Dim cmd As DBCommand + Dim fechatabulador() As String = Regex.Split(" ", f.GetString("HVD_FECHA")) + + Dim fechatabulador3 As String = fechatabulador(0) + cmd.Initialize + cmd.Name = "insert_tabulador_monedas_INTMEX" + cmd.Parameters = Array As Object(d.GetString("RUTAA"), b.GetString("ID_ALMACEN"),c.GetString("VEINTE"),c.GetString("DIEZ"),c.GetString("CINCO"),c.GetString("DOS"),c.GetString("PESO"),c.GetString("CENTAVO"),fechatabulador3) + reqManager.ExecuteCommand(cmd , "ins_tabulador_mon") + Next + c.Close + d.Close + b.Close + f.Close + End If + + + c = B4XPages.MainPage.skmt.ExecQuery("SELECT MIL, QUINIENTOS, DOCIENTOS, CIEN, CINCUENTA, VEINTE FROM TABULADOR_BILLETES") + d = B4XPages.MainPage.skmt.ExecQuery("SELECT RUTAA FROM RUTAA") + b = B4XPages.MainPage.skmt.ExecQuery("SELECT ID_ALMACEN FROM CAT_ALMACEN") + f = B4XPages.MainPage.skmt.ExecQuery("SELECT HVD_FECHA FROM HIST_VENTAS") + d.Position = 0 + b.Position = 0 + f.Position = 0 + If c.RowCount > 0 Then + For i = 0 To c.RowCount - 1 + c.Position=i + Dim cmd As DBCommand + Dim fechatabulador() As String = Regex.Split(" ", f.GetString("HVD_FECHA")) + + Dim fechatabulador3 As String = fechatabulador(0) + cmd.Initialize + cmd.Name = "insert_tabulador_billetes_INTMEX" + cmd.Parameters = Array As Object(b.GetString("ID_ALMACEN"), d.GetString("RUTAA"),c.GetString("MIL"),c.GetString("QUINIENTOS"),c.GetString("DOCIENTOS"),c.GetString("CIEN"),c.GetString("CINCUENTA"),c.GetString("VEINTE"),fechatabulador3) + reqManager.ExecuteCommand(cmd , "ins_tabulador_bill") + Next + c.Close + d.Close + b.Close + f.Close + End If + 'FIN TABULADOR + +' Dim cmd As DBCommand +' cmd.Initialize +' cmd.Name = "insert_drop_rep_INTMEX2" +' cmd.Parameters = Array As Object(Subs.dameUsuarioDeDB, l_ruta.Text, almacen, l_ctast.text, Subs.traeEntregados, Subs.traeRechazados, "ENVIO",Application.VersionName) +' reqManager.ExecuteCommand(cmd , "inst_drop") +' ToastMessageShow("Se Actualizaran los datos, Este proceso podria tardar hasta un minuto, gracias "& l_ruta.text , True) +End Sub + +' Nuevo método para inicializar el manager con el Target correcto +Public Sub ConfigurarYEnviar(ServidorURL As String) + ' 'Me' aquí es C_Intmex, asegurando que C_Intmex.JobDone sea llamado. + reqManager.Initialize(Me, ServidorURL) + envia ' Llama a la función de envío original de C_Intmex +End Sub + +Sub JobDone(Job As HttpJob) + Log("JOBDONE INTMEX") + Log(reqManager.link) + If reqManager.reqsList.IsInitialized Then 'Si tenemos lista de requests, la procesamos. + If reqManager.reqsList.IndexOf(Job.tag) <> -1 Then + reqManager.reqsList.RemoveAt(reqManager.reqsList.IndexOf(Job.tag)) + LogColor($">>>>>> Quitamos ${Job.tag}"$, Colors.Blue) + End If + LogColor(">>>>>> " & reqManager.reqsList.Size & " - " & reqManager.reqsList, Colors.Blue) + End If + If Job.Success = False Then + LogColor("Error: " & reqManager.HandleJob(Job).tag & " : " & Job.ErrorMessage, Colors.red) + Else 'If Job Success then ... + LogColor("JobDone: '" & reqManager.HandleJob(Job).tag & "' - Registros: " & reqManager.HandleJob(Job).Rows.Size, Colors.RGB(0,160,0)) 'Mod por CHV - 211027 + Log(reqManager.reqsList.size) + If reqManager.reqsList.size = 0 Then B4XPages.MainPage.p_progressDialog.Visible = False + End If + Job.Release +End Sub \ No newline at end of file diff --git a/B4A/C_Izca.bas b/B4A/C_Izca.bas new file mode 100644 index 0000000..215626a --- /dev/null +++ b/B4A/C_Izca.bas @@ -0,0 +1,425 @@ +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Class +Version=12.8 +@EndOfDesignText@ +Sub Class_Globals + Private Root As B4XView 'ignore + Private xui As XUI 'ignore + Dim reqManager As DBRequestManager + Dim cmd As DBCommand + Dim b, c, d As Cursor + Dim usuario, almacen As String + Dim datos_iguales, almacen, carga, paso, conteo, porcentaje, perfil, cuantos, NUMERO_PEDIDO, usuario, cuantos_exib, cuantos_pedidosc, cuantos_noventa, cuantos_ped, cuantos_pedido As String +End Sub + +'Initializes the object. You can add parameters to this method if needed. +Public Sub Initialize + reqManager.Initialize(Me, "http://keymon.net:1781") + Return Me +End Sub + +Sub envia +' carga = "SUBIR" +' p_mandaInfo.Width = Root.Width +' p_mandaInfo.Height = Root.Height +' P1.Visible = True +' P1.Left = (p_mandaInfo.Width/2) - (P1.Width/2) +' P1.top = (p_mandaInfo.Height/2) - (P1.Height/2) +' p_mandaInfo.Visible = True +' P1.BringToFront +' p_mandaInfo.BringToFront +' 'trabajar.Visible = False +' NUEVO.Visible =False +' BUSCA.Visible=False +' connecta.Visible=False +' Subir.Visible=False +' cargar.Visible=False +' L_P_1.Visible = False +' S_CC.Visible = False +' L_P_3.Visible = False +' S_CH.Visible = False +' PB1.Visible = False +' Resumen.Visible= False +' L_P_2.Text = "Envio de Pedidos" +' L_P_3.Text = "Envio de Pedidos" +' S_CH.Text = "EN PROCESO" +' S_CP.Text = "EN PROCESO" +' PB1.Progress = 0 +' PB2.Progress = 0 + 'c=skmt.ExecQuery("SELECT sum(IFNULL(PE_DESC,0)) as DESCUENTO FROM PEDIDO") + 'c.Position =0 + 'If c.GetString("DESCUENTO") > 0 And PASO = 0 Then + 'P1.Visible = True + 'ELSE IF c.GetString("DESCUENTO") = 0 Then + paso = 1 + 'End If + If paso = 1 Then + B4XPages.MainPage.skmt.ExecNonQuery2("delete from PEDIDO WHERE PE_PRONOMBRE = ? ", Array As Object("N/A") ) + B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE not In (select PE_CLIENTE from pedido)") + c=B4XPages.MainPage.skmt.ExecQuery("select usuario from usuarioa") + c.Position = 0 + usuario = c.GetString("USUARIO") + c.Close +' c=B4XPages.MainPage.skmt.ExecQuery("select HGDATE, HGLAT, HGLON from HIST_GPS") +' If c.RowCount>0 Then +' For i=0 To c.RowCount -1 +' c.Position=i +' Dim cmd As DBCommand +' cmd.Initialize +' cmd.Name = "UPDATE_IZCA_ACTUAL2_GPS" +' cmd.Parameters = Array As String(B4XPages.MainPage.montoActual, B4XPages.MainPage.clientestotal, B4XPages.MainPage.clientesventa,B4XPages.MainPage.clientesvisitados,B4XPages.MainPage.lat_gps,B4XPages.MainPage.lon_gps,B4XPages.MainPage.batt,0, 0, 0,B4XPages.MainPage.ALMACEN,B4XPages.MainPage.rutapreventa ) +' reqManager.ExecuteCommand(cmd , "update_gps") +' Next +' End If +' c.Close + + ' ENVIO DE LOS CODIGOS QR +' 'c=skmt.ExecQuery2("SELECT CAT_CL_NUM_SERIEFISICO,CAT_CL_CODIGO ,CAT_CL_LONG,CAT_CL_LAT, CAT_CL_FOTO FROM kmt_info3 where CAT_CL_NUM_SERIEFISICO = ?", Array As String("OK")) +' c=B4XPages.MainPage.skmt.ExecQuery("SELECT CODIGOKMTS, CODIGOB, LAT, LON FROM HIST_CODIGO_BARRAS" ) +' If c.RowCount>0 Then +' For i=0 To c.RowCount -1 +' c.Position=i +' Dim cmd As DBCommand +' cmd.Initialize +' cmd.Name = "insert_QR_2_IZCA" +' cmd.Parameters = Array As Object(C.GetString("CODIGOKMTS"),C.GetString("CODIGOB"),C.GetString("LON"),C.GetString("LAT"),ALMACEN,l_ruta.text ) +' reqManager.ExecuteCommand(cmd , "ins_QR") +' Next +' End If +' c.Close + +' c=B4XPages.MainPage.skmt.ExecQuery("SELECT CAT_CL_NUM_SERIEFISICO, CAT_CL_CODIGO, CAT_CL_LONG, CAT_CL_LAT, CAT_CL_FOTO FROM kmt_info3 where CAT_CL_NUM_SERIEFISICO IS NOT NULL") +' If c.RowCount>0 Then +' For i=0 To c.RowCount -1 +' c.Position=i +' 's=skmt.ExecQuery2("SELECT HIST_VI_IMAGEN FROM HIST_VISITAS WHERE HIST_VI_CREDITO =?", Array As String (c.GetString("HIST_VI_CREDITO"))) +' 's.Position =0 +' foto1 = c.GetBlob("CAT_CL_FOTO") +' Dim cmd As DBCommand +' cmd.Initialize +' cmd.Name = "insert_QR_IZCA" +' cmd.Parameters = Array As Object(C.GetString("CAT_CL_NUM_SERIEFISICO"),C.GetString("CAT_CL_CODIGO"),C.GetString("CAT_CL_LONG"),C.GetString("CAT_CL_LAT"),ALMACEN,l_ruta.text ) +' reqManager.ExecuteCommand(cmd , "ins_QR") +' Next +' End If +' c.Close + +' 'Envio de Pagares +' c=B4XPages.MainPage.skmt.ExecQuery("SELECT * FROM PAGARES") +' If c.RowCount>0 Then +' For i=0 To c.RowCount -1 +' c.Position=i +' Dim cmd As DBCommand +' cmd.Initialize +' cmd.Name = "insert_pagares_IZCA" +' cmd.Parameters = Array As Object(C.GetString("PA_ALMACEN"),Subs.traeRuta2(c.GetString("PA_CLIENTE")),C.GetString("PA_FECHA"),C.GetString("PA_CAPTURA"),C.GetString("PA_MONTO"),C.GetString("PA_USUARIO"),C.GetString("PA_CLIENTE") ) +' reqManager.ExecuteCommand(cmd , "ins_pagares") +' Next +' End If +' c.Close +' +' 'ABONOS +' Dim ab As Cursor = B4XPages.MainPage.skmt.ExecQuery($"SELECT * from ABONOS where a_enviado is null"$) +' Log(ab.RowCount) +' If ab.RowCount > 0 Then +' For i=0 To ab.RowCount -1 +' ab.Position = i +' Dim cmd As DBCommand +' cmd.Initialize +' cmd.Name = "insert_abono_IZCA" +' cmd.Parameters = Array As Object( ab.GetString("a_usuario"), ab.GetString("a_ruta"), ab.GetString("a_cliente"), ab.GetString("a_abono"), ab.GetString("a_fecha"),ALMACEN ) +' reqManager.ExecuteCommand(cmd , $"ins_abonosPendientes_${ab.GetString("a_cliente")}"$) +' Log($"ins_abonosPendientes_${ab.GetString("a_cliente")}"$) +' Next +' End If +' ab.Close + + ' CLIENTES NUEVOS +' Dim fotocn() As Byte +' Dim Dirp As String = File.DirInternal +' Dim Dir As String +' Dim Dir2 As String +' Dir = "/promotoriakmts" + + c=B4XPages.MainPage.skmt.ExecQuery("SELECT CN_ID, CN_FECHA , CN_USER, CN_LAT, CN_LON, CN_NOMBRE, CN_DIRECCION, CN_FOTO, CN_ALMACEN, CN_RUTA, CN_GIRO, CN_SOLICITA, CN_COLONIA, CN_TELEFONO, CN_CP FROM CLIENTES_NUEVOS") + If c.RowCount>0 Then + For i = 0 To c.RowCount - 1 + c.Position = i + 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_IZCA4" + Log(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")&" ,"& "En espera"&c.GetString("CN_GIRO")&" ,"&dialetra& c.GetString("CN_SOLICITA")&" ,"& c.GetString("CN_COLONIA")&" ,"& c.GetString("CN_TELEFONO")) + 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"), "En espera",c.GetString("CN_GIRO"),dialetra, c.GetString("CN_SOLICITA"), c.GetString("CN_COLONIA"), c.GetString("CN_TELEFONO"), c.GetString("CN_CP")) + reqManager.ExecuteCommand(cmd , "inst_clientesn") + Next + End If + c.Close + +' c=B4XPages.MainPage.skmt.ExecQuery("SELECT HE_CLIE, HE_RES, HE_FECHA, HE_TIPO FROM HIST_ENCUESTA") +' If c.RowCount>0 Then +' For i=0 To c.RowCount -1 +' c.Position=i +' Dim cmd As DBCommand +' cmd.Initialize +' cmd.Name = "insert_encuesta_INTMEX" +' cmd.Parameters = Array As Object(C.GetString("HE_CLIE"),C.GetString("HE_RES"),C.GetString("HE_FECHA"), c.GetString("HE_TIPO")) +' reqManager.ExecuteCommand(cmd , "inst_noventa") +' Next +' End If +' c.Close + + ' PEDIDO_CLIENTE + Dim PCNoArts As String + Dim PCMonto As String + c = B4XPages.MainPage.skmt.ExecQuery("SELECT PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT, PC_COSTO_SIN, PC_RUTA, PC_ALMACEN, PC_FACTURA FROM PEDIDO_CLIENTE WHERE PC_CLIENTE <> '1' ") + d = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDOSC FROM PEDIDO_CLIENTE WHERE PC_CLIENTE <> 1 ") + If c.RowCount > 0 Then + For i = 0 To c.RowCount - 1 + c.Position = i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_pedidos_IZCA" + PCNoArts = c.GetString("PC_NOART") + PCMonto = c.GetString("PC_MONTO") + cmd.Parameters = Array As Object(c.GetString("PC_CLIENTE"), c.GetString("PC_FECHA"), c.GetString("PC_USER"), c.GetString("PC_NOART"), c.GetString("PC_MONTO"), c.GetString("PC_LON"), c.GetString("PC_LAT"), almacen, Subs.traeRuta2(c.GetString("PC_CLIENTE")), c.GetString("PC_COSTO_SIN"), c.GetString("PC_FACTURA")) + reqManager.ExecuteCommand(cmd , "ins_pedidos") + Log(">>>>>> INSERT PEDIDO_CLIENTE") + Next + End If + c.Close + d.Position = 0 + cuantos_pedidosc = d.GetString("CUANTOS_PEDIDOSC") + d.Close + + ' PEDIDO + c = B4XPages.MainPage.skmt.ExecQuery("SELECT PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO, PE_CANTC, PE_BCAJAS FROM PEDIDO WHERE PE_FOLIO <> 'RECARGA'") + d = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO") + If c.RowCount > 0 Then + For i = 0 To c.RowCount - 1 + c.Position = i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_pedido5_IZCA" 'CON TOTALES INCLUIDOS +' Log(c.GetString("PE_CEDIS")&", "&ALMACEN&", "&c.GetString("PE_COSTO_TOT")&", "&c.GetString("PE_COSTOU")&", "&c.GetString("PE_CANT")&", "&c.GetString("PE_PRONOMBRE")&", "&c.GetString("PE_PROID")&", "&c.GetString("PE_CLIENTE")&", "&c.GetString("PE_FECHA")&", "&c.GetString("PE_USUARIO")&", "&Subs.traeRuta2(c.GetString("PE_CLIENTE"))&", "& c.GetString("PE_COSTO_SIN")&", "&c.GetString("PE_DESC")&", "&c.GetString("PE_FOLIO")&", "& ALMACEN) + If c.GetString("PE_FOLIO") = "PREVENTA_CONTADO" Then + cmd.Parameters = Array As Object(c.GetString("PE_CEDIS"),almacen,c.GetString("PE_COSTO_TOT"),c.GetString("PE_COSTOU"),c.GetString("PE_CANT"),c.GetString("PE_PRONOMBRE"),c.GetString("PE_PROID"),c.GetString("PE_CLIENTE"),c.GetString("PE_FECHA"),c.GetString("PE_USUARIO"),Subs.traeRuta2(c.GetString("PE_CLIENTE")), c.GetString("PE_COSTO_SIN"),c.GetString("PE_DESC"),"PREVENTA",0) + Else If c.GetString("PE_FOLIO") = "PREVENTA_CREDITO" Then + cmd.Parameters = Array As Object(c.GetString("PE_CEDIS"),almacen,c.GetString("PE_COSTO_TOT"),c.GetString("PE_COSTOU"),c.GetString("PE_CANT"),c.GetString("PE_PRONOMBRE"),c.GetString("PE_PROID"),c.GetString("PE_CLIENTE"),c.GetString("PE_FECHA"),c.GetString("PE_USUARIO"),Subs.traeRuta2(c.GetString("PE_CLIENTE")), c.GetString("PE_COSTO_SIN"),c.GetString("PE_DESC"),"PREVENTA",1) + Else If c.GetString("PE_FOLIO") = "ABORDO" Then + cmd.Parameters = Array As Object(c.GetString("PE_CEDIS"),almacen,c.GetString("PE_COSTO_TOT"),c.GetString("PE_COSTOU"),c.GetString("PE_CANT"),c.GetString("PE_PRONOMBRE"),c.GetString("PE_PROID"),c.GetString("PE_CLIENTE"),c.GetString("PE_FECHA"),c.GetString("PE_USUARIO"),Subs.traeRuta2(c.GetString("PE_CLIENTE")), c.GetString("PE_COSTO_SIN"),c.GetString("PE_DESC"),"ABORDO",0) + Else If c.GetString("PE_FOLIO") = "RECARGA" Then + cmd.Parameters = Array As Object(c.GetString("PE_CEDIS"),almacen,c.GetString("PE_COSTO_TOT"),c.GetString("PE_COSTOU"),c.GetString("PE_CANT"),c.GetString("PE_PRONOMBRE"),c.GetString("PE_PROID"),c.GetString("PE_CLIENTE"),c.GetString("PE_FECHA"),c.GetString("PE_USUARIO"),Subs.traeRuta2(c.GetString("PE_CLIENTE")), c.GetString("PE_COSTO_SIN"),c.GetString("PE_DESC"),"RECARAGA",0) + Else + cmd.Parameters = Array As Object(c.GetString("PE_CEDIS"),almacen,c.GetString("PE_COSTO_TOT"),c.GetString("PE_COSTOU"),c.GetString("PE_CANT"),c.GetString("PE_PRONOMBRE"),c.GetString("PE_PROID"),c.GetString("PE_CLIENTE"),c.GetString("PE_FECHA"),c.GetString("PE_USUARIO"),Subs.traeRuta2(c.GetString("PE_CLIENTE")), c.GetString("PE_COSTO_SIN"),c.GetString("PE_DESC"),"VENTA",0) + End If + reqManager.ExecuteCommand(cmd , $"ins_pedidosPendientes_prods_${c.GetString("PE_CLIENTE")}_${c.GetString("PE_PROID")}"$) + Next + End If + c.Close + d.Position=0 + cuantos_pedido = D.GetString("CUANTOS_PEDIDO") + d.Close + + ' NOVENTA + c=B4XPages.MainPage.skmt.ExecQuery("SELECT NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON FROM NOVENTA") + D=B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM NOVENTA") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_noventa_IZCA" + cmd.Parameters = Array As Object(C.GetString("NV_CLIENTE"),C.GetString("NV_FECHA"),C.GetString("NV_USER"),C.GetString("NV_MOTIVO"),C.GetString("NV_COMM"),C.GetString("NV_LAT"),C.GetString("NV_LON"), almacen, Subs.traeRuta2(c.GetString("NV_CLIENTE"))) + reqManager.ExecuteCommand(cmd , "inst_noventa") + Next + End If + c.Close + d.Position=0 + cuantos_noventa = D.GetString("CUANTOS_NOVENTA") + d.Close + + ' GEO CERCA + c=B4XPages.MainPage.skmt.ExecQuery("Select HGCLIENTE, HGDATE, HGLAT, HGLON from HIST_GEOCERCA") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_geocerca_IZCA" + cmd.Parameters = Array As Object(C.GetString("HGCLIENTE"),C.GetString("HGDATE"),C.GetString("HGLAT"),C.GetString("HGLON")) + reqManager.ExecuteCommand(cmd , "inst_noventa") + Next + End If + c.Close + + ' Cambio ubicaciones + c=B4XPages.MainPage.skmt.ExecQuery("Select CAT_CL_LAT, CAT_CL_LONG, CAT_CL_CODIGO, CAT_CL_BCOORDENADAS from kmt_info3 where CAT_CL_BCOORDENADAS <> 0") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "update_coordenadas_IZCA" + cmd.Parameters = Array As Object(C.GetString("CAT_CL_LAT"),C.GetString("CAT_CL_LONG"),C.GetString("CAT_CL_BCOORDENADAS"),C.GetString("CAT_CL_CODIGO"),almacen,Subs.traeRuta2(C.GetString("CAT_CL_CODIGO"))) + reqManager.ExecuteCommand(cmd , "up_coordenadas") + Next + End If + c.Close + + 'TABULADOR + c = B4XPages.MainPage.skmt.ExecQuery("SELECT VEINTE, DIEZ, CINCO, DOS, PESO, CENTAVO, TOTAL FROM TABULADOR_MONEDAS") + d = B4XPages.MainPage.skmt.ExecQuery("SELECT RUTAA FROM RUTAA") + b = B4XPages.MainPage.skmt.ExecQuery("SELECT ID_ALMACEN FROM CAT_ALMACEN") +' f = Starter.skmt.ExecQuery("SELECT HVD_FECHA FROM HIST_VENTAS") + d.Position = 0 + b.Position = 0 +' f.Position = 0 + If c.RowCount > 0 Then + For i = 0 To c.RowCount - 1 + c.Position=i + Dim cmd As DBCommand + + Dim sDate,sTime As String + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + +' Dim fechatabulador() As String = Regex.Split(" ", f.GetString("HVD_FECHA")) +' Dim fechatabulador2() As String = Regex.Split("-", fechatabulador(0)) +' Dim fechatabulador3 As String = fechatabulador2(1)&"/"&fechatabulador2(2)&"/"&fechatabulador2(0) + cmd.Initialize + cmd.Name = "insert_tabulador_monedas_IZCA2" + cmd.Parameters = Array As Object(d.GetString("RUTAA"), b.GetString("ID_ALMACEN"),c.GetString("VEINTE"),c.GetString("DIEZ"),c.GetString("CINCO"),c.GetString("DOS"),c.GetString("PESO"),c.GetString("CENTAVO"),sDate, "PREVENTA") + reqManager.ExecuteCommand(cmd , "ins_tabulador_mon") + Next + c.Close + d.Close + b.Close +' f.Close + End If + + c = B4XPages.MainPage.skmt.ExecQuery("SELECT MIL, QUINIENTOS, DOCIENTOS, CIEN, CINCUENTA, VEINTE FROM TABULADOR_BILLETES") + d = B4XPages.MainPage.skmt.ExecQuery("SELECT RUTAA FROM RUTAA") + b = B4XPages.MainPage.skmt.ExecQuery("SELECT ID_ALMACEN FROM CAT_ALMACEN") +' f = Starter.skmt.ExecQuery("SELECT HVD_FECHA FROM HIST_VENTAS") + d.Position = 0 + b.Position = 0 +' f.Position = 0 + If c.RowCount > 0 Then + For i = 0 To c.RowCount - 1 + c.Position=i + Dim cmd As DBCommand + + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + +' Dim fechatabulador() As String = Regex.Split(" ", f.GetString("HVD_FECHA")) +' Dim fechatabulador2() As String = Regex.Split("-", fechatabulador(0)) +' Dim fechatabulador3 As String = fechatabulador2(1)&"/"&fechatabulador2(2)&"/"&fechatabulador2(0) + cmd.Initialize + cmd.Name = "insert_tabulador_billetes_IZCA2" + cmd.Parameters = Array As Object(b.GetString("ID_ALMACEN"), d.GetString("RUTAA"),c.GetString("MIL"),c.GetString("QUINIENTOS"),c.GetString("DOCIENTOS"),c.GetString("CIEN"),c.GetString("CINCUENTA"),c.GetString("VEINTE"),sDate, "PREVENTA") + reqManager.ExecuteCommand(cmd , "ins_tabulador_bill") + Next + c.Close + d.Close + b.Close +' f.Close + End If + 'FIN TABULADOR + + ' DROP +' t1.Initialize("T1", 30000) ' 1000 = 1 second +' t1.Enabled = True +' Dim sDate,sTime As String +' DateTime.DateFormat = "MM/dd/yyyy" +' sDate=DateTime.Date(DateTime.Now) +' sTime=DateTime.Time(DateTime.Now) +' Dim cmd As DBCommand +' cmd.Initialize +' cmd.Name ="insert_drop_IZCA" +' cmd.Parameters = Array As Object(usuario,l_ruta.Text,sDate & sTime, l_porvisitar.Text,l_drop.Text,l_efectiva.Text,l_cuantosc.Text,l_cuantosn.Text, L_MONTOD.Text,"ENVIO",almacen,Application.VersionName) +' reqManager.ExecuteCommand(cmd , "inst_noventa") +' img2.Visible =True +' porcentaje = Round(100/ (cuantos_noventa + cuantos_pedido + cuantos_pedidosc + 1)) +'' If Starter.marcaCel <> "Sony" Then ToastMessageShow("Se Actualizaran los datos, Este proceso podria tardar hasta un minuto, gracias "& l_ruta.text , True) + +' 'CUESTIONARIOS +' c = B4XPages.MainPage.skmt.ExecQuery($"select * from cuestionario"$) +' Private rutaActual As String = Subs.traeRuta +' If c.RowCount > 0 Then +' For x = 0 To c.RowCount - 1 +' c.Position = x +' Dim cmd As DBCommand +' cmd.Initialize +' cmd.Name = "insert_CUESTIONARIO_INTMEX" +' cmd.Parameters = Array As Object(c.GetString("Q_IDCLIENTE"), rutaActual, ALMACEN, c.GetString("Q_FECHA"), c.GetString("Q_IDPREGUNTA"), c.GetString("Q_PREGUNTA"), c.GetString("Q_IDRESPUESTA"), C.GetString("Q_RESPUESTA")) +' reqManager.ExecuteCommand(cmd , "ins_cuestionario") +' Next +' End If +' c.Close + + +' c = B4XPages.MainPage.skmt.ExecQuery("SELECT * FROM PEDIDO_CLIENTE WHERE PC_CLIENTE <> 01") +' If c.RowCount > 0 Then +' For i = 0 To c.RowCount - 1 +' c.Position = i +' Dim cmd As DBCommand +' cmd.Initialize +' cmd.Name = "select_piezas_IZCA" +' cmd.Parameters = Array As Object(c.GetString("PC_CLIENTE"), ALMACEN,l_ruta.Text) +' userpiezas = c.GetString("PC_CLIENTE") +' reqManager.ExecuteQuery(cmd , 0, "piezas") +' Next +' +' End If + + End If +End Sub + +Sub valida + cmd.Initialize + cmd.Name = "select_cuantos_pedido_IZCA" + cmd.Parameters = Array As Object(almacen, Subs.traeRuta) + reqManager.ExecuteQuery(cmd , 0, "valida_pedido") + + cmd.Initialize + cmd.Name = "select_cuantos_noventa_IZCA" + cmd.Parameters = Array As Object(almacen, Subs.traeRuta) + reqManager.ExecuteQuery(cmd , 0, "valida_noventa") + + cmd.Initialize + cmd.Name = "select_cuantos_pedidoc_IZCA" + cmd.Parameters = Array As Object(almacen, Subs.traeRuta) + reqManager.ExecuteQuery(cmd , 0, "valida_pedidoc") + +' If PB2.Progress = 0 Then +' S_CP.Text = "ENVIAR DATOS (K-1)" +' End If +' img2.Visible=False +' t1.Enabled = False +End Sub + +' Nuevo método para inicializar el manager con el Target correcto +Public Sub ConfigurarYEnviar(ServidorURL As String) + ' 'Me' aquí es C_Intmex, asegurando que C_Intmex.JobDone sea llamado. + reqManager.Initialize(Me, ServidorURL) + envia ' Llama a la función de envío original de C_Intmex +End Sub \ No newline at end of file diff --git a/B4A/C_Kelloggs.bas b/B4A/C_Kelloggs.bas new file mode 100644 index 0000000..4adc9e0 --- /dev/null +++ b/B4A/C_Kelloggs.bas @@ -0,0 +1,400 @@ +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Class +Version=12.8 +@EndOfDesignText@ +Sub Class_Globals + ' Declarada como Dim para ser accesible desde B4XMainPage (según patrón B4A) + Dim reqManager As DBRequestManager + Dim c, d, b As Cursor + Dim usuario, almacen As String + Dim cuantos_pedido, cuantos_noventa, cuantos_pedidosc As String + Dim foto1(), foto2(), foto3(), foto4() As Byte + Dim PORCENTAJE, PASO, PERFIL, NUMERO_PEDIDO, l_ruta As String + Dim contador_env, contador_strem, reqTotales As Int +End Sub + +' Initializes the object. +Public Sub Initialize + l_ruta = "" + PASO = "1" +End Sub + +' Método de entrada de DBCheck: Configura el Manager y llama a la subrutina de envío. +Public Sub ConfigurarYEnviar(ServidorURL As String) + ' Inicializa el Manager con el Target correcto (Me = C_Kelloggs) + reqManager.Initialize(Me, ServidorURL) + + ' Obtener valores necesarios de forma centralizada + almacen = Subs.traeAlmacen + usuario = Subs.traeUsuarioDeBD + + ' Iniciar el flujo de envío estandarizado + envia + + ' Iniciar el temporizador para la validación si la lista de peticiones no está vacía + reqTotales = reqManager.reqsList.Size + If reqTotales > 0 Then + Dim t1 As Timer + t1.Initialize("T1", 20000) + t1.Enabled = True + End If +End Sub + +' **FUNCIÓN ESTANDARIZADA:** Ejecuta la subida de datos (equivalente a Subir_Click -> SUBIR_INFO_PEDIDO) +Public Sub envia + ' 1. Limpieza y preparación inicial (lógica de Subir_Click) + SUBIR_INFO_PREPARACION + + ' 2. Lógica principal de ejecución de comandos (Extraída del SUBIR_INFO_PEDIDO original) + SUBIR_INFO_EJECUTAR_COMANDOS +End Sub + +Private Sub SUBIR_INFO_PREPARACION + ' Limpieza y obtención de datos antes de enviar. + + ' 1. Borrar pedidos no impresos (lógica de B4XPage_Appear/Subir_Click) + Dim t As Cursor = B4XPages.MainPage.skmt.ExecQuery("Select cat_cl_codigo from kmt_info where impresion = 0 and cat_cl_codigo not in (select ci_cuenta from cliente_impreso) and cat_cl_codigo in (select distinct pe_cliente from pedido)") + If t.RowCount > 0 Then + For i = 0 To t.RowCount - 1 + t.Position = i + Log($"Cliente con pedido no impreso (BORRADO TEÓRICO): ${t.GetString("CAT_CL_CODIGO")}"$) + Next + t.Close + End If + + ' 2. Obtener valores para el envío + l_ruta = Subs.traeRuta + + ' 3. Limpieza de tablas (similar a la lógica en Subir_Click) + B4XPages.MainPage.skmt.ExecNonQuery2("delete from PEDIDO WHERE PE_PRONOMBRE = ? ", Array As Object("N/A")) + B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE not In (select PE_CLIENTE from pedido)") + + ' 4. Actualizar la ruta en la tabla PEDIDO (Lógica de Subir_Click) + c = B4XPages.MainPage.skmt.ExecQuery("select CAT_CL_CODIGO, CAT_CL_RUTA from kmt_info") + If c.RowCount > 0 Then + For i = 0 To c.RowCount - 1 + c.Position=i + B4XPages.MainPage.skmt.ExecNonQuery2("update PEDIDO set PE_RUTA = ? where PE_CLIENTE = ?", Array As Object(c.GetString("CAT_CL_RUTA"),c.GetString("CAT_CL_CODIGO"))) + Next + End If + c.Close + + ' 5. Obtener PERFIL y NUMERO_PEDIDO + c = B4XPages.MainPage.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("PERFIL")) + PERFIL = "0" + If c.RowCount > 0 Then c.Position = 0: PERFIL = c.GetString("CAT_VA_VALOR") + c.Close + + c = B4XPages.MainPage.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("NUMERO_PEDIDO")) + NUMERO_PEDIDO = "0" + If c.RowCount > 0 Then c.Position = 0: NUMERO_PEDIDO = c.GetString("CAT_VA_VALOR") + c.Close + + ' 6. Cargar fotos para el Checklist (si existen) + If File.Exists(File.DirInternal,"FOTO1.jpg") Then foto1 = Bit.InputStreamToBytes(File.OpenInput(File.DirInternal,"FOTO1.jpg")) + If File.Exists(File.DirInternal,"FOTO2.jpg") Then foto2 = Bit.InputStreamToBytes(File.OpenInput(File.DirInternal,"FOTO2.jpg")) + If File.Exists(File.DirInternal,"FOTO3.jpg") Then foto3 = Bit.InputStreamToBytes(File.OpenInput(File.DirInternal,"FOTO3.jpg")) + If File.Exists(File.DirInternal,"FOTO4.jpg") Then foto4 = Bit.InputStreamToBytes(File.OpenInput(File.DirInternal,"FOTO4.jpg")) +End Sub + +Private Sub SUBIR_INFO_EJECUTAR_COMANDOS + ' Lógica extraída de SUBIR_INFO_PEDIDO (el core de la subida original) + + Dim PEDIDO_TOT As String = "0" + Dim L_ABORDO_VAL As String = "0" + Dim monto1 As String = "0" + Dim fecha As String = Subs.traeFecha + + ' --- OBTENCIÓN DE TOTALES --- + b = B4XPages.MainPage.skmt.ExecQuery("Select count(*) as CUANTOS from pedido where pe_cliente <> 0") + If b.GetString("CUANTOS") > 0 Then + c = B4XPages.MainPage.skmt.ExecQuery("Select sum(PE_COSTO_TOT) AS TOTAL from pedido where pe_cliente <> 0") + PEDIDO_TOT = c.GetString("TOTAL") + c.Close + End If + b.Close + + b = B4XPages.MainPage.skmt.ExecQuery("Select count(*) as CUANTOS from pedido where pe_cliente = 0") + If b.GetString("CUANTOS") > 0 Then + c = B4XPages.MainPage.skmt.ExecQuery("Select sum(PE_COSTO_TOT) AS TOTAL from pedido where pe_cliente = 0") + L_ABORDO_VAL = c.GetString("TOTAL") + c.Close + End If + b.Close + + d = B4XPages.MainPage.skmt.ExecQuery("SELECT SUM(PE_COSTO_TOT) as MONTO FROM PEDIDO") + If d.GetString("MONTO") <> Null And d.GetString("MONTO") <> "" Then monto1 = d.GetString("MONTO") + monto1 = monto1 - L_ABORDO_VAL + + ' --- 1. ENVIO DEL DROP (cabecera) --- + Dim cmd As DBCommand + cmd.Initialize + cmd.Name ="insert_drop2_KELL" + cmd.Parameters = Array As Object(usuario, l_ruta, Subs.traeFecha, 0, 0, 0, 0, 0, monto1, "ENVIO", almacen, L_ABORDO_VAL) + reqManager.ExecuteCommand(cmd , "inst_noventa_ins_drop_kell") + contador_env = contador_env + 1 + + ' --- 2. UPDATE DE INFO_E --- + cmd.Initialize + cmd.Name ="UPDATE_INFO_E_KELL" + cmd.Parameters = Array As Object(PEDIDO_TOT, L_ABORDO_VAL, d.GetDouble("MONTO"), l_ruta, almacen) + reqManager.ExecuteCommand(cmd , "inst_noventa_Upd_Info_e_Kell") + contador_env = contador_env + 1 + d.Close + + ' --- 3. BITACORA GPS --- + Private h As ResultSet = B4XPages.MainPage.skmt.ExecQuery($"select * from bitacoraGPS"$) + Do While h.nextrow + cmd.Initialize + cmd.Name = "mandaBitacora3" + cmd.Parameters = Array As Object(h.GetString("almacenb"), h.GetString("usuariob"), h.GetString("rutab"), h.GetString("eventob"), h.GetString("clienteb"), h.GetString("clienteb"), h.GetString("iniciob"), h.GetString("finb"), h.GetString("latitudb"), h.GetString("longitudb"), h.GetString("precision"), h.GetString("motivonoventa"), h.GetString("motivonovisita"), h.GetString("fechab")) + reqManager.ExecuteCommand(cmd , "mandaBitacora") + Loop + h.Close + + ' --- 4. ENCUESTA --- + c = B4XPages.MainPage.skmt.ExecQuery("SELECT HE_CLIE, HE_RES, HE_FECHA, HE_TIPO FROM HIST_ENCUESTA") + If c.RowCount > 0 Then + For i = 0 To c.RowCount - 1 + c.Position=i + cmd.Initialize + cmd.Name = "insert_encuesta_KELL" + cmd.Parameters = Array As Object(c.GetString("HE_CLIE"),c.GetString("HE_RES"),c.GetString("HE_FECHA"), c.GetString("HE_TIPO"),l_ruta ) + reqManager.ExecuteCommand(cmd , "inst_noventa_ins_enc_kell_"&i) + contador_env = contador_env + 1 + Next + End If + c.Close + + ' --- 5. CLIENTES NUEVOS --- + c = B4XPages.MainPage.skmt.ExecQuery2("SELECT CAT_CL_CODIGO, CAT_CL_NOMBRE FROM kmt_info where CAT_CL_ATIENDE1 = ?", Array As String("new")) + If c.RowCount > 0 Then + For i = 0 To c.RowCount - 1 + c.Position = i + cmd.Initialize + cmd.Name = "insert_clie_new_KELL" + cmd.Parameters = Array As Object(c.GetString("CAT_CL_CODIGO"),c.GetString("CAT_CL_NOMBRE"),l_ruta,almacen ) + reqManager.ExecuteCommand(cmd , "inst_noventa_ins_clie_new_kell") + contador_env = contador_env + 1 + Next + End If + c.Close + + ' --- 6. PEDIDO_CLIENTE (Cabeceras) --- + enviaPedidoCliente("Todos") + + d = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDOSC FROM PEDIDO_CLIENTE ") + cuantos_pedidosc = D.GetString("CUANTOS_PEDIDOSC") + d.Close + + ' --- 7. PEDIDO (Detalle de Productos) --- + enviaPedido("Todos") + + d = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO") + cuantos_pedido = D.GetString("CUANTOS_PEDIDO") + d.Close + + ' --- 8. NOVENTA --- + c = B4XPages.MainPage.skmt.ExecQuery("SELECT NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON FROM NOVENTA") + D = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM NOVENTA") + If c.RowCount > 0 Then + For i = 0 To c.RowCount - 1 + c.Position = i + cmd.Initialize + cmd.Name = "insert_noventa_KELL" + cmd.Parameters = Array As Object(c.GetString("NV_CLIENTE"),c.GetString("NV_FECHA"),c.GetString("NV_USER"),c.GetString("NV_MOTIVO"),c.GetString("NV_COMM"),c.GetString("NV_LAT"),c.GetString("NV_LON"), almacen, l_ruta) + reqManager.ExecuteCommand(cmd , "inst_noventa_ins_noventa_kell") + contador_env = contador_env + 1 + Next + c.Close + End If + D.Position=0 + cuantos_noventa = D.GetString("CUANTOS_NOVENTA") + D.Close + + ' --- 9. ENTREGA DOE --- + c=B4XPages.MainPage.skmt.ExecQuery("SELECT PC_CLIENTE, PC_ENTREGA FROM PEDIDOS_DOE_ENTREGA") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + cmd.Initialize + cmd.Name = "UPDATE_PEDIDOS_DOE_ENTREGA" + cmd.Parameters = Array As Object(C.GetString("PC_CLIENTE"),C.GetString("PC_ENTREGA"), almacen, l_ruta) + reqManager.ExecuteCommand(cmd , "UPDATE_PEDIDOS_DOE_ENTREGA") + Next + c.Close + End If + + ' --- 10. CHECK LIST VEHÍCULO --- + c = B4XPages.MainPage.skmt.ExecQuery("SELECT * FROM TMP_INSPECCION_AUTO_DIARIA") + If c.RowCount > 0 Then + For i = 0 To c.RowCount - 1 + c.Position = i + cmd.Initialize + cmd.Name = "INSERT_TMP_INSPECCION_AUTO_DIARIA" + cmd.Parameters = Array As Object(C.GetString("TMP_AUTO_RUTA"), C.GetString("TMP_AUTO_PLACA"), C.GetString("TMP_AUTO_CEDIS"), C.GetString("TMP_AUTO_IDALMACEN"), C.GetString("TMP_AUTO_FECHA"), C.GetString("TMP_AUTO_KILOMETRAJE"), C.GetString("TMP_AUTO_COMBUSTIBLE"), C.GetString("TMP_AUTO_TABLERO"), C.GetString("TMP_AUTO_CLAXON"), C.GetString("TMP_AUTO_PARABRISAS"), C.GetString("TMP_AUTO_CINTURON"), C.GetString("TMP_AUTO_ESPEJOS"), C.GetString("TMP_AUTO_LICENCIA"), C.GetString("TMP_AUTO_LIB_OBJETOSINE"), C.GetString("TMP_AUTO_LIB_OBJETOTMPERVI"), C.GetString("TMP_AUTO_ORDEN_HERRA"), C.GetString("TMP_AUTO_UNILIMPIA"), C.GetString("TMP_AUTO_LIMPIO"), C.GetString("TMP_AUTO_BASURA"), C.GetString("TMP_AUTO_RESPONSABILIDAD"), C.GetString("TMP_AUTO_AUDITORIA"), C.GetString("TMP_AUTO_HABITUAL"), C.GetString("TMP_AUTO_HERRAMIENTAS"), C.GetString("TMP_AUTO_CONOS"), C.GetString("TMP_AUTO_EDO_CARROCERIA"), C.GetString("TMP_AUTO_FUN_LUCES"), C.GetString("TMP_AUTO_PLACAS_CIRCU"), C.GetString("TMP_AUTO_COND_LLANTAS"), C.GetString("TMP_AUTO_ACEITEMOTOR"), C.GetString("TMP_AUTO_ACEITEDIREC"), C.GetString("TMP_AUTO_NVL_REFRIGERANTE"), C.GetString("TMP_AUTO_NVL_LIQUIDBRISAS"), C.GetString("TMP_AUTO_COND_BANMOTOR"), C.GetString("TMP_AUTO_FUGASGRAL"), C.GetString("TMP_AUTO_FRENOS"), C.GetString("TMP_AUTO_COMENTARIOS"), foto1, foto2, foto3, foto4) + reqManager.ExecuteCommand(cmd , "inst_noventa_ins_tmp_insp_auto") + contador_env = contador_env + 1 + Next + c.Close + End If + +End Sub + +Private Sub enviaPedidoCliente(filtro As String) + ' PEDIO_CLIENTE + Private condicion As String = "" + If filtro <> "Todos" Then condicion = "where PC_ENVIADO = 0" + + Private cx As Cursor = B4XPages.MainPage.skmt.ExecQuery($"SELECT PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT, PC_COSTO_SIN, PC_RUTA, PC_ALMACEN, PC_ENVIADO FROM PEDIDO_CLIENTE ${condicion}"$) + + If cx.RowCount > 0 Then + For i = 0 To cx.RowCount - 1 + cx.Position = i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_pedidos_KELL" + cmd.Parameters = Array As Object(cx.GetString("PC_CLIENTE"),cx.GetString("PC_FECHA"),cx.GetString("PC_USER"),cx.GetString("PC_NOART"),cx.GetString("PC_MONTO"),cx.GetString("PC_LON"),cx.GetString("PC_LAT"),almacen,l_ruta,cx.GetString("PC_COSTO_SIN") ) + reqManager.ExecuteCommand(cmd , $"ins_pedidos_${cx.GetString("PC_CLIENTE")}"$) + contador_env = contador_env + 1 + Next + cx.Close + End If +End Sub + +Private Sub enviaPedido(filtro As String) + ' PEDIDO + Private condicion As String = "" + If filtro <> "Todos" Then condicion = "where PE_ENVIADO = 0" + + ' PE_CEDIS = RECARGA para cliente 0 (ABORDO) + B4XPages.MainPage.skmt.ExecNonQuery2("update PEDIDO set PE_CEDIS = ? where PE_CLIENTE =? AND PE_FOLIO IS NULL ", Array As Object("RECARGA", "0")) + ' Asegura que PE_FOLIO no esté en 0 o 1 (se usa el rowid) + B4XPages.MainPage.skmt.ExecNonQuery("UPDATE PEDIDO SET PE_FOLIO = rowid where PE_FOLIO = 0 or PE_FOLIO = 1") + + Private cPed As Cursor = B4XPages.MainPage.skmt.ExecQuery($"SELECT PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_FECHA, PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO, PE_TIPO FROM PEDIDO ${condicion}"$) + + If cPed.RowCount > 0 Then + For i = 0 To cPed.RowCount - 1 + cPed.Position = i + Dim cmd As DBCommand + cmd.Initialize + + If PERFIL = "V-ESPECIAL" Then ' Lógica específica para V-ESPECIAL + cmd.Name = "insert_pedido_esp_KELL" + cmd.Parameters = Array As Object(cPed.GetString("PE_CEDIS"),almacen,cPed.GetString("PE_COSTO_TOT"),cPed.GetString("PE_COSTOU"),cPed.GetString("PE_CANT"),cPed.GetString("PE_PRONOMBRE"),cPed.GetString("PE_PROID"),cPed.GetString("PE_CLIENTE"),cPed.GetString("PE_FECHA"),cPed.GetString("PE_USUARIO"),cPed.GetString("PE_RUTA"), cPed.GetString("PE_COSTO_SIN"),cPed.GetString("PE_DESC"),cPed.GetString("PE_FOLIO"), cPed.GetString("PE_TIPO"),NUMERO_PEDIDO ) + Else + cmd.Name = "insert_pedido_KELL" + cmd.Parameters = Array As Object(cPed.GetString("PE_CEDIS"),almacen,cPed.GetString("PE_COSTO_TOT"),cPed.GetString("PE_COSTOU"),cPed.GetString("PE_CANT"),cPed.GetString("PE_PRONOMBRE"),cPed.GetString("PE_PROID"),cPed.GetString("PE_CLIENTE"),cPed.GetString("PE_FECHA"),cPed.GetString("PE_USUARIO"),cPed.GetString("PE_RUTA"), cPed.GetString("PE_COSTO_SIN"),cPed.GetString("PE_DESC"),cPed.GetString("PE_FOLIO"), cPed.GetString("PE_TIPO")) + End If + + reqManager.ExecuteCommand(cmd , $"ins_pedido_${cPed.GetString("PE_CLIENTE")}"$) + contador_env = contador_env + 1 + Next + cPed.Close + End If +End Sub + +' El callback se maneja aquí, ya que 'Me' fue C_Kelloggs en la inicialización del reqManager +Sub JobDone(Job As HttpJob) + Log("JOBDONE KELLOGGS") + ' Lógica para manejar errores y remover de reqsList +' reqManager.trackNext(Job) + + If Not(Job.Success) Then + LogColor("Error: " & Job.tag & " : " & Subs.parseHTTPError(Job.ErrorMessage), Colors.red) + Else ' Si Job.Success es True + Dim RESULT As DBResult = reqManager.HandleJob(Job) + + LogColor("JobDone: '" & RESULT.tag & "' - Registros: " & RESULT.Rows.Size, Colors.Green) + + If Job.JobName = "DBRequest" Then + + ' Manejo de comandos de INSERCIÓN (Actualización de estados en DB local) + If RESULT.Tag.As(String).StartsWith("ins_pedido_") Then ' Procesa insert_pedido_KELL + Private temp() As String = Regex.Split("_", RESULT.Tag) + If temp.Length > 1 Then + B4XPages.MainPage.skmt.ExecNonQuery($"update pedido set pe_enviado = 1 where pe_cliente = '${temp(2)}'"$) + End If + + Else If RESULT.Tag.As(String).StartsWith("ins_pedidos_") Then ' Procesa insert_pedidos_KELL (Cabeceras) + Private temp() As String = Regex.Split("_", RESULT.Tag) + If temp.Length > 1 Then + B4XPages.MainPage.skmt.ExecNonQuery($"update pedido_cliente set pc_enviado = 1 where pc_cliente = '${temp(2)}'"$) + End If + + Else If RESULT.Tag = "valida_pedido" Then ' Procesa select_cuantos_pedido_KELL + ' Lógica de validación de pedidos (productos) + For Each records() As Object In RESULT.Rows + Dim CUANTOSP As Int = records(RESULT.Columns.Get("CUANTOSP")) + If cuantos_pedido <= CUANTOSP Then + Log($"Validación Pedidos OK: ${CUANTOSP}/${cuantos_pedido}"$) + Else + LogColor($"Validación Pedidos FALLÓ: ${CUANTOSP}/${cuantos_pedido}. Se requiere reenvío."$, Colors.Red) + End If + Next + + Else If RESULT.Tag = "valida_pedidoc" Then ' Procesa select_cuantos_pedidoc_KELL + ' Lógica de validación de pedidos cliente (cabeceras) + For Each records() As Object In RESULT.Rows + Dim CUANTOSC As Int = records(RESULT.Columns.Get("CUANTOSC")) + If cuantos_pedidosc = CUANTOSC Then + Log($"Validación Pedidos Cliente OK: ${CUANTOSC}/${cuantos_pedidosc}"$) + Else + LogColor($"Validación Pedidos Cliente FALLÓ: ${CUANTOSC}/${cuantos_pedidosc}. Se requiere reenvío."$, Colors.Red) + End If + Next + + Else If RESULT.Tag = "valida_noventa" Then ' Procesa select_cuantos_noventa_KELL + ' Lógica de validación de no venta + For Each records() As Object In RESULT.Rows + Dim CUANTOSN As Int = records(RESULT.Columns.Get("CUANTOSN")) + If cuantos_noventa = CUANTOSN Then + Log($"Validación NoVenta OK: ${CUANTOSN}/${cuantos_noventa}"$) + Else + LogColor($"Validación NoVenta FALLÓ: ${CUANTOSN}/${cuantos_noventa}. Se requiere reenvío."$, Colors.Red) + End If + Next + End If + End If + End If + + Job.Release + + ' Lógica de finalización: Inicia la validación al terminar todos los envíos + If reqManager.reqsList.Size = 0 Then + If PASO = "1" Then ' Si terminamos la fase de envío + PASO = "2" + Dim t1 As Timer + t1.Initialize("T1", 2000) + t1.Enabled = True + Log("Envío finalizado. Se inicia TIMER T1 para validación.") + End If + End If +End Sub + +' Lógica de validación forzada (simula T1_Tick) +Private Sub T1_Tick + valida + ' t1.Enabled = False +End Sub + +Sub valida + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "select_cuantos_pedido_KELL" + cmd.Parameters = Array As Object(almacen,l_ruta) + reqManager.ExecuteQuery(cmd , 0, "valida_pedido") + + cmd.Initialize + cmd.Name = "select_cuantos_noventa_KELL" + cmd.Parameters = Array As Object(almacen,l_ruta) + reqManager.ExecuteQuery(cmd , 0, "valida_noventa") + + cmd.Initialize + cmd.Name = "select_cuantos_pedidoc_KELL" + cmd.Parameters = Array As Object(almacen,l_ruta) + reqManager.ExecuteQuery(cmd , 0, "valida_pedidoc") +End Sub \ No newline at end of file diff --git a/B4A/C_Marquez_Reparto.bas b/B4A/C_Marquez_Reparto.bas new file mode 100644 index 0000000..16719d0 --- /dev/null +++ b/B4A/C_Marquez_Reparto.bas @@ -0,0 +1,235 @@ +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Class +Version=12.8 +@EndOfDesignText@ +Sub Class_Globals + Dim reqManager As DBRequestManager + Dim cmd As DBCommand + Dim b, c, d, f As Cursor + Dim almacen, perfil, cuantos, NUMERO_PEDIDO, usuario, cuantos_exib, cuantos_pedidosc, cuantos_noventa, cuantos_ped, cuantos_pedido As String + Dim l_ruta As Label + Dim foto1() As Byte +End Sub + +'Initializes the object. You can add parameters to this method if needed. +Public Sub Initialize + +End Sub + +Sub envia + ' NOVENTA + c = B4XPages.MainPage.skmt.ExecQuery("SELECT NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON, NV_FOTO FROM NOVENTA") + D=B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM NOVENTA") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + foto1 = c.GetBlob("NV_FOTO") + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_reparto_noventa_MARQUEZ_REPG" + cmd.Parameters = Array As Object(C.GetString("NV_CLIENTE"),C.GetString("NV_FECHA"),C.GetString("NV_USER"),C.GetString("NV_MOTIVO"),C.GetString("NV_COMM"),C.GetString("NV_LAT"),C.GetString("NV_LON"), almacen, l_ruta.Text) + reqManager.ExecuteCommand(cmd , "inst_noventa") + Next + c.Close + End If + d.Position=0 + cuantos_noventa = D.GetString("CUANTOS_NOVENTA") + d.Close + c=B4XPages.MainPage.skmt.ExecQuery("SELECT HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT, HVD_FECHA, HVD_CODPROMO, HVD_PROID, HVD_NUM_TICKET, HVD_NUM_REGISTRO, HVD_RECHAZO, HVD_PARCIAL FROM hist_ventas WHERE HVD_RECHAZO = 1 OR HVD_PARCIAL = 1") + ' + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_rep_hist_ventas_marquez_REPG" + cmd.Parameters = Array As Object(C.GetString("HVD_CLIENTE"),C.GetString("HVD_PRONOMBRE"),C.GetString("HVD_CANT"),C.GetString("HVD_COSTO_TOT"),C.GetString("HVD_CODPROMO"),C.GetString("HVD_PROID"),C.GetString("HVD_NUM_TICKET"),C.GetString("HVD_NUM_REGISTRO"),C.GetString("HVD_RECHAZO"),C.GetString("HVD_PARCIAL"), almacen) + reqManager.ExecuteCommand(cmd , "inst_noventa") + Next + c.Close + End If +' pedido + c=B4XPages.MainPage.skmt.ExecQuery("SELECT PE_TIPO, PE_RUTA, PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_FECHA, PE_USUARIO, PE_CLIENTEOR, PE_CAJAS, PE_BCAJAS, CONSECUTIVO, FECHA_PREV, RUTA_REP, PE_REGALO FROM PEDIDO") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_pedido_REP_marquez" + cmd.Parameters = Array As Object(c.GetString("PE_TIPO"), c.GetString("PE_RUTA"), c.GetString("PE_CEDIS"), c.GetString("PE_COSTO_TOT"), c.GetString("PE_COSTOU"), c.GetString("PE_CANT"), c.GetString("PE_PRONOMBRE"), c.GetString("PE_PROID"), c.GetString("PE_CLIENTE"), c.GetString("PE_FECHA"), c.GetString("PE_USUARIO"), c.GetString("PE_CLIENTEOR"), c.GetString("PE_CAJAS"), c.GetString("PE_BCAJAS"), c.GetString("CONSECUTIVO"), c.GetString("FECHA_PREV"), c.GetString("RUTA_REP"), c.GetString("PE_REGALO")) + reqManager.ExecuteCommand(cmd , "ins_pedido_marquez") + Next + c.Close + End If + + +' reqManager.Initialize(Me, "http://187.189.244.154:1787") 'Para el servidor de pruebas. + c = B4XPages.MainPage.skmt.ExecQuery("SELECT * from reparto") + If c.RowCount > 0 Then + Private folio As String = Subs.hmsKMT + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insertReparto_marquez" + cmd.Parameters = Array As Object(folio, C.GetString("REP_FECHA"), C.GetString("REP_CLIENTE"), C.GetString("REP_CLI_ORIG"), C.GetString("REP_PRODID"), C.GetString("REP_PRONOMBRE"), C.GetString("REP_PRODREGISTRO"), C.GetString("REP_CANT"), C.GetString("REP_PRECIO"), C.GetString("REP_COSTO_TOT"), C.GetString("REP_RECHAZO"),almacen,l_ruta.Text) + reqManager.ExecuteCommand(cmd , "ins_reparto") + Next + c.Close + End If + c = B4XPages.MainPage.skmt.ExecQuery("SELECT * from rechazos") + If c.RowCount > 0 Then + Private folio As String = Subs.hmsKMT + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insertRechazos_marquez" + cmd.Parameters = Array As Object(folio, C.GetString("R_FECHA"), C.GetString("R_CLIENTE"), C.GetString("R_CLI_ORIG"), C.GetString("R_PRODID"), C.GetString("R_CANT"), C.GetString("R_RECHAZO"),almacen,l_ruta.Text) + reqManager.ExecuteCommand(cmd , "ins_rechazos") + Next + c.Close + End If + c = B4XPages.MainPage.skmt.ExecQuery("SELECT * from ventas") + If c.RowCount > 0 Then + Private folio As String = Subs.hmsKMT + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insertVentas_marquez" + cmd.Parameters = Array As Object(folio, C.GetString("V_FECHA"), C.GetString("V_CLIENTE"), C.GetString("V_CLI_ORIG"), C.GetString("V_PRODID"), C.GetString("V_CANT"), C.GetString("V_RECHAZO"),almacen,l_ruta.Text) + reqManager.ExecuteCommand(cmd , "ins_ventas") + Next + c.Close + End If + 'TABULADOR + c = B4XPages.MainPage.skmt.ExecQuery("SELECT VEINTE, DIEZ, CINCO, DOS, PESO, CENTAVO, TOTAL FROM TABULADOR_MONEDAS") + d = B4XPages.MainPage.skmt.ExecQuery("SELECT RUTAA FROM RUTAA") + b = B4XPages.MainPage.skmt.ExecQuery("SELECT ID_ALMACEN FROM CAT_ALMACEN") + f = B4XPages.MainPage.skmt.ExecQuery("SELECT HVD_FECHA FROM HIST_VENTAS") + d.Position = 0 + b.Position = 0 + f.Position = 0 + If c.RowCount > 0 Then + For i = 0 To c.RowCount - 1 + c.Position=i + Dim cmd As DBCommand + Dim fechatabulador() As String = Regex.Split(" ", f.GetString("HVD_FECHA")) + Dim fechatabulador2() As String = Regex.Split("-", fechatabulador(0)) + Dim fechatabulador3 As String = fechatabulador2(1)&"/"&fechatabulador2(2)&"/"&fechatabulador2(0) + cmd.Initialize + cmd.Name = "insert_tabulador_monedas_MARQUEZ" + cmd.Parameters = Array As Object(d.GetString("RUTAA"), b.GetString("ID_ALMACEN"),c.GetString("VEINTE"),c.GetString("DIEZ"),c.GetString("CINCO"),c.GetString("DOS"),c.GetString("PESO"),c.GetString("CENTAVO"),fechatabulador3) + reqManager.ExecuteCommand(cmd , "ins_tabulador_mon") + Next + c.Close + d.Close + b.Close + f.Close + End If + + c = B4XPages.MainPage.skmt.ExecQuery("SELECT IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT, HVD_CLIENTE, HVD_PROID, HVD_FECHA, HVD_CODPROMO, HVD_NUM_TICKET, HVD_CANT, CONSECUTIVO FROM HIST_VENTAS") + If c.RowCount > 0 Then + For i=0 To c.RowCount -1 + c.Position = i + Private d4 As Cursor = B4XPages.MainPage.skmt.ExecQuery($"SELECT CAT_CL_RUTA FROM kmt_info WHERE CAT_CL_CODIGO = '${c.GetString("HVD_CLIENTE")}'"$) + d4.Position = 0 + + Private d5 As Cursor = B4XPages.MainPage.skmt.ExecQuery($"SELECT IFNULL(Sum(PE_CANT),0) AS PE_CANT FROM PEDIDO WHERE PE_CLIENTEOR = '${c.GetString("HVD_CLIENTE")}' AND PE_PROID = '${c.GetString("HVD_PROID")}' AND CONSECUTIVO = '${c.GetString("CONSECUTIVO")}'"$) + d5.Position = 0 + Private restacant As String = d5.GetString("PE_CANT") + d5.Close + + Dim fecha1() As String = Regex.Split(" ", c.GetString("HVD_FECHA")) + Dim fecha2() As String = Regex.Split("-", fecha1(0)) + Dim fecha3 As String = fecha2(2)&"/"&fecha2(1)&"/"&fecha2(0) + Log(fecha3) + Dim hora() As String = Regex.Split("\.", fecha1(1)) + Log(hora(0)) + + Dim sDate, sTime As String + DateTime.DateFormat = "dd/MM/yyyy" + DateTime.TimeFormat = "HH:mm:ss" + sDate = DateTime.Date(DateTime.Now) + sTime = DateTime.Time(DateTime.Now) + If c.GetString("HVD_RECHAZOCANT") <> "0" Then + Log((c.GetString("HVD_RECHAZOCANT")-restacant)) + cmd.Initialize + cmd.Name = "update_HVD_MARQUEZrep" + cmd.Parameters = Array As String(c.GetString("HVD_RECHAZOCANT"),sDate& " "& sTime,1, c.GetString("HVD_CLIENTE"), c.GetString("HVD_PROID"),fecha3&" "&hora(0), d4.GetString("CAT_CL_RUTA"),almacen,l_ruta.Text,c.GetString("HVD_CODPROMO"),c.GetString("HVD_NUM_TICKET"), c.GetString("HVD_CANT")) + reqManager.ExecuteCommand(cmd, "update_hvd") + Else + cmd.Initialize + cmd.Name = "update_HVD_MARQUEZrep" + cmd.Parameters = Array As String("","","", c.GetString("HVD_CLIENTE"), c.GetString("HVD_PROID"),fecha3&" "&hora(0), d4.GetString("CAT_CL_RUTA"),almacen,l_ruta.Text,c.GetString("HVD_CODPROMO"),c.GetString("HVD_NUM_TICKET"), c.GetString("HVD_CANT")) + reqManager.ExecuteCommand(cmd, "update_hvd") + End If + d4.Close + Next + End If + c.Close + + + c = B4XPages.MainPage.skmt.ExecQuery("SELECT MIL, QUINIENTOS, DOCIENTOS, CIEN, CINCUENTA, VEINTE FROM TABULADOR_BILLETES") + d = B4XPages.MainPage.skmt.ExecQuery("SELECT RUTAA FROM RUTAA") + b = B4XPages.MainPage.skmt.ExecQuery("SELECT ID_ALMACEN FROM CAT_ALMACEN") + f = B4XPages.MainPage.skmt.ExecQuery("SELECT HVD_FECHA FROM HIST_VENTAS") + d.Position = 0 + b.Position = 0 + f.Position = 0 + If c.RowCount > 0 Then + For i = 0 To c.RowCount - 1 + c.Position=i + Dim cmd As DBCommand + Dim fechatabulador() As String = Regex.Split(" ", f.GetString("HVD_FECHA")) + Dim fechatabulador2() As String = Regex.Split("-", fechatabulador(0)) + Dim fechatabulador3 As String = fechatabulador2(1)&"/"&fechatabulador2(2)&"/"&fechatabulador2(0) + cmd.Initialize + cmd.Name = "insert_tabulador_billetes_MARQUEZ" + cmd.Parameters = Array As Object(b.GetString("ID_ALMACEN"), d.GetString("RUTAA"),c.GetString("MIL"),c.GetString("QUINIENTOS"),c.GetString("DOCIENTOS"),c.GetString("CIEN"),c.GetString("CINCUENTA"),c.GetString("VEINTE"),fechatabulador3) + reqManager.ExecuteCommand(cmd , "ins_tabulador_bill") + Next + c.Close + d.Close + b.Close + f.Close + End If + 'FIN TABULADOR + +' Dim cmd As DBCommand +' cmd.Initialize +' cmd.Name = "insert_drop_rep_marquez" +' cmd.Parameters = Array As Object(Subs.dameUsuarioDeDB, l_ruta.Text, almacen, l_ctast.text, Subs.traeEntregados, Subs.traeRechazados, "ENVIO") +' reqManager.ExecuteCommand(cmd , "inst_drop") +' ToastMessageShow("Se Actualizaran los datos, Este proceso podria tardar hasta un minuto, gracias "& l_ruta.text , True) +End Sub + +' Nuevo método para inicializar el manager con el Target correcto +Public Sub ConfigurarYEnviar(ServidorURL As String) + ' 'Me' aquí es C_Intmex, asegurando que C_Intmex.JobDone sea llamado. + reqManager.Initialize(Me, ServidorURL) + envia ' Llama a la función de envío original de C_Intmex +End Sub + +Sub JobDone(Job As HttpJob) + Log("JOBDONE") + Log(reqManager.link) + If reqManager.reqsList.IsInitialized Then 'Si tenemos lista de requests, la procesamos. + If reqManager.reqsList.IndexOf(Job.tag) <> -1 Then + reqManager.reqsList.RemoveAt(reqManager.reqsList.IndexOf(Job.tag)) + LogColor($">>>>>> Quitamos ${Job.tag}"$, Colors.Blue) + End If + LogColor(">>>>>> " & reqManager.reqsList.Size & " - " & reqManager.reqsList, Colors.Blue) + End If + If Job.Success = False Then + LogColor("Error: " & reqManager.HandleJob(Job).tag & " : " & Job.ErrorMessage, Colors.red) + Else 'If Job Success then ... + LogColor("JobDone: '" & reqManager.HandleJob(Job).tag & "' - Registros: " & reqManager.HandleJob(Job).Rows.Size, Colors.RGB(0,160,0)) 'Mod por CHV - 211027 + Log(reqManager.reqsList.size) + If reqManager.reqsList.size = 0 Then B4XPages.MainPage.p_progressDialog.Visible = False + End If + Job.Release +End Sub \ No newline at end of file diff --git a/B4A/C_Mazapa.bas b/B4A/C_Mazapa.bas index 2c51c52..c8651a9 100644 --- a/B4A/C_Mazapa.bas +++ b/B4A/C_Mazapa.bas @@ -8,6 +8,7 @@ Sub Class_Globals Private Root As B4XView 'ignore Private xui As XUI 'ignore Dim reqManager As DBRequestManager + Dim cmd As DBCommand Dim c, d As Cursor Dim usuario, almacen As String Dim datos_iguales, almacen, carga, paso, conteo, porcentaje, perfil, cuantos, NUMERO_PEDIDO, usuario, cuantos_exib, cuantos_pedidosc, cuantos_noventa, cuantos_ped, cuantos_pedido As String @@ -15,7 +16,7 @@ End Sub 'You can add more parameters here. Public Sub Initialize As Object - reqManager.Initialize(Me, "http://192.99.93.204:1781") + reqManager.Initialize(Me, "http://keymon.net:1781") Return Me End Sub @@ -93,7 +94,7 @@ Sub envia Dim cmd As DBCommand cmd.Initialize cmd.Name = "insert_pagares_mazapa" - cmd.Parameters = Array As String(C.GetString("PA_ALMACEN"),Subs.traeRuta2(c.GetString("PA_CLIENTE")),C.GetString("PA_FECHA"),C.GetString("PA_CAPTURA"),C.GetString("PA_MONTO"),C.GetString("PA_USUARIO"),C.GetString("PA_CLIENTE") ) + cmd.Parameters = Array As String(C.GetString("PA_ALMACEN"),Subs.traeRuta,C.GetString("PA_FECHA"),C.GetString("PA_CAPTURA"),C.GetString("PA_MONTO"),C.GetString("PA_USUARIO"),C.GetString("PA_CLIENTE") ) reqManager.ExecuteCommand(cmd , "ins_pagares") Next End If @@ -171,7 +172,7 @@ Sub envia cmd.Name = "insert_pedido_CLIENTE_mazapa" PCNoArts = c.GetString("PC_NOART") PCMonto = c.GetString("PC_MONTO") - cmd.Parameters = Array As String(c.GetString("PC_CLIENTE"), c.GetString("PC_FECHA"), c.GetString("PC_USER"), c.GetString("PC_NOART"), c.GetString("PC_MONTO"), c.GetString("PC_LON"), c.GetString("PC_LAT"), almacen, Subs.traeRuta2(c.GetString("PC_CLIENTE")), c.GetString("PC_COSTO_SIN"), c.GetString("PC_FACTURA"), c.GetString("PC_IMPRESO")) + cmd.Parameters = Array As String(c.GetString("PC_CLIENTE"), c.GetString("PC_FECHA"), c.GetString("PC_USER"), c.GetString("PC_NOART"), c.GetString("PC_MONTO"), c.GetString("PC_LON"), c.GetString("PC_LAT"), almacen, Subs.traeRuta, c.GetString("PC_COSTO_SIN"), c.GetString("PC_FACTURA"), c.GetString("PC_IMPRESO")) reqManager.ExecuteCommand(cmd , "ins_pedidos") Log(">>>>>> INSERT PEDIDO_CLIENTE") Next @@ -190,8 +191,8 @@ Sub envia Dim cmd As DBCommand cmd.Initialize cmd.Name = "insert_pedido_PE_mazapa" 'CON TOTALES INCLUIDOS - Log(c.GetString("PE_CEDIS")&", "&almacen&", "&c.GetString("PE_COSTO_TOT")&", "&c.GetString("PE_COSTOU")&", "&c.GetString("PE_CANT")&", "&c.GetString("PE_PRONOMBRE")&", "&c.GetString("PE_PROID")&", "&c.GetString("PE_CLIENTE")&", "&c.GetString("PE_FECHA")&", "&c.GetString("PE_USUARIO")&", "&Subs.traeRuta2(c.GetString("PE_CLIENTE"))&", "& c.GetString("PE_COSTO_SIN")&", "&c.GetString("PE_DESC")&", "&c.GetString("PE_FOLIO")&", "& almacen) - cmd.Parameters = Array As String(c.GetString("PE_CEDIS"),almacen,c.GetString("PE_COSTO_TOT"),c.GetString("PE_COSTOU"),c.GetString("PE_CANT"),c.GetString("PE_PRONOMBRE"),c.GetString("PE_PROID"),c.GetString("PE_CLIENTE"),c.GetString("PE_FECHA"),c.GetString("PE_USUARIO"),Subs.traeRuta2(c.GetString("PE_CLIENTE")), c.GetString("PE_COSTO_SIN"),c.GetString("PE_DESC"),c.GetString("PE_FOLIO"),c.GetString("PE_CANTC"),c.GetString("PE_BCAJAS"), c.GetString("PE_IMPRESO")) +' Log(c.GetString("PE_CEDIS")&", "&almacen&", "&c.GetString("PE_COSTO_TOT")&", "&c.GetString("PE_COSTOU")&", "&c.GetString("PE_CANT")&", "&c.GetString("PE_PRONOMBRE")&", "&c.GetString("PE_PROID")&", "&c.GetString("PE_CLIENTE")&", "&c.GetString("PE_FECHA")&", "&c.GetString("PE_USUARIO")&", "&Subs.traeRuta&", "& c.GetString("PE_COSTO_SIN")&", "&c.GetString("PE_DESC")&", "&c.GetString("PE_FOLIO")&", "& almacen) + cmd.Parameters = Array As String(c.GetString("PE_CEDIS"),almacen,c.GetString("PE_COSTO_TOT"),c.GetString("PE_COSTOU"),c.GetString("PE_CANT"),c.GetString("PE_PRONOMBRE"),c.GetString("PE_PROID"),c.GetString("PE_CLIENTE"),c.GetString("PE_FECHA"),c.GetString("PE_USUARIO"),Subs.traeRuta, c.GetString("PE_COSTO_SIN"),c.GetString("PE_DESC"),c.GetString("PE_FOLIO"),c.GetString("PE_CANTC"),c.GetString("PE_BCAJAS"), c.GetString("PE_IMPRESO")) reqManager.ExecuteCommand(cmd , $"ins_pedidosPendientes_prods_${c.GetString("PE_CLIENTE")}_${c.GetString("PE_PROID")}"$) ' Log($">>>> INS_PEDIDO= ${C.GetString("PE_CEDIS")},${ALMACEN},${C.GetString("PE_COSTO_TOT")},${C.GetString("PE_COSTOU")},${C.GetString("PE_CANT")}, ${C.GetString("PE_PRONOMBRE")}, ${C.GetString("PE_PROID")}, ${C.GetString("PE_CLIENTE")}, ${C.GetString("PE_FECHA")}, ${C.GetString("PE_USUARIO")}, ${C.GetString("PE_RUTA")}, ${C.GetString("PE_COSTO_SIN")}, ${C.GetString("PE_DESC")}, ${c.GetString("PE_FOLIO")}, ${PCNoArts}, ${PCMonto}"$) ' cmd.Name = "insert_pedido_INTMEX" ' SIN TOTALES INCLUIDOS @@ -213,7 +214,7 @@ Sub envia Dim cmd As DBCommand cmd.Initialize cmd.Name = "insert_noventa_mazapa" - cmd.Parameters = Array As String(C.GetString("NV_CLIENTE"),C.GetString("NV_FECHA"),C.GetString("NV_USER"),C.GetString("NV_MOTIVO"),C.GetString("NV_COMM"),C.GetString("NV_LAT"),C.GetString("NV_LON"), almacen, Subs.traeRuta2(c.GetString("NV_CLIENTE"))) + cmd.Parameters = Array As String(C.GetString("NV_CLIENTE"),C.GetString("NV_FECHA"),C.GetString("NV_USER"),C.GetString("NV_MOTIVO"),C.GetString("NV_COMM"),C.GetString("NV_LAT"),C.GetString("NV_LON"), almacen, Subs.traeRuta) reqManager.ExecuteCommand(cmd , "inst_noventa") Next End If @@ -290,4 +291,34 @@ Sub checaPedido If c.RowCount > 0 Then B4XPages.MainPage.skmt.ExecNonQuery("Update kmt_info set gestion = 3 WHERE CAT_CL_CODIGO IN (SELECT NV_CLIENTE FROM NOVENTA)") End If +End Sub + +Sub valida + cmd.Initialize + cmd.Name = "select_cuantos_pedido_mazapa" + cmd.Parameters = Array As Object(almacen, Subs.traeRuta) + reqManager.ExecuteQuery(cmd , 0, "valida_pedido") + + cmd.Initialize + cmd.Name = "select_cuantos_noventa_mazapa" + cmd.Parameters = Array As Object(almacen, Subs.traeRuta) + reqManager.ExecuteQuery(cmd , 0, "valida_noventa") + + cmd.Initialize + cmd.Name = "select_cuantos_pedidoc_mazapa" + cmd.Parameters = Array As Object(almacen, Subs.traeRuta) + reqManager.ExecuteQuery(cmd , 0, "valida_pedidoc") + +' If PB2.Progress = 0 Then +' S_CP.Text = "ENVIAR DATOS (K-1)" +' End If +' img2.Visible=False +' t1.Enabled = False +End Sub + +' Nuevo método para inicializar el manager con el Target correcto +Public Sub ConfigurarYEnviar(ServidorURL As String) + ' 'Me' aquí es C_Intmex, asegurando que C_Intmex.JobDone sea llamado. + reqManager.Initialize(Me, ServidorURL) + envia ' Llama a la función de envío original de C_Intmex End Sub \ No newline at end of file diff --git a/B4A/C_Mazapa_Reparto.bas b/B4A/C_Mazapa_Reparto.bas new file mode 100644 index 0000000..708acd0 --- /dev/null +++ b/B4A/C_Mazapa_Reparto.bas @@ -0,0 +1,329 @@ +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Class +Version=12.8 +@EndOfDesignText@ +Sub Class_Globals + Dim reqManager As DBRequestManager + Dim cmd As DBCommand + Dim b, c, d, f As Cursor + Dim almacen, perfil, cuantos, NUMERO_PEDIDO, usuario, cuantos_exib, cuantos_pedidosc, cuantos_noventa, cuantos_ped, cuantos_pedido As String + Dim l_ruta As Label + Dim foto1() As Byte + Dim successfulRequests As Int = 0 + Dim totalRegistros As Int = 0 + Dim totalRegistrosTotales As Int = 0 + Dim todosRequest As Int = 0 +End Sub + +'Initializes the object. You can add parameters to this method if needed. +Public Sub Initialize + +End Sub + +Sub envia + Log("*** Entramos a envia info***") + Log("--- Entramos a envia info---") + Log("### Entramos a envia info###") + successfulRequests = 0 + totalRegistros = 0 + totalRegistrosTotales = 0 + todosRequest = -1 +' bEnvioInfo.Enabled = False + ' NOVENTA + c = B4XPages.MainPage.skmt.ExecQuery("SELECT NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON, NV_FOTO FROM NOVENTA") + D=B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM NOVENTA") + If c.RowCount>0 Then + Log($"Procesando NOVENTA: ${c.RowCount} registros"$) + totalRegistros = totalRegistros + c.RowCount + totalRegistrosTotales = totalRegistrosTotales + c.RowCount + Log($"Total acumulado: ${totalRegistros}"$) + + For i=0 To c.RowCount -1 + c.Position=i + foto1 = c.GetBlob("NV_FOTO") + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_reparto_noventa_MAZAPA_REPG" + cmd.Parameters = Array As Object(C.GetString("NV_CLIENTE"),C.GetString("NV_FECHA"),C.GetString("NV_USER"),C.GetString("NV_MOTIVO"),C.GetString("NV_COMM"),C.GetString("NV_LAT"),C.GetString("NV_LON"), almacen, l_ruta.Text) + reqManager.ExecuteCommand(cmd , "inst_noventa") + Next + c.Close + End If + d.Position=0 + cuantos_noventa = D.GetString("CUANTOS_NOVENTA") + d.Close + + ' HIST_VENTAS con rechazo o parcial + c=B4XPages.MainPage.skmt.ExecQuery("SELECT HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT, HVD_FECHA, HVD_CODPROMO, HVD_PROID, HVD_NUM_TICKET, HVD_NUM_REGISTRO, HVD_RECHAZO, HVD_PARCIAL FROM hist_ventas WHERE HVD_RECHAZO = 1 OR HVD_PARCIAL = 1") + If c.RowCount>0 Then + Log($"Procesando HIST_VENTAS (rechazos/parciales): ${c.RowCount} registros"$) + totalRegistros = totalRegistros + c.RowCount + totalRegistrosTotales = totalRegistrosTotales + c.RowCount + Log($"Total acumulado: ${totalRegistros}"$) + + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_rep_hist_ventas_MAZAPA_REPG" + cmd.Parameters = Array As Object(C.GetString("HVD_CLIENTE"),C.GetString("HVD_PRONOMBRE"),C.GetString("HVD_CANT"),C.GetString("HVD_COSTO_TOT"),C.GetString("HVD_CODPROMO"),C.GetString("HVD_PROID"),C.GetString("HVD_NUM_TICKET"),C.GetString("HVD_NUM_REGISTRO"),C.GetString("HVD_RECHAZO"),C.GetString("HVD_PARCIAL"), almacen) + reqManager.ExecuteCommand(cmd , "inst_noventa") + Next + c.Close + End If + + ' PEDIDO + c=B4XPages.MainPage.skmt.ExecQuery("SELECT PE_TIPO, PE_RUTA, PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_FECHA, PE_USUARIO, PE_CLIENTEOR, PE_CAJAS, PE_BCAJAS, CONSECUTIVO, FECHA_PREV, RUTA_REP, PE_REGALO FROM PEDIDO") + If c.RowCount>0 Then + Log(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>Pedido reparto <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<") + Log($"Procesando PEDIDO: ${c.RowCount} registros"$) + totalRegistros = totalRegistros + c.RowCount + totalRegistrosTotales = totalRegistrosTotales + c.RowCount + Log($"Total acumulado: ${totalRegistros}"$) + Log(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>Pedido reparto <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<") + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_pedido_REP_MAZAPA" + cmd.Parameters = Array As Object(c.GetString("PE_TIPO"), c.GetString("PE_RUTA"), c.GetString("PE_CEDIS"), c.GetString("PE_COSTO_TOT"), c.GetString("PE_COSTOU"), c.GetString("PE_CANT"), c.GetString("PE_PRONOMBRE"), c.GetString("PE_PROID"), c.GetString("PE_CLIENTE"), c.GetString("PE_FECHA"), c.GetString("PE_USUARIO"), c.GetString("PE_CLIENTEOR"), c.GetString("PE_CAJAS"), c.GetString("PE_BCAJAS"), c.GetString("CONSECUTIVO"), c.GetString("FECHA_PREV"), c.GetString("RUTA_REP"), c.GetString("PE_REGALO")) + reqManager.ExecuteCommand(cmd , "ins_pedido_MAZAPA") + Next + c.Close + End If + + ' REPARTO + c = B4XPages.MainPage.skmt.ExecQuery("SELECT * from reparto") + If c.RowCount > 0 Then + Log($"Procesando REPARTO: ${c.RowCount} registros"$) + totalRegistros = totalRegistros + c.RowCount + totalRegistrosTotales = totalRegistrosTotales + c.RowCount + Log($"Total acumulado: ${totalRegistros}"$) + + Private folio As String = Subs.hmsKMT + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insertReparto_MAZAPA" + cmd.Parameters = Array As Object(folio, C.GetString("REP_FECHA"), C.GetString("REP_CLIENTE"), C.GetString("REP_CLI_ORIG"), C.GetString("REP_PRODID"), C.GetString("REP_PRONOMBRE"), C.GetString("REP_PRODREGISTRO"), C.GetString("REP_CANT"), C.GetString("REP_PRECIO"), C.GetString("REP_COSTO_TOT"), C.GetString("REP_RECHAZO"),almacen,l_ruta.Text) + reqManager.ExecuteCommand(cmd , "ins_reparto") + Next + c.Close + End If + + ' RECHAZOS + c = B4XPages.MainPage.skmt.ExecQuery("SELECT * from rechazos") + If c.RowCount > 0 Then + Log($"Procesando RECHAZOS: ${c.RowCount} registros"$) + totalRegistros = totalRegistros + c.RowCount + totalRegistrosTotales = totalRegistrosTotales + c.RowCount + Log($"Total acumulado: ${totalRegistros}"$) + + Private folio As String = Subs.hmsKMT + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insertRechazos_MAZAPA" + cmd.Parameters = Array As Object(folio, C.GetString("R_FECHA"), C.GetString("R_CLIENTE"), C.GetString("R_CLI_ORIG"), C.GetString("R_PRODID"), C.GetString("R_CANT"), C.GetString("R_RECHAZO"),almacen,l_ruta.Text) + reqManager.ExecuteCommand(cmd , "ins_rechazos") + Next + c.Close + End If + + ' VENTAS + c = B4XPages.MainPage.skmt.ExecQuery("SELECT * from ventas") + If c.RowCount > 0 Then + Log($"Procesando VENTAS: ${c.RowCount} registros"$) + totalRegistros = totalRegistros + c.RowCount + totalRegistrosTotales = totalRegistrosTotales + c.RowCount + Log($"Total acumulado: ${totalRegistros}"$) + + Private folio As String = Subs.hmsKMT + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insertVentas_MAZAPA" + cmd.Parameters = Array As Object(folio, C.GetString("V_FECHA"), C.GetString("V_CLIENTE"), C.GetString("V_CLI_ORIG"), C.GetString("V_PRODID"), C.GetString("V_CANT"), C.GetString("V_RECHAZO"),almacen,l_ruta.Text) + reqManager.ExecuteCommand(cmd , "ins_ventas") + Next + c.Close + End If + + ' REPARTO_GEO + c=B4XPages.MainPage.skmt.ExecQuery("SELECT CLIENTE, USUARIO, FECHA_PUNTEO, LATITUD, LONGITUD, ALMACEN, RUTA_REPARTO, RUTA_PREV, FECHA_PREVENTA, MOTIVO, COMENTARIO,TIPO FROM REPARTO_GEO") + If c.RowCount>0 Then + Log($"Procesando REPARTO_GEO: ${c.RowCount} registros"$) + totalRegistros = totalRegistros + c.RowCount + totalRegistrosTotales = totalRegistrosTotales + c.RowCount + Log($"Total acumulado: ${totalRegistros}"$) + + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_REPARTO_MAZAPA" + cmd.Parameters = Array As Object(c.GetString("CLIENTE"), c.GetString("USUARIO"), c.GetString("FECHA_PUNTEO"), c.GetString("LATITUD"), c.GetString("LONGITUD"), c.GetString("ALMACEN"), c.GetString("RUTA_REPARTO"), c.GetString("RUTA_PREV"), c.GetString("FECHA_PREVENTA"), c.GetString("MOTIVO"), c.GetString("COMENTARIO"),c.GetString("TIPO")) + reqManager.ExecuteCommand(cmd , $"ins_REPARTOPendientes_head_${c.GetString("CLIENTE")}"$) + Next + End If + c.Close + + ' TABULADOR_MONEDAS + c = B4XPages.MainPage.skmt.ExecQuery("SELECT VEINTE, DIEZ, CINCO, DOS, PESO, CENTAVO, TOTAL FROM TABULADOR_MONEDAS") + d = B4XPages.MainPage.skmt.ExecQuery("SELECT RUTAA FROM RUTAA") + b = B4XPages.MainPage.skmt.ExecQuery("SELECT ID_ALMACEN FROM CAT_ALMACEN") + f = B4XPages.MainPage.skmt.ExecQuery("SELECT HVD_FECHA FROM HIST_VENTAS") + d.Position = 0 + b.Position = 0 + f.Position = 0 + If c.RowCount > 0 Then + Log($"Procesando TABULADOR_MONEDAS: ${c.RowCount} registros"$) + totalRegistros = totalRegistros + c.RowCount + totalRegistrosTotales = totalRegistrosTotales + c.RowCount + Log($"Total acumulado: ${totalRegistros}"$) + + For i = 0 To c.RowCount - 1 + c.Position=i + Dim cmd As DBCommand + Dim fechatabulador() As String = Regex.Split(" ", f.GetString("HVD_FECHA")) + Dim fechatabulador2() As String = Regex.Split("-", fechatabulador(0)) + Dim fechatabulador3 As String = fechatabulador2(1)&"/"&fechatabulador2(2)&"/"&fechatabulador2(0) + cmd.Initialize + cmd.Name = "insert_tabulador_monedas_MAZAPA" + cmd.Parameters = Array As Object(d.GetString("RUTAA"), b.GetString("ID_ALMACEN"),c.GetString("VEINTE"),c.GetString("DIEZ"),c.GetString("CINCO"),c.GetString("DOS"),c.GetString("PESO"),c.GetString("CENTAVO"),fechatabulador3) + reqManager.ExecuteCommand(cmd , "ins_tabulador_mon") + Next + c.Close + d.Close + b.Close + f.Close + End If + + ' HIST_VENTAS para actualización + c = B4XPages.MainPage.skmt.ExecQuery("SELECT IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT, HVD_RUTA, HVD_CLIENTE, HVD_PROID, HVD_FECHA, HVD_CODPROMO, HVD_NUM_TICKET, HVD_CANT, CONSECUTIVO, BCAJAS_OR AS BCAJAS, CANTC_OR AS CANTC FROM HIST_VENTAS") + If c.RowCount > 0 Then + Log($"Procesando HIST_VENTAS (actualización): ${c.RowCount} registros"$) + totalRegistros = totalRegistros + c.RowCount + totalRegistrosTotales = totalRegistrosTotales + c.RowCount + Log($"Total acumulado: ${totalRegistros}"$) + + For i=0 To c.RowCount -1 + c.Position = i + Log(c.GetString("HVD_CLIENTE")) + Private d4 As Cursor = B4XPages.MainPage.skmt.ExecQuery($"SELECT CAT_CL_RUTA FROM kmt_info WHERE CAT_CL_CODIGO = '${c.GetString("HVD_CLIENTE")}'"$) + d4.Position = 0 + Log(d4.GetString("CAT_CL_RUTA")) + Private d5 As Cursor = B4XPages.MainPage.skmt.ExecQuery($"SELECT IFNULL(Sum(PE_CANT),0) AS PE_CANT FROM PEDIDO WHERE PE_CLIENTEOR = '${c.GetString("HVD_CLIENTE")}' AND PE_PROID = '${c.GetString("HVD_PROID")}' AND CONSECUTIVO = '${c.GetString("CONSECUTIVO")}'"$) + d5.Position = 0 + Private restacant As String = d5.GetString("PE_CANT") + d5.Close + + Dim fecha1() As String = Regex.Split(" ", c.GetString("HVD_FECHA")) + Dim fecha2() As String = Regex.Split("-", fecha1(0)) + Dim fecha3 As String = fecha2(2)&"/"&fecha2(1)&"/"&fecha2(0) + Log(fecha3) + Dim hora() As String = Regex.Split("\.", fecha1(1)) + Log(hora(0)) + + Dim sDate, sTime As String + DateTime.DateFormat = "dd/MM/yyyy" + DateTime.TimeFormat = "HH:mm:ss" + sDate = DateTime.Date(DateTime.Now) + sTime = DateTime.Time(DateTime.Now) + If c.GetString("HVD_RECHAZOCANT") <> "0" Then + Log((c.GetString("HVD_RECHAZOCANT")-restacant)) + cmd.Initialize + cmd.Name = "update_HVD_MAZAPArep2" + cmd.Parameters = Array As String(c.GetString("HVD_RECHAZOCANT"),c.GetString("BCAJAS"), c.GetString("CANTC"),sDate& " "& sTime,1, c.GetString("HVD_CLIENTE"), c.GetString("HVD_PROID"),fecha3&" "&hora(0), c.GetString("HVD_RUTA"),almacen,l_ruta.Text,c.GetString("HVD_CODPROMO"),c.GetString("HVD_NUM_TICKET"), c.GetString("HVD_CANT")) + reqManager.ExecuteCommand(cmd, "update_hvd") + Else + cmd.Initialize + cmd.Name = "update_HVD_MAZAPArep2" + Log( c.GetString("CANTC")& c.GetString("HVD_CLIENTE")& c.GetString("HVD_PROID")&fecha3&" "&hora(0)& d4.GetString("CAT_CL_RUTA")&almacen&l_ruta.Text&c.GetString("HVD_CODPROMO")&c.GetString("HVD_NUM_TICKET")& c.GetString("HVD_CANT")) + cmd.Parameters = Array As String("",c.GetString("BCAJAS"), c.GetString("CANTC"),"","", c.GetString("HVD_CLIENTE"), c.GetString("HVD_PROID"),fecha3&" "&hora(0), c.GetString("HVD_RUTA"),almacen,l_ruta.Text,c.GetString("HVD_CODPROMO"),c.GetString("HVD_NUM_TICKET"), c.GetString("HVD_CANT")) + reqManager.ExecuteCommand(cmd, "update_hvd") + End If + d4.Close + Next + End If + c.Close + + ' TABULADOR_BILLETES + c = B4XPages.MainPage.skmt.ExecQuery("SELECT MIL, QUINIENTOS, DOCIENTOS, CIEN, CINCUENTA, VEINTE FROM TABULADOR_BILLETES") + d = B4XPages.MainPage.skmt.ExecQuery("SELECT RUTAA FROM RUTAA") + b = B4XPages.MainPage.skmt.ExecQuery("SELECT ID_ALMACEN FROM CAT_ALMACEN") + f = B4XPages.MainPage.skmt.ExecQuery("SELECT HVD_FECHA FROM HIST_VENTAS") + d.Position = 0 + b.Position = 0 + f.Position = 0 + If c.RowCount > 0 Then + Log($"Procesando TABULADOR_BILLETES: ${c.RowCount} registros"$) + totalRegistros = totalRegistros + c.RowCount + totalRegistrosTotales = totalRegistrosTotales + c.RowCount + Log($"Total acumulado: ${totalRegistros}"$) + + For i = 0 To c.RowCount - 1 + c.Position=i + Dim cmd As DBCommand + Dim fechatabulador() As String = Regex.Split(" ", f.GetString("HVD_FECHA")) + Dim fechatabulador2() As String = Regex.Split("-", fechatabulador(0)) + Dim fechatabulador3 As String = fechatabulador2(1)&"/"&fechatabulador2(2)&"/"&fechatabulador2(0) + cmd.Initialize + cmd.Name = "insert_tabulador_billetes_MAZAPA" + cmd.Parameters = Array As Object(b.GetString("ID_ALMACEN"), d.GetString("RUTAA"),c.GetString("MIL"),c.GetString("QUINIENTOS"),c.GetString("DOCIENTOS"),c.GetString("CIEN"),c.GetString("CINCUENTA"),c.GetString("VEINTE"),fechatabulador3) + reqManager.ExecuteCommand(cmd , "ins_tabulador_bill") + Next + c.Close + d.Close + b.Close + f.Close + End If + +' ' Insertar drop +' Dim cmd As DBCommand +' cmd.Initialize +' cmd.Name = "insert_drop_rep_MAZAPA2" +' cmd.Parameters = Array As Object(Subs.dameUsuarioDeDB, l_ruta.Text, almacen, l_ctast.text, Subs.traeEntregados, Subs.traeRechazados, "ENVIO", Application.VersionName) +' reqManager.ExecuteCommand(cmd , "inst_drop") + + Log($"PROCESO COMPLETADO - TOTAL DE REGISTROS PROCESADOS: ${totalRegistros}"$) + ToastMessageShow("Se Actualizaron los datos, Este proceso podria tardar hasta un minuto, gracias "& l_ruta.text , True) + +' Wait For AllRequestsComplete ' Espera a que todos los requests terminen + +' Log($"Total registros procesados: ${totalRegistros}"$) +' Log($"Requests exitosos: ${successfulRequests}"$) +' LogColor("Esto es totalRegistrosTotales: ---->" & totalRegistrosTotales, Colors.Red) +End Sub + +' Nuevo método para inicializar el manager con el Target correcto +Public Sub ConfigurarYEnviar(ServidorURL As String) + ' 'Me' aquí es C_Intmex, asegurando que C_Intmex.JobDone sea llamado. + reqManager.Initialize(Me, ServidorURL) + envia ' Llama a la función de envío original de C_Intmex +End Sub + +Sub JobDone(Job As HttpJob) + Log("JOBDONE") + Log(reqManager.link) + If reqManager.reqsList.IsInitialized Then 'Si tenemos lista de requests, la procesamos. + If reqManager.reqsList.IndexOf(Job.tag) <> -1 Then + reqManager.reqsList.RemoveAt(reqManager.reqsList.IndexOf(Job.tag)) + LogColor($">>>>>> Quitamos ${Job.tag}"$, Colors.Blue) + End If + LogColor(">>>>>> " & reqManager.reqsList.Size & " - " & reqManager.reqsList, Colors.Blue) + End If + If Job.Success = False Then + LogColor("Error: " & reqManager.HandleJob(Job).tag & " : " & Job.ErrorMessage, Colors.red) + Else 'If Job Success then ... + LogColor("JobDone: '" & reqManager.HandleJob(Job).tag & "' - Registros: " & reqManager.HandleJob(Job).Rows.Size, Colors.RGB(0,160,0)) 'Mod por CHV - 211027 + Log(reqManager.reqsList.size) + If reqManager.reqsList.size = 0 Then B4XPages.MainPage.p_progressDialog.Visible = False + End If + Job.Release +End Sub \ No newline at end of file diff --git a/B4A/C_Profina.bas b/B4A/C_Profina.bas new file mode 100644 index 0000000..f69a39d --- /dev/null +++ b/B4A/C_Profina.bas @@ -0,0 +1,301 @@ +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Class +Version=12.8 +@EndOfDesignText@ +Sub Class_Globals + Private Root As B4XView 'ignore + Private xui As XUI 'ignore + Dim reqManager As DBRequestManager + Dim cmd As DBCommand + Dim c, d As Cursor + Dim usuario, almacen As String + Dim datos_iguales, almacen, carga, paso, conteo, porcentaje, perfil, cuantos, NUMERO_PEDIDO, usuario, cuantos_exib, cuantos_pedidosc, cuantos_noventa, cuantos_ped, cuantos_pedido As String + Dim l_ruta As Label +End Sub + +'Initializes the object. You can add parameters to this method if needed. +Public Sub Initialize + reqManager.Initialize(Me, "http://keymon.net:1781") + l_ruta.Initialize("l") + Return Me +End Sub + +Sub envia + l_ruta.text = Subs.traeRuta +' carga = "SUBIR" +' P1.Visible = True +' p_mandaInfo.Visible = True +' P1.BringToFront +' p_mandaInfo.BringToFront +' 'trabajar.Visible = False +' NUEVO.Visible =False +' BUSCA.Visible=False +' connecta.Visible=False +' Subir.Visible=False +' cargar.Visible=False +' L_P_1.Visible = False +' S_CC.Visible = False +' L_P_3.Visible = False +' S_CH.Visible = False +' PB1.Visible = False +' Resumen.Visible= False +' +' L_P_2.Text = "Envio de Pedidos" +' L_P_3.Text = "Envio de Pedidos" +' S_CH.Text = "EN PROCESO" +' S_CP.Text = "EN PROCESO" +' PB1.Progress = 0 +' PB2.Progress = 0 + 'c=skmt.ExecQuery("SELECT sum(IFNULL(PE_DESC,0)) as DESCUENTO FROM PEDIDO") + 'c.Position =0 + 'If c.GetString("DESCUENTO") > 0 And PASO = 0 Then + 'P1.Visible = True + 'ELSE IF c.GetString("DESCUENTO") = 0 Then + paso = 1 + 'End If + If paso =1 Then + B4XPages.MainPage.skmt.ExecNonQuery2("delete from PEDIDO WHERE PE_PRONOMBRE = ? ", Array As Object("N/A") ) + B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE not In (select PE_CLIENTE from pedido)") + c=B4XPages.MainPage.skmt.ExecQuery("select usuario from usuarioa") + c.Position = 0 + usuario = c.GetString("USUARIO") + c.Close +' c=B4XPages.MainPage.skmt.ExecQuery("select HGDATE, HGLAT, HGLON from HIST_GPS") +' If c.RowCount>0 Then +' For i=0 To c.RowCount -1 +' c.Position=i +' Dim cmd As DBCommand +' cmd.Initialize +' cmd.Name = "UPDATE_PRO_ACTUAL2_GPS" +' cmd.Parameters = Array As Object(L_MONTOD.Text, L_CUANTOST.Text, l_cuantosc.Text,l_porvisitar.TEXT,c.GetString("hglat"),c.GetString("hglon"),batterystatus(0),LPT, STEYIN, STEYOUT,almacen,l_ruta.Text ) +' reqManager.ExecuteCommand(cmd , "update_gps") +' Next +' End If +' c.Close + ' PEDIO_CLIENTE + + c=B4XPages.MainPage.skmt.ExecQuery("SELECT PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT, PC_COSTO_SIN, PC_RUTA, PC_ALMACEN, PC_FACTURA, PC_SOLICITA FROM PEDIDO_CLIENTE ") + d=B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDOSC FROM PEDIDO_CLIENTE ") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_pedidos_pro2" + LogColor(c.GetString("PC_CLIENTE")&","& c.GetString("PC_FECHA")&","& c.GetString("PC_USER")&","& c.GetString("PC_NOART")&","& c.GetString("PC_MONTO")&","& c.GetString("PC_LON")&","& c.GetString("PC_LAT")&","& almacen&","& Subs.traeRuta&","& c.GetString("PC_COSTO_SIN")&","& c.GetString("PC_FACTURA")&","& c.GetString("PC_SOLICITA"),Colors.Magenta) + cmd.Parameters = Array As Object(c.GetString("PC_CLIENTE"), c.GetString("PC_FECHA"), c.GetString("PC_USER"), c.GetString("PC_NOART"), c.GetString("PC_MONTO"), c.GetString("PC_LON"), c.GetString("PC_LAT"), almacen, Subs.traeRuta, c.GetString("PC_COSTO_SIN"), c.GetString("PC_SOLICITA")) + + reqManager.ExecuteCommand(cmd , "ins_pedidos") + Next + End If + c.Close + d.Position=0 + cuantos_pedidosc = D.GetString("CUANTOS_PEDIDOSC") + d.Close + + ' ENVIO DE LOS CODIGOS QR + 'c=skmt.ExecQuery2("SELECT CAT_CL_NUM_SERIEFISICO,CAT_CL_CODIGO ,CAT_CL_LONG,CAT_CL_LAT, CAT_CL_FOTO FROM kmt_info where CAT_CL_NUM_SERIEFISICO = ?", Array As String("OK")) + + + c=B4XPages.MainPage.skmt.ExecQuery("SELECT CODIGOKMTS, CODIGOB, LAT, LON FROM HIST_CODIGO_BARRAS" ) + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_QR_PRO" + cmd.Parameters = Array As Object(C.GetString("CODIGOKMTS"),C.GetString("CODIGOB"),C.GetString("LON"),C.GetString("LAT"),almacen,l_ruta.text ) + reqManager.ExecuteCommand(cmd , "ins_QR") + Next + End If + c.Close + + +' c=B4XPages.MainPage.skmt.ExecQuery("SELECT CAT_CL_NUM_SERIEFISICO,CAT_CL_CODIGO ,CAT_CL_LONG,CAT_CL_LAT, CAT_CL_FOTO FROM kmt_info where CAT_CL_NUM_SERIEFISICO IS NOT NULL") +' If c.RowCount>0 Then +' For i=0 To c.RowCount -1 +' c.Position=i +' 's=skmt.ExecQuery2("SELECT HIST_VI_IMAGEN FROM HIST_VISITAS WHERE HIST_VI_CREDITO =?", Array As String (c.GetString("HIST_VI_CREDITO"))) +' 's.Position =0 +' foto1 = c.GetBlob("CAT_CL_FOTO") +' Dim cmd As DBCommand +' cmd.Initialize +' cmd.Name = "insert_QR_MARDS" +' cmd.Parameters = Array As Object(C.GetString("CAT_CL_NUM_SERIEFISICO"),C.GetString("CAT_CL_CODIGO"),C.GetString("CAT_CL_LONG"),C.GetString("CAT_CL_LAT"),ALMACEN,l_ruta.text, foto1 ) +' reqManager.ExecuteCommand(cmd , "ins_QR") +' Next +' End If +' c.Close + +' c=B4XPages.MainPage.skmt.ExecQuery("SELECT HE_CLIE, HE_RES, HE_FECHA, HE_TIPO FROM HIST_ENCUESTA") +' If c.RowCount>0 Then +' For i=0 To c.RowCount -1 +' c.Position=i +' Dim cmd As DBCommand +' cmd.Initialize +' cmd.Name = "insert_encuesta_MARDS" +' cmd.Parameters = Array As Object(C.GetString("HE_CLIE"),C.GetString("HE_RES"),C.GetString("HE_FECHA"), c.GetString("HE_TIPO")) +' reqManager.ExecuteCommand(cmd , "inst_noventa") +' Next +' End If +' c.Close + + c=B4XPages.MainPage.skmt.ExecQuery("SELECT PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO FROM PEDIDO") + d=B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_pedido_PRO" + cmd.Parameters = Array As Object(C.GetString("PE_CEDIS"),almacen,C.GetString("PE_COSTO_TOT"),C.GetString("PE_COSTOU"),C.GetString("PE_CANT"),C.GetString("PE_PRONOMBRE"),C.GetString("PE_PROID"),C.GetString("PE_CLIENTE"),C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),c.GetString("PE_FOLIO"),"PREVENTA") + reqManager.ExecuteCommand(cmd , "ins_pedido") + Next + End If + c.Close + d.Position=0 + cuantos_pedido = D.GetString("CUANTOS_PEDIDO") + d.Close + + ' NOVENTA + c=B4XPages.MainPage.skmt.ExecQuery("SELECT NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON, NV_NOMBRE, NV_DIRECCION FROM NOVENTA") + D=B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM NOVENTA") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_noventa_PRO" + cmd.Parameters = Array As Object(C.GetString("NV_CLIENTE"),C.GetString("NV_FECHA"),C.GetString("NV_USER"),C.GetString("NV_MOTIVO"),C.GetString("NV_COMM"),C.GetString("NV_LAT"),C.GetString("NV_LON"), almacen, l_ruta.Text) + reqManager.ExecuteCommand(cmd , "inst_noventa") + Next + End If + c.Close + d.Position=0 + cuantos_noventa = D.GetString("CUANTOS_NOVENTA") + d.Close + + ' CLIENTES NUEVOS + Dim fotocn() As Byte + Dim Dirp As String = File.DirInternal + Dim Dir As String + Dim Dir2 As String + Dir = "/promotoriakmts" + + c=B4XPages.MainPage.skmt.ExecQuery("SELECT CN_ID, CN_FECHA , CN_USER, CN_LAT, CN_LON, CN_NOMBRE, CN_DIRECCION, CN_FOTO, CN_ALMACEN, CN_RUTA, CN_GIRO FROM CLIENTES_NUEVOS") + If c.RowCount>0 Then + For i = 0 To c.RowCount - 1 + 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 cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_clientesnuevos_PRO" + 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")) + reqManager.ExecuteCommand(cmd , "inst_clientesn") + Next + End If + c.Close + ' GEO CERCA + +' c=B4XPages.MainPage.skmt.ExecQuery("Select HGCLIENTE, HGDATE, HGLAT, HGLON from HIST_GEOCERCA") +' If c.RowCount>0 Then +' For i=0 To c.RowCount -1 +' c.Position=i +' Dim cmd As DBCommand +' cmd.Initialize +' cmd.Name = "insert_geocerca_PRO" +' cmd.Parameters = Array As Object(C.GetString("HGCLIENTE"),C.GetString("HGDATE"),C.GetString("HGLAT"),C.GetString("HGLON")) +' reqManager.ExecuteCommand(cmd , "inst_noventa") +' Next +' End If +' c.Close + + ' LO DEL LIKE + +' c=B4XPages.MainPage.skmt.ExecQuery("Select HFCLIENTE, HFALIAS,HFRUTA,HFALMACEN from HIST_FACE") +' If c.RowCount>0 Then +' For i=0 To c.RowCount -1 +' c.Position=i +' Dim cmd As DBCommand +' cmd.Initialize +' cmd.Name = "insert_face_like_MARDS" +' cmd.Parameters = Array As Object(C.GetString("HFCLIENTE"),C.GetString("HFALIAS"),C.GetString("HFRUTA"),C.GetString("HFALMACEN")) +' reqManager.ExecuteCommand(cmd , "inst_noventa") +' Next +' End If + + 'fotos +' Dim fotox() As Byte +' Dim cmd As DBCommand +' c = B4XPages.MainPage.skmt.ExecQuery("Select CODIGO, ALMACEN, RUTA, NOM_FOTO from HIST_FOTO_CLIENTE") + ' +' c.Position = 0 +' +' Dim Dirp As String = File.DirInternal +' Dim Dir As String +' Dim Dir2 As String +' Dir = "/promotoriakmts" +' If c.RowCount>0 Then +' For i = 0 To c.RowCount - 1 +' c.Position = i +' Log(File.Exists(Dirp&Dir&Dir2,c.GetString("NOM_FOTO"))) +' fotox = Bit.InputStreamToBytes(File.OpenInput(Dirp&Dir,c.GetString("NOM_FOTO"))) +' cmd.Initialize +' cmd.Name = "insert_fotos_cliente_nuevo_MARIANA" +' cmd.Parameters = Array As Object(c.GetString("CODIGO"),c.GetString("ALMACEN"),c.GetString("RUTA"),fotox) +' reqManager.ExecuteCommand(cmd, $"insert_clientes_${c.GetString("CODIGO")}"$) +' Next +' End If +' +' c.Close + + ' DROP +' t1.Initialize("T1", 30000) ' 1000 = 1 second +' t1.Enabled = True +' Dim sDate,sTime As String +' DateTime.DateFormat = "MM/dd/yyyy" +' sDate=DateTime.Date(DateTime.Now) +' sTime=DateTime.Time(DateTime.Now) +' Dim cmd As DBCommand +' cmd.Initialize +' cmd.Name ="insert_drop_PRO_2" +' cmd.Parameters = Array As Object(usuario,l_ruta.Text,sDate & sTime, l_porvisitar.Text,l_drop.Text,l_efectiva.Text,l_cuantosc.Text,l_cuantosn.Text, L_MONTOD.Text,"ENVIO",almacen) +' reqManager.ExecuteCommand(cmd , "inst_noventa") +' img2.Visible =True +' porcentaje = Round(100/ (cuantos_noventa + cuantos_pedido + cuantos_pedidosc + 1)) +' If Starter.marcaCel <> "Sony" Then ToastMessageShow("Se Actualizaran los datos, Este proceso podria tardar hasta un minuto, gracias "& l_ruta.text , True) + End If +End Sub + +Sub valida + cmd.Initialize + cmd.Name = "select_cuantos_pedido_PRO" + cmd.Parameters = Array As Object(almacen, l_ruta.text) + reqManager.ExecuteQuery(cmd , 0, "valida_pedido") + + cmd.Initialize + cmd.Name = "select_cuantos_noventa_PROF" + cmd.Parameters = Array As Object(almacen, l_ruta.text) + reqManager.ExecuteQuery(cmd , 0, "valida_noventa") + + cmd.Initialize + cmd.Name = "select_cuantos_pedidoc_PRO" + cmd.Parameters = Array As Object(almacen, l_ruta.text) + reqManager.ExecuteQuery(cmd , 0, "valida_pedidoc") + +' If PB2.Progress = 0 Then +' S_CP.Text = "ENVIAR DATOS (K-1)" +' End If +' img2.Visible=False +' t1.Enabled = False +End Sub + +' Nuevo método para inicializar el manager con el Target correcto +Public Sub ConfigurarYEnviar(ServidorURL As String) + ' 'Me' aquí es C_Intmex, asegurando que C_Intmex.JobDone sea llamado. + reqManager.Initialize(Me, ServidorURL) + envia ' Llama a la función de envío original de C_Intmex +End Sub \ No newline at end of file diff --git a/B4A/C_Profina_Reparto.bas b/B4A/C_Profina_Reparto.bas new file mode 100644 index 0000000..d7b1f96 --- /dev/null +++ b/B4A/C_Profina_Reparto.bas @@ -0,0 +1,282 @@ +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Class +Version=12.8 +@EndOfDesignText@ +Sub Class_Globals + Dim reqManager As DBRequestManager + Dim cmd As DBCommand + Dim b, c, d, f As Cursor + Dim almacen, perfil, cuantos, NUMERO_PEDIDO, usuario, cuantos_exib, cuantos_pedidosc, cuantos_noventa, cuantos_ped, cuantos_pedido As String + Dim l_ruta As Label + Dim foto1() As Byte +End Sub + +'Initializes the object. You can add parameters to this method if needed. +Public Sub Initialize + +End Sub + +Sub envia + ' NOVENTA + c = B4XPages.MainPage.skmt.ExecQuery("SELECT NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON, NV_FOTO,NV_FOTO2, NV_REPROGRAMAR FROM NOVENTA") + D=B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM NOVENTA") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim fotoenvio() As Byte = C.GetBlob("NV_FOTO2") + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_reparto_REPG_PROFINA_VN2" + cmd.Parameters = Array As Object(C.GetString("NV_CLIENTE"),C.GetString("NV_FECHA"),C.GetString("NV_USER"),C.GetString("NV_MOTIVO"),C.GetString("NV_COMM"),C.GetString("NV_LAT"),C.GetString("NV_LON"), almacen, l_ruta.Text, C.GetString("NV_REPROGRAMAR"),fotoenvio) + reqManager.ExecuteCommand(cmd , "inst_noventa_") + Next + c.Close + End If + d.Position=0 + cuantos_noventa = D.GetString("CUANTOS_NOVENTA") + d.Close + +' 'PAGARES. +' Dim pa As Cursor =B4XPages.MainPage.skmt.ExecQuery("select PA_ALMACEN,PA_RUTA_REP,PA_RUTAPREV,PA_FECHA_PREV,PA_CAPTURA,PA_MONTO,PA_USUARIO,PA_CLIENTE,IFNULL(PA_CANCELADO,0) AS PA_CANCELADO from PAGARES") +' If pa.RowCount > 0 Then +' For pag = 0 To pa.RowCount - 1 +' pa.Position = pag +' Dim cmd As DBCommand +' cmd.Initialize +' cmd.Name = "insert_reparto_PAGARES_PROFINA_VN" +' Dim fechaenvio() As String +' fechaenvio = Regex.Split(" ",pa.GetString("PA_FECHA_PREV")) + '' Log(fechaenvio(0)) +' Dim fechaenvio1() As String +' fechaenvio1 = Regex.Split("/",fechaenvio(0)) +' Dim fechaano As String = fechaenvio1(2).SubString(2) +' Dim fechareal As String = fechaenvio1(0)&"/"&fechaenvio1(1)&"/"&fechaano + '' Log(fechareal) +' Dim fechacap() As String +' fechacap = Regex.Split("/",pa.GetString("PA_CAPTURA")) +' Dim fechacapano As String = fechacap(2).SubString(2) +' Dim fechacapreal As String = fechacap(0)&"/"&fechacap(1)&"/"&fechacapano +' If pa.GetString("PA_CANCELADO") = "2" Then +' cmd.Parameters = Array As Object(pa.GetString("PA_CLIENTE"),pa.GetString("PA_MONTO"),fechacapreal,pa.GetString("PA_ALMACEN"),pa.GetString("PA_RUTAPREV"),pa.GetString("PA_RUTA_REP"),fechareal,pa.GetString("PA_USUARIO"),2) +' Else +' cmd.Parameters = Array As Object(pa.GetString("PA_CLIENTE"),pa.GetString("PA_MONTO"),fechacapreal,pa.GetString("PA_ALMACEN"),pa.GetString("PA_RUTAPREV"),pa.GetString("PA_RUTA_REP"),fechareal,pa.GetString("PA_USUARIO"),"") +' End If +' reqManager.ExecuteCommand(cmd , "ins_pagares") +' Next +' End If +' pa.Close +' +' 'ABONOS +' d = B4XPages.MainPage.skmt.ExecQuery("SELECT RUTAA FROM RUTAA") +' d.Position = 0 +' Dim ab As Cursor = B4XPages.MainPage.skmt.ExecQuery($"SELECT * from ABONOS where a_enviado is null and a_tipoabono IS NULL"$) +' Log(ab.RowCount) +' If ab.RowCount > 0 Then +' For i=0 To ab.RowCount -1 +' ab.Position = i + '' Dim ab1 As Cursor = B4XPages.MainPage.skmt.ExecQuery($"SELECT SUM(a_abono) AS a_abono from ABONOS where a_cliente = '${ab.GetString("a_cliente")}' and a_tipoabono IS NULL"$) +' Dim ab1 As Cursor = B4XPages.MainPage.skmt.ExecQuery($"SELECT a_abono from ABONOS where a_cliente = '${ab.GetString("a_cliente")}' and a_tipoabono IS NULL"$) +' ab1.Position = 0 + ' +' Dim cmd As DBCommand +' cmd.Initialize +' cmd.Name = "insert_abono_REP_PROFINA_VN2" +' cmd.Parameters = Array As Object( ab.GetString("a_usuario"), ab.GetString("a_ruta"), ab.GetString("a_cliente"), ab.GetString("a_abono"), ab.GetString("a_fecha"),ALMACEN,"REPARTO",d.GetString("RUTAA"), "", ab.GetString("TIPO_PAGO"),ab.GetString("a_ticket"),ab.GetString("a_numpago")) +' reqManager.ExecuteCommand(cmd , $"ins_abonosPendientes_${ab.GetString("a_cliente")}"$) +' ab1.Close +' Log($"ins_abonosPendientes_${ab.GetString("a_cliente")}"$) +' Next +' End If +' ab.Close +' d.Close +' +' +' 'ABONOS NUEVOS +' d = B4XPages.MainPage.skmt.ExecQuery("SELECT RUTAA FROM RUTAA") +' d.Position = 0 +' Dim ab As Cursor = B4XPages.MainPage.skmt.ExecQuery($"SELECT * from ABONOS where a_enviado is null and a_tipoabono IS NOT NULL"$) +' Log(ab.RowCount) +' If ab.RowCount > 0 Then +' For i=0 To ab.RowCount -1 +' ab.Position = i + '' Dim ab1 As Cursor = B4XPages.MainPage.skmt.ExecQuery($"SELECT SUM(a_abono) AS a_abono from ABONOS where a_cliente = '${ab.GetString("a_cliente")}' and a_tipoabono IS NOT NULL"$) +' Dim ab1 As Cursor = B4XPages.MainPage.skmt.ExecQuery($"SELECT a_abono from ABONOS where a_cliente = '${ab.GetString("a_cliente")}' and a_tipoabono IS NOT NULL"$) +' ab1.Position = 0 + ' +' Dim cmd As DBCommand +' cmd.Initialize +' cmd.Name = "insert_abono_REP_PROFINA_VN2" +' cmd.Parameters = Array As Object( ab.GetString("a_usuario"), ab.GetString("a_ruta"), ab.GetString("a_cliente"), ab.GetString("a_abono"), ab.GetString("a_fecha"),ALMACEN,"REPARTO",d.GetString("RUTAA"), "1", ab.GetString("TIPO_PAGO"),ab.GetString("a_ticket"),ab.GetString("a_numpago") ) +' reqManager.ExecuteCommand(cmd , $"ins_abonosPendientes_${ab.GetString("a_cliente")}"$) +' ab1.Close +' Log($"ins_abonosPendientes_${ab.GetString("a_cliente")}"$) +' Next +' End If +' ab.Close +' d.Close + +' pedido + c=B4XPages.MainPage.skmt.ExecQuery("SELECT PE_TIPO, PE_RUTA, PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_FECHA, PE_USUARIO, PE_CLIENTEOR, PE_CAJAS, PE_BCAJAS, CONSECUTIVO, FECHA_PREV, RUTA_REP, PE_REGALO FROM PEDIDO") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_pedido_REP_PROFINA_VN" + cmd.Parameters = Array As Object(c.GetString("PE_TIPO"), c.GetString("PE_RUTA"), c.GetString("PE_CEDIS"), c.GetString("PE_COSTO_TOT"), c.GetString("PE_COSTOU"), c.GetString("PE_CANT"), c.GetString("PE_PRONOMBRE"), c.GetString("PE_PROID"), c.GetString("PE_CLIENTE"), c.GetString("PE_FECHA"), c.GetString("PE_USUARIO"), c.GetString("PE_CLIENTEOR"), c.GetString("PE_CAJAS"), c.GetString("PE_BCAJAS"), c.GetString("CONSECUTIVO"), c.GetString("FECHA_PREV"), c.GetString("RUTA_REP"), c.GetString("PE_REGALO")) + reqManager.ExecuteCommand(cmd , "ins_pedido_Inmtex") + Next + c.Close + End If + + 'TABULADOR + c = B4XPages.MainPage.skmt.ExecQuery("SELECT VEINTE, DIEZ, CINCO, DOS, PESO, CENTAVO, TOTAL FROM TABULADOR_MONEDAS") + d = B4XPages.MainPage.skmt.ExecQuery("SELECT RUTAA FROM RUTAA") + b = B4XPages.MainPage.skmt.ExecQuery("SELECT ID_ALMACEN FROM CAT_ALMACEN") + f = B4XPages.MainPage.skmt.ExecQuery("SELECT HVD_FECHA FROM HIST_VENTAS") + d.Position = 0 + b.Position = 0 + f.Position = 0 + If c.RowCount > 0 Then + For i = 0 To c.RowCount - 1 + c.Position=i + Dim cmd As DBCommand + Dim fechatabulador() As String = Regex.Split(" ", f.GetString("HVD_FECHA")) + + Dim fechatabulador3 As String = fechatabulador(0) + cmd.Initialize + cmd.Name = "insert_tabulador_monedas_PROFINA_VN" + cmd.Parameters = Array As Object(d.GetString("RUTAA"), b.GetString("ID_ALMACEN"),c.GetString("VEINTE"),c.GetString("DIEZ"),c.GetString("CINCO"),c.GetString("DOS"),c.GetString("PESO"),c.GetString("CENTAVO"),fechatabulador3) + reqManager.ExecuteCommand(cmd , "ins_tabulador_mon") + Next + c.Close + d.Close + b.Close + f.Close + End If + c = B4XPages.MainPage.skmt.ExecQuery("SELECT MIL, QUINIENTOS, DOCIENTOS, CIEN, CINCUENTA, VEINTE FROM TABULADOR_BILLETES") + d = B4XPages.MainPage.skmt.ExecQuery("SELECT RUTAA FROM RUTAA") + b = B4XPages.MainPage.skmt.ExecQuery("SELECT ID_ALMACEN FROM CAT_ALMACEN") + f = B4XPages.MainPage.skmt.ExecQuery("SELECT HVD_FECHA FROM HIST_VENTAS") + d.Position = 0 + b.Position = 0 + f.Position = 0 + If c.RowCount > 0 Then + For i = 0 To c.RowCount - 1 + c.Position=i + Dim cmd As DBCommand + Dim fechatabulador() As String = Regex.Split(" ", f.GetString("HVD_FECHA")) + Dim fechatabulador3 As String = fechatabulador(0) + cmd.Initialize + cmd.Name = "insert_tabulador_billetes_PROFINA_VN" + cmd.Parameters = Array As Object(b.GetString("ID_ALMACEN"), d.GetString("RUTAA"),c.GetString("MIL"),c.GetString("QUINIENTOS"),c.GetString("DOCIENTOS"),c.GetString("CIEN"),c.GetString("CINCUENTA"),c.GetString("VEINTE"),fechatabulador3) + reqManager.ExecuteCommand(cmd , "ins_tabulador_bill") + Next + c.Close + d.Close + b.Close + f.Close + End If + 'FIN TABULADOR + + c=B4XPages.MainPage.skmt.ExecQuery("SELECT * FROM hist_ventas WHERE HVD_RECHAZO = 1 ") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_rep_hist_ventas_REPG2_PROFINA" + Dim restarechazos As Int = c.GetString("HVD_CANT")-c.GetString("HVD_RECHAZOCANT") + Dim costorechazos As Double= NumberFormat2((C.GetString("HVD_COSTO_TOT") / c.GetString("HVD_CANT")), 0,2,2,False) + If restarechazos = 0 Then + cmd.Parameters = Array As Object(C.GetString("HVD_CLIENTE"),C.GetString("HVD_PRONOMBRE"),C.GetString("HVD_RECHAZOCANT"),(costorechazos*c.GetString("HVD_RECHAZOCANT")),C.GetString("HVD_CODPROMO"),C.GetString("HVD_PROID"),C.GetString("HVD_NUM_TICKET"),C.GetString("HVD_NUM_REGISTRO"),1,"", almacen,l_ruta.Text,costorechazos) + Else + + cmd.Parameters = Array As Object(C.GetString("HVD_CLIENTE"),C.GetString("HVD_PRONOMBRE"),C.GetString("HVD_RECHAZOCANT"),(costorechazos*c.GetString("HVD_RECHAZOCANT")),C.GetString("HVD_CODPROMO"),C.GetString("HVD_PROID"),C.GetString("HVD_NUM_TICKET"),C.GetString("HVD_NUM_REGISTRO"),"",1, almacen,l_ruta.Text,costorechazos) + End If + reqManager.ExecuteCommand(cmd , "inst_noventa") + Next + c.Close + End If + + +' c = B4XPages.MainPage.skmt.ExecQuery("SELECT IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT, HVD_CLIENTE, HVD_PROID, HVD_FECHA, HVD_CODPROMO, HVD_NUM_TICKET, HVD_CANT, CONSECUTIVO, BCAJAS, CANTC FROM HIST_VENTAS where HVD_PRONOMBRE <> 'Cobranza Pendiente'") +' If c.RowCount > 0 Then +' For i=0 To c.RowCount -1 +' c.Position = i +' Log(c.GetString("HVD_CLIENTE")) +' Private d4 As Cursor = B4XPages.MainPage.skmt.ExecQuery($"SELECT CAT_CL_RUTA FROM kmt_info WHERE CAT_CL_CODIGO = '${c.GetString("HVD_CLIENTE")}'"$) +' d4.Position = 0 +' Log(d4.GetString("CAT_CL_RUTA")) +' Private d5 As Cursor = B4XPages.MainPage.skmt.ExecQuery($"SELECT IFNULL(Sum(PE_CANT),0) AS PE_CANT FROM PEDIDO WHERE PE_CLIENTEOR = '${c.GetString("HVD_CLIENTE")}' AND PE_PROID = '${c.GetString("HVD_PROID")}' AND CONSECUTIVO = '${c.GetString("CONSECUTIVO")}'"$) +' d5.Position = 0 +' Private restacant As String = d5.GetString("PE_CANT") +' d5.Close +' +' Dim fecha1() As String = Regex.Split(" ", c.GetString("HVD_FECHA")) +' +' Dim fecha3 As String = fecha1(0) +' Log(fecha3) +' Dim hora() As String = Regex.Split("\.", fecha1(1)) +' Log(hora(0)) +' +' Dim sDate, sTime As String +' DateTime.DateFormat = "dd/MM/yyyy" +' DateTime.TimeFormat = "HH:mm:ss" +' sDate = DateTime.Date(DateTime.Now) +' sTime = DateTime.Time(DateTime.Now) +' If c.GetString("HVD_RECHAZOCANT") <> "0" Then +' Log((c.GetString("HVD_RECHAZOCANT")-restacant)) +' cmd.Initialize +' +' cmd.Name = "update_HVD_PROFINA_VN2" +' cmd.Parameters = Array As String(c.GetString("HVD_RECHAZOCANT"),sDate& " "& sTime,1,Subs.traeUsuario, c.GetString("HVD_CLIENTE"), c.GetString("HVD_PROID"),fecha3&" "&hora(0), d4.GetString("CAT_CL_RUTA"),ALMACEN,l_ruta.Text,c.GetString("HVD_CODPROMO"),c.GetString("HVD_NUM_TICKET"), c.GetString("HVD_CANT")) +' reqManager.ExecuteCommand(cmd, "update_hvd") +' Log("ENVIE RECHAZO") +' Else +' cmd.Initialize +' cmd.Name = "update_HVD_PROFINA_VN2" +' Log( c.GetString("CANTC")& c.GetString("HVD_CLIENTE")& c.GetString("HVD_PROID")&fecha3&" "&hora(0)& d4.GetString("CAT_CL_RUTA")&ALMACEN&l_ruta.Text&c.GetString("HVD_CODPROMO")&c.GetString("HVD_NUM_TICKET")& c.GetString("HVD_CANT")) +' cmd.Parameters = Array As String("","","",Subs.traeUsuario, c.GetString("HVD_CLIENTE"), c.GetString("HVD_PROID"),fecha3&" "&hora(0), d4.GetString("CAT_CL_RUTA"),ALMACEN,l_ruta.Text,c.GetString("HVD_CODPROMO"),c.GetString("HVD_NUM_TICKET"), c.GetString("HVD_CANT")) +' reqManager.ExecuteCommand(cmd, "update_hvd") +' End If +' d4.Close +' Next +' End If +' c.Close +' Dim cmd As DBCommand +' cmd.Initialize +' cmd.Name = "insert_drop_rep_PROFINA_VN" +' cmd.Parameters = Array As Object(Subs.dameUsuarioDeDB, l_ruta.Text, almacen, l_ctast.text, Subs.traeEntregados, Subs.traeRechazados, "ENVIO") +' reqManager.ExecuteCommand(cmd , "inst_drop") +' ToastMessageShow("Se Actualizaran los datos, Este proceso podria tardar hasta un minuto, gracias "& l_ruta.text , True) +End Sub + +' Nuevo método para inicializar el manager con el Target correcto +Public Sub ConfigurarYEnviar(ServidorURL As String) + ' 'Me' aquí es C_Intmex, asegurando que C_Intmex.JobDone sea llamado. + reqManager.Initialize(Me, ServidorURL) + envia ' Llama a la función de envío original de C_Intmex +End Sub + +Sub JobDone(Job As HttpJob) + Log("JOBDONE") + Log(reqManager.link) + If reqManager.reqsList.IsInitialized Then 'Si tenemos lista de requests, la procesamos. + If reqManager.reqsList.IndexOf(Job.tag) <> -1 Then + reqManager.reqsList.RemoveAt(reqManager.reqsList.IndexOf(Job.tag)) + LogColor($">>>>>> Quitamos ${Job.tag}"$, Colors.Blue) + End If + LogColor(">>>>>> " & reqManager.reqsList.Size & " - " & reqManager.reqsList, Colors.Blue) + End If + If Job.Success = False Then + LogColor("Error: " & reqManager.HandleJob(Job).tag & " : " & Job.ErrorMessage, Colors.red) + Else 'If Job Success then ... + LogColor("JobDone: '" & reqManager.HandleJob(Job).tag & "' - Registros: " & reqManager.HandleJob(Job).Rows.Size, Colors.RGB(0,160,0)) 'Mod por CHV - 211027 + Log(reqManager.reqsList.size) + If reqManager.reqsList.size = 0 Then B4XPages.MainPage.p_progressDialog.Visible = False + End If + Job.Release +End Sub \ No newline at end of file diff --git a/B4A/DBCheck.b4a b/B4A/DBCheck.b4a index 50ad0ee..b346772 100644 --- a/B4A/DBCheck.b4a +++ b/B4A/DBCheck.b4a @@ -25,24 +25,33 @@ 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~')~\n~~\n~AddActivityText(main,~\n~~\n~~\n~~\n~ ~\n~ ~\n~ ~\n~) Module1=B4XMainPage -Module10=Subs +Module10=|relative|..\C_Marquez +Module11=C_Marquez_Reparto +Module12=C_Mazapa +Module13=C_Mazapa_Reparto +Module14=C_Profina +Module15=C_Profina_Reparto +Module16=DBRequestManager +Module17=FileHandler +Module18=Starter +Module19=Subs Module2=C_Durakelo -Module3=C_Envios -Module4=C_Intmex -Module5=|relative|..\C_Marquez -Module6=C_Mazapa -Module7=DBRequestManager -Module8=FileHandler -Module9=Starter +Module3=C_Durakelo_Reparto +Module4=C_Envios +Module5=|relative|..\C_Guna_Reparto +Module6=C_Intmex +Module7=C_Intmex_Reparto +Module8=C_Izca +Module9=C_Kelloggs NumberOfFiles=6 NumberOfLibraries=11 -NumberOfModules=10 +NumberOfModules=19 Version=12.8 @EndOfDesignText@ #Region Project Attributes #ApplicationLabel: DBCheck #VersionCode: 1 - #VersionName: 5.07.05 + #VersionName: 5.11.25 'SupportedOrientations possible values: unspecified, landscape or portrait. #SupportedOrientations: portrait #CanInstallToExternalStorage: False diff --git a/B4A/DBCheck.b4a.meta b/B4A/DBCheck.b4a.meta index 9b9ad1e..b3fde6c 100644 --- a/B4A/DBCheck.b4a.meta +++ b/B4A/DBCheck.b4a.meta @@ -1,6 +1,15 @@ ModuleBookmarks0= ModuleBookmarks1= ModuleBookmarks10= +ModuleBookmarks11= +ModuleBookmarks12= +ModuleBookmarks13= +ModuleBookmarks14= +ModuleBookmarks15= +ModuleBookmarks16= +ModuleBookmarks17= +ModuleBookmarks18= +ModuleBookmarks19= ModuleBookmarks2= ModuleBookmarks3= ModuleBookmarks4= @@ -12,6 +21,15 @@ ModuleBookmarks9= ModuleBreakpoints0= ModuleBreakpoints1= ModuleBreakpoints10= +ModuleBreakpoints11= +ModuleBreakpoints12= +ModuleBreakpoints13= +ModuleBreakpoints14= +ModuleBreakpoints15= +ModuleBreakpoints16= +ModuleBreakpoints17= +ModuleBreakpoints18= +ModuleBreakpoints19= ModuleBreakpoints2= ModuleBreakpoints3= ModuleBreakpoints4= @@ -21,16 +39,25 @@ ModuleBreakpoints7= ModuleBreakpoints8= ModuleBreakpoints9= ModuleClosedNodes0=2,6 -ModuleClosedNodes1=7,8,9,11,12,13,16,17,18,19,20,21,22 -ModuleClosedNodes10=12,13,14 -ModuleClosedNodes2= -ModuleClosedNodes3=4,5 -ModuleClosedNodes4= -ModuleClosedNodes5= +ModuleClosedNodes1=6,7,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27 +ModuleClosedNodes10=3,6 +ModuleClosedNodes11=3 +ModuleClosedNodes12=4 +ModuleClosedNodes13=3 +ModuleClosedNodes14= +ModuleClosedNodes15=3 +ModuleClosedNodes16= +ModuleClosedNodes17= +ModuleClosedNodes18=1 +ModuleClosedNodes19=12,13,14 +ModuleClosedNodes2=4,6,7 +ModuleClosedNodes3=3 +ModuleClosedNodes4=4,5 +ModuleClosedNodes5=3 ModuleClosedNodes6= ModuleClosedNodes7= -ModuleClosedNodes8= -ModuleClosedNodes9=1 -NavigationStack=C_Mazapa,envia,153,4,B4XMainPage,Class_Globals,81,1,B4XMainPage,B4XPage_Created,130,2,B4XMainPage,B4XPage_Appear,295,3,B4XMainPage,b_enviar_Click,326,1,B4XMainPage,envioDurakelo,734,0,B4XMainPage,envioMazapa,740,1,B4XMainPage,envioMarquez,738,0,C_Marquez,envia,104,0,B4XMainPage,b_valida_Click,1027,0 +ModuleClosedNodes8=3,4 +ModuleClosedNodes9=5,6,7,8 +NavigationStack=C_Mazapa_Reparto,envia,297,0,C_Mazapa_Reparto,ConfigurarYEnviar,303,0,C_Mazapa_Reparto,JobDone,322,0,B4XMainPage,b_enviar_Click,629,0,B4XMainPage,B4XPage_Appear,262,0,Diseñador Visual,MainPage.bal,-100,1,B4XMainPage,ActualizarEtiquetasReparto,659,6,Main,Activity_Create,30,0,Main,Process_Globals,16,0,Main,Globals,20,0 SelectedBuild=0 -VisibleModules=1,10,3,4,2,5,6 +VisibleModules=1,18,6,19,7,3,15,11,13,2 diff --git a/B4A/Files/mainpage.bal b/B4A/Files/mainpage.bal index d44174d34f0fb700c86fa60855b3ee564b0c2cc6..6b73d86f00ecad76ec6aa0a625276af1bdc40526 100644 GIT binary patch delta 5327 zcmbVPYitx%6rS4`ZtYUq?XqPleJG&3+U^#bmbTbZDuOLt)>4oPW!O&YlCrzZZZXlA z1s|Y>1j>yj8WU0DKm0*9#+XQiUncrT<)J8oRTNYd0Tm(9dd{6?=H8uQpe5YlyXT%W z_q*Rc=j?Fp1bOY9EN8AHNv?cJg1?e-$a#Y#CjlDj4<+Py0*wHNh&+JQUtG93GI>yTI1j-_^aUr@Nzwt;gg+8N5T$ z&8j>QjVB9vYh+m29*t{njVS|RaL{O^C;kG>JF0FE$HNI()%J|3(Ls1;d|6l?iVkYr zRP8OQ5_(*IGMdNY)Zv7zoflCp!g)jei2a5+kPZZEP>JCIG?#dQ4raZ-6dgO|&B~CE z#cR-KSlOF2Yn@?TXux_}p50u6gqT-@jvDFu?2rrfi1iQ1a0UIU5|h|Mp0t)9mP=C4wY0U=wlj(x4$4#`;$d#Sx4yJV&v8xFk0u}PJ z2B7tc03IX=-J>#~Dr}K!F0~lS7NNIP5|~KRj#N#FJcA@sBfg?6lAt3#A3a`op0uPs zTzEZ~9H6lce!9{llby7+&r4r#EvB*hnJ}BTxM6>np9X@HX;DiP-8Vgd`7`i7+|%(a zJh0iLl9J;&crf$x0Cu5eH#}Z|L7spI{>hmIk6eQM952$ECT~8zVk!)hPxm!@>DHzw z-P@K=BaQi~O)a|@kZxM&-a?MiDJ$p0^HNI%Jv+6SRxT-_8-otlOR!%lMsI{uPD4;i zt2|va(3?vn+Scl&v0lgi_ME(rV9jxalJ+w9ae&o0MbT?uz~$_qM?9sAN?_u|mAUX> zq$&XT(Sp8s(+-Tj4@Lprvg4Q}QD0rT>jX?1VC0SMX_Pzw$Rb+RJ!dW|<%W^X-iE2f z7O{gc+Is*n+EeLB=>Y9(b#hF}NqVr_OFv#$yr>-fL}qV;MPzmoEGA}j$C`YH$O)Ue z!Ra8(L{9gDCC!O=?WOz@T+LD*T~}&B_zd`pgfZGg*!2}yt)xT=4BDT;Or(wLY1-SS zo1{EtBjpW<6q%g@i;3B7rMzO|#7Q|?W-sN}5NwvxIxF$0B4La+5q5n8R#D2A?Xofg z?wMJ+x*VmPO-`rvt1mijwUzT*ek)oPY$?+dOMfkQLq{uY)gWhVuInw>N<94;D@ww3 zY3If$BZZE@jHQqjL0^@2?z8&2&suHb{0^+T#O&Ni=9aI0^Bz-Xj@ld*wHA*$3Kr8v z3rBs0U9ou7t9G19``+Eq!)66vYON=%VcKrZWT{foHdv=+*8{9K9bLT8u+T@&# zuIA=>&Wfg>t40uW#YiDN$900(@Y7xB@@!jz?jON*;<{qAS=XPyD(X6Hr|SW5&(u}E z-*sU&%KjZ28^bRk{5X}c%d(Fg<42xcuwiMgstfQ2 zlbFad8-6;Wsy*aqI=a>~SN!R0geaD~_))`Td%l0BC(y2*v?377bLbT659=l?T*CuKw^6$*jx-=K#n&M z`%LcP>}R~ZS%&L08>8&x0Dkewyn-|NKw*&+UzS=_oSC0zuz8u_6_(BU5*f0LnUi0c z8*b(_d%(z;x%rj31S6L|BLjm3P&wnJ$^V>{CkIIKZ??1C$2xh3ujb_YiClV(KshEL z=4=8Ips;2JVg}A;AORL`0Ww-aB5gpTeezic3C51e54@y=LF&bTm=WX{J|O1on9MFM zKY4D1+T;jF>&fT6xhCgjCNg$TR 0 Then u = c.GetString("USUARIO") + c.Close + Return u +End Sub + 'Regresa la ruta actual de la base de datos. Sub traeRuta As String 'ignore Private c As Cursor @@ -229,4 +240,50 @@ Sub logJobDoneResultados(resultado As DBResult) LogColor(k & " = " & records(resultado.Columns.Get(k)), Colors.RGB(215,37,0)) Next Next +End Sub + +Sub traeFecha As String 'ignore + DateTime.DateFormat = "MM/dd/yyyy" + Private sDate As String =DateTime.Date(DateTime.Now) + Private sTime As String =DateTime.Time(DateTime.Now) + Return sDate & sTime +End Sub + +Sub parseHTTPError(error As String) As String + Private nuevoError As String = error + Private inicio As Int = error.IndexOf("") + Private final As Int = error.IndexOf("") + Log("|" & inicio & "|" & final & "|") + If inicio > 0 And final > 0 Then + nuevoError = error.SubString2(inicio + 17, final) +' LogColor(error.SubString2(inicio + 17, final), Colors.Blue) + End If + Return nuevoError +End Sub + +'Trae el precio del ID dado, desde CAT_GUNAPROD o HIST_VENTAS, dependiendo de si es promoción o no Y CAJAS. +Sub traeConversion(id As String) As String + Private pu As String = "0" + + Private idc As Cursor = B4XPages.MainPage.skmt.ExecQuery($"select CONVERSION from CAT_GUNAPROD where CAT_GP_ID = '${id}'"$) + If idc.RowCount > 0 Then + idc.Position=0 + If idc.RowCount > 0 And IsNumber(idc.GetString("CONVERSION")) Then pu = idc.GetString("CONVERSION") +' Log("id=" & id & "|p=" & x & "|" & idc.GetString("CAT_GP_PRECIO")) + End If + idc.Close + + Return pu +End Sub + + +'Trae un string con hora, minutos y segundos - HHmmss +Sub hmsKMT As String 'ignore +' Log(fecha) + Dim OrigFormat As String = DateTime.DateFormat 'save orig date format + DateTime.DateFormat="HHmmss" + Private nuevaHora As String=DateTime.Date(DateTime.Now) + DateTime.DateFormat=OrigFormat 'return to orig date format +' Log(nuevaFecha) + Return nuevaHora End Sub \ No newline at end of file diff --git a/B4A/_DBCheck_Completo.txt b/B4A/_DBCheck_Completo.txt new file mode 100644 index 0000000..af762d2 --- /dev/null +++ b/B4A/_DBCheck_Completo.txt @@ -0,0 +1,4285 @@ + +'====================================================================================== +$// ARCHIVO_INICIO: B4XMainPage.bas +'====================================================================================== + +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Class +Version=9.85 +@EndOfDesignText@ +#Region Shared Files + '#CustomBuildAction: folders ready, %WINDIR%\System32\Robocopy.exe,"..\..\Shared Files" "..\Files" + 'Ctrl + click to sync files: ide://run?file=%WINDIR%\System32\Robocopy.exe&args=..\..\Shared+Files&args=..\Files&FilesSync=True + 'Ctrl + click to export as zip: ide://run?File=%B4X%\Zipper.jar&Args=Project.zip + '########################################################################################################### + '###################### PULL ############################################################# + 'Ctrl + click ide://run?file=%WINDIR%\System32\cmd.exe&Args=/c&Args=git&Args=pull + '########################################################################################################### + '###################### PUSH ############################################################# + 'Ctrl + click ide://run?file=%WINDIR%\System32\WindowsPowerShell\v1.0\powershell.exe&Args=github&Args=..\..\ + '########################################################################################################### + '###################### PUSH TORTOISE GIT ######################################################### + 'Ctrl + click ide://run?file=%WINDIR%\System32\WindowsPowerShell\v1.0\powershell.exe&Args=TortoiseGitProc&Args=/command:commit&Args=/path:"./../../"&Args=/closeonend:2 + '########################################################################################################### +#End Region + + +'Faltan: +' - Venta: Izca, Kelloggs, Profina, (Danvit y Salma no tienen forma de enviar la base de datos) +' - Reparto: Guna, Intmex, Durakelo, Profina, Marquez, Mazapa, Izca + +Reparto: +HIST_VENTAS - Son los pedidos a entregar +kmt_info - Cientes +NOVENTA - Cuentos enregados y cuantos no entregados +PAGARES - Pagares Nuevos +ABONOS_P - Pagares pendientes de cobro +ABONOS - Pagos realizados de pagares de ABONOS_P +PEDIDO - Ventas de rechazo (si hubo rechazo y se vendi, ahi aparece) +PEDIDO_CLIENTE - Igual +REPARTO - + + + +'Ctrl + click ide://run?file=%WINDIR%\System32\cmd.exe&Args=/c&Args=github&Args=..\..\ + +Sub Class_Globals + Dim Root As B4XView + Dim xui As XUI +' Dim b_cargar As Button + Dim b_enviar As Button + Dim ime As IME + Dim skmt As SQL + Dim reqManager As DBRequestManager + Dim cmd As DBCommand + Dim l_pedidos2 As Label + Dim l_diasVenta As Label + Dim l_totalVenta As Label + Dim l_cantsEnCero As Label + Dim l_clienteNoNumerico As Label + Dim cuantos_pedido As String +' Dim datos_iguales As String + Dim cuantos_pedidosc As String + Dim cuantos_noventa As String + Dim l_ruta2 As Label + Dim ruta As String = "" + Dim l_usuario2 As Label + Dim usuario As String = "" + Dim l_almacen2 As Label + Dim almacen As String = "" + Dim p_progressDialog As Panel + Dim l_progressDialog As Label + Dim p_editaRuta As Panel + Dim p_editaAlmacen As Panel + Dim b_cargarBD As Button + Dim p_datos As Panel + Dim p_principal As Panel + Dim l_appInfo As Label + Dim empresa, appVersion As String + Dim et_nuevaRuta As EditText + Dim et_nuevoAlmacen As EditText + Dim p_clientes As Panel +' Dim lv_clientes As ListView + Dim clv_clientes As CustomListView + Dim p_item As Panel + Dim l_item As Label + Dim i_engrane As ImageView + Dim lv_DBRServer As ListView + Dim et_server As EditText + Dim B_SERVER As Button + Dim p_engrane As Panel + Private sp_empresa As Spinner + Private p_empresa As Panel + Private p_editaUsuario As Panel + Private et_nuevoUsuario As EditText + Private b_guardaUsuario As Button + Dim c, d As Cursor + Dim foto1() As Byte + Private b_valida As Button + Private l_version As Label + Dim p_validacion As Panel + Dim l_vProds2 As Label + Dim l_vPedidos2 As Label + Dim l_vNoVenta2 As Label + Dim i_progress As B4XGifView + Dim in As Intent + Dim intentUsado As Boolean = False + Dim Guna_Reparto As C_Guna_Reparto + Dim Intmex As C_Intmex + Dim Izca As C_Izca + Dim Durakelo As C_Durakelo + Dim Marquez As C_Marquez + Dim Mazapa As C_Mazapa + Dim Profina As C_Profina + Private l_version0 As Label + Private b_guardaRutaTodos As Button + Private b_guardaRuta As Button +End Sub + +Public Sub Initialize +' B4XPages.GetManager.LogEvents = True +End Sub + +'This event will be called once, before the page becomes visible. +Sub B4XPage_Created (Root1 As B4XView) + Root = Root1 + Root.LoadLayout("MainPage") + i_progress.SetGif(File.DirAssets, "progress.gif") + l_version.Text = Application.VersionName + l_version0.Text = Application.VersionName + p_principal.Width = Root.Width : p_principal.Height = Root.Height + l_version0.Top = Root.Height - 60dip + Subs.centraPanel(p_datos, Root.Width) + Subs.centraPanel(p_validacion, Root.Width) + p_validacion.Top = l_diasVenta.Top + reqManager.Initialize(Me, "http://keymon.net:1781") + B4XPages.SetTitle(Me, "Revisin de BD") + Subs.centraPanel(p_progressDialog, Root.Width) + Subs.centraPanel(p_editaRuta, Root.Width) + Subs.centraPanel(p_editaAlmacen, Root.Width) + Subs.centraPanel(p_editaUsuario, Root.Width) + Subs.centraPanel(p_clientes, Root.Width) + ime.Initialize("ime") + lv_DBRServer.AddSingleLine("http://keymon.net:1781") +' lv_DBRServer.AddSingleLine("http://keymon.net:1782") + lv_DBRServer.AddSingleLine("http://keymon.net:1782") + et_server.Text = "http://keymon.net:1781" + B_SERVER.Left = (Root.Width / 2) - (B_SERVER.Width / 2) 'Centramos B_SERVER + et_server.Left = (Root.Width / 2) - (et_server.Width / 2) 'Centramos et_server + lv_DBRServer.Left = (Root.Width / 2) - (lv_DBRServer.Width / 2) 'Centramos lv_DBRServer + sp_empresa.Add("------------") + sp_empresa.Add("Durakelo") + sp_empresa.Add("Guna") + sp_empresa.Add("Guna_Reparto") + sp_empresa.Add("Intmex") + sp_empresa.Add("Izca") + sp_empresa.Add("Mariana") + sp_empresa.Add("Marquez") + sp_empresa.Add("Mazapa") + sp_empresa.Add("Profina") + i_engrane.Left = Root.Width - i_engrane.Width - 5dip + Intmex.Initialize + Guna_Reparto.Initialize + Izca.Initialize + Durakelo.Initialize + Marquez.Initialize + Mazapa.Initialize + Profina.Initialize +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") + If Not(in.IsInitialized) Then in = B4XPages.GetNativeParent(Me).GetStartingIntent + If Not(intentUsado) And in <> Null Then + Log(in) +' Dim action As String = in.Action +' Log("Action: " & action) ' Ej: "android.intent.action.VIEW" +' Dim uri As Object = in.GetData ' Obtiene la URI (content://...) +' Log(in.GetData) +' If uri <> Null Then +' Dim uriString As String = uri +' Log("URI: " & uriString) ' Ej: "content://com.whatsapp.provider.media/..." +' Else +' Log("El Intent no tiene URI asociada.") +' End If +' Dim mimeType As String = in.GetData +' Log("MIME Type: " & mimeType) ' Ej: "application/x-sqlite3" +' If in.HasExtra("android.intent.extra.STREAM") Then +' Dim extraUri As Object = in.GetExtra("android.intent.extra.STREAM") +' Log("Extra URI: " & extraUri) ' Ej: "content://..." +' Else +' Log("No hay extras con android.intent.extra.STREAM") +' End If + intentUsado = True +' Log(in.GetData) + If in.GetData <> Null Then + Dim XmlData As String + XmlData = in.GetData + ToastMessageShow(XmlData, False) + ' Send_Make_somthing(in) + ' Activity.Finish + Try + Dim OutStr As OutputStream = File.OpenOutput(File.DirInternal,"kmt.db",False) + Dim InStr As InputStream = File.OpenInput("ContentDir",XmlData) + File.Copy2(InStr,OutStr) + LogColor("BD copiada a interna.", Colors.Blue) + OutStr.Close + If in.As(String).Contains("whatsapp") Then B4XPages.SetTitle(Me, "BD cargada desde Whatsapp") + Catch + Log(LastException) + End Try +' ExitApplication + End If + End If +' Log($"Existe BD: ${File.Exists(File.DirInternal, "kmt.db") }"$) + If File.Exists(File.DirInternal, "kmt.db") Then + If Not(skmt.IsInitialized) Then skmt.Initialize(File.DirInternal,"kmt.db", True) + Try + Dim ai As Cursor = skmt.ExecQuery($"select CAT_VA_DESCRIPCION, CAT_VA_VALOR from cat_variables where CAT_VA_DESCRIPCION = 'APP_NAME' or CAT_VA_DESCRIPCION = 'EMPRESA' or CAT_VA_DESCRIPCION = 'APP_VERSION'"$) + If ai.RowCount > 1 Then + For i = 0 To ai.RowCount -1 + ai.Position = i + If ai.GetString("CAT_VA_DESCRIPCION") = "EMPRESA" Then empresa = ai.GetString("CAT_VA_VALOR") + If ai.GetString("CAT_VA_DESCRIPCION") = "APP_NAME" Then empresa = ai.GetString("CAT_VA_VALOR") + If ai.GetString("CAT_VA_DESCRIPCION") = "APP_VERSION" Then appVersion = ai.GetString("CAT_VA_VALOR") +' Log(ai.GetString("CAT_VA_DESCRIPCION")) + Next + l_appInfo.Text = $"${empresa} ${appVersion}"$ + End If + ai.Close + Catch + Log(LastException) + LogColor("Error en CAT_VARIABLES", Colors.red) + End Try + Try + 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 + l_pedidos2.Text = c.GetString("pedidos") + l_diasVenta.Text = "N/A" + If c.GetString("diasVenta") <> Null Then l_diasVenta.Text = c.GetString("diasVenta") + If c.GetString("diasVenta").Length > 2 Then + l_diasVenta.TextColor = Colors.Red + Else + l_diasVenta.TextColor = Colors.Black + End If + If c.GetString("total") <> Null Then l_totalVenta.Text = "$" & NumberFormat2(c.GetString("total"), 1, 2, 2, True) Else l_totalVenta.Text = "0" + l_cantsEnCero.Text = "0" + If c.GetString("cantsEnCero") <> Null Then l_cantsEnCero.Text = c.GetString("cantsEnCero") + l_clienteNoNumerico.Text = c.GetString("clienteNoNumerico") + End If + c.Close + Catch + Log(LastException) + LogColor("Error en PEDIDO", Colors.red) + End Try + Try + Dim c As Cursor = skmt.ExecQuery("select pe_ruta from pedido") + If c.RowCount > 0 Then + c.Position = 0 + ruta = c.GetString("PE_RUTA") + l_ruta2.Text = ruta + End If + c.Close + Catch + Log(LastException) + LogColor("Error en PEDIDO", Colors.red) + End Try + Try + Dim c As Cursor = skmt.ExecQuery("select USUARIO from usuarioa") + If c.RowCount > 0 Then + c.Position = 0 + usuario = c.GetString("USUARIO") + l_usuario2.Text = usuario + End If + c.Close + Catch + Log(LastException) + LogColor("Error en USUARIOA", Colors.red) + End Try + Try + Dim c As Cursor = skmt.ExecQuery("select ID_ALMACEN from cat_almacen") + If c.RowCount > 0 Then + c.Position = 0 + almacen = c.GetString("ID_ALMACEN") + l_almacen2.Text = almacen + End If + c.Close + Catch + Log(LastException) + LogColor("Error en CAT_ALMACEN", Colors.red) + End Try + End If + Try + usuario = Subs.traeUsuarioDeBD + almacen = Subs.traeAlmacen + ruta = Subs.traeRuta + Catch + Log(LastException) + End Try +' b_enviar.Enabled = False + + Log(empresa) + p_empresa.Visible = False + + If empresa.ToUpperCase.Contains("MARIANA") Then + b_enviar.Text = "Enviar Mariana" + b_valida.Text = "Validar Mariana" + Log("Cargamos MARIANA") + b_enviar.Enabled = True + else if empresa.ToUpperCase.Contains("GUNA") Then + b_enviar.Text = "Enviar Guna" + b_valida.Text = "Validar Guna" + b_enviar.Enabled = True + Log("Cargamos GUNA") + else if empresa.ToUpperCase.Contains("Guna_Reparto") Then + b_enviar.Text = "Enviar Guna_Reparto" + b_valida.Text = "Validar Guna_Reparto" + b_enviar.Enabled = True + Log("Cargamos Guna_Reparto") + else if empresa.ToUpperCase.Contains("INTMEX") Then + b_enviar.Text = "Enviar Intmex" + b_valida.Text = "Validar Intmex" + b_enviar.Enabled = True + Log("Cargamos INTMEX") + else if empresa.ToUpperCase.Contains("IZCA") Then + b_enviar.Text = "Enviar Izca" + b_valida.Text = "Validar Izca" + b_enviar.Enabled = True + Log("Cargamos IZCA") + else if empresa.ToUpperCase.Contains("DURAKELO") Then + b_enviar.Text = "Enviar Durakelo" + b_valida.Text = "Validar Durakelo" + b_enviar.Enabled = True + Log("Cargamos DURAKELO") + else if empresa.ToUpperCase.Contains("MARQUEZ") Then + b_enviar.Text = "Enviar Marquez" + b_valida.Text = "Validar Marquez" + b_enviar.Enabled = True + Log("Cargamos MARQUEZ") + else if empresa.ToUpperCase.Contains("MAZAPA") Then + b_enviar.Text = "Enviar Mazapa" + b_valida.Text = "Validar Mazapa" + b_enviar.Enabled = True + Log("Cargamos MAZAPA") + else if empresa.ToUpperCase.Contains("PROFINA") Then + b_enviar.Text = "Enviar Profina" + b_valida.Text = "Validar Profina" + b_enviar.Enabled = True + Log("Cargamos PROFINA") + Else + p_empresa.Visible = True + b_enviar.Enabled = False + End If +End Sub + +Sub b_enviar_Click + Dim resultado = Msgbox2("Se va a enviar la venta de la BD", "AVISO", "Continuar", "Cancelar", "", Null) 'ignore + If resultado = DialogResponse.POSITIVE Then + B4XPages.MainPage.l_progressDialog.Text = " Enviando informacin" + B4XPages.MainPage.p_progressDialog.Top = l_pedidos2.Top + B4XPages.MainPage.p_progressDialog.Visible = True + B4XPages.MainPage.p_progressDialog.BringToFront + reqManager.reqsList.Initialize 'inicializamos lista de requests. + If empresa.ToUpperCase.Contains("MARIANA") Then + envioMariana + else if empresa.ToUpperCase.Contains("GUNA") Then + envioGuna + else if empresa.ToUpperCase.Contains("GUNA_REPARTO") Then + envioGuna_Reparto + else if empresa.ToUpperCase.Contains("INTMEX") Then + envioIntmex + else if empresa.ToUpperCase.Contains("IZCA") Then + envioIzca + else if empresa.ToUpperCase.Contains("DURAKELO") Then + envioDurakelo + else if empresa.ToUpperCase.Contains("MARQUEZ") Then + envioMarquez + else if empresa.ToUpperCase.Contains("MAZAPA") Then + envioMazapa + else if empresa.ToUpperCase.Contains("PROFINA") Then + envioProfina + End If +' Sleep(5000) + End If + ToastMessageShow($"Se enviaran los datos, este proceso podria tardar hasta un minuto."$ , True) +End Sub + +Sub JobDone(Job As HttpJob) + If reqManager.reqsList.IsInitialized Then 'Si tenemos lista de requests, la procesamos. + If reqManager.reqsList.IndexOf(Job.tag) <> -1 Then + reqManager.reqsList.RemoveAt(reqManager.reqsList.IndexOf(Job.tag)) + LogColor($">>>>>> Quitamos ${Job.tag}"$, Colors.Blue) + End If + LogColor(">>>>>> " & reqManager.reqsList.Size & " - " & reqManager.reqsList, Colors.Blue) + End If + If Not(Job.Success) Then + LogColor("Error: " & Job.tag & " : " & Job.ErrorMessage, Colors.red) + Else 'If Job Success then ... + LogColor("JobDone: '" & reqManager.HandleJob(Job).tag & "' - Registros: " & reqManager.HandleJob(Job).Rows.Size, Colors.Green) + Dim resultado As DBResult = reqManager.HandleJob(Job) + + If Job.JobName = "DBRequest" Then + Dim resultado As DBResult = reqManager.HandleJob(Job) + + If resultado.Tag.As(String).IndexOf("ins_pedido_") > -1 Then + Dim cliente As String= resultado.Tag + Log($"Cliente1:${cliente}"$) + For Each records() As Object In resultado.Rows + For Each k As String In resultado.Columns.Keys + Log(resultado.Tag & ": " & k & ": " & records(resultado.Columns.Get(k))) + Next + Next + End If + + If resultado.Tag.As(String).IndexOf("hist_encuesta") > -1 Then + Dim cliente As String= resultado.Tag + Log($"Cliente1:${cliente}"$) + For Each records() As Object In resultado.Rows + For Each k As String In resultado.Columns.Keys + Log(resultado.Tag & ": " & k & ": " & records(resultado.Columns.Get(k))) + Next + Next + End If + + If resultado.Tag = "valida_pedido" Then 'query tag + For Each records() As Object In resultado.Rows + Dim CUANTOSP As Int = records(resultado.Columns.Get("CUANTOSP")) + l_vProds2.Text = $"${CUANTOSP}/${cuantos_pedido}"$ + If cuantos_pedido <= CUANTOSP Then + ToastMessageShow("INFO OK", True) + Else + ToastMessageShow($"No se cargo bien la info de pedido.${CRLF}Enve nuevamente: "$ & CUANTOSP & "/" & cuantos_pedido, True) + ToastMessageShow("ENVIAR DATOS (K-2)", True) + Log("No se cargo bien la info de pedido. Enve nuevamente: " & CUANTOSP & "/" & cuantos_pedido) + End If + Next + End If + + If resultado.Tag = "valida_pedidoc" Then 'query tag + For Each records() As Object In resultado.Rows + Dim CUANTOSC As Int = records(resultado.Columns.Get("CUANTOSC")) + l_vPedidos2.Text = $"${CUANTOSC}/${cuantos_pedidosc}"$ + If cuantos_pedidosc <= CUANTOSC Then + Else + ToastMessageShow($"No se cargo bien la info de pedido_cliente.${CRLF}Enve nuevamente: "$ & CUANTOSC & "/" & cuantos_pedidosc, True) + Log("No se cargo bien la info de pedido_cliente. Enve nuevamente: " & CUANTOSC & "/" & cuantos_pedidosc) + End If + Next + End If + + If resultado.Tag = "valida_noventa" Then 'query tag + For Each records() As Object In resultado.Rows + Dim CUANTOSN As Int = records(resultado.Columns.Get("CUANTOSN")) + l_vNoVenta2.Text = $"${CUANTOSN}/${cuantos_noventa}"$ + If cuantos_noventa <= CUANTOSN Then + Else + ToastMessageShow($"No se cargo bien la info de NoVenta.${CRLF}Enve nuevamente: "$ & CUANTOSN & "/" & cuantos_noventa, True) + Log("No se cargo bien la info de NoVenta. Enve nuevamente:" & CUANTOSN & "/" & cuantos_noventa) + End If + Next + End If + + If resultado.Tag = "ins_pedido" Then 'query tag + For Each records() As Object In resultado.Rows + Next + Log("5") + End If + + If resultado.Tag = "ins_pedido" Then 'query tag + For Each records() As Object In resultado.Rows +' PB2.Progress = PB2.Progress + 5 +' S_CP.Text = "SUBIENDO" + Next + End If + End If + End If + Log(reqManager.reqsList) + If reqManager.reqsList.size = 0 Then p_progressDialog.Visible = False + Job.Release +End Sub + +Sub B4XPage_CloseRequest As ResumableSub + If p_engrane.Visible = True Then + p_engrane.Visible = False + Else + ExitApplication + End If + Return False +End Sub + +Sub b_cargarBD_Click + Dim FH As FileHandler + FH.Initialize + l_appInfo.Text = "" + Wait For (FH.Load) Complete (Result As LoadResult) 'Abre un fileManager para seleccionar la base de datos a importar. + 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. + + B4XPage_Appear + + ToastMessageShow("BD importada!", False) + End If +End Sub + +Sub l_ruta2_LongClick + p_editaRuta.Top = l_ruta2.top + b_guardaRuta.text = $"Cambiar en "${l_ruta2.text}""$ + p_editaRuta.Visible = True +End Sub + +Sub l_almacen2_LongClick + p_editaAlmacen.Top = l_almacen2.top + p_editaAlmacen.Visible = True +End Sub + +Sub l_usuario2_LongClick + p_editaUsuario.Top = l_usuario2.top + p_editaUsuario.Visible = True + Log("xxx") +End Sub + +Sub l_clienteNoNumerico_LongClick + Dim 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 + +'Cambiamos la ruta actual por la especificado. +Sub b_guardaRuta_Click + Log("Guardamos nueva ruta.") + If et_nuevaRuta.Text <> "" Then + skmt.ExecNonQuery($"update PEDIDO set PE_RUTA = '${et_nuevaRuta.Text}' where PE_RUTA = '${ruta}'"$) + skmt.ExecNonQuery($"update PEDIDO_CLIENTE set PC_RUTA = '${et_nuevaRuta.Text}' where PC_RUTA = '${ruta}'"$) + skmt.ExecNonQuery($"update kmt_info set CAT_CL_RUTA = '${et_nuevaRuta.Text}' where CAT_CL_RUTA = '${ruta}'"$) + Try 'Si es Guna, se pone en kmt_info2 + skmt.ExecNonQuery($"update kmt_info2 set CAT_CL_RUTA = '${et_nuevaRuta.Text}' where CAT_CL_RUTA = '${ruta}'"$) + Catch + Log(LastException) + End Try + l_ruta2.Text = et_nuevaRuta.text + End If + p_editaRuta.Visible = False +End Sub + +Private Sub b_guardaRutaTodos_Click + Log("Guardamos nueva ruta.") + If et_nuevaRuta.Text <> "" Then + skmt.ExecNonQuery($"update PEDIDO set PE_RUTA = '${et_nuevaRuta.Text}'"$) + skmt.ExecNonQuery($"update PEDIDO_CLIENTE set PC_RUTA = '${et_nuevaRuta.Text}' where PC_RUTA = '${ruta}'"$) + skmt.ExecNonQuery($"update kmt_info set CAT_CL_RUTA = '${et_nuevaRuta.Text}' where CAT_CL_RUTA = '${ruta}'"$) + Try 'Si es Guna, se pone en kmt_info2 + skmt.ExecNonQuery($"update kmt_info2 set CAT_CL_RUTA = '${et_nuevaRuta.Text}' where CAT_CL_RUTA = '${ruta}'"$) + Catch + Log(LastException) + End Try + l_ruta2.Text = et_nuevaRuta.text + End If + p_editaRuta.Visible = False +End Sub + +'Cambiamos el almacen actual por el especificado. +Sub b_guardaAlmacen_Click + If et_nuevoAlmacen.Text <> "" Then + skmt.ExecNonQuery($"delete from cat_almacen"$) + skmt.ExecNonQuery($"insert into cat_almacen (id_almacen) values ('${et_nuevoAlmacen.Text}')"$) + skmt.ExecNonQuery($"update PEDIDO set PE_CEDIS = '${et_nuevoAlmacen.Text}' where PE_CEDIS = '${l_almacen2.text}'"$) + skmt.ExecNonQuery($"update PEDIDO_CLIENTE set PC_ALMACEN = '${et_nuevoAlmacen.Text}' where PC_ALMACEN = '${l_almacen2.text}'"$) + l_almacen2.Text = et_nuevoAlmacen.text + End If + p_editaAlmacen.Visible = False +End Sub + +'Cambiamos el usuario actual por el especificado. +Private Sub b_guardaUsuario_Click +' skmt.ExecNonQuery($"delete from usuarioa"$) + If et_nuevoUsuario.Text <> "" Then + skmt.ExecNonQuery($"update usuarioa set usuario = '${et_nuevoUsuario.Text}'"$) + skmt.ExecNonQuery($"update NOVENTA set NV_USER = '${et_nuevoUsuario.Text}' where NV_USER = '${l_usuario2.text}'"$) + skmt.ExecNonQuery($"update PEDIDO set PE_USUARIO = '${et_nuevoUsuario.Text}' where PE_USUARIO = '${l_usuario2.text}'"$) + skmt.ExecNonQuery($"update PEDIDO_CLIENTE set PC_USER = '${et_nuevoUsuario.Text}' where PC_USER = '${l_usuario2.text}'"$) + l_usuario2.Text = et_nuevoUsuario.text + End If + p_editaUsuario.Visible = False +End Sub + +Sub p_principal_Click + p_editaAlmacen.Visible = False + p_editaRuta.Visible = False + p_clientes.Visible = False + p_validacion.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) 'ignore + 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 + +Sub i_engrane_Click + Subs.panelVisible(p_engrane, 0, 0) + p_engrane.Width = Root.Width : p_engrane.Height = Root.Height +End Sub + +Sub B_SERVER_Click + p_engrane.Visible = False + reqManager.Initialize(Me, et_server.text) +End Sub + +Sub lv_DBRServer_ItemClick (Position As Int, Value As Object) + et_server.Text = Value + reqManager.Initialize(Me, Value) +End Sub + +Private Sub lv_empresa_ItemClick (Position As Int, Value As Object) + empresa = Value + l_appInfo.Text = $"${empresa}"$ +End Sub + +Private Sub sp_empresa_ItemClick (Position As Int, Value As Object) + empresa = Value + If empresa <> "------------" And empresa <> "" Then + b_enviar.Enabled = True + b_valida.Enabled = True + b_enviar.Text = $"Enviar ${empresa} "$ + b_valida.Text = $"Validar ${empresa} "$ + Else + b_enviar.Enabled = False + b_valida.Enabled = False + End If + Log(Value) +End Sub + +Sub envioMariana 'ignore + reqManager.reqsList.Initialize 'inicializamos lista de requests. + B4XPages.MainPage.skmt.ExecNonQuery2("delete from PEDIDO WHERE PE_PRONOMBRE = ? ", Array As Object("N/A") ) + B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE not In (select PE_CLIENTE from pedido)") + ' PEDIO_CLIENTE + Dim c As Cursor = B4XPages.MainPage.skmt.ExecQuery("SELECT PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT, PC_COSTO_SIN, PC_RUTA, PC_ALMACEN, PC_FACTURA FROM PEDIDO_CLIENTE ") + Dim d As Cursor = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDOSC FROM PEDIDO_CLIENTE ") + If c.RowCount>0 Then + For i=0 To c.RowCount - 1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_pedidos_MARDS" + cmd.Parameters = Array As Object(c.GetString("PC_CLIENTE"), c.GetString("PC_FECHA"), c.GetString("PC_USER"), c.GetString("PC_NOART"), c.GetString("PC_MONTO"), c.GetString("PC_LON"), c.GetString("PC_LAT"), almacen, ruta, c.GetString("PC_COSTO_SIN"), c.GetString("PC_FACTURA")) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , $"ins_pedidos_${i}"$) + Next + End If + c.Close + d.Position=0 +' Dim cuantos_pedidosc As String = D.GetString("CUANTOS_PEDIDOSC") + d.Close + + ' ENVIO DE LOS CODIGOS QR + c = B4XPages.MainPage.skmt.ExecQuery("SELECT CODIGOKMTS, CODIGOB, LAT, LON FROM HIST_CODIGO_BARRAS" ) + If c.RowCount>0 Then + For i=0 To c.RowCount - 1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_QR_2_MARDS" + cmd.Parameters = Array As Object(C.GetString("CODIGOKMTS"),C.GetString("CODIGOB"),C.GetString("LON"),C.GetString("LAT"),almacen, ruta) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , $"ins_QR_${i}"$) + Next + End If + c.Close + + c = B4XPages.MainPage.skmt.ExecQuery("SELECT HE_CLIE, HE_RES, HE_FECHA, HE_TIPO FROM HIST_ENCUESTA") + If c.RowCount>0 Then + For i=0 To c.RowCount - 1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_encuesta_MARDS" + cmd.Parameters = Array As Object(C.GetString("HE_CLIE"),C.GetString("HE_RES"),C.GetString("HE_FECHA"), c.GetString("HE_TIPO")) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , $"ins_encuesta_${i}"$) + Next + End If + c.Close + + c = B4XPages.MainPage.skmt.ExecQuery("SELECT PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO FROM PEDIDO") + d = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO") + If c.RowCount>0 Then + For i=0 To c.RowCount - 1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_pedido_MARDS" + cmd.Parameters = Array As Object(C.GetString("PE_CEDIS"),almacen,C.GetString("PE_COSTO_TOT"),C.GetString("PE_COSTOU"),C.GetString("PE_CANT"),C.GetString("PE_PRONOMBRE"),C.GetString("PE_PROID"),C.GetString("PE_CLIENTE"),C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),c.GetString("PE_FOLIO")) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , $"ins_pedido_${i}"$) + Next + End If + c.Close + d.Position=0 + B4XPages.MainPage.cuantos_pedido = D.GetString("CUANTOS_PEDIDO") + d.Close + + ' NOVENTA + c = B4XPages.MainPage.skmt.ExecQuery("SELECT NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON, NV_NOMBRE, NV_DIRECCION FROM NOVENTA") + If c.RowCount > 0 Then + For i = 0 To c.RowCount - 1 + c.Position = i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_noventa_MARDS" + cmd.Parameters = Array As Object(C.GetString("NV_CLIENTE"),C.GetString("NV_FECHA"),C.GetString("NV_USER"),C.GetString("NV_MOTIVO"),C.GetString("NV_COMM"),C.GetString("NV_LAT"),C.GetString("NV_LON"), almacen, ruta,C.GetString("NV_NOMBRE"),C.GetString("NV_DIRECCION")) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , $"ins_noventa_${i}"$) + Next + End If + c.Close + + d = skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM NOVENTA") + d.Position = 0 + Dim cuantos_noventa As String = d.GetString("CUANTOS_NOVENTA") + d.Close + + ' GEO CERCA + c = B4XPages.MainPage.skmt.ExecQuery("Select HGCLIENTE, HGDATE, HGLAT, HGLON from HIST_GEOCERCA") + If c.RowCount > 0 Then + For i = 0 To c.RowCount - 1 + c.Position = i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_geocerca_MARDS" + cmd.Parameters = Array As Object(C.GetString("HGCLIENTE"),C.GetString("HGDATE"),C.GetString("HGLAT"),C.GetString("HGLON")) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_geocerca") + Next + End If + c.Close + + ' LO DEL LIKE + c = B4XPages.MainPage.skmt.ExecQuery("Select HFCLIENTE, HFALIAS,HFRUTA,HFALMACEN from HIST_FACE") + If c.RowCount > 0 Then + For i = 0 To c.RowCount - 1 + c.Position = i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_face_like_MARDS" + cmd.Parameters = Array As Object(C.GetString("HFCLIENTE"),C.GetString("HFALIAS"),C.GetString("HFRUTA"),C.GetString("HFALMACEN")) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "inst_facelike") + Next + End If + c.Close + + ' DROP +' Dim sDate,sTime As String +' DateTime.DateFormat = "MM/dd/yyyy" +' sDate=DateTime.Date(DateTime.Now) +' sTime=DateTime.Time(DateTime.Now) +' Dim cmd As DBCommand +' cmd.Initialize +' cmd.Name ="insert_drop_MARDS_2" +' cmd.Parameters = Array As Object(usuario,ruta,sDate & sTime, l_porvisitar.Text,l_drop.Text,l_efectiva.Text,l_cuantosc.Text,l_cuantosn.Text, L_MONTOD.Text,"ENVIO",almacen) +' reqManager.ExecuteCommand(cmd , "inst_noventa") +End Sub + +Sub envioGuna_Reparto 'ignore + Guna_Reparto.envia +End Sub + +Sub envioIntmex 'ignore + Intmex.envia +End Sub + +Sub envioIzca 'ignore + Izca.envia +End Sub + +Sub envioDurakelo 'ignore + Durakelo.envia +End Sub + +Sub envioMarquez 'ignore + Marquez.envia +End Sub + +Sub envioMazapa 'ignore + Mazapa.envia +End Sub + +Sub envioProfina 'ignore + Profina.envia +End Sub + +Sub envioGuna 'ignore + Private PASO As Int = 1 + reqManager.Initialize(Me, "http://keymon.net:1782") + reqManager.reqsList.Initialize 'inicializamos lista de requests. + If PASO = 1 Then + B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE not In (select PE_CLIENTE from pedido)") + ' PEDIO_CLIENTE + c = B4XPages.MainPage.skmt.ExecQuery("SELECT PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT, PC_COSTO_SIN, PC_RUTA, PC_ALMACEN FROM PEDIDO_CLIENTE ") + If c.RowCount > 0 Then + For i = 0 To c.RowCount - 1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_pedidos_GV2" + cmd.Parameters = Array As Object(C.GetString("PC_CLIENTE"),C.GetString("PC_FECHA"),C.GetString("PC_USER"),C.GetString("PC_NOART"),C.GetString("PC_MONTO"),C.GetString("PC_LON"),C.GetString("PC_LAT"), almacen, ruta, C.GetString("PC_COSTO_SIN") ) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_pedidos") + Next + End If + c.Close + + d = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDOSC FROM PEDIDO_CLIENTE ") + d.Position=0 + Private cuantos_pedidosc As String = D.GetString("CUANTOS_PEDIDOSC") + d.Close + + ' ENVIO DE LOS CODIGOS QR + 'c=skmt.ExecQuery2("SELECT CAT_CL_NUM_SERIEFISICO,CAT_CL_CODIGO ,CAT_CL_LONG,CAT_CL_LAT, CAT_CL_FOTO FROM kmt_info where CAT_CL_NUM_SERIEFISICO = ?", Array As String("OK")) + c=B4XPages.MainPage.skmt.ExecQuery("SELECT CODIGOKMTS, CODIGOB, LAT, LON FROM HIST_CODIGO_BARRAS" ) + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_QR_2_GV2" + cmd.Parameters = Array As Object(C.GetString("CODIGOKMTS"), C.GetString("CODIGOB"), C.GetString("LON"), C.GetString("LAT"), almacen, ruta) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_QR") + Next + End If + c.Close + + c = B4XPages.MainPage.skmt.ExecQuery("SELECT CAT_CL_NUM_SERIEFISICO,CAT_CL_CODIGO ,CAT_CL_LONG,CAT_CL_LAT, CAT_CL_FOTO FROM kmt_info where CAT_CL_NUM_SERIEFISICO IS NOT NULL") + If c.RowCount > 0 Then + For i = 0 To c.RowCount - 1 + c.Position = i + 's=skmt.ExecQuery2("SELECT HIST_VI_IMAGEN FROM HIST_VISITAS WHERE HIST_VI_CREDITO =?", Array As String (c.GetString("HIST_VI_CREDITO"))) + 's.Position =0 + Private foto1() As Byte = c.GetBlob("CAT_CL_FOTO") + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_QR_GV2" + cmd.Parameters = Array As Object(C.GetString("CAT_CL_NUM_SERIEFISICO"), C.GetString("CAT_CL_CODIGO"), C.GetString("CAT_CL_LONG"), C.GetString("CAT_CL_LAT"), almacen, ruta, foto1) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_QR") + Next + End If + c.Close + + c = B4XPages.MainPage.skmt.ExecQuery("SELECT HE_CLIE, HE_RES, HE_FECHA, HE_TIPO FROM HIST_ENCUESTA") + If c.RowCount > 0 Then + For i = 0 To c.RowCount - 1 + c.Position = i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_encuesta" + cmd.Parameters = Array As Object(C.GetString("HE_CLIE"),C.GetString("HE_RES"),C.GetString("HE_FECHA"), c.GetString("HE_TIPO")) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "inst_noventa") + Next + End If + c.Close + + + c=B4XPages.MainPage.skmt.ExecQuery2("SELECT PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO FROM PEDIDO WHERE (PE_RECALCULO = ? or PE_RECALCULO = ? or PE_RECALCULO IS NULL)",Array As String("","null")) + d=B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_pedido_GV2_06" + cmd.Parameters = Array As Object(C.GetString("PE_CEDIS"), almacen, C.GetString("PE_COSTO_TOT"), C.GetString("PE_COSTOU"), C.GetString("PE_CANT"), C.GetString("PE_PRONOMBRE"), C.GetString("PE_PROID"), C.GetString("PE_CLIENTE"),C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),c.GetString("PE_FOLIO")) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_pedido") + Next + End If + c.Close + d.Position=0 + cuantos_pedido = D.GetString("CUANTOS_PEDIDO") + d.Close + + If almacen = "88" Or almacen = "6" Then + c=B4XPages.MainPage.skmt.ExecQuery2("SELECT PE_RECALCULO,PE_RECALCULOTOT,PE_RECCEDIS,PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO FROM PEDIDO WHERE PE_RECALCULO <> ? or PE_RECALCULO <> ? or PE_RECALCULO IS NOT NULL",Array As String("","null")) + d=B4XPages.MainPage.skmt.ExecQuery($"SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO where PE_RUTA = '${Subs.traeRuta}'"$) + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_pedido_GV2_06" + cmd.Parameters = Array As Object(C.GetString("PE_RECCEDIS"), almacen, C.GetString("PE_RECALCULOTOT"), C.GetString("PE_RECALCULO"), C.GetString("PE_CANT"), C.GetString("PE_PRONOMBRE"), C.GetString("PE_PROID"), C.GetString("PE_CLIENTE"),C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),c.GetString("PE_FOLIO")) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_pedido") + Next + End If + c.Close + d.Position=0 + cuantos_pedido = D.GetString("CUANTOS_PEDIDO") + d.Close + Else + c=B4XPages.MainPage.skmt.ExecQuery2("SELECT PE_RECALCULO,PE_RECALCULOTOT,PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO FROM PEDIDO WHERE PE_RECALCULO <> ? or PE_RECALCULO <> ? or PE_RECALCULO IS NOT NULL",Array As String("","null")) + d=B4XPages.MainPage.skmt.ExecQuery($"SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO where PE_RUTA = '${Subs.traeRuta}'"$) + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_pedido_GV2_06" + cmd.Parameters = Array As Object(C.GetString("PE_CEDIS"), almacen, C.GetString("PE_RECALCULOTOT"), C.GetString("PE_RECALCULO"), C.GetString("PE_CANT"), C.GetString("PE_PRONOMBRE"), C.GetString("PE_PROID"), C.GetString("PE_CLIENTE"),C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),c.GetString("PE_FOLIO")) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_pedido") + Next + End If + c.Close + d.Position=0 + cuantos_pedido = D.GetString("CUANTOS_PEDIDO") + d.Close + End If + + ' NOVENTA + c = B4XPages.MainPage.skmt.ExecQuery("SELECT NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON FROM NOVENTA") + If c.RowCount > 0 Then + For i = 0 To c.RowCount - 1 + c.Position = i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_noventa_GV2" + cmd.Parameters = Array As Object(C.GetString("NV_CLIENTE"),C.GetString("NV_FECHA"),C.GetString("NV_USER"),C.GetString("NV_MOTIVO"),C.GetString("NV_COMM"),C.GetString("NV_LAT"),C.GetString("NV_LON"), almacen, ruta) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "inst_noventa") + Next + End If + c.Close + + d = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM NOVENTA") + d.Position = 0 + cuantos_noventa = D.GetString("CUANTOS_NOVENTA") + d.Close + + ' DATOS DE KMTS PARA EL TIPO DE ABARROTE. + '''CAT_CL_GIRO = ? WHERE CAT_CL_CODIGO = ? And CAT_CL_NOMBRE = ? kmt_info + c = B4XPages.MainPage.skmt.ExecQuery("Select CAT_CL_GIRO, CAT_CL_CODIGO from kmt_info") + If c.RowCount > 0 Then + For i = 0 To c.RowCount - 1 + c.Position = i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_GIROS_ENC" + cmd.Parameters = Array As Object(C.GetString("CAT_CL_CODIGO"),C.GetString("CAT_CL_GIRO")) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "inst_noventa") + Next + End If + c.Close + + ' GEO CERCA + c = B4XPages.MainPage.skmt.ExecQuery("Select HGCLIENTE, HGDATE, HGLAT, HGLON from HIST_GEOCERCA") + If c.RowCount > 0 Then + For i = 0 To c.RowCount - 1 + c.Position = i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_geocerca_GV2" + cmd.Parameters = Array As Object(C.GetString("HGCLIENTE"),C.GetString("HGDATE"),C.GetString("HGLAT"),C.GetString("HGLON")) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "inst_noventa") + Next + End If + c.Close + + ' LO DEL LIKE + c = B4XPages.MainPage.skmt.ExecQuery("Select HFCLIENTE, HFALIAS,HFRUTA,HFALMACEN from HIST_FACE") + If c.RowCount > 0 Then + For i = 0 To c.RowCount - 1 + c.Position = i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_face_like_GV2" + cmd.Parameters = Array As Object(C.GetString("HFCLIENTE"),C.GetString("HFALIAS"),C.GetString("HFRUTA"),C.GetString("HFALMACEN")) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "inst_noventa") + Next + End If + c.Close + + ' DROP +' t1.Initialize("T1", 30000) ' 1000 = 1 second +' t1.Enabled = True +' Dim sDate,sTime As String +' DateTime.DateFormat = "MM/dd/yyyy" +' sDate=DateTime.Date(DateTime.Now) +' sTime=DateTime.Time(DateTime.Now) +' Dim cmd As DBCommand +' cmd.Initialize +' cmd.Name ="insert_drop_GV2_2" +' cmd.Parameters = Array As Object(usuario,l_ruta.Text,sDate & sTime, l_porvisitar.Text,l_drop.Text,l_efectiva.Text,l_cuantosc.Text,l_cuantosn.Text, L_MONTOD.Text,"ENVIO",almacen) +' B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "inst_noventa") +' img2.Visible =True +' PORCENTAJE = Round(100/ (cuantos_noventa + cuantos_pedido + cuantos_pedidosc + 1)) +' If Starter.marcaCel <> "Sony" Then ToastMessageShow("Se Actualizaran los datos, Este proceso podria tardar hasta un minuto, gracias "& l_ruta.text , True) + End If + + Private x As Cursor = B4XPages.MainPage.skmt.ExecQuery("Select CLIENTE, ALMACEN, P1, P2, P3, P4, P5, P6, P7, P8, P9 from ENCUESTA_MODULO1") + If x.RowCount>0 Then + For i=0 To x.RowCount -1 + x.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_ENCUESTA_MODULO1" + cmd.Parameters = Array As Object(x.GetString("CLIENTE"), x.GetString("ALMACEN"),x.GetString("P1"), x.GetString("P2"), x.GetString("P3"), x.GetString("P4"), x.GetString("P5"), x.GetString("P6"), x.GetString("P7"), x.GetString("P8"), x.GetString("P9")) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "insert_ENCUESTA_MODULO1") + Next + End If + x.Close + Private x As Cursor = B4XPages.MainPage.skmt.ExecQuery("Select CLIENTE, ALMACEN, P1, P2, P3, P4, P5, P6 from ENCUESTA_MODULO2") + If x.RowCount>0 Then + For i=0 To x.RowCount -1 + x.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_ENCUESTA_MODULO2" + cmd.Parameters = Array As Object(x.GetString("CLIENTE"), x.GetString("ALMACEN"),x.GetString("P1"), x.GetString("P2"), x.GetString("P3"), x.GetString("P4"), x.GetString("P5"), x.GetString("P6")) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "insert_ENCUESTA_MODULO2") + Next + End If + x.Close + Private x As Cursor = B4XPages.MainPage.skmt.ExecQuery("Select CLIENTE, ALMACEN, P1, P2, P3, P4, P5, P6, P7, P8, P9 from ENCUESTA_MODULO3") + If x.RowCount>0 Then + For i=0 To x.RowCount -1 + x.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_ENCUESTA_MODULO3" + cmd.Parameters = Array As Object(x.GetString("CLIENTE"), x.GetString("ALMACEN"),x.GetString("P1"), x.GetString("P2"), x.GetString("P3"), x.GetString("P4"), x.GetString("P5"), x.GetString("P6"), x.GetString("P7"), x.GetString("P8"), x.GetString("P9")) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "insert_ENCUESTA_MODULO3") + Next + End If + x.Close + Private x As Cursor = B4XPages.MainPage.skmt.ExecQuery("Select CLIENTE, ALMACEN, P1, P2, P3, P4, P5, P6, P7, P8 from ENCUESTA_MODULO4") + If x.RowCount>0 Then + For i=0 To x.RowCount -1 + x.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_ENCUESTA_MODULO4" + cmd.Parameters = Array As Object(x.GetString("CLIENTE"), x.GetString("ALMACEN"),x.GetString("P1"), x.GetString("P2"), x.GetString("P3"), x.GetString("P4"), x.GetString("P5"), x.GetString("P6"), x.GetString("P7"), x.GetString("P8")) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "insert_ENCUESTA_MODULO4") + Next + End If + x.Close + Private x As Cursor = B4XPages.MainPage.skmt.ExecQuery("Select CLIENTE, ALMACEN, P1, P2, P3, P4, P5, P6, P7, P8, P9 from ENCUESTA_MODULO5") + If x.RowCount>0 Then + For i=0 To x.RowCount -1 + x.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_ENCUESTA_MODULO5" + cmd.Parameters = Array As Object(x.GetString("CLIENTE"), x.GetString("ALMACEN"),x.GetString("P1"), x.GetString("P2"), x.GetString("P3"), x.GetString("P4"), x.GetString("P5"), x.GetString("P6"), x.GetString("P7"), x.GetString("P8"), x.GetString("P9")) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "insert_ENCUESTA_MODULO5") + Next + End If + x.Close +End Sub + +'Valida la venta contra web. +'Revisa que la NOVENTA, la cantidad de pedidos y los productos de PEDIDO sean los mismos en web y locales. +Sub valida(identificador As String) + Log("Validamos " & identificador) + If empresa.ToUpperCase.Contains("GUNA") Then +' reqManager.Initialize(Me, "http://keymon.lat:1782") + reqManager.Initialize(Me, "http://keymon.net:1782") + Else +' reqManager.Initialize(Me, "http://keymon.lat:1781") + reqManager.Initialize(Me, "http://keymon.net:1781") + End If + d = skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM NOVENTA") + d.Position = 0 + Dim cuantos_noventa As String = d.GetString("CUANTOS_NOVENTA") + d.Close + + cmd.Initialize + cmd.Name = $"select_cuantos_noventa_${identificador}"$ + cmd.Parameters = Array As Object(almacen, ruta) + reqManager.ExecuteQuery(cmd , 0, "valida_noventa") + + d = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO") + d.Position = 0 + cuantos_pedido = D.GetString("CUANTOS_PEDIDO") + d.Close + + cmd.Initialize + cmd.Name = $"select_cuantos_pedido_${identificador}"$ + cmd.Parameters = Array As Object(almacen, ruta) + reqManager.ExecuteQuery(cmd , 0, "valida_pedido") + + d = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDOSC FROM PEDIDO_CLIENTE ") + d.Position = 0 + Private cuantos_pedidosc As String = D.GetString("CUANTOS_PEDIDOSC") + d.Close + + cmd.Initialize + cmd.Name = $"select_cuantos_pedidoc_${identificador}"$ + cmd.Parameters = Array As Object(almacen, ruta) + reqManager.ExecuteQuery(cmd , 0, "valida_pedidoc") +End Sub + +Private Sub p_empresa_Click +End Sub + +Private Sub b_valida_Click + l_vPedidos2.Text = "" + l_vProds2.Text = "" + l_vNoVenta2.Text = "" + p_validacion.Visible = True + If empresa.ToUpperCase.Contains("MARIANA") Then + valida("MARDS") + else if empresa.ToUpperCase.Contains("GUNA") Then + valida("GV2") + else if empresa.ToUpperCase.Contains("INTMEX") Then +' valida("INTMEX") + Intmex.valida + else if empresa.ToUpperCase.Contains("DURAKELO") Then + Durakelo.valida + else if empresa.ToUpperCase.Contains("MARQUEZ") Then + Marquez.valida + End If +End Sub + +Private Sub p_engrane_Click +End Sub + +Private Sub p_validacion_Click + p_validacion.Visible = False +End Sub + + +'====================================================================================== +$// ARCHIVO_FIN: B4XMainPage.bas +'====================================================================================== + + +'====================================================================================== +$// ARCHIVO_INICIO: C_Durakelo.bas +'====================================================================================== + +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Class +Version=12.8 +@EndOfDesignText@ +Sub Class_Globals + Private Root As B4XView 'ignore + Private xui As XUI 'ignore + Dim reqManager As DBRequestManager + Dim cmd As DBCommand + Dim datos_iguales, almacen, carga, paso, conteo, porcentaje, perfil, cuantos, NUMERO_PEDIDO, usuario, cuantos_exib, cuantos_pedidosc, cuantos_noventa, cuantos_ped, cuantos_pedido As String + Dim e1, c, d, d3, d9 As Cursor + Dim tiempo As Int + Dim l_ruta, L_ABORDO, l_porvisitar As Label + Dim T3, T4 As Timer + Dim enviando As Boolean = False + Dim validando As Boolean = False +End Sub + +'You can add more parameters here. +Public Sub Initialize As Object +' reqManager.Initialize(Me, "http://keymon.lat:1781") + reqManager.Initialize(Me, "http://keymon.net:1781") + l_ruta.Initialize("") + L_ABORDO.Initialize("") + l_porvisitar.Initialize("") +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 + +End Sub + +'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. + +Sub envia + carga = "SUBIR" + enviando = True + almacen = Subs.traeAlmacen + l_ruta.TEXT = Subs.traeRuta + Dim fecha As String = DateTime.Date(DateTime.Now) +' P1.Visible = True +' trabajar.Visible = False +' B_PROXIMA.Visible =False +' Btn_UbicarR.Visible=False +' NUEVO.Visible =False +' BUSCA.Visible=False +' connecta.Visible=False +' Subir.Visible=False +' SUBIR_P.Visible = False +' cargar.Visible=False +' L_P_1.Visible = False +' S_CC.Visible = False +' L_P_3.Visible = False +' S_CH.Visible = False +' PB1.Visible = False +' Resumen.Visible= False + porcentaje = 0 +' L_P_2.Text = "Envio de Pedidos" +' L_P_3.Text = "Envio de Pedidos" +' S_CH.Text = "EN PROCESO" +' S_CP.Text = "EN PROCESO" +' PB1.Progress = 0 +' PB2.Progress = 0 +' PB2.Visible = True + conteo = 0 + paso = 1 + 'End If + +' If paso = 1 Then + e1=B4XPages.MainPage.skmt.ExecQuery2("Select count(*) As CUANTOS from pedido where PE_TIPO = ?", Array As String("ABORDO")) + e1.Position = 0 + If e1.GetString("CUANTOS") > 0 Then + c=B4XPages.MainPage.skmt.ExecQuery2("Select sum(PE_COSTO_TOT) As MONTO_DIA from pedido where PE_TIPO = ?", Array As String("ABORDO")) + c.Position = 0 + L_ABORDO.Text = c.GetString("MONTO_DIA") + c.Close + Else + L_ABORDO.Text = 0 + End If + e1.Close + c=B4XPages.MainPage.skmt.ExecQuery2("select count(*) AS CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("PERFIL")) + c.Position =0 + perfil = c.GetString("CUANTOS") + c.Close + If perfil > 0 Then + c=B4XPages.MainPage.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("PERFIL")) + c.Position =0 + perfil = c.GetString("CAT_VA_VALOR") + c.Close + End If + c=B4XPages.MainPage.skmt.ExecQuery2("select count(*) AS CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("NUMERO_PEDIDO")) + c.Position =0 + cuantos = c.GetString("CUANTOS") + c.Close + If cuantos > 0 Then + c=B4XPages.MainPage.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("NUMERO_PEDIDO")) + c.Position =0 + NUMERO_PEDIDO = c.GetString("CAT_VA_VALOR") + c.Close + Else + NUMERO_PEDIDO = 0 + End If + B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE not In (select PE_CLIENTE from pedido)") + c=B4XPages.MainPage.skmt.ExecQuery("select usuario from usuarioa") + c.Position = 0 + usuario = c.GetString("USUARIO") + c.Close + d3=B4XPages.MainPage.skmt.ExecQuery("SELECT SUM(PE_COSTO_TOT) as MONTO FROM PEDIDO") + d3.Position = 0 + +' Dim cmd As DBCommand +' cmd.Initialize +' cmd.Name ="UPDATE_INFO_E_DURK" +' cmd.Parameters = Array As Object(d3.GetDouble("MONTO")- L_ABORDO.text, L_ABORDO.Text, d3.GetDouble("MONTO"),l_ruta.TEXT, almacen) +' reqManager.ExecuteQuery(cmd , 0, "inst_noventa") + +' Dim cmd As DBCommand +' cmd.Initialize +' cmd.Name ="insert_drop2_DUR" +' cmd.Parameters = Array As Object(usuario,l_ruta.Text,fecha, l_porvisitar.Text,l_drop.Text,l_efectiva.Text,l_cuantosc.Text,l_cuantosn.Text, L_MONTOD.Text,"ENVIO", almacen, L_VENTA.Text, L_PREVENTA.Text, L_ABORDO.Text, l_cambios.TEXT) +' reqManager.ExecuteQuery(cmd , 0, "inst_noventa") +' d3.Close + + ' PEDIDO_CLIENTE + c=B4XPages.MainPage.skmt.ExecQuery("SELECT PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT, PC_COSTO_SIN, PC_RUTA, PC_ALMACEN FROM PEDIDO_CLIENTE ") + d=B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDOSC FROM PEDIDO_CLIENTE ") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_pedidos_DUR" + cmd.Parameters = Array As Object(C.GetString("PC_CLIENTE"),C.GetString("PC_FECHA"),C.GetString("PC_USER"),C.GetString("PC_NOART"),C.GetString("PC_MONTO"),C.GetString("PC_LON"),C.GetString("PC_LAT"),almacen,Subs.traeRutaPedidoCliente(C.GetString("PC_CLIENTE")),C.GetString("PC_COSTO_SIN") ) + reqManager.ExecuteCommand(cmd, "ins_pedidos") +' LogColor(Subs.traeRutaPedidoCliente(C.GetString("PC_CLIENTE")) & "|" & C.GetString("PC_CLIENTE"), Colors.red ) + Next + c.Close + End If + d.Position=0 + cuantos_pedidosc = D.GetString("CUANTOS_PEDIDOSC") + d.Close + +' c=B4XPages.MainPage.skmt.ExecQuery("SELECT CAT_CL_NUM_SERIEFISICO,CAT_CL_CODIGO ,CAT_CL_LONG,CAT_CL_LAT FROM kmt_info") +' If c.RowCount>0 Then +' For i=0 To c.RowCount -1 +' c.Position=i +' Dim cmd As DBCommand +' cmd.Initialize +' cmd.Name = "insert_QR_DUR" +' cmd.Parameters = Array As Object(C.GetString("CAT_CL_NUM_SERIEFISICO"),C.GetString("CAT_CL_CODIGO"),C.GetString("CAT_CL_LONG"),C.GetString("CAT_CL_LAT"),almacen,l_ruta.text ) +' reqManager.ExecuteQuery(cmd , 0,"ins_QR") +' Next +' c.Close +' End If + + Try + c=B4XPages.MainPage.skmt.ExecQuery("SELECT HE_CLIE, HE_RES, HE_FECHA, HE_TIPO, HE_ORDEN FROM HIST_ENCUESTA4") + ' S_CP.Text = "Envio Encuesta" + ' PB2.Progress = 1 + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "INSERT_ENCUESTA_K001DUR" + cmd.Parameters = Array As Object(C.GetString("HE_CLIE"),C.GetString("HE_RES"),C.GetString("HE_FECHA"),C.GetString("HE_ORDEN"),almacen,l_ruta.text,"1", C.GetString("HE_TIPO")) + reqManager.ExecuteCommand(cmd , "INS_K001") + Next + c.Close + End If + Catch + Log(LastException) + End Try + + 'ENCUESTAS + Try + c=B4XPages.MainPage.skmt.ExecQuery("SELECT CAT_EP_IDGRUPO, CAT_EP_IDTIPOPREGUNTA, HIST_ENCUESTA.* FROM HIST_ENCUESTA join CAT_ENCUESTA_PREGUNTA on CAT_EP_ID = HE_TIPO") + ' S_CP.Text = "Envio Encuesta" + ' PB2.Progress = 1 + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position = i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_encuesta2_DUR" + cmd.Parameters = Array As Object(C.GetString("HE_CLIE"), C.GetString("HE_RES"), C.GetString("HE_FECHA"), c.GetString("HE_TIPO"), l_ruta.Text, c.GetString("CAT_EP_IDGRUPO"), Subs.traeAlmacen, c.GetString("CAT_EP_IDTIPOPREGUNTA")) + Log($"${C.GetString("HE_RES")}, ${C.GetString("HE_FECHA")}, ${c.GetString("HE_TIPO")}, ${l_ruta.Text}, ${c.GetString("CAT_EP_IDGRUPO")}, ${Subs.traeAlmacen}, ${c.GetString("CAT_EP_IDTIPOPREGUNTA")}"$) + reqManager.ExecuteCommand(cmd , "ins_encuesta") + Next + End If + c.Close + Catch + Log(LastException) + End Try + +' ' PEDIDO + B4XPages.MainPage.skmt.ExecNonQuery("update PEDIDO set PE_FOLIO = rowid ") + If perfil = "V-ESPECIAL" Then + c=B4XPages.MainPage.skmt.ExecQuery("SELECT PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO,PE_TIPO FROM PEDIDO ORDER BY PE_CLIENTE") + d=B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO") + d.Position=0 + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_pedido_esp_DUR" + cmd.Parameters = Array As Object(C.GetString("PE_CEDIS"),almacen,C.GetString("PE_COSTO_TOT"),C.GetString("PE_COSTOU"),C.GetString("PE_CANT"),C.GetString("PE_PRONOMBRE"),C.GetString("PE_PROID"),C.GetString("PE_CLIENTE"),C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),c.GetString("PE_FOLIO"), c.GetString("PE_TIPO"),NUMERO_PEDIDO ) + reqManager.ExecuteCommand(cmd, "ins_pedido") + Next + c.Close + End If + Else + c=B4XPages.MainPage.skmt.ExecQuery("SELECT PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO,PE_TIPO FROM PEDIDO") + d9=B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO") + d9.Position=0 +' tiempo = 0 + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position = i +' tiempo = tiempo + 1 +' If tiempo > 20 Then +' T3.Initialize("T3", 2000) ' 1000 = 1 second +' T3.Enabled = True +' Wait For t3_tick +' tiempo = 0 +' End If + conteo = conteo + 1 + cuantos_ped = d9.GetString("CUANTOS_PEDIDO") + porcentaje = 2 'Round(100/ (D.GetString("CUANTOS_PEDIDO") + 1)) + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_pedido_DUR" + cmd.Parameters = Array As Object(C.GetString("PE_CEDIS"),almacen,C.GetString("PE_COSTO_TOT"),C.GetString("PE_COSTOU"),C.GetString("PE_CANT"),C.GetString("PE_PRONOMBRE"),C.GetString("PE_PROID"),C.GetString("PE_CLIENTE"),C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),c.GetString("PE_FOLIO"), c.GetString("PE_TIPO")) + reqManager.ExecuteCommand(cmd, "ins_pedido") + Next + c.Close + End If + End If + cuantos_pedido = d9.GetString("CUANTOS_PEDIDO") + d9.Close + ' NOVENTA + c=B4XPages.MainPage.skmt.ExecQuery("SELECT NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON FROM NOVENTA") + D=B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM NOVENTA") + + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_noventa_DUR" + cmd.Parameters = Array As Object(C.GetString("NV_CLIENTE"),C.GetString("NV_FECHA"),C.GetString("NV_USER"),C.GetString("NV_MOTIVO"),C.GetString("NV_COMM"),C.GetString("NV_LAT"),C.GetString("NV_LON"), almacen, l_ruta.Text) + reqManager.ExecuteCommand(cmd, "inst_noventa") + Next + c.Close + End If + d.Position=0 + cuantos_noventa = D.GetString("CUANTOS_NOVENTA") + d.Close + + ' NOVENTA HIST_EXIBIDORES(CAT_CL_CLIENTE,CAT_CL_EXHIBIDOR,CAT_CL_BEXHIBIDOR) + c=B4XPages.MainPage.skmt.ExecQuery("SELECT CAT_CL_CLIENTE,CAT_CL_EXHIBIDOR,CAT_CL_BEXHIBIDOR from HIST_EXIBIDORES") + D=B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM HIST_EXIBIDORES") + + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_HIST_EXIBIDORES_DUR" + cmd.Parameters = Array As Object(C.GetString("CAT_CL_CLIENTE"),C.GetString("CAT_CL_EXHIBIDOR"),C.GetString("CAT_CL_BEXHIBIDOR"),l_ruta.TEXT) + reqManager.ExecuteCommand(cmd, "inst_noventa") + Next + c.Close + End If + d.Position=0 + cuantos_exib = D.GetString("CUANTOS_NOVENTA") + d.Close + + 'CUESTIONARIOS + c = B4XPages.MainPage.skmt.ExecQuery($"select * from cuestionario"$) + Private rutaActual As String = Subs.traeRuta + If c.RowCount > 0 Then + For x = 0 To c.RowCount - 1 + c.Position = x + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_CUESTIONARIO_DUR" + cmd.Parameters = Array As Object(c.GetString("Q_IDCLIENTE"), rutaActual, almacen, c.GetString("Q_FECHA"), c.GetString("Q_IDPREGUNTA"), c.GetString("Q_PREGUNTA"), c.GetString("Q_IDRESPUESTA"), C.GetString("Q_RESPUESTA")) + reqManager.ExecuteCommand(cmd , "ins_cuestionario") + Next + End If + c.Close + + ' DROP +' t1.Initialize("T1", 20000) ' 1000 = 1 second +' t1.Enabled = True +' img2.Visible =True + ' ToastMessageShow("Se Actualizaran los datos, Este proceso podria tardar hasta un minuto, gracias "& l_ruta.text , True) +' If S_CP.Text = "SUBIENDO" Then +' S_CP.Text = "VALIDANDO" +' End If +' End If + T4.Initialize("T4", 3000) + T4.Enabled = True +End Sub + +Sub JobDone(Job As HttpJob) + If reqManager.reqsList.IsInitialized Then 'Si tenemos lista de requests, la procesamos. + LogColor($">>>>>>>>>> Llega ${Job.tag} <<<<<<<<<<"$, Colors.Blue) + If reqManager.reqsList.IndexOf(Job.tag) <> -1 Then + reqManager.reqsList.RemoveAt(reqManager.reqsList.IndexOf(Job.tag)) +' LogColor($">>>>>> Quitamos ${Job.tag}"$, Colors.Blue) + End If + LogColor(">>>>>> " & reqManager.reqsList.Size & " - " & reqManager.reqsList, Colors.Blue) + End If + If Job.Success = False Then + LogColor("############################################", Colors.red) + LogColor("#### Error: " & Job.tag & " : " & Job.ErrorMessage, Colors.red) + LogColor("############################################", Colors.red) + Else + LogColor("JobDone: '" & reqManager.HandleJob(Job).tag & "' - Registros: " & reqManager.HandleJob(Job).Rows.Size, Colors.Green) 'Mod por CHV - 211027 + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If reqManager.reqsList.IsInitialized Then 'Si tenemos lista de requests, la procesamos. + If reqManager.reqsList.IndexOf(RESULT.tag) <> -1 Then + reqManager.reqsList.RemoveAt(reqManager.reqsList.IndexOf(RESULT.tag)) + LogColor($"*** Quitamos ${RESULT.tag}"$, Colors.Magenta) + T4.Initialize("T4", 2000) + End If + LogColor(">>>>>> " & reqManager.reqsList.Size & " - " & reqManager.reqsList, Colors.red) + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "ins_pedido" Then 'query tag +' For Each records() As Object In RESULT.Rows +' PB2.Progress = PB2.Progress + 5 +' Next +' PB2.Progress = 100 +' S_CP.Text = "LISTO" + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "valida_pedido" Then 'query tag + Subs.logJobDoneResultados(RESULT) + For Each records() As Object In RESULT.Rows + Dim CUANTOSP As Int = records(RESULT.Columns.Get("CUANTOSP")) + Log(CUANTOSP) + B4XPages.MainPage.l_vProds2.Text = $"${CUANTOSP}/${cuantos_pedido}"$ + If cuantos_pedido <= CUANTOSP Then + ' ToastMessageShow("rojo val ok 1 cuantosp." , True) + datos_iguales = "ok" +' S_CP.Text = "INFO OK" + ToastMessageShow("INFO OK", False) + Else +' S_CP.Text = "ENVIAR DATOS (K-2)" + ToastMessageShow($"No se cargo bien la info de pedido.${CRLF}Enve nuevamente: "$ & CUANTOSP & "/" & cuantos_pedido, True) + ToastMessageShow("ENVIAR DATOS (K-2)", True) + Log("No se cargo bien la info de pedido. Enve nuevamente: " & CUANTOSP & "/" & cuantos_pedido) + End If + Next + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "valida_pedidoc" Then 'query tag + Subs.logJobDoneResultados(RESULT) + For Each records() As Object In RESULT.Rows + Dim CUANTOSC As Int = records(RESULT.Columns.Get("CUANTOSC")) + B4XPages.MainPage.l_vPedidos2.Text = $"${CUANTOSC}/${cuantos_pedidosc}"$ + If cuantos_pedidosc = CUANTOSC Then + ' ToastMessageShow("rojo val ok 1 cuantosp." , True) + datos_iguales = "ok" + Else + ToastMessageShow($"No se cargo bien la info de pedido_cliente.${CRLF}Enve nuevamente: "$ & CUANTOSC & "/" & cuantos_pedidosc, True) + Log("No se cargo bien la info de pedido_cliente. Enve nuevamente: " & CUANTOSC & "/" & cuantos_pedidosc) + End If + Next + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "valida_noventa" Then 'query tag + Subs.logJobDoneResultados(RESULT) + For Each records() As Object In RESULT.Rows + Dim CUANTOSN As Int = records(RESULT.Columns.Get("CUANTOSN")) + B4XPages.MainPage.l_vNoVenta2.Text = $"${CUANTOSN}/${cuantos_noventa}"$ + If cuantos_noventa = CUANTOSN Then + ' ToastMessageShow("rojo val ok 1 cuantosp." , True) + datos_iguales = "ok" + Else + ToastMessageShow($"No se cargo bien la info de NoVenta.${CRLF}Enve nuevamente: "$ & CUANTOSN & "/" & cuantos_noventa, True) + Log("No se cargo bien la info de NoVenta. Enve nuevamente:" & CUANTOSN & "/" & cuantos_noventa) + End If + Next + End If + End If + If reqManager.reqsList.size = 0 Then T4.Enabled = True Else T4.Enabled = False + Job.Release + End If +End Sub + +Sub valida + validando = True + almacen = Subs.traeAlmacen + d = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO") + d.Position = 0 + cuantos_pedido = d.GetString("CUANTOS_PEDIDO") + + d = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDOSC FROM PEDIDO_CLIENTE ") + d.Position = 0 + cuantos_pedidosc = d.GetString("CUANTOS_PEDIDOSC") + + d = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM NOVENTA") + d.Position = 0 + cuantos_noventa = d.GetString("CUANTOS_NOVENTA") + d.Close + + cmd.Initialize + cmd.Name = "select_cuantos_pedido_DUR" + cmd.Parameters = Array As Object(almacen, Subs.traeRuta) + Log($"${almacen}, ${Subs.traeRuta}"$) + reqManager.ExecuteQuery(cmd , 0, "valida_pedido") + + cmd.Initialize + cmd.Name = "select_cuantos_noventa_DUR" + cmd.Parameters = Array As Object(almacen, Subs.traeRuta) + reqManager.ExecuteQuery(cmd , 0, "valida_noventa") + + cmd.Initialize + cmd.Name = "select_cuantos_pedidoc_DUR" + cmd.Parameters = Array As Object(almacen, Subs.traeRuta) + reqManager.ExecuteQuery(cmd , 0, "valida_pedidoc") + Log("http://keymon.net:1781") + + B4XPages.MainPage.l_vPedidos2.Text = "" + B4XPages.MainPage.l_vProds2.Text = "" + B4XPages.MainPage.l_vNoVenta2.Text = "" +End Sub + +Sub T4_Tick + If reqManager.reqsList.size = 0 Then ' Si ya no hay consultas pendientes ... + B4XPages.MainPage.p_progressDialog.Visible = False + If enviando Then ' Si terminamos de enviar pedido ... + Sleep(200) + B4XPages.MainPage.l_progressDialog.Text = "Validando " ' Mostramos el panel de progreso. + B4XPages.MainPage.p_progressDialog.Visible = False + valida ' Iniciamos la validacin + enviando = False + End If + If validando Then + validando = False + Sleep(300) + 'Mostramos el panel de Validacin. + B4XPages.MainPage.p_validacion.Visible = True + End If + End If +End Sub + +'====================================================================================== +$// ARCHIVO_FIN: C_Durakelo.bas +'====================================================================================== + + +'====================================================================================== +$// ARCHIVO_INICIO: C_Envios.bas +'====================================================================================== + +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Class +Version=12.5 +@EndOfDesignText@ +Sub Class_Globals + Private Root As B4XView 'ignore + Private xui As XUI 'ignore + Private c, d As Cursor + Private usuario As String 'ignore + Private almacen As String + Private ruta As String +End Sub + +'You can add more parameters here. +Public Sub Initialize As Object + usuario = Subs.traeUsuarioDeBD + almacen = Subs.traeAlmacen + ruta = Subs.traeRuta + 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 + +End Sub + +'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. + +Sub envioMariana 'ignore + Dim resultado = Msgbox2("Se va a enviar la venta de la BD", "AVISO", "Continuar", "Cancelar", "", Null) 'ignore + If resultado = DialogResponse.POSITIVE Then + B4XPages.MainPage.l_progressDialog.Text = " Enviando informacin ..." + B4XPages.MainPage.p_progressDialog.Visible = True + B4XPages.MainPage.p_progressDialog.BringToFront + B4XPages.MainPage.skmt.ExecNonQuery2("delete from PEDIDO WHERE PE_PRONOMBRE = ? ", Array As Object("N/A") ) + B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE not In (select PE_CLIENTE from pedido)") + ' PEDIO_CLIENTE + Dim c As Cursor = B4XPages.MainPage.skmt.ExecQuery("SELECT PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT, PC_COSTO_SIN, PC_RUTA, PC_ALMACEN, PC_FACTURA FROM PEDIDO_CLIENTE ") + Dim d As Cursor = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDOSC FROM PEDIDO_CLIENTE ") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_pedidos_MARDS" + cmd.Parameters = Array As Object(c.GetString("PC_CLIENTE"), c.GetString("PC_FECHA"), c.GetString("PC_USER"), c.GetString("PC_NOART"), c.GetString("PC_MONTO"), c.GetString("PC_LON"), c.GetString("PC_LAT"), almacen, ruta, c.GetString("PC_COSTO_SIN"), c.GetString("PC_FACTURA")) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_pedidos_1") + Next + End If + c.Close + d.Position=0 +' Dim cuantos_pedidosc As String = D.GetString("CUANTOS_PEDIDOSC") + d.Close + + ' ENVIO DE LOS CODIGOS QR + c = B4XPages.MainPage.skmt.ExecQuery("SELECT CODIGOKMTS, CODIGOB, LAT, LON FROM HIST_CODIGO_BARRAS" ) + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_QR_2_MARDS" + cmd.Parameters = Array As Object(C.GetString("CODIGOKMTS"),C.GetString("CODIGOB"),C.GetString("LON"),C.GetString("LAT"),almacen, ruta) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_QR") + Next + End If + c.Close + + c = B4XPages.MainPage.skmt.ExecQuery("SELECT HE_CLIE, HE_RES, HE_FECHA, HE_TIPO FROM HIST_ENCUESTA") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_encuesta_MARDS" + cmd.Parameters = Array As Object(C.GetString("HE_CLIE"),C.GetString("HE_RES"),C.GetString("HE_FECHA"), c.GetString("HE_TIPO")) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "hist_encuesta") + Next + End If + c.Close + + c = B4XPages.MainPage.skmt.ExecQuery("SELECT PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO FROM PEDIDO") + d = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_pedido_MARDS" + cmd.Parameters = Array As Object(C.GetString("PE_CEDIS"),almacen,C.GetString("PE_COSTO_TOT"),C.GetString("PE_COSTOU"),C.GetString("PE_CANT"),C.GetString("PE_PRONOMBRE"),C.GetString("PE_PROID"),C.GetString("PE_CLIENTE"),C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),c.GetString("PE_FOLIO")) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_pedido_1") + Next + End If + c.Close + d.Position=0 + B4XPages.MainPage.cuantos_pedido = D.GetString("CUANTOS_PEDIDO") + d.Close + + ' NOVENTA + c = B4XPages.MainPage.skmt.ExecQuery("SELECT NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON, NV_NOMBRE, NV_DIRECCION FROM NOVENTA") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_noventa_MARDS" + cmd.Parameters = Array As Object(C.GetString("NV_CLIENTE"),C.GetString("NV_FECHA"),C.GetString("NV_USER"),C.GetString("NV_MOTIVO"),C.GetString("NV_COMM"),C.GetString("NV_LAT"),C.GetString("NV_LON"), almacen, ruta,C.GetString("NV_NOMBRE"),C.GetString("NV_DIRECCION")) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "inst_noventa") + Next + End If + c.Close + +' D = skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM NOVENTA") +' d.Position=0 +' Dim cuantos_noventa As String = D.GetString("CUANTOS_NOVENTA") +' d.Close + + ' GEO CERCA + c=B4XPages.MainPage.skmt.ExecQuery("Select HGCLIENTE, HGDATE, HGLAT, HGLON from HIST_GEOCERCA") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_geocerca_MARDS" + cmd.Parameters = Array As Object(C.GetString("HGCLIENTE"),C.GetString("HGDATE"),C.GetString("HGLAT"),C.GetString("HGLON")) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "inst_noventa") + Next + End If + c.Close + + ' LO DEL LIKE + c=B4XPages.MainPage.skmt.ExecQuery("Select HFCLIENTE, HFALIAS,HFRUTA,HFALMACEN from HIST_FACE") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_face_like_MARDS" + cmd.Parameters = Array As Object(C.GetString("HFCLIENTE"),C.GetString("HFALIAS"),C.GetString("HFRUTA"),C.GetString("HFALMACEN")) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "inst_noventa") + Next + End If + c.Close + + ' DROP +' Dim sDate,sTime As String +' DateTime.DateFormat = "MM/dd/yyyy" +' sDate=DateTime.Date(DateTime.Now) +' sTime=DateTime.Time(DateTime.Now) +' Dim cmd As DBCommand +' cmd.Initialize +' cmd.Name ="insert_drop_MARDS_2" +' cmd.Parameters = Array As Object(usuario,ruta,sDate & sTime, l_porvisitar.Text,l_drop.Text,l_efectiva.Text,l_cuantosc.Text,l_cuantosn.Text, L_MONTOD.Text,"ENVIO",almacen) +' reqManager.ExecuteCommand(cmd , "inst_noventa") + ToastMessageShow("Se actualizaran los datos, este proceso podria tardar hasta un minuto, gracias "& ruta , True) + End If +End Sub + +Sub envioGuna 'ignore + Private PASO As Int = 1 + 'End If + If PASO = 1 Then + B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE not In (select PE_CLIENTE from pedido)") + ' PEDIO_CLIENTE + c = B4XPages.MainPage.skmt.ExecQuery("SELECT PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT, PC_COSTO_SIN, PC_RUTA, PC_ALMACEN FROM PEDIDO_CLIENTE ") + d = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDOSC FROM PEDIDO_CLIENTE ") + If c.RowCount > 0 Then + For i = 0 To c.RowCount - 1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_pedidos_GV2" + cmd.Parameters = Array As Object(C.GetString("PC_CLIENTE"),C.GetString("PC_FECHA"),C.GetString("PC_USER"),C.GetString("PC_NOART"),C.GetString("PC_MONTO"),C.GetString("PC_LON"),C.GetString("PC_LAT"), almacen, ruta, C.GetString("PC_COSTO_SIN") ) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_pedidos") + Next + End If + c.Close + d.Position=0 + Private cuantos_pedidosc As String = D.GetString("CUANTOS_PEDIDOSC") 'ignore + d.Close + + ' ENVIO DE LOS CODIGOS QR + 'c=skmt.ExecQuery2("SELECT CAT_CL_NUM_SERIEFISICO,CAT_CL_CODIGO ,CAT_CL_LONG,CAT_CL_LAT, CAT_CL_FOTO FROM kmt_info where CAT_CL_NUM_SERIEFISICO = ?", Array As String("OK")) + c=B4XPages.MainPage.skmt.ExecQuery("SELECT CODIGOKMTS, CODIGOB, LAT, LON FROM HIST_CODIGO_BARRAS" ) + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_QR_2_GV2" + cmd.Parameters = Array As Object(C.GetString("CODIGOKMTS"), C.GetString("CODIGOB"), C.GetString("LON"), C.GetString("LAT"), almacen, ruta) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_QR") + Next + End If + c.Close + + c = B4XPages.MainPage.skmt.ExecQuery("SELECT CAT_CL_NUM_SERIEFISICO,CAT_CL_CODIGO ,CAT_CL_LONG,CAT_CL_LAT, CAT_CL_FOTO FROM kmt_info where CAT_CL_NUM_SERIEFISICO IS NOT NULL") + If c.RowCount > 0 Then + For i = 0 To c.RowCount - 1 + c.Position = i + 's=skmt.ExecQuery2("SELECT HIST_VI_IMAGEN FROM HIST_VISITAS WHERE HIST_VI_CREDITO =?", Array As String (c.GetString("HIST_VI_CREDITO"))) + 's.Position =0 + Private foto1() As Byte = c.GetBlob("CAT_CL_FOTO") + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_QR_GV2" + cmd.Parameters = Array As Object(C.GetString("CAT_CL_NUM_SERIEFISICO"), C.GetString("CAT_CL_CODIGO"), C.GetString("CAT_CL_LONG"), C.GetString("CAT_CL_LAT"), almacen, ruta, foto1) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_QR") + Next + End If + c.Close + + c = B4XPages.MainPage.skmt.ExecQuery("SELECT HE_CLIE, HE_RES, HE_FECHA, HE_TIPO FROM HIST_ENCUESTA") + If c.RowCount > 0 Then + For i = 0 To c.RowCount - 1 + c.Position = i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_encuesta" + cmd.Parameters = Array As Object(C.GetString("HE_CLIE"),C.GetString("HE_RES"),C.GetString("HE_FECHA"), c.GetString("HE_TIPO")) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "inst_noventa") + Next + End If + c.Close + c = B4XPages.MainPage.skmt.ExecQuery("SELECT PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO FROM PEDIDO") + d = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO") + If c.RowCount > 0 Then + For i = 0 To c.RowCount - 1 + c.Position = i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_pedido_GV2_06" + cmd.Parameters = Array As Object(C.GetString("PE_CEDIS"), almacen, C.GetString("PE_COSTO_TOT"), C.GetString("PE_COSTOU"), C.GetString("PE_CANT"), C.GetString("PE_PRONOMBRE"), C.GetString("PE_PROID"), C.GetString("PE_CLIENTE"),C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),c.GetString("PE_FOLIO")) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_pedido") + Next + End If + c.Close + d.Position=0 + Private cuantos_pedido As String = D.GetString("CUANTOS_PEDIDO") 'ignore + d.Close + + ' NOVENTA + c = B4XPages.MainPage.skmt.ExecQuery("SELECT NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON FROM NOVENTA") + D = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM NOVENTA") + If c.RowCount > 0 Then + For i = 0 To c.RowCount - 1 + c.Position = i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_noventa_GV2" + cmd.Parameters = Array As Object(C.GetString("NV_CLIENTE"),C.GetString("NV_FECHA"),C.GetString("NV_USER"),C.GetString("NV_MOTIVO"),C.GetString("NV_COMM"),C.GetString("NV_LAT"),C.GetString("NV_LON"), almacen, ruta) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "inst_noventa") + Next + End If + c.Close + d.Position = 0 + Private cuantos_noventa As String = D.GetString("CUANTOS_NOVENTA") 'ignore + d.Close + + ' DATOS DE KMTS PARA EL TIPO DE ABARROTE. + '''CAT_CL_GIRO = ? WHERE CAT_CL_CODIGO = ? And CAT_CL_NOMBRE = ? kmt_info + c = B4XPages.MainPage.skmt.ExecQuery("Select CAT_CL_GIRO, CAT_CL_CODIGO from kmt_info") + If c.RowCount > 0 Then + For i = 0 To c.RowCount - 1 + c.Position = i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_GIROS_ENC" + cmd.Parameters = Array As Object(C.GetString("CAT_CL_CODIGO"),C.GetString("CAT_CL_GIRO")) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "inst_noventa") + Next + End If + c.Close + + ' GEO CERCA + c = B4XPages.MainPage.skmt.ExecQuery("Select HGCLIENTE, HGDATE, HGLAT, HGLON from HIST_GEOCERCA") + If c.RowCount > 0 Then + For i = 0 To c.RowCount - 1 + c.Position = i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_geocerca_GV2" + cmd.Parameters = Array As Object(C.GetString("HGCLIENTE"),C.GetString("HGDATE"),C.GetString("HGLAT"),C.GetString("HGLON")) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "inst_noventa") + Next + End If + c.Close + + ' LO DEL LIKE + c = B4XPages.MainPage.skmt.ExecQuery("Select HFCLIENTE, HFALIAS,HFRUTA,HFALMACEN from HIST_FACE") + If c.RowCount > 0 Then + For i = 0 To c.RowCount - 1 + c.Position = i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_face_like_GV2" + cmd.Parameters = Array As Object(C.GetString("HFCLIENTE"),C.GetString("HFALIAS"),C.GetString("HFRUTA"),C.GetString("HFALMACEN")) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "inst_noventa") + Next + End If + c.Close + + ' DROP +' t1.Initialize("T1", 30000) ' 1000 = 1 second +' t1.Enabled = True +' Dim sDate,sTime As String +' DateTime.DateFormat = "MM/dd/yyyy" +' sDate=DateTime.Date(DateTime.Now) +' sTime=DateTime.Time(DateTime.Now) +' Dim cmd As DBCommand +' cmd.Initialize +' cmd.Name ="insert_drop_GV2_2" +' cmd.Parameters = Array As Object(usuario,l_ruta.Text,sDate & sTime, l_porvisitar.Text,l_drop.Text,l_efectiva.Text,l_cuantosc.Text,l_cuantosn.Text, L_MONTOD.Text,"ENVIO",almacen) +' B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "inst_noventa") +' img2.Visible =True +' PORCENTAJE = Round(100/ (cuantos_noventa + cuantos_pedido + cuantos_pedidosc + 1)) +' If Starter.marcaCel <> "Sony" Then ToastMessageShow("Se Actualizaran los datos, Este proceso podria tardar hasta un minuto, gracias "& l_ruta.text , True) + End If + + Private x As Cursor = B4XPages.MainPage.skmt.ExecQuery("Select CLIENTE, ALMACEN, P1, P2, P3, P4, P5, P6, P7, P8, P9 from ENCUESTA_MODULO1") + If x.RowCount>0 Then + For i=0 To x.RowCount -1 + x.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_ENCUESTA_MODULO1" + cmd.Parameters = Array As Object(x.GetString("CLIENTE"), x.GetString("ALMACEN"),x.GetString("P1"), x.GetString("P2"), x.GetString("P3"), x.GetString("P4"), x.GetString("P5"), x.GetString("P6"), x.GetString("P7"), x.GetString("P8"), x.GetString("P9")) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "insert_ENCUESTA_MODULO1") + Next + End If + x.Close + Private x As Cursor = B4XPages.MainPage.skmt.ExecQuery("Select CLIENTE, ALMACEN, P1, P2, P3, P4, P5, P6 from ENCUESTA_MODULO2") + If x.RowCount>0 Then + For i=0 To x.RowCount -1 + x.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_ENCUESTA_MODULO2" + cmd.Parameters = Array As Object(x.GetString("CLIENTE"), x.GetString("ALMACEN"),x.GetString("P1"), x.GetString("P2"), x.GetString("P3"), x.GetString("P4"), x.GetString("P5"), x.GetString("P6")) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "insert_ENCUESTA_MODULO2") + Next + End If + x.Close + Private x As Cursor = B4XPages.MainPage.skmt.ExecQuery("Select CLIENTE, ALMACEN, P1, P2, P3, P4, P5, P6, P7, P8, P9 from ENCUESTA_MODULO3") + If x.RowCount>0 Then + For i=0 To x.RowCount -1 + x.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_ENCUESTA_MODULO3" + cmd.Parameters = Array As Object(x.GetString("CLIENTE"), x.GetString("ALMACEN"),x.GetString("P1"), x.GetString("P2"), x.GetString("P3"), x.GetString("P4"), x.GetString("P5"), x.GetString("P6"), x.GetString("P7"), x.GetString("P8"), x.GetString("P9")) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "insert_ENCUESTA_MODULO3") + Next + End If + x.Close + Private x As Cursor = B4XPages.MainPage.skmt.ExecQuery("Select CLIENTE, ALMACEN, P1, P2, P3, P4, P5, P6, P7, P8 from ENCUESTA_MODULO4") + If x.RowCount>0 Then + For i=0 To x.RowCount -1 + x.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_ENCUESTA_MODULO4" + cmd.Parameters = Array As Object(x.GetString("CLIENTE"), x.GetString("ALMACEN"),x.GetString("P1"), x.GetString("P2"), x.GetString("P3"), x.GetString("P4"), x.GetString("P5"), x.GetString("P6"), x.GetString("P7"), x.GetString("P8")) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "insert_ENCUESTA_MODULO4") + Next + End If + x.Close + Private x As Cursor = B4XPages.MainPage.skmt.ExecQuery("Select CLIENTE, ALMACEN, P1, P2, P3, P4, P5, P6, P7, P8, P9 from ENCUESTA_MODULO5") + If x.RowCount>0 Then + For i=0 To x.RowCount -1 + x.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_ENCUESTA_MODULO5" + cmd.Parameters = Array As Object(x.GetString("CLIENTE"), x.GetString("ALMACEN"),x.GetString("P1"), x.GetString("P2"), x.GetString("P3"), x.GetString("P4"), x.GetString("P5"), x.GetString("P6"), x.GetString("P7"), x.GetString("P8"), x.GetString("P9")) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "insert_ENCUESTA_MODULO5") + Next + End If + x.Close +End Sub + +'====================================================================================== +$// ARCHIVO_FIN: C_Envios.bas +'====================================================================================== + + +'====================================================================================== +$// ARCHIVO_INICIO: C_Intmex.bas +'====================================================================================== + +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Class +Version=12.8 +@EndOfDesignText@ +Sub Class_Globals +' Dim skmt As SQL + Dim reqManager As DBRequestManager + Dim cmd As DBCommand + Dim c, d As Cursor + Dim usuario, almacen, PORCENTAJE, datos_iguales As String + Dim cuantos_pedido As String = 0 + Dim cuantos_noventa As String = 0 + Dim cuantos_pedidosc As String = 0 + Dim foto1() As Byte + Dim t1 As Timer +' Dim COUNT_CLIE As Int + Dim enviando As Boolean = False + Dim validando As Boolean = False +End Sub + +'Initializes the object. You can add parameters to this method if needed. +Public Sub Initialize +' reqManager.Initialize(Me, "http://keymon.lat:1781") + reqManager.Initialize(Me, "http://keymon.net:1781") +End Sub + +Sub envia + enviando = True + almacen = Subs.traeAlmacen + B4XPages.MainPage.skmt.ExecNonQuery2("delete from PEDIDO WHERE PE_PRONOMBRE = ? ", Array As Object("N/A") ) + B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE not In (select PE_CLIENTE from pedido)") + c=B4XPages.MainPage.skmt.ExecQuery("select usuario from usuarioa") + c.Position = 0 + usuario = c.GetString("USUARIO") + c.Close + + ' ENVIO DE LOS CODIGOS QR + c=B4XPages.MainPage.skmt.ExecQuery("SELECT CODIGOKMTS, CODIGOB, LAT, LON FROM HIST_CODIGO_BARRAS" ) + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_QR_2_INTMEX" + cmd.Parameters = Array As Object(C.GetString("CODIGOKMTS"),C.GetString("CODIGOB"),C.GetString("LON"),C.GetString("LAT"),almacen,Subs.traeruta ) + reqManager.ExecuteCommand(cmd , "ins_QR") + Next + End If + c.Close + +' c=B4XPages.MainPage.skmt.ExecQuery("SELECT CAT_CL_NUM_SERIEFISICO, CAT_CL_CODIGO, CAT_CL_LONG, CAT_CL_LAT, CAT_CL_FOTO FROM kmt_info where CAT_CL_NUM_SERIEFISICO IS NOT NULL") +' If c.RowCount>0 Then +' For i=0 To c.RowCount -1 +' c.Position=i +' 's=skmt.ExecQuery2("SELECT HIST_VI_IMAGEN FROM HIST_VISITAS WHERE HIST_VI_CREDITO =?", Array As String (c.GetString("HIST_VI_CREDITO"))) +' 's.Position =0 +' foto1 = c.GetBlob("CAT_CL_FOTO") +' Dim cmd As DBCommand +' cmd.Initialize +' cmd.Name = "insert_QR_INTMEX" +' cmd.Parameters = Array As Object(C.GetString("CAT_CL_NUM_SERIEFISICO"),C.GetString("CAT_CL_CODIGO"),C.GetString("CAT_CL_LONG"),C.GetString("CAT_CL_LAT"),almacen,Subs.traeruta, foto1 ) +' reqManager.ExecuteCommand(cmd , "ins_QR") +' Next +' End If +' c.Close + + 'ENCUESTA + c=B4XPages.MainPage.skmt.ExecQuery("SELECT HE_CLIE, HE_RES, HE_FECHA, HE_TIPO FROM HIST_ENCUESTA") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_encuesta_INTMEX" + cmd.Parameters = Array As Object(C.GetString("HE_CLIE"),C.GetString("HE_RES"),C.GetString("HE_FECHA"), c.GetString("HE_TIPO")) + reqManager.ExecuteCommand(cmd , "inst_noventa") + Next + End If + c.Close + + ' PEDIDO_CLIENTE + Dim PCNoArts As String + Dim PCMonto As String + c = B4XPages.MainPage.skmt.ExecQuery("SELECT PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT, PC_COSTO_SIN, PC_RUTA, PC_ALMACEN, PC_FACTURA FROM PEDIDO_CLIENTE ") + d = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDOSC FROM PEDIDO_CLIENTE ") + If c.RowCount > 0 Then + For i = 0 To c.RowCount - 1 + c.Position = i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_pedidos_INTMEX" + cmd.Parameters = Array As Object(c.GetString("PC_CLIENTE"), c.GetString("PC_FECHA"), c.GetString("PC_USER"), c.GetString("PC_NOART"), c.GetString("PC_MONTO"), c.GetString("PC_LON"), c.GetString("PC_LAT"), almacen, Subs.traeruta, c.GetString("PC_COSTO_SIN"), c.GetString("PC_FACTURA")) + PCNoArts = c.GetString("PC_NOART") + PCMonto = c.GetString("PC_MONTO") + reqManager.ExecuteCommand(cmd , "ins_pedidos") + Log(">>>>>> INSERT PEDIDO_CLIENTE") + Next + End If + c.Close + d.Position = 0 + cuantos_pedidosc = d.GetString("CUANTOS_PEDIDOSC") + d.Close + + ' PEDIDO + c = B4XPages.MainPage.skmt.ExecQuery("SELECT PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO FROM PEDIDO") + d = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO") + If c.RowCount > 0 Then + For i = 0 To c.RowCount - 1 + c.Position = i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_pedido2_INTMEX" 'CON TOTALES INCLUIDOS + cmd.Parameters = Array As Object(C.GetString("PE_CEDIS"),almacen,C.GetString("PE_COSTO_TOT"),C.GetString("PE_COSTOU"),C.GetString("PE_CANT"),C.GetString("PE_PRONOMBRE"),C.GetString("PE_PROID"),C.GetString("PE_CLIENTE"),C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),c.GetString("PE_FOLIO"), PCNoArts, PCMonto) + reqManager.ExecuteCommand(cmd , $"ins_pedidosPendientes_prods_${c.GetString("PE_CLIENTE")}_${c.GetString("PE_PROID")}"$) +' Log($">>>> INS_PEDIDO= ${C.GetString("PE_CEDIS")},${ALMACEN},${C.GetString("PE_COSTO_TOT")},${C.GetString("PE_COSTOU")},${C.GetString("PE_CANT")}, ${C.GetString("PE_PRONOMBRE")}, ${C.GetString("PE_PROID")}, ${C.GetString("PE_CLIENTE")}, ${C.GetString("PE_FECHA")}, ${C.GetString("PE_USUARIO")}, ${C.GetString("PE_RUTA")}, ${C.GetString("PE_COSTO_SIN")}, ${C.GetString("PE_DESC")}, ${c.GetString("PE_FOLIO")}, ${PCNoArts}, ${PCMonto}"$) +' cmd.Name = "insert_pedido_INTMEX" ' SIN TOTALES INCLUIDOS +' cmd.Parameters = Array As Object(C.GetString("PE_CEDIS"),ALMACEN,C.GetString("PE_COSTO_TOT"),C.GetString("PE_COSTOU"),C.GetString("PE_CANT"),C.GetString("PE_PRONOMBRE"),C.GetString("PE_PROID"),C.GetString("PE_CLIENTE"),C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),c.GetString("PE_FOLIO")) +' reqManager.ExecuteCommand(cmd , "ins_pedido") + Next + End If + c.Close + d.Position=0 + cuantos_pedido = D.GetString("CUANTOS_PEDIDO") + d.Close + + ' NOVENTA + c=B4XPages.MainPage.skmt.ExecQuery("SELECT NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON FROM NOVENTA") + D=B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM NOVENTA") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_noventa_INTMEX" + cmd.Parameters = Array As Object(C.GetString("NV_CLIENTE"),C.GetString("NV_FECHA"),C.GetString("NV_USER"),C.GetString("NV_MOTIVO"),C.GetString("NV_COMM"),C.GetString("NV_LAT"),C.GetString("NV_LON"), almacen, Subs.traeruta) + reqManager.ExecuteCommand(cmd , "inst_noventa") + Next + End If + c.Close + d.Position=0 + cuantos_noventa = D.GetString("CUANTOS_NOVENTA") + d.Close + + ' GEO CERCA + c=B4XPages.MainPage.skmt.ExecQuery("Select HGCLIENTE, HGDATE, HGLAT, HGLON from HIST_GEOCERCA") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_geocerca_INTMEX" + cmd.Parameters = Array As Object(C.GetString("HGCLIENTE"),C.GetString("HGDATE"),C.GetString("HGLAT"),C.GetString("HGLON")) + reqManager.ExecuteCommand(cmd , "inst_noventa") + Next + End If + c.Close + + ' LO DEL LIKE + c=B4XPages.MainPage.skmt.ExecQuery("Select HFCLIENTE, HFALIAS, HFRUTA, HFALMACEN from HIST_FACE") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_face_like_INTMEX" + cmd.Parameters = Array As Object(C.GetString("HFCLIENTE"),C.GetString("HFALIAS"),C.GetString("HFRUTA"),C.GetString("HFALMACEN")) + reqManager.ExecuteCommand(cmd , "inst_noventa") + Next + End If + c.Close + + ' DROP +' t1.Initialize("T1", 30000) ' 1000 = 1 second +' t1.Enabled = True +' Dim sDate,sTime As String +' DateTime.DateFormat = "MM/dd/yyyy" +' sDate=DateTime.Date(DateTime.Now) +' sTime=DateTime.Time(DateTime.Now) +' Dim cmd As DBCommand +' cmd.Initialize +' cmd.Name ="insert_drop_INTMEX_2" +' cmd.Parameters = Array As Object(usuario,Subs.traeruta,sDate & sTime, l_porvisitar.Text,l_drop.Text,l_efectiva.Text,l_cuantosc.Text,l_cuantosn.Text, L_MONTOD.Text,"ENVIO",almacen) +' reqManager.ExecuteCommand(cmd , "inst_noventa") + '' img2.Visible =True +' PORCENTAJE = Round(100/ (cuantos_noventa + cuantos_pedido + cuantos_pedidosc + 1)) +' If Starter.marcaCel <> "Sony" Then ToastMessageShow("Se Actualizaran los datos, Este proceso podria tardar hasta un minuto, gracias "& Subs.traeruta , True) + + 'CUESTIONARIOS + c = B4XPages.MainPage.skmt.ExecQuery($"select * from cuestionario where ifnull(Q_ENVIO_OK, 0) = 0"$) + Private rutaActual As String = Subs.traeRuta + If c.RowCount > 0 Then + For x = 0 To c.RowCount - 1 + c.Position = x + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_CUESTIONARIO_INTMEX" + cmd.Parameters = Array As Object(c.GetString("Q_IDCLIENTE"), rutaActual, almacen, c.GetString("Q_FECHA"), c.GetString("Q_IDPREGUNTA"), c.GetString("Q_PREGUNTA"), c.GetString("Q_IDRESPUESTA"), C.GetString("Q_RESPUESTA")) + reqManager.ExecuteCommand(cmd , "ins_cuestionario") + Next + End If + c.Close +End Sub + +Sub JobDone(Job As HttpJob) + Log("JOBDONE INTMEX") + Log(reqManager.link) + If reqManager.reqsList.IsInitialized Then 'Si tenemos lista de requests, la procesamos. + If reqManager.reqsList.IndexOf(Job.tag) <> -1 Then + reqManager.reqsList.RemoveAt(reqManager.reqsList.IndexOf(Job.tag)) + LogColor($">>>>>> Quitamos ${Job.tag}"$, Colors.Blue) + End If + LogColor(">>>>>> " & reqManager.reqsList.Size & " - " & reqManager.reqsList, Colors.Blue) + End If + If Job.Success = False Then + Log("ERROR") + LogColor("Error: " & reqManager.HandleJob(Job).tag & " : " & Job.ErrorMessage, Colors.red) +' Job.Release + Else 'If Job Success then ... + LogColor("JobDone: '" & reqManager.HandleJob(Job).tag & "' - Registros: " & reqManager.HandleJob(Job).Rows.Size, Colors.RGB(0,160,0)) 'Mod por CHV - 211027 + 'Verificamos que el usuario guardado en BD sea VALIDO. + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "update_gps" Then + For Each records() As Object In RESULT.Rows + Log("==========================REGISTROS="&RESULT.Rows) + For Each k As String In RESULT.Columns.Keys + Log(RESULT.Tag & ": " & k & ": " & records(RESULT.Columns.Get(k))) + Next + Next + End If + If RESULT.Tag = "ins_pedidos" Then + For Each records() As Object In RESULT.Rows + Log("==========================REGISTROS="&RESULT.Rows) + For Each k As String In RESULT.Columns.Keys + Log(RESULT.Tag & ": " & k & ": " & records(RESULT.Columns.Get(k))) + Next + Next + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "valida_pedido" Then 'query tag + Subs.logJobDoneResultados(RESULT) + For Each records() As Object In RESULT.Rows + Dim CUANTOSP As Int = records(RESULT.Columns.Get("CUANTOSP")) + Log(CUANTOSP) + B4XPages.MainPage.l_vProds2.Text = $"${CUANTOSP}/${cuantos_pedido}"$ + If cuantos_pedido <= CUANTOSP Then + ' ToastMessageShow("rojo val ok 1 cuantosp." , True) + datos_iguales = "ok" +' S_CP.Text = "INFO OK" + ToastMessageShow("INFO OK", False) + Else +' S_CP.Text = "ENVIAR DATOS (K-2)" + ToastMessageShow($"No se cargo bien la info de pedido.${CRLF}Enve nuevamente: "$ & CUANTOSP & "/" & cuantos_pedido, True) + ToastMessageShow("ENVIAR DATOS (K-2)", True) + Log("No se cargo bien la info de pedido. Enve nuevamente: " & CUANTOSP & "/" & cuantos_pedido) + End If + Next + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "valida_pedidoc" Then 'query tag + Subs.logJobDoneResultados(RESULT) + For Each records() As Object In RESULT.Rows + Dim CUANTOSC As Int = records(RESULT.Columns.Get("CUANTOSC")) + B4XPages.MainPage.l_vPedidos2.Text = $"${CUANTOSC}/${cuantos_pedidosc}"$ + If cuantos_pedidosc = CUANTOSC Then + ' ToastMessageShow("rojo val ok 1 cuantosp." , True) + datos_iguales = "ok" + Else + ToastMessageShow($"No se cargo bien la info de pedido_cliente.${CRLF}Enve nuevamente: "$ & CUANTOSC & "/" & cuantos_pedidosc, True) + Log("No se cargo bien la info de pedido_cliente. Enve nuevamente: " & CUANTOSC & "/" & cuantos_pedidosc) + End If + Next + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "valida_noventa" Then 'query tag + Subs.logJobDoneResultados(RESULT) + For Each records() As Object In RESULT.Rows + Dim CUANTOSN As Int = records(RESULT.Columns.Get("CUANTOSN")) + B4XPages.MainPage.l_vNoVenta2.Text = $"${CUANTOSN}/${cuantos_noventa}"$ + If cuantos_noventa = CUANTOSN Then + ' ToastMessageShow("rojo val ok 1 cuantosp." , True) + datos_iguales = "ok" + Else + ToastMessageShow($"No se cargo bien la info de NoVenta.${CRLF}Enve nuevamente: "$ & CUANTOSN & "/" & cuantos_noventa, True) + Log("No se cargo bien la info de NoVenta. Enve nuevamente:" & CUANTOSN & "/" & cuantos_noventa) + End If + Next + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "ins_pedido" Then 'query tag + For Each records() As Object In RESULT.Rows +' PB2.Progress = PB2.Progress + 5 +' S_CP.Text = "SUBIENDO" + Next +' PB2.Progress = 100 + Log("PROGRESO 100") +' S_CP.Text = "REVISANDO ..." + ToastMessageShow("REVISANDO", False) + Log("REVISANDO") + End If + End If + + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "ins_cuestionario" Then 'query tag + Subs.logJobDoneResultados(RESULT) + End If + End If + If reqManager.reqsList.size = 0 Then ' Si ya no hay consultas pendientes ... + B4XPages.MainPage.p_progressDialog.Visible = False + If enviando Then ' Si terminamos de enviar pedido ... + Sleep(200) + B4XPages.MainPage.l_progressDialog.Text = "Validando " ' Mostramos el panel de progreso. + B4XPages.MainPage.p_progressDialog.Visible = True + valida ' Iniciamos la validacin + enviando = False + End If + If validando Then + validando = False + Sleep(300) + 'Mostramos el panel de Validacin. + B4XPages.MainPage.p_validacion.Visible = True + End If + End If + Job.Release +End Sub + +Sub valida + validando = True + almacen = Subs.traeAlmacen + d = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO") + d.Position = 0 + cuantos_pedido = d.GetString("CUANTOS_PEDIDO") + + d = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDOSC FROM PEDIDO_CLIENTE ") + d.Position = 0 + cuantos_pedidosc = d.GetString("CUANTOS_PEDIDOSC") + + d = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM NOVENTA") + d.Position = 0 + cuantos_noventa = d.GetString("CUANTOS_NOVENTA") + d.Close + + cmd.Initialize + cmd.Name = "select_cuantos_pedido_INTMEX" + cmd.Parameters = Array As Object(almacen, Subs.traeRuta) + Log($"${almacen}, ${Subs.traeRuta}"$) + reqManager.ExecuteQuery(cmd , 0, "valida_pedido") + + cmd.Initialize + cmd.Name = "select_cuantos_noventa_INTMEX" + cmd.Parameters = Array As Object(almacen, Subs.traeRuta) + reqManager.ExecuteQuery(cmd , 0, "valida_noventa") + + cmd.Initialize + cmd.Name = "select_cuantos_pedidoc_INTMEX" + cmd.Parameters = Array As Object(almacen, Subs.traeRuta) + reqManager.ExecuteQuery(cmd , 0, "valida_pedidoc") + Log("http://keymon.net:1781") + + B4XPages.MainPage.l_vPedidos2.Text = "" + B4XPages.MainPage.l_vProds2.Text = "" + B4XPages.MainPage.l_vNoVenta2.Text = "" +End Sub + +'====================================================================================== +$// ARCHIVO_FIN: C_Intmex.bas +'====================================================================================== + + +'====================================================================================== +$// ARCHIVO_INICIO: C_Izca.bas +'====================================================================================== + +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Class +Version=12.8 +@EndOfDesignText@ +Sub Class_Globals + Private Root As B4XView 'ignore + Private xui As XUI 'ignore + Dim reqManager As DBRequestManager + Dim b, c, d As Cursor + Dim usuario, almacen As String + Dim datos_iguales, almacen, carga, paso, conteo, porcentaje, perfil, cuantos, NUMERO_PEDIDO, usuario, cuantos_exib, cuantos_pedidosc, cuantos_noventa, cuantos_ped, cuantos_pedido As String +End Sub + +'Initializes the object. You can add parameters to this method if needed. +Public Sub Initialize + reqManager.Initialize(Me, "http://keymon.net:1781") + Return Me +End Sub + +Sub envia +' carga = "SUBIR" +' p_mandaInfo.Width = Root.Width +' p_mandaInfo.Height = Root.Height +' P1.Visible = True +' P1.Left = (p_mandaInfo.Width/2) - (P1.Width/2) +' P1.top = (p_mandaInfo.Height/2) - (P1.Height/2) +' p_mandaInfo.Visible = True +' P1.BringToFront +' p_mandaInfo.BringToFront +' 'trabajar.Visible = False +' NUEVO.Visible =False +' BUSCA.Visible=False +' connecta.Visible=False +' Subir.Visible=False +' cargar.Visible=False +' L_P_1.Visible = False +' S_CC.Visible = False +' L_P_3.Visible = False +' S_CH.Visible = False +' PB1.Visible = False +' Resumen.Visible= False +' L_P_2.Text = "Envio de Pedidos" +' L_P_3.Text = "Envio de Pedidos" +' S_CH.Text = "EN PROCESO" +' S_CP.Text = "EN PROCESO" +' PB1.Progress = 0 +' PB2.Progress = 0 + 'c=skmt.ExecQuery("SELECT sum(IFNULL(PE_DESC,0)) as DESCUENTO FROM PEDIDO") + 'c.Position =0 + 'If c.GetString("DESCUENTO") > 0 And PASO = 0 Then + 'P1.Visible = True + 'ELSE IF c.GetString("DESCUENTO") = 0 Then + paso = 1 + 'End If + If paso = 1 Then + B4XPages.MainPage.skmt.ExecNonQuery2("delete from PEDIDO WHERE PE_PRONOMBRE = ? ", Array As Object("N/A") ) + B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE not In (select PE_CLIENTE from pedido)") + c=B4XPages.MainPage.skmt.ExecQuery("select usuario from usuarioa") + c.Position = 0 + usuario = c.GetString("USUARIO") + c.Close +' c=B4XPages.MainPage.skmt.ExecQuery("select HGDATE, HGLAT, HGLON from HIST_GPS") +' If c.RowCount>0 Then +' For i=0 To c.RowCount -1 +' c.Position=i +' Dim cmd As DBCommand +' cmd.Initialize +' cmd.Name = "UPDATE_IZCA_ACTUAL2_GPS" +' cmd.Parameters = Array As String(B4XPages.MainPage.montoActual, B4XPages.MainPage.clientestotal, B4XPages.MainPage.clientesventa,B4XPages.MainPage.clientesvisitados,B4XPages.MainPage.lat_gps,B4XPages.MainPage.lon_gps,B4XPages.MainPage.batt,0, 0, 0,B4XPages.MainPage.ALMACEN,B4XPages.MainPage.rutapreventa ) +' reqManager.ExecuteCommand(cmd , "update_gps") +' Next +' End If +' c.Close + + ' ENVIO DE LOS CODIGOS QR +' 'c=skmt.ExecQuery2("SELECT CAT_CL_NUM_SERIEFISICO,CAT_CL_CODIGO ,CAT_CL_LONG,CAT_CL_LAT, CAT_CL_FOTO FROM kmt_info3 where CAT_CL_NUM_SERIEFISICO = ?", Array As String("OK")) +' c=B4XPages.MainPage.skmt.ExecQuery("SELECT CODIGOKMTS, CODIGOB, LAT, LON FROM HIST_CODIGO_BARRAS" ) +' If c.RowCount>0 Then +' For i=0 To c.RowCount -1 +' c.Position=i +' Dim cmd As DBCommand +' cmd.Initialize +' cmd.Name = "insert_QR_2_IZCA" +' cmd.Parameters = Array As Object(C.GetString("CODIGOKMTS"),C.GetString("CODIGOB"),C.GetString("LON"),C.GetString("LAT"),ALMACEN,l_ruta.text ) +' reqManager.ExecuteCommand(cmd , "ins_QR") +' Next +' End If +' c.Close + +' c=B4XPages.MainPage.skmt.ExecQuery("SELECT CAT_CL_NUM_SERIEFISICO, CAT_CL_CODIGO, CAT_CL_LONG, CAT_CL_LAT, CAT_CL_FOTO FROM kmt_info3 where CAT_CL_NUM_SERIEFISICO IS NOT NULL") +' If c.RowCount>0 Then +' For i=0 To c.RowCount -1 +' c.Position=i +' 's=skmt.ExecQuery2("SELECT HIST_VI_IMAGEN FROM HIST_VISITAS WHERE HIST_VI_CREDITO =?", Array As String (c.GetString("HIST_VI_CREDITO"))) +' 's.Position =0 +' foto1 = c.GetBlob("CAT_CL_FOTO") +' Dim cmd As DBCommand +' cmd.Initialize +' cmd.Name = "insert_QR_IZCA" +' cmd.Parameters = Array As Object(C.GetString("CAT_CL_NUM_SERIEFISICO"),C.GetString("CAT_CL_CODIGO"),C.GetString("CAT_CL_LONG"),C.GetString("CAT_CL_LAT"),ALMACEN,l_ruta.text ) +' reqManager.ExecuteCommand(cmd , "ins_QR") +' Next +' End If +' c.Close + +' 'Envio de Pagares +' c=B4XPages.MainPage.skmt.ExecQuery("SELECT * FROM PAGARES") +' If c.RowCount>0 Then +' For i=0 To c.RowCount -1 +' c.Position=i +' Dim cmd As DBCommand +' cmd.Initialize +' cmd.Name = "insert_pagares_IZCA" +' cmd.Parameters = Array As Object(C.GetString("PA_ALMACEN"),Subs.traeRuta2(c.GetString("PA_CLIENTE")),C.GetString("PA_FECHA"),C.GetString("PA_CAPTURA"),C.GetString("PA_MONTO"),C.GetString("PA_USUARIO"),C.GetString("PA_CLIENTE") ) +' reqManager.ExecuteCommand(cmd , "ins_pagares") +' Next +' End If +' c.Close +' +' 'ABONOS +' Dim ab As Cursor = B4XPages.MainPage.skmt.ExecQuery($"SELECT * from ABONOS where a_enviado is null"$) +' Log(ab.RowCount) +' If ab.RowCount > 0 Then +' For i=0 To ab.RowCount -1 +' ab.Position = i +' Dim cmd As DBCommand +' cmd.Initialize +' cmd.Name = "insert_abono_IZCA" +' cmd.Parameters = Array As Object( ab.GetString("a_usuario"), ab.GetString("a_ruta"), ab.GetString("a_cliente"), ab.GetString("a_abono"), ab.GetString("a_fecha"),ALMACEN ) +' reqManager.ExecuteCommand(cmd , $"ins_abonosPendientes_${ab.GetString("a_cliente")}"$) +' Log($"ins_abonosPendientes_${ab.GetString("a_cliente")}"$) +' Next +' End If +' ab.Close + + ' CLIENTES NUEVOS +' Dim fotocn() As Byte +' Dim Dirp As String = File.DirInternal +' Dim Dir As String +' Dim Dir2 As String +' Dir = "/promotoriakmts" + + c=B4XPages.MainPage.skmt.ExecQuery("SELECT CN_ID, CN_FECHA , CN_USER, CN_LAT, CN_LON, CN_NOMBRE, CN_DIRECCION, CN_FOTO, CN_ALMACEN, CN_RUTA, CN_GIRO, CN_SOLICITA, CN_COLONIA, CN_TELEFONO, CN_CP FROM CLIENTES_NUEVOS") + If c.RowCount>0 Then + For i = 0 To c.RowCount - 1 + c.Position = i + 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_IZCA4" + Log(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")&" ,"& "En espera"&c.GetString("CN_GIRO")&" ,"&dialetra& c.GetString("CN_SOLICITA")&" ,"& c.GetString("CN_COLONIA")&" ,"& c.GetString("CN_TELEFONO")) + 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"), "En espera",c.GetString("CN_GIRO"),dialetra, c.GetString("CN_SOLICITA"), c.GetString("CN_COLONIA"), c.GetString("CN_TELEFONO"), c.GetString("CN_CP")) + reqManager.ExecuteCommand(cmd , "inst_clientesn") + Next + End If + c.Close + +' c=B4XPages.MainPage.skmt.ExecQuery("SELECT HE_CLIE, HE_RES, HE_FECHA, HE_TIPO FROM HIST_ENCUESTA") +' If c.RowCount>0 Then +' For i=0 To c.RowCount -1 +' c.Position=i +' Dim cmd As DBCommand +' cmd.Initialize +' cmd.Name = "insert_encuesta_INTMEX" +' cmd.Parameters = Array As Object(C.GetString("HE_CLIE"),C.GetString("HE_RES"),C.GetString("HE_FECHA"), c.GetString("HE_TIPO")) +' reqManager.ExecuteCommand(cmd , "inst_noventa") +' Next +' End If +' c.Close + + ' PEDIDO_CLIENTE + Dim PCNoArts As String + Dim PCMonto As String + c = B4XPages.MainPage.skmt.ExecQuery("SELECT PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT, PC_COSTO_SIN, PC_RUTA, PC_ALMACEN, PC_FACTURA FROM PEDIDO_CLIENTE WHERE PC_CLIENTE <> '1' ") + d = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDOSC FROM PEDIDO_CLIENTE WHERE PC_CLIENTE <> 1 ") + If c.RowCount > 0 Then + For i = 0 To c.RowCount - 1 + c.Position = i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_pedidos_IZCA" + PCNoArts = c.GetString("PC_NOART") + PCMonto = c.GetString("PC_MONTO") + cmd.Parameters = Array As Object(c.GetString("PC_CLIENTE"), c.GetString("PC_FECHA"), c.GetString("PC_USER"), c.GetString("PC_NOART"), c.GetString("PC_MONTO"), c.GetString("PC_LON"), c.GetString("PC_LAT"), almacen, Subs.traeRuta2(c.GetString("PC_CLIENTE")), c.GetString("PC_COSTO_SIN"), c.GetString("PC_FACTURA")) + reqManager.ExecuteCommand(cmd , "ins_pedidos") + Log(">>>>>> INSERT PEDIDO_CLIENTE") + Next + End If + c.Close + d.Position = 0 + cuantos_pedidosc = d.GetString("CUANTOS_PEDIDOSC") + d.Close + + ' PEDIDO + c = B4XPages.MainPage.skmt.ExecQuery("SELECT PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO, PE_CANTC, PE_BCAJAS FROM PEDIDO WHERE PE_FOLIO <> 'RECARGA'") + d = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO") + If c.RowCount > 0 Then + For i = 0 To c.RowCount - 1 + c.Position = i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_pedido5_IZCA" 'CON TOTALES INCLUIDOS +' Log(c.GetString("PE_CEDIS")&", "&ALMACEN&", "&c.GetString("PE_COSTO_TOT")&", "&c.GetString("PE_COSTOU")&", "&c.GetString("PE_CANT")&", "&c.GetString("PE_PRONOMBRE")&", "&c.GetString("PE_PROID")&", "&c.GetString("PE_CLIENTE")&", "&c.GetString("PE_FECHA")&", "&c.GetString("PE_USUARIO")&", "&Subs.traeRuta2(c.GetString("PE_CLIENTE"))&", "& c.GetString("PE_COSTO_SIN")&", "&c.GetString("PE_DESC")&", "&c.GetString("PE_FOLIO")&", "& ALMACEN) + If c.GetString("PE_FOLIO") = "PREVENTA_CONTADO" Then + cmd.Parameters = Array As Object(c.GetString("PE_CEDIS"),almacen,c.GetString("PE_COSTO_TOT"),c.GetString("PE_COSTOU"),c.GetString("PE_CANT"),c.GetString("PE_PRONOMBRE"),c.GetString("PE_PROID"),c.GetString("PE_CLIENTE"),c.GetString("PE_FECHA"),c.GetString("PE_USUARIO"),Subs.traeRuta2(c.GetString("PE_CLIENTE")), c.GetString("PE_COSTO_SIN"),c.GetString("PE_DESC"),"PREVENTA",0) + Else If c.GetString("PE_FOLIO") = "PREVENTA_CREDITO" Then + cmd.Parameters = Array As Object(c.GetString("PE_CEDIS"),almacen,c.GetString("PE_COSTO_TOT"),c.GetString("PE_COSTOU"),c.GetString("PE_CANT"),c.GetString("PE_PRONOMBRE"),c.GetString("PE_PROID"),c.GetString("PE_CLIENTE"),c.GetString("PE_FECHA"),c.GetString("PE_USUARIO"),Subs.traeRuta2(c.GetString("PE_CLIENTE")), c.GetString("PE_COSTO_SIN"),c.GetString("PE_DESC"),"PREVENTA",1) + Else If c.GetString("PE_FOLIO") = "ABORDO" Then + cmd.Parameters = Array As Object(c.GetString("PE_CEDIS"),almacen,c.GetString("PE_COSTO_TOT"),c.GetString("PE_COSTOU"),c.GetString("PE_CANT"),c.GetString("PE_PRONOMBRE"),c.GetString("PE_PROID"),c.GetString("PE_CLIENTE"),c.GetString("PE_FECHA"),c.GetString("PE_USUARIO"),Subs.traeRuta2(c.GetString("PE_CLIENTE")), c.GetString("PE_COSTO_SIN"),c.GetString("PE_DESC"),"ABORDO",0) + Else If c.GetString("PE_FOLIO") = "RECARGA" Then + cmd.Parameters = Array As Object(c.GetString("PE_CEDIS"),almacen,c.GetString("PE_COSTO_TOT"),c.GetString("PE_COSTOU"),c.GetString("PE_CANT"),c.GetString("PE_PRONOMBRE"),c.GetString("PE_PROID"),c.GetString("PE_CLIENTE"),c.GetString("PE_FECHA"),c.GetString("PE_USUARIO"),Subs.traeRuta2(c.GetString("PE_CLIENTE")), c.GetString("PE_COSTO_SIN"),c.GetString("PE_DESC"),"RECARAGA",0) + Else + cmd.Parameters = Array As Object(c.GetString("PE_CEDIS"),almacen,c.GetString("PE_COSTO_TOT"),c.GetString("PE_COSTOU"),c.GetString("PE_CANT"),c.GetString("PE_PRONOMBRE"),c.GetString("PE_PROID"),c.GetString("PE_CLIENTE"),c.GetString("PE_FECHA"),c.GetString("PE_USUARIO"),Subs.traeRuta2(c.GetString("PE_CLIENTE")), c.GetString("PE_COSTO_SIN"),c.GetString("PE_DESC"),"VENTA",0) + End If + reqManager.ExecuteCommand(cmd , $"ins_pedidosPendientes_prods_${c.GetString("PE_CLIENTE")}_${c.GetString("PE_PROID")}"$) + Next + End If + c.Close + d.Position=0 + cuantos_pedido = D.GetString("CUANTOS_PEDIDO") + d.Close + + ' NOVENTA + c=B4XPages.MainPage.skmt.ExecQuery("SELECT NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON FROM NOVENTA") + D=B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM NOVENTA") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_noventa_IZCA" + cmd.Parameters = Array As Object(C.GetString("NV_CLIENTE"),C.GetString("NV_FECHA"),C.GetString("NV_USER"),C.GetString("NV_MOTIVO"),C.GetString("NV_COMM"),C.GetString("NV_LAT"),C.GetString("NV_LON"), almacen, Subs.traeRuta2(c.GetString("NV_CLIENTE"))) + reqManager.ExecuteCommand(cmd , "inst_noventa") + Next + End If + c.Close + d.Position=0 + cuantos_noventa = D.GetString("CUANTOS_NOVENTA") + d.Close + + ' GEO CERCA + c=B4XPages.MainPage.skmt.ExecQuery("Select HGCLIENTE, HGDATE, HGLAT, HGLON from HIST_GEOCERCA") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_geocerca_IZCA" + cmd.Parameters = Array As Object(C.GetString("HGCLIENTE"),C.GetString("HGDATE"),C.GetString("HGLAT"),C.GetString("HGLON")) + reqManager.ExecuteCommand(cmd , "inst_noventa") + Next + End If + c.Close + + ' Cambio ubicaciones + c=B4XPages.MainPage.skmt.ExecQuery("Select CAT_CL_LAT, CAT_CL_LONG, CAT_CL_CODIGO, CAT_CL_BCOORDENADAS from kmt_info3 where CAT_CL_BCOORDENADAS <> 0") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "update_coordenadas_IZCA" + cmd.Parameters = Array As Object(C.GetString("CAT_CL_LAT"),C.GetString("CAT_CL_LONG"),C.GetString("CAT_CL_BCOORDENADAS"),C.GetString("CAT_CL_CODIGO"),almacen,Subs.traeRuta2(C.GetString("CAT_CL_CODIGO"))) + reqManager.ExecuteCommand(cmd , "up_coordenadas") + Next + End If + c.Close + + 'TABULADOR + c = B4XPages.MainPage.skmt.ExecQuery("SELECT VEINTE, DIEZ, CINCO, DOS, PESO, CENTAVO, TOTAL FROM TABULADOR_MONEDAS") + d = B4XPages.MainPage.skmt.ExecQuery("SELECT RUTAA FROM RUTAA") + b = B4XPages.MainPage.skmt.ExecQuery("SELECT ID_ALMACEN FROM CAT_ALMACEN") +' f = Starter.skmt.ExecQuery("SELECT HVD_FECHA FROM HIST_VENTAS") + d.Position = 0 + b.Position = 0 +' f.Position = 0 + If c.RowCount > 0 Then + For i = 0 To c.RowCount - 1 + c.Position=i + Dim cmd As DBCommand + + Dim sDate,sTime As String + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + +' Dim fechatabulador() As String = Regex.Split(" ", f.GetString("HVD_FECHA")) +' Dim fechatabulador2() As String = Regex.Split("-", fechatabulador(0)) +' Dim fechatabulador3 As String = fechatabulador2(1)&"/"&fechatabulador2(2)&"/"&fechatabulador2(0) + cmd.Initialize + cmd.Name = "insert_tabulador_monedas_IZCA2" + cmd.Parameters = Array As Object(d.GetString("RUTAA"), b.GetString("ID_ALMACEN"),c.GetString("VEINTE"),c.GetString("DIEZ"),c.GetString("CINCO"),c.GetString("DOS"),c.GetString("PESO"),c.GetString("CENTAVO"),sDate, "PREVENTA") + reqManager.ExecuteCommand(cmd , "ins_tabulador_mon") + Next + c.Close + d.Close + b.Close +' f.Close + End If + + c = B4XPages.MainPage.skmt.ExecQuery("SELECT MIL, QUINIENTOS, DOCIENTOS, CIEN, CINCUENTA, VEINTE FROM TABULADOR_BILLETES") + d = B4XPages.MainPage.skmt.ExecQuery("SELECT RUTAA FROM RUTAA") + b = B4XPages.MainPage.skmt.ExecQuery("SELECT ID_ALMACEN FROM CAT_ALMACEN") +' f = Starter.skmt.ExecQuery("SELECT HVD_FECHA FROM HIST_VENTAS") + d.Position = 0 + b.Position = 0 +' f.Position = 0 + If c.RowCount > 0 Then + For i = 0 To c.RowCount - 1 + c.Position=i + Dim cmd As DBCommand + + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + +' Dim fechatabulador() As String = Regex.Split(" ", f.GetString("HVD_FECHA")) +' Dim fechatabulador2() As String = Regex.Split("-", fechatabulador(0)) +' Dim fechatabulador3 As String = fechatabulador2(1)&"/"&fechatabulador2(2)&"/"&fechatabulador2(0) + cmd.Initialize + cmd.Name = "insert_tabulador_billetes_IZCA2" + cmd.Parameters = Array As Object(b.GetString("ID_ALMACEN"), d.GetString("RUTAA"),c.GetString("MIL"),c.GetString("QUINIENTOS"),c.GetString("DOCIENTOS"),c.GetString("CIEN"),c.GetString("CINCUENTA"),c.GetString("VEINTE"),sDate, "PREVENTA") + reqManager.ExecuteCommand(cmd , "ins_tabulador_bill") + Next + c.Close + d.Close + b.Close +' f.Close + End If + 'FIN TABULADOR + + ' DROP +' t1.Initialize("T1", 30000) ' 1000 = 1 second +' t1.Enabled = True +' Dim sDate,sTime As String +' DateTime.DateFormat = "MM/dd/yyyy" +' sDate=DateTime.Date(DateTime.Now) +' sTime=DateTime.Time(DateTime.Now) +' Dim cmd As DBCommand +' cmd.Initialize +' cmd.Name ="insert_drop_IZCA" +' cmd.Parameters = Array As Object(usuario,l_ruta.Text,sDate & sTime, l_porvisitar.Text,l_drop.Text,l_efectiva.Text,l_cuantosc.Text,l_cuantosn.Text, L_MONTOD.Text,"ENVIO",almacen,Application.VersionName) +' reqManager.ExecuteCommand(cmd , "inst_noventa") +' img2.Visible =True +' porcentaje = Round(100/ (cuantos_noventa + cuantos_pedido + cuantos_pedidosc + 1)) +'' If Starter.marcaCel <> "Sony" Then ToastMessageShow("Se Actualizaran los datos, Este proceso podria tardar hasta un minuto, gracias "& l_ruta.text , True) + +' 'CUESTIONARIOS +' c = B4XPages.MainPage.skmt.ExecQuery($"select * from cuestionario"$) +' Private rutaActual As String = Subs.traeRuta +' If c.RowCount > 0 Then +' For x = 0 To c.RowCount - 1 +' c.Position = x +' Dim cmd As DBCommand +' cmd.Initialize +' cmd.Name = "insert_CUESTIONARIO_INTMEX" +' cmd.Parameters = Array As Object(c.GetString("Q_IDCLIENTE"), rutaActual, ALMACEN, c.GetString("Q_FECHA"), c.GetString("Q_IDPREGUNTA"), c.GetString("Q_PREGUNTA"), c.GetString("Q_IDRESPUESTA"), C.GetString("Q_RESPUESTA")) +' reqManager.ExecuteCommand(cmd , "ins_cuestionario") +' Next +' End If +' c.Close + + +' c = B4XPages.MainPage.skmt.ExecQuery("SELECT * FROM PEDIDO_CLIENTE WHERE PC_CLIENTE <> 01") +' If c.RowCount > 0 Then +' For i = 0 To c.RowCount - 1 +' c.Position = i +' Dim cmd As DBCommand +' cmd.Initialize +' cmd.Name = "select_piezas_IZCA" +' cmd.Parameters = Array As Object(c.GetString("PC_CLIENTE"), ALMACEN,l_ruta.Text) +' userpiezas = c.GetString("PC_CLIENTE") +' reqManager.ExecuteQuery(cmd , 0, "piezas") +' Next +' +' End If + + End If +End Sub + +'====================================================================================== +$// ARCHIVO_FIN: C_Izca.bas +'====================================================================================== + + +'====================================================================================== +$// ARCHIVO_INICIO: C_Mazapa.bas +'====================================================================================== + +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Class +Version=12.8 +@EndOfDesignText@ +Sub Class_Globals + Private Root As B4XView 'ignore + Private xui As XUI 'ignore + Dim reqManager As DBRequestManager + Dim c, d As Cursor + Dim usuario, almacen As String + Dim datos_iguales, almacen, carga, paso, conteo, porcentaje, perfil, cuantos, NUMERO_PEDIDO, usuario, cuantos_exib, cuantos_pedidosc, cuantos_noventa, cuantos_ped, cuantos_pedido As String +End Sub + +'You can add more parameters here. +Public Sub Initialize As Object + reqManager.Initialize(Me, "http://keymon.net:1781") + 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 + +End Sub + +'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. + +Sub envia + checaPedido + almacen = Subs.traeAlmacen +' CARGA = "SUBIR" +' p_mandaInfo.Width = Root.Width +' p_mandaInfo.Height = Root.Height +' P1.Visible = True +' P1.Left = (p_mandaInfo.Width/2) - (P1.Width/2) +' P1.top = (p_mandaInfo.Height/2) - (P1.Height/2) +' p_mandaInfo.Visible = True +' P1.BringToFront +' p_mandaInfo.BringToFront + 'trabajar.Visible = False +' NUEVO.Visible =False +' BUSCA.Visible=False +' connecta.Visible=False +' Subir.Visible=False +' cargar.Visible=False +' L_P_1.Visible = False +' S_CC.Visible = False +' L_P_3.Visible = False +' S_CH.Visible = False +' PB1.Visible = False +' Resumen.Visible= False +' L_P_2.Text = "Envio de Pedidos" +' L_P_3.Text = "Envio de Pedidos" +' S_CH.Text = "EN PROCESO" +' S_CP.Text = "EN PROCESO" +' PB1.Progress = 0 +' PB2.Progress = 0 + 'c=skmt.ExecQuery("SELECT sum(IFNULL(PE_DESC,0)) as DESCUENTO FROM PEDIDO") + 'c.Position =0 + 'If c.GetString("DESCUENTO") > 0 And PASO = 0 Then + 'P1.Visible = True + 'ELSE IF c.GetString("DESCUENTO") = 0 Then +' PASO = 1 + 'End If +' If PASO = 1 Then + B4XPages.MainPage.skmt.ExecNonQuery2("delete from PEDIDO WHERE PE_PRONOMBRE = ? ", Array As Object("N/A") ) + B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE not In (select PE_CLIENTE from pedido)") + c=B4XPages.MainPage.skmt.ExecQuery("select usuario from usuarioa") + c.Position = 0 + usuario = c.GetString("USUARIO") + c.Close +' c=B4XPages.MainPage.skmt.ExecQuery("select HGDATE, HGLAT, HGLON from HIST_GPS") +' If c.RowCount>0 Then +' For i=0 To c.RowCount -1 +' c.Position=i +' Dim cmd As DBCommand +' cmd.Initialize +' cmd.Name = "UPDATE_mazapa_ACTUAL2_GPS" +' cmd.Parameters = Array As String(L_MONTOD.Text, L_CUANTOST.Text, l_cuantosc.Text,l_porvisitar.TEXT,c.GetString("hglat"),c.GetString("hglon"),batterystatus(0),LPT, STEYIN, STEYOUT,ALMACEN,l_ruta.Text ) +' reqManager.ExecuteCommand(cmd , "update_gps") +' Next +' End If +' c.Close + + 'Envio de Pagares + c = B4XPages.MainPage.skmt.ExecQuery("SELECT * FROM PAGARES") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_pagares_mazapa" + cmd.Parameters = Array As String(C.GetString("PA_ALMACEN"),Subs.traeRuta,C.GetString("PA_FECHA"),C.GetString("PA_CAPTURA"),C.GetString("PA_MONTO"),C.GetString("PA_USUARIO"),C.GetString("PA_CLIENTE") ) + reqManager.ExecuteCommand(cmd , "ins_pagares") + Next + End If + c.Close + + ' CLIENTES NUEVOS +' Dim fotocn() As Byte +' Dim Dirp As String = File.DirInternal +' Dim Dir As String +' Dim Dir2 As String +' Dir = "/promotoriakmts" + + c = B4XPages.MainPage.skmt.ExecQuery("SELECT CN_ID, CN_FECHA , CN_USER, CN_LAT, CN_LON, CN_NOMBRE, CN_DIRECCION, CN_FOTO, CN_ALMACEN, CN_RUTA, CN_GIRO, CN_SOLICITA, CN_COLONIA, CN_TELEFONO, CN_REFERENCIA, CN_HR_INICIO, CN_HR_FIN FROM CLIENTES_NUEVOS") + If c.RowCount>0 Then + For i = 0 To c.RowCount - 1 + c.Position = i + 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_mazapa3" + cmd.Parameters = Array As String(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"), "En espera",c.GetString("CN_GIRO"),dialetra, c.GetString("CN_SOLICITA"), c.GetString("CN_COLONIA"), c.GetString("CN_TELEFONO"), c.GetString("CN_REFERENCIA"), c.GetString("CN_HR_INICIO"), c.GetString("CN_HR_FIN")) + reqManager.ExecuteCommand(cmd , "inst_clientesn") + Next + End If + c.Close + + c = B4XPages.MainPage.skmt.ExecQuery("SELECT * FROM TICKET_TEL_CEDIS") + If c.RowCount > 0 Then + For i = 0 To c.RowCount - 1 + c.Position = i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_TICKET_TEL_CEDIS_MAZAPA" + Log(c.GetString("TTC_FOLIO")) + cmd.Parameters = Array As String( _ + c.GetString("TTC_TELEFONO"), _ + c.GetString("TTC_ID_ALMACEN"), _ + c.GetString("TTC_NUM_TICKET"), _ + c.GetString("TTC_ID_CLIENTE"), _ + c.GetString("TTC_RUTA"), _ + c.GetString("TTC_FECHA"), _ + c.GetString("TTC_MONTO"), _ + c.GetString("TTC_FOLIO"), _ + c.GetString("TTC_USUARIO"), _ + c.GetString("TTC_FOLIO_UNICO") _ + ) + reqManager.ExecuteCommand(cmd , "insert_TICKET_TEL_CEDIS") + Next + End If + c.Close + + ' PEDIDO_CLIENTE + Dim PCNoArts As String + Dim PCMonto As String + c = B4XPages.MainPage.skmt.ExecQuery("SELECT PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT, PC_COSTO_SIN, PC_RUTA, PC_ALMACEN, PC_FACTURA,IFNULL(PC_IMPRESO,0) AS PC_IMPRESO FROM PEDIDO_CLIENTE WHERE PC_CLIENTE <> '1' ") + d = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDOSC FROM PEDIDO_CLIENTE WHERE PC_CLIENTE <> 1 ") + If c.RowCount > 0 Then + For i = 0 To c.RowCount - 1 + c.Position = i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_pedido_CLIENTE_mazapa" + PCNoArts = c.GetString("PC_NOART") + PCMonto = c.GetString("PC_MONTO") + cmd.Parameters = Array As String(c.GetString("PC_CLIENTE"), c.GetString("PC_FECHA"), c.GetString("PC_USER"), c.GetString("PC_NOART"), c.GetString("PC_MONTO"), c.GetString("PC_LON"), c.GetString("PC_LAT"), almacen, Subs.traeRuta, c.GetString("PC_COSTO_SIN"), c.GetString("PC_FACTURA"), c.GetString("PC_IMPRESO")) + reqManager.ExecuteCommand(cmd , "ins_pedidos") + Log(">>>>>> INSERT PEDIDO_CLIENTE") + Next + End If + c.Close + d.Position = 0 + cuantos_pedidosc = d.GetString("CUANTOS_PEDIDOSC") + d.Close + + ' PEDIDO + c = B4XPages.MainPage.skmt.ExecQuery("SELECT PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO, PE_CANTC, PE_BCAJAS,IFNULL(PE_IMPRESO,0) AS PE_IMPRESO FROM PEDIDO WHERE PE_FOLIO <> 'RECARGA'") + d = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO") + If c.RowCount > 0 Then + For i = 0 To c.RowCount - 1 + c.Position = i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_pedido_PE_mazapa" 'CON TOTALES INCLUIDOS +' Log(c.GetString("PE_CEDIS")&", "&almacen&", "&c.GetString("PE_COSTO_TOT")&", "&c.GetString("PE_COSTOU")&", "&c.GetString("PE_CANT")&", "&c.GetString("PE_PRONOMBRE")&", "&c.GetString("PE_PROID")&", "&c.GetString("PE_CLIENTE")&", "&c.GetString("PE_FECHA")&", "&c.GetString("PE_USUARIO")&", "&Subs.traeRuta&", "& c.GetString("PE_COSTO_SIN")&", "&c.GetString("PE_DESC")&", "&c.GetString("PE_FOLIO")&", "& almacen) + cmd.Parameters = Array As String(c.GetString("PE_CEDIS"),almacen,c.GetString("PE_COSTO_TOT"),c.GetString("PE_COSTOU"),c.GetString("PE_CANT"),c.GetString("PE_PRONOMBRE"),c.GetString("PE_PROID"),c.GetString("PE_CLIENTE"),c.GetString("PE_FECHA"),c.GetString("PE_USUARIO"),Subs.traeRuta, c.GetString("PE_COSTO_SIN"),c.GetString("PE_DESC"),c.GetString("PE_FOLIO"),c.GetString("PE_CANTC"),c.GetString("PE_BCAJAS"), c.GetString("PE_IMPRESO")) + reqManager.ExecuteCommand(cmd , $"ins_pedidosPendientes_prods_${c.GetString("PE_CLIENTE")}_${c.GetString("PE_PROID")}"$) +' Log($">>>> INS_PEDIDO= ${C.GetString("PE_CEDIS")},${ALMACEN},${C.GetString("PE_COSTO_TOT")},${C.GetString("PE_COSTOU")},${C.GetString("PE_CANT")}, ${C.GetString("PE_PRONOMBRE")}, ${C.GetString("PE_PROID")}, ${C.GetString("PE_CLIENTE")}, ${C.GetString("PE_FECHA")}, ${C.GetString("PE_USUARIO")}, ${C.GetString("PE_RUTA")}, ${C.GetString("PE_COSTO_SIN")}, ${C.GetString("PE_DESC")}, ${c.GetString("PE_FOLIO")}, ${PCNoArts}, ${PCMonto}"$) +' cmd.Name = "insert_pedido_INTMEX" ' SIN TOTALES INCLUIDOS +' cmd.Parameters = Array As Object(C.GetString("PE_CEDIS"),ALMACEN,C.GetString("PE_COSTO_TOT"),C.GetString("PE_COSTOU"),C.GetString("PE_CANT"),C.GetString("PE_PRONOMBRE"),C.GetString("PE_PROID"),C.GetString("PE_CLIENTE"),C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),c.GetString("PE_FOLIO")) +' reqManager.ExecuteCommand(cmd , "ins_pedido") + Next + End If + c.Close + d.Position=0 + cuantos_pedido = D.GetString("CUANTOS_PEDIDO") + d.Close + + ' NOVENTA + c=B4XPages.MainPage.skmt.ExecQuery("SELECT NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON FROM NOVENTA") + D=B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM NOVENTA") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_noventa_mazapa" + cmd.Parameters = Array As String(C.GetString("NV_CLIENTE"),C.GetString("NV_FECHA"),C.GetString("NV_USER"),C.GetString("NV_MOTIVO"),C.GetString("NV_COMM"),C.GetString("NV_LAT"),C.GetString("NV_LON"), almacen, Subs.traeRuta) + reqManager.ExecuteCommand(cmd , "inst_noventa") + Next + End If + c.Close + d.Position=0 + cuantos_noventa = D.GetString("CUANTOS_NOVENTA") + d.Close + + ' GEO CERCA + c=B4XPages.MainPage.skmt.ExecQuery("Select HGCLIENTE, HGDATE, HGLAT, HGLON from HIST_GEOCERCA") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_geocerca_mazapa" + cmd.Parameters = Array As String(C.GetString("HGCLIENTE"),C.GetString("HGDATE"),C.GetString("HGLAT"),C.GetString("HGLON")) + reqManager.ExecuteCommand(cmd , "inst_noventa") + Next + End If + c.Close + + ' LO DEL LIKE + c=B4XPages.MainPage.skmt.ExecQuery("Select HFCLIENTE, HFALIAS,HFRUTA,HFALMACEN from HIST_FACE") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_face_like_mazapa" + cmd.Parameters = Array As String(C.GetString("HFCLIENTE"),C.GetString("HFALIAS"),C.GetString("HFRUTA"),C.GetString("HFALMACEN")) + reqManager.ExecuteCommand(cmd , "inst_noventa") + Next + End If + c.Close + + ' DROP +' t1.Initialize("T1", 30000) ' 1000 = 1 second +' t1.Enabled = True +' Dim sDate,sTime As String +' DateTime.DateFormat = "MM/dd/yyyy" +' sDate=DateTime.Date(DateTime.Now) +' sTime=DateTime.Time(DateTime.Now) +' Dim cmd As DBCommand +' cmd.Initialize +' cmd.Name ="insert_drop_mazapa" +' cmd.Parameters = Array As String(usuario, Subs.traeRuta, sDate & sTime, l_porvisitar.Text,l_drop.Text,l_efectiva.Text,l_cuantosc.Text,l_cuantosn.Text, L_MONTOD.Text,"ENVIO",almacen,Application.VersionName) +' reqManager.ExecuteCommand(cmd , "inst_noventa") +' img2.Visible =True +' porcentaje = Round(100/ (cuantos_noventa + cuantos_pedido + cuantos_pedidosc + 1)) +' If Starter.marcaCel <> "Sony" Then ToastMessageShow("Se Actualizaran los datos, Este proceso podria tardar hasta un minuto, gracias "& l_ruta.text , True) + + c = B4XPages.MainPage.skmt.ExecQuery("SELECT * FROM PEDIDO_CLIENTE WHERE PC_CLIENTE <> 01") + If c.RowCount > 0 Then + For i = 0 To c.RowCount - 1 + c.Position = i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "select_piezas_mazapa" + cmd.Parameters = Array As String(c.GetString("PC_CLIENTE"), almacen, Subs.traeRuta) +' userpiezas = c.GetString("PC_CLIENTE") + reqManager.ExecuteQuery(cmd , 0, "piezas") + Next + End If +' End If +End Sub + +Sub checaPedido + Private c As Cursor = B4XPages.MainPage.skmt.ExecQuery("SELECT PC_CLIENTE FROM PEDIDO_CLIENTE") + If c.RowCount > 0 Then + B4XPages.MainPage.skmt.ExecNonQuery("Update kmt_info set gestion = 2 WHERE CAT_CL_CODIGO IN (SELECT PC_CLIENTE FROM PEDIDO_CLIENTE)") + End If + Private c As Cursor = B4XPages.MainPage.skmt.ExecQuery("SELECT NV_CLIENTE FROM NOVENTA") + If c.RowCount > 0 Then + B4XPages.MainPage.skmt.ExecNonQuery("Update kmt_info set gestion = 3 WHERE CAT_CL_CODIGO IN (SELECT NV_CLIENTE FROM NOVENTA)") + End If +End Sub + +'====================================================================================== +$// ARCHIVO_FIN: C_Mazapa.bas +'====================================================================================== + + +'====================================================================================== +$// ARCHIVO_INICIO: C_Profina.bas +'====================================================================================== + +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Class +Version=12.8 +@EndOfDesignText@ +Sub Class_Globals + Private Root As B4XView 'ignore + Private xui As XUI 'ignore + Dim reqManager As DBRequestManager + Dim c, d As Cursor + Dim usuario, almacen As String + Dim datos_iguales, almacen, carga, paso, conteo, porcentaje, perfil, cuantos, NUMERO_PEDIDO, usuario, cuantos_exib, cuantos_pedidosc, cuantos_noventa, cuantos_ped, cuantos_pedido As String + Dim l_ruta As Label +End Sub + +'Initializes the object. You can add parameters to this method if needed. +Public Sub Initialize + reqManager.Initialize(Me, "http://keymon.net:1781") + l_ruta.Initialize("l") + Return Me +End Sub + +Sub envia + l_ruta.text = Subs.traeRuta +' carga = "SUBIR" +' P1.Visible = True +' p_mandaInfo.Visible = True +' P1.BringToFront +' p_mandaInfo.BringToFront +' 'trabajar.Visible = False +' NUEVO.Visible =False +' BUSCA.Visible=False +' connecta.Visible=False +' Subir.Visible=False +' cargar.Visible=False +' L_P_1.Visible = False +' S_CC.Visible = False +' L_P_3.Visible = False +' S_CH.Visible = False +' PB1.Visible = False +' Resumen.Visible= False +' +' L_P_2.Text = "Envio de Pedidos" +' L_P_3.Text = "Envio de Pedidos" +' S_CH.Text = "EN PROCESO" +' S_CP.Text = "EN PROCESO" +' PB1.Progress = 0 +' PB2.Progress = 0 + 'c=skmt.ExecQuery("SELECT sum(IFNULL(PE_DESC,0)) as DESCUENTO FROM PEDIDO") + 'c.Position =0 + 'If c.GetString("DESCUENTO") > 0 And PASO = 0 Then + 'P1.Visible = True + 'ELSE IF c.GetString("DESCUENTO") = 0 Then + paso = 1 + 'End If + If paso =1 Then + B4XPages.MainPage.skmt.ExecNonQuery2("delete from PEDIDO WHERE PE_PRONOMBRE = ? ", Array As Object("N/A") ) + B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE not In (select PE_CLIENTE from pedido)") + c=B4XPages.MainPage.skmt.ExecQuery("select usuario from usuarioa") + c.Position = 0 + usuario = c.GetString("USUARIO") + c.Close +' c=B4XPages.MainPage.skmt.ExecQuery("select HGDATE, HGLAT, HGLON from HIST_GPS") +' If c.RowCount>0 Then +' For i=0 To c.RowCount -1 +' c.Position=i +' Dim cmd As DBCommand +' cmd.Initialize +' cmd.Name = "UPDATE_PRO_ACTUAL2_GPS" +' cmd.Parameters = Array As Object(L_MONTOD.Text, L_CUANTOST.Text, l_cuantosc.Text,l_porvisitar.TEXT,c.GetString("hglat"),c.GetString("hglon"),batterystatus(0),LPT, STEYIN, STEYOUT,almacen,l_ruta.Text ) +' reqManager.ExecuteCommand(cmd , "update_gps") +' Next +' End If +' c.Close + ' PEDIO_CLIENTE + + c=B4XPages.MainPage.skmt.ExecQuery("SELECT PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT, PC_COSTO_SIN, PC_RUTA, PC_ALMACEN, PC_FACTURA, PC_SOLICITA FROM PEDIDO_CLIENTE ") + d=B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDOSC FROM PEDIDO_CLIENTE ") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_pedidos_pro2" + LogColor(c.GetString("PC_CLIENTE")&","& c.GetString("PC_FECHA")&","& c.GetString("PC_USER")&","& c.GetString("PC_NOART")&","& c.GetString("PC_MONTO")&","& c.GetString("PC_LON")&","& c.GetString("PC_LAT")&","& almacen&","& Subs.traeRuta&","& c.GetString("PC_COSTO_SIN")&","& c.GetString("PC_FACTURA")&","& c.GetString("PC_SOLICITA"),Colors.Magenta) + cmd.Parameters = Array As Object(c.GetString("PC_CLIENTE"), c.GetString("PC_FECHA"), c.GetString("PC_USER"), c.GetString("PC_NOART"), c.GetString("PC_MONTO"), c.GetString("PC_LON"), c.GetString("PC_LAT"), almacen, Subs.traeRuta, c.GetString("PC_COSTO_SIN"), c.GetString("PC_SOLICITA")) + + reqManager.ExecuteCommand(cmd , "ins_pedidos") + Next + End If + c.Close + d.Position=0 + cuantos_pedidosc = D.GetString("CUANTOS_PEDIDOSC") + d.Close + + ' ENVIO DE LOS CODIGOS QR + 'c=skmt.ExecQuery2("SELECT CAT_CL_NUM_SERIEFISICO,CAT_CL_CODIGO ,CAT_CL_LONG,CAT_CL_LAT, CAT_CL_FOTO FROM kmt_info where CAT_CL_NUM_SERIEFISICO = ?", Array As String("OK")) + + + c=B4XPages.MainPage.skmt.ExecQuery("SELECT CODIGOKMTS, CODIGOB, LAT, LON FROM HIST_CODIGO_BARRAS" ) + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_QR_PRO" + cmd.Parameters = Array As Object(C.GetString("CODIGOKMTS"),C.GetString("CODIGOB"),C.GetString("LON"),C.GetString("LAT"),almacen,l_ruta.text ) + reqManager.ExecuteCommand(cmd , "ins_QR") + Next + End If + c.Close + + +' c=B4XPages.MainPage.skmt.ExecQuery("SELECT CAT_CL_NUM_SERIEFISICO,CAT_CL_CODIGO ,CAT_CL_LONG,CAT_CL_LAT, CAT_CL_FOTO FROM kmt_info where CAT_CL_NUM_SERIEFISICO IS NOT NULL") +' If c.RowCount>0 Then +' For i=0 To c.RowCount -1 +' c.Position=i +' 's=skmt.ExecQuery2("SELECT HIST_VI_IMAGEN FROM HIST_VISITAS WHERE HIST_VI_CREDITO =?", Array As String (c.GetString("HIST_VI_CREDITO"))) +' 's.Position =0 +' foto1 = c.GetBlob("CAT_CL_FOTO") +' Dim cmd As DBCommand +' cmd.Initialize +' cmd.Name = "insert_QR_MARDS" +' cmd.Parameters = Array As Object(C.GetString("CAT_CL_NUM_SERIEFISICO"),C.GetString("CAT_CL_CODIGO"),C.GetString("CAT_CL_LONG"),C.GetString("CAT_CL_LAT"),ALMACEN,l_ruta.text, foto1 ) +' reqManager.ExecuteCommand(cmd , "ins_QR") +' Next +' End If +' c.Close + +' c=B4XPages.MainPage.skmt.ExecQuery("SELECT HE_CLIE, HE_RES, HE_FECHA, HE_TIPO FROM HIST_ENCUESTA") +' If c.RowCount>0 Then +' For i=0 To c.RowCount -1 +' c.Position=i +' Dim cmd As DBCommand +' cmd.Initialize +' cmd.Name = "insert_encuesta_MARDS" +' cmd.Parameters = Array As Object(C.GetString("HE_CLIE"),C.GetString("HE_RES"),C.GetString("HE_FECHA"), c.GetString("HE_TIPO")) +' reqManager.ExecuteCommand(cmd , "inst_noventa") +' Next +' End If +' c.Close + + c=B4XPages.MainPage.skmt.ExecQuery("SELECT PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO FROM PEDIDO") + d=B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_pedido_PRO" + cmd.Parameters = Array As Object(C.GetString("PE_CEDIS"),almacen,C.GetString("PE_COSTO_TOT"),C.GetString("PE_COSTOU"),C.GetString("PE_CANT"),C.GetString("PE_PRONOMBRE"),C.GetString("PE_PROID"),C.GetString("PE_CLIENTE"),C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),c.GetString("PE_FOLIO"),"PREVENTA") + reqManager.ExecuteCommand(cmd , "ins_pedido") + Next + End If + c.Close + d.Position=0 + cuantos_pedido = D.GetString("CUANTOS_PEDIDO") + d.Close + + ' NOVENTA + c=B4XPages.MainPage.skmt.ExecQuery("SELECT NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON, NV_NOMBRE, NV_DIRECCION FROM NOVENTA") + D=B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM NOVENTA") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_noventa_PRO" + cmd.Parameters = Array As Object(C.GetString("NV_CLIENTE"),C.GetString("NV_FECHA"),C.GetString("NV_USER"),C.GetString("NV_MOTIVO"),C.GetString("NV_COMM"),C.GetString("NV_LAT"),C.GetString("NV_LON"), almacen, l_ruta.Text) + reqManager.ExecuteCommand(cmd , "inst_noventa") + Next + End If + c.Close + d.Position=0 + cuantos_noventa = D.GetString("CUANTOS_NOVENTA") + d.Close + + ' CLIENTES NUEVOS + Dim fotocn() As Byte + Dim Dirp As String = File.DirInternal + Dim Dir As String + Dim Dir2 As String + Dir = "/promotoriakmts" + + c=B4XPages.MainPage.skmt.ExecQuery("SELECT CN_ID, CN_FECHA , CN_USER, CN_LAT, CN_LON, CN_NOMBRE, CN_DIRECCION, CN_FOTO, CN_ALMACEN, CN_RUTA, CN_GIRO FROM CLIENTES_NUEVOS") + If c.RowCount>0 Then + For i = 0 To c.RowCount - 1 + 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 cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_clientesnuevos_PRO" + 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")) + reqManager.ExecuteCommand(cmd , "inst_clientesn") + Next + End If + c.Close + ' GEO CERCA + +' c=B4XPages.MainPage.skmt.ExecQuery("Select HGCLIENTE, HGDATE, HGLAT, HGLON from HIST_GEOCERCA") +' If c.RowCount>0 Then +' For i=0 To c.RowCount -1 +' c.Position=i +' Dim cmd As DBCommand +' cmd.Initialize +' cmd.Name = "insert_geocerca_PRO" +' cmd.Parameters = Array As Object(C.GetString("HGCLIENTE"),C.GetString("HGDATE"),C.GetString("HGLAT"),C.GetString("HGLON")) +' reqManager.ExecuteCommand(cmd , "inst_noventa") +' Next +' End If +' c.Close + + ' LO DEL LIKE + +' c=B4XPages.MainPage.skmt.ExecQuery("Select HFCLIENTE, HFALIAS,HFRUTA,HFALMACEN from HIST_FACE") +' If c.RowCount>0 Then +' For i=0 To c.RowCount -1 +' c.Position=i +' Dim cmd As DBCommand +' cmd.Initialize +' cmd.Name = "insert_face_like_MARDS" +' cmd.Parameters = Array As Object(C.GetString("HFCLIENTE"),C.GetString("HFALIAS"),C.GetString("HFRUTA"),C.GetString("HFALMACEN")) +' reqManager.ExecuteCommand(cmd , "inst_noventa") +' Next +' End If + + 'fotos +' Dim fotox() As Byte +' Dim cmd As DBCommand +' c = B4XPages.MainPage.skmt.ExecQuery("Select CODIGO, ALMACEN, RUTA, NOM_FOTO from HIST_FOTO_CLIENTE") + ' +' c.Position = 0 +' +' Dim Dirp As String = File.DirInternal +' Dim Dir As String +' Dim Dir2 As String +' Dir = "/promotoriakmts" +' If c.RowCount>0 Then +' For i = 0 To c.RowCount - 1 +' c.Position = i +' Log(File.Exists(Dirp&Dir&Dir2,c.GetString("NOM_FOTO"))) +' fotox = Bit.InputStreamToBytes(File.OpenInput(Dirp&Dir,c.GetString("NOM_FOTO"))) +' cmd.Initialize +' cmd.Name = "insert_fotos_cliente_nuevo_MARIANA" +' cmd.Parameters = Array As Object(c.GetString("CODIGO"),c.GetString("ALMACEN"),c.GetString("RUTA"),fotox) +' reqManager.ExecuteCommand(cmd, $"insert_clientes_${c.GetString("CODIGO")}"$) +' Next +' End If +' +' c.Close + + ' DROP +' t1.Initialize("T1", 30000) ' 1000 = 1 second +' t1.Enabled = True +' Dim sDate,sTime As String +' DateTime.DateFormat = "MM/dd/yyyy" +' sDate=DateTime.Date(DateTime.Now) +' sTime=DateTime.Time(DateTime.Now) +' Dim cmd As DBCommand +' cmd.Initialize +' cmd.Name ="insert_drop_PRO_2" +' cmd.Parameters = Array As Object(usuario,l_ruta.Text,sDate & sTime, l_porvisitar.Text,l_drop.Text,l_efectiva.Text,l_cuantosc.Text,l_cuantosn.Text, L_MONTOD.Text,"ENVIO",almacen) +' reqManager.ExecuteCommand(cmd , "inst_noventa") +' img2.Visible =True +' porcentaje = Round(100/ (cuantos_noventa + cuantos_pedido + cuantos_pedidosc + 1)) +' If Starter.marcaCel <> "Sony" Then ToastMessageShow("Se Actualizaran los datos, Este proceso podria tardar hasta un minuto, gracias "& l_ruta.text , True) + End If +End Sub + +'====================================================================================== +$// ARCHIVO_FIN: C_Profina.bas +'====================================================================================== + + +'====================================================================================== +$// ARCHIVO_INICIO: DBCheck.b4a +'====================================================================================== + +Build1=Default,dbcheck.keymon.lat,HU2_PUBLIC +File1=engrane_gris.png +File2=listItem.bal +File3=logo_192x192.jpg +File4=logo_keymon.png +File5=MainPage.bal +File6=progress.gif +FileGroup1=Default Group +FileGroup2=Default Group +FileGroup3=Default Group +FileGroup4=Default Group +FileGroup5=Default Group +FileGroup6=Default Group +Group=Default Group +Library1=b4xpages +Library10=xcustomlistview +Library11=b4xgifview +Library2=byteconverter +Library3=contentresolver +Library4=core +Library5=fileprovider +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~')~\n~~\n~AddActivityText(main,~\n~~\n~~\n~~\n~ ~\n~ ~\n~ ~\n~) +Module1=B4XMainPage +Module10=DBRequestManager +Module11=FileHandler +Module12=Starter +Module13=Subs +Module2=C_Durakelo +Module3=C_Envios +Module4=|relative|..\C_Guna_Reparto +Module5=C_Intmex +Module6=C_Izca +Module7=|relative|..\C_Marquez +Module8=C_Mazapa +Module9=C_Profina +NumberOfFiles=6 +NumberOfLibraries=11 +NumberOfModules=13 +Version=12.8 +@EndOfDesignText@ +#Region Project Attributes + #ApplicationLabel: DBCheck + #VersionCode: 1 + #VersionName: 5.07.05 + 'SupportedOrientations possible values: unspecified, landscape or portrait. + #SupportedOrientations: portrait + #CanInstallToExternalStorage: False +#End Region + +#Region Activity Attributes + #FullScreen: False + #IncludeTitle: True +#End Region + +'#BridgeLogger: True + +Sub Process_Globals + Public ActionBarHomeClicked As Boolean +End Sub + +Sub Globals + +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. + + + +'====================================================================================== +$// ARCHIVO_FIN: DBCheck.b4a +'====================================================================================== + + +'====================================================================================== +$// ARCHIVO_INICIO: DBRequestManager.bas +'====================================================================================== + +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Class +Version=6.8 +@EndOfDesignText@ +''Class module +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) + Dim 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 + Dim reqsList As List +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 + reqsList.Initialize +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) + If reqsList.IsInitialized Then reqsList.Add(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) + If reqsList.IsInitialized Then reqsList.Add(Tag) + 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 + + + +'====================================================================================== +$// ARCHIVO_FIN: DBRequestManager.bas +'====================================================================================== + + +'====================================================================================== +$// ARCHIVO_INICIO: FileHandler.bas +'====================================================================================== + +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Class +Version=11 +@EndOfDesignText@ +'Requiere la librera "ContentResolver" y "FileProvider" o "AppUpdating" +' +'Copiar este codigo al boton_Click que se quiere que importe la base de datos. +' +' Private Sub b_importarBD_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. +' Starter.skmt.Initialize(Starter.ruta,"kmt.db", True) 'Reiniciliza la base de datos con la recien importada. +' ToastMessageShow("BD importada!", False) +' End Sub + +Sub Class_Globals + #if B4A + Private ion As Object + Private OldIntent As Intent + #end if + Type LoadResult (Success As Boolean, Dir As String, FileName As String, RealName As String, Size As Long, Modified As Long, MimeType As String) +End Sub + +Public Sub Initialize + +End Sub + +#if B4A +Public Sub SaveAs (Source As InputStream, MimeType As String, Title As String) As ResumableSub + Dim intent As Intent + intent.Initialize("android.intent.action.CREATE_DOCUMENT", "") + intent.AddCategory("android.intent.category.OPENABLE") + intent.PutExtra("android.intent.extra.TITLE", Title) + intent.SetType(MimeType) + StartActivityForResult(intent) + Wait For ion_Event (MethodName As String, Args() As Object) + If -1 = Args(0) Then 'resultCode = RESULT_OK + Dim result As Intent = Args(1) + Dim jo As JavaObject = result + Dim ctxt As JavaObject + Dim out As OutputStream = ctxt.InitializeContext.RunMethodJO("getContentResolver", Null).RunMethod("openOutputStream", Array(jo.RunMethod("getData", Null))) + File.Copy2(Source, out) + out.Close + Return True + End If + Return False +End Sub + +Public Sub Load As ResumableSub + Dim cc As ContentChooser + cc.Initialize("cc") + cc.Show("application/octet-stream", "Choose text file") + Wait For CC_Result (Success As Boolean, Dir As String, FileName As String) + Log($"***************************${CRLF}${Dir}${CRLF} ${FileName}"$) + Dim res As LoadResult = CreateLoadResult(Success, Dir, FileName) + Log($"***************************${CRLF}${res.FileName}${CRLF} ${res}"$) + If res.Success Then ExtractInformationFromURI(res.FileName, res) + Return res +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(ion, i)) +End Sub + +Private Sub GetBA As Object + Return Me.As(JavaObject).RunMethod("getBA", Null) +End Sub + +Private Sub ExtractInformationFromURI (Uri As String, res As LoadResult) + Try + + Dim resolver As ContentResolver + resolver.Initialize("") + Dim u As Uri + u.Parse(Uri) + Dim rs As ResultSet = resolver.Query(u, Null, "", Null, "") + If rs.NextRow Then + Dim columns As B4XSet = B4XCollections.CreateSet + For i = 0 To rs.ColumnCount - 1 + columns.Add(rs.GetColumnName(i)) + Next + If columns.Contains("_display_name") Then res.RealName = rs.GetString("_display_name") + If columns.Contains("_size") Then res.Size = rs.GetLong("_size") + If columns.Contains("last_modified") Then res.Modified = rs.GetLong("last_modified") + If columns.Contains("mime_type") Then res.MimeType = rs.GetString("mime_type") + End If + rs.Close + + Catch + Log("error extracting information from file provider") + Log(LastException) + End Try +End Sub + +Public Sub CheckForReceivedFiles As LoadResult + Dim Activity As Activity = B4XPages.GetNativeParent(B4XPages.MainPage) + If IsRelevantIntent(Activity.GetStartingIntent) Then + Dim in As Intent = Activity.GetStartingIntent + Dim uri As String + If in.HasExtra("android.intent.extra.STREAM") Then + uri = in.As(JavaObject).RunMethod("getParcelableExtra", Array("android.intent.extra.STREAM")) + Else + uri = in.GetData + End If + Dim res As LoadResult = CreateLoadResult(True, "ContentDir", uri) + ExtractInformationFromURI(res.FileName, res) + Return res + End If + Return CreateLoadResult(False, "", "") +End Sub + +Private Sub IsRelevantIntent(in As Intent) As Boolean + If in.IsInitialized And in <> OldIntent And in.Action = in.ACTION_VIEW Then + OldIntent = in + Return True + End If + Return False +End Sub + +#else if B4i +Public Sub SaveAs(ParentPage As Object, AnchorView As Object, Text As String) As ResumableSub + Dim avc As ActivityViewController + avc.Initialize("avc", Array(Text)) + avc.Show(B4XPages.GetNativeParent(ParentPage), AnchorView) + Wait For avc_Complete (Success As Boolean, ActivityType As String) + Return Success +End Sub + +Public Sub Load (ParentPage As Object, AnchorView As Object) As ResumableSub + Dim DocumentPicker As DocumentPickerViewController + DocumentPicker.InitializeImport("picker", Array("public.text")) + DocumentPicker.Show(B4XPages.GetNativeParent(ParentPage), AnchorView) + Wait For Picker_Complete (Success As Boolean, URLs As List) + If Success And URLs.Size > 0 Then + Return UrlToLoadResult(URLs.Get(0)) + End If + Return CreateLoadResult(False, "", "") +End Sub + +Public Sub UrlToLoadResult(url As String) As LoadResult + Dim res As LoadResult = CreateLoadResult(IIf(File.Exists(url, ""), True, False), url, "") + res.RealName = res.Dir.SubString(res.Dir.LastIndexOf("/") + 1) + res.Size = File.Size(res.Dir, "") + Return res +End Sub +#end if + +Private Sub CreateLoadResult (Success As Boolean, Dir As String, FileName As String) As LoadResult + Dim t1 As LoadResult + t1.Initialize + t1.Success = Success + t1.Dir = Dir + t1.FileName = FileName + Return t1 +End Sub + + + +'====================================================================================== +$// ARCHIVO_FIN: FileHandler.bas +'====================================================================================== + + +'====================================================================================== +$// ARCHIVO_INICIO: Starter.bas +'====================================================================================== + +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. + +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. + +End Sub + +Sub Service_Start (StartingIntent As Intent) + Service.StopAutomaticForeground 'Starter service can start in the foreground state in some edge cases. +End Sub + +Sub Service_TaskRemoved + 'This event will be raised when the user removes the app from the recent apps list. +End Sub + +'Return true to allow the OS default exceptions handler to handle the uncaught exception. +Sub Application_Error (Error As Exception, StackTrace As String) As Boolean + Return True +End Sub + +Sub Service_Destroy + +End Sub + + +'====================================================================================== +$// ARCHIVO_FIN: Starter.bas +'====================================================================================== + + +'====================================================================================== +$// ARCHIVO_INICIO: Subs.bas +'====================================================================================== + +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=StaticCode +Version=11 +@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. + Private su As StringUtils 'Usa la libreria StringUtils 'ignore +End Sub + +'Linea de prueba X10 + +'Convierte una fecha al formato yyMMddHHmmss +Sub fechaKMT(fecha As String) As String 'ignore +' if starter.logger then Log(fecha) + Dim OrigFormat As String = DateTime.DateFormat 'save orig date format + DateTime.DateFormat="yyMMddHHmmss" + Dim nuevaFecha As String=DateTime.Date(fecha) + DateTime.DateFormat=OrigFormat 'return to orig date format +' if starter.logger then Log(nuevaFecha) + Return nuevaFecha +End Sub + +'Regresa la fecha y hora de hoy a las 00:00 en el formato "yyMMddHHMMSS" +Sub fechaInicioHoy As String 'ignore + Dim OrigFormat As String = DateTime.DateFormat 'save orig date format + DateTime.DateFormat="yyMMdd" + Private h As String = DateTime.Date(DateTime.Now)&"000000" + DateTime.DateFormat=OrigFormat 'return to orig date format +' If Starter.logger Then Log("Hoy="&h) + Return h +End Sub + +'Regresa verdadero si ya pasaron XX minutos de la fecha dada +Sub masDeXXMins(hora As Int, mins As Int) As Boolean 'ignore + If (hora + mins * DateTime.TicksPerMinute) < DateTime.Now Then + Return True + Else + Return False + End If +End Sub + +'Regresa verdadero si ya pasaron XX minutos de la fechaKMT dada +Sub masDeXXMinsKMT(hora As String, mins As Int) As Boolean 'ignore + Try +' if starter.logger then LogColor($"Hora=${fechaKMT(fechaKMT2Ticks(hora) + mins * DateTime.TicksPerMinute)}, Mins=${mins}, Actual=${fechaKMT(DateTime.Now)}"$,Colors.red) + If fechaKMT2Ticks(hora) + mins * DateTime.TicksPerMinute < DateTime.Now Then +' if starter.logger then Log("+++ +++ "&fechaKMT(fechaKMT2Ticks(hora) + mins * DateTime.TicksPerMinute) & " < " & fechaKMT(DateTime.Now)) + Return True + Else +' if starter.logger then Log("+++ +++ "&fechaKMT(fechaKMT2Ticks(hora) + mins * DateTime.TicksPerMinute) & " > " & fechaKMT(DateTime.Now)) + Return False + End If + Catch + Log(LastException) + End Try +End Sub + +'Convierte una fecha en formato YYMMDDHHMMSS a Ticks +Sub fechaKMT2Ticks(fKMT As String) As Long 'ignore + Try + If fKMT.Length = 12 Then + Private parteFecha As String = fKMT.SubString2(0,6) + Private parteHora As String = fKMT.SubString(6) + Private OrigFormat As String = DateTime.DateFormat 'save original date format + DateTime.DateFormat="yyMMdd" + DateTime.TimeFormat="HHmmss" + Private ticks As Long = DateTime.DateTimeParse(parteFecha,parteHora) +' Log(" +++ +++ pFecha:"&parteFecha&" | pHora:"&parteHora) + DateTime.DateFormat=OrigFormat 'return to original date format + Return ticks + Else + Log("Formato de fecha incorrecto, debe de ser 'yyMMddHHmmss', no '"&fKMT&"' largo="&fKMT.Length) + Return 0 + End If + Catch + Log(LastException) +' If Starter.logger Then LogColor($"Fecha dada: ${fKMT}, Parte Fecha: ${parteFecha}, Parte Hora: ${parteHora}"$, Colors.Red) + Return 0 + End Try +End Sub + +'Hace visible el panel con los parametros "Top" y "Left" dados +Sub panelVisible(panel As Panel, top As Int, left As Int) 'ignore + panel.BringToFront + panel.Visible = True + panel.Top = top + panel.Left = left +End Sub + +'Oculta el panel especificado y lo manda al fondo +Sub panelOculto(panel As Panel) 'ignore + panel.SendToBack + panel.Visible = False +End Sub + +'Centra una etiqueta dentro de un elemento superior +Sub centraEtiqueta(elemento As Label, anchoElementoSuperior As Int) 'ignore + elemento.Left = Round(anchoElementoSuperior/2)-(elemento.Width/2) +End Sub + +'Centra un panel dentro de un elemento superior +Sub centraPanel(elemento As Panel, anchoElementoSuperior As Int) 'ignore + elemento.Left = Round(anchoElementoSuperior/2)-(elemento.Width/2) +End Sub + +Sub centraEditText(elemento As EditText, anchoElementoSuperior As Int) 'ignore + elemento.Left = Round(anchoElementoSuperior/2)-(elemento.Width/2) +End Sub + +'Centra una barra de progreso dentro de un elemento superior +Sub centraProgressBar(elemento As ProgressBar, anchoElementoSuperior As Int) 'ignore + elemento.Left = Round(anchoElementoSuperior/2)-(elemento.Width/2) +End Sub + +'Modifica el ancho y alto de un panel dado con el ancho y alto proporcionados. +Sub panelAnchoAlto(p As Panel, w As Int, h As Int) 'ignore +' If Starter.logger Then Log($"panel:${p}, alncho=${w}, alto=${h}"$) + p.Top = 0 + p.Left = 0 + p.Width = w + p.Height = h +End Sub + +'Regresa el dia de HOY como string, en espaol y mayusculas. +Sub dameDiaSemana As String 'ignore + Private ds As String = DateTime.GetDayOfWeek(DateTime.Now) + If ds = "1" Then + ds = "DOMINGO" + else if ds = "2" Then + ds = "LUNES" + else if ds = "3" Then + ds = "MARTES" + else if ds = "4" Then + ds = "MIERCOLES" + else if ds = "5" Then + ds = "JUEVES" + else if ds = "6" Then + ds = "VIERNES" + Else + ds = "SABADO" + End If + Return ds +End Sub + +'Regresa el usuario de la tabla USUARIOA +Sub traeUsuarioDeBD As String 'ignore + Private c As Cursor + Private u As String = "SinUsuario" + c = B4XPages.MainPage.skmt.ExecQuery("select USUARIO from usuarioa") + c.Position = 0 + If c.RowCount > 0 Then u = c.GetString("USUARIO") + c.Close + Return u +End Sub + +'Regresa el usuario de la tabla USUARIOA +Sub traeUsuario As String 'ignore + Private c As Cursor + Private u As String = "SinUsuario" + c = B4XPages.MainPage.skmt.ExecQuery("select USUARIO from usuarioa") + c.Position = 0 + If c.RowCount > 0 Then u = c.GetString("USUARIO") + c.Close + Return u +End Sub + +'Regresa la ruta actual de la base de datos. +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)") + r = "0" + If c.RowCount > 0 Then + c.Position=0 + r = c.GetString("CAT_CL_RUTA") + End If + c.Close + Return r +End Sub + +'Regresa la ruta actual de la base de datos. +Sub traeRuta2 (cliente As String) 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 = '${cliente}' UNION ALL select CAT_CL_RUTA from kmt_info2 where CAT_CL_CODIGO = '${cliente}'"$) + r = "0" + If c.RowCount > 0 Then + c.Position=0 + r = c.GetString("CAT_CL_RUTA") + End If + c.Close + Return r +End Sub + +'Regresa la ruta del cliente dado de la tabla pedido. +Sub traeRutaPedidoCliente(idcliente As String) As String 'ignore + Private r As String + Private c As Cursor = B4XPages.MainPage.skmt.ExecQuery($"select PE_RUTA from pedido where PE_CLIENTE = '${idcliente}'"$) + r = "0" + If c.RowCount > 0 Then + c.Position = 0 + r = c.GetString("PE_RUTA") + End If + c.Close + Return r +End Sub + +'Regresa el cliente actual desde CUENTAA. +Sub traeCliente As String 'ignore + Private c As Cursor + Private cl As String + c = B4XPages.MainPage.skmt.ExecQuery("Select CUENTA from cuentaa") + c.Position = 0 + cl = c.GetString("CUENTA") + c.Close + Return cl +End Sub + +'Regresa el almacen actual de la base de datos. +Sub traeAlmacen As String 'ignore + Private c As Cursor + Private a As String + c = B4XPages.MainPage.skmt.ExecQuery("select ID_ALMACEN from CAT_ALMACEN") + c.Position = 0 + a = C.GetString("ID_ALMACEN") + c.Close + Return a +End Sub + +'Muestra en el Log los campos y valores que regresan en el JobDone. +Sub logJobDoneResultados(resultado As DBResult) + For Each records() As Object In resultado.Rows + LogColor($"====== ${resultado.Tag} - REGISTROS = ${resultado.Rows.Size}"$, Colors.RGB(215,37,0)) + For Each k As String In resultado.Columns.Keys + LogColor(k & " = " & records(resultado.Columns.Get(k)), Colors.RGB(215,37,0)) + Next + Next +End Sub + +'====================================================================================== +$// ARCHIVO_FIN: Subs.bas +'====================================================================================== + diff --git a/B4A/_juntaBas.ps1 b/B4A/_juntaBas.ps1 new file mode 100644 index 0000000..0149f9f --- /dev/null +++ b/B4A/_juntaBas.ps1 @@ -0,0 +1,43 @@ +# SCRIPT: _juntaBas.ps1 - Versión con Manifiesto para LLM +$OutputFile="_CODIGO_COMPLETO_PARA_LLM.txt" + +# Eliminar el archivo anterior si existe +Remove-Item -Path $OutputFile -ErrorAction SilentlyContinue + +Write-Host "Iniciando fusion para LLM..." + +# 1. Obtener la lista de archivos primero para el Manifiesto +$files = Get-ChildItem -Path ".\*" -Include @("*.bas", "*.b4a", "*.j") + +# --- GENERACIÓN DEL MANIFIESTO (TABLA DE CONTENIDO) --- +Add-Content -Path $OutputFile -Value "'======================================================================================" -Encoding UTF8 +Add-Content -Path $OutputFile -Value "' MANIFIESTO DEL PROYECTO - Generado el $(Get-Date -Format 'yyyy-MM-dd HH:mm')" -Encoding UTF8 +Add-Content -Path $OutputFile -Value "' Total de archivos: $($files.Count)" -Encoding UTF8 +Add-Content -Path $OutputFile -Value "'======================================================================================" -Encoding UTF8 + +foreach ($file in $files) { + $lines = (Get-Content $file.FullName).Count + Add-Content -Path $OutputFile -Value "' [ ] Archivo: $($file.Name) ($lines líneas)" -Encoding UTF8 +} +Add-Content -Path $OutputFile -Value "'======================================================================================`n" -Encoding UTF8 + +# 2. Itera y vuelca el contenido de los archivos +$files | ForEach-Object { + $currentFile = $_.Name + Write-Host "Procesando: $currentFile" + + # Encabezado de sección + Add-Content -Path $OutputFile -Value "'======================================================================================" -Encoding UTF8 + Add-Content -Path $OutputFile -Value "// ARCHIVO_INICIO: ${currentFile}" -Encoding UTF8 + Add-Content -Path $OutputFile -Value "'======================================================================================`n" -Encoding UTF8 + + # Contenido con codificación UTF8 + Get-Content -Encoding UTF8 -Path $_.FullName -Raw | Add-Content -Path $OutputFile -Encoding UTF8 + + # Delimitador de fin + Add-Content -Path $OutputFile -Value "`n'======================================================================================" -Encoding UTF8 + Add-Content -Path $OutputFile -Value "// ARCHIVO_FIN: ${currentFile}" -Encoding UTF8 + Add-Content -Path $OutputFile -Value "'======================================================================================`n" -Encoding UTF8 +} + +Write-Host "¡Listo! Archivo $OutputFile generado con éxito." \ No newline at end of file diff --git a/C_Guna_Reparto.bas b/C_Guna_Reparto.bas new file mode 100644 index 0000000..d78046a --- /dev/null +++ b/C_Guna_Reparto.bas @@ -0,0 +1,240 @@ +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Class +Version=12.8 +@EndOfDesignText@ +Sub Class_Globals + Private Root As B4XView 'ignore + Private xui As XUI 'ignore + Dim reqManager As DBRequestManager + Dim b, c, d, e, f As Cursor + Dim usuario, almacen As String + Dim datos_iguales, almacen, carga, paso, conteo, porcentaje, perfil, cuantos, NUMERO_PEDIDO, usuario, cuantos_exib, cuantos_pedidosc, cuantos_noventa, cuantos_ped, cuantos_pedido As String + Dim l_ruta As Label +End Sub + +'Initializes the object. You can add parameters to this method if needed. +Public Sub Initialize + reqManager.Initialize(Me, "http://keymon.net:1782") + l_ruta.Initialize("l") + Return Me +End Sub + +Sub envia + ' NOVENTA + l_ruta.text = Subs.traeRuta + c = B4XPages.MainPage.skmt.ExecQuery("SELECT NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON, NV_FOTO,NV_FOTO2, NV_REPROGRAMAR FROM NOVENTA") + D=B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM NOVENTA") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim fotoenvio() As Byte = C.GetBlob("NV_FOTO2") + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_reparto_REPG_GUNA_VN2" + cmd.Parameters = Array As Object(C.GetString("NV_CLIENTE"),C.GetString("NV_FECHA"),C.GetString("NV_USER"),C.GetString("NV_MOTIVO"),C.GetString("NV_COMM"),C.GetString("NV_LAT"),C.GetString("NV_LON"), almacen, l_ruta.Text, C.GetString("NV_REPROGRAMAR"),fotoenvio) + reqManager.ExecuteCommand(cmd , "inst_noventa_") + Next + c.Close + End If + d.Position=0 + cuantos_noventa = D.GetString("CUANTOS_NOVENTA") + d.Close + + 'PAGARES. + Dim pa As Cursor=B4XPages.MainPage.skmt.ExecQuery("select PA_ALMACEN,PA_RUTA_REP,PA_RUTAPREV,PA_FECHA_PREV,PA_CAPTURA,PA_MONTO,PA_USUARIO,PA_CLIENTE,IFNULL(PA_CANCELADO,0) AS PA_CANCELADO from PAGARES") + If pa.RowCount > 0 Then + For pag = 0 To pa.RowCount - 1 + pa.Position = pag + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_reparto_PAGARES_GUNA_VN" + Dim fechaenvio() As String + fechaenvio = Regex.Split(" ",pa.GetString("PA_FECHA_PREV")) +' Log(fechaenvio(0)) + Dim fechaenvio1() As String + fechaenvio1 = Regex.Split("/",fechaenvio(0)) + Dim fechaano As String = fechaenvio1(2).SubString(2) + Dim fechareal As String = fechaenvio1(0)&"/"&fechaenvio1(1)&"/"&fechaano +' Log(fechareal) + Dim fechacap() As String + fechacap = Regex.Split("/",pa.GetString("PA_CAPTURA")) + Dim fechacapano As String = fechacap(2).SubString(2) + Dim fechacapreal As String = fechacap(0)&"/"&fechacap(1)&"/"&fechacapano + If pa.GetString("PA_CANCELADO") = "2" Then + cmd.Parameters = Array As Object(pa.GetString("PA_CLIENTE"),pa.GetString("PA_MONTO"),fechacapreal,pa.GetString("PA_ALMACEN"),pa.GetString("PA_RUTAPREV"),pa.GetString("PA_RUTA_REP"),fechareal,pa.GetString("PA_USUARIO"),2) + Else + cmd.Parameters = Array As Object(pa.GetString("PA_CLIENTE"),pa.GetString("PA_MONTO"),fechacapreal,pa.GetString("PA_ALMACEN"),pa.GetString("PA_RUTAPREV"),pa.GetString("PA_RUTA_REP"),fechareal,pa.GetString("PA_USUARIO"),"") + End If + reqManager.ExecuteCommand(cmd , "ins_pagares") + Next + End If + pa.Close + + 'ABONOS + d = B4XPages.MainPage.skmt.ExecQuery("SELECT RUTAA FROM RUTAA") + d.Position = 0 + Dim ab As Cursor = B4XPages.MainPage.skmt.ExecQuery($"SELECT * from ABONOS where a_enviado is null and a_tipoabono IS NULL"$) + Log(ab.RowCount) + If ab.RowCount > 0 Then + For i=0 To ab.RowCount -1 + ab.Position = i +' Dim ab1 As Cursor = B4XPages.MainPage.skmt.ExecQuery($"SELECT SUM(a_abono) AS a_abono from ABONOS where a_cliente = '${ab.GetString("a_cliente")}' and a_tipoabono IS NULL"$) + Dim ab1 As Cursor = B4XPages.MainPage.skmt.ExecQuery($"SELECT a_abono from ABONOS where a_cliente = '${ab.GetString("a_cliente")}' and a_tipoabono IS NULL"$) + ab1.Position = 0 + + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_abono_REP_GUNA_VN2" + cmd.Parameters = Array As Object( ab.GetString("a_usuario"), ab.GetString("a_ruta"), ab.GetString("a_cliente"), ab.GetString("a_abono"), ab.GetString("a_fecha"),almacen,"REPARTO",d.GetString("RUTAA"), "", ab.GetString("TIPO_PAGO"),ab.GetString("a_ticket"),ab.GetString("a_numpago")) + reqManager.ExecuteCommand(cmd , $"ins_abonosPendientes_${ab.GetString("a_cliente")}"$) + ab1.Close + Log($"ins_abonosPendientes_${ab.GetString("a_cliente")}"$) + Next + End If + ab.Close + d.Close + + 'ABONOS NUEVOS + d = B4XPages.MainPage.skmt.ExecQuery("SELECT RUTAA FROM RUTAA") + d.Position = 0 + Dim ab As Cursor = B4XPages.MainPage.skmt.ExecQuery($"SELECT * from ABONOS where a_enviado is null and a_tipoabono IS NOT NULL"$) + Log(ab.RowCount) + If ab.RowCount > 0 Then + For i=0 To ab.RowCount -1 + ab.Position = i +' Dim ab1 As Cursor = B4XPages.MainPage.skmt.ExecQuery($"SELECT SUM(a_abono) AS a_abono from ABONOS where a_cliente = '${ab.GetString("a_cliente")}' and a_tipoabono IS NOT NULL"$) + Dim ab1 As Cursor = B4XPages.MainPage.skmt.ExecQuery($"SELECT a_abono from ABONOS where a_cliente = '${ab.GetString("a_cliente")}' and a_tipoabono IS NOT NULL"$) + ab1.Position = 0 + + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_abono_REP_GUNA_VN2" + cmd.Parameters = Array As Object( ab.GetString("a_usuario"), ab.GetString("a_ruta"), ab.GetString("a_cliente"), ab.GetString("a_abono"), ab.GetString("a_fecha"),almacen,"REPARTO",d.GetString("RUTAA"), "1", ab.GetString("TIPO_PAGO"),ab.GetString("a_ticket"),ab.GetString("a_numpago") ) + reqManager.ExecuteCommand(cmd , $"ins_abonosPendientes_${ab.GetString("a_cliente")}"$) + ab1.Close + Log($"ins_abonosPendientes_${ab.GetString("a_cliente")}"$) + Next + End If + ab.Close + d.Close + +' pedido + c=B4XPages.MainPage.skmt.ExecQuery("SELECT PE_TIPO, PE_RUTA, PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_FECHA, PE_USUARIO, PE_CLIENTEOR, PE_CAJAS, PE_BCAJAS, CONSECUTIVO, FECHA_PREV, RUTA_REP, PE_REGALO FROM PEDIDO") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_pedido_REP_GUNA_VN" + cmd.Parameters = Array As Object(c.GetString("PE_TIPO"), c.GetString("PE_RUTA"), c.GetString("PE_CEDIS"), c.GetString("PE_COSTO_TOT"), c.GetString("PE_COSTOU"), c.GetString("PE_CANT"), c.GetString("PE_PRONOMBRE"), c.GetString("PE_PROID"), c.GetString("PE_CLIENTE"), c.GetString("PE_FECHA"), c.GetString("PE_USUARIO"), c.GetString("PE_CLIENTEOR"), c.GetString("PE_CAJAS"), c.GetString("PE_BCAJAS"), c.GetString("CONSECUTIVO"), c.GetString("FECHA_PREV"), c.GetString("RUTA_REP"), c.GetString("PE_REGALO")) + reqManager.ExecuteCommand(cmd , "ins_pedido_Inmtex") + Next + c.Close + End If + + 'TABULADOR + c = B4XPages.MainPage.skmt.ExecQuery("SELECT VEINTE, DIEZ, CINCO, DOS, PESO, CENTAVO, TOTAL FROM TABULADOR_MONEDAS") + d = B4XPages.MainPage.skmt.ExecQuery("SELECT RUTAA FROM RUTAA") + b = B4XPages.MainPage.skmt.ExecQuery("SELECT ID_ALMACEN FROM CAT_ALMACEN") + f = B4XPages.MainPage.skmt.ExecQuery("SELECT HVD_FECHA FROM HIST_VENTAS") + d.Position = 0 + b.Position = 0 + f.Position = 0 + If c.RowCount > 0 Then + For i = 0 To c.RowCount - 1 + c.Position=i + Dim cmd As DBCommand + Dim fechatabulador() As String = Regex.Split(" ", f.GetString("HVD_FECHA")) + + Dim fechatabulador3 As String = fechatabulador(0) + cmd.Initialize + cmd.Name = "insert_tabulador_monedas_GUNA_VN" + cmd.Parameters = Array As Object(d.GetString("RUTAA"), b.GetString("ID_ALMACEN"),c.GetString("VEINTE"),c.GetString("DIEZ"),c.GetString("CINCO"),c.GetString("DOS"),c.GetString("PESO"),c.GetString("CENTAVO"),fechatabulador3) + reqManager.ExecuteCommand(cmd , "ins_tabulador_mon") + Next + c.Close + d.Close + b.Close + f.Close + End If + c = B4XPages.MainPage.skmt.ExecQuery("SELECT MIL, QUINIENTOS, DOCIENTOS, CIEN, CINCUENTA, VEINTE FROM TABULADOR_BILLETES") + d = B4XPages.MainPage.skmt.ExecQuery("SELECT RUTAA FROM RUTAA") + b = B4XPages.MainPage.skmt.ExecQuery("SELECT ID_ALMACEN FROM CAT_ALMACEN") + f = B4XPages.MainPage.skmt.ExecQuery("SELECT HVD_FECHA FROM HIST_VENTAS") + d.Position = 0 + b.Position = 0 + f.Position = 0 + If c.RowCount > 0 Then + For i = 0 To c.RowCount - 1 + c.Position=i + Dim cmd As DBCommand + Dim fechatabulador() As String = Regex.Split(" ", f.GetString("HVD_FECHA")) + Dim fechatabulador3 As String = fechatabulador(0) + cmd.Initialize + cmd.Name = "insert_tabulador_billetes_GUNA_VN" + cmd.Parameters = Array As Object(b.GetString("ID_ALMACEN"), d.GetString("RUTAA"),c.GetString("MIL"),c.GetString("QUINIENTOS"),c.GetString("DOCIENTOS"),c.GetString("CIEN"),c.GetString("CINCUENTA"),c.GetString("VEINTE"),fechatabulador3) + reqManager.ExecuteCommand(cmd , "ins_tabulador_bill") + Next + c.Close + d.Close + b.Close + f.Close + End If + 'FIN TABULADOR + + c = B4XPages.MainPage.skmt.ExecQuery("SELECT IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT, HVD_CLIENTE, HVD_PROID, HVD_FECHA, HVD_CODPROMO, HVD_NUM_TICKET, HVD_CANT, CONSECUTIVO, BCAJAS, CANTC FROM HIST_VENTAS where HVD_PRONOMBRE <> 'Cobranza Pendiente'") + If c.RowCount > 0 Then + For i=0 To c.RowCount -1 + c.Position = i + Log(c.GetString("HVD_CLIENTE")) + Private d4 As Cursor = B4XPages.MainPage.skmt.ExecQuery($"SELECT CAT_CL_RUTA FROM kmt_info WHERE CAT_CL_CODIGO = '${c.GetString("HVD_CLIENTE")}'"$) + d4.Position = 0 + Log(d4.GetString("CAT_CL_RUTA")) + Private d5 As Cursor = B4XPages.MainPage.skmt.ExecQuery($"SELECT IFNULL(Sum(PE_CANT),0) AS PE_CANT FROM PEDIDO WHERE PE_CLIENTEOR = '${c.GetString("HVD_CLIENTE")}' AND PE_PROID = '${c.GetString("HVD_PROID")}' AND CONSECUTIVO = '${c.GetString("CONSECUTIVO")}'"$) + d5.Position = 0 + Private restacant As String = d5.GetString("PE_CANT") + d5.Close + Dim fecha1() As String = Regex.Split(" ", c.GetString("HVD_FECHA")) + Dim fecha3 As String = fecha1(0) + Log(fecha3) + Dim hora() As String = Regex.Split("\.", fecha1(1)) + Log(hora(0)) + Dim sDate, sTime As String + DateTime.DateFormat = "dd/MM/yyyy" + DateTime.TimeFormat = "HH:mm:ss" + sDate = DateTime.Date(DateTime.Now) + sTime = DateTime.Time(DateTime.Now) + If c.GetString("HVD_RECHAZOCANT") <> "0" Then + Log((c.GetString("HVD_RECHAZOCANT")-restacant)) + cmd.Initialize + cmd.Name = "update_HVD_GUNA_VN2" + cmd.Parameters = Array As String(c.GetString("HVD_RECHAZOCANT"),sDate& " "& sTime,1,Subs.traeUsuario, c.GetString("HVD_CLIENTE"), c.GetString("HVD_PROID"),fecha3&" "&hora(0), d4.GetString("CAT_CL_RUTA"),almacen,l_ruta.Text,c.GetString("HVD_CODPROMO"),c.GetString("HVD_NUM_TICKET"), c.GetString("HVD_CANT")) + reqManager.ExecuteCommand(cmd, "update_hvd") + Log("ENVIE RECHAZO") + Else + cmd.Initialize + cmd.Name = "update_HVD_GUNA_VN2" + Log( c.GetString("CANTC")& c.GetString("HVD_CLIENTE")& c.GetString("HVD_PROID")&fecha3&" "&hora(0)& d4.GetString("CAT_CL_RUTA")&almacen&l_ruta.Text&c.GetString("HVD_CODPROMO")&c.GetString("HVD_NUM_TICKET")& c.GetString("HVD_CANT")) + cmd.Parameters = Array As String("","","",Subs.traeUsuario, c.GetString("HVD_CLIENTE"), c.GetString("HVD_PROID"),fecha3&" "&hora(0), d4.GetString("CAT_CL_RUTA"),almacen,l_ruta.Text,c.GetString("HVD_CODPROMO"),c.GetString("HVD_NUM_TICKET"), c.GetString("HVD_CANT")) + reqManager.ExecuteCommand(cmd, "update_hvd") + End If + d4.Close + Next + End If + c.Close +' Dim cmd As DBCommand +' cmd.Initialize +' cmd.Name = "insert_drop_rep_GUNA_VN" +' cmd.Parameters = Array As Object(Subs.dameUsuarioDeDB, l_ruta.Text, almacen, l_ctast.text, Subs.traeEntregados, Subs.traeRechazados, "ENVIO") +' reqManager.ExecuteCommand(cmd , "inst_drop") +' ToastMessageShow("Se Actualizaran los datos, Este proceso podria tardar hasta un minuto, gracias "& l_ruta.text , True) +End Sub + +' Nuevo método para inicializar el manager con el Target correcto +Public Sub ConfigurarYEnviar(ServidorURL As String) + ' 'Me' aquí es C_Intmex, asegurando que C_Intmex.JobDone sea llamado. + reqManager.Initialize(Me, ServidorURL) + envia ' Llama a la función de envío original de C_Intmex +End Sub \ No newline at end of file diff --git a/C_Marquez.bas b/C_Marquez.bas index 2b5692f..102d170 100644 --- a/C_Marquez.bas +++ b/C_Marquez.bas @@ -22,7 +22,7 @@ End Sub 'You can add more parameters here. Public Sub Initialize As Object ' reqManager.Initialize(Me, "http://keymon.lat:1781") - reqManager.Initialize(Me, "http://192.99.93.204:1781") + reqManager.Initialize(Me, "http://keymon.net:1781") l_ruta.Initialize("") L_ABORDO.Initialize("") l_porvisitar.Initialize("") @@ -329,6 +329,7 @@ Sub envia End Sub Sub JobDone(Job As HttpJob) + Log("JOBDONE MARQUEZ") If reqManager.reqsList.IsInitialized Then 'Si tenemos lista de requests, la procesamos. LogColor($">>>>>>>>>> Llega ${Job.tag} <<<<<<<<<<"$, Colors.Blue) If reqManager.reqsList.IndexOf(Job.tag) <> -1 Then @@ -517,7 +518,7 @@ Sub valida cmd.Name = "select_cuantos_pedidoc_MARQUEZ" cmd.Parameters = Array As Object(almacen,l_ruta.text) reqManager.ExecuteQuery(cmd , 0, "valida_pedidoc") - Log("http://keymon.lat:1781") + Log("http://keymon.net:1781") B4XPages.MainPage.l_vPedidos2.Text = "" B4XPages.MainPage.l_vProds2.Text = "" @@ -541,4 +542,11 @@ Sub T4_Tick B4XPages.MainPage.p_validacion.Visible = True End If End If +End Sub + +' Nuevo método para inicializar el manager con el Target correcto +Public Sub ConfigurarYEnviar(ServidorURL As String) + ' 'Me' aquí es C_Intmex, asegurando que C_Intmex.JobDone sea llamado. + reqManager.Initialize(Me, ServidorURL) + envia ' Llama a la función de envío original de C_Intmex End Sub \ No newline at end of file