Version 5.11.25

This commit is contained in:
2026-03-18 10:53:45 -06:00
parent 257ab5018a
commit 831bec62fc
22 changed files with 7642 additions and 115 deletions

1
.gitignore vendored
View File

@@ -1,2 +1,3 @@
**/Objects
**/AutoBackups
*.meta

View File

@@ -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,6 +261,121 @@ Sub B4XPage_Appear
Log(LastException)
LogColor("Error en CAT_VARIABLES", 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
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_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"
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 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)
@@ -262,53 +435,240 @@ Sub B4XPage_Appear
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
usuario = Subs.traeUsuarioDeBD
almacen = Subs.traeAlmacen
ruta = Subs.traeRuta
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
' 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("INTMEX") Then
b_enviar.Text = "Enviar Intmex"
b_valida.Text = "Validar Intmex"
b_enviar.Enabled = True
Log("Cargamos INTMEX")
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
p_empresa.Visible = True
b_enviar.Enabled = False
End If
' 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
@@ -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
@@ -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

View File

@@ -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 = ""
@@ -466,3 +467,10 @@ Sub T4_Tick
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

View File

@@ -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

View File

@@ -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
@@ -383,3 +384,10 @@ Sub envioGuna 'ignore
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

View File

@@ -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
@@ -369,9 +368,16 @@ Sub valida
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
' 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

253
B4A/C_Intmex_Reparto.bas Normal file
View File

@@ -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

425
B4A/C_Izca.bas Normal file
View File

@@ -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

400
B4A/C_Kelloggs.bas Normal file
View File

@@ -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

235
B4A/C_Marquez_Reparto.bas Normal file
View File

@@ -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

View File

@@ -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
@@ -291,3 +292,33 @@ Sub checaPedido
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

329
B4A/C_Mazapa_Reparto.bas Normal file
View File

@@ -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

301
B4A/C_Profina.bas Normal file
View File

@@ -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

282
B4A/C_Profina_Reparto.bas Normal file
View File

@@ -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

View File

@@ -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~<uses-sdk android:minSdkVersion="5" android:targetSdkVersion="31"/>~\n~<supports-screens android:largeScreens="true" ~\n~ android:normalScreens="true" ~\n~ android:smallScreens="true" ~\n~ android:anyDensity="true"/>)~\n~SetApplicationAttribute(android:icon, "@drawable/icon")~\n~SetApplicationAttribute(android:label, "$LABEL$")~\n~CreateResourceFromFile(Macro, Themes.LightTheme)~\n~'End of default text.~\n~~\n~SetApplicationAttribute(android:usesCleartextTraffic, "true")~\n~AddPermission(android.permission.INTERNET)~\n~AddPermission(android.permission.READ_EXTERNAL_STORAGE)~\n~AddPermission(android.permission.WRITE_EXTERNAL_STORAGE)~\n~SetApplicationAttribute(android:allowBackup, "false")~\n~~\n~'AddActivityText(main,~\n~'<intent-filter>~\n~'<action android:name="android.intent.action.VIEW" />~\n~'<category android:name="android.intent.category.DEFAULT" />~\n~'<data android:mimeType="application/octet-stream" />~\n~'</intent-filter>)~\n~~\n~AddActivityText(main,~\n~<intent-filter>~\n~<action android:name="android.intent.action.VIEW" />~\n~<category android:name="android.intent.category.DEFAULT" />~\n~ <data android:mimeType="application/x-sqlite3" /> <!-- Para bases de datos -->~\n~ <data android:mimeType="application/octet-stream" /> <!-- Para otros archivos binarios -->~\n~ <data android:scheme="content" /> <!-- Filtra URIs tipo content:// -->~\n~</intent-filter>)
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

View File

@@ -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

Binary file not shown.

View File

@@ -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
@@ -230,3 +241,49 @@ Sub logJobDoneResultados(resultado As DBResult)
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("<title>")
Private final As Int = error.IndexOf("</title>")
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

4285
B4A/_DBCheck_Completo.txt Normal file

File diff suppressed because it is too large Load Diff

43
B4A/_juntaBas.ps1 Normal file
View File

@@ -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."

240
C_Guna_Reparto.bas Normal file
View File

@@ -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

View File

@@ -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 = ""
@@ -542,3 +543,10 @@ Sub T4_Tick
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