5 Commits

Author SHA1 Message Date
cvaldes1201
0f6bf7f62a 6.02.16
se agregan las encuestas de bat
2026-04-13 11:27:26 -06:00
cvaldes1201
696c3439b9 6.02.05 2026-03-10 10:24:55 -06:00
Javier
50047c0655 .... 2026-01-19 15:56:29 -06:00
Javier
4f363ea340 5.12.21 2026-01-15 08:43:31 -06:00
Javier
52b264af6c Se agrega los colores paras que no se confundan y se corrige que si no tienen venta y entran al res dia no truene 2026-01-05 10:53:07 -06:00
18 changed files with 1484 additions and 386 deletions

View File

@@ -39,6 +39,7 @@ Sub Class_Globals
Public promos As C_Promos Public promos As C_Promos
Public historico As C_Historico Public historico As C_Historico
Public historicobattodos As C_historicobatyodos
Public historicobat As C_historicobat Public historicobat As C_historicobat
Dim reqManager As DBRequestManager Dim reqManager As DBRequestManager
Dim v As String = Application.VersionName Dim v As String = Application.VersionName
@@ -145,6 +146,9 @@ Private Sub B4XPage_Created (Root1 As B4XView)
historicobat.Initialize historicobat.Initialize
B4XPages.AddPage("historicobat", historicobat) B4XPages.AddPage("historicobat", historicobat)
historicobattodos.Initialize
B4XPages.AddPage("historicobattodos", historicobattodos)
p_Main.Height = Root.Height p_Main.Height = Root.Height
p_Main.Width = Root.Width p_Main.Width = Root.Width
@@ -200,6 +204,13 @@ Private Sub B4XPage_Created (Root1 As B4XView)
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_PRO3055(H_IDCLIENTE TEXT)") skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_PRO3055(H_IDCLIENTE TEXT)")
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS RUTA_SUPLENCIA(RS_RUTA TEXT)") skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS RUTA_SUPLENCIA(RS_RUTA TEXT)")
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS TICKET_IMPRESO (idCliente TEXT)") skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS TICKET_IMPRESO (idCliente TEXT)")
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_ENCUESTA_BAT(CLIENTE)")
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS ENCUESTAS_BAT (CLIENTE TEXT,RUTA TEXT,ALMACEN TEXT,P1 TEXT,P2 TEXT,P3 TEXT,P4 TEXT,P5 TEXT,P6 TEXT,P7 TEXT,P8 TEXT,P9 TEXT,P10 TEXT, FECHA TEXT)")
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS hist_ventastodos (HVD_CLIENTE TEX, HVD_PRONOMBRE TEXT, HVD_CANT TEXT, HVD_COSTO_TOT TEXT, HVD_FECHA TEXT)")
' skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_VARIABLES (CAT_VA_DESCRIPCION TEXT, CAT_VA_VALOR TEXT)") ' skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_VARIABLES (CAT_VA_DESCRIPCION TEXT, CAT_VA_VALOR TEXT)")
Subs.agregaColumna("HIST_ENCUESTA", "HE_LAT", "TEXT") Subs.agregaColumna("HIST_ENCUESTA", "HE_LAT", "TEXT")
Subs.agregaColumna("HIST_ENCUESTA", "HE_FOTO", "BLOB") Subs.agregaColumna("HIST_ENCUESTA", "HE_FOTO", "BLOB")
@@ -210,8 +221,13 @@ Private Sub B4XPage_Created (Root1 As B4XView)
Subs.agregaColumna("HIST_ENCUESTA", "HE_LON", "TEXT") Subs.agregaColumna("HIST_ENCUESTA", "HE_LON", "TEXT")
Subs.agregaColumna("HIST_VENTAS", "HVD_FECHA", "TEXT") Subs.agregaColumna("HIST_VENTAS", "HVD_FECHA", "TEXT")
Subs.agregaColumna("kmt_info3", "encuesta", "TEXT") Subs.agregaColumna("kmt_info3", "encuesta", "TEXT")
Subs.agregaColumna("hist_ventastodos", "HVD_NUM_TICKET", "TEXT")
Subs.agregaColumna("hist_ventastodos", "HVD_CODPROMO", "TEXT")
Subs.agregaColumna("kmt_info3", "CAT_CL_CLASIFICADOR3", "TEXT") Subs.agregaColumna("kmt_info3", "CAT_CL_CLASIFICADOR3", "TEXT")
Subs.agregaColumna("kmt_info3", "CAT_CL_CLASIFICADOR2", "TEXT") Subs.agregaColumna("kmt_info3", "CAT_CL_CLASIFICADOR2", "TEXT")
Subs.agregaColumna("kmt_info3", "CAT_CL_CLASIFICADOR5", "TEXT")
Subs.agregaColumna("kmt_info3", "CAT_CL_TIPOCLIENTE", "TEXT") Subs.agregaColumna("kmt_info3", "CAT_CL_TIPOCLIENTE", "TEXT")
Subs.agregaColumna("kmt_info3", "CAT_CL_LIMITECREDITO", "TEXT") Subs.agregaColumna("kmt_info3", "CAT_CL_LIMITECREDITO", "TEXT")
Subs.agregaColumna("kmt_info3", "CAT_CL_DIASCREDITO", "TEXT") Subs.agregaColumna("kmt_info3", "CAT_CL_DIASCREDITO", "TEXT")
@@ -1041,7 +1057,7 @@ Sub revisaActualizacion 'Parte de la funcionalidad "appUpdater"
End If End If
End Try End Try
Else Else
LogColor("appUpdater(), Job Failed " & link & CRLF & LastException.Message, Colors.Red) ' LogColor("appUpdater(), Job Failed " & link & CRLF & LastException.Message, Colors.Red)
If Msgbox2("Es necesaria una conexión a internet, por favor revise su conexión y vuelva a intentar", "ATENCIÓN", "OK", "", "", Null) = DialogResponse.POSITIVE Then 'Ignore If Msgbox2("Es necesaria una conexión a internet, por favor revise su conexión y vuelva a intentar", "ATENCIÓN", "OK", "", "", Null) = DialogResponse.POSITIVE Then 'Ignore
ExitApplication ExitApplication
End If End If

File diff suppressed because it is too large Load Diff

View File

@@ -140,6 +140,95 @@ Sub GUARDA_Click
B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_STORE set HSS_TOT = ? where HSS_CODIGO In (select cuenta from cuentaa)", Array As Object(stay_hh + stay_mi + stay_ss)) B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_STORE set HSS_TOT = ? where HSS_CODIGO In (select cuenta from cuentaa)", Array As Object(stay_hh + stay_mi + stay_ss))
B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_OUT set HSO_FIN = ? ", Array As Object(sTime)) B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_OUT set HSO_FIN = ? ", Array As Object(sTime))
DateTime.TimeFormat = "HH:mm:ss" DateTime.TimeFormat = "HH:mm:ss"
If Subs.traeAlmacen <> "43" Then
Mandapedido
End If
bitacora.mandaBitacora(Subs.fechanormal(DateTime.Now), usuario, Subs.traeAlmacen, Subs.traeRutaBitacora, "NO VENTA", Subs.traeCliente,Subs.fechanormal(DateTime.Now), Subs.fechanormal(DateTime.Now), B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, 2, motivo, r_1.Checked, B4XPages.MainPage.cliente.bitacora.banderaGeoCerca) bitacora.mandaBitacora(Subs.fechanormal(DateTime.Now), usuario, Subs.traeAlmacen, Subs.traeRutaBitacora, "NO VENTA", Subs.traeCliente,Subs.fechanormal(DateTime.Now), Subs.fechanormal(DateTime.Now), B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, 2, motivo, r_1.Checked, B4XPages.MainPage.cliente.bitacora.banderaGeoCerca)
B4XPages.ShowPage("Principal") B4XPages.ShowPage("Principal")
End Sub End Sub
Sub Mandapedido
' PEDIDO
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"))
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"), Subs.traeAlmacen, C.GetString("PE_COSTO_TOT"), C.GetString("PE_COSTOU"), C.GetString("PE_CANT"), C.GetString("PE_PRONOMBRE"), C.GetString("PE_PROID"), C.GetString("PE_CLIENTE"),C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),c.GetString("PE_FOLIO"))
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_pedido")
Next
End If
c.Close
' NOVENTA
c=B4XPages.MainPage.skmt.ExecQuery("SELECT NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON FROM NOVENTA")
If c.RowCount>0 Then
For i=0 To c.RowCount -1
c.Position=i
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "insert_noventa_GV2"
cmd.Parameters = Array As Object(C.GetString("NV_CLIENTE"),C.GetString("NV_FECHA"),C.GetString("NV_USER"),C.GetString("NV_MOTIVO"),C.GetString("NV_COMM"),C.GetString("NV_LAT"),C.GetString("NV_LON"), Subs.traeAlmacen, Subs.traeRuta2(C.GetString("NV_CLIENTE")))
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "inst_noventa")
Next
End If
c.Close
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 ")
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_GV3"
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"),Subs.traeAlmacen,Subs.traeRuta2(C.GetString("PC_CLIENTE")),C.GetString("PC_COSTO_SIN"),C.GetString("PC_FACTURA") )
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_pedidos")
Next
End If
c.Close
' If Subs.traeAlmacen = "88" Or Subs.traeAlmacen = "6" Then
c=B4XPages.MainPage.skmt.ExecQuery2("SELECT PE_RECALCULO,PE_RECALCULOTOT,ifnull(PE_RECCEDIS,'') as PE_RECCEDIS,PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,ifnull(PE_CANT,0) as PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO, IFNULL(PE_RECCANT,0) AS PE_RECCANT FROM PEDIDO WHERE PE_RECALCULO <> ? or PE_RECALCULO <> ? or PE_RECALCULO IS NOT NULL",Array As String("","null"))
If c.RowCount>0 Then
For i=0 To c.RowCount -1
c.Position=i
If c.GetString("PE_RECCEDIS") = "" Then
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "insert_pedido_GV2"
cmd.Parameters = Array As Object(C.GetString("PE_CEDIS"), Subs.traeAlmacen, 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")
Else
If c.GetString("PE_RECCANT") = c.GetString("PE_CANT") Then
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "insert_pedido_GV2"
cmd.Parameters = Array As Object(C.GetString("PE_RECCEDIS"), Subs.traeAlmacen, 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")
Else
'Con descuento
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "insert_pedido_GV2"
cmd.Parameters = Array As Object(C.GetString("PE_RECCEDIS"), Subs.traeAlmacen, C.GetString("PE_RECALCULOTOT"), C.GetString("PE_RECALCULO"), C.GetString("PE_RECCANT"), 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")
'Sin descuento
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "insert_pedido_GV2"
cmd.Parameters = Array As Object(C.GetString("PE_CEDIS"), Subs.traeAlmacen, NumberFormat2((C.GetString("PE_CANT")-C.GetString("PE_RECCANT"))*C.GetString("PE_COSTOU"),1,2,2,False), C.GetString("PE_COSTOU"), (C.GetString("PE_CANT")-C.GetString("PE_RECCANT")), 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")
End If
End If
Next
End If
c.Close
End Sub

View File

@@ -177,7 +177,7 @@ Sub Class_Globals
Dim sDate,sTime As String Dim sDate,sTime As String
Dim HORAINGRESO As String Dim HORAINGRESO As String
Dim distancealm As Long
Private L_QUALA As Label Private L_QUALA As Label
Private L_FERRERO As Label Private L_FERRERO As Label
Private L_SANMARCOS As Label Private L_SANMARCOS As Label
@@ -385,6 +385,14 @@ Sub B4XPage_Appear
If Starter.marcaCel <> "Sony" Then ToastMessageShow("Es necesario tener el GPS encendido", True) If Starter.marcaCel <> "Sony" Then ToastMessageShow("Es necesario tener el GPS encendido", True)
StartActivity(Starter.gps.LocationSettingsIntent) StartActivity(Starter.gps.LocationSettingsIntent)
End If End If
If Tracker.FLP.GetLastKnownLocation.IsInitialized Then 'Si tenemos "UltimaUbicaccionConocida" la usamos.
B4XPages.MainPage.lat_gps = Tracker.FLP.GetLastKnownLocation.Latitude
B4XPages.MainPage.lon_gps = Tracker.FLP.GetLastKnownLocation.Longitude
Log($"Tenemos UUC: ${Tracker.FLP.GetLastKnownLocation.Latitude},${Tracker.FLP.GetLastKnownLocation.Longitude}"$)
GPS_LocationChanged(Tracker.FLP.GetLastKnownLocation)
End If
c=B4XPages.MainPage.skmt.ExecQuery2("select count(*) as CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("FECHA")) c=B4XPages.MainPage.skmt.ExecQuery2("select count(*) as CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("FECHA"))
c.Position = 0 c.Position = 0
If c.GetString("CUANTOS") = 0 Then If c.GetString("CUANTOS") = 0 Then
@@ -541,6 +549,23 @@ Sub B4XPage_Appear
End Sub End Sub
Sub Subir_Click Sub Subir_Click
Dim envia As Boolean = False
Dim env As Cursor = Starter.skmt.ExecQuery("SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = 'ENVIOALMACEN'")
If env.RowCount > 0 Then
env.Position = 0
If env.GetString("CAT_VA_VALOR") = 0 Then
envia = True
Else
If distancealm < 100 Then
envia = True
End If
End If
End If
If envia Then
checaPedido checaPedido
CARGA = "SUBIR" CARGA = "SUBIR"
P1.Visible = True P1.Visible = True
@@ -628,7 +653,21 @@ Sub Subir_Click
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_QR2") B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_QR2")
Next Next
End If End If
c.Close c.Close
' ENCUESTAS BAT
c=B4XPages.MainPage.skmt.ExecQuery("SELECT * FROM ENCUESTAS_BAT")
If c.RowCount>0 Then
For i=0 To c.RowCount -1
c.Position=i
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "insert_encuestas_bat_guna"
cmd.Parameters = Array As Object(c.GetString("CLIENTE"),c.GetString("RUTA"),c.GetString("ALMACEN"),c.GetString("FECHA"),c.GetString("P1"),c.GetString("P2"),c.GetString("P3"),c.GetString("P4"),c.GetString("P5"),c.GetString("P6"),c.GetString("P7"),c.GetString("P8"),c.GetString("P9"),c.GetString("P10"))
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "INSENCUESTAS")
Next
End If
c.Close
' Plan Lealtad ' Plan Lealtad
c=B4XPages.MainPage.skmt.ExecQuery("SELECT * FROM PLAN_LEALTAD WHERE DESCARGADO IS NULL") c=B4XPages.MainPage.skmt.ExecQuery("SELECT * FROM PLAN_LEALTAD WHERE DESCARGADO IS NULL")
@@ -644,19 +683,19 @@ Sub Subir_Click
End If End If
c.Close c.Close
' Plan Lealtad ' ' Plan Lealtad
c=B4XPages.MainPage.skmt.ExecQuery("SELECT * FROM COMENTARIOS WHERE DESCARGADO IS NULL") ' c=B4XPages.MainPage.skmt.ExecQuery("SELECT * FROM COMENTARIOS WHERE DESCARGADO IS NULL")
If c.RowCount>0 Then ' If c.RowCount>0 Then
For i=0 To c.RowCount -1 ' For i=0 To c.RowCount -1
c.Position=i ' c.Position=i
Dim cmd As DBCommand ' Dim cmd As DBCommand
cmd.Initialize ' cmd.Initialize
cmd.Name = "insert_coments_GUNA" ' cmd.Name = "insert_coments_GUNA"
cmd.Parameters = Array As Object(C.GetString("COMENTARTIO"),C.GetString("CLIENTE"),Subs.traeAlmacen,Subs.traeRuta) ' cmd.Parameters = Array As Object(C.GetString("COMENTARTIO"),C.GetString("CLIENTE"),Subs.traeAlmacen,Subs.traeRuta)
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "INS_coment") ' B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "INS_coment")
Next ' Next
End If ' End If
c.Close ' c.Close
Dim fotomostrar1 As Cursor = Starter.skmt.ExecQuery("SELECT * FROM kmt_info3 where foto is not NULL") Dim fotomostrar1 As Cursor = Starter.skmt.ExecQuery("SELECT * FROM kmt_info3 where foto is not NULL")
@@ -752,7 +791,7 @@ Sub Subir_Click
d.Close d.Close
' If ALMACEN = "88" Or ALMACEN = "6" Then ' If ALMACEN = "88" Or ALMACEN = "6" Then
c=B4XPages.MainPage.skmt.ExecQuery2("SELECT PE_RECALCULO,PE_RECALCULOTOT,ifnull(PE_RECCEDIS,'') as 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, PE_RECCANT FROM PEDIDO WHERE PE_RECALCULO <> ? or PE_RECALCULO <> ? or PE_RECALCULO IS NOT NULL",Array As String("","null")) c=B4XPages.MainPage.skmt.ExecQuery2("SELECT PE_RECALCULO,PE_RECALCULOTOT,ifnull(PE_RECCEDIS,'') as PE_RECCEDIS,PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,ifnull(PE_CANT,0) as PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO, IFNULL(PE_RECCANT,0) AS PE_RECCANT 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}'"$) d=B4XPages.MainPage.skmt.ExecQuery($"SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO where PE_RUTA = '${Subs.traeRuta}'"$)
If c.RowCount>0 Then If c.RowCount>0 Then
For i=0 To c.RowCount -1 For i=0 To c.RowCount -1
@@ -966,6 +1005,9 @@ Sub Subir_Click
Next Next
End If End If
x.Close x.Close
Else
MsgboxAsync("Para poder enviar informacion debes de estar en el almacen.","Atención")
End If
End Sub End Sub
Sub cargar_Click Sub cargar_Click
@@ -989,6 +1031,9 @@ Sub cargar_Click
Log(Rut_Rep) Log(Rut_Rep)
B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE GPS SET HABILITADO = (?)",Array As Object(0)) B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE GPS SET HABILITADO = (?)",Array As Object(0))
B4XPages.MainPage.skmt.ExecNonQuery2("DELETE FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?",Array As String("CARGA_DIA")) B4XPages.MainPage.skmt.ExecNonQuery2("DELETE FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?",Array As String("CARGA_DIA"))
B4XPages.MainPage.skmt.ExecNonQuery2("DELETE FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?",Array As String("ENVIOALMACEN"))
B4XPages.MainPage.skmt.ExecNonQuery2("DELETE FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?",Array As String("RULAT"))
B4XPages.MainPage.skmt.ExecNonQuery2("DELETE FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?",Array As String("RULONG"))
B4XPages.MainPage.skmt.ExecNonQuery2("DELETE FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?",Array As String("pasword")) B4XPages.MainPage.skmt.ExecNonQuery2("DELETE FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?",Array As String("pasword"))
B4XPages.MainPage.skmt.ExecNonQuery2("DELETE FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?",Array As String("LATITUD")) B4XPages.MainPage.skmt.ExecNonQuery2("DELETE FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?",Array As String("LATITUD"))
B4XPages.MainPage.skmt.ExecNonQuery2("DELETE FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?",Array As String("GEOCERCA")) B4XPages.MainPage.skmt.ExecNonQuery2("DELETE FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?",Array As String("GEOCERCA"))
@@ -1088,6 +1133,11 @@ Sub cargar_Click
cmd.Parameters = Array As Object(usuario,e_ruta.text,sDate,imei,sTime,"","","","","CARGA",ALMACEN,Application.VersionName) cmd.Parameters = Array As Object(usuario,e_ruta.text,sDate,imei,sTime,"","","","","CARGA",ALMACEN,Application.VersionName)
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "inst_drop") B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "inst_drop")
cmd.Initialize
cmd.Name = "select_envio_almacen"
cmd.Parameters = Array As Object(e_ruta.text, ALMACEN)
B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "envioalmacen")
cmd.Initialize cmd.Initialize
cmd.Name = "select_TipoVenta" cmd.Name = "select_TipoVenta"
cmd.Parameters = Array As Object(ALMACEN, e_ruta.text) cmd.Parameters = Array As Object(ALMACEN, e_ruta.text)
@@ -1108,6 +1158,11 @@ Sub cargar_Click
cmd.Parameters = Array As Object(ALMACEN) cmd.Parameters = Array As Object(ALMACEN)
B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "promodesp") B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "promodesp")
' cmd.Initialize
' cmd.Name = "select_venta_tb_guna"
' cmd.Parameters = Array As Object( e_ruta.text,ALMACEN)
' B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "hist_ventastodos")
cmd.Initialize cmd.Initialize
cmd.Name = "select_cat_gunaprod2_GV2" cmd.Name = "select_cat_gunaprod2_GV2"
cmd.Parameters = Array As Object(ALMACEN, e_ruta.text) cmd.Parameters = Array As Object(ALMACEN, e_ruta.text)
@@ -1367,8 +1422,8 @@ Sub JobDone(Job As HttpJob)
If n = "OKActivo" Then If n = "OKActivo" Then
Dim cmd As DBCommand Dim cmd As DBCommand
cmd.Initialize cmd.Initialize
cmd.Name = "select_ruta_GV2_70_10" cmd.Name = "select_ruta_GV2_70_19"
cmd.Parameters = Array As Object(ALMACEN,e_ruta.text) cmd.Parameters = Array As Object(ALMACEN,e_ruta.text,usuario)
B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "ruta") B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "ruta")
'Log("Usuario guardado en BD es 'Valido'") 'Log("Usuario guardado en BD es 'Valido'")
Else Else
@@ -1395,6 +1450,21 @@ Sub JobDone(Job As HttpJob)
End If End If
End If End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = B4XPages.MainPage.reqManager.HandleJob(Job)
If RESULT.Tag = "envioalmacen" Then 'query tag
For Each records() As Object In RESULT.Rows
Dim CAT_RU_ENVIO_ALMACEN As String = records(RESULT.Columns.Get("CAT_RU_ENVIO_ALMACEN"))
Dim CAT_RU_LAT As String = records(RESULT.Columns.Get("CAT_RU_LAT"))
Dim CAT_RU_LONG As String = records(RESULT.Columns.Get("CAT_RU_LONG"))
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("ENVIOALMACEN",CAT_RU_ENVIO_ALMACEN))
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("RULAT",CAT_RU_LAT))
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("RULONG",CAT_RU_LONG))
Next
' If Starter.marcaCel <> "Sony" Then ToastMessageShow(" Historico Marcas" , True)
End If
End If
If Job.JobName = "DBRequest" Then If Job.JobName = "DBRequest" Then
Dim result1 As DBResult = B4XPages.MainPage.reqManager.HandleJob(Job) Dim result1 As DBResult = B4XPages.MainPage.reqManager.HandleJob(Job)
If result1.Tag = "CHECAENCUESTA" Then 'query tag If result1.Tag = "CHECAENCUESTA" Then 'query tag
@@ -1415,6 +1485,31 @@ Sub JobDone(Job As HttpJob)
End If End If
End If End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = B4XPages.MainPage.reqManager.HandleJob(Job)
If RESULT.Tag = "hist_ventastodos" Then 'query tag
For Each records() As Object In RESULT.Rows
' Log ("NO HACE NADA")
Dim HVD_CLIENTE As String = records(RESULT.Columns.Get("HVD_CLIENTE"))
Dim HVD_PRONOMBRE As String = records(RESULT.Columns.Get("HVD_PRONOMBRE"))
Dim HVD_CANT As String = records(RESULT.Columns.Get("HVD_CANT"))
Dim HVD_COSTO_TOT As String = records(RESULT.Columns.Get("HVD_COSTO_TOT"))
Dim HVD_FECHA As String = records(RESULT.Columns.Get("HVD_FECHA"))
Dim HVD_NUM_TICKET As String = records(RESULT.Columns.Get("HVD_NUM_TICKET"))
Dim HVD_CODPROMO As String = records(RESULT.Columns.Get("HVD_CODPROMO"))
' Log(HVD_CLIENTE&"--"&HVD_PRONOMBRE&"--"&HVD_CANT&"--"&HVD_COSTO_TOT)
Private tc As Cursor = Starter.skmt.ExecQuery($"select * from hist_ventastodos where HVD_CLIENTE = '${HVD_CLIENTE}' and HVD_PRONOMBRE = '${HVD_PRONOMBRE}' AND HVD_CANT = '${HVD_CANT}' AND HVD_CODPROMO = '${HVD_CODPROMO}' AND HVD_COSTO_TOT = '${HVD_COSTO_TOT}' "$)
If tc.RowCount = 0 Then
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO hist_ventastodos(HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT, HVD_FECHA, HVD_NUM_TICKET,HVD_CODPROMO) VALUES (?,?,?,?,?,?,?)", Array As Object (HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT,HVD_FECHA, HVD_NUM_TICKET,HVD_CODPROMO))
End If
Next
End If
End If
If Job.JobName = "DBRequest" Then If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = B4XPages.MainPage.reqManager.HandleJob(Job) Dim RESULT As DBResult = B4XPages.MainPage.reqManager.HandleJob(Job)
If RESULT.Tag = "kmt_datos" Then 'query tag If RESULT.Tag = "kmt_datos" Then 'query tag
@@ -1446,10 +1541,11 @@ Sub JobDone(Job As HttpJob)
Dim CAT_CL_DIASCREDITO As String = records(RESULT.Columns.Get("CAT_CL_DIASCREDITO")) Dim CAT_CL_DIASCREDITO As String = records(RESULT.Columns.Get("CAT_CL_DIASCREDITO"))
Dim CAT_CL_CLASIFICADOR3 As String = records(RESULT.Columns.Get("CAT_CL_CLASIFICADOR3")) Dim CAT_CL_CLASIFICADOR3 As String = records(RESULT.Columns.Get("CAT_CL_CLASIFICADOR3"))
Dim CAT_CL_CLASIFICADOR2 As String = records(RESULT.Columns.Get("CAT_CL_CLASIFICADOR2")) Dim CAT_CL_CLASIFICADOR2 As String = records(RESULT.Columns.Get("CAT_CL_CLASIFICADOR2"))
Dim CAT_CL_CLASIFICADOR5 As String = records(RESULT.Columns.Get("CAT_CL_CLASIFICADOR5"))
'########################## INICIA CODIGO PARA CREDITOS #################### '########################## INICIA CODIGO PARA CREDITOS ####################
Dim CAT_CL_BCREDITO As String = records(RESULT.Columns.Get("CAT_CL_BCREDITO")) Dim CAT_CL_BCREDITO As String = records(RESULT.Columns.Get("CAT_CL_BCREDITO"))
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO kmt_info3(CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LONG,CAT_CL_LAT,CAT_CL_MTOCOMPRA,CAT_CL_NUM_SERIEFISICO, gestion,CAT_CL_BCREDITO,CAT_CL_TIPOCLIENTE,FOTO,CAT_CL_LIMITECREDITO,CAT_CL_DIASCREDITO,CAT_CL_CLASIFICADOR3,CAT_CL_CLASIFICADOR2) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,0,?,?,?,?,?,?,?)", Array As Object (CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LONG,CAT_CL_LAT,CAT_CL_MTOCOMPRA,CAT_CL_NUM_SERIEFISICO,CAT_CL_BCREDITO,CAT_CL_TIPOCLIENTE,CAT_CL_FOTO,CAT_CL_LIMITECREDITO,CAT_CL_DIASCREDITO,CAT_CL_CLASIFICADOR3,CAT_CL_CLASIFICADOR2)) B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO kmt_info3(CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LONG,CAT_CL_LAT,CAT_CL_MTOCOMPRA,CAT_CL_NUM_SERIEFISICO, gestion,CAT_CL_BCREDITO,CAT_CL_TIPOCLIENTE,FOTO,CAT_CL_LIMITECREDITO,CAT_CL_DIASCREDITO,CAT_CL_CLASIFICADOR3,CAT_CL_CLASIFICADOR2,CAT_CL_CLASIFICADOR5) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,0,?,?,?,?,?,?,?,?)", Array As Object (CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LONG,CAT_CL_LAT,CAT_CL_MTOCOMPRA,CAT_CL_NUM_SERIEFISICO,CAT_CL_BCREDITO,CAT_CL_TIPOCLIENTE,CAT_CL_FOTO,CAT_CL_LIMITECREDITO,CAT_CL_DIASCREDITO,CAT_CL_CLASIFICADOR3,CAT_CL_CLASIFICADOR2,CAT_CL_CLASIFICADOR5))
'########################## TERMINA CODIGO PARA CREDITOS #################### '########################## TERMINA CODIGO PARA CREDITOS ####################
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO HIST_STAY_STORE(HSS_CODIGO, HSS_IN , HSS_OUT , HSS_TOT) VALUES (?,0,0,0)", Array As Object (CAT_CL_CODIGO)) B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO HIST_STAY_STORE(HSS_CODIGO, HSS_IN , HSS_OUT , HSS_TOT) VALUES (?,0,0,0)", Array As Object (CAT_CL_CODIGO))
Next Next
@@ -2464,6 +2560,10 @@ Log("--------> BORRAMOS")
B4XPages.MainPage.skmt.ExecNonQuery("DELETE FROM ENCUESTA_MODULO3") B4XPages.MainPage.skmt.ExecNonQuery("DELETE FROM ENCUESTA_MODULO3")
B4XPages.MainPage.skmt.ExecNonQuery("DELETE FROM ENCUESTA_MODULO4") B4XPages.MainPage.skmt.ExecNonQuery("DELETE FROM ENCUESTA_MODULO4")
B4XPages.MainPage.skmt.ExecNonQuery("DELETE FROM ENCUESTA_MODULO5") B4XPages.MainPage.skmt.ExecNonQuery("DELETE FROM ENCUESTA_MODULO5")
B4XPages.MainPage.skmt.ExecNonQuery("DELETE FROM hist_ventastodos")
B4XPages.MainPage.skmt.ExecNonQuery2("DELETE FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?",Array As String("ENVIOALMACEN"))
B4XPages.MainPage.skmt.ExecNonQuery2("DELETE FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?",Array As String("RULAT"))
B4XPages.MainPage.skmt.ExecNonQuery2("DELETE FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?",Array As String("RULONG"))
B4XPages.MainPage.skmt.ExecNonQuery("DELETE FROM BITACORAGPS") B4XPages.MainPage.skmt.ExecNonQuery("DELETE FROM BITACORAGPS")
B4XPages.MainPage.skmt.ExecNonQuery("DELETE FROM RUTA_SUPLENCIA") B4XPages.MainPage.skmt.ExecNonQuery("DELETE FROM RUTA_SUPLENCIA")
B4XPages.MainPage.skmt.ExecNonQuery("DELETE FROM TICKET_IMPRESO") B4XPages.MainPage.skmt.ExecNonQuery("DELETE FROM TICKET_IMPRESO")
@@ -2848,6 +2948,7 @@ Sub resdia_Click
' s3.Close ' s3.Close
Private s3 As Cursor = B4XPages.MainPage.skmt.ExecQuery("select distinct(pe_cliente) FROM PEDIDO") Private s3 As Cursor = B4XPages.MainPage.skmt.ExecQuery("select distinct(pe_cliente) FROM PEDIDO")
If s3.RowCount > 0 Then If s3.RowCount > 0 Then
Private total1 As String = 0 Private total1 As String = 0
For i = 0 To s3.RowCount - 1 For i = 0 To s3.RowCount - 1
@@ -2858,6 +2959,8 @@ Sub resdia_Click
' LogColor($"Total despues ${total1}"$, Colors.blue) ' LogColor($"Total despues ${total1}"$, Colors.blue)
Next Next
L_REAL.Text = total1 L_REAL.Text = total1
Else
L_REAL.Text = 0
End If End If
'Prueba0 'Prueba0
@@ -2919,6 +3022,8 @@ Sub resdia_Click
c.Close c.Close
End If End If
' L_REAL.Text = l_monto_ks.Text ' L_REAL.Text = l_monto_ks.Text
Log(L_NES.Text)
Log(L_REAL.Text)
L_ALCANCE.Text = Round2((L_NES.Text / L_REAL.Text + 1),2) L_ALCANCE.Text = Round2((L_NES.Text / L_REAL.Text + 1),2)
L_VPLAN.Text = l_porvisitar.Text L_VPLAN.Text = l_porvisitar.Text
L_VREAL.Text = L_CUANTOST.text L_VREAL.Text = L_CUANTOST.text
@@ -3008,7 +3113,26 @@ Sub tickets_dia_Click
End Sub End Sub
Sub GPS_LocationChanged (Location1 As Location) Sub GPS_LocationChanged (Location1 As Location)
Dim al_longitud As String = 0
Dim al_latitud As String = 0
Dim envlat As Cursor = Starter.skmt.ExecQuery("SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = 'RULAT'")
' c = Starter.skmt.ExecQuery2("SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?",Array As String("LATITUD"))
If envlat.RowCount > 0 Then
envlat.Position = 0
Dim al_latitud As String = envlat.GetString("CAT_VA_VALOR")
End If
envlat.Close
Dim envlat As Cursor = Starter.skmt.ExecQuery("SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = 'RULONG'")
' envlat = Starter.skmt.ExecQuery2("SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?",Array As String("LONGITUD"))
If envlat.RowCount > 0 Then
envlat.Position = 0
Dim al_longitud As String = envlat.GetString("CAT_VA_VALOR")
End If
envlat.Close
Dim ubi1, ubi2 As Location
ubi1.Initialize2(B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps)
ubi2.Initialize2(al_latitud, al_longitud)
distancealm = ubi1.DistanceTo(ubi2)
End Sub End Sub
Sub Btn_Ubicar_Click Sub Btn_Ubicar_Click

View File

@@ -1797,7 +1797,7 @@ Sub LlenaProdsLL(p As ResultSet)
' Dim p As ResultSet = B4XPages.MainPage.skmt.ExecQuery($"select distinct CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD from ${Starter.tabla} LEFT JOIN PEDIDO ON CAT_GP_ID = PE_PROID where CAT_GP_PRECIO > 0 And CAT_GP_ALMACEN > 0 And CAT_GP_CLASIF <> 'PROMOS' union all select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD from ${Starter.tabla} LEFT JOIN PEDIDO ON CAT_GP_ID = PE_PROID where CAT_GP_PRECIO > 0 And CAT_GP_ALMACEN = 0 And CAT_GP_CLASIF <> 'PROMOS' and cat_gp_id in (select pe_proid from pedido where pe_cliente in (select cuenta from cuentaa)) order by 2"$) ' Dim p As ResultSet = B4XPages.MainPage.skmt.ExecQuery($"select distinct CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD from ${Starter.tabla} LEFT JOIN PEDIDO ON CAT_GP_ID = PE_PROID where CAT_GP_PRECIO > 0 And CAT_GP_ALMACEN > 0 And CAT_GP_CLASIF <> 'PROMOS' union all select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD from ${Starter.tabla} LEFT JOIN PEDIDO ON CAT_GP_ID = PE_PROID where CAT_GP_PRECIO > 0 And CAT_GP_ALMACEN = 0 And CAT_GP_CLASIF <> 'PROMOS' and cat_gp_id in (select pe_proid from pedido where pe_cliente in (select cuenta from cuentaa)) order by 2"$)
If Subs.traeTipoCliente = 4 Then If Subs.traeTipoCliente = 4 Then
Dim p As ResultSet = B4XPages.MainPage.skmt.ExecQuery($"select distinct CAT_GP_ID, CAT_GP_NOMBRE,CAT_GP_PRECIO, CAT_LISTAPRECIO, CAT_GP_ALMACEN, CAT_GP_IMG, CAT_GP_TIPOPROD, CAT_GP_INICIATIVA from ${Subs.traeTablaProds(tipo_venta)} where CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 and CAT_GP_TIPO <> 'PROMOS' and CAT_GP_TIPO <> 'PROMOCION' Dim p As ResultSet = B4XPages.MainPage.skmt.ExecQuery($"select distinct CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_LISTAPRECIO, CAT_GP_ALMACEN, CAT_GP_IMG, CAT_GP_TIPOPROD, CAT_GP_INICIATIVA from ${Subs.traeTablaProds(tipo_venta)} where CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 and CAT_GP_TIPO <> 'PROMOS' and CAT_GP_TIPO <> 'PROMOCION'
order by order by
Case CAT_GP_TIPOPROD when 'PRIORITARIO' THEN 0 Case CAT_GP_TIPOPROD when 'PRIORITARIO' THEN 0
WHEN 'ESTRATEGICO' THEN 1 WHEN 'ESTRATEGICO' THEN 1
@@ -1844,7 +1844,7 @@ Sub LlenaProdsLL(p As ResultSet)
' ¡Importante! Crear un NUEVO mapa en cada iteración. ' ¡Importante! Crear un NUEVO mapa en cada iteración.
Dim tempMap As Map = CreateMap( _ Dim tempMap As Map = CreateMap( _
"prod": p.GetString("CAT_GP_NOMBRE"), _ "prod": p.GetString("CAT_GP_NOMBRE"), _
"precio": p.GetString("CAT_LISTAPRECIO"), _ "precio": p.GetString("CAT_GP_PRECIO"), _
"prioridad": p.GetString("CAT_GP_TIPOPROD"), _ "prioridad": p.GetString("CAT_GP_TIPOPROD"), _
"almacen": p.GetString("CAT_GP_ALMACEN"), _ "almacen": p.GetString("CAT_GP_ALMACEN"), _
"id": p.GetString("CAT_GP_ID"), _ "id": p.GetString("CAT_GP_ID"), _

View File

@@ -116,32 +116,58 @@ Sub B4XPage_Appear
' --- 2. Query 2: (MODIFICADO) --- ' --- 2. Query 2: (MODIFICADO) ---
' Este es el query de SQLite que hicimos, adaptado ' Este es el query de SQLite que hicimos, adaptado
' para usar la variable 'nombreProducto' ' para usar la variable 'nombreProducto'
' Dim sql As String = $"
' WITH FechasObjetivo (Fecha) AS (
' SELECT strftime('%d/%m/%Y', date('now', 'localtime', '-28 days'))
' UNION ALL
' SELECT strftime('%d/%m/%Y', date('now', 'localtime', '-21 days'))
' UNION ALL
' SELECT strftime('%d/%m/%Y', date('now', 'localtime', '-14 days'))
' UNION ALL
' SELECT strftime('%d/%m/%Y', date('now', 'localtime', '-7 days'))
' )
' SELECT
' COALESCE(SUM(H.HVD_CANT), 0) AS HVD_CANT_TOTAL
' FROM
' FechasObjetivo AS F
' LEFT JOIN
' HIST_VENTAS AS H
' ON F.Fecha = H.HVD_FECHA
' AND H.HVD_CLIENTE IN (SELECT CUENTA FROM cuentaa)
' AND H.HVD_PRONOMBRE = '${nombreProducto}'
' GROUP BY
' F.Fecha
' ORDER BY
' SUBSTR(F.Fecha, 7, 4),
' SUBSTR(F.Fecha, 4, 2),
' SUBSTR(F.Fecha, 1, 2)
' "$
Dim sql As String = $" Dim sql As String = $"
WITH FechasObjetivo (Fecha) AS ( WITH FechasObjetivo (Fecha) AS (
SELECT strftime('%d/%m/%Y', date('now', 'localtime', '-28 days')) SELECT strftime('%d/%m/%Y', date('now', 'localtime', '-28 days'))
UNION ALL UNION ALL
SELECT strftime('%d/%m/%Y', date('now', 'localtime', '-21 days')) SELECT strftime('%d/%m/%Y', date('now', 'localtime', '-21 days'))
UNION ALL UNION ALL
SELECT strftime('%d/%m/%Y', date('now', 'localtime', '-14 days')) SELECT strftime('%d/%m/%Y', date('now', 'localtime', '-14 days'))
UNION ALL UNION ALL
SELECT strftime('%d/%m/%Y', date('now', 'localtime', '-7 days')) SELECT strftime('%d/%m/%Y', date('now', 'localtime', '-7 days'))
) )
SELECT SELECT
COALESCE(SUM(H.HVD_CANT), 0) AS HVD_CANT_TOTAL COALESCE(SUM(H.HVD_CANT), 0) AS HVD_CANT_TOTAL,
FROM -- Si el mes de la fecha es igual al mes actual, devuelve 1, si no 0
FechasObjetivo AS F CASE WHEN SUBSTR(F.Fecha, 4, 2) = strftime('%m', 'now', 'localtime') THEN 1 ELSE 0 END AS EsMesActual
LEFT JOIN FROM
HIST_VENTAS AS H FechasObjetivo AS F
ON F.Fecha = H.HVD_FECHA LEFT JOIN
AND H.HVD_CLIENTE IN (SELECT CUENTA FROM cuentaa) HIST_VENTAS AS H
AND H.HVD_PRONOMBRE = '${nombreProducto}' ON F.Fecha = H.HVD_FECHA
GROUP BY AND H.HVD_CLIENTE IN (SELECT CUENTA FROM cuentaa)
F.Fecha AND H.HVD_PRONOMBRE = '${nombreProducto}'
ORDER BY GROUP BY F.Fecha
SUBSTR(F.Fecha, 7, 4), ORDER BY SUBSTR(F.Fecha, 7, 4), SUBSTR(F.Fecha, 4, 2), SUBSTR(F.Fecha, 1, 2)
SUBSTR(F.Fecha, 4, 2), "$
SUBSTR(F.Fecha, 1, 2)
"$
' Log($"Ejecutando para: ${nombreProducto}") ' Log($"Ejecutando para: ${nombreProducto}")
' Log(sql) ' Descomenta esto si necesitas depurar el query ' Log(sql) ' Descomenta esto si necesitas depurar el query
@@ -151,30 +177,58 @@ Sub B4XPage_Appear
' --- 3. Leer los 4 resultados (YA NO NECESITAMOS BUCLE) --- ' --- 3. Leer los 4 resultados (YA NO NECESITAMOS BUCLE) ---
' Sabemos que el query SIEMPRE devuelve 4 filas ' Sabemos que el query SIEMPRE devuelve 4 filas
' en el orden correcto (hace 28, 21, 14, 7 días) ' en el orden correcto (hace 28, 21, 14, 7 días)
Log(prohit2.RowCount) ' Log(prohit2.RowCount)
' If prohit2.RowCount = 4 Then
' prohit2.Position = 0
' cant_sem4 = prohit2.GetString("HVD_CANT_TOTAL") ' Fila 1 (-28 días)
'
' prohit2.Position = 1
' cant_sem3 = prohit2.GetString("HVD_CANT_TOTAL") ' Fila 2 (-21 días)
'
' prohit2.Position = 2
' cant_sem2 = prohit2.GetString("HVD_CANT_TOTAL") ' Fila 3 (-14 días)
'
' prohit2.Position = 3
' cant_sem1 = prohit2.GetString("HVD_CANT_TOTAL") ' Fila 4 (-7 días)
' Else
' Log($"Error: El query no devolvió 4 filas para '${nombreProducto}'"$)
' End If
'
' prohit2.Close ' Cerramos el cursor interno
'
Dim promx As Double = (cant_sem4 + cant_sem3 + cant_sem2 + cant_sem1) / 4
'
'
' CustomListView1.Add(CreateListItem(nombreProducto, cant_sem4, cant_sem3, cant_sem2, cant_sem1, promx ), 1)
' Variables nuevas para el color (1 = Mes Actual, 0 = Otro)
Dim c1, c2, c3, c4 As Int
If prohit2.RowCount = 4 Then If prohit2.RowCount = 4 Then
prohit2.Position = 0 prohit2.Position = 0
cant_sem4 = prohit2.GetString("HVD_CANT_TOTAL") ' Fila 1 (-28 días) cant_sem4 = prohit2.GetString("HVD_CANT_TOTAL")
c1 = prohit2.GetInt("EsMesActual")
prohit2.Position = 1 prohit2.Position = 1
cant_sem3 = prohit2.GetString("HVD_CANT_TOTAL") ' Fila 2 (-21 días) cant_sem3 = prohit2.GetString("HVD_CANT_TOTAL")
c2 = prohit2.GetInt("EsMesActual")
prohit2.Position = 2 prohit2.Position = 2
cant_sem2 = prohit2.GetString("HVD_CANT_TOTAL") ' Fila 3 (-14 días) cant_sem2 = prohit2.GetString("HVD_CANT_TOTAL")
c3 = prohit2.GetInt("EsMesActual")
prohit2.Position = 3 prohit2.Position = 3
cant_sem1 = prohit2.GetString("HVD_CANT_TOTAL") ' Fila 4 (-7 días) cant_sem1 = prohit2.GetString("HVD_CANT_TOTAL")
c4 = prohit2.GetInt("EsMesActual")
Else Else
Log($"Error: El query no devolvió 4 filas para '${nombreProducto}'"$) Log("Error en filas")
End If End If
prohit2.Close
prohit2.Close ' Cerramos el cursor interno ' Pasamos los indicadores de color al método (c1, c2, c3, c4)
CustomListView1.Add(CreateListItem(nombreProducto, cant_sem4, cant_sem3, cant_sem2, cant_sem1, promx, c1, c2, c3, c4), 1)
Dim promx As Double = (cant_sem4 + cant_sem3 + cant_sem2 + cant_sem1) / 4 '
CustomListView1.Add(CreateListItem(nombreProducto, cant_sem4, cant_sem3, cant_sem2, cant_sem1, promx ), 1)
Next Next
prohit.Close ' Cerramos el cursor externo prohit.Close ' Cerramos el cursor externo
@@ -187,16 +241,52 @@ Sub B4XPage_Appear
End Sub End Sub
Sub CreateListItem(prodhis As String, s1 As Int, s2 As Int, s3 As Int,s4 As Int, prom As Double) As Panel 'ignore 'Sub CreateListItem(prodhis As String, s1 As Int, s2 As Int, s3 As Int,s4 As Int, prom As Double) As Panel 'ignore
' Dim p As B4XView = xui.CreatePanel("")
' p.SetLayoutAnimated(0, 0, 0, 288dip, 170dip)
' p.LoadLayout("historicobat")
' l_productohist.Text = prodhis
' l_s1.Text = s1
' l_s2.Text = s2
' l_s3.Text = s3
' l_s4.Text = s4
' L_PROMEDIOHIST.text = "Promedio " & prom
'
' Return p
'End Sub
Sub CreateListItem(prodhis As String, s1 As Int, s2 As Int, s3 As Int, s4 As Int, prom As Double, m1 As Int, m2 As Int, m3 As Int, m4 As Int) As Panel
Dim p As B4XView = xui.CreatePanel("") Dim p As B4XView = xui.CreatePanel("")
' p.SetLayoutAnimated(0, 0, 0, 100%x, 170dip) ' En B4A es mejor usar %x para el ancho
p.SetLayoutAnimated(0, 0, 0, 288dip, 170dip) p.SetLayoutAnimated(0, 0, 0, 288dip, 170dip)
p.LoadLayout("historicobat") p.LoadLayout("historicobat")
l_productohist.Text = prodhis l_productohist.Text = prodhis
l_s1.Text = s1 l_s1.Text = s1
l_s2.Text = s2 l_s2.Text = s2
l_s3.Text = s3 l_s3.Text = s3
l_s4.Text = s4 l_s4.Text = s4
L_PROMEDIOHIST.text = "Promedio " & prom
' Cambiar color de fondo de los labels según el mes
' Si mX es 1 (mes actual) -> Azul, si no -> Amarillo
l_s1.Color = IIf(m1 = 1, xui.Color_Blue, xui.Color_Yellow)
l_s2.Color = IIf(m2 = 1, xui.Color_Blue, xui.Color_Yellow)
l_s3.Color = IIf(m3 = 1, xui.Color_Blue, xui.Color_Yellow)
l_s4.Color = IIf(m4 = 1, xui.Color_Blue, xui.Color_Yellow)
' Opcional: Cambiar el color del texto para que contraste
l_s1.TextColor = IIf(m1 = 1, xui.Color_White, xui.Color_Black)
l_s2.TextColor = IIf(m2 = 1, xui.Color_White, xui.Color_Black)
l_s3.TextColor = IIf(m3 = 1, xui.Color_White, xui.Color_Black)
l_s4.TextColor = IIf(m4 = 1, xui.Color_White, xui.Color_Black)
L_PROMEDIOHIST.Text = "Promedio " & NumberFormat(prom, 1, 2)
Return p Return p
End Sub End Sub
' Función auxiliar por si no tienes activado el IIf de B4A (disponible en versiones recientes)
'Sub IIf(Condition As Boolean, TrueValue As Object, FalseValue As Object) As Object
' If Condition Then Return TrueValue Else Return FalseValue
'End Sub

168
B4A/C_historicobatyodos.bas Normal file
View File

@@ -0,0 +1,168 @@
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 g As GPS
Dim clie_id As String
Dim sDate,sTime As String
Dim usuario As String
Dim c As Cursor
Dim ruta As String
Dim Regresar As Button
Dim ListView1 As ListView
Dim L_CANT As Label
Dim L_TOTAL As Label
Dim borra As Button
Dim Existe As String
Dim result As String
' Dim lat_gps, lon_gps As String
Private Titulo As Label
Private b_desc As Button
Private ListView2 As ListView
Dim tgl As Toggle
Private p_nota As Panel
Private Panel1 As Panel
Private l_productohist As Label
Private l_s1 As Label
Private l_s2 As Label
Private l_s3 As Label
Private l_s4 As Label
Private CustomListView1 As CustomListView
Private L_PROMEDIOHIST As Label
End Sub
'You can add more parameters here.
Public Sub Initialize As Object
Return Me
End Sub
'This event will be called once, before the page becomes visible.
Private Sub B4XPage_Created (Root1 As B4XView)
Root = Root1
'load the layout to Root
Root.LoadLayout("nota3")
borra.Visible = False
Titulo.Text = "Acumulado"
b_desc.Visible = False
End Sub
Sub B4XPage_Appear
Panel1.Visible = False
If Not(Starter.gps.GPSEnabled) Then
ToastMessageShow("Es necesario tener el GPS encendido", True)
StartActivity(Starter.gps.LocationSettingsIntent)
End If
L_CANT.Text = ""
L_TOTAL.Text = ""
c = B4XPages.MainPage.skmt.ExecQuery("select count(*) as EXISTE from hist_ventastodos WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) ORDER BY HVD_CODPROMO, HVD_COSTO_TOT ASC")
c.Position = 0
Existe = c.GetString("EXISTE")
c.Close
' =====================================================================
' NUEVA LÓGICA DE LISTVIEW1: DISEÑO "TICKET MODERNO"
' =====================================================================
ListView1.Clear
ListView1.Visible = True
' 1. Fondo de la lista: Un gris muy claro/hueso para simular el papel
ListView1.Color = xui.Color_RGB(245, 245, 245)
' 2. Diseño del Encabezado (El Ticket y la Fecha)
ListView1.SingleLineLayout.Label.TextSize = 16
' Azul oscuro elegante para separar visualmente los tickets
ListView1.SingleLineLayout.Label.TextColor = xui.Color_RGB(25, 118, 210)
ListView1.SingleLineLayout.Label.Typeface = Typeface.DEFAULT_BOLD
' Centrado en ambas direcciones para que parezca un divisor
ListView1.SingleLineLayout.Label.Gravity = Bit.Or(Gravity.CENTER_VERTICAL, Gravity.CENTER_HORIZONTAL)
ListView1.SingleLineLayout.ItemHeight = 50dip
' 3. Diseño del Detalle (Los Productos)
ListView1.TwoLinesLayout.Label.TextSize = 16
ListView1.TwoLinesLayout.Label.TextColor = xui.Color_RGB(33, 33, 33) ' Gris casi negro (mejor lectura)
ListView1.TwoLinesLayout.Label.Typeface = Typeface.DEFAULT_BOLD
ListView1.TwoLinesLayout.Label.Gravity = Gravity.CENTER_VERTICAL
ListView1.TwoLinesLayout.SecondLabel.TextSize = 15
' Verde oscuro para destacar el dinero y la cantidad
ListView1.TwoLinesLayout.SecondLabel.TextColor = xui.Color_RGB(56, 142, 60)
ListView1.TwoLinesLayout.SecondLabel.Typeface = Typeface.DEFAULT_BOLD
ListView1.TwoLinesLayout.ItemHeight = 70dip ' Espacio cómodo para que respire el texto
' Query: Ordena de más antiguo a más reciente
Dim queryVentas As String = $"
SELECT HVD_NUM_TICKET, HVD_PRONOMBRE, HVD_CANT, HVD_COSTO_TOT, HVD_FECHA
FROM hist_ventastodos
WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa)
ORDER BY
SUBSTR(HVD_FECHA, 7, 4) ASC,
SUBSTR(HVD_FECHA, 4, 2) ASC,
SUBSTR(HVD_FECHA, 1, 2) ASC,
HVD_NUM_TICKET ASC,
HVD_CODPROMO,
HVD_COSTO_TOT ASC
"$
c = B4XPages.MainPage.skmt.ExecQuery(queryVentas)
If c.RowCount > 0 Then
Dim currentTicket As String = ""
For i = 0 To c.RowCount - 1
c.Position = i
Dim ticket As String = c.GetString("HVD_NUM_TICKET")
Dim fecha As String = c.GetString("HVD_FECHA")
Dim producto As String = c.GetString("HVD_PRONOMBRE")
Dim cant As String = c.GetString("HVD_CANT")
Dim costo As String = c.GetString("HVD_COSTO_TOT")
' Dim Costotodo As Double = 0
' Agregamos el separador de Ticket
If ticket <> currentTicket Then
' Costotodo = Costotodo + costo
' ListView1.AddSingleLine($"🎫 TICKET: ${ticket} | 📅 ${fecha} ${CRLF} 💵 Total: $${NumberFormat2(Costotodo,0,2,2,False)}"$)
ListView1.AddSingleLine($"🎫 TICKET: ${ticket} | 📅 ${fecha}"$)
currentTicket = ticket
End If
' Formateamos el texto del detalle usando Smart String Literal para que se vea más profesional
Dim detalle As String = $"📦 Cantidad: ${cant} | 💵 Total: $${costo}"$
ListView1.AddTwoLines(producto, detalle)
Next
End If
c.Close
' =====================================================================
' Lógica para totales
If Existe <> "0" Then
c = B4XPages.MainPage.skmt.ExecQuery("select SUM(HVD_CANT) AS PC_NOART, SUM(HVD_COSTO_TOT) AS PC_MONTO from hist_ventastodos where HVD_CLIENTE in (Select CUENTA from cuentaa)")
c.Position = 0
L_CANT.Text = c.GetString("PC_NOART")
L_TOTAL.Text = c.GetString("PC_MONTO")
c.Close
End If
' ...
' (AQUÍ SIGUE TU CÓDIGO DEL CustomListView1 PARA EL PROMEDIO DE 4 SEMANAS)
' CustomListView1.AsView.Height = Root.Height * 0.45
' ...
End Sub

Binary file not shown.

BIN
B4A/Files/encuesta_1.bal Normal file

Binary file not shown.

BIN
B4A/Files/encuesta_2.bal Normal file

Binary file not shown.

BIN
B4A/Files/fondo-rojo.rar Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
B4A/Files/nota3.bal Normal file

Binary file not shown.

File diff suppressed because one or more lines are too long

View File

@@ -22,6 +22,7 @@ ModuleBookmarks27=
ModuleBookmarks28= ModuleBookmarks28=
ModuleBookmarks29= ModuleBookmarks29=
ModuleBookmarks3= ModuleBookmarks3=
ModuleBookmarks30=
ModuleBookmarks4= ModuleBookmarks4=
ModuleBookmarks5= ModuleBookmarks5=
ModuleBookmarks6= ModuleBookmarks6=
@@ -52,6 +53,7 @@ ModuleBreakpoints27=
ModuleBreakpoints28= ModuleBreakpoints28=
ModuleBreakpoints29= ModuleBreakpoints29=
ModuleBreakpoints3= ModuleBreakpoints3=
ModuleBreakpoints30=
ModuleBreakpoints4= ModuleBreakpoints4=
ModuleBreakpoints5= ModuleBreakpoints5=
ModuleBreakpoints6= ModuleBreakpoints6=
@@ -71,23 +73,24 @@ ModuleClosedNodes17=
ModuleClosedNodes18= ModuleClosedNodes18=
ModuleClosedNodes19= ModuleClosedNodes19=
ModuleClosedNodes2= ModuleClosedNodes2=
ModuleClosedNodes20=4 ModuleClosedNodes20=
ModuleClosedNodes21= ModuleClosedNodes21=4
ModuleClosedNodes22= ModuleClosedNodes22=
ModuleClosedNodes23= ModuleClosedNodes23=
ModuleClosedNodes24= ModuleClosedNodes24=
ModuleClosedNodes25= ModuleClosedNodes25=
ModuleClosedNodes26= ModuleClosedNodes26=
ModuleClosedNodes27=3,4,6,8,9 ModuleClosedNodes27=
ModuleClosedNodes28= ModuleClosedNodes28=3,4,8,9
ModuleClosedNodes29=20 ModuleClosedNodes29=
ModuleClosedNodes3= ModuleClosedNodes3=
ModuleClosedNodes30=20
ModuleClosedNodes4= ModuleClosedNodes4=
ModuleClosedNodes5= ModuleClosedNodes5=
ModuleClosedNodes6= ModuleClosedNodes6=
ModuleClosedNodes7=6,8,9,10,11 ModuleClosedNodes7=6,8,9,10,11
ModuleClosedNodes8= ModuleClosedNodes8=
ModuleClosedNodes9= ModuleClosedNodes9=
NavigationStack=B4XMainPage,Class_Globals,30,0,C_Cliente,recalculoXcant,1300,0,C_Cliente,B4XPage_Appear,542,0,C_Cliente,LA_GPS_Click,1353,0,Tracker,StartFLP2,403,0,Tracker,StartFLPSmall,421,0,Tracker,CreateLocationRequest2,462,1,Tracker,CreateLocationRequestSmallD,453,1,C_Cliente,MejorarPrecisionGPS,1283,4,Tracker,CreateLocationRequest,440,0 NavigationStack=C_Cliente,cb_p7_SelectedIndexChanged,7431,0,C_Cliente,cb_p9_SelectedIndexChanged,7449,0,C_Principal,Subir_Click,659,1,C_Cliente,b_guadarenc_Click,7454,6,C_Cliente,b_ventatb_Click,7411,0,C_Principal,Class_Globals,0,0,C_Principal,connecta_Click,2483,0,C_Principal,JobDone,1419,1,C_Cliente,gest_Click,1928,3,C_Cliente,B4XPage_CloseRequest,3164,0,C_Cliente,gestionar,2342,0
SelectedBuild=0 SelectedBuild=0
VisibleModules=27,2,16,28,5,13,17,29,19,4,12,22 VisibleModules=28,2,17,29,5,14,18,30,20,4

View File

@@ -120,6 +120,15 @@ Sub ENVIA_ULTIMA_GPS
reqManager.ExecuteCommand(cmd, "actualizaUltimaGPS") reqManager.ExecuteCommand(cmd, "actualizaUltimaGPS")
skmt.ExecNonQuery2("Update cat_variables set CAT_VA_VALOR = ? WHERE CAT_VA_DESCRIPCION = ?" , Array As String(DateTime.Time(DateTime.Now),"HoraIngreso")) skmt.ExecNonQuery2("Update cat_variables set CAT_VA_VALOR = ? WHERE CAT_VA_DESCRIPCION = ?" , Array As String(DateTime.Time(DateTime.Now),"HoraIngreso"))
'Reiniciamos el timer para cuando llamamos el Sub desde "seleccion" 'Reiniciamos el timer para cuando llamamos el Sub desde "seleccion"
If B4XPages.MainPage.rutapreventa <> 0 Then
cmd.Initialize
cmd.Name = "select_venta_tb_guna"
cmd.Parameters = Array As Object(B4XPages.MainPage.rutapreventa,B4XPages.MainPage.ALMACEN)
B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "hist_ventastodos")
End If
Timer1.Enabled = False Timer1.Enabled = False
Timer1.Interval = Interval * 1000 Timer1.Interval = Interval * 1000
Timer1.Enabled = True Timer1.Enabled = True
@@ -156,6 +165,29 @@ Sub JobDone(Job As HttpJob)
Dim RESULT As DBResult = B4XPages.MainPage.reqManager.HandleJob(Job) Dim RESULT As DBResult = B4XPages.MainPage.reqManager.HandleJob(Job)
Log($"Tag: ${RESULT.tag}, success=${Job.Success}"$) Log($"Tag: ${RESULT.tag}, success=${Job.Success}"$)
End If End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = B4XPages.MainPage.reqManager.HandleJob(Job)
If RESULT.Tag = "hist_ventastodos" Then 'query tag
For Each records() As Object In RESULT.Rows
' Log ("NO HACE NADA")
Dim HVD_CLIENTE As String = records(RESULT.Columns.Get("HVD_CLIENTE"))
Dim HVD_PRONOMBRE As String = records(RESULT.Columns.Get("HVD_PRONOMBRE"))
Dim HVD_CANT As String = records(RESULT.Columns.Get("HVD_CANT"))
Dim HVD_COSTO_TOT As String = records(RESULT.Columns.Get("HVD_COSTO_TOT"))
Dim HVD_FECHA As String = records(RESULT.Columns.Get("HVD_FECHA"))
Dim HVD_NUM_TICKET As String = records(RESULT.Columns.Get("HVD_NUM_TICKET"))
Dim HVD_CODPROMO As String = records(RESULT.Columns.Get("HVD_CODPROMO"))
' Log(HVD_CLIENTE&"--"&HVD_PRONOMBRE&"--"&HVD_CANT&"--"&HVD_COSTO_TOT)
Private tc As Cursor = skmt.ExecQuery($"select * from hist_ventastodos where HVD_CLIENTE = '${HVD_CLIENTE}' and HVD_PRONOMBRE = '${HVD_PRONOMBRE}' AND HVD_CANT = '${HVD_CANT}' AND HVD_CODPROMO = '${HVD_CODPROMO}' AND HVD_COSTO_TOT = '${HVD_COSTO_TOT}' "$)
If tc.RowCount = 0 Then
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO hist_ventastodos(HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT, HVD_FECHA, HVD_NUM_TICKET,HVD_CODPROMO) VALUES (?,?,?,?,?,?,?)", Array As Object (HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT,HVD_FECHA, HVD_NUM_TICKET,HVD_CODPROMO))
End If
Next
End If
End If
' Log("JOBDONE SUCCESS") ' Log("JOBDONE SUCCESS")
End If End If
End Sub End Sub

View File

@@ -779,7 +779,7 @@ End Sub
Sub traeRuta2 (cliente As String) As String 'ignore Sub traeRuta2 (cliente As String) As String 'ignore
Private c As Cursor Private c As Cursor
Private r As String Private r As String
c=B4XPages.MainPage.skmt.ExecQuery($"select CAT_CL_RUTA from kmt_info where CAT_CL_CODIGO = '${cliente}' UNION ALL select CAT_CL_RUTA from kmt_info2 where CAT_CL_CODIGO = '${cliente}'"$) c=B4XPages.MainPage.skmt.ExecQuery($"select CAT_CL_RUTA from kmt_info3 where CAT_CL_CODIGO = '${cliente}'"$)
r = "0" r = "0"
If c.RowCount > 0 Then If c.RowCount > 0 Then
c.Position=0 c.Position=0