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 d44174d..6b73d86 100644
Binary files a/B4A/Files/mainpage.bal and b/B4A/Files/mainpage.bal differ
diff --git a/B4A/Subs.bas b/B4A/Subs.bas
index 34f274b..bc68b8a 100644
--- a/B4A/Subs.bas
+++ b/B4A/Subs.bas
@@ -158,6 +158,17 @@ Sub traeUsuarioDeBD As String 'ignore
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
@@ -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