- VERSION 5.03.02

- Se agregó la clase "C_Validador", que valida que el pedido se envie correctamente y actualiza la columna PE_VALIDADO en Web/Pedido.
- Se corrigio la funcion "Subs/TraeRuta" para que busque la ruta en kmt_info y kmt_info2.
This commit is contained in:
2025-03-04 16:33:14 -06:00
parent 5f33693fc5
commit 2c44d646c0
7 changed files with 44 additions and 36 deletions

View File

@@ -185,6 +185,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
Subs.agregaColumna("CAT_GUNAPROD", "CAT_GP_PRECIO8", "TEXT DEFAULT '0'")
Subs.agregaColumna("CAT_GUNAPROD", "CAT_GP_PRECIO9", "TEXT DEFAULT '0'")
Subs.agregaColumna("CAT_GUNAPROD", "CAT_GP_PRECIO10", "TEXT DEFAULT '0'")
Subs.agregaColumna("PEDIDO_CLIENTE", "PC_GUARDADO", "TEXT DEFAULT '0'")
c=skmt.ExecQuery("select COUNT(*) AS CUANTOS from HIST_STAY_OUT ")
C.Position = 0

View File

@@ -587,6 +587,7 @@ Sub Guardar_Click
c.Position=0
' Log("xxxxxxxxxxxxxxx " & c.GetString("CUANTOS"))
If c.GetString("CUANTOS") > 0 Then ' Si hay pedido, entonces ...
Log("HAY PEDIDO")
Private cbFactura As Int = 0
If cb_factura.Checked Then cbFactura = 1
B4XPages.MainPage.skmt.ExecNonQuery("delete from NOVENTA where NV_CLIENTE In (select cuenta from cuentaa)")
@@ -594,9 +595,10 @@ Sub Guardar_Click
B4XPages.MainPage.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO, PC_LON, PC_LAT, PC_ENVIO_OK, PC_FACTURA) VALUES (?,?,?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), B4XPages.MainPage.lon_gps, B4XPages.MainPage.lat_gps, 0, cbFactura))
B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
Log(">>>>> PONEMOS SIG TICKET")
B4XPages.MainPage.skmt.ExecNonQuery($"update pedido set PE_TICKET = ${Subs.traeTicketConsecutivo(Subs.traeCliente)} where PE_CLIENTE = '${Subs.traeCliente}' and PE_TICKET is Null"$)
B4XPages.MainPage.skmt.ExecNonQuery($"update pedido set PE_TICKET = ${Subs.traeTicketConsecutivo(Subs.traeCliente)}, PE_GUARDADO = 1 where PE_CLIENTE IN (Select CUENTA from cuentaa) and PE_TICKET is Null"$)
End If
B4XPages.MainPage.skmt.ExecNonQuery($"update pedido set PE_GUARDADO = 1 where PE_CLIENTE IN (Select CUENTA from cuentaa)"$)
B4XPages.MainPage.skmt.ExecNonQuery($"update pedido_cliente set PC_GUARDADO = 1 where PC_CLIENTE IN (Select CUENTA from cuentaa)"$)
c.Close
DateTime.TimeFormat = "HHmmss"
sTime=DateTime.Time(DateTime.Now)
@@ -623,7 +625,7 @@ Sub Guardar_Click
' LogColor($"actualizamos "${la_cuenta.text}, hora_final=${DateTime.now}"$,Colors.Red)
Subs.actualizaTET(la_cuenta.text)
DateTime.TimeFormat = "HH:mm:ss"
mandaPendientes 'LO COMENTAMOS PARA PRUEBAS, ACTIVAR AL FINAL!!!
' mandaPendientes 'LO COMENTAMOS PARA PRUEBAS, ACTIVAR AL FINAL!!!
mandapiezas
B4XPages.MainPage.productos.reiniciarlistaProds = True
B4XPages.MainPage.productos.prodsMap.Initialize
@@ -1291,7 +1293,7 @@ Sub JobDone(Job As HttpJob)
cliente = cliente.SubString(cliente.IndexOf("_")+24)
' Log($"Cliente1:${cliente}"$)
For Each records() As Object In resultado.Rows
If records(resultado.Columns.Get("AffectedRows")).As(Int) = 1 Then
If records(resultado.Columns.Get("AffectedRows")).As(Int) > 0 Then
' Log(">>>>>>>> GUARDADO")
Private pars() As String = Regex.Split("_", resultado.tag)
B4XPages.MainPage.skmt.ExecNonQuery($"update PEDIDO_CLIENTE set PC_ENVIO_OK = 1 where PC_CLIENTE = '${pars(3)}'"$)
@@ -1309,9 +1311,7 @@ Sub JobDone(Job As HttpJob)
If resultado.Tag = "piezas" Then 'query tag
' B4XPages.MainPage.picking.cl_picking.Clear
Dim piezasexiste As Int
For Each records() As Object In resultado.Rows
piezasexiste = records(resultado.Columns.Get("COUNT(*)"))
Log(piezasexiste)
DateTime.DateFormat = "MM/dd/yyyy"
@@ -1319,17 +1319,14 @@ Sub JobDone(Job As HttpJob)
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
If piezasexiste = 0 Then
Dim PCNoArts As String
Dim PCMonto As String
c = skmt.ExecQuery2("SELECT * FROM PEDIDO_CLIENTE WHERE PC_CLIENTE = ?", Array As String(la_cuenta.Text))
If c.RowCount > 0 Then
c.Position = 0
PCNoArts = c.GetString("PC_NOART")
PCMonto = c.GetString("PC_MONTO")
End If
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "insert_HVC_INTMEX"
@@ -1351,11 +1348,8 @@ Sub JobDone(Job As HttpJob)
cmd.Name = "update_HVC_INTMEX"
cmd.Parameters = Array As Object((sDate & " " & sTime), la_cuenta.Text, PCNoArts, PCMonto, ALMACEN, LA_RUTA, la_cuenta.Text, ALMACEN, LA_RUTA)
reqManager.ExecuteCommand(cmd, "update_hvc")
End If
Next
End If
End If
@@ -1368,8 +1362,10 @@ Sub JobDone(Job As HttpJob)
Log($"Cliente2:${cliente}"$)
For Each records() As Object In resultado.Rows
' If records(resultado.Columns.Get("AffectedRows")).As(Int) = 1 Then Log(">>>>>>>> GUARDADO")
Private pars() As String = Regex.Split("_", resultado.tag)
B4XPages.MainPage.skmt.ExecNonQuery($"update PEDIDO set PE_ENVIO_OK = 1 where PE_CLIENTE = '${pars(3)}' and PE_PROID = '${pars(4)}' and PE_ENVIO_OK = 0"$)
If records(resultado.Columns.Get("AffectedRows")).As(Int) > 0 Then
Private pars() As String = Regex.Split("_", resultado.tag)
B4XPages.MainPage.skmt.ExecNonQuery($"update PEDIDO set PE_ENVIO_OK = 1 where PE_CLIENTE = '${pars(3)}' and PE_PROID = '${pars(4)}' and PE_ENVIO_OK = 0"$)
End If
' Log($"update PEDIDO set PE_ENVIO_OK = 1 where PE_CLIENTE = '${pars(3)}' and PE_PROID = '${pars(4)}' and PE_ENVIO_OK = 0"$)
' For Each k As String In resultado.Columns.Keys
' Log(resultado.Tag & ": " & k & ": " & records(resultado.Columns.Get(k)))

View File

@@ -213,6 +213,7 @@ Sub Class_Globals
Private L_ABORDO As Label
Private L_VENTA As Label
Private L_PREVENTA As Label
Dim validador As C_Validador
End Sub
'You can add more parameters here.
@@ -227,6 +228,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
Root.LoadLayout("principal")
rd.Initialize
rd.vacuum
validador.Initialize
EJECUTANDO=1
Dim ruta As String
img2.Visible =False
@@ -533,7 +535,7 @@ Sub B4XPage_Appear
' Else
' b_abordo.Visible = True
' End If
validador.iniciaValidacion
End Sub
Sub Subir_Click
@@ -1957,6 +1959,10 @@ Private Sub B4XPage_CloseRequest As ResumableSub
Return False
End Sub
Sub connecta_LongClick
validador.iniciaValidacion
End Sub
Sub connecta_Click
Log( Starter.DBReqServer)
reqManager.Initialize(Me, Starter.DBReqServer)

View File

@@ -55,6 +55,7 @@ Public Sub Initialize As Object
rkmt.ExecNonQuery($"create table if not exists inventarios (cat_gp_iniciativa TEXT, cat_gp_tipoprod TEXT, cat_gp_dev TEXT, cat_gp_almacen NUMERIC, cat_gp_id TEXT, cat_gp_nombre TEXT, cat_gp_imp1 TEXT, cat_gp_imp2 TEXT, cat_gp_precio TEXT, cat_gp_clasif TEXT, cat_gp_sts TEXT, cat_gp_tipo TEXT, cat_gp_subtipo TEXT, cat_gp_tipoprod2 TEXT, fecha TEXT)"$)
rkmt.ExecNonQuery($"create table if not exists paquetes (cat_dp_precio_simptos TEXT, cat_dp_precio TEXT, cat_dp_almacen TEXT, cat_dp_id TEXT, cat_dp_idprod TEXT, cat_dp_tipo TEXT, cat_dp_pzas TEXT, cat_dp_usuario TEXT, cat_dp_fecha TEXT, cat_dp_regalo TEXT, cat_dp_clasif TEXT, fecha TEXT)"$)
agregaColumna("pedidos", "pe_ticket", "INT")
agregaColumna("pedidos", "pe_guardado", "TEXT")
DateTime.DateFormat = "MM/dd/yyyy"
fechaHoy = DateTime.Date(DateTime.Now)
revisaSkmtAttached
@@ -86,7 +87,7 @@ Sub respaldaPedido
Log("copiando pedidos ...")
rkmt.BeginTransaction
rkmt.ExecNonQuery($"delete from pedidos where substr(pe_fecha, 1, 10) = '${fechaHoy}'"$)
rkmt.ExecNonQuery($"insert into pedidos (pe_folio, pe_desc, pe_costo_sin, pe_ruta, pe_cedis, pe_costo_tot, pe_costou, pe_cant, pe_pronombre, pe_proid, pe_cliente, pe_fecha, pe_usuario, pe_envio_ok, pe_ticket) select * from skmt1.pedido where substr(pe_fecha, 1, 10) = '${fechaHoy}'"$)
rkmt.ExecNonQuery($"insert into pedidos (pe_folio, pe_desc, pe_costo_sin, pe_ruta, pe_cedis, pe_costo_tot, pe_costou, pe_cant, pe_pronombre, pe_proid, pe_cliente, pe_fecha, pe_usuario, pe_envio_ok, pe_ticket, pe_guardado) select * from skmt1.pedido where substr(pe_fecha, 1, 10) = '${fechaHoy}'"$)
rkmt.TransactionSuccessful 'Si no se pone TransactionSuccessful no se escribe NADA!!
rkmt.EndTransaction
' Log(((DateTime.Now - inicio)/1000) & " segs")

View File

@@ -139,17 +139,18 @@ Module17=C_Subs
Module18=C_TicketsDia
Module19=C_UpdateAvailable
Module2=B4XMainPage
Module20=DBRequestManager
Module21=EscPosPrinter
Module22=FileHandler
Module23=ManageExternalStorage
Module24=MAPA_RUTAS
Module25=NotificationService
Module26=Pendientes
Module27=Starter
Module28=Subs
Module29=Tracker
Module20=C_Validador
Module21=DBRequestManager
Module22=EscPosPrinter
Module23=FileHandler
Module24=ManageExternalStorage
Module25=MAPA_RUTAS
Module26=NotificationService
Module27=Pendientes
Module28=Starter
Module29=Subs
Module3=BatteryUtilities
Module30=Tracker
Module4=C_Cliente
Module5=C_Clientes
Module6=C_Cuestionario
@@ -158,13 +159,13 @@ Module8=C_Mapas
Module9=C_Nota
NumberOfFiles=46
NumberOfLibraries=34
NumberOfModules=29
NumberOfModules=30
Version=12.8
@EndOfDesignText@
#Region Project Attributes
#ApplicationLabel: Intmex
#VersionCode: 1
#VersionName: 4.11.30.MV
#VersionName: 5.03.02.MV
'SupportedOrientations possible values: unspecified, landscape or portrait.
#SupportedOrientations: portrait
#CanInstallToExternalStorage: False

View File

@@ -22,6 +22,7 @@ ModuleBookmarks27=
ModuleBookmarks28=
ModuleBookmarks29=
ModuleBookmarks3=
ModuleBookmarks30=
ModuleBookmarks4=
ModuleBookmarks5=
ModuleBookmarks6=
@@ -52,6 +53,7 @@ ModuleBreakpoints27=
ModuleBreakpoints28=
ModuleBreakpoints29=
ModuleBreakpoints3=
ModuleBreakpoints30=
ModuleBreakpoints4=
ModuleBreakpoints5=
ModuleBreakpoints6=
@@ -63,7 +65,7 @@ ModuleClosedNodes1=
ModuleClosedNodes10=
ModuleClosedNodes11=
ModuleClosedNodes12=
ModuleClosedNodes13=
ModuleClosedNodes13=3
ModuleClosedNodes14=11
ModuleClosedNodes15=1,10,11
ModuleClosedNodes16=
@@ -75,19 +77,20 @@ ModuleClosedNodes20=
ModuleClosedNodes21=
ModuleClosedNodes22=
ModuleClosedNodes23=
ModuleClosedNodes24=2
ModuleClosedNodes25=
ModuleClosedNodes26=1
ModuleClosedNodes27=
ModuleClosedNodes24=
ModuleClosedNodes25=2
ModuleClosedNodes26=
ModuleClosedNodes27=1
ModuleClosedNodes28=
ModuleClosedNodes29=
ModuleClosedNodes3=
ModuleClosedNodes30=
ModuleClosedNodes4=4
ModuleClosedNodes5=3
ModuleClosedNodes6=
ModuleClosedNodes7=
ModuleClosedNodes8=
ModuleClosedNodes9=
NavigationStack=B4XMainPage,ocultaProgreso,689,0,C_Productos,Busca_TextChanged,1062,6,B4XMainPage,B4XPage_Created,171,3,C_Principal,JobDone,1058,3,C_Principal,cargar_Click,930,0,C_Productos,clv_prods_ll_VisibleRangeChanged,1041,2,C_Productos,B4XPage_Appear,230,0,C_Productos,PCLV_HintRequested,1185,0,C_Productos,LlenaProdsLL,1162,6,Main,Globals,25,0
NavigationStack=C_RespaldoDiario,Initialize,51,0,C_RespaldoDiario,agregaColumna,127,0,C_Validador,timerValidador_Tick,47,6,C_Validador,iniciaValidacion,34,6,Subs,totalPedido,702,0,Subs,traeRuta,707,6,C_Principal,cargar_Click,890,0,C_Validador,Class_Globals,5,0,C_Validador,Initialize,21,0,B4XMainPage,B4XPage_Created,180,0,C_Principal,JobDone,1558,0
SelectedBuild=0
VisibleModules=2,27,13,14,4,28,15,16,18,20
VisibleModules=2,28,13,14,4,20,29,15,16,18

View File

@@ -711,7 +711,7 @@ End Sub
Sub traeRuta As String 'ignore
Private c As Cursor
Private r As String
c=B4XPages.MainPage.skmt.ExecQuery("select CAT_CL_RUTA from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
c = B4XPages.MainPage.skmt.ExecQuery("select CAT_CL_RUTA from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa) union select CAT_CL_RUTA from kmt_info2 where CAT_CL_CODIGO In (Select cuenta from cuentaa)") ' Agregamos la union con kmt_info2 porque si el cliente de la venta SOLO esta en kmt_info2, regresaría 0.
r = "0"
If c.RowCount > 0 Then
c.Position=0