mirror of
https://github.com/KeymonSoft/Guna_Preventa.git
synced 2026-04-18 05:09:23 +00:00
Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0f6bf7f62a | ||
|
|
696c3439b9 | ||
|
|
50047c0655 | ||
|
|
4f363ea340 | ||
|
|
52b264af6c |
@@ -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
@@ -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
|
||||||
@@ -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
|
||||||
|
|||||||
@@ -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"), _
|
||||||
|
|||||||
@@ -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
168
B4A/C_historicobatyodos.bas
Normal 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
BIN
B4A/Files/encuesta_1.bal
Normal file
Binary file not shown.
BIN
B4A/Files/encuesta_2.bal
Normal file
BIN
B4A/Files/encuesta_2.bal
Normal file
Binary file not shown.
BIN
B4A/Files/fondo-rojo.rar
Normal file
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
BIN
B4A/Files/nota3.bal
Normal file
Binary file not shown.
File diff suppressed because one or more lines are too long
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user