8 Commits

Author SHA1 Message Date
e639848418 - VERSION 5.06.25
- Se agregó la forma de pago en el ticket (credito o efectivo)
2025-06-27 13:48:45 -06:00
73877991ba - VERSION 5.04.23
- Se agrega la parte de Trend Spending de Bonificaciones (Gracias Javy!!!)
2025-04-24 22:14:55 -06:00
33a52d7074 - VERSION 5.04.21
- Se corrigio en "Productos" en "b_prodMas_Click" que SOLO tome el inventario restante para dejar meter mas, porque estaba tomando "laCant + 1 <= inv".
- Se corrigio en "Productos" en "b_prodMas_Click" que cuando se mete el RMI, SOLO tome el monto de la venta para dejar meter mas, porque estaba tomando tambien "laCant.Text + 1 <= inv".
2025-04-22 10:48:42 -06:00
ce2759012a - VERSION 5.04.17
- Se agregó que se descargue de CAT_GUNAPROD la columna CAT_GP_PROMOCION, que tiene la informacion de si el producto solo aparece en promociones y NO en el catalogo de productos.
- Se cambio el valor de la columna CAT_VE_VERSION de CAT_VERSION, para que refleje el número de la version "minima" permitida para la aplicación.
- Se agregó la funcion Subs.comparaVersiones que sirve para comparar la version minima contra la version actual.
- Se agregó codigo en B4X_Appear para que traiga la version minima desde CAT_VERSION.
- Se modifco el query "select_version_KELL" en el config.properties para que regrese la version y la columna "FORZAR", que representa si es necesario forzar la actualizacion de la aplicacion o no (todavia no hay codigo para forzar la actualizacion o detener la aplicación.)
2025-04-18 18:54:50 -06:00
f4ef7e90d0 - VERSION 5.04.10
- Se corrigio que cuando la app esta recien iniciada, al entrar al engrane y Extras, mostraba habilitadas las opciones sin poner contraseña!
2025-04-12 12:07:03 -06:00
78667e65f1 - VERSION 5.04.09
- Se cambiaron mas lados donde se usaba KMTS1
2025-04-10 16:55:54 -06:00
c034fdd518 - VERSION 5.04.08
- Sustituye el contraseña "KMTS1" que se usa para brincar contraseña de supervisor por una que se descarga desde web, de la tabla "BYPASS"
2025-04-10 12:18:08 -06:00
7211852abf - VERSION 5.03.25
- Se corrigio un error en productos cuando se modiifcaba la cantidad directamente.
2025-03-28 13:19:15 -06:00
17 changed files with 1744 additions and 765 deletions

View File

@@ -157,8 +157,12 @@ Private Sub B4XPage_Created (Root1 As B4XView)
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_GUNAPROD_DOE (CAT_GP_ID TEXT,CAT_GP_NOMBRE TEXT,CAT_GP_IMP1 TEXT,CAT_GP_IMP2 TEXT,CAT_GP_PRECIO TEXT,CAT_GP_CLASIF TEXT,CAT_GP_STS TEXT,CAT_GP_TIPO TEXT,CAT_GP_SUBTIPO TEXT,CAT_GP_IMG TEXT,CAT_GP_ALMACEN TEXT,CAT_GP_TIPOPROD TEXT,CAT_GP_INICIATIVA TEXT,CAT_GP_DEV TEXT,CAT_GP_CODPROMO TEXT)") Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_GUNAPROD_DOE (CAT_GP_ID TEXT,CAT_GP_NOMBRE TEXT,CAT_GP_IMP1 TEXT,CAT_GP_IMP2 TEXT,CAT_GP_PRECIO TEXT,CAT_GP_CLASIF TEXT,CAT_GP_STS TEXT,CAT_GP_TIPO TEXT,CAT_GP_SUBTIPO TEXT,CAT_GP_IMG TEXT,CAT_GP_ALMACEN TEXT,CAT_GP_TIPOPROD TEXT,CAT_GP_INICIATIVA TEXT,CAT_GP_DEV TEXT,CAT_GP_CODPROMO TEXT)")
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS PEDIDO_DOE (PE_PRECIO2 TEXT,PE_TIPO TEXT,PE_FOLIO NUMERIC,PE_DESC NUMERIC,PE_COSTO_SIN TEXT,PE_RUTA TEXT,PE_CEDIS TEXT,PE_COSTO_TOT NUMERIC,PE_COSTOU NUMERIC,PE_CANT NUMERIC,PE_PRONOMBRE TEXT,PE_PROID TEXT,PE_CLIENTE TEXT,PE_FECHA TEXT,PE_USUARIO TEXT)") Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS PEDIDO_DOE (PE_PRECIO2 TEXT,PE_TIPO TEXT,PE_FOLIO NUMERIC,PE_DESC NUMERIC,PE_COSTO_SIN TEXT,PE_RUTA TEXT,PE_CEDIS TEXT,PE_COSTO_TOT NUMERIC,PE_COSTOU NUMERIC,PE_CANT NUMERIC,PE_PRONOMBRE TEXT,PE_PROID TEXT,PE_CLIENTE TEXT,PE_FECHA TEXT,PE_USUARIO TEXT)")
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS PEDIDOS_DOE_ENTREGA (PC_CLIENTE TEXT, PC_ENTREGA TEXT)") Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS PEDIDOS_DOE_ENTREGA (PC_CLIENTE TEXT, PC_ENTREGA TEXT)")
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_TREND_SPENDING_SEMANAL (HIST_TSS_RUTA TEXT, HIST_TSS_IDALMACEN TEXT, HIST_TSS_TIPO TEXT, HIST_TSS_SEMANA1 TEXT, HIST_TSS_SEMANA1_ACUM TEXT, HIST_TSS_SEMANA2 TEXT, HIST_TSS_SEMANA2_ACUM TEXT, HIST_TSS_SEMANA3 TEXT, HIST_TSS_SEMANA3_ACUM TEXT, HIST_TSS_SEMANA4 TEXT, HIST_TSS_SEMANA4_ACUM TEXT, HIST_TSS_SEMANA5 TEXT, HIST_TSS_SEMANA5_ACUM TEXT, HIST_TSS_SEMANA6 TEXT, HIST_TSS_SEMANA6_ACUM TEXT, HIST_TSS_GRUPO TEXT)")
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS TREND_SPENDING (TIPO TEXT, MONTO_SEMANA TEXT, ACUMULADO TEXT)")
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS VERSIONES (VERSION TEXT, FECHA TEXT)")
''' FIN DOE ''' FIN DOE
kh.agregaColumna(Starter.skmt, "kmt_info", "IMPRESION", "INTEGER") kh.agregaColumna(Starter.skmt, "kmt_info", "IMPRESION", "INTEGER")
kh.agregaColumna(Starter.skmt, "kmt_info", "CREDITO", "INTEGER")
kh.agregaColumna(Starter.skmt, "USUARIOA", "FECHA", "TEXT") kh.agregaColumna(Starter.skmt, "USUARIOA", "FECHA", "TEXT")
kh.agregaColumna(Starter.skmt, "PROMOS_COMP", "CAT_PA_PORCENTAJE_PAQUETE", "TEXT") kh.agregaColumna(Starter.skmt, "PROMOS_COMP", "CAT_PA_PORCENTAJE_PAQUETE", "TEXT")
kh.agregaColumna(Starter.skmt, "PROMOS_COMP", "CAT_PA_PRECIO1", "TEXT") kh.agregaColumna(Starter.skmt, "PROMOS_COMP", "CAT_PA_PRECIO1", "TEXT")
@@ -166,6 +170,10 @@ Private Sub B4XPage_Created (Root1 As B4XView)
kh.agregaColumna(Starter.skmt, "PROMOS_COMP", "CAT_PA_TIPO_PROMONTO", "TEXT") kh.agregaColumna(Starter.skmt, "PROMOS_COMP", "CAT_PA_TIPO_PROMONTO", "TEXT")
kh.agregaColumna(Starter.skmt, "CAT_GUNAPROD", "CAT_GP_TIPOPROD2", "TEXT") kh.agregaColumna(Starter.skmt, "CAT_GUNAPROD", "CAT_GP_TIPOPROD2", "TEXT")
kh.agregaColumna(Starter.skmt, "CAT_GUNAPROD2", "CAT_GP_TIPOPROD2", "TEXT") kh.agregaColumna(Starter.skmt, "CAT_GUNAPROD2", "CAT_GP_TIPOPROD2", "TEXT")
kh.agregaColumna(Starter.skmt, "CAT_GUNAPROD", "CAT_GP_PROMOCION", "TEXT")
kh.agregaColumna(Starter.skmt, "CAT_GUNAPROD2", "CAT_GP_PROMOCION", "TEXT")
kh.agregaColumna(Starter.skmt, "TREND_SPENDING", "TIPO", "TEXT")
kh.agregaColumna(Starter.skmt, "CAT_DETALLES_PAQ", "CAT_DP_PRECIOB", "TEXT")
Root = Root1 Root = Root1
' Root.LoadLayout("MainPage") ' Root.LoadLayout("MainPage")
Root.LoadLayout("login") Root.LoadLayout("login")
@@ -423,19 +431,19 @@ Sub B4XPage_Appear
If c.GetString("CUANTOS") = 0 Then If c.GetString("CUANTOS") = 0 Then
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("MACIMP","0")) Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("MACIMP","0"))
End If End If
D = Starter.skmt.ExecQuery("select COUNT(*) AS CUANTOS from version") ' D = Starter.skmt.ExecQuery("select COUNT(*) AS CUANTOS from version")
D.Position = 0 ' D.Position = 0
If D.GetString("CUANTOS") > 0 Then ' If D.GetString("CUANTOS") > 0 Then
c = Starter.skmt.ExecQuery("select NOVERSION from version") ' c = Starter.skmt.ExecQuery("select NOVERSION from version")
c.Position = 0 ' c.Position = 0
If c.GetString("NOVERSION") = "2.1" Then ' If c.GetString("NOVERSION") = "2.1" Then
Starter.skmt.ExecNonQuery("delete from VERSION") ' Starter.skmt.ExecNonQuery("delete from VERSION")
End If ' End If
c.Close ' c.Close
End If ' End If
D.Close ' D.Close
D = Starter.skmt.ExecQuery("select COUNT(*) AS CUANTOS from version") ' D = Starter.skmt.ExecQuery("select COUNT(*) AS CUANTOS from version")
D.Position = 0 ' D.Position = 0
' If D.GetString("CUANTOS") > 0 Then ' If D.GetString("CUANTOS") > 0 Then
' c = Starter.skmt.ExecQuery("select NOVERSION from version") ' c = Starter.skmt.ExecQuery("select NOVERSION from version")
' c.Position = 0 ' c.Position = 0
@@ -456,6 +464,8 @@ Sub B4XPage_Appear
LogColor("Permisos de almacenamiento: " & MES1.HasPermission, Colors.Magenta) LogColor("Permisos de almacenamiento: " & MES1.HasPermission, Colors.Magenta)
If MES1.HasPermission Then kh.revisaSiExisteRespaldo If MES1.HasPermission Then kh.revisaSiExisteRespaldo
End If End If
DateTime.DateFormat = "yyyy-MM-dd HH:mm:ss"
Starter.skmt.ExecNonQuery($"insert into versiones (version, fecha) values ('${Application.VersionName}', '${datetime.Date(DateTime.Now)}')"$)
End Sub End Sub
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. 'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
@@ -544,6 +554,35 @@ Sub JobDone(Job As HttpJob)
Next Next
paso1 = 1 paso1 = 1
End If End If
'BYPASS EXTRAS
If result.Tag = "traeBypass" Then 'query tag
If result.Rows.Size = 1 Then ' Si hay contraseña de bypass
For Each records() As Object In result.Rows
Starter.passSupervisor = records(result.Columns.Get("BYPASS"))
Next
Log("CONTRASEÑA VALIDA " & Starter.passSupervisor)
b_importarBD.Visible = True
p_importarBDWA.Visible = True
Starter.passSupervisor = user.Text.Trim
Else
Log("CONTRASEÑA INVALIDA")
b_importarBD.Visible = False
p_importarBDWA.Visible = False
End If
End If
'BYPASS IMPORTAR BD WA
If result.Tag = "bypass" Then 'query tag
If result.Rows.Size = 1 Then ' Si hay contraseña de bypass
Log("CONTRASEÑA VALIDA " & Starter.passSupervisor)
b_importarBD.Visible = True
p_importarBDWA.Visible = True
Starter.passSupervisor = user.Text.Trim
Else
Log("CONTRASEÑA INVALIDA")
b_importarBD.Visible = False
p_importarBDWA.Visible = False
End If
End If
End If End If
Job.Release Job.Release
End If End If
@@ -640,8 +679,10 @@ Sub i_engranes_Click
Label1 = ListView1.SingleLineLayout.Label Label1 = ListView1.SingleLineLayout.Label
Label1.TextSize = 20 Label1.TextSize = 20
Label1.TextColor = Colors.Black Label1.TextColor = Colors.Black
If user.Text = "KMTS1" Then ListView1.AddSingleLine("http://10.0.0.205:1781") et_geocerca.Text = "."
ListView1.AddSingleLine("http://keymon.lat:1781") et_geocerca.Text = ""
If user.Text = "KMTS1" Then ListView1.AddSingleLine("http://192.99.93.204:1781")
ListView1.AddSingleLine("http://keymon.net:1781")
c = Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("SERVER")) c = Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("SERVER"))
c.Position = 0 c.Position = 0
E_SERVER.text = c.GetString("CAT_VA_VALOR") E_SERVER.text = c.GetString("CAT_VA_VALOR")
@@ -651,13 +692,12 @@ Sub i_engranes_Click
Panel1.Top = (Root.Height/2) - (Panel1.Height/2) Panel1.Top = (Root.Height/2) - (Panel1.Height/2)
Panel1.Elevation = 100 Panel1.Elevation = 100
Panel1.BringToFront Panel1.BringToFront
If user.Text.Trim = "KMTS1" Then Dim cmd As DBCommand
b_importarBD.Visible = True cmd.Initialize
p_importarBDWA.Visible = True cmd.Name = "selectBypass" ' Trae la contraseña desde la tabla "BYPASS" en web. (La ultima es KMT2025)
Else cmd.Parameters = Array As Object(user.Text.Trim)
b_importarBD.Visible = False reqManager.ExecuteQuery(cmd , 0, "bypass")
p_importarBDWA.Visible = False ' Log($"${Starter.DBReqServer}, ${user.Text}, ${Subs.traeAlmacen}, ${Subs.traeRuta}"$)
End If
End Sub End Sub
Private Sub i_engranes_LongClick Private Sub i_engranes_LongClick
@@ -853,10 +893,10 @@ End Sub
Private Sub et_geocerca_TextChanged (Old As String, New As String) Private Sub et_geocerca_TextChanged (Old As String, New As String)
Private x As Cursor = Starter.skmt.ExecQuery($"select CAT_VA_VALOR from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'FINDIA_PASS'"$) Private x As Cursor = Starter.skmt.ExecQuery($"select CAT_VA_VALOR from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'FINDIA_PASS'"$)
Log(New) Log(New & "|" & Starter.passSupervisor)
If x.RowCount > 0 Then If x.RowCount > 0 Then
x.Position = 0 x.Position = 0
If New = x.GetString("CAT_VA_VALOR") Or New = "KMTS1" Then If New = x.GetString("CAT_VA_VALOR") Or New = Starter.passSupervisor Then
cb_geocerca.Enabled = True cb_geocerca.Enabled = True
cb_cartaPorte.Enabled = True cb_cartaPorte.Enabled = True
et_maxClientesNuevos.Enabled = True et_maxClientesNuevos.Enabled = True
@@ -873,7 +913,7 @@ Private Sub et_geocerca_TextChanged (Old As String, New As String)
l_maxClientesNuevos.TextColor = Colors.LightGray l_maxClientesNuevos.TextColor = Colors.LightGray
et_maxClientesNuevos.TextColor = Colors.LightGray et_maxClientesNuevos.TextColor = Colors.LightGray
End If End If
Else if New = "KMTS1" Then Else if New = Starter.passSupervisor Then
cb_geocerca.Enabled = True cb_geocerca.Enabled = True
cb_cartaPorte.Enabled = True cb_cartaPorte.Enabled = True
et_maxClientesNuevos.Enabled = True et_maxClientesNuevos.Enabled = True

View File

@@ -763,7 +763,7 @@ Sub B4XPage_Appear
'PROMOS POR MONTO 'PROMOS POR MONTO
Private mPromoXMonto As Map = Subs.revisaPromoPorMonto Private mPromoXMonto As Map = Subs.revisaPromoPorMonto
LogColor("PROMOXMONTO:" & mPromoXMonto, Colors.Blue) ' LogColor("PROMOXMONTO:" & mPromoXMonto, Colors.Blue)
If mPromoXMonto.Size > 0 And clienteId <> 0 Then ' El "clienteId <> 0" es para que no la promo cuando se pida ABORDO If mPromoXMonto.Size > 0 And clienteId <> 0 Then ' El "clienteId <> 0" es para que no la promo cuando se pida ABORDO
If l_total.Text > mPromoXMonto.Get("rangoMin") And l_total.Text < mPromoXMonto.Get("precio1") Then If l_total.Text > mPromoXMonto.Get("rangoMin") And l_total.Text < mPromoXMonto.Get("precio1") Then
Log("Eres candidato a una promocion") Log("Eres candidato a una promocion")
@@ -1021,7 +1021,7 @@ Sub Guardar_Click
' B4XPages.ShowPageAndRemovePreviousPages("Principal") ' B4XPages.ShowPageAndRemovePreviousPages("Principal")
Guardar.SendToBack Guardar.SendToBack
b_inicioFinVenta.Text = "TERMINAR VENTA" b_inicioFinVenta.Text = "TERMINAR VENTA"
' Log("RESPALDO") Log("RESPALDO")
kh.RD_respaldoBatch kh.RD_respaldoBatch
If la_cuenta.Text <> "0" Then 'Si es ABORDO, no mostramos el boton b_inicioFinVenta y regresamos a Principal. If la_cuenta.Text <> "0" Then 'Si es ABORDO, no mostramos el boton b_inicioFinVenta y regresamos a Principal.
b_inicioFinVenta.Visible = True b_inicioFinVenta.Visible = True
@@ -1214,7 +1214,7 @@ Sub Imprime_ticket
Sleep(500) Sleep(500)
impresoraConectada = False impresoraConectada = False
End If End If
' If Logger Then Log($"Impresora Conectada: ${Printer1.IsConnected}"$) Log($"Impresora Conectada: ${Printer1.IsConnected}"$)
If la_cuenta.Text <> "0" And la_cuenta.Text <> "null" Then If la_cuenta.Text <> "0" And la_cuenta.Text <> "null" Then
Starter.skmt.ExecNonQuery2("UPDATE PEDIDO SET PE_TIPO = ? WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) ", Array As Object("VENTA")) Starter.skmt.ExecNonQuery2("UPDATE PEDIDO SET PE_TIPO = ? WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) ", Array As Object("VENTA"))
Starter.skmt.ExecNonQuery("UPDATE kmt_info set IMPRESION = 1 where CAT_CL_CODIGO In (select cuenta from cuentaa)")'' Starter.skmt.ExecNonQuery("UPDATE kmt_info set IMPRESION = 1 where CAT_CL_CODIGO In (select cuenta from cuentaa)")''
@@ -1280,7 +1280,14 @@ Sub Imprime_ticket
' myimage= Printer1.PackImage(myimage) ' myimage= Printer1.PackImage(myimage)
' Printer1.PrintImage(myimage) ' Printer1.PrintImage(myimage)
Sleep(1000) Sleep(1000)
Private cr As Cursor = Starter.skmt.ExecQuery("select CREDITO from kmt_info where CAT_CL_CODIGO in (select cuenta from cuentaa)")
Private formaPago As String = "Efectivo"
If cr.RowCount > 0 Then
cr.Position = 0
If cr.GetInt("CREDITO") = 1 Then formaPago = "Crédito"
End If
If la_cuenta.Text = "0" Then If la_cuenta.Text = "0" Then
LogColor(123, Colors.red)
Try Try
Printer1.WriteString("KELLOGG COMPANY MEXICO" & CRLF) Printer1.WriteString("KELLOGG COMPANY MEXICO" & CRLF)
Printer1.WriteString(sDate &" " & sTime & CRLF) Printer1.WriteString(sDate &" " & sTime & CRLF)
@@ -1293,6 +1300,9 @@ Sub Imprime_ticket
Printer1.WriteString("C.P.: " & la_cp.Text & CRLF) Printer1.WriteString("C.P.: " & la_cp.Text & CRLF)
Printer1.WriteString("Entre calle1: " & l_entre1.Text & CRLF) Printer1.WriteString("Entre calle1: " & l_entre1.Text & CRLF)
Printer1.WriteString("Entre Calle2: " & l_entre2.Text & CRLF) Printer1.WriteString("Entre Calle2: " & l_entre2.Text & CRLF)
LogColor("Entre Calle2: " & l_entre2.Text, Colors.red)
Printer1.WriteString("Forma de pago: " & formaPago & CRLF)
LogColor("Forma de pago: " & formaPago, Colors.red)
Printer1.WriteString(" " & CRLF) Printer1.WriteString(" " & CRLF)
Printer1.WriteString("------------------------------" & CRLF) Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString("PEDIDO" & CRLF) Printer1.WriteString("PEDIDO" & CRLF)
@@ -1384,6 +1394,9 @@ Sub Imprime_ticket
s=Starter.skmt.ExecQuery2("select SUM(PE_CANT) AS TOTAL FROM PEDIDO WHERE PE_TIPO = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("ABORDO")) s=Starter.skmt.ExecQuery2("select SUM(PE_CANT) AS TOTAL FROM PEDIDO WHERE PE_TIPO = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("ABORDO"))
s.Position =0 s.Position =0
Private total4 As String = "0" Private total4 As String = "0"
Log("|" & s.GetString("TOTAL") & "|")
If s.GetString("TOTAL") <> Null And IsNumber(s.GetString("TOTAL")) Then total4 = s.GetString("TOTAL") If s.GetString("TOTAL") <> Null And IsNumber(s.GetString("TOTAL")) Then total4 = s.GetString("TOTAL")
Sleep(400) Sleep(400)
Printer1.WriteString( Printer1.BOLD & "No. Productos: " & total4 & CRLF) Printer1.WriteString( Printer1.BOLD & "No. Productos: " & total4 & CRLF)
@@ -1418,6 +1431,7 @@ Sub Imprime_ticket
End Try End Try
Else Else
Try Try
LogColor(456, Colors.red)
DateTime.DateFormat = "yyyymmdd" DateTime.DateFormat = "yyyymmdd"
sDate=DateTime.Date(DateTime.Now) sDate=DateTime.Date(DateTime.Now)
Printer1.WriteString("KELLOGG COMPANY MEXICO" & CRLF) Printer1.WriteString("KELLOGG COMPANY MEXICO" & CRLF)
@@ -1436,6 +1450,9 @@ Sub Imprime_ticket
Printer1.WriteString("C.P.: " & la_cp.Text & CRLF) Printer1.WriteString("C.P.: " & la_cp.Text & CRLF)
Printer1.WriteString("Entre calle1: " & l_entre1.Text & CRLF) Printer1.WriteString("Entre calle1: " & l_entre1.Text & CRLF)
Printer1.WriteString("Entre Calle2: " & l_entre2.Text & CRLF) Printer1.WriteString("Entre Calle2: " & l_entre2.Text & CRLF)
LogColor("Entre Calle2: " & l_entre2.Text, Colors.red)
Printer1.WriteString("Forma de pago: " & formaPago & CRLF)
LogColor("Forma de pago: " & formaPago, Colors.red)
Printer1.WriteString(" " & CRLF) Printer1.WriteString(" " & CRLF)
''''''' PEDIDOS DOE ''''''' PEDIDOS DOE
@@ -1492,7 +1509,7 @@ Sub Imprime_ticket
Private cantidad1 As String = "0" Private cantidad1 As String = "0"
If s.GetString("CANTIDAD") <> Null And IsNumber(s.GetString("CANTIDAD")) Then If s.GetString("CANTIDAD") <> Null And IsNumber(s.GetString("CANTIDAD")) Then
cantidad1 = s.GetString("CANTIDAD") cantidad1 = s.GetString("CANTIDAD")
Log("|" & cantidad1 & "|")
Printer1.WriteString( "No. Productos: " & cantidad1 & CRLF) Printer1.WriteString( "No. Productos: " & cantidad1 & CRLF)
Printer1.WriteString("------------------------------" & CRLF) Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString("FIN PEDIDO DON TOÑO" & CRLF) Printer1.WriteString("FIN PEDIDO DON TOÑO" & CRLF)
@@ -1546,6 +1563,8 @@ Sub Imprime_ticket
' sTotal2 = 0 ' sTotal2 = 0
' End If ' End If
sTotal2 = kh.traeTotalCliente sTotal2 = kh.traeTotalCliente
Private cantidad1 As String = "0"
If s.GetString("CANTIDAD") <> Null And IsNumber(s.GetString("CANTIDAD")) Then cantidad1 = s.GetString("CANTIDAD")
s=Starter.skmt.ExecQuery2("select sum(PE_CANT) as CANTIDAD, SUM(PE_COSTO_TOT) AS TOTAL FROM PEDIDO WHERE PE_CEDIS <> PE_PROID AND PE_TIPO = ? and substr(pe_pronombre,1,6) = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("VENTA","CAMBIO")) s=Starter.skmt.ExecQuery2("select sum(PE_CANT) as CANTIDAD, SUM(PE_COSTO_TOT) AS TOTAL FROM PEDIDO WHERE PE_CEDIS <> PE_PROID AND PE_TIPO = ? and substr(pe_pronombre,1,6) = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("VENTA","CAMBIO"))
s.Position = 0 s.Position = 0
Private cant5 As String = s.GetString("CANTIDAD") Private cant5 As String = s.GetString("CANTIDAD")
@@ -1558,8 +1577,7 @@ Sub Imprime_ticket
Sleep(200) Sleep(200)
Printer1.WriteString(Printer1.REVERSE & "===============================" & CRLF) Printer1.WriteString(Printer1.REVERSE & "===============================" & CRLF)
Printer1.WriteString( Printer1.UNREVERSE & Printer1.BOLD & $"Sub Total Venta: $${NumberFormat2((sTotal2+(sTotal3 * -1)), 1, 2, 2, False)}"$ & CRLF) Printer1.WriteString( Printer1.UNREVERSE & Printer1.BOLD & $"Sub Total Venta: $${NumberFormat2((sTotal2+(sTotal3 * -1)), 1, 2, 2, False)}"$ & CRLF)
Private cantidad1 As String = "0" Log("|" & s.GetString("CANTIDAD") & "|" & cantidad1 & "|")
If s.GetString("CANTIDAD") <> Null And IsNumber(s.GetString("CANTIDAD")) Then cantidad1 = s.GetString("CANTIDAD")
Printer1.WriteString( Printer1.UNREVERSE & Printer1.BOLD & "No. Productos: " & cantidad1 & CRLF) Printer1.WriteString( Printer1.UNREVERSE & Printer1.BOLD & "No. Productos: " & cantidad1 & CRLF)
Printer1.WriteString(CRLF) Printer1.WriteString(CRLF)
Sleep(200) Sleep(200)
@@ -1611,6 +1629,8 @@ Sub Imprime_ticket
Printer1.WriteString(Printer1.UNREVERSE & Printer1.BOLD & "Sub Total CAMBIOS: $" & NumberFormat2(sTotal3, 1, 2, 2, False) & CRLF) Printer1.WriteString(Printer1.UNREVERSE & Printer1.BOLD & "Sub Total CAMBIOS: $" & NumberFormat2(sTotal3, 1, 2, 2, False) & CRLF)
Private cantidad2 As String = "0" Private cantidad2 As String = "0"
If s.GetString("CANTIDAD") <> Null And IsNumber(s.GetString("CANTIDAD")) Then cantidad2 = s.GetString("CANTIDAD") If s.GetString("CANTIDAD") <> Null And IsNumber(s.GetString("CANTIDAD")) Then cantidad2 = s.GetString("CANTIDAD")
Log("|" & cantidad1 & "|")
Log("|" & s.GetString("CANTIDAD") & "|" & cantidad1 & "|")
Printer1.WriteString( Printer1.UNREVERSE & Printer1.BOLD & "No. Productos: " & cantidad2 & CRLF) Printer1.WriteString( Printer1.UNREVERSE & Printer1.BOLD & "No. Productos: " & cantidad2 & CRLF)
Printer1.WriteString(CRLF) Printer1.WriteString(CRLF)
s.Close s.Close
@@ -2255,7 +2275,7 @@ Sub Cuestionario
sDate=DateTime.Date(DateTime.Now) sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now) sTime=DateTime.Time(DateTime.Now)
CUANTOS = 0 CUANTOS = 0
Log($"Tomar_Foto = ${TOMAR_FOTO}"$) ' Log($"Tomar_Foto = ${TOMAR_FOTO}"$)
If TOMAR_FOTO = 0 Then If TOMAR_FOTO = 0 Then
s=Starter.skmt.ExecQuery("select COUNT(*) AS CUANTOS from HIST_ENCUESTA where HE_CLIE In (Select cuenta from cuentaa)") s=Starter.skmt.ExecQuery("select COUNT(*) AS CUANTOS from HIST_ENCUESTA where HE_CLIE In (Select cuenta from cuentaa)")
s.Position= 0 s.Position= 0
@@ -2266,7 +2286,7 @@ Sub Cuestionario
CUANTOS2 = s.GetString("CUANTOS2") CUANTOS2 = s.GetString("CUANTOS2")
If logger Then LogColor($"Hist:encuesta=${CUANTOS}, hist_encuesta2 = ${CUANTOS2}"$, Colors.Magenta) If logger Then LogColor($"Hist:encuesta=${CUANTOS}, hist_encuesta2 = ${CUANTOS2}"$, Colors.Magenta)
End If End If
Log(CUANTOS & "|" & CUANTOS2) LogColor("----> HISTORICO ENCUESTA: " & CUANTOS & "|" & CUANTOS2, Colors.red)
If CUANTOS = 0 And CUANTOS2 = 0 Then If CUANTOS = 0 And CUANTOS2 = 0 Then
Private enc As Cursor = Starter.skmt.ExecQuery("SELECT CAT_EP_ID, CAT_EP_IDTIPOPREGUNTA, CAT_CE_DESCRIPCION, CAT_EP_PREGUNTA, CAT_EP_RES1_PRED, CAT_EP_RES2_PRED, CAT_EP_RES3_PRED, CAT_EP_ORDEN_PREGUNTA FROM CAT_ENCUESTA_PREGUNTA ORDER BY CAT_CE_DESCRIPCION, CAST(CAT_EP_ORDEN_PREGUNTA AS DECIMAL)") Private enc As Cursor = Starter.skmt.ExecQuery("SELECT CAT_EP_ID, CAT_EP_IDTIPOPREGUNTA, CAT_CE_DESCRIPCION, CAT_EP_PREGUNTA, CAT_EP_RES1_PRED, CAT_EP_RES2_PRED, CAT_EP_RES3_PRED, CAT_EP_ORDEN_PREGUNTA FROM CAT_ENCUESTA_PREGUNTA ORDER BY CAT_CE_DESCRIPCION, CAST(CAT_EP_ORDEN_PREGUNTA AS DECIMAL)")
If enc.RowCount > 0 Then If enc.RowCount > 0 Then
@@ -4112,20 +4132,19 @@ Private Sub p_pideGeoPass_Click
End Sub End Sub
Private Sub b_geopass_Click Private Sub b_geopass_Click
If et_geopass.Text.trim = "KMTS1" Then ' If et_geopass.Text.trim = "KMTS1" Then
m_lat = Starter.lat_gps ' m_lat = Starter.lat_gps
m_lon = Starter.lon_gps ' m_lon = Starter.lon_gps
GPS_LocationChanged(Starter.ubicacionActual) ' GPS_LocationChanged(Starter.ubicacionActual)
Starter.skmt.ExecNonQuery($"update kmt_info set CAT_CL_LAT = '${Starter.lat_gps}', CAT_CL_LONG = '${Starter.lon_gps}' where CAT_CL_CODIGO = '${Subs.traeCliente}'"$) ' Starter.skmt.ExecNonQuery($"update kmt_info set CAT_CL_LAT = '${Starter.lat_gps}', CAT_CL_LONG = '${Starter.lon_gps}' where CAT_CL_CODIGO = '${Subs.traeCliente}'"$)
Else ' Else
Dim cmd As DBCommand Dim cmd As DBCommand
cmd.Initialize cmd.Initialize
cmd.Name = "select_geoPass" cmd.Name = "selectBypass" ' Trae la contraseña desde la tabla "BYPASS" en web. (La ultima es KMT2025)
cmd.Parameters = Array As Object(et_geopass.Text.Trim, Subs.traeAlmacen, Subs.traeRuta) cmd.Parameters = Array As Object(et_geopass.Text.Trim)
reqManager.ExecuteQuery(cmd , 0, "traeGeoPass") reqManager.ExecuteQuery(cmd , 0, "bypass")
Log($"${Starter.DBReqServer}, ${et_geopass.Text}, ${Subs.traeAlmacen}, ${Subs.traeRuta}"$) Log($"${Starter.DBReqServer}, ${et_geopass.Text}, ${Subs.traeAlmacen}, ${Subs.traeRuta}"$)
et_geopass.Text = "" ' End If
End If
p_pideGeoPass.Visible = False p_pideGeoPass.Visible = False
ime.HideKeyboard ime.HideKeyboard
' Log("Guardamos coords") ' Log("Guardamos coords")
@@ -4153,6 +4172,24 @@ Sub JobDone(Job As HttpJob)
LogColor("JobDone: '" & reqManager.HandleJob(Job).tag & "' - Registros: " & reqManager.HandleJob(Job).Rows.Size, Colors.Green) 'Mod por CHV - 211110 LogColor("JobDone: '" & reqManager.HandleJob(Job).tag & "' - Registros: " & reqManager.HandleJob(Job).Rows.Size, Colors.Green) 'Mod por CHV - 211110
If Job.JobName = "DBRequest" Then If Job.JobName = "DBRequest" Then
Dim result As DBResult = reqManager.HandleJob(Job) Dim result As DBResult = reqManager.HandleJob(Job)
If result.Tag = "bypass" Then 'query tag
Log("SIN REGISTROS " & result.Rows.Size)
Subs.logJobDoneResultados(result)
If result.Rows.Size = 1 Then ' Si hay contraseña de bypass
m_lat = Starter.lat_gps
m_lon = Starter.lon_gps
GPS_LocationChanged(Starter.ubicacionActual)
Starter.skmt.ExecNonQuery($"update kmt_info set CAT_CL_LAT = '${Starter.lat_gps}', CAT_CL_LONG = '${Starter.lon_gps}' where CAT_CL_CODIGO = '${Subs.traeCliente}'"$)
else if result.Rows.Size = 0 Then
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "select_geoPass"
cmd.Parameters = Array As Object(et_geopass.Text.Trim, Subs.traeAlmacen, Subs.traeRuta)
reqManager.ExecuteQuery(cmd , 0, "traeGeoPass")
Log($"${Starter.DBReqServer}, ${et_geopass.Text}, ${Subs.traeAlmacen}, ${Subs.traeRuta}"$)
et_geopass.Text = ""
End If
End If
If result.Tag = "traeGeoPass" Then 'query tag If result.Tag = "traeGeoPass" Then 'query tag
Log("SIN REGISTROS " & result.Rows.Size) Log("SIN REGISTROS " & result.Rows.Size)
If result.Rows.Size = 0 Then MsgboxAsync("Contraseña equivocada, por favor intente de nuevo.", "ATENCION") If result.Rows.Size = 0 Then MsgboxAsync("Contraseña equivocada, por favor intente de nuevo.", "ATENCION")
@@ -4170,7 +4207,7 @@ Sub JobDone(Job As HttpJob)
cmd.Initialize cmd.Initialize
cmd.Name = "delete_geoPass" cmd.Name = "delete_geoPass"
cmd.Parameters = Array As Object( Subs.traeAlmacen, Subs.traeRuta) cmd.Parameters = Array As Object( Subs.traeAlmacen, Subs.traeRuta)
reqManager.ExecuteQuery(cmd , 0, "traeGeoPass") reqManager.ExecuteCommand(cmd , "borraGeoPass")
End If End If
Next Next
End If End If
@@ -4322,7 +4359,7 @@ Private Sub b_inicioFinVenta_Click
Else Else
Subs.bitacora(Subs.fechanormal(DateTime.Now), usuario, Id_Almacen, ruta_tienda, "Inicia Venta", Subs.traeCliente, Subs.fechanormal(DateTime.Now), "", Starter.lat_gps, Starter.lon_gps, precision, motivoNoVenta, "") Subs.bitacora(Subs.fechanormal(DateTime.Now), usuario, Id_Almacen, ruta_tienda, "Inicia Venta", Subs.traeCliente, Subs.fechanormal(DateTime.Now), "", Starter.lat_gps, Starter.lon_gps, precision, motivoNoVenta, "")
Starter.enVenta = True Starter.enVenta = True
LogColor($">>>>>> INICIA VENTA: ${Starter.enVenta} - ${Subs.traeCliente}"$, Colors.red) ' LogColor($">>>>>> INICIA VENTA: ${Starter.enVenta} - ${Subs.traeCliente}"$, Colors.red)
End If End If
b_inicioFinVenta.Visible = False b_inicioFinVenta.Visible = False
End Sub End Sub

View File

@@ -246,17 +246,17 @@ Private Sub B4XPage_Created (Root1 As B4XView)
f = Starter.skmt.ExecQuery("select CAT_CL_RUTA from kmt_info limit 1") f = Starter.skmt.ExecQuery("select CAT_CL_RUTA from kmt_info limit 1")
l_ruta.Text = "-" l_ruta.Text = "-"
If f.RowCount > 0 Then If f.RowCount > 0 Then
Log(1) ' Log(1)
f.Position = 0 f.Position = 0
Log($"Ruta desde BD: ${f.GetString("CAT_CL_RUTA")}"$) ' Log($"Ruta desde BD: ${f.GetString("CAT_CL_RUTA")}"$)
l_ruta.Text = f.GetString("CAT_CL_RUTA") l_ruta.Text = f.GetString("CAT_CL_RUTA")
End If End If
f.Close f.Close
If l_ruta.Text = "-" Then If l_ruta.Text = "-" Then
Log(2) ' Log(2)
l_ruta.Text = "-" l_ruta.Text = "-"
Else Else
Log(3) ' Log(3)
f = Starter.skmt.ExecQuery("select CAT_CL_RUTA from kmt_info") f = Starter.skmt.ExecQuery("select CAT_CL_RUTA from kmt_info")
f.Position = 0 f.Position = 0
l_ruta.Text = f.GetString("CAT_CL_RUTA") l_ruta.Text = f.GetString("CAT_CL_RUTA")
@@ -328,10 +328,17 @@ Sub B4XPage_Appear
' StartActivity(In) ' StartActivity(In)
' End If ' End If
' End If ' End If
If Subs.traeUltimaActividadBD <> "principal" Then Subs.iniciaActividad(Subs.traeUltimaActividadBD) If Subs.traeUltimaActividadBD <> "principal" Then Subs.iniciaActividad(Subs.traeUltimaActividadBD)
borraClientesNuevosSinVenta borraClientesNuevosSinVenta
reqManager.Initialize(Me, Starter.DBReqServer) reqManager.Initialize(Me, Starter.DBReqServer)
Log($"DBREQSERVER = ${Starter.DBReqServer}"$) Log($"DBREQSERVER = ${Starter.DBReqServer}"$)
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "select_version_KELL"
reqManager.ExecuteQuery(cmd , 0, "version")
' If Not(btAdmin.IsEnabled) Then btAdmin.Enable 'Si no esta prendido el BT, lo prendemos. ' If Not(btAdmin.IsEnabled) Then btAdmin.Enable 'Si no esta prendido el BT, lo prendemos.
e_ruta.Enabled = True e_ruta.Enabled = True
@@ -766,6 +773,7 @@ Sub cargar_Click
cmd.Initialize cmd.Initialize
cmd.Name = "SELECT_HIST_ENCUESTA_KELL" cmd.Name = "SELECT_HIST_ENCUESTA_KELL"
cmd.Parameters = Array As Object( e_ruta.text, ALMACEN,e_ruta.text, ALMACEN,e_ruta.text, ALMACEN,e_ruta.text, ALMACEN ) cmd.Parameters = Array As Object( e_ruta.text, ALMACEN,e_ruta.text, ALMACEN,e_ruta.text, ALMACEN,e_ruta.text, ALMACEN )
' cmd.Parameters = Array As Object( e_ruta.text, ALMACEN )
reqManager.ExecuteQuery(cmd , 0, "HIST_ENCUESTA2") reqManager.ExecuteQuery(cmd , 0, "HIST_ENCUESTA2")
' Log($"${e_ruta.text}, ${ALMACEN},${e_ruta.text}, ${ALMACEN},${e_ruta.text}, ${ALMACEN},${e_ruta.text}, ${ALMACEN}"$) ' Log($"${e_ruta.text}, ${ALMACEN},${e_ruta.text}, ${ALMACEN},${e_ruta.text}, ${ALMACEN},${e_ruta.text}, ${ALMACEN}"$)
@@ -848,6 +856,18 @@ Sub cargar_Click
cmd.Parameters = Array As Object(e_ruta.text, ALMACEN) cmd.Parameters = Array As Object(e_ruta.text, ALMACEN)
reqManager.ExecuteQuery(cmd , 0, "promo_monto") reqManager.ExecuteQuery(cmd , 0, "promo_monto")
cmd.Initialize
cmd.Name = "traeNumSemanaActualCalendarioLaboral"
cmd.Parameters = Array As Object( e_ruta.text, ALMACEN,e_ruta.text, ALMACEN,e_ruta.text, ALMACEN,e_ruta.text, ALMACEN )
reqManager.ExecuteQuery(cmd , 0, "semanaCalLaboral")
cmd.Initialize
cmd.Name = "traeInfoTrendSpending"
' cmd.Parameters = Array As Object(e_ruta.text, ALMACEN)
cmd.Parameters = Array As Object(238, 2)
reqManager.ExecuteQuery(cmd , 0, "trendSpending")
LogColor($"Trend Spending: Ruta: ${e_ruta.text}, almacen: ${ALMACEN}"$, Colors.red)
If E_RUTA2.Text <> "" Then If E_RUTA2.Text <> "" Then
cmd.Initialize cmd.Initialize
cmd.Name = "select_cat_clientes_guna_KELL2" cmd.Name = "select_cat_clientes_guna_KELL2"
@@ -1060,8 +1080,9 @@ Sub JobDone(Job As HttpJob)
Dim CAT_CL_CATEGORIA As String = records(RESULT.Columns.Get("CAT_CL_CATEGORIA")) Dim CAT_CL_CATEGORIA As String = records(RESULT.Columns.Get("CAT_CL_CATEGORIA"))
Dim CAT_CL_SEGMENTO As String = records(RESULT.Columns.Get("CAT_CL_SEGMENTO")) Dim CAT_CL_SEGMENTO As String = records(RESULT.Columns.Get("CAT_CL_SEGMENTO"))
Dim CAT_CL_LIMITECREDITO As String = records(RESULT.Columns.Get("CAT_CL_LIMITECREDITO")) Dim CAT_CL_LIMITECREDITO As String = records(RESULT.Columns.Get("CAT_CL_LIMITECREDITO"))
Dim CREDITO As String = records(RESULT.Columns.Get("CAT_CL_BCREDITO"))
' LogColor("CAT_CL_LIMITECREDITO:" & CAT_CL_LIMITECREDITO & " -- ID: " & CAT_CL_CODIGO, Colors.red) ' LogColor("CAT_CL_LIMITECREDITO:" & CAT_CL_LIMITECREDITO & " -- ID: " & CAT_CL_CODIGO, Colors.red)
Starter.skmt.ExecNonQuery2("INSERT INTO kmt_info(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_BFACTURA,CAT_CL_BCREDITO,CAT_CL_DIAS_VISITA,CAT_CL_TIPO_RUTA, gestion, IMPRESION, CAT_CL_CATEGORIA, CAT_CL_SEGMENTO,CAT_CL_LIMITECREDITO) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,0,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_LAT,CAT_CL_LONG,CAT_CL_MTOCOMPRA,CAT_CL_NUM_SERIEFISICO,CAT_CL_BFACTURA,CAT_CL_BCREDITO,CAT_CL_DIAS_VISITA,CAT_CL_TIPO_RUTA,CAT_CL_CATEGORIA, CAT_CL_SEGMENTO,CAT_CL_LIMITECREDITO)) Starter.skmt.ExecNonQuery2("INSERT INTO kmt_info(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_BFACTURA,CAT_CL_BCREDITO,CAT_CL_DIAS_VISITA,CAT_CL_TIPO_RUTA, gestion, IMPRESION, CAT_CL_CATEGORIA, CAT_CL_SEGMENTO,CAT_CL_LIMITECREDITO, CREDITO) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,0,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_LAT,CAT_CL_LONG,CAT_CL_MTOCOMPRA,CAT_CL_NUM_SERIEFISICO,CAT_CL_BFACTURA,CAT_CL_BCREDITO,CAT_CL_DIAS_VISITA,CAT_CL_TIPO_RUTA,CAT_CL_CATEGORIA, CAT_CL_SEGMENTO,CAT_CL_LIMITECREDITO,CREDITO))
Next Next
Starter.skmt.ExecNonQuery2("INSERT INTO kmt_info(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_BFACTURA,CAT_CL_BCREDITO,CAT_CL_MTOCOMPRA,CAT_CL_NUM_SERIEFISICO,CAT_CL_DIAS_VISITA, gestion, IMPRESION) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,0,0,0,?,0,0) ",Array As Object ("0",e_ruta.TEXT, "VENTA ABORDO","null","null","null","null","null","null","null","null","null","null","null","0","null","null","null","10000000","null")) Starter.skmt.ExecNonQuery2("INSERT INTO kmt_info(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_BFACTURA,CAT_CL_BCREDITO,CAT_CL_MTOCOMPRA,CAT_CL_NUM_SERIEFISICO,CAT_CL_DIAS_VISITA, gestion, IMPRESION) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,0,0,0,?,0,0) ",Array As Object ("0",e_ruta.TEXT, "VENTA ABORDO","null","null","null","null","null","null","null","null","null","null","null","0","null","null","null","10000000","null"))
Starter.skmt.TransactionSuccessful 'Si no se pone TransactionSuccessful no se escribe NADA!! Starter.skmt.TransactionSuccessful 'Si no se pone TransactionSuccessful no se escribe NADA!!
@@ -1076,10 +1097,7 @@ Sub JobDone(Job As HttpJob)
End If End If
End If End If
bcarga1 = 20 bcarga1 = 20
End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = reqManager.HandleJob(Job)
If RESULT.Tag = "hist_promos" Then 'query tag If RESULT.Tag = "hist_promos" Then 'query tag
If logger Then Log("TIEMPO hist_promos : " & ((DateTime.Now-inicioContador)/1000)) If logger Then Log("TIEMPO hist_promos : " & ((DateTime.Now-inicioContador)/1000))
Starter.skmt.BeginTransaction Starter.skmt.BeginTransaction
@@ -1101,10 +1119,7 @@ Sub JobDone(Job As HttpJob)
S_CH.Text = "LISTO" S_CH.Text = "LISTO"
End If End If
End If End If
End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = reqManager.HandleJob(Job)
If RESULT.Tag = "hist_cliente_promos" Then 'query tag If RESULT.Tag = "hist_cliente_promos" Then 'query tag
If logger Then Log("TIEMPO hist_cliente_promos : " & ((DateTime.Now-inicioContador)/1000)) If logger Then Log("TIEMPO hist_cliente_promos : " & ((DateTime.Now-inicioContador)/1000))
Starter.skmt.BeginTransaction Starter.skmt.BeginTransaction
@@ -1120,10 +1135,7 @@ Sub JobDone(Job As HttpJob)
Starter.skmt.EndTransaction Starter.skmt.EndTransaction
' ToastMessageShow(" Historico Clientes Promociones Actualizado." , True) ' ToastMessageShow(" Historico Clientes Promociones Actualizado." , True)
End If End If
End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = reqManager.HandleJob(Job)
If RESULT.Tag = "hist_comp_promos" Then 'query tag If RESULT.Tag = "hist_comp_promos" Then 'query tag
If logger Then Log("TIEMPO hist_comp_promos : " & ((DateTime.Now-inicioContador)/1000)) If logger Then Log("TIEMPO hist_comp_promos : " & ((DateTime.Now-inicioContador)/1000))
Starter.skmt.BeginTransaction Starter.skmt.BeginTransaction
@@ -1150,10 +1162,7 @@ Sub JobDone(Job As HttpJob)
S_CH.Text = "LISTO" S_CH.Text = "LISTO"
End If End If
End If End If
End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = reqManager.HandleJob(Job)
If RESULT.Tag = "promo_monto" Then 'query tag If RESULT.Tag = "promo_monto" Then 'query tag
For Each records() As Object In RESULT.Rows For Each records() As Object In RESULT.Rows
Dim CPM_CLIENTE As String = records(RESULT.Columns.Get("CPM_CLIENTE")) Dim CPM_CLIENTE As String = records(RESULT.Columns.Get("CPM_CLIENTE"))
@@ -1163,17 +1172,11 @@ Sub JobDone(Job As HttpJob)
Dim CPM_CANT As String = records(RESULT.Columns.Get("CPM_CANT")) Dim CPM_CANT As String = records(RESULT.Columns.Get("CPM_CANT"))
Dim CPM_RANGO As String = records(RESULT.Columns.Get("CPM_RANGO")) Dim CPM_RANGO As String = records(RESULT.Columns.Get("CPM_RANGO"))
Dim CPM_DESC As String = records(RESULT.Columns.Get("CPM_DESC")) Dim CPM_DESC As String = records(RESULT.Columns.Get("CPM_DESC"))
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_PROMO_MONTO(CPM_CLIENTE, CPM_IDPROMO, CPM_MONTO, CPM_PROID, CPM_CANT, CPM_RANGO, CPM_DESC) VALUES (?,?,?,?,?,?,?)", Array As Object (CPM_CLIENTE, CPM_IDPROMO, CPM_MONTO, CPM_PROID, CPM_CANT, CPM_RANGO, CPM_DESC)) Starter.skmt.ExecNonQuery2("INSERT INTO CAT_PROMO_MONTO(CPM_CLIENTE, CPM_IDPROMO, CPM_MONTO, CPM_PROID, CPM_CANT, CPM_RANGO, CPM_DESC) VALUES (?,?,?,?,?,?,?)", Array As Object (CPM_CLIENTE, CPM_IDPROMO, CPM_MONTO, CPM_PROID, CPM_CANT, CPM_RANGO, CPM_DESC))
Next Next
End If End If
End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = reqManager.HandleJob(Job)
If RESULT.Tag = "PEDIDOsugerido" Then 'query tag If RESULT.Tag = "PEDIDOsugerido" Then 'query tag
For Each records() As Object In RESULT.Rows For Each records() As Object In RESULT.Rows
Dim ID_PRODUCTO As String = records(RESULT.Columns.Get("ID_PRODUCTO")) Dim ID_PRODUCTO As String = records(RESULT.Columns.Get("ID_PRODUCTO"))
Dim CANTIDAD As String = records(RESULT.Columns.Get("PROMEDIO")) Dim CANTIDAD As String = records(RESULT.Columns.Get("PROMEDIO"))
@@ -1185,10 +1188,7 @@ Sub JobDone(Job As HttpJob)
Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO_SUGERIDO(ID_PRODUCTO, PROMEDIO,RUTA, ALMACEN) VALUES (?,?,?,?)", Array As Object (ID_PRODUCTO, CANTIDAD, e_ruta.Text, ALMACEN)) Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO_SUGERIDO(ID_PRODUCTO, PROMEDIO,RUTA, ALMACEN) VALUES (?,?,?,?)", Array As Object (ID_PRODUCTO, CANTIDAD, e_ruta.Text, ALMACEN))
Next Next
End If End If
End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = reqManager.HandleJob(Job)
If RESULT.Tag = "cat_verificacion" Then 'query tag If RESULT.Tag = "cat_verificacion" Then 'query tag
For Each records() As Object In RESULT.Rows For Each records() As Object In RESULT.Rows
Dim CAT_VE_IDPROD As String = records(RESULT.Columns.Get("CAT_VE_IDPROD")) Dim CAT_VE_IDPROD As String = records(RESULT.Columns.Get("CAT_VE_IDPROD"))
@@ -1197,10 +1197,7 @@ Sub JobDone(Job As HttpJob)
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VERIFICACION(CAT_VE_IDPROD, CAT_VE_NOMBRE,CAT_VE_ORDEN) VALUES (?,?,?)", Array As Object (CAT_VE_IDPROD, CAT_VE_NOMBRE,CAT_VE_ORDEN)) Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VERIFICACION(CAT_VE_IDPROD, CAT_VE_NOMBRE,CAT_VE_ORDEN) VALUES (?,?,?)", Array As Object (CAT_VE_IDPROD, CAT_VE_NOMBRE,CAT_VE_ORDEN))
Next Next
End If End If
End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = reqManager.HandleJob(Job)
If RESULT.Tag = "DESCUENTOS_CLIENTE" Then 'query tag If RESULT.Tag = "DESCUENTOS_CLIENTE" Then 'query tag
If logger Then Log("TIEMPO DESCUENTOS_CIENTE : " & ((DateTime.Now-inicioContador)/1000)) If logger Then Log("TIEMPO DESCUENTOS_CIENTE : " & ((DateTime.Now-inicioContador)/1000))
Starter.skmt.BeginTransaction Starter.skmt.BeginTransaction
@@ -1215,11 +1212,8 @@ Sub JobDone(Job As HttpJob)
Starter.skmt.TransactionSuccessful Starter.skmt.TransactionSuccessful
Starter.skmt.EndTransaction Starter.skmt.EndTransaction
End If End If
End If
' DESCUENTOS SKU ' DESCUENTOS SKU
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = reqManager.HandleJob(Job)
If RESULT.Tag = "DESCUENTOS_CLIENTE_SKU" Then 'query tag If RESULT.Tag = "DESCUENTOS_CLIENTE_SKU" Then 'query tag
If logger Then Log("TIEMPO DESCUENTOS_CLIENTE_SKU : " & ((DateTime.Now-inicioContador)/1000)) If logger Then Log("TIEMPO DESCUENTOS_CLIENTE_SKU : " & ((DateTime.Now-inicioContador)/1000))
Starter.skmt.BeginTransaction Starter.skmt.BeginTransaction
@@ -1232,10 +1226,7 @@ Sub JobDone(Job As HttpJob)
Starter.skmt.TransactionSuccessful Starter.skmt.TransactionSuccessful
Starter.skmt.EndTransaction Starter.skmt.EndTransaction
End If End If
End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = reqManager.HandleJob(Job)
If RESULT.Tag = "hist_abordo" Then 'query tag If RESULT.Tag = "hist_abordo" Then 'query tag
If logger Then Log("TIEMPO hist_abordo : " & ((DateTime.Now-inicioContador)/1000)) If logger Then Log("TIEMPO hist_abordo : " & ((DateTime.Now-inicioContador)/1000))
Starter.skmt.BeginTransaction Starter.skmt.BeginTransaction
@@ -1247,10 +1238,7 @@ Sub JobDone(Job As HttpJob)
Starter.skmt.TransactionSuccessful Starter.skmt.TransactionSuccessful
Starter.skmt.EndTransaction Starter.skmt.EndTransaction
End If End If
End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = reqManager.HandleJob(Job)
If RESULT.Tag = "gunaprod" Then 'query tag If RESULT.Tag = "gunaprod" Then 'query tag
' Subs.logJobDoneResultados(RESULT) ' Subs.logJobDoneResultados(RESULT)
cargar.Enabled = True cargar.Enabled = True
@@ -1273,9 +1261,10 @@ Sub JobDone(Job As HttpJob)
Dim CAT_GP_TIPOPROD As Int = records(RESULT.Columns.Get("CAT_GP_TIPOPROD")) Dim CAT_GP_TIPOPROD As Int = records(RESULT.Columns.Get("CAT_GP_TIPOPROD"))
Dim CAT_GP_INICIATIVA As Int = records(RESULT.Columns.Get("CAT_GP_INICIATIVA")) Dim CAT_GP_INICIATIVA As Int = records(RESULT.Columns.Get("CAT_GP_INICIATIVA"))
Dim CAT_GP_TIPOPROD2 As String = records(RESULT.Columns.Get("CAT_GP_TIPOPROD2")) Dim CAT_GP_TIPOPROD2 As String = records(RESULT.Columns.Get("CAT_GP_TIPOPROD2"))
Dim CAT_GP_PROMOCION As String = records(RESULT.Columns.Get("CAT_GP_PROMOCION"))
'CAT_GP_INICIATIVA = 5 'CAT_GP_INICIATIVA = 5
' skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_DEV) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_DEV)) ' skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_DEV) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_DEV))
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_TIPOPROD,CAT_GP_INICIATIVA,CAT_GP_DEV,CAT_GP_CODPROMO,CAT_GP_TIPOPROD2) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,0,?)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_TIPOPROD, CAT_GP_INICIATIVA,CAT_GP_DEV, CAT_GP_TIPOPROD2)) Starter.skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_TIPOPROD,CAT_GP_INICIATIVA,CAT_GP_DEV,CAT_GP_CODPROMO,CAT_GP_TIPOPROD2,CAT_GP_PROMOCION) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,0,?,?)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_TIPOPROD, CAT_GP_INICIATIVA,CAT_GP_DEV, CAT_GP_TIPOPROD2,CAT_GP_PROMOCION))
Next Next
Starter.skmt.TransactionSuccessful Starter.skmt.TransactionSuccessful
Starter.skmt.EndTransaction Starter.skmt.EndTransaction
@@ -1303,11 +1292,8 @@ Sub JobDone(Job As HttpJob)
EJECUTANDO = 0 EJECUTANDO = 0
End If End If
End If End If
End If
' CARGA DEL CATALOGO ABORDO ' CARGA DEL CATALOGO ABORDO
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = reqManager.HandleJob(Job)
If RESULT.Tag = "gunaprod2" Then 'query tag If RESULT.Tag = "gunaprod2" Then 'query tag
cargar.Enabled = True cargar.Enabled = True
If logger Then Log("TIEMPO gunaprod2 : " & ((DateTime.Now-inicioContador)/1000)) If logger Then Log("TIEMPO gunaprod2 : " & ((DateTime.Now-inicioContador)/1000))
@@ -1359,10 +1345,7 @@ Sub JobDone(Job As HttpJob)
' skmt.ExecNonQuery2("INSERT INTO COUNT_GUNAPROD2(CAT_GP_CLASIF, CUANTOS) VALUES (?,?)", Array As Object (c.GetString("CAT_GP_CLASIF"), c.GetString("CUANTOS"))) ' skmt.ExecNonQuery2("INSERT INTO COUNT_GUNAPROD2(CAT_GP_CLASIF, CUANTOS) VALUES (?,?)", Array As Object (c.GetString("CAT_GP_CLASIF"), c.GetString("CUANTOS")))
' c.Close ' c.Close
End If End If
End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = reqManager.HandleJob(Job)
If RESULT.Tag = "gunaprodp" Then 'query tag If RESULT.Tag = "gunaprodp" Then 'query tag
If logger Then Log("TIEMPO gunaprodp : " & ((DateTime.Now-inicioContador)/1000)) If logger Then Log("TIEMPO gunaprodp : " & ((DateTime.Now-inicioContador)/1000))
Starter.skmt.BeginTransaction Starter.skmt.BeginTransaction
@@ -1408,10 +1391,7 @@ Sub JobDone(Job As HttpJob)
EJECUTANDO = 0 EJECUTANDO = 0
End If End If
End If End If
End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = reqManager.HandleJob(Job)
If RESULT.Tag = "gunaprodps" Then 'query tag If RESULT.Tag = "gunaprodps" Then 'query tag
Starter.skmt.BeginTransaction Starter.skmt.BeginTransaction
For Each records() As Object In RESULT.Rows For Each records() As Object In RESULT.Rows
@@ -1455,10 +1435,7 @@ Sub JobDone(Job As HttpJob)
EJECUTANDO = 0 EJECUTANDO = 0
End If End If
End If End If
End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = reqManager.HandleJob(Job)
If RESULT.Tag = "detallepaq" Then 'query tag If RESULT.Tag = "detallepaq" Then 'query tag
If logger Then Log("TIEMPO detallepaq : " & ((DateTime.Now-inicioContador)/1000)) If logger Then Log("TIEMPO detallepaq : " & ((DateTime.Now-inicioContador)/1000))
Starter.skmt.BeginTransaction Starter.skmt.BeginTransaction
@@ -1474,7 +1451,8 @@ Sub JobDone(Job As HttpJob)
Dim CAT_DP_CLASIF As String = records(RESULT.Columns.Get("CAT_DP_CLASIF")) Dim CAT_DP_CLASIF As String = records(RESULT.Columns.Get("CAT_DP_CLASIF"))
Dim CAT_DP_PRECIO As String = records(RESULT.Columns.Get("CAT_DP_PRECIO")) Dim CAT_DP_PRECIO As String = records(RESULT.Columns.Get("CAT_DP_PRECIO"))
Dim CAT_DP_PRECIO_SIMPTOS As String = records(RESULT.Columns.Get("CAT_DP_PRECIO_SIMPTOS")) Dim CAT_DP_PRECIO_SIMPTOS As String = records(RESULT.Columns.Get("CAT_DP_PRECIO_SIMPTOS"))
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_DETALLES_PAQ(CAT_DP_ALMACEN,CAT_DP_ID,CAT_DP_IDPROD,CAT_DP_TIPO,CAT_DP_PZAS,CAT_DP_USUARIO,CAT_DP_FECHA,CAT_DP_REGALO,CAT_DP_CLASIF,CAT_DP_PRECIO,CAT_DP_PRECIO_SIMPTOS) VALUES (?,?,?,?,?,?,?,?,?,?,?)", Array As Object (CAT_DP_ALMACEN,CAT_DP_ID,CAT_DP_IDPROD,CAT_DP_TIPO,CAT_DP_PZAS,CAT_DP_USUARIO,CAT_DP_FECHA,CAT_DP_REGALO,CAT_DP_CLASIF,CAT_DP_PRECIO,CAT_DP_PRECIO_SIMPTOS)) Dim CAT_DP_PRECIOB As String = records(RESULT.Columns.Get("CAT_DP_PRECIOB"))
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_DETALLES_PAQ(CAT_DP_ALMACEN,CAT_DP_ID,CAT_DP_IDPROD,CAT_DP_TIPO,CAT_DP_PZAS,CAT_DP_USUARIO,CAT_DP_FECHA,CAT_DP_REGALO,CAT_DP_CLASIF,CAT_DP_PRECIO,CAT_DP_PRECIO_SIMPTOS,CAT_DP_PRECIOB) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (CAT_DP_ALMACEN,CAT_DP_ID,CAT_DP_IDPROD,CAT_DP_TIPO,CAT_DP_PZAS,CAT_DP_USUARIO,CAT_DP_FECHA,CAT_DP_REGALO,CAT_DP_CLASIF,CAT_DP_PRECIO,CAT_DP_PRECIO_SIMPTOS,CAT_DP_PRECIOB))
Next Next
Starter.skmt.TransactionSuccessful Starter.skmt.TransactionSuccessful
Starter.skmt.EndTransaction Starter.skmt.EndTransaction
@@ -1500,10 +1478,7 @@ Sub JobDone(Job As HttpJob)
EJECUTANDO = 0 EJECUTANDO = 0
End If End If
End If End If
End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = reqManager.HandleJob(Job)
If RESULT.Tag = "hist_datos" Then 'query tag If RESULT.Tag = "hist_datos" Then 'query tag
If logger Then Log("TIEMPO hist_datos : " & ((DateTime.Now-inicioContador)/1000)) If logger Then Log("TIEMPO hist_datos : " & ((DateTime.Now-inicioContador)/1000))
Starter.skmt.BeginTransaction Starter.skmt.BeginTransaction
@@ -1534,10 +1509,7 @@ Sub JobDone(Job As HttpJob)
EJECUTANDO = 0 EJECUTANDO = 0
End If End If
End If End If
End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = reqManager.HandleJob(Job)
If RESULT.Tag = "hist_rmi" Then 'query tag If RESULT.Tag = "hist_rmi" Then 'query tag
If logger Then Log("TIEMPO hist_rmi : " & ((DateTime.Now-inicioContador)/1000)) If logger Then Log("TIEMPO hist_rmi : " & ((DateTime.Now-inicioContador)/1000))
For Each records() As Object In RESULT.Rows For Each records() As Object In RESULT.Rows
@@ -1566,10 +1538,7 @@ Sub JobDone(Job As HttpJob)
EJECUTANDO = 0 EJECUTANDO = 0
End If End If
End If End If
End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = reqManager.HandleJob(Job)
If RESULT.Tag = "variables" Then 'query tag If RESULT.Tag = "variables" Then 'query tag
For Each records() As Object In RESULT.Rows For Each records() As Object In RESULT.Rows
Dim Cat_Va_Descripcion As String = records(RESULT.Columns.Get("CAT_VA_DESCRIPCION")) Dim Cat_Va_Descripcion As String = records(RESULT.Columns.Get("CAT_VA_DESCRIPCION"))
@@ -1577,10 +1546,7 @@ Sub JobDone(Job As HttpJob)
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object (Cat_Va_Descripcion, Cat_Va_Valor)) Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object (Cat_Va_Descripcion, Cat_Va_Valor))
Next Next
End If End If
End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = reqManager.HandleJob(Job)
If RESULT.Tag = "limite_abordo" Then 'query tag If RESULT.Tag = "limite_abordo" Then 'query tag
If logger Then Log("TIEMPO limite_abordo : " & ((DateTime.Now-inicioContador)/1000)) If logger Then Log("TIEMPO limite_abordo : " & ((DateTime.Now-inicioContador)/1000))
For Each records() As Object In RESULT.Rows For Each records() As Object In RESULT.Rows
@@ -1594,10 +1560,7 @@ Sub JobDone(Job As HttpJob)
End If End If
Next Next
End If End If
End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = reqManager.HandleJob(Job)
If RESULT.Tag = "carga_encuesta" Then 'query tag If RESULT.Tag = "carga_encuesta" Then 'query tag
If logger Then Log("TIEMPO carga_encuesta : " & ((DateTime.Now-inicioContador)/1000)) If logger Then Log("TIEMPO carga_encuesta : " & ((DateTime.Now-inicioContador)/1000))
For Each records() As Object In RESULT.Rows For Each records() As Object In RESULT.Rows
@@ -1612,10 +1575,7 @@ Sub JobDone(Job As HttpJob)
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_ENCUESTA_PREGUNTA (CAT_EP_ID ,CAT_EP_IDTIPOPREGUNTA ,CAT_CE_DESCRIPCION ,CAT_EP_PREGUNTA ,CAT_EP_RES1_PRED ,CAT_EP_RES2_PRED ,CAT_EP_RES3_PRED ,CAT_EP_ORDEN_PREGUNTA ) VALUES (?,?,?,?,?,?,?,?)", Array As Object (CAT_EP_ID ,CAT_EP_IDTIPOPREGUNTA ,CAT_CE_DESCRIPCION ,CAT_EP_PREGUNTA ,CAT_EP_RES1_PRED ,CAT_EP_RES2_PRED ,CAT_EP_RES3_PRED ,CAT_EP_ORDEN_PREGUNTA)) Starter.skmt.ExecNonQuery2("INSERT INTO CAT_ENCUESTA_PREGUNTA (CAT_EP_ID ,CAT_EP_IDTIPOPREGUNTA ,CAT_CE_DESCRIPCION ,CAT_EP_PREGUNTA ,CAT_EP_RES1_PRED ,CAT_EP_RES2_PRED ,CAT_EP_RES3_PRED ,CAT_EP_ORDEN_PREGUNTA ) VALUES (?,?,?,?,?,?,?,?)", Array As Object (CAT_EP_ID ,CAT_EP_IDTIPOPREGUNTA ,CAT_CE_DESCRIPCION ,CAT_EP_PREGUNTA ,CAT_EP_RES1_PRED ,CAT_EP_RES2_PRED ,CAT_EP_RES3_PRED ,CAT_EP_ORDEN_PREGUNTA))
Next Next
End If End If
End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = reqManager.HandleJob(Job)
If RESULT.Tag = "carga_encuesta_cliente" Then 'query tag If RESULT.Tag = "carga_encuesta_cliente" Then 'query tag
If logger Then Log("TIEMPO carga_encuesta_cliente : " & ((DateTime.Now-inicioContador)/1000)) If logger Then Log("TIEMPO carga_encuesta_cliente : " & ((DateTime.Now-inicioContador)/1000))
For Each records() As Object In RESULT.Rows For Each records() As Object In RESULT.Rows
@@ -1624,10 +1584,7 @@ Sub JobDone(Job As HttpJob)
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_ENCUESTA_CLIENTE(HIST_ECD_IDGRUPO ,HIST_ECD_CLIENTE) VALUES (?,?)", Array As Object (HIST_ECD_IDGRUPO ,HIST_ECD_CLIENTE)) Starter.skmt.ExecNonQuery2("INSERT INTO CAT_ENCUESTA_CLIENTE(HIST_ECD_IDGRUPO ,HIST_ECD_CLIENTE) VALUES (?,?)", Array As Object (HIST_ECD_IDGRUPO ,HIST_ECD_CLIENTE))
Next Next
End If End If
End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = reqManager.HandleJob(Job)
If RESULT.Tag = "valida_pedido" Then 'query tag If RESULT.Tag = "valida_pedido" Then 'query tag
If logger Then Log("TIEMPO valida_pedido : " & ((DateTime.Now-inicioContador)/1000)) If logger Then Log("TIEMPO valida_pedido : " & ((DateTime.Now-inicioContador)/1000))
For Each records() As Object In RESULT.Rows For Each records() As Object In RESULT.Rows
@@ -1641,10 +1598,7 @@ Sub JobDone(Job As HttpJob)
End If End If
Next Next
End If End If
End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = reqManager.HandleJob(Job)
If RESULT.Tag = "valida_pedido1" Then 'query tag If RESULT.Tag = "valida_pedido1" Then 'query tag
For Each records() As Object In RESULT.Rows For Each records() As Object In RESULT.Rows
Dim CUANTOSP As Int = records(RESULT.Columns.Get("CUANTOSP")) Dim CUANTOSP As Int = records(RESULT.Columns.Get("CUANTOSP"))
@@ -1664,10 +1618,7 @@ Sub JobDone(Job As HttpJob)
End If End If
Next Next
End If End If
End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = reqManager.HandleJob(Job)
If RESULT.Tag = "valida_pedidoc" Then 'query tag If RESULT.Tag = "valida_pedidoc" Then 'query tag
For Each records() As Object In RESULT.Rows For Each records() As Object In RESULT.Rows
Dim CUANTOSC As Int = records(RESULT.Columns.Get("CUANTOSC")) Dim CUANTOSC As Int = records(RESULT.Columns.Get("CUANTOSC"))
@@ -1679,10 +1630,7 @@ Sub JobDone(Job As HttpJob)
End If End If
Next Next
End If End If
End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = reqManager.HandleJob(Job)
If RESULT.Tag = "valida_noventa" Then 'query tag If RESULT.Tag = "valida_noventa" Then 'query tag
For Each records() As Object In RESULT.Rows For Each records() As Object In RESULT.Rows
Dim CUANTOSN As Int = records(RESULT.Columns.Get("CUANTOSN")) Dim CUANTOSN As Int = records(RESULT.Columns.Get("CUANTOSN"))
@@ -1694,10 +1642,7 @@ Sub JobDone(Job As HttpJob)
End If End If
Next Next
End If End If
End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = reqManager.HandleJob(Job)
If RESULT.Tag = "ins_pedido" Then 'query tag If RESULT.Tag = "ins_pedido" Then 'query tag
For Each records() As Object In RESULT.Rows For Each records() As Object In RESULT.Rows
PB2.Progress = PB2.Progress + 5 PB2.Progress = PB2.Progress + 5
@@ -1706,32 +1651,25 @@ Sub JobDone(Job As HttpJob)
PB2.Progress = 100 PB2.Progress = 100
S_CP.Text = "VALIDANDO" S_CP.Text = "VALIDANDO"
End If End If
End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = reqManager.HandleJob(Job)
If RESULT.Tag = "version" Then 'query tag If RESULT.Tag = "version" Then 'query tag
connecta.TextColor = Colors.White connecta.TextColor = Colors.White
' Subs.logJobDoneResultados(RESULT)
For Each records() As Object In RESULT.Rows For Each records() As Object In RESULT.Rows
Starter.skmt.ExecNonQuery("delete from VERSION") Starter.skmt.ExecNonQuery("delete from VERSION")
Dim CAT_VE_VERSION As String = records(RESULT.Columns.Get("CAT_VE_VERSION")) Dim CAT_VE_VERSION As String = records(RESULT.Columns.Get("CAT_VE_VERSION"))
Log(">>>>>>> Version minima: " & CAT_VE_VERSION & " - Actual: " & Application.VersionName & " --> " & Subs.comparaVersiones(CAT_VE_VERSION, Application.VersionName))
Starter.skmt.ExecNonQuery("delete from VERSION") Starter.skmt.ExecNonQuery("delete from VERSION")
Starter.skmt.ExecNonQuery2("INSERT INTO VERSION(NOVERSION) VALUES (?)", Array As Object (CAT_VE_VERSION)) Starter.skmt.ExecNonQuery2("INSERT INTO VERSION(NOVERSION) VALUES (?)", Array As Object (CAT_VE_VERSION))
Next Next
End If End If
End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = reqManager.HandleJob(Job)
If RESULT.Tag = "count_cli" Then 'query tag If RESULT.Tag = "count_cli" Then 'query tag
For Each records() As Object In RESULT.Rows For Each records() As Object In RESULT.Rows
COUNT_CLIE = records(RESULT.Columns.Get("COUNT_CLIE")) COUNT_CLIE = records(RESULT.Columns.Get("COUNT_CLIE"))
Next Next
End If End If
End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = reqManager.HandleJob(Job)
If RESULT.Tag = "ruta" Then 'query tag If RESULT.Tag = "ruta" Then 'query tag
e_ruta.Enabled = True e_ruta.Enabled = True
' Log(RESULT) ' Log(RESULT)
@@ -1761,10 +1699,7 @@ Sub JobDone(Job As HttpJob)
End If End If
Next Next
End If End If
End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = reqManager.HandleJob(Job)
If RESULT.Tag = "usuario" Then 'query tag If RESULT.Tag = "usuario" Then 'query tag
For Each records() As Object In RESULT.Rows For Each records() As Object In RESULT.Rows
Dim name2 As String = records(RESULT.Columns.Get("VALIDO")) Dim name2 As String = records(RESULT.Columns.Get("VALIDO"))
@@ -1774,10 +1709,7 @@ Sub JobDone(Job As HttpJob)
End If End If
P1.Visible = False P1.Visible = False
End If End If
End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = reqManager.HandleJob(Job)
If RESULT.Tag = "fecha" Then 'query tag If RESULT.Tag = "fecha" Then 'query tag
For Each records() As Object In RESULT.Rows For Each records() As Object In RESULT.Rows
Starter.FECHA_HOY = records(RESULT.Columns.Get("FECHA")) Starter.FECHA_HOY = records(RESULT.Columns.Get("FECHA"))
@@ -1785,10 +1717,7 @@ Sub JobDone(Job As HttpJob)
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("FECHA",Starter.FECHA_HOY)) Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("FECHA",Starter.FECHA_HOY))
Next Next
End If End If
End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = reqManager.HandleJob(Job)
If RESULT.Tag = "hora" Then 'query tag If RESULT.Tag = "hora" Then 'query tag
For Each records() As Object In RESULT.Rows For Each records() As Object In RESULT.Rows
Starter.HORA = records(RESULT.Columns.Get("HORA")) Starter.HORA = records(RESULT.Columns.Get("HORA"))
@@ -1800,10 +1729,7 @@ Sub JobDone(Job As HttpJob)
MsgboxAsync("La hora del equipo NO coincide con la hora del servidor, es necesario corregirla", "AVISO IMPORTANTE") MsgboxAsync("La hora del equipo NO coincide con la hora del servidor, es necesario corregirla", "AVISO IMPORTANTE")
End If End If
End If End If
End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = reqManager.HandleJob(Job)
If RESULT.Tag = "folio" Then 'query tag If RESULT.Tag = "folio" Then 'query tag
If logger Then Log("TIEMPO folio : " & ((DateTime.Now-inicioContador)/1000)) If logger Then Log("TIEMPO folio : " & ((DateTime.Now-inicioContador)/1000))
For Each records() As Object In RESULT.Rows For Each records() As Object In RESULT.Rows
@@ -1812,11 +1738,8 @@ Sub JobDone(Job As HttpJob)
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("FOLIO",FOLIO)) Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("FOLIO",FOLIO))
Next Next
End If End If
End If
' Perfil ' Perfil
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = reqManager.HandleJob(Job)
If RESULT.Tag = "perfil" Then 'query tag If RESULT.Tag = "perfil" Then 'query tag
For Each records() As Object In RESULT.Rows For Each records() As Object In RESULT.Rows
Dim PERFIL As String = records(RESULT.Columns.Get("PERFIL")) Dim PERFIL As String = records(RESULT.Columns.Get("PERFIL"))
@@ -1824,11 +1747,8 @@ Sub JobDone(Job As HttpJob)
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("PERFIL",PERFIL)) Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("PERFIL",PERFIL))
Next Next
End If End If
End If
' Marcas ' Marcas
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = reqManager.HandleJob(Job)
If RESULT.Tag = "marcas" Then 'query tag If RESULT.Tag = "marcas" Then 'query tag
If logger Then Log("TIEMPO marcas : " & ((DateTime.Now-inicioContador)/1000)) If logger Then Log("TIEMPO marcas : " & ((DateTime.Now-inicioContador)/1000))
For Each records() As Object In RESULT.Rows For Each records() As Object In RESULT.Rows
@@ -1837,11 +1757,8 @@ Sub JobDone(Job As HttpJob)
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("MARCAS",MARCAS)) Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("MARCAS",MARCAS))
Next Next
End If End If
End If
' SUCURSAL ' SUCURSAL
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = reqManager.HandleJob(Job)
If RESULT.Tag = "sucursal" Then 'query tag If RESULT.Tag = "sucursal" Then 'query tag
For Each records() As Object In RESULT.Rows For Each records() As Object In RESULT.Rows
Dim SUCURSAL As String = records(RESULT.Columns.Get("SUCURSAL")) Dim SUCURSAL As String = records(RESULT.Columns.Get("SUCURSAL"))
@@ -1849,10 +1766,7 @@ Sub JobDone(Job As HttpJob)
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("SUCURSAL",SUCURSAL)) Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("SUCURSAL",SUCURSAL))
Next Next
End If End If
End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = reqManager.HandleJob(Job)
If RESULT.Tag = "placas" Then 'query tag If RESULT.Tag = "placas" Then 'query tag
For Each records() As Object In RESULT.Rows For Each records() As Object In RESULT.Rows
Dim PLACAS As String = records(RESULT.Columns.Get("PLACAS")) Dim PLACAS As String = records(RESULT.Columns.Get("PLACAS"))
@@ -1860,10 +1774,7 @@ Sub JobDone(Job As HttpJob)
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("PLACAS",PLACAS)) Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("PLACAS",PLACAS))
Next Next
End If End If
End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = reqManager.HandleJob(Job)
If RESULT.Tag = "SEMANA" Then 'query tag If RESULT.Tag = "SEMANA" Then 'query tag
If logger Then Log("TIEMPO SEMANA : " & ((DateTime.Now-inicioContador)/1000)) If logger Then Log("TIEMPO SEMANA : " & ((DateTime.Now-inicioContador)/1000))
For Each records() As Object In RESULT.Rows For Each records() As Object In RESULT.Rows
@@ -1872,10 +1783,7 @@ Sub JobDone(Job As HttpJob)
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("SEMANA",Cat_Va_Valor)) Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("SEMANA",Cat_Va_Valor))
Next Next
End If End If
End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = reqManager.HandleJob(Job)
If RESULT.Tag = "dia_visita" Then 'query tag If RESULT.Tag = "dia_visita" Then 'query tag
For Each records() As Object In RESULT.Rows For Each records() As Object In RESULT.Rows
Dim DIA_VISITA As String = records(RESULT.Columns.Get("DIA_VISITA")) Dim DIA_VISITA As String = records(RESULT.Columns.Get("DIA_VISITA"))
@@ -1884,11 +1792,8 @@ Sub JobDone(Job As HttpJob)
'Msgbox(DIA_VISITA, "") 'ignore 'Msgbox(DIA_VISITA, "") 'ignore
Next Next
End If End If
End If
' CUOTAS ' CUOTAS
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = reqManager.HandleJob(Job)
If RESULT.Tag = "CUOTAS" Then 'query tag If RESULT.Tag = "CUOTAS" Then 'query tag
For Each records() As Object In RESULT.Rows For Each records() As Object In RESULT.Rows
Dim HC_RUTA As String = records(RESULT.Columns.Get("HC_RUTA")) Dim HC_RUTA As String = records(RESULT.Columns.Get("HC_RUTA"))
@@ -1907,12 +1812,8 @@ Sub JobDone(Job As HttpJob)
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_CUOTAS(HC_RUTA, HC_CUOTA1,HC_CUOTA2,HC_CUOTA3,HC_CUOTA4,HC_CUOTA5,HC_CUOTA6,HC_META1,HC_META2,HC_META3,HC_META4,HC_META5,HC_META6) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (HC_RUTA, HC_CUOTA1,HC_CUOTA2,HC_CUOTA3,HC_CUOTA4,HC_CUOTA5,HC_CUOTA6,HC_META1,HC_META2,HC_META3,HC_META4,HC_META5,HC_META6)) Starter.skmt.ExecNonQuery2("INSERT INTO HIST_CUOTAS(HC_RUTA, HC_CUOTA1,HC_CUOTA2,HC_CUOTA3,HC_CUOTA4,HC_CUOTA5,HC_CUOTA6,HC_META1,HC_META2,HC_META3,HC_META4,HC_META5,HC_META6) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (HC_RUTA, HC_CUOTA1,HC_CUOTA2,HC_CUOTA3,HC_CUOTA4,HC_CUOTA5,HC_CUOTA6,HC_META1,HC_META2,HC_META3,HC_META4,HC_META5,HC_META6))
Next Next
End If End If
End If
' Cambios ' Cambios
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = reqManager.HandleJob(Job)
If RESULT.Tag = "cat_cambios" Then 'query tag If RESULT.Tag = "cat_cambios" Then 'query tag
For Each records() As Object In RESULT.Rows For Each records() As Object In RESULT.Rows
Dim CAMBIOS As String = records(RESULT.Columns.Get("CAT_VA_VALOR")) Dim CAMBIOS As String = records(RESULT.Columns.Get("CAT_VA_VALOR"))
@@ -1920,11 +1821,8 @@ Sub JobDone(Job As HttpJob)
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("CAMBIOS",CAMBIOS)) Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("CAMBIOS",CAMBIOS))
Next Next
End If End If
End If
' Precios ' Precios
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = reqManager.HandleJob(Job)
If RESULT.Tag = "precios" Then 'query tag If RESULT.Tag = "precios" Then 'query tag
If logger Then Log("TIEMPO precios : " & ((DateTime.Now-inicioContador)/1000)) If logger Then Log("TIEMPO precios : " & ((DateTime.Now-inicioContador)/1000))
' Subs.cronoX("Precios", 1) ' Subs.cronoX("Precios", 1)
@@ -1951,11 +1849,8 @@ Sub JobDone(Job As HttpJob)
' If Logger Then LogColor($"///////////////// ${Subs.cronoX("Precios", 2)} ///////////////////////////"$, Colors.red) ' If Logger Then LogColor($"///////////////// ${Subs.cronoX("Precios", 2)} ///////////////////////////"$, Colors.red)
' ToastMessageShow("LISTA DE PRECIOS OK LISTA DE PRECIOS OK", True) ' ToastMessageShow("LISTA DE PRECIOS OK LISTA DE PRECIOS OK", True)
End If End If
End If
' Candado Fin Dia ' Candado Fin Dia
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = reqManager.HandleJob(Job)
If RESULT.Tag = "pass_fin_dia" Then 'query tag If RESULT.Tag = "pass_fin_dia" Then 'query tag
For Each records() As Object In RESULT.Rows For Each records() As Object In RESULT.Rows
Dim nuevaContrasena As String = records(RESULT.Columns.Get("CAR_VA_VALOR3")) Dim nuevaContrasena As String = records(RESULT.Columns.Get("CAR_VA_VALOR3"))
@@ -1963,11 +1858,8 @@ Sub JobDone(Job As HttpJob)
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("FINDIA_PASS", nuevaContrasena)) Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("FINDIA_PASS", nuevaContrasena))
Next Next
End If End If
End If
' Exhibidores ' Exhibidores
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = reqManager.HandleJob(Job)
If RESULT.Tag = "exhibidores" Then 'query tag If RESULT.Tag = "exhibidores" Then 'query tag
If logger Then Log("TIEMPO exhibidores : " & ((DateTime.Now-inicioContador)/1000)) If logger Then Log("TIEMPO exhibidores : " & ((DateTime.Now-inicioContador)/1000))
Starter.skmt.BeginTransaction Starter.skmt.BeginTransaction
@@ -1980,11 +1872,8 @@ Sub JobDone(Job As HttpJob)
Starter.skmt.TransactionSuccessful Starter.skmt.TransactionSuccessful
Starter.skmt.EndTransaction Starter.skmt.EndTransaction
End If End If
End If
' HIST_ENCUESTA2 ' HIST_ENCUESTA2
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = reqManager.HandleJob(Job)
If RESULT.Tag = "HIST_ENCUESTA2" Then 'query tag If RESULT.Tag = "HIST_ENCUESTA2" Then 'query tag
If logger Then Log("TIEMPO HIST_ENCUESTA2 : " & ((DateTime.Now-inicioContador)/1000)) If logger Then Log("TIEMPO HIST_ENCUESTA2 : " & ((DateTime.Now-inicioContador)/1000))
Starter.skmt.BeginTransaction Starter.skmt.BeginTransaction
@@ -2081,6 +1970,39 @@ Sub JobDone(Job As HttpJob)
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_RMI (CAT_ID, CAT_DESCRIPCION, CAT_MONTO) VALUES (?,?,?)", Array As Object (CAT_ID, CAT_DESCRIPCION, CAT_MONTO)) Starter.skmt.ExecNonQuery2("INSERT INTO CAT_RMI (CAT_ID, CAT_DESCRIPCION, CAT_MONTO) VALUES (?,?,?)", Array As Object (CAT_ID, CAT_DESCRIPCION, CAT_MONTO))
Next Next
End If End If
If RESULT.Tag = "semanaCalLaboral" Then 'query tag
' Subs.logJobDoneResultados(RESULT)
For Each records() As Object In RESULT.Rows
Dim SEMANA As String = records(RESULT.COLUMNS.GET("SEMANA_RELATIVA"))
Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("SEM_CAL_LABORAL"))
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("SEM_CAL_LABORAL", SEMANA))
Next
End If
If RESULT.Tag = "trendSpending" Then 'query tag
' Subs.logJobDoneResultados(RESULT)
Starter.skmt.ExecNonQuery("delete from HIST_TREND_SPENDING_SEMANAL")
For Each records() As Object In RESULT.Rows
Dim HIST_TSS_RUTA As String = records(RESULT.COLUMNS.GET("HIST_TSS_RUTA"))
Dim HIST_TSS_IDALMACEN As String = records(RESULT.COLUMNS.GET("HIST_TSS_IDALMACEN"))
Dim HIST_TSS_TIPO As String = records(RESULT.COLUMNS.GET("HIST_TSS_TIPO"))
Dim HIST_TSS_SEMANA1 As String = records(RESULT.COLUMNS.GET("HIST_TSS_SEMANA1"))
Dim HIST_TSS_SEMANA1_ACUM As String = records(RESULT.COLUMNS.GET("HIST_TSS_SEMANA1_ACUM"))
Dim HIST_TSS_SEMANA2 As String = records(RESULT.COLUMNS.GET("HIST_TSS_SEMANA2"))
Dim HIST_TSS_SEMANA2_ACUM As String = records(RESULT.COLUMNS.GET("HIST_TSS_SEMANA2_ACUM"))
Dim HIST_TSS_SEMANA3 As String = records(RESULT.COLUMNS.GET("HIST_TSS_SEMANA3"))
Dim HIST_TSS_SEMANA3_ACUM As String = records(RESULT.COLUMNS.GET("HIST_TSS_SEMANA3_ACUM"))
Dim HIST_TSS_SEMANA4 As String = records(RESULT.COLUMNS.GET("HIST_TSS_SEMANA4"))
Dim HIST_TSS_SEMANA4_ACUM As String = records(RESULT.COLUMNS.GET("HIST_TSS_SEMANA4_ACUM"))
Dim HIST_TSS_SEMANA5 As String = records(RESULT.COLUMNS.GET("HIST_TSS_SEMANA5"))
Dim HIST_TSS_SEMANA5_ACUM As String = records(RESULT.COLUMNS.GET("HIST_TSS_SEMANA5_ACUM"))
Dim HIST_TSS_SEMANA6 As String = records(RESULT.COLUMNS.GET("HIST_TSS_SEMANA6"))
Dim HIST_TSS_SEMANA6_ACUM As String = records(RESULT.COLUMNS.GET("HIST_TSS_SEMANA6_ACUM"))
Dim HIST_TSS_GRUPO As String = records(RESULT.COLUMNS.GET("HIST_TSS_GRUPO"))
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_TREND_SPENDING_SEMANAL (HIST_TSS_RUTA, HIST_TSS_IDALMACEN, HIST_TSS_TIPO, HIST_TSS_SEMANA1, HIST_TSS_SEMANA1_ACUM, HIST_TSS_SEMANA2, HIST_TSS_SEMANA2_ACUM, HIST_TSS_SEMANA3, HIST_TSS_SEMANA3_ACUM, HIST_TSS_SEMANA4, HIST_TSS_SEMANA4_ACUM, HIST_TSS_SEMANA5, HIST_TSS_SEMANA5_ACUM, HIST_TSS_SEMANA6, HIST_TSS_SEMANA6_ACUM, HIST_TSS_GRUPO) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (HIST_TSS_RUTA, HIST_TSS_IDALMACEN, HIST_TSS_TIPO, HIST_TSS_SEMANA1, HIST_TSS_SEMANA1_ACUM, HIST_TSS_SEMANA2, HIST_TSS_SEMANA2_ACUM, HIST_TSS_SEMANA3, HIST_TSS_SEMANA3_ACUM, HIST_TSS_SEMANA4, HIST_TSS_SEMANA4_ACUM, HIST_TSS_SEMANA5, HIST_TSS_SEMANA5_ACUM, HIST_TSS_SEMANA6, HIST_TSS_SEMANA6_ACUM, HIST_TSS_GRUPO))
Next
End If
End If End If
End If End If
@@ -2097,6 +2019,7 @@ Sub JobDone(Job As HttpJob)
If CARGA = "CARGAR" And S_CP.Text = "LISTO" And S_CC.Text = "LISTO" And S_CH.Text = "LISTO" Then If CARGA = "CARGAR" And S_CP.Text = "LISTO" And S_CC.Text = "LISTO" And S_CH.Text = "LISTO" Then
LogColor("TERMINAMOS", Colors.red) LogColor("TERMINAMOS", Colors.red)
B_OK_PAS.Text = "OK" B_OK_PAS.Text = "OK"
copiaCatGPPromocion
End If End If
Log(reqManager.requestTimes(Job.Tag)) Log(reqManager.requestTimes(Job.Tag))
@@ -2104,6 +2027,18 @@ Sub JobDone(Job As HttpJob)
' reqManager.PrintTable(RESULT)2 ' reqManager.PrintTable(RESULT)2
End Sub End Sub
Sub copiaCatGPPromocion
Log(">>>>>>>>> COPIAMOS CAT_GP_PROMOCION a CAT_GUNAPROD2")
Starter.skmt.ExecNonQuery("UPDATE CAT_GUNAPROD2 SET CAT_GP_PROMOCION = '0'")
Dim c3 As Cursor = Starter.skmt.ExecQuery("select CAT_GP_ID, CAT_GP_PROMOCION from CAT_GUNAPROD")
If c3.RowCount > 0 Then
For h = 0 To c3.RowCount - 1
c3.Position = h
Starter.skmt.ExecNonQuery($"update cat_gunaprod2 set cat_gp_promocion = '${c3.GetString("CAT_GP_PROMOCION")}' where cat_gp_id = '${c3.GetString("CAT_GP_ID")}'"$)
Next
End If
End Sub
Private Sub B4XPage_CloseRequest As ResumableSub Private Sub B4XPage_CloseRequest As ResumableSub
' BACK key pressed ' BACK key pressed
'Return True to close, False to cancel 'Return True to close, False to cancel
@@ -2273,6 +2208,9 @@ Sub e_ruta_EnterPressed
Starter.skmt.ExecNonQuery("delete from CAT_PROMO_MONTO") Starter.skmt.ExecNonQuery("delete from CAT_PROMO_MONTO")
Starter.skmt.ExecNonQuery("delete from TMP_CAT_BILLETE") Starter.skmt.ExecNonQuery("delete from TMP_CAT_BILLETE")
Starter.skmt.ExecNonQuery("delete from TMP_CAT_MONEDAS") Starter.skmt.ExecNonQuery("delete from TMP_CAT_MONEDAS")
Starter.skmt.ExecNonQuery("delete from TREND_SPENDING")
Starter.skmt.ExecNonQuery("delete from HIST_TREND_SPENDING_SEMANAL")
Starter.skmt.ExecNonQuery("delete from VERSIONES")
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_ENVIOS VALUES (?,0,?)", Array As Object(sTime, "PEDIDO")) Starter.skmt.ExecNonQuery2("INSERT INTO HIST_ENVIOS VALUES (?,0,?)", Array As Object(sTime, "PEDIDO"))
Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("NUMERO_PEDIDO")) Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("NUMERO_PEDIDO"))
@@ -3366,7 +3304,7 @@ Sub descargaCartaPorte
' cartaPortePDF = "CPORTE2_100_Prueba.pdf" 'Para pruebas ' cartaPortePDF = "CPORTE2_100_Prueba.pdf" 'Para pruebas
' Log(cartaPortePDF) ' Log(cartaPortePDF)
'Para el servidor 'Para el servidor
Private pdfServer As String = "keymon.lat" Private pdfServer As String = "keymon.net"
If Starter.DBReqServer.IndexOf("10.0.0.205") > -1 Then pdfServer = "10.0.0.205" If Starter.DBReqServer.IndexOf("10.0.0.205") > -1 Then pdfServer = "10.0.0.205"
' Log(pdfServer) ' Log(pdfServer)
pdfURL = $"https://${pdfServer}/CartaPorteKelloggs/CartaPorteMovil${DateTime.Date(DateTime.now)}/${cartaPortePDF}"$ pdfURL = $"https://${pdfServer}/CartaPorteKelloggs/CartaPorteMovil${DateTime.Date(DateTime.now)}/${cartaPortePDF}"$

View File

@@ -9,6 +9,7 @@ Sub Class_Globals
Private xui As XUI 'ignore Private xui As XUI 'ignore
Dim ruta As String Dim ruta As String
Dim kh As kms_helperSubs Dim kh As kms_helperSubs
Dim ts As C_TrendSpending
Dim q_buscar As String Dim q_buscar As String
Dim forzarBusqueda As Boolean = False Dim forzarBusqueda As Boolean = False
Dim skmt As SQL Dim skmt As SQL
@@ -100,14 +101,19 @@ Sub Class_Globals
Dim dispAbordo As String Dim dispAbordo As String
Private l_avisoAbordo As Label Private l_avisoAbordo As Label
Private l_infoPedido As Label Private l_infoPedido As Label
Dim promosC As Promociones ' Dim promosC As Promociones
Dim invTotal As Int Dim invTotal As Int
Dim TS_RMI() As String
Dim TS_DESCUENTOS() As String
Dim TS_BONIFICACIONES() As String
Dim bonificacionesMaximas As Int = 0
End Sub End Sub
'You can add more parameters here. 'You can add more parameters here.
Public Sub Initialize As Object Public Sub Initialize As Object
kh.Initialize(Me, "kh", Starter.skmt) kh.Initialize(Me, "kh", Starter.skmt)
promosC.Initialize(Me, "promosC", Starter.skmt) ts.Initialize(Me, "ts", Starter.skmt)
' promosC.Initialize(Me, "promosC", Starter.skmt)
Return Me Return Me
End Sub End Sub
@@ -144,7 +150,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
listaProds.Initialize listaProds.Initialize
pedidoMap.Initialize pedidoMap.Initialize
listaHints.Initialize listaHints.Initialize
Log("Llamamos LlenaProdsLL") If Starter.Logger Then Log("Llamamos LlenaProdsLL")
LlenaProdsLL(Null, Null) LlenaProdsLL(Null, Null)
list_prodsPedido.Initialize list_prodsPedido.Initialize
' Log("list_prodsPedido.Initialize") ' Log("list_prodsPedido.Initialize")
@@ -161,7 +167,7 @@ End Sub
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. 'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
Sub B4XPage_Appear Sub B4XPage_Appear
Log("Entro: " & entro) If Starter.Logger Then Log("Entro: " & entro)
' Log($"LIMITE ABORDO: ${limiteAbordo}"$) ' Log($"LIMITE ABORDO: ${limiteAbordo}"$)
' clv_prods_ll.Initialize(Me, "clv_prods_ll") ' clv_prods_ll.Initialize(Me, "clv_prods_ll")
' list_prodsPedido.Initialize ' list_prodsPedido.Initialize
@@ -280,6 +286,14 @@ Sub B4XPage_Appear
End If End If
If B4XPages.MainPage.cliente.la_cuenta.text = "0" Then b_rmi.Visible = False If B4XPages.MainPage.cliente.la_cuenta.text = "0" Then b_rmi.Visible = False
' Log(Starter.tipov) ' Log(Starter.tipov)
Private mx As Map = ts.traeInfoTrendSpending
TS_RMI = Regex.Split(",", mx.Get("RMI"))
TS_DESCUENTOS = Regex.Split(",", mx.Get("DESCUENTOS"))
TS_BONIFICACIONES = Regex.Split(",", mx.Get("BONIFICACIONES"))
Log(">>>>>>>>>>>>> TRENDSPENDING: " & mx)
Log("RMI: " & TS_RMI(0) & "|" & TS_RMI(1))
Log("DESCUENTOS: " & TS_DESCUENTOS(0) & "|" & TS_DESCUENTOS(1))
Log("BONIFICACIONES: " & TS_BONIFICACIONES(0) & "|" & TS_BONIFICACIONES(1))
End Sub End Sub
Sub PCLV_AddProds Sub PCLV_AddProds
@@ -342,7 +356,6 @@ Sub lv_catalogos_ItemClick (Position As Int, Value As Object)
Log(c2.GetString("CAT_PA_PORCENTAJE_PAQUETE")) Log(c2.GetString("CAT_PA_PORCENTAJE_PAQUETE"))
If c2.GetString("CAT_PA_TIPO_PROMONTO") = "0" Then ' Si NO es promo por monto entonces la mostamos. If c2.GetString("CAT_PA_TIPO_PROMONTO") = "0" Then ' Si NO es promo por monto entonces la mostamos.
lv_promos.AddTwoLines(c2.GetString("CAT_GP_NOMBRE"),"# " & c2.GetString("CAT_GP_ALMACEN") & " $ " & c2.GetString("CAT_GP_PRECIO") & " F:" & tm.Get("mp").As(Map).Get("prodsFijosCant") & " V:" & tm.Get("mp").As(Map).Get("prodsVariablesCant")) lv_promos.AddTwoLines(c2.GetString("CAT_GP_NOMBRE"),"# " & c2.GetString("CAT_GP_ALMACEN") & " $ " & c2.GetString("CAT_GP_PRECIO") & " F:" & tm.Get("mp").As(Map).Get("prodsFijosCant") & " V:" & tm.Get("mp").As(Map).Get("prodsVariablesCant"))
End If End If
End If End If
Next Next
@@ -585,12 +598,38 @@ Sub b_prodMenos_Click
End If End If
If laCant.Text = "" Then laCant.Text = 0 If laCant.Text = "" Then laCant.Text = 0
laCant.Text = $"${NumberFormat2((laCant.Text - 1), 1, 0, 0, False)}"$ laCant.Text = $"${NumberFormat2((laCant.Text - 1), 1, 0, 0, False)}"$
If laCant.Text < 0 Then laCant.Text = 0
Private tmpMap As Map = clv_prods_ll.GetValue(index).As(Map) Private tmpMap As Map = clv_prods_ll.GetValue(index).As(Map)
Private precio As String=clv_prods_ll.GetValue(index).As(Map).Get("precio") Private precio As String=clv_prods_ll.GetValue(index).As(Map).Get("precio")
Private id As String=clv_prods_ll.GetValue(index).As(Map).Get("id") Private id As String=clv_prods_ll.GetValue(index).As(Map).Get("id")
Private tmpMap As Map = CreateMap("precio":precio, "cant":laCant.Text, "almacen":Subs.traeAlmacen) ' Private tmpMap As Map = CreateMap("precio":precio, "cant":laCant.Text, "almacen":Subs.traeAlmacen)
Log(clv_prods_ll.GetValue(index).As(Map)) Log(clv_prods_ll.GetValue(index).As(Map))
' ######## Trend Spending - Poner estas lineas antes de que si es negativo se ponga en CERO.
' Private laBonificacion As String = kh.traePrecio(id)*(kh.traeDescXSku(clienteId, id)/100)
' If laBonificacion > 0 Then
' Log("LA BONIFICACION: " & laBonificacion)
' Private BonsRestantes As String = (TS_BONIFICACIONES(0) - TS_BONIFICACIONES(1) - Subs.traeAcumuladoHoyTS("bonificaciones"))
' Log("Monto de BONIFICACIONES disponible: " & BonsRestantes)
' bonificacionesMaximas = ((laCant.text * laBonificacion) + BonsRestantes) / laBonificacion
' Log("MAX: " & bonificacionesMaximas)
' Log(Subs.traeAcumuladoHoyTS("bonificaciones"))
' End If
' Log("LA BONIFICACION: " & laBonificacion)
' If laCant.text >= 0 Then
' Subs.modTrendSpending("suma", "bonificaciones", laBonificacion)
' End If
' #######################
' ######## Trend Spending - Poner estas lineas antes de que si es negativo se ponga en CERO.
If lfila.Text = "PRODUCTOS" Then
Log(">>>>>>>>>> PRODUCTOS <<<<<<<<<<<<<<")
ts.trendSpending("prodMenos", "descuentos", clienteId, id, laCant.Text, 0)
else If lfila.Text = "RMI" Then
ts.trendSpending("prodMenos", "rmi", clienteId, id, laCant.Text, 0)
End If
' #######################
If laCant.Text < 0 Then laCant.Text = 0
' Log(tmpMap) ' Log(tmpMap)
' prodsMap.Put(id, tmpMap) ' prodsMap.Put(id, tmpMap)
' If laCant.Text = 0 Then prodsMap.Remove(id) ' If laCant.Text = 0 Then prodsMap.Remove(id)
@@ -604,6 +643,7 @@ Sub b_prodMenos_Click
nombreX = "CAMBIO"&Subs.traeRMINombre(id) nombreX = "CAMBIO"&Subs.traeRMINombre(id)
precioX = precioX * -1 precioX = precioX * -1
End If End If
Subs.actualizaProducto(almacenX, precioX, laCant.text, nombreX, id, clienteId, Subs.traeFecha, Subs.traeUsuarioDeBD, rutaUsuario, 0, Starter.tipov) Subs.actualizaProducto(almacenX, precioX, laCant.text, nombreX, id, clienteId, Subs.traeFecha, Subs.traeUsuarioDeBD, rutaUsuario, 0, Starter.tipov)
cuentaProds cuentaProds
If lfila.Text <> "RMI" Then If lfila.Text <> "RMI" Then
@@ -626,6 +666,7 @@ Sub b_prodMenos_Click
End Sub End Sub
Sub b_prodMas_Click Sub b_prodMas_Click
Private logger As Boolean = True
Root.RequestFocus Root.RequestFocus
etCantHasFocus = False etCantHasFocus = False
Private buttonTag As String = Sender.As(Button).tag Private buttonTag As String = Sender.As(Button).tag
@@ -637,59 +678,125 @@ Sub b_prodMas_Click
' Log("========= " & pnl0.Tag) ' Log("========= " & pnl0.Tag)
' Log("========= " & pnl.Tag) ' Log("========= " & pnl.Tag)
' Log("========= " & pnl.GetView(1).Tag) ' Log("========= " & pnl.GetView(1).Tag)
Private existencias As String = clv_prods_ll.GetValue(index).As(Map).Get("almacen") ' Private existencias As String = clv_prods_ll.GetValue(index).As(Map).Get("almacen")
Log($"Existencias: ${existencias}"$)
Dim laCant As B4XView = pnl.GetView(2).GetView(2) Dim laCant As B4XView = pnl.GetView(2).GetView(2)
If laCant.Text = "" Then laCant.Text = 0 If laCant.Text = "" Then laCant.Text = 0
Private tmpMap As Map = clv_prods_ll.GetValue(index).As(Map)
Private precio As String=clv_prods_ll.GetValue(index).As(Map).Get("precio") Private precio As String=clv_prods_ll.GetValue(index).As(Map).Get("precio")
Private inv As Int = clv_prods_ll.GetValue(index).As(Map).Get("almacen") ' Private tmpMap As Map = clv_prods_ll.GetValue(index).As(Map)
' Private inv As Int = clv_prods_ll.GetValue(index).As(Map).Get("almacen")
' Log($"Existencias: ${inv}, inv: ${Subs.traeinventario(pnl.GetView(1).Tag)}"$)
Private inv As Int = Subs.traeinventario(pnl.GetView(1).Tag)
Log($"inv: ${Subs.traeinventario(pnl.GetView(1).Tag)}"$)
Private id As String=clv_prods_ll.GetValue(index).As(Map).Get("id")
Private almacenX As String = Subs.traeAlmacen
Private nombreX As String = Subs.traeProdNombre(id)
Private precioX As String = precio
Private iq As Cursor = Starter.skmt.ExecQuery($"select cat_gp_almacen from ${Subs.traeTablaProds(Starter.tipov)} where cat_gp_id = '${clv_prods_ll.GetValue(index).As(Map).Get("id")}'"$) ' ######## Trend Spending
If iq.RowCount > 0 Then ' NOTA:
iq.Position = 0 ' Cuando se haga la funcion debemos de enviar si es bonificacion o rmi y el regreso tene que ser "bonificacionesMaximas" y "laBonificacion"
' Log($"INV ${clv_prods_ll.GetValue(index).As(Map).Get("id")} = ${iq.GetString("CAT_GP_ALMACEN")}"$) ' Private laBonificacion As String = kh.traePrecio(id)*(kh.traeDescXSku(clienteId, id)/100)
' If laBonificacion > 0 Then
' Log("LA BONIFICACION: " & laBonificacion)
' Private BonsRestantes As String = (TS_BONIFICACIONES(0) - TS_BONIFICACIONES(1) - Subs.traeAcumuladoHoyTS("bonificaciones"))
' Log("Monto de BONIFICACIONES disponible: " & BonsRestantes)
' Log("BON RESTANTE: " & BonsRestantes)
' bonificacionesMaximas = ((laCant.text * laBonificacion) + BonsRestantes) / laBonificacion
' Log("MAX: " & bonificacionesMaximas)
' Log(Subs.traeAcumuladoHoyTS("bonificaciones"))
' End If
' If laCant.Text = bonificacionesMaximas Then
' ToastMessageShow("El presupuesto de BONIFICACIONES no permite agregar mas productos!!", False)
' End If
' Log("LA BONIFICACION: " & laBonificacion)
' If inv > 0 And laCant.Text < bonificacionesMaximas Then
' Subs.modTrendSpending("resta", "bonificaciones", laBonificacion)
' Log(Subs.traeAcumuladoHoyTS("bonificaciones"))
' End If
' Log("BONIFCACIONES RESTANTES: " & (TS_BONIFICACIONES(0) - TS_BONIFICACIONES(1) - Subs.traeAcumuladoHoyTS("bonificaciones")))
Private tsMonto As String = 0
Private tsMaximas As Int = 0
If lfila.Text = "PRODUCTOS" Then
Log(">>>>>>>>>> PRODUCTOS <<<<<<<<<<<<<<")
Private tsRestantes As String = (TS_DESCUENTOS(0) - TS_DESCUENTOS(1) - ts.traeAcumuladoHoyTS("descuentos")) ' Traemos monto restante de Trend Spending para bonificaciones.
tsMonto = NumberFormat2(ts.traePrecio(id)*(ts.traeDescXSku(clienteId, id)/100), 1, 2, 2, False) ' Traemos el monto (descuento total) del producto actual.
tsMaximas = ((laCant.text * tsMonto) + tsRestantes) / tsMonto ' Traemos la cantidad maxima de descuentos por presupuesto de Trend Spending.
Log("tsRestantes: " & tsRestantes)
' Log("tsMonto: " & tsMonto)
Log("tsMaximas: " & tsMaximas)
Log("tsMaximas2: " & ts.traeMaximas("descuentos", clienteId, id, laCant.Text, ""))
' Log("tsMonto2: " & ts.traeMonto(clienteId, id))
Else if lfila.Text = "RMI" Then
Log(">>>>>>>>>> RMI <<<<<<<<<<<<<<")
Private tsRestantes As String = (TS_RMI(0) - TS_RMI(1) - ts.traeAcumuladoHoyTS("rmi")) ' Traemos monto restante de Trend Spending para RMIs.
tsMonto = NumberFormat2(ts.traePrecioRMI(id), 1, 2, 2, False) ' Traemos el monto (precio) del RMI actual.
tsMaximas = ((laCant.text * tsMonto) + tsRestantes) / tsMonto ' Traemos la cantidad maxima de RMIs por presupuesto de Trend Spending.
' Log(tsMaximas)
' Log(tsMonto)
End If End If
' ##########################
' Private iq As Cursor = Starter.skmt.ExecQuery($"select cat_gp_almacen from ${Subs.traeTablaProds(Starter.tipov)} where cat_gp_id = '${clv_prods_ll.GetValue(index).As(Map).Get("id")}'"$)
' If iq.RowCount > 0 Then
' iq.Position = 0
' Log($"INV ${clv_prods_ll.GetValue(index).As(Map).Get("id")} = ${iq.GetString("CAT_GP_ALMACEN")}"$)
' End If
' Log(tmpMap) ' Log(tmpMap)
' Log($"${kh.traeLimiteCredito(Subs.traeCliente)} < ${kh.totalPedido + precio}"$) ' Log($"${kh.traeLimiteCredito(Subs.traeCliente)} < ${kh.totalPedido + precio}"$)
' Log(kh.traeLimiteCredito(Subs.traeCliente) < (kh.totalPedido + precio)) ' Log(kh.traeLimiteCredito(Subs.traeCliente) < (kh.totalPedido + precio))
If buttonTag = "vendido" Then
' Log(inv > 0)
' Log(tsMonto.As(Int) = 0)
If 1 = 2 And buttonTag = "vendido" And lfila.Text = "PRODUCTOS" Then
' Log(11)
' Log("VENDIDO") ' Log("VENDIDO")
' Log($"${(laCant.Text + 1 <= inv)} And ${(kh.totalPedido - precio > 1)}"$) Log($"${(laCant.Text + 1 <= inv)} And ${(kh.totalPedido - precio > 1)}"$)
If inv > 0 And (laCant.Text + 1 <= (laCant.Text + existencias)) And (kh.totalPedido - precio > 1) Then ' If inv > 0 And (laCant.Text + 1 <= (laCant.Text + existencias)) And (kh.totalPedido - precio > 1) Then
If inv > 0 And (kh.totalPedido - precio > 1) Then
Log(2)
' Log(clv_prods_ll.GetValue(index).As(Map)) ' Log(clv_prods_ll.GetValue(index).As(Map))
clv_prods_ll.GetValue(index).As(Map).Put("almacen", (inv - 1)) clv_prods_ll.GetValue(index).As(Map).Put("almacen", (inv - 1))
inv = inv - 1 inv = inv - 1
' laCant.Text = $"$1.0{laCant.Text+1}"$ ' laCant.Text = $"$1.0{laCant.Text+1}"$
laCant.Text = NumberFormat2((laCant.Text + 1), 1, 0, 0, False) laCant.Text = NumberFormat2((laCant.Text + 1), 1, 0, 0, False)
ts.trendSpending("prodMas", "descuentos", clienteId, id, laCant.Text, inv)
' Log(clv_prods_ll.GetValue(index).As(Map)) ' Log(clv_prods_ll.GetValue(index).As(Map))
End If End If
else if kh.traeLimiteCredito(Subs.traeCliente) < (kh.totalPedido + precio) Then else if kh.traeLimiteCredito(Subs.traeCliente) < (kh.totalPedido + precio) And lfila.Text = "PRODUCTOS" Then
' Log(33)
Log($"#######################${CRLF}#### LIMITE CREDITO SUPERADO${CRLF}#######################"$) Log($"#######################${CRLF}#### LIMITE CREDITO SUPERADO${CRLF}#######################"$)
ToastMessageShow("LIMITE DE CREDITO SUPERADO", False) ToastMessageShow("LIMITE DE CREDITO SUPERADO", False)
else If laCant.Text + 1 <= inv And lfila.Text = "PRODUCTOS" Then else If inv > 0 And tsMonto.As(Int) = 0 And lfila.Text = "PRODUCTOS" Then
' LogColor(inv, Colors.blue) ' Log(55)
' laCant.Text = $"$1.0{laCant.Text + 1}"$
laCant.Text = NumberFormat2((laCant.Text + 1), 1, 0, 0, False) laCant.Text = NumberFormat2((laCant.Text + 1), 1, 0, 0, False)
' Log(kh.totalPedido) ts.trendSpending("prodMas", "descuentos", clienteId, id, laCant.Text, inv)
else If lfila.Text = "RMI" And laCant.Text + 1 <= inv And (kh.totalPedido - precio > 1) Then else If inv > 0 And tsMonto > 0 And laCant.Text < tsMaximas And lfila.Text = "PRODUCTOS" Then
' Log(44)
laCant.Text = NumberFormat2((laCant.Text + 1), 1, 0, 0, False)
ts.trendSpending("prodMas", "descuentos", clienteId, id, laCant.Text, inv)
else If lfila.Text = "RMI" And laCant.Text >= tsMaximas Then
ToastMessageShow("El presupuesto de RMI no permite agregar mas productos!!", False)
else If lfila.Text = "RMI" And laCant.Text < tsMaximas And (kh.totalPedido - precio > 1) Then
' Log(66)
ts.trendSpending("prodMas", "rmi", clienteId, id, laCant.Text, inv)
LogColor(inv, Colors.blue) LogColor(inv, Colors.blue)
' laCant.Text = $"$1.0{laCant.Text + 1}"$ ' laCant.Text = $"$1.0{laCant.Text + 1}"$
laCant.Text = NumberFormat2((laCant.Text + 1), 1, 0, 0, False) laCant.Text = NumberFormat2((laCant.Text + 1), 1, 0, 0, False)
Log(kh.totalPedido) Log(kh.totalPedido)
else if kh.totalPedido < 1 Then else if kh.totalPedido < 1 Then
' Log(77)
laCant.Text = "0" laCant.Text = "0"
End If End If
Private id As String=clv_prods_ll.GetValue(index).As(Map).Get("id") ' Log(99)
Private almacenX As String = Subs.traeAlmacen
Private nombreX As String = Subs.traeProdNombre(id)
Private precioX As String = precio
If lfila.Text = "RMI" Then If lfila.Text = "RMI" Then
almacenX = "DUR" almacenX = "DUR"
nombreX = "CAMBIO"&Subs.traeRMINombre(id) nombreX = "CAMBIO"&Subs.traeRMINombre(id)
precioX = precioX * -1 precioX = precioX * -1
End If End If
Subs.actualizaProducto(almacenX, precioX, laCant.text, nombreX, id, clienteId, Subs.traeFecha, Subs.traeUsuarioDeBD, rutaUsuario, 0, Starter.tipov) Subs.actualizaProducto(almacenX, precioX, laCant.text, nombreX, id, clienteId, Subs.traeFecha, Subs.traeUsuarioDeBD, rutaUsuario, 0, Starter.tipov)
Log($"Existencias: ${inv}, inv: ${Subs.traeinventario(pnl.GetView(1).Tag)}"$)
Log($"TotalPedido: ${NumberFormat2(kh.totalPedido,1,2,2,False)}"$) Log($"TotalPedido: ${NumberFormat2(kh.totalPedido,1,2,2,False)}"$)
If kh.totalPedido < 0.01 Then If kh.totalPedido < 0.01 Then
etCantHasFocus = False etCantHasFocus = False
@@ -698,7 +805,7 @@ Sub b_prodMas_Click
et_pCant_TextChanged(100, 0) et_pCant_TextChanged(100, 0)
End If End If
dispAbordo = kh.traeDisponibleAbordo dispAbordo = kh.traeDisponibleAbordo
Log("DISPONIBLE ABORDO: " & dispAbordo) ' Log("DISPONIBLE ABORDO: " & dispAbordo)
If Subs.traeCliente = 0 And dispAbordo < 1 Then If Subs.traeCliente = 0 And dispAbordo < 1 Then
' Log("######### "& NumberFormat2((kh.traeLimiteAbordoWeb - (kh.traeLimiteAbordoXInventario - kh.traeVenta) - kh.traeVentaAbordo), 0, 2, 2, False)) ' Log("######### "& NumberFormat2((kh.traeLimiteAbordoWeb - (kh.traeLimiteAbordoXInventario - kh.traeVenta) - kh.traeVentaAbordo), 0, 2, 2, False))
Try Try
@@ -737,17 +844,19 @@ Sub b_prodMas_Click
End Sub End Sub
Private Sub et_pCant_TextChanged (Old As String, New As String) Private Sub et_pCant_TextChanged (Old As String, New As String)
' LogColor($"txt changed: ${Old}|${New}, hasfocus=${etCantHasFocus}"$,Colors.Magenta)
' If Not(Old = "0" And New = "") And etCantHasFocus Then cuentaProds ' If Not(Old = "0" And New = "") And etCantHasFocus Then cuentaProds
' Log($"${Old}|${New}"$)
If etCantHasFocus = True Then If etCantHasFocus = True Then
Try Try
LogColor($"txt changed: ${Old}|${New}, hasfocus=${etCantHasFocus}"$,Colors.Magenta) LogColor($"txt changed: ${Old}|${New}, hasfocus=${etCantHasFocus}"$,Colors.Magenta)
Dim index As Int = clv_prods_ll.GetItemFromView(Sender) Dim index As Int = clv_prods_ll.GetItemFromView(Sender)
Dim pnl0 As B4XView = clv_prods_ll.GetPanel(index) Dim pnl0 As B4XView = clv_prods_ll.GetPanel(index)
Dim pnl As B4XView = pnl0.GetView(0) Dim pnl As B4XView = pnl0.GetView(0)
Private existencias As String = clv_prods_ll.GetValue(index).As(Map).Get("almacen") Private existencias As String ' = clv_prods_ll.GetValue(index).As(Map).Get("almacen")
Dim laCant As B4XView = pnl.GetView(2).GetView(2) Dim laCant As B4XView = pnl.GetView(2).GetView(2)
Private id As String=clv_prods_ll.GetValue(index).As(Map).Get("id") Private id As String=clv_prods_ll.GetValue(index).As(Map).Get("id")
existencias = Subs.traeinventario(id)
Log($"Existencias: ${Subs.traeinventario(id)}"$)
Private precio As String=clv_prods_ll.GetValue(index).As(Map).Get("precio") Private precio As String=clv_prods_ll.GetValue(index).As(Map).Get("precio")
Log("++++++++++ " & precio) Log("++++++++++ " & precio)
Dim tempTot As String = kh.totalPedido Dim tempTot As String = kh.totalPedido
@@ -756,12 +865,15 @@ Private Sub et_pCant_TextChanged (Old As String, New As String)
disp = NumberFormat2(disp, 1, 0, 0, False) disp = NumberFormat2(disp, 1, 0, 0, False)
If existencias = "" Then existencias = 0 If existencias = "" Then existencias = 0
existencias = NumberFormat2(existencias, 1, 0, 0, False) existencias = NumberFormat2(existencias, 1, 0, 0, False)
Log($"${laCant.text}, ${precio}, DISPONIBLES: ${disp}"$) Log($"laCant: ${laCant.text}, Precio: ${precio}, DISPONIBLES: ${disp}"$)
Private inv As String=clv_prods_ll.GetValue(index).As(Map).Get("almacen") ' Private inv As String=clv_prods_ll.GetValue(index).As(Map).Get("almacen")
If(New = "" Or New = Null) Then New = 0 If(New = "" Or New = Null) Then New = 0
If(New > invTotal) Then Log($"Nuevo: ${New}, InvTotal: ${invTotal}"$)
Sender.As(EditText).text = invTotal ' If(New >= invTotal) Then
End If ' Log("Se pasa!!")
' etCantHasFocus = False
' Sender.As(EditText).text = invTotal
' End If
Private almacenX As String = Subs.traeAlmacen Private almacenX As String = Subs.traeAlmacen
Private nombreX As String = Subs.traeProdNombre(id) Private nombreX As String = Subs.traeProdNombre(id)
Private precioX As String = precio Private precioX As String = precio
@@ -777,32 +889,54 @@ Private Sub et_pCant_TextChanged (Old As String, New As String)
' Log($"inventario=${inv}"$) ' Log($"inventario=${inv}"$)
' Dim tmpCant As String = laCant.text ' Dim tmpCant As String = laCant.text
If laCant.Text = "" Then laCant.Text = "0" If laCant.Text = "" Then laCant.Text = "0"
Log("======== " & Sender.As(EditText).text & "|" & laCant.text & "|" & New & "|" & existencias) Log("======== laCant: " & Sender.As(EditText).text & " | New: " & New & " | Existencias: " & existencias & " ========")
If laCant.Text > existencias Or New > existencias Then If laCant.Text > invTotal Or New > invTotal Then
Log(888) Log("Se pasa!!")
Log($"Ponemos laCant en: ${existencias}"$) Log($"Ponemos laCant en: ${invTotal}"$)
' laCant.Text = "" laCant.text = invTotal
laCant.text = existencias
Log($">>>>> LACANT=${laCant.Text}"$)
' etCantHasFocus = True ' etCantHasFocus = True
End If End If
' If New < existencias Then
Log(999)
Private limCred As Double = kh.traeLimiteCredito(Subs.traeCliente) Private limCred As Double = kh.traeLimiteCredito(Subs.traeCliente)
' Log($"${NumberFormat(limCred,1,2)} < ${kh.totalPedido + (precio*laCant.text)}"$) ' Log($"${NumberFormat(limCred,1,2)} < ${kh.totalPedido + (precio*laCant.text)}"$)
' Log(NumberFormat2(limCred,1,0,0,False)) ' Log(NumberFormat2(limCred,1,0,0,False))
' limCred = NumberFormat2(limCred,1,0,0,False) ' limCred = NumberFormat2(limCred,1,0,0,False)
Log((kh.totalPedido + (precio*laCant.text))) Log("TotalPedido + actual: " &( kh.totalPedido + (precio*laCant.text)))
Log("|" & (limCred < (kh.totalPedido + (precio*laCant.text))) & "|") Log("| Limite de crédito superado: " & (limCred < (kh.totalPedido + (precio*laCant.text))) & " |")
If limCred < (kh.totalPedido + (precio*laCant.text)) Then If limCred < (kh.totalPedido + (precio*laCant.text)) Then
Log($"#######################${CRLF}#### LIMITE CREDITO SUPERADO${CRLF}#######################"$) Log($"#######################${CRLF}#### LIMITE CREDITO SUPERADO${CRLF}#######################"$)
ToastMessageShow("LIMITE DE CREDITO SUPERADO", False) ToastMessageShow("LIMITE DE CREDITO SUPERADO", False)
laCant.text = 0 laCant.text = 0
Else ' Else
Log("#### LIMITE DE CREDITO") ' Log("#### LIMITE DE CREDITO")
End If End If
' End If
'######## Trend Spending
If lfila.Text = "PRODUCTOS" Then
Private tsMonto As String = NumberFormat2(ts.traePrecio(id)*(ts.traeDescXSku(clienteId, id)/100), 1, 2, 2, False)
Private tsRestantes As String = (TS_DESCUENTOS(0) - TS_DESCUENTOS(1) - ts.traeAcumuladoHoyTS("descuentos"))
Log("tsMonto: " & tsMonto)
Log("Monto del presupuesto disponible: " & tsRestantes)
' Private tsMaximas As Int = (tsRestantes/tsMonto).As(Int)
' Log($"tsMaximas: ${tsMaximas}"$)
Log($"tsMaximas: ${ts.tsMaximas}"$)
If tsMonto > 0 Then
If New > ts.tsMaximas Then
If invTotal > ts.tsMaximas Then
laCant.Text = ts.tsMaximas
Else
laCant.Text = invTotal
End If
End If
Else if tsMonto = 0 Then
If laCant.Text > invTotal Or New > invTotal Then
laCant.text = invTotal
End If
End If
ts.modTrendSpending("resta", "descuentos", ((New * tsMonto) - (Old * tsMonto)))
Log("tsAcumulado: " & ts.traeAcumuladoHoyTS("descuentos"))
End If
'##########################
' If Not(Old = "0" And New = "") And laCant.Text <> Null And laCant.Text <> "" And etCantHasFocus Then ' If Not(Old = "0" And New = "") And laCant.Text <> Null And laCant.Text <> "" And etCantHasFocus Then
Subs.actualizaProducto(almacenX, precioX, laCant.Text, nombreX, id, clienteId, Subs.traeFecha, Subs.traeUsuarioDeBD, rutaUsuario, 0, Starter.tipov) Subs.actualizaProducto(almacenX, precioX, laCant.Text, nombreX, id, clienteId, Subs.traeFecha, Subs.traeUsuarioDeBD, rutaUsuario, 0, Starter.tipov)
@@ -839,6 +973,23 @@ Private Sub et_pCant_FocusChanged (HasFocus As Boolean)
Dim pnl As B4XView = pnl0.GetView(0) Dim pnl As B4XView = pnl0.GetView(0)
Dim laCant As B4XView = pnl.GetView(2).GetView(2) Dim laCant As B4XView = pnl.GetView(2).GetView(2)
Private id As String=clv_prods_ll.GetValue(index).As(Map).Get("id") Private id As String=clv_prods_ll.GetValue(index).As(Map).Get("id")
If lfila.Text = "PRODUCTOS" Then
'######## Trend Spending
Private laBonificacion As String = ts.traePrecio(id)*(ts.traeDescXSku(clienteId, id)/100)
If laBonificacion > 0 And HasFocus Then
Log("LA BONIFICACION: " & laBonificacion)
Private tsRestantes As String = (TS_DESCUENTOS(0) - TS_DESCUENTOS(1) - ts.traeAcumuladoHoyTS("descuentos"))
Log("Monto de prespuesto disponible: " & tsRestantes)
ts.tsMaximas = ((laCant.text * laBonificacion) + tsRestantes) / laBonificacion
Log("tsMaximas: " & ts.tsMaximas)
Log(ts.traeAcumuladoHoyTS("descuentos"))
End If
'##########################
End If
' If HasFocus Then
' bonificacionesMaximas = Subs.trendSpendingFuncs("focusChanged", "bonificaciones", clienteId, id, laCant.text, 0)
'' Log("bonificacionesMaximas: " & bonificacionesMaximas)
' End If
invTotal = laCant.Text + Subs.traeinventario(id) invTotal = laCant.Text + Subs.traeinventario(id)
LogColor("InvTotal PRODMAS: " & invTotal, Colors.Red) LogColor("InvTotal PRODMAS: " & invTotal, Colors.Red)
cuentaProds cuentaProds
@@ -1117,6 +1268,14 @@ Private Sub lv_prodsPedido_ItemLongClick (Position As Int, Value As Object)
'Si no es RMI, actualizamos el inventario. 'Si no es RMI, actualizamos el inventario.
If prod.GetString("PE_CEDIS") <> "DUR" Then Starter.skmt.ExecNonQuery2($"update ${Subs.traeTablaProds(Starter.tipov)} set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?"$, Array As Object(m.get("cant"), m.get("prodId"))) If prod.GetString("PE_CEDIS") <> "DUR" Then Starter.skmt.ExecNonQuery2($"update ${Subs.traeTablaProds(Starter.tipov)} set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?"$, Array As Object(m.get("cant"), m.get("prodId")))
Log($"BORRAMOS ${Value}, ${m.Get("cedis")}"$) Log($"BORRAMOS ${Value}, ${m.Get("cedis")}"$)
' Codigo para regresar el dinero al presupuesto de DESCUENTOS (Trend Spending)
Private precio0 As String = Subs.traePrecio(m.Get("prodId"))
Private precioConDesc As String = (kh.traeDescXSku(Subs.traeCliente, m.Get("prodId"))/100)*precio0
Log(precioConDesc)
Log(">>>>>>>>>>>>> " & (precioConDesc * m.Get("cant")))
Subs.modTrendSpending("suma", "descuentos", (precioConDesc * m.Get("cant")))
' Termina Trend Spending
Starter.skmt.ExecNonQuery2("delete from pedido where pe_pronombre = ? and pe_cedis = ? and pe_cant = ? and pe_cliente in (Select CUENTA from cuentaa)", Array As Object(Value, m.Get("cedis"), m.Get("cant"))) Starter.skmt.ExecNonQuery2("delete from pedido where pe_pronombre = ? and pe_cedis = ? and pe_cant = ? and pe_cliente in (Select CUENTA from cuentaa)", Array As Object(Value, m.Get("cedis"), m.Get("cant")))
End If End If
prod.Close prod.Close
@@ -1242,6 +1401,11 @@ Private Sub clv_prods_ll_VisibleRangeChanged (FirstIndex As Int, LastIndex As In
prioridad = p1.GetInt("CAT_GP_TIPOPROD2") prioridad = p1.GetInt("CAT_GP_TIPOPROD2")
' Log(prioridad) ' Log(prioridad)
End If End If
' Log("NIVEL: " & lfila.Text)
If lfila.Text = "RMI" Then ' Si es RMI, la cantidad solo se puede cambiar con los botones.
et_pCant.Enabled = False
et_pCant.TextColor = Colors.black
End If
If clv_prods_ll.GetValue(i).As(Map).Get("cant") <> Null And clv_prods_ll.GetValue(i).As(Map).Get("cant") > 0 Then If clv_prods_ll.GetValue(i).As(Map).Get("cant") <> Null And clv_prods_ll.GetValue(i).As(Map).Get("cant") > 0 Then
p_prods.Color=0xFFE2EEFF p_prods.Color=0xFFE2EEFF
' Log($"select CAT_GP_TIPOPROD2 from CAT_GUNAPROD where CAT_GP_ID = '${clv_prods_ll.GetValue(i).As(Map).Get("id")}'"$) ' Log($"select CAT_GP_TIPOPROD2 from CAT_GUNAPROD where CAT_GP_ID = '${clv_prods_ll.GetValue(i).As(Map).Get("id")}'"$)
@@ -1287,7 +1451,7 @@ Sub Busca_TextChanged (Old As String, New As String)
' Log($"${Starter.tipov} - ${query} - ${Subs.traeTablaProds(Starter.tipov)}"$) ' Log($"${Starter.tipov} - ${query} - ${Subs.traeTablaProds(Starter.tipov)}"$)
If lfila.text = "PROMOCIONES" Then If lfila.text = "PROMOCIONES" Then
If Not(lv_promos.Visible) Then lv_promos.Visible = True If Not(lv_promos.Visible) Then lv_promos.Visible = True
Private cPromo As Cursor=Starter.skmt.ExecQuery($"select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_TIPO, CAT_GP_IMG from ${Subs.traeTablaProds(Starter.tipov)} where CAT_GP_NOMBRE like '%${New}%' and CAT_GP_ALMACEN > 0 AND CAT_GP_TIPO = 'PROMOS' AND CAT_GP_SUBTIPO = 'PROMOS' AND CAT_GP_TIPOPROD <> 1 and (length(CAT_GP_CODPROMO) = 1 OR CAT_GP_CODPROMO = CAT_GP_ID) ORDER BY CAT_GP_TIPOPROD2 DESC, CAT_GP_NOMBRE"$) Private cPromo As Cursor=Starter.skmt.ExecQuery($"select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_TIPO, CAT_GP_IMG from ${Subs.traeTablaProds(Starter.tipov)} where CAT_GP_NOMBRE like '%${New}%' and CAT_GP_ALMACEN > 0 AND CAT_GP_TIPO = 'PROMOS' AND CAT_GP_SUBTIPO = 'PROMOS' AND CAT_GP_TIPOPROD <> 1 and (length(CAT_GP_CODPROMO) = 1 OR CAT_GP_CODPROMO = CAT_GP_ID) and CAT_GP_PROMOCION <> '1' ORDER BY CAT_GP_TIPOPROD2 DESC, CAT_GP_NOMBRE"$)
Log($"res:${cPromo.RowCount}"$) Log($"res:${cPromo.RowCount}"$)
If cPromo.RowCount > 0 Then If cPromo.RowCount > 0 Then
lv_promos.Clear lv_promos.Clear
@@ -1318,7 +1482,7 @@ Sub Busca_TextChanged (Old As String, New As String)
listaProds.Initialize listaProds.Initialize
listaHints.Initialize listaHints.Initialize
Sleep(0) Sleep(0)
Dim p As ResultSet = Starter.skmt.ExecQuery($"select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPO, CAT_GP_TIPOPROD from ${Subs.traeTablaProds(Starter.tipov)} where CAT_GP_NOMBRE like '%${New}%' and CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 and CAT_GP_CLASIF <> 'PROMOS' order by CAT_GP_NOMBRE"$) Dim p As ResultSet = Starter.skmt.ExecQuery($"select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPO, CAT_GP_TIPOPROD from ${Subs.traeTablaProds(Starter.tipov)} where CAT_GP_NOMBRE like '%${New}%' and CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 and CAT_GP_CLASIF <> 'PROMOS' and CAT_GP_PROMOCION <> '1' order by CAT_GP_NOMBRE"$)
' c2 = Starter.skmt.ExecQuery2("select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG from " & query & " where CAT_GP_ALMACEN > 0 AND CAT_GP_TIPO = ? AND CAT_GP_SUBTIPO =? AND CAT_GP_TIPOPROD <> 1 and (length(CAT_GP_CODPROMO) = 1 OR CAT_GP_CODPROMO = CAT_GP_ID) ", Array As String( Value, Value) ' c2 = Starter.skmt.ExecQuery2("select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG from " & query & " where CAT_GP_ALMACEN > 0 AND CAT_GP_TIPO = ? AND CAT_GP_SUBTIPO =? AND CAT_GP_TIPOPROD <> 1 and (length(CAT_GP_CODPROMO) = 1 OR CAT_GP_CODPROMO = CAT_GP_ID) ", Array As String( Value, Value)
Log("Llamamos LlenaProdsLL") Log("Llamamos LlenaProdsLL")
LlenaProdsLL(p, Null) LlenaProdsLL(p, Null)
@@ -1326,7 +1490,7 @@ Sub Busca_TextChanged (Old As String, New As String)
End Sub End Sub
Sub LlenaProdsLL(p As ResultSet, extra As String) Sub LlenaProdsLL(p As ResultSet, extra As String)
Log("LlenaProdsLL") If Starter.Logger Then Log("LlenaProdsLL")
listaProds.Initialize listaProds.Initialize
hayPedido = Subs.hayPedido hayPedido = Subs.hayPedido
' Log($"HAYPEDIDO: ${hayPedido}"$) ' Log($"HAYPEDIDO: ${hayPedido}"$)
@@ -1352,7 +1516,8 @@ Sub LlenaProdsLL(p As ResultSet, extra As String)
Log($"YA HAY RESULTSET ${p.RowCount}"$) Log($"YA HAY RESULTSET ${p.RowCount}"$)
Else Else
' Log("NO HAY RESULTSET") ' Log("NO HAY RESULTSET")
Dim p As ResultSet = Starter.skmt.ExecQuery($"select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPO, CAT_GP_TIPOPROD from ${Subs.traeTablaProds(Starter.tipov)} where CAT_GP_PRECIO > 0 And CAT_GP_CLASIF <> 'PROMOS' ORDER BY CAT_GP_TIPOPROD2 DESC, CAT_GP_NOMBRE"$) Dim p As ResultSet = Starter.skmt.ExecQuery($"select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPO, CAT_GP_TIPOPROD from ${Subs.traeTablaProds(Starter.tipov)} where CAT_GP_PRECIO > 0 And CAT_GP_CLASIF <> 'PROMOS' and CAT_GP_PROMOCION <> '1' ORDER BY CAT_GP_TIPOPROD2 DESC, CAT_GP_NOMBRE"$)
If Starter.Logger Then Log($"select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPO, CAT_GP_TIPOPROD from ${Subs.traeTablaProds(Starter.tipov)} where CAT_GP_PRECIO > 0 And CAT_GP_CLASIF <> 'PROMOS' and CAT_GP_PROMOCION <> '1' ORDER BY CAT_GP_TIPOPROD2 DESC, CAT_GP_NOMBRE"$)
' Log(p.RowCount & " - " & Subs.traeTablaProds(Starter.tipov)) ' Log(p.RowCount & " - " & Subs.traeTablaProds(Starter.tipov))
End If End If
@@ -1406,7 +1571,7 @@ Sub LlenaProdsLL(p As ResultSet, extra As String)
Private Pnl As B4XView = xui.CreatePanel("") Private Pnl As B4XView = xui.CreatePanel("")
Pnl.SetLayoutAnimated(0, 0, 0, clv_prods_ll.AsView.Width, 50dip) Pnl.SetLayoutAnimated(0, 0, 0, clv_prods_ll.AsView.Width, 50dip)
Private tempMap As Map = listaProdsConCant.Get(pr0) Private tempMap As Map = listaProdsConCant.Get(pr0)
Private inv = tempMap.Get("almacen")' + tempMap.Get("cant") Private inv As String = tempMap.Get("almacen")' + tempMap.Get("cant")
tempMap.Put("almacen", inv) tempMap.Put("almacen", inv)
' Log(tempMap) ' Log(tempMap)
clv_prods_ll.Add(Pnl, tempMap) clv_prods_ll.Add(Pnl, tempMap)

View File

@@ -35,7 +35,7 @@ Sub Class_Globals
Dim estaPromo, esteCliente As String Dim estaPromo, esteCliente As String
Private b_promoMas As Button Private b_promoMas As Button
Private b_promoMenos As Button Private b_promoMenos As Button
dim et_promoCant As EditText Dim et_promoCant As EditText
Private l_promosCant As Label Private l_promosCant As Label
Private b_continuar As Button Private b_continuar As Button
Private p_prodsVariables As Panel Private p_prodsVariables As Panel
@@ -43,11 +43,13 @@ Sub Class_Globals
Dim prodsPedidoActual As String Dim prodsPedidoActual As String
Dim montoPedidoActual As String Dim montoPedidoActual As String
Dim promosMap As Map Dim promosMap As Map
Dim ts As C_TrendSpending
End Sub End Sub
'You can add more parameters here. 'You can add more parameters here.
Public Sub Initialize As Object Public Sub Initialize As Object
' promosC.Initialize(Me, "promosC", Starter.skmt) ' promosC.Initialize(Me, "promosC", Starter.skmt)
ts.Initialize("ts", "ts", Starter.skmt)
Return Me Return Me
End Sub End Sub
@@ -487,7 +489,7 @@ End Sub
Private Sub b_continuar_Click Private Sub b_continuar_Click
cuentaProds cuentaProds
' Log("====================================================================") ' Log("====================================================================")
' Log($"${prodsIds}${CRLF}${prodsCants}${CRLF}${prodsPrecios}"$) Log($"${prodsIds}${CRLF}${prodsCants}${CRLF}${prodsPrecios}"$)
For t = 0 To prodsIds.Size - 1 'Guardamos los productos fijos de la promocion en pedido. For t = 0 To prodsIds.Size - 1 'Guardamos los productos fijos de la promocion en pedido.
Private pn As String = Subs.traeProdNombre(prodsIds.Get(t)) Private pn As String = Subs.traeProdNombre(prodsIds.Get(t))
Subs.guardaProductoSinGestion(estaPromo, prodsPrecios.Get(t), prodsCants.Get(t), pn, prodsIds.Get(t), Subs.traeCliente, Subs.traeFecha, Subs.traeUsuarioDeBD, Subs.traeRuta, 0, Starter.tipov) Subs.guardaProductoSinGestion(estaPromo, prodsPrecios.Get(t), prodsCants.Get(t), pn, prodsIds.Get(t), Subs.traeCliente, Subs.traeFecha, Subs.traeUsuarioDeBD, Subs.traeRuta, 0, Starter.tipov)

View File

@@ -344,6 +344,7 @@ Sub trackInit 'ignore
inicioJobDoneMap.Initialize inicioJobDoneMap.Initialize
End Sub End Sub
Sub trackNext(job As HttpJob) Sub trackNext(job As HttpJob)
If reqsList.IsInitialized Then 'Si tenemos lista de requests, la procesamos. If reqsList.IsInitialized Then 'Si tenemos lista de requests, la procesamos.
Private quitamos As String = "" Private quitamos As String = ""
@@ -357,6 +358,6 @@ Sub trackNext(job As HttpJob)
quitamos = $"Quitamos ${job.tag} - "$ quitamos = $"Quitamos ${job.tag} - "$
End If End If
If logger Then LogColor(">>>>>> Requests: " & reqsList.Size & " - " & quitamos & reqsList, Colors.Blue) If logger Then LogColor(">>>>>> Requests: " & reqsList.Size & " - " & quitamos & reqsList, Colors.Blue)
if logger then LogColor(">>>>>> inicioRequestMap:" & inicioRequestMap.Size & " - " & inicioRequestMap, Colors.Magenta) If logger Then LogColor(">>>>>> inicioRequestMap:" & inicioRequestMap.Size & " - " & inicioRequestMap, Colors.Magenta)
End If End If
End Sub End Sub

Binary file not shown.

BIN
B4A/Files/kelloggs.rkmt.km Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,424 +1,425 @@
Build1=Default,kelloggsV2.keymon.lat,HU2_PUBLIC Build1=Default,kelloggsV2.keymon.lat,HU2_PUBLIC
File1=alcancia.png File1=alcancia.png
File10=cacahuates_blanco2.png File10=cacahuates_blanco2.png
File100=marker-azul-34.png File100=marker-azul-33.png
File101=marker-azul-35.png File101=marker-azul-34.png
File102=marker-azul-36.png File102=marker-azul-35.png
File103=marker-azul-37.png File103=marker-azul-36.png
File104=marker-azul-38.png File104=marker-azul-37.png
File105=marker-azul-39.png File105=marker-azul-38.png
File106=marker-azul4.png File106=marker-azul-39.png
File107=marker-azul-4.png File107=marker-azul4.png
File108=marker-azul-40.png File108=marker-azul-4.png
File109=marker-azul-41.png File109=marker-azul-40.png
File11=cacahuates_blanco3.png File11=cacahuates_blanco3.png
File110=marker-azul-42.png File110=marker-azul-41.png
File111=marker-azul-43.png File111=marker-azul-42.png
File112=marker-azul-44.png File112=marker-azul-43.png
File113=marker-azul-45.png File113=marker-azul-44.png
File114=marker-azul-46.png File114=marker-azul-45.png
File115=marker-azul-47.png File115=marker-azul-46.png
File116=marker-azul-48.png File116=marker-azul-47.png
File117=marker-azul-49.png File117=marker-azul-48.png
File118=marker-azul5.png File118=marker-azul-49.png
File119=marker-azul-5.png File119=marker-azul5.png
File12=cacahuates_chico.png File12=cacahuates_chico.png
File120=marker-azul-50.png File120=marker-azul-5.png
File121=marker-azul-51.png File121=marker-azul-50.png
File122=marker-azul-52.png File122=marker-azul-51.png
File123=marker-azul-53.png File123=marker-azul-52.png
File124=marker-azul-54.png File124=marker-azul-53.png
File125=marker-azul-55.png File125=marker-azul-54.png
File126=marker-azul-56.png File126=marker-azul-55.png
File127=marker-azul-57.png File127=marker-azul-56.png
File128=marker-azul-58.png File128=marker-azul-57.png
File129=marker-azul-59.png File129=marker-azul-58.png
File13=cacahuates_original.jpeg File13=cacahuates_original.jpeg
File130=marker-azul-6.png File130=marker-azul-59.png
File131=marker-azul-60.png File131=marker-azul-6.png
File132=marker-azul-61.png File132=marker-azul-60.png
File133=marker-azul-62.png File133=marker-azul-61.png
File134=marker-azul-63.png File134=marker-azul-62.png
File135=marker-azul-64.png File135=marker-azul-63.png
File136=marker-azul-65.png File136=marker-azul-64.png
File137=marker-azul-66.png File137=marker-azul-65.png
File138=marker-azul-67.png File138=marker-azul-66.png
File139=marker-azul-68.png File139=marker-azul-67.png
File14=cacahuates_original2.bmp File14=cacahuates_original2.bmp
File140=marker-azul-69.png File140=marker-azul-68.png
File141=marker-azul-7.png File141=marker-azul-69.png
File142=marker-azul-70.png File142=marker-azul-7.png
File143=marker-azul-71.png File143=marker-azul-70.png
File144=marker-azul-72.png File144=marker-azul-71.png
File145=marker-azul-73.png File145=marker-azul-72.png
File146=marker-azul-74.png File146=marker-azul-73.png
File147=marker-azul-75.png File147=marker-azul-74.png
File148=marker-azul-76.png File148=marker-azul-75.png
File149=marker-azul-77.png File149=marker-azul-76.png
File15=cacahuates_original2.jpg File15=cacahuates_original2.jpg
File150=marker-azul-78.png File150=marker-azul-77.png
File151=marker-azul-79.png File151=marker-azul-78.png
File152=marker-azul-8.png File152=marker-azul-79.png
File153=marker-azul-80.png File153=marker-azul-8.png
File154=marker-azul-81.png File154=marker-azul-80.png
File155=marker-azul-82.png File155=marker-azul-81.png
File156=marker-azul-83.png File156=marker-azul-82.png
File157=marker-azul-84.png File157=marker-azul-83.png
File158=marker-azul-85.png File158=marker-azul-84.png
File159=marker-azul-86.png File159=marker-azul-85.png
File16=cacahuates_original3.bmp File16=cacahuates_original3.bmp
File160=marker-azul-87.png File160=marker-azul-86.png
File161=marker-azul-88.png File161=marker-azul-87.png
File162=marker-azul-89.png File162=marker-azul-88.png
File163=marker-azul-9.png File163=marker-azul-89.png
File164=marker-azul-90.png File164=marker-azul-9.png
File165=marker-azul-91.png File165=marker-azul-90.png
File166=marker-azul-92.png File166=marker-azul-91.png
File167=marker-azul-93.png File167=marker-azul-92.png
File168=marker-azul-94.png File168=marker-azul-93.png
File169=marker-azul-95.png File169=marker-azul-94.png
File17=carrito.png File17=carrito.png
File170=marker-azul-96.png File170=marker-azul-95.png
File171=marker-azul-97.png File171=marker-azul-96.png
File172=marker-azul-98.png File172=marker-azul-97.png
File173=marker-azul-99.png File173=marker-azul-98.png
File174=marker-rojo.png File174=marker-azul-99.png
File175=marker-rojo-0.png File175=marker-rojo.png
File176=marker-rojo1.png File176=marker-rojo-0.png
File177=marker-rojo-1.png File177=marker-rojo1.png
File178=marker-rojo-10.png File178=marker-rojo-1.png
File179=marker-rojo-100.png File179=marker-rojo-10.png
File18=checklist.bal File18=checklist.bal
File180=marker-rojo-11.png File180=marker-rojo-100.png
File181=marker-rojo-12.png File181=marker-rojo-11.png
File182=marker-rojo-13.png File182=marker-rojo-12.png
File183=marker-rojo-14.png File183=marker-rojo-13.png
File184=marker-rojo-15.png File184=marker-rojo-14.png
File185=marker-rojo-16.png File185=marker-rojo-15.png
File186=marker-rojo-17.png File186=marker-rojo-16.png
File187=marker-rojo-18.png File187=marker-rojo-17.png
File188=marker-rojo-19.png File188=marker-rojo-18.png
File189=marker-rojo2.png File189=marker-rojo-19.png
File19=checks.bal File19=checks.bal
File190=marker-rojo-2.png File190=marker-rojo2.png
File191=marker-rojo-20.png File191=marker-rojo-2.png
File192=marker-rojo-21.png File192=marker-rojo-20.png
File193=marker-rojo-22.png File193=marker-rojo-21.png
File194=marker-rojo-23.png File194=marker-rojo-22.png
File195=marker-rojo-24.png File195=marker-rojo-23.png
File196=marker-rojo-25.png File196=marker-rojo-24.png
File197=marker-rojo-26.png File197=marker-rojo-25.png
File198=marker-rojo-27.png File198=marker-rojo-26.png
File199=marker-rojo-28.png File199=marker-rojo-27.png
File2=alert2.png File2=alert2.png
File20=cliente.bal File20=cliente.bal
File200=marker-rojo-29.png File200=marker-rojo-28.png
File201=marker-rojo-3.png File201=marker-rojo-29.png
File202=marker-rojo-30.png File202=marker-rojo-3.png
File203=marker-rojo-31.png File203=marker-rojo-30.png
File204=marker-rojo-32.png File204=marker-rojo-31.png
File205=marker-rojo-33.png File205=marker-rojo-32.png
File206=marker-rojo-34.png File206=marker-rojo-33.png
File207=marker-rojo-35.png File207=marker-rojo-34.png
File208=marker-rojo-36.png File208=marker-rojo-35.png
File209=marker-rojo-37.png File209=marker-rojo-36.png
File21=cliente.bal.bak File21=cliente.bal.bak
File210=marker-rojo-38.png File210=marker-rojo-37.png
File211=marker-rojo-39.png File211=marker-rojo-38.png
File212=marker-rojo-4.png File212=marker-rojo-39.png
File213=marker-rojo-40.png File213=marker-rojo-4.png
File214=marker-rojo-41.png File214=marker-rojo-40.png
File215=marker-rojo-42.png File215=marker-rojo-41.png
File216=marker-rojo-43.png File216=marker-rojo-42.png
File217=marker-rojo-44.png File217=marker-rojo-43.png
File218=marker-rojo-45.png File218=marker-rojo-44.png
File219=marker-rojo-46.png File219=marker-rojo-45.png
File22=clientes.bal File22=clientes.bal
File220=marker-rojo-47.png File220=marker-rojo-46.png
File221=marker-rojo-48.png File221=marker-rojo-47.png
File222=marker-rojo-49.png File222=marker-rojo-48.png
File223=marker-rojo-5.png File223=marker-rojo-49.png
File224=marker-rojo-50.png File224=marker-rojo-5.png
File225=marker-rojo-51.png File225=marker-rojo-50.png
File226=marker-rojo-52.png File226=marker-rojo-51.png
File227=marker-rojo-53.png File227=marker-rojo-52.png
File228=marker-rojo-54.png File228=marker-rojo-53.png
File229=marker-rojo-55.png File229=marker-rojo-54.png
File23=detalle_promo.bal File23=detalle_promo.bal
File230=marker-rojo-56.png File230=marker-rojo-55.png
File231=marker-rojo-57.png File231=marker-rojo-56.png
File232=marker-rojo-58.png File232=marker-rojo-57.png
File233=marker-rojo-59.png File233=marker-rojo-58.png
File234=marker-rojo-6.png File234=marker-rojo-59.png
File235=marker-rojo-60.png File235=marker-rojo-6.png
File236=marker-rojo-61.png File236=marker-rojo-60.png
File237=marker-rojo-62.png File237=marker-rojo-61.png
File238=marker-rojo-63.png File238=marker-rojo-62.png
File239=marker-rojo-64.png File239=marker-rojo-63.png
File24=durakelo.png File24=durakelo.png
File240=marker-rojo-65.png File240=marker-rojo-64.png
File241=marker-rojo-66.png File241=marker-rojo-65.png
File242=marker-rojo-67.png File242=marker-rojo-66.png
File243=marker-rojo-68.png File243=marker-rojo-67.png
File244=marker-rojo-69.png File244=marker-rojo-68.png
File245=marker-rojo-7.png File245=marker-rojo-69.png
File246=marker-rojo-70.png File246=marker-rojo-7.png
File247=marker-rojo-71.png File247=marker-rojo-70.png
File248=marker-rojo-72.png File248=marker-rojo-71.png
File249=marker-rojo-73.png File249=marker-rojo-72.png
File25=durakelo1.png File25=durakelo1.png
File250=marker-rojo-74.png File250=marker-rojo-73.png
File251=marker-rojo-75.png File251=marker-rojo-74.png
File252=marker-rojo-76.png File252=marker-rojo-75.png
File253=marker-rojo-77.png File253=marker-rojo-76.png
File254=marker-rojo-78.png File254=marker-rojo-77.png
File255=marker-rojo-79.png File255=marker-rojo-78.png
File256=marker-rojo-8.png File256=marker-rojo-79.png
File257=marker-rojo-80.png File257=marker-rojo-8.png
File258=marker-rojo-81.png File258=marker-rojo-80.png
File259=marker-rojo-82.png File259=marker-rojo-81.png
File26=engrane.jpg File26=engrane.jpg
File260=marker-rojo-83.png File260=marker-rojo-82.png
File261=marker-rojo-84.png File261=marker-rojo-83.png
File262=marker-rojo-85.png File262=marker-rojo-84.png
File263=marker-rojo-86.png File263=marker-rojo-85.png
File264=marker-rojo-87.png File264=marker-rojo-86.png
File265=marker-rojo-88.png File265=marker-rojo-87.png
File266=marker-rojo-89.png File266=marker-rojo-88.png
File267=marker-rojo-9.png File267=marker-rojo-89.png
File268=marker-rojo-90.png File268=marker-rojo-9.png
File269=marker-rojo-91.png File269=marker-rojo-90.png
File27=engrane.png File27=engrane.png
File270=marker-rojo-92.png File270=marker-rojo-91.png
File271=marker-rojo-93.png File271=marker-rojo-92.png
File272=marker-rojo-94.png File272=marker-rojo-93.png
File273=marker-rojo-95.png File273=marker-rojo-94.png
File274=marker-rojo-96.png File274=marker-rojo-95.png
File275=marker-rojo-97.png File275=marker-rojo-96.png
File276=marker-rojo-98.png File276=marker-rojo-97.png
File277=marker-rojo-99.png File277=marker-rojo-98.png
File278=marker-verde.png File278=marker-rojo-99.png
File279=marker-verde-0.png File279=marker-verde.png
File28=engranes.png File28=engranes.png
File280=marker-verde-1.png File280=marker-verde-0.png
File281=marker-verde-10.png File281=marker-verde-1.png
File282=marker-verde-100.png File282=marker-verde-10.png
File283=marker-verde-11.png File283=marker-verde-100.png
File284=marker-verde-12.png File284=marker-verde-11.png
File285=marker-verde-13.png File285=marker-verde-12.png
File286=marker-verde-14.png File286=marker-verde-13.png
File287=marker-verde-15.png File287=marker-verde-14.png
File288=marker-verde-16.png File288=marker-verde-15.png
File289=marker-verde-17.png File289=marker-verde-16.png
File29=errormanager.bal File29=errormanager.bal
File290=marker-verde-18.png File290=marker-verde-17.png
File291=marker-verde-19.png File291=marker-verde-18.png
File292=marker-verde-2.png File292=marker-verde-19.png
File293=marker-verde-20.png File293=marker-verde-2.png
File294=marker-verde-21.png File294=marker-verde-20.png
File295=marker-verde-22.png File295=marker-verde-21.png
File296=marker-verde-23.png File296=marker-verde-22.png
File297=marker-verde-24.png File297=marker-verde-23.png
File298=marker-verde-25.png File298=marker-verde-24.png
File299=marker-verde-26.png File299=marker-verde-25.png
File3=alerta.jpg File3=alerta.jpg
File30=fondo_kmt.jpg File30=fondo_kmt.jpg
File300=marker-verde-27.png File300=marker-verde-26.png
File301=marker-verde-28.png File301=marker-verde-27.png
File302=marker-verde-29.png File302=marker-verde-28.png
File303=marker-verde-3.png File303=marker-verde-29.png
File304=marker-verde-30.png File304=marker-verde-3.png
File305=marker-verde-31.png File305=marker-verde-30.png
File306=marker-verde-32.png File306=marker-verde-31.png
File307=marker-verde-33.png File307=marker-verde-32.png
File308=marker-verde-34.png File308=marker-verde-33.png
File309=marker-verde-35.png File309=marker-verde-34.png
File31=foto.bal File31=foto.bal
File310=marker-verde-36.png File310=marker-verde-35.png
File311=marker-verde-37.png File311=marker-verde-36.png
File312=marker-verde-38.png File312=marker-verde-37.png
File313=marker-verde-39.png File313=marker-verde-38.png
File314=marker-verde-4.png File314=marker-verde-39.png
File315=marker-verde-40.png File315=marker-verde-4.png
File316=marker-verde-41.png File316=marker-verde-40.png
File317=marker-verde-42.png File317=marker-verde-41.png
File318=marker-verde-43.png File318=marker-verde-42.png
File319=marker-verde-44.png File319=marker-verde-43.png
File32=foto1.jpg File32=foto1.jpg
File320=marker-verde-45.png File320=marker-verde-44.png
File321=marker-verde-46.png File321=marker-verde-45.png
File322=marker-verde-47.png File322=marker-verde-46.png
File323=marker-verde-48.png File323=marker-verde-47.png
File324=marker-verde-49.png File324=marker-verde-48.png
File325=marker-verde-5.png File325=marker-verde-49.png
File326=marker-verde-50.png File326=marker-verde-5.png
File327=marker-verde-51.png File327=marker-verde-50.png
File328=marker-verde-52.png File328=marker-verde-51.png
File329=marker-verde-53.png File329=marker-verde-52.png
File33=foto2.jpg File33=foto2.jpg
File330=marker-verde-54.png File330=marker-verde-53.png
File331=marker-verde-55.png File331=marker-verde-54.png
File332=marker-verde-56.png File332=marker-verde-55.png
File333=marker-verde-57.png File333=marker-verde-56.png
File334=marker-verde-58.png File334=marker-verde-57.png
File335=marker-verde-59.png File335=marker-verde-58.png
File336=marker-verde-6.png File336=marker-verde-59.png
File337=marker-verde-60.png File337=marker-verde-6.png
File338=marker-verde-61.png File338=marker-verde-60.png
File339=marker-verde-62.png File339=marker-verde-61.png
File34=foto3.jpg File34=foto3.jpg
File340=marker-verde-63.png File340=marker-verde-62.png
File341=marker-verde-64.png File341=marker-verde-63.png
File342=marker-verde-65.png File342=marker-verde-64.png
File343=marker-verde-66.png File343=marker-verde-65.png
File344=marker-verde-67.png File344=marker-verde-66.png
File345=marker-verde-68.png File345=marker-verde-67.png
File346=marker-verde-69.png File346=marker-verde-68.png
File347=marker-verde-7.png File347=marker-verde-69.png
File348=marker-verde-70.png File348=marker-verde-7.png
File349=marker-verde-71.png File349=marker-verde-70.png
File35=foto4.jpg File35=foto4.jpg
File350=marker-verde-72.png File350=marker-verde-71.png
File351=marker-verde-73.png File351=marker-verde-72.png
File352=marker-verde-74.png File352=marker-verde-73.png
File353=marker-verde-75.png File353=marker-verde-74.png
File354=marker-verde-76.png File354=marker-verde-75.png
File355=marker-verde-77.png File355=marker-verde-76.png
File356=marker-verde-78.png File356=marker-verde-77.png
File357=marker-verde-79.png File357=marker-verde-78.png
File358=marker-verde-8.png File358=marker-verde-79.png
File359=marker-verde-80.png File359=marker-verde-8.png
File36=guardagestion.bal File36=guardagestion.bal
File360=marker-verde-81.png File360=marker-verde-80.png
File361=marker-verde-82.png File361=marker-verde-81.png
File362=marker-verde-83.png File362=marker-verde-82.png
File363=marker-verde-84.png File363=marker-verde-83.png
File364=marker-verde-85.png File364=marker-verde-84.png
File365=marker-verde-86.png File365=marker-verde-85.png
File366=marker-verde-87.png File366=marker-verde-86.png
File367=marker-verde-88.png File367=marker-verde-87.png
File368=marker-verde-89.png File368=marker-verde-88.png
File369=marker-verde-9.png File369=marker-verde-89.png
File37=guna_viejo.png File37=guna_viejo.png
File370=marker-verde-90.png File370=marker-verde-9.png
File371=marker-verde-91.png File371=marker-verde-90.png
File372=marker-verde-92.png File372=marker-verde-91.png
File373=marker-verde-93.png File373=marker-verde-92.png
File374=marker-verde-94.png File374=marker-verde-93.png
File375=marker-verde-95.png File375=marker-verde-94.png
File376=marker-verde-96.png File376=marker-verde-95.png
File377=marker-verde-97.png File377=marker-verde-96.png
File378=marker-verde-98.png File378=marker-verde-97.png
File379=marker-verde-99.png File379=marker-verde-98.png
File38=historico.bal File38=historico.bal
File380=nota.bal File380=marker-verde-99.png
File381=noventa.bal File381=nota.bal
File382=nuevocliente.bal File382=noventa.bal
File383=palomita_verde.png File383=nuevocliente.bal
File384=palomita_verde_original.png File384=palomita_verde.png
File385=pedido.bal File385=palomita_verde_original.png
File386=pedidoItem.bal File386=pedido.bal
File387=planfia_logo.png File387=pedidoItem.bal
File388=planfia_logo_old.png File388=planfia_logo.png
File389=planfia_logo_old2.png File389=planfia_logo_old.png
File39=info_gral.resp File39=info_gral.resp
File390=principal.bal File390=planfia_logo_old2.png
File391=proditem.bal File391=principal.bal
File392=productos.bal File392=proditem.bal
File393=productos2.bal File393=productos.bal
File394=profina.jpg File394=productos2.bal
File395=profina.png File395=profina.jpg
File396=promociones.bal File396=profina.png
File397=qr.bal File397=promociones.bal
File398=rechazo.jpg File398=qr.bal
File399=rojo.png File399=rechazo.jpg
File4=alerta_amarilla.png File4=alerta_amarilla.png
File40=infonavit1.jpg File40=infonavit1.jpg
File400=salma.jpg File400=rojo.png
File401=salma.png File401=salma.jpg
File402=senial.jpg File402=salma.png
File403=sync.png File403=senial.jpg
File404=tache_rojo.png File404=sync.png
File405=tache_rojo_original.png File405=tache_rojo.png
File406=telefonos.bal File406=tache_rojo_original.png
File407=ticketsDia.bal File407=telefonos.bal
File408=Tiendita.jpg File408=ticketsDia.bal
File409=transporte.png File409=Tiendita.jpg
File41=INVENTARIO (1).jpg File41=INVENTARIO (1).jpg
File410=verde.png File410=transporte.png
File411=vista1.png File411=verde.png
File412=vista2.png File412=vista1.png
File413=vista3.png File413=vista2.png
File414=vista4.png File414=vista3.png
File415=WhatsApp Image 2022-11-17 at 11.50.59 AM.jpeg File415=vista4.png
File416=WhatsApp Image 2022-11-17 at 11.50.59 AM.jpg File416=WhatsApp Image 2022-11-17 at 11.50.59 AM.jpeg
File417=whatsapp.png File417=WhatsApp Image 2022-11-17 at 11.50.59 AM.jpg
File418=whatsapp_original.png File418=whatsapp.png
File419=WHATSTEL.jpeg File419=whatsapp_original.png
File42=INVENTARIO.jpg File42=INVENTARIO.jpg
File420=WHATSTEL.png File420=WHATSTEL.jpeg
File421=WHATSTEL.png
File43=inventario.PNG File43=inventario.PNG
File44=itembuttonblue.png File44=itembuttonblue.png
File45=itembuttonred.png File45=itembuttonred.png
File46=kellanova.png File46=kellanova.png
File47=kellanova_borde.png File47=kellanova_borde.png
File48=kelloggs.png File48=kelloggs.png
File49=kelloggs_chico.png File49=Kelloggs.rkmt.km
File5=amarillo.png File5=amarillo.png
File50=kelloggs_original.png File50=kelloggs_chico.png
File51=kelloggs2.jpg File51=kelloggs_original.png
File52=kelloggs2.png File52=kelloggs2.jpg
File53=keymon_logo.png File53=kelloggs2.png
File54=kmt.db File54=keymon_logo.png
File55=knv_logo_white.png File55=kmt.db
File56=login.bal File56=knv_logo_white.png
File57=logo sanfer.jpg File57=login.bal
File58=logo_192x192.png File58=logo sanfer.jpg
File59=logo_exitus1.jpg File59=logo_192x192.png
File6=anterior.jpg File6=anterior.jpg
File60=logo2.png File60=logo_exitus1.jpg
File61=logo2_192x192.png File61=logo2.png
File62=MainPage.bal File62=logo2_192x192.png
File63=Malo.jpg File63=MainPage.bal
File64=mapa.bal File64=Malo.jpg
File65=mapa_rutas.bal File65=mapa.bal
File66=mapas.bal File66=mapa_rutas.bal
File67=marker-azul.png File67=mapas.bal
File68=marker-azul-0.png File68=marker-azul.png
File69=marker-azul1.png File69=marker-azul-0.png
File7=BLACNCO.jpg File7=BLACNCO.jpg
File70=marker-azul-1.png File70=marker-azul1.png
File71=marker-azul-10.png File71=marker-azul-1.png
File72=marker-azul-100.png File72=marker-azul-10.png
File73=marker-azul-11.png File73=marker-azul-100.png
File74=marker-azul-12.png File74=marker-azul-11.png
File75=marker-azul-13.png File75=marker-azul-12.png
File76=marker-azul-14.png File76=marker-azul-13.png
File77=marker-azul-15.png File77=marker-azul-14.png
File78=marker-azul-16.png File78=marker-azul-15.png
File79=marker-azul-17.png File79=marker-azul-16.png
File8=cacahuates.png File8=cacahuates.png
File80=marker-azul-18.png File80=marker-azul-17.png
File81=marker-azul-19.png File81=marker-azul-18.png
File82=marker-azul2.png File82=marker-azul-19.png
File83=marker-azul-2.png File83=marker-azul2.png
File84=marker-azul-20.png File84=marker-azul-2.png
File85=marker-azul-21.png File85=marker-azul-20.png
File86=marker-azul-22.png File86=marker-azul-21.png
File87=marker-azul-23.png File87=marker-azul-22.png
File88=marker-azul-24.png File88=marker-azul-23.png
File89=marker-azul-25.png File89=marker-azul-24.png
File9=cacahuates_blanco.png File9=cacahuates_blanco.png
File90=marker-azul-26.png File90=marker-azul-25.png
File91=marker-azul-27.png File91=marker-azul-26.png
File92=marker-azul-28.png File92=marker-azul-27.png
File93=marker-azul-29.png File93=marker-azul-28.png
File94=marker-azul3.png File94=marker-azul-29.png
File95=marker-azul-3.png File95=marker-azul3.png
File96=marker-azul-30.png File96=marker-azul-3.png
File97=marker-azul-31.png File97=marker-azul-30.png
File98=marker-azul-32.png File98=marker-azul-31.png
File99=marker-azul-33.png File99=marker-azul-32.png
FileGroup1=Default Group FileGroup1=Default Group
FileGroup10=Default Group FileGroup10=Default Group
FileGroup100=Default Group FileGroup100=Default Group
@@ -777,6 +778,7 @@ FileGroup418=Default Group
FileGroup419=Default Group FileGroup419=Default Group
FileGroup42=Default Group FileGroup42=Default Group
FileGroup420=Default Group FileGroup420=Default Group
FileGroup421=Default Group
FileGroup43=Default Group FileGroup43=Default Group
FileGroup44=Default Group FileGroup44=Default Group
FileGroup45=Default Group FileGroup45=Default Group
@@ -875,39 +877,40 @@ Module11=C_Principal
Module12=C_Productos Module12=C_Productos
Module13=C_Promos Module13=C_Promos
Module14=C_TicketsDia Module14=C_TicketsDia
Module15=C_updateAvailable Module15=|relative|..\C_TrendSpending
Module16=CameraExClass Module16=C_updateAvailable
Module17=DBRequestManager Module17=CameraExClass
Module18=DownloadService Module18=DBRequestManager
Module19=errorManager Module19=DownloadService
Module2=C_CheckList Module2=C_CheckList
Module20=EscPosPrinter Module20=errorManager
Module21=FileHandler Module21=EscPosPrinter
Module22=foto Module22=FileHandler
Module23=kms_helperSubs Module23=foto
Module24=ManageExternalStorage Module24=kms_helperSubs
Module25=MAPA_RUTAS Module25=ManageExternalStorage
Module26=Promociones Module26=MAPA_RUTAS
Module27=SD_Spinner Module27=Promociones
Module28=Starter Module28=SD_Spinner
Module29=Subs Module29=Starter
Module3=C_Cliente Module3=C_Cliente
Module30=Tracker Module30=Subs
Module31=Tracker
Module4=C_Clientes Module4=C_Clientes
Module5=C_Historico Module5=C_Historico
Module6=C_Mapas Module6=C_Mapas
Module7=C_Nota Module7=C_Nota
Module8=C_NoVenta Module8=C_NoVenta
Module9=C_NuevoCliente Module9=C_NuevoCliente
NumberOfFiles=420 NumberOfFiles=421
NumberOfLibraries=28 NumberOfLibraries=28
NumberOfModules=30 NumberOfModules=31
Version=12.8 Version=12.8
@EndOfDesignText@ @EndOfDesignText@
#Region Project Attributes #Region Project Attributes
#ApplicationLabel: Kelloggs Venta #ApplicationLabel: Kelloggs Venta
#VersionCode: 3000 #VersionCode: 3000
#VersionName: 5.03.20 #VersionName: 5.04.28
#SupportedOrientations: portrait #SupportedOrientations: portrait
#CanInstallToExternalStorage: False #CanInstallToExternalStorage: False
#BridgeLogger:true #BridgeLogger:true
@@ -923,6 +926,10 @@ Version=12.8
#IncludeTitle: False #IncludeTitle: False
#End Region #End Region
' Version que estaba en la tabla CAT_VERSION antes -> 2.95
'actualizaProducto, c=30000007778, p=1008037471, nombre=BARRA ALL BRAN FRESA 37 GR, cant=1, cedis=3, tipo=VENTA
Sub Process_Globals Sub Process_Globals
Public ActionBarHomeClicked As Boolean Public ActionBarHomeClicked As Boolean
' Type DBResult (Tag As Object, Columns As Map, Rows As List) ' Type DBResult (Tag As Object, Columns As Map, Rows As List)

View File

@@ -23,6 +23,7 @@ ModuleBookmarks28=
ModuleBookmarks29= ModuleBookmarks29=
ModuleBookmarks3= ModuleBookmarks3=
ModuleBookmarks30= ModuleBookmarks30=
ModuleBookmarks31=
ModuleBookmarks4= ModuleBookmarks4=
ModuleBookmarks5= ModuleBookmarks5=
ModuleBookmarks6= ModuleBookmarks6=
@@ -54,6 +55,7 @@ ModuleBreakpoints28=
ModuleBreakpoints29= ModuleBreakpoints29=
ModuleBreakpoints3= ModuleBreakpoints3=
ModuleBreakpoints30= ModuleBreakpoints30=
ModuleBreakpoints31=
ModuleBreakpoints4= ModuleBreakpoints4=
ModuleBreakpoints5= ModuleBreakpoints5=
ModuleBreakpoints6= ModuleBreakpoints6=
@@ -61,11 +63,11 @@ ModuleBreakpoints7=
ModuleBreakpoints8= ModuleBreakpoints8=
ModuleBreakpoints9= ModuleBreakpoints9=
ModuleClosedNodes0= ModuleClosedNodes0=
ModuleClosedNodes1=4 ModuleClosedNodes1=
ModuleClosedNodes10= ModuleClosedNodes10=
ModuleClosedNodes11= ModuleClosedNodes11=
ModuleClosedNodes12=5,7,8,9 ModuleClosedNodes12=3,7,8,9,10,11,12
ModuleClosedNodes13= ModuleClosedNodes13=6,7,8,9,10,11,12,13,14,16,17
ModuleClosedNodes14= ModuleClosedNodes14=
ModuleClosedNodes15= ModuleClosedNodes15=
ModuleClosedNodes16= ModuleClosedNodes16=
@@ -76,21 +78,22 @@ ModuleClosedNodes2=
ModuleClosedNodes20= ModuleClosedNodes20=
ModuleClosedNodes21= ModuleClosedNodes21=
ModuleClosedNodes22= ModuleClosedNodes22=
ModuleClosedNodes23=1,3,4,5,6,7,8,9,11,12,14,15,17,18,21,22,24,25,26,27,28,29,30,31,32,33,35 ModuleClosedNodes23=
ModuleClosedNodes24= ModuleClosedNodes24=4,24,25,26,27,31,32,33,35
ModuleClosedNodes25=4 ModuleClosedNodes25=
ModuleClosedNodes26= ModuleClosedNodes26=4
ModuleClosedNodes27= ModuleClosedNodes27=
ModuleClosedNodes28= ModuleClosedNodes28=
ModuleClosedNodes29= ModuleClosedNodes29=
ModuleClosedNodes3=1,5,6,7 ModuleClosedNodes3=5,6,7
ModuleClosedNodes30= ModuleClosedNodes30=115
ModuleClosedNodes31=
ModuleClosedNodes4= ModuleClosedNodes4=
ModuleClosedNodes5= ModuleClosedNodes5=
ModuleClosedNodes6= ModuleClosedNodes6=
ModuleClosedNodes7= ModuleClosedNodes7=
ModuleClosedNodes8= ModuleClosedNodes8=
ModuleClosedNodes9= ModuleClosedNodes9=
NavigationStack=Subs,bitacora,1714,0,C_Principal,JobDone,2095,1,Main,Globals,30,0,C_Cliente,Class_Globals,0,0,C_Cliente,B4XPage_Appear,488,1,foto,Globals,25,0,foto,Camera1_Ready,47,0,foto,btnTakePicture_Click,169,0,foto,b_guardar_Click,158,0,Main,Activity_Create,32,0 NavigationStack=C_Clientes,Class_Globals,23,0,C_Clientes,B_IMP_Click,236,0,C_Cliente,B4XPage_Created,316,0,B4XMainPage,B4XPage_Created,155,1,C_Principal,JobDone,1064,0,Diseñador Visual,cliente.bal,-100,3,C_Cliente,B_IMP_Click,1138,0,Subs,ponImpreso,658,0,C_Cliente,Imprime_ticket,1210,6,kms_helperSubs,RD_respalda_kmt_info,362,0,kms_helperSubs,RD_Init,94,4
SelectedBuild=0 SelectedBuild=0
VisibleModules=1,28,11,3,29,12,7,9,22 VisibleModules=1,29,11,3,30,13,12,7,27,26,24,4

View File

@@ -25,7 +25,7 @@ Sub Process_Globals
Dim GPS As GPS Dim GPS As GPS
'Para ENVIA_ULTIMA_GPS 'Para ENVIA_ULTIMA_GPS
Dim Timer1 As Timer Dim Timer1 As Timer
Dim Interval As Int = 20 Dim Interval As Int = 600
Dim DBReqServer As String Dim DBReqServer As String
Dim pe As PhoneEvents Dim pe As PhoneEvents
Dim ph As Phone Dim ph As Phone
@@ -47,7 +47,7 @@ Sub Process_Globals
Dim ultimaActualizacionGPS As String = 235959 ' Dim ultimaActualizacionGPS As String = 235959 '
Dim fechaRuta As String 'ignore Dim fechaRuta As String 'ignore
Dim tiempos As Map Dim tiempos As Map
Dim Logger As Boolean = False Dim Logger As Boolean = True
Dim ultimaActividad As String = "" Dim ultimaActividad As String = ""
Dim boleta As String = 0 Dim boleta As String = 0
Dim sesion As Map Dim sesion As Map
@@ -56,6 +56,8 @@ Sub Process_Globals
Dim pingShell As Boolean = False Dim pingShell As Boolean = False
Dim errorConnDBReq As Boolean = False Dim errorConnDBReq As Boolean = False
Dim GUID As String = "" Dim GUID As String = ""
Dim passSupervisor As String = "13X#X$X46" ' Valor predeterminado DIFERENTE a ""
Dim semana As Int = 0
End Sub End Sub
Sub Service_Create Sub Service_Create
@@ -72,7 +74,7 @@ Sub Service_Create
Subs.revisaBD Subs.revisaBD
pe.Initialize("pe") 'Para obtener la bateria pe.Initialize("pe") 'Para obtener la bateria
' skmt = s.dbInit 'Inicializamos BD. ' skmt = s.dbInit 'Inicializamos BD.
DBReqServer = "http://keymon.lat:1781" DBReqServer = "http://keymon.net:1781"
' DBReqServer = "http://keymon.lat:9003" ' DBReqServer = "http://keymon.lat:9003"
Private c As Cursor = skmt.ExecQuery($"select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = 'SERVER'"$) Private c As Cursor = skmt.ExecQuery($"select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = 'SERVER'"$)
If c.RowCount > 0 Then If c.RowCount > 0 Then
@@ -208,7 +210,7 @@ Sub ENVIA_ULTIMA_GPS
End Sub End Sub
Sub JobDone(Job As HttpJob) Sub JobDone(Job As HttpJob)
Log("JOBDONE STARTER") If Logger Then Log("JOBDONE STARTER")
If Job.Success = False Then If Job.Success = False Then
' ToastMessageShow("Error: " & Job.ErrorMessage, True) ' ToastMessageShow("Error: " & Job.ErrorMessage, True)
Else Else
@@ -229,7 +231,8 @@ Sub JobDone(Job As HttpJob)
skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("HORA", HORA)) skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("HORA", HORA))
DateTime.DateFormat = "HH" DateTime.DateFormat = "HH"
skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("HORASRVR")) skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("HORASRVR"))
skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("HORASRVR", DateTime.Date(DateTime.Now))) skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("HORAMVL"))
skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("HORAMVL", DateTime.Date(DateTime.Now)))
Next Next
End If End If
End If End If

View File

@@ -960,7 +960,7 @@ Sub actualizaProducto(cedis As String, costoU As String, cant As String, nombre
If nombre.Length < 6 Then ToastMessageShow("(actualizaProducto) El nombre del producto no es valido " & nombre, True) If nombre.Length < 6 Then ToastMessageShow("(actualizaProducto) El nombre del producto no es valido " & nombre, True)
precioSin = NumberFormat2(precioSin, 1, 2, 2, False) precioSin = NumberFormat2(precioSin, 1, 2, 2, False)
costoU = NumberFormat2(costoU, 1, 2, 2, False) costoU = NumberFormat2(costoU, 1, 2, 2, False)
LogColor($"actualizaProducto, c=${clienteId}, p=${prodId}, nombre=${nombre}, cant=${cant}, cedis=${cedis}, tipo=${tipoVenta}"$, Colors.Magenta) LogColor($"actualizaProducto, c=${clienteId}, p=${prodId}, nombre=${nombre}, cant=${cant}, precio=${costoU}, cedis=${cedis}, tipo=${tipoVenta}"$, Colors.Magenta)
' Private tablaProds As String = "cat_gunaprod2" ' Private tablaProds As String = "cat_gunaprod2"
' If tipoVenta = "ABORDO" Then tablaProds = "cat_gunaprod" ' If tipoVenta = "ABORDO" Then tablaProds = "cat_gunaprod"
Private c As Cursor=Starter.skmt.ExecQuery($"select * from pedido where pe_cedis = '${cedis}' and pe_proid = '${prodId}' and pe_cliente = '${clienteId}'"$) Private c As Cursor=Starter.skmt.ExecQuery($"select * from pedido where pe_cedis = '${cedis}' and pe_proid = '${prodId}' and pe_cliente = '${clienteId}'"$)
@@ -970,7 +970,7 @@ Sub actualizaProducto(cedis As String, costoU As String, cant As String, nombre
Private antCant As Int = 0 Private antCant As Int = 0
If IsNumber(c.GetInt("PE_CANT")) Then antCant=c.GetInt("PE_CANT") If IsNumber(c.GetInt("PE_CANT")) Then antCant=c.GetInt("PE_CANT")
Private difCant As Int = cant - antCant Private difCant As Int = cant - antCant
Starter.skmt.ExecNonQuery($"update pedido set pe_cant = ${cant}, pe_costo_tot = ${NumberFormat2((cant*c.GetString("PE_COSTOU")), 1, 2, 2, False)}, pe_tipo = '${tipoVenta}' where pe_cedis = '${cedis}' and pe_proid = '${prodId}' and pe_cliente = '${clienteId}' "$) Starter.skmt.ExecNonQuery($"update pedido set pe_cant = ${cant}, pe_costou = ${costoU}, pe_costo_tot = ${NumberFormat2((cant*c.GetString("PE_COSTOU")), 1, 2, 2, False)}, pe_tipo = '${tipoVenta}' where pe_cedis = '${cedis}' and pe_proid = '${prodId}' and pe_cliente = '${clienteId}' "$)
If cedis <> "DUR" Then Starter.skmt.ExecNonQuery($"update ${traeTablaProds(tipoVenta)} set cat_gp_almacen = cat_gp_almacen - (${difCant}) where cat_gp_id = '${prodId}' "$) If cedis <> "DUR" Then Starter.skmt.ExecNonQuery($"update ${traeTablaProds(tipoVenta)} set cat_gp_almacen = cat_gp_almacen - (${difCant}) where cat_gp_id = '${prodId}' "$)
If cant = 0 Then If cant = 0 Then
LogColor($"BORRAMOS PRODUCTO - ${prodId}"$, Colors.Red) LogColor($"BORRAMOS PRODUCTO - ${prodId}"$, Colors.Red)
@@ -1184,7 +1184,7 @@ End Sub
'Regresa el numero máximo de promociones permitidas, tomando en cuenta recurrentes, clientes y maxPromos. 'Regresa el numero máximo de promociones permitidas, tomando en cuenta recurrentes, clientes y maxPromos.
Sub traeMaxPromos(pm As Map) As Int Sub traeMaxPromos(pm As Map) As Int
Private thisLog As Boolean = False 'Si es verdadero, muestra los logs de este sub. Private thisLog As Boolean = True 'Si es verdadero, muestra los logs de este sub.
Private maxPromos As List Private maxPromos As List
Private mp0, mp As String = "0" Private mp0, mp As String = "0"
maxPromos.Initialize maxPromos.Initialize
@@ -1197,7 +1197,11 @@ Sub traeMaxPromos(pm As Map) As Int
' LogColor("SIN HCCP CANT", Colors.Magenta) ' LogColor("SIN HCCP CANT", Colors.Magenta)
' End If ' End If
If thisLog Then LogColor("==== HISTORICO:"&pm.Get("historico"), Colors.Red) If thisLog Then LogColor("==== HISTORICO:"&pm.Get("historico"), Colors.Red)
' Log("### PRODS VARIABLES: " & pm.Get("prodsVariables"))
Private maxPromosXDescPV As String = B4XPages.MainPage.promos.ts.maxPromosPorProdsVariables(pm.Get("prodsVariables"), pm.Get("id"))
Log("########### " & maxPromosXDescPV)
If thisLog Then Log(pm) If thisLog Then Log(pm)
maxPromos.Add(maxPromosXDescPV.As(Int))
If pm.Get("historico") = "1" Then maxPromos.Add(pm.Get("maxRecurrente")) 'Si hay historico, agregamos maxRecurrente If pm.Get("historico") = "1" Then maxPromos.Add(pm.Get("maxRecurrente")) 'Si hay historico, agregamos maxRecurrente
If pm.Get("maxPromos") <> "null" Then maxPromos.Add(pm.Get("maxPromos").As(Int)) 'Agregamos maxPromos If pm.Get("maxPromos") <> "null" Then maxPromos.Add(pm.Get("maxPromos").As(Int)) 'Agregamos maxPromos
If pm.Get("maxXcliente") <> "null" Then maxPromos.Add(pm.Get("maxXcliente").As(Int)) 'Agregamos maxXcliente If pm.Get("maxXcliente") <> "null" Then maxPromos.Add(pm.Get("maxXcliente").As(Int)) 'Agregamos maxXcliente
@@ -1232,15 +1236,13 @@ End Sub
'3799, 7226, 7228, 7230 '3799, 7226, 7228, 7230
Sub procesaPromocion(idPromo As String, cliente As String) As Map 'ignore Sub procesaPromocion(idPromo As String, cliente As String) As Map 'ignore
Private thisLog As Boolean = False 'Si es verdadero, muestra los logs de este sub. Private thisLog As Boolean = True 'Si es verdadero, muestra los logs de este sub.
Private inicioContador As String = DateTime.Now Private inicioContador As String = DateTime.Now
Private mp As Int = 0 Private mp As Int = 0
If thisLog Then LogColor($"********* Iniciamos revision de Promo ${idPromo} *********"$, Colors.red) If thisLog Then LogColor($"********* Iniciamos revision de Promo ${idPromo} *********"$, Colors.red)
'Obtenemos el mapa con toda la info de la promoción. 'Obtenemos el mapa con toda la info de la promoción.
Private pm As Map = traePromo(idPromo, cliente) Private pm As Map = traePromo(idPromo, cliente)
' B4XPages.MainPage.productos.promosC.traePromo(idPromo, cliente) ' B4XPages.MainPage.productos.promosC.traePromo(idPromo, cliente)
If thisLog Then LogColor(pm, Colors.Blue) If thisLog Then LogColor(pm, Colors.Blue)
' If thisLog Then LogColor("|" & pm.Get("maxPromos") & "|", Colors.Blue) ' If thisLog Then LogColor("|" & pm.Get("maxPromos") & "|", Colors.Blue)
' Log("|"&revisaMaxPromosProdsFijosPorInventario(pm)&"|") ' Log("|"&revisaMaxPromosProdsFijosPorInventario(pm)&"|")
@@ -1336,17 +1338,20 @@ Sub revisaMaxPromosProdsFijosPorInventario(pm As Map) As Int
Private thisInvDisp As Int = 0 Private thisInvDisp As Int = 0
If invDispParaPromo.Get(idProdsFijos.Get(p)) <> Null Then thisInvDisp = invDispParaPromo.Get(idProdsFijos.Get(p)) If invDispParaPromo.Get(idProdsFijos.Get(p)) <> Null Then thisInvDisp = invDispParaPromo.Get(idProdsFijos.Get(p))
If thisLog Then Log($"id=${idProdsFijos.Get(p)}, inv=${thisInvDisp}, pzas=${prodsFijosPiezas.Get(p)}"$) If thisLog Then Log($"id=${idProdsFijos.Get(p)}, inv=${thisInvDisp}, pzas=${prodsFijosPiezas.Get(p)}"$)
' Log(">>>>> Monto Bonificacion: " & B4XPages.MainPage.promos.ts.traeMontoBonificacion(idProdsFijos.Get(p), pm.Get("id")))
' If thisLog Then LogColor(">> Max prods fijos x Bonificaciones: " & B4XPages.MainPage.promos.ts.traeBonificacionesMaximas("bonificaciones", clienteActual, idProdsFijos.Get(p), prodsFijosPiezas.Get(p), pm.Get("id")), Colors.blue)
t.Add(B4XPages.MainPage.promos.ts.traeBonificacionesMaximas("bonificaciones", clienteActual, idProdsFijos.Get(p), prodsFijosPiezas.Get(p), pm.Get("id")))
' If thisLog Then Log($"${(thisInvDisp / prodsFijosPiezas.Get(p))}"$) ' If thisLog Then Log($"${(thisInvDisp / prodsFijosPiezas.Get(p))}"$)
Private x() As String = Regex.Split("\.", $"${(thisInvDisp / prodsFijosPiezas.Get(p))}"$) 'Separamos el resultado de la division por el punto decimal. Private x() As String = Regex.Split("\.", $"${(thisInvDisp / prodsFijosPiezas.Get(p))}"$) 'Separamos el resultado de la division por el punto decimal.
' If thisLog Then Log(x(0)) If thisLog Then Log(x(0))
t.Add(x(0).As(Int)) 'Solo guardamos la parte del entero de la division. t.Add(x(0).As(Int)) 'Solo guardamos la parte del entero de la division.
Next Next
t.Sort(True) 'Ordenamos la lista para que en el lugar 0 este el resultao mas pequeño. t.Sort(True) 'Ordenamos la lista para que en el lugar 0 este el resultao mas pequeño.
If thisLog Then LogColor($"prodsFijos=${idProdsFijos}"$, Colors.Blue) If thisLog Then LogColor($"prodsFijos=${idProdsFijos}"$, Colors.Blue)
If thisLog Then LogColor($"prodsFijosPiezasReq=${prodsFijosPiezas}"$, Colors.Blue) If thisLog Then LogColor($"prodsFijosPiezasReq=${prodsFijosPiezas}"$, Colors.Blue)
If thisLog Then LogColor($"invFijoXpromo=${invFijoXpromo}"$, Colors.Blue) ' If thisLog Then LogColor($"invFijoXpromo=${invFijoXpromo}"$, Colors.Blue)
LogColor(">>>>>> T: " & t, Colors.red)
If thisLog Then LogColor("Max promos de prodsFijos POR inventario = " & t.Get(0), Colors.red) If thisLog Then LogColor("Max promos de prodsFijos POR inventario = " & t.Get(0), Colors.red)
' LogColor(">>>>>> " & t.Get(0), Colors.red)
Return t.Get(0) 'Regresamos el resultado mas pequeño. Return t.Get(0) 'Regresamos el resultado mas pequeño.
End Sub End Sub
@@ -1357,7 +1362,7 @@ End Sub
'fijos es 5, entonces regresamos 5. 'fijos es 5, entonces regresamos 5.
Sub revisaMaxPromosProdsVariablesPorInventario(pm As Map) As Int 'ignore Sub revisaMaxPromosProdsVariablesPorInventario(pm As Map) As Int 'ignore
Private thisLog As Boolean = True Private thisLog As Boolean = True
If thisLog Then Log("======================================================") If thisLog Then LogColor("==================revisaMaxPromosProdsVariablesPorInventario====================", Colors.red)
If thisLog Then Log("======================================================") If thisLog Then Log("======================================================")
Private invFijoXpromo As Map Private invFijoXpromo As Map
invFijoXpromo.Initialize invFijoXpromo.Initialize
@@ -1371,36 +1376,58 @@ Sub revisaMaxPromosProdsVariablesPorInventario(pm As Map) As Int 'ignore
Private prodsVariablesRequeridos As Int = pm.Get("prodsVariablesRequeridos") Private prodsVariablesRequeridos As Int = pm.Get("prodsVariablesRequeridos")
Private prodsFijosPiezas As List = pm.Get("prodsFijosPiezas") Private prodsFijosPiezas As List = pm.Get("prodsFijosPiezas")
Private idProdsFijos As List = pm.Get("prodsFijos") Private idProdsFijos As List = pm.Get("prodsFijos")
For p = 0 To idProdsFijos.Size -1 'Generamos mapa con los productos fijos y piezas requeridas por promo. ' For p = 0 To idProdsFijos.Size -1 'Generamos mapa con los productos fijos y piezas requeridas por promo.
invFijoXpromo.Put(idProdsFijos.Get(p), prodsFijosPiezas.Get(p)) ' invFijoXpromo.Put(idProdsFijos.Get(p), prodsFijosPiezas.Get(p))
Private idEsteProd As String = idProdsFijos.Get(p) ' Private idEsteProd As String = idProdsFijos.Get(p)
Private invEsteProd As Int = invDispParaPromo.Get(idEsteProd) ' Private invEsteProd As Int = invDispParaPromo.Get(idEsteProd)
Private pzasReqEsteProd As Int = prodsFijosPiezas.Get(p) ' Private pzasReqEsteProd As Int = prodsFijosPiezas.Get(p)
If thisLog Then Log($"id=${idEsteProd}, inv=${invEsteProd}, pzas=${pzasReqEsteProd}"$) ' If thisLog Then Log($"id=${idEsteProd}, inv=${invEsteProd}, pzas=${pzasReqEsteProd}"$)
' invDispParaPromo.Put( idEsteProd, (invEsteProd - (1)) ) ' invDispParaPromo.Put( idEsteProd, (invEsteProd - (1)) )
Next ' Next
If thisLog Then LogColor($"MaxPromos=${maxPromos}, promosXFijos=${maxPromosXFijos}"$, Colors.Blue) If thisLog Then LogColor($"MaxPromos=${maxPromos}, promosXFijos=${maxPromosXFijos}"$, Colors.Blue)
If thisLog Then LogColor($"prodsFijos=${idProdsFijos}"$, Colors.Blue) If thisLog Then LogColor($"prodsFijos=${idProdsFijos}"$, Colors.Blue)
If thisLog Then LogColor($"prodsFijosPiezasReq=${prodsFijosPiezas}"$, Colors.Blue) If thisLog Then LogColor($"prodsFijosPiezasReq=${prodsFijosPiezas}"$, Colors.Blue)
If thisLog Then LogColor($"prodsVariables=${idProdsVariables}${CRLF}Variables Req=${prodsVariablesRequeridos} "$, Colors.Blue) If thisLog Then LogColor($"prodsVariables=${idProdsVariables}${CRLF}Variables Req=${prodsVariablesRequeridos} "$, Colors.Blue)
If thisLog Then LogColor($"invFijoXpromo=${invFijoXpromo}"$, Colors.Blue) ' If thisLog Then LogColor($"invFijoXpromo=${invFijoXpromo}"$, Colors.Blue)
If thisLog Then Log($"Prods variables disponibles = ${totalProdsVariablesDisponibles}"$) If thisLog Then Log($"Prods variables disponibles = ${totalProdsVariablesDisponibles}"$)
Private maxPromosXVariables As Int = 0 Private maxPromosXVariables As Int = 0
'Si prodsFijosCant = 0 entonces no debemos de hacemos el loop, solo sumamos las existencias de los variables / cant de variables requeridos y ese seria el maximo.
Private revisiones As Int = maxPromosXFijos
If pm.Get("prodsFijos").As(List).Size = 0 Then
revisiones = 1
Log(pm.Get("prodsVariables"))
End If
Log(pm.Get("prodsFijos").As(List).Size)
Log(maxPromosXFijos)
For x = 1 To maxPromosXFijos For x = 1 To maxPromosXFijos
If thisLog Then Log("==================== maxPromosXFijos "& x &" ========================")
If thisLog Then Log("=====================================================") If thisLog Then Log("=====================================================")
If thisLog Then Log("=====================================================") Log("FIJOS: " & idProdsFijos.Size)
For i = 0 To idProdsFijos.Size - 1 For i = 0 To idProdsFijos.Size - 1
If thisLog Then Log($"FIJO - ${idProdsFijos.Get(i)}, ${invDispParaPromo.Get(idProdsFijos.Get(i))} - ${prodsFijosPiezas.Get(i).As(Int)*(i+1)}"$) If thisLog Then Log($"FIJO - ${idProdsFijos.Get(i)}, ${invDispParaPromo.Get(idProdsFijos.Get(i))} - ${prodsFijosPiezas.Get(i).As(Int)*(i+1)}"$)
invDispParaPromo.Put(idProdsFijos.Get(i), invDispParaPromo.Get(idProdsFijos.Get(i)).As(Int) - prodsFijosPiezas.Get(i).As(Int)*(i+1)) 'Restamos las piezas de los productos fijos del inventario disponible. invDispParaPromo.Put(idProdsFijos.Get(i), invDispParaPromo.Get(idProdsFijos.Get(i)).As(Int) - prodsFijosPiezas.Get(i).As(Int)*(i+1)) 'Restamos las piezas de los productos fijos del inventario disponible.
Next Next
If thisLog Then LogColor("Inv disponible despues de restar fijos = " & invDispParaPromo, Colors.Blue) If thisLog Then LogColor("Inv disponible despues de restar fijos = " & invDispParaPromo, Colors.Blue)
totalProdsVariablesDisponibles = 0 totalProdsVariablesDisponibles = 0
Private prodsVariablesXPresupuestoBonificaciones As List
prodsVariablesXPresupuestoBonificaciones.Initialize
For i = 0 To idProdsVariables.Size - 1 'Obtenemos total de productos variables disponibes. For i = 0 To idProdsVariables.Size - 1 'Obtenemos total de productos variables disponibes.
If invDispParaPromo.ContainsKey(idProdsVariables.Get(i)) Then If invDispParaPromo.ContainsKey(idProdsVariables.Get(i)) Then
Log($"Este prodVariable: ${idProdsVariables.Get(i)}"$)
Log($"Este invDisponible: ${invDispParaPromo.Get(idProdsVariables.Get(i))}"$)
' Log(">> Monto Bonificacion: " & B4XPages.MainPage.promos.ts.traeMontoBonificacion(idProdsVariables.Get(i), pm.Get("id")))
prodsVariablesXPresupuestoBonificaciones.Add(B4XPages.MainPage.promos.ts.traeBonificacionesMaximas("bonificaciones", clienteActual, idProdsVariables.Get(i), prodsVariablesRequeridos, pm.Get("id")))
' If thisLog Then LogColor(">> Max prods fijos x Bonificaciones: " & B4XPages.MainPage.promos.ts.traeBonificacionesMaximas("bonificaciones", clienteActual, idProdsVariables.Get(i), prodsVariablesRequeridos, pm.Get("id")), Colors.blue)
totalProdsVariablesDisponibles = totalProdsVariablesDisponibles + invDispParaPromo.Get(idProdsVariables.Get(i)) totalProdsVariablesDisponibles = totalProdsVariablesDisponibles + invDispParaPromo.Get(idProdsVariables.Get(i))
End If End If
Next Next
If thisLog Then Log($"prodsVariablesXPresupuestoBonificaciones: ${prodsVariablesXPresupuestoBonificaciones}"$)
'Revisamos variables. 'Revisamos variables.
If thisLog Then Log($"Var disponibles - var requeridos : ${totalProdsVariablesDisponibles} - ${prodsVariablesRequeridos*x}"$) If thisLog Then Log($"Var disponibles - var requeridos : ${totalProdsVariablesDisponibles} - ${prodsVariablesRequeridos*x}"$)
totalProdsVariablesDisponibles = totalProdsVariablesDisponibles - (prodsVariablesRequeridos*x) totalProdsVariablesDisponibles = totalProdsVariablesDisponibles - (prodsVariablesRequeridos*x)
@@ -1409,7 +1436,9 @@ Sub revisaMaxPromosProdsVariablesPorInventario(pm As Map) As Int 'ignore
maxPromosXVariables = x maxPromosXVariables = x
Next Next
'Restamos fijos. 'Restamos fijos.
' LogColor("Max promos de prodsVariables POR inventario = " & maxPromosXVariables, Colors.red) LogColor("Max promos de prodsVariables POR inventario = " & maxPromosXVariables, Colors.red)
If thisLog Then Log("=====================================================")
If thisLog Then LogColor("=================TERMINA MAXPROMOSPRODSVARIABLES===================", Colors.red)
Return maxPromosXVariables Return maxPromosXVariables
End Sub End Sub
@@ -1509,6 +1538,13 @@ Sub borraPedidoClienteActual As String
thisC.Position=i thisC.Position=i
If thisC.GetString("PE_CEDIS") <> "DUR" Then If thisC.GetString("PE_CEDIS") <> "DUR" Then
Starter.skmt.ExecNonQuery2($"update ${traeTablaProds(Starter.tipov)} set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?"$, Array As Object(thisC.GetString("PE_CANT"), thisC.GetString("PE_PROID"))) Starter.skmt.ExecNonQuery2($"update ${traeTablaProds(Starter.tipov)} set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?"$, Array As Object(thisC.GetString("PE_CANT"), thisC.GetString("PE_PROID")))
'Codigo para regresar dinero al presupuesto de BONIFICACIONES (Trend Spending)
Private precio0 As String = traePrecio(thisC.GetString("PE_PROID"))
Private precioConDesc As String = (B4XPages.MainPage.cliente.kh.traeDescXSku(traeCliente, thisC.GetString("PE_PROID"))/100)*precio0
Log(precioConDesc)
Log(">>>>>>>>>>>>> " & (precioConDesc * thisC.GetString("PE_CANT")))
modTrendSpending("suma", "bonificaciones", (precioConDesc * thisC.GetString("PE_CANT")))
'Termina Trend Spending
End If End If
' Starter.skmt.ExecNonQuery2("INSERT INTO INVENT_X_ENVIAR (ALMACEN , PROID , CANTIDAD ) VALUES(?,?,?) ", Array As Object (traeAlmacen, thisC.GetString("PE_PROID"),thisC.GetString("PE_CANT")* -1)) ' Starter.skmt.ExecNonQuery2("INSERT INTO INVENT_X_ENVIAR (ALMACEN , PROID , CANTIDAD ) VALUES(?,?,?) ", Array As Object (traeAlmacen, thisC.GetString("PE_PROID"),thisC.GetString("PE_CANT")* -1))
Next Next
@@ -1519,6 +1555,9 @@ Sub borraPedidoClienteActual As String
If thisC.RowCount < 1 Then Starter.skmt.ExecNonQuery("delete from pedido_cliente where pc_cliente in (Select CUENTA from cuentaa)") If thisC.RowCount < 1 Then Starter.skmt.ExecNonQuery("delete from pedido_cliente where pc_cliente in (Select CUENTA from cuentaa)")
Log("###### delete from pedido_cliente - " & traeCliente) Log("###### delete from pedido_cliente - " & traeCliente)
Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)") Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
Return 1 Return 1
End Sub End Sub
@@ -1708,11 +1747,11 @@ End Sub
'Mandar fecha de sync(sysdate) 'Mandar fecha de sync(sysdate)
Sub bitacora(fechab As String, usuariob As String, almacenb As String, rutab As String, eventob As String, clienteb As String, iniciob As String, finb As String, latitudb As String, longitudb As String, precision As String, motivonoventa As String, motivonovisita As String ) Sub bitacora(fechab As String, usuariob As String, almacenb As String, rutab As String, eventob As String, clienteb As String, iniciob As String, finb As String, latitudb As String, longitudb As String, precision As String, motivonoventa As String, motivonovisita As String )
Log(motivonovisita) Log(motivonovisita)
Log("bitacora") If Starter.Logger Then Log("bitacora")
Private cmd As DBCommand Private cmd As DBCommand
cmd.Initialize cmd.Initialize
cmd.Name = "mandaBitacora3" cmd.Name = "mandaBitacora3"
Log("BITACORA3") If Starter.Logger Then Log("BITACORA3")
Private nombreCliente As String = traeNombreCliente(clienteb) Private nombreCliente As String = traeNombreCliente(clienteb)
If eventob = "Llega a almacen" Then If eventob = "Llega a almacen" Then
nombreCliente = "BOLETA" nombreCliente = "BOLETA"
@@ -1759,7 +1798,7 @@ Sub bitacora(fechab As String, usuariob As String, almacenb As String, rutab As
Starter.reqManager.ExecuteCommand(cmd , "mandaBitacora") Starter.reqManager.ExecuteCommand(cmd , "mandaBitacora")
End If End If
End If End If
Log("Mandamos bitacora") If Starter.Logger Then Log("Mandamos bitacora")
End Sub End Sub
'En geocerca si mete la contraseña poner 0 en precision gps y si esta dentro de los 50 mts poner 1 y 2 para eventos que no lo ocupen 'En geocerca si mete la contraseña poner 0 en precision gps y si esta dentro de los 50 mts poner 1 y 2 para eventos que no lo ocupen
@@ -1935,7 +1974,12 @@ Sub revisaPromoPorMonto As Map
Private rangoMin As String = "0" Private rangoMin As String = "0"
Private promoId As String = "" Private promoId As String = ""
m.Initialize m.Initialize
Private pm As Cursor = Starter.skmt.ExecQuery("select CAT_PA_ID, ifNull(CAT_PA_PORCENTAJE_PAQUETE, 0) as CAT_PA_PORCENTAJE_PAQUETE, ifNull(CAT_PA_PRECIO1, 0) as CAT_PA_PRECIO1, ifNull(CAT_PA_PRECIO2, 0) as CAT_PA_PRECIO2 from promos_comp where CAT_PA_TIPO_PROMONTO = '1' and CAT_PA_ID not in (select PE_CEDIS from PEDIDO where PE_CEDIS = PE_PROID)") 'Traemos las "promos por monto" que no existen en el "PEDIDO" del cliente. Private pm As Cursor = Starter.skmt.ExecQuery($"select CAT_PA_ID,
ifNull(CAT_PA_PORCENTAJE_PAQUETE, 0) As CAT_PA_PORCENTAJE_PAQUETE,
ifNull(CAT_PA_PRECIO1, 0) As CAT_PA_PRECIO1,
ifNull(CAT_PA_PRECIO2, 0) As CAT_PA_PRECIO2 from promos_comp
where CAT_PA_TIPO_PROMONTO = '1' and
CAT_PA_ID Not in (Select PE_CEDIS from PEDIDO where PE_CEDIS = PE_PROID And PE_CLIENTE = '${traeCliente}')"$) 'Traemos las "promos por monto" que no existen en el "PEDIDO" del cliente.
If pm.RowCount > 0 Then If pm.RowCount > 0 Then
Private clienteId As String = traeCliente Private clienteId As String = traeCliente
For i = 0 To pm.RowCount - 1 For i = 0 To pm.RowCount - 1
@@ -1964,7 +2008,7 @@ Sub revisaHora As Boolean
Private hr As Int = h.GetString("CAT_VA_VALOR") Private hr As Int = h.GetString("CAT_VA_VALOR")
DateTime.DateFormat = "HH" DateTime.DateFormat = "HH"
Private ahora As String = DateTime.Date(DateTime.Now) Private ahora As String = DateTime.Date(DateTime.Now)
Log($"${hr} >= ${(ahora - 2)} and ${hr} <= ${(ahora + 2)}"$) ' Log($"${hr} >= ${(ahora - 2)} and ${hr} <= ${(ahora + 2)}"$)
If hr >= ahora - 2 And hr <= ahora + 2 Then If hr >= ahora - 2 And hr <= ahora + 2 Then
horaCorrecta = True horaCorrecta = True
End If End If
@@ -1986,3 +2030,302 @@ Sub CreateBitmapWithNumber(OriginalBitmap As Bitmap, Number As Int) As Bitmap 'i
Canvas.DrawText(Number, (OriginalBitmap.Width / 2), (OriginalBitmap.Height / 2.4), Typeface.DEFAULT, 15, Colors.White, "CENTER") Canvas.DrawText(Number, (OriginalBitmap.Width / 2), (OriginalBitmap.Height / 2.4), Typeface.DEFAULT, 15, Colors.White, "CENTER")
Return NewBitmap Return NewBitmap
End Sub End Sub
' Compara dos versiones en formato "X.YY.ZZ"
' Devuelve:
' -1 si versionActual es MENOR que versionMinima
' 0 si son IGUALES
' 1 si versionActual es MAYOR que versionMinima
Sub comparaVersionesOriginal(versionMinima As String, versionActual As String) As Int
' Dividir las versiones en partes
Dim partesMin() As String = Regex.Split("\.", versionMinima)
Dim partesAct() As String = Regex.Split("\.", versionActual)
' Asegurarse que ambas tienen 3 partes
If partesMin.Length <> 3 Or partesAct.Length <> 3 Then
Log("Formato de versión incorrecto")
Return -1 ' Por seguridad, asumimos que no cumple
End If
' Comparar parte por parte
For i = 0 To 2
Dim numMin As Int = partesMin(i)
Dim numAct As Int = partesAct(i)
If numAct < numMin Then
Return -1 ' Actual es menor
Else If numAct > numMin Then
Return 1 ' Actual es mayor
End If
' Si son iguales, continuar con la siguiente parte
Next
' Si llegamos aquí, todas las partes son iguales
Return 0
End Sub
' Compara dos versiones en formato "X.YY.ZZ"
' Devuelve:
' -1 si versionActual es MENOR que versionMinima
' 0 si son IGUALES
' 1 si versionActual es MAYOR que versionMinima
Sub comparaVersiones(versionMinima As String, versionActual As String) As Int
Dim partesMin() As String = Regex.Split("\.", versionMinima)
Dim partesAct() As String = Regex.Split("\.", versionActual)
' Si la actual tiene MENOS partes que la mínima, es inválida (opcional)
If partesAct.Length < partesMin.Length Then
ToastMessageShow("Version incorrecta", False)
Return -1 ' ← Actual no cumple el formato mínimo
End If
' Compara solo las partes que existen en la versión mínima
For i = 0 To partesMin.Length - 1
Dim numMin As Int = partesMin(i)
Dim numAct As Int = partesAct(i)
If numAct < numMin Then
ToastMessageShow("Versión vieja, por favor actualizar!", False)
Return -1 ' Actual es menor
Else If numAct > numMin Then
Return 1 ' Actual es mayor
End If
' Si son iguales, sigue comparando
Next
' Si todas las partes comparadas son iguales:
Return 0
End Sub
'' Regresa un mapa con el tipo, monto permitido semanal y el acumulado hasta el día anterior:
'' ej:
'' - RMI=1500,0
'' - DESCUENTOS=1500,0
'' - BONIFICACIONES=1500,480
'Sub traeInfoTrendSpending As Map
' Private semana As Int = 0
' Private HIST_TSS_SEMANA As String
' Private HIST_TSS_SEMANA_ACUM As String
' Private m As Map
' m.Initialize
' Private c As Cursor = Starter.skmt.ExecQuery($"select cat_va_valor from cat_variables where cat_va_descripcion = 'SEM_CAL_LABORAL'"$)
' If c.RowCount > 0 Then
' c.Position = 0
' semana = c.GetInt("CAT_VA_VALOR")
' End If
' If semana > 0 Then
' c = Starter.skmt.ExecQuery($"select HIST_TSS_TIPO, HIST_TSS_SEMANA${semana}, HIST_TSS_SEMANA${semana}_ACUM from HIST_TREND_SPENDING_SEMANAL"$)
' If c.RowCount > 0 Then
' For i = 0 To c.RowCount - 1
' c.Position = i
' HIST_TSS_SEMANA = c.GetString($"HIST_TSS_SEMANA${semana}"$)
' HIST_TSS_SEMANA_ACUM = c.GetString($"HIST_TSS_SEMANA${semana}_ACUM"$)
' If c.GetString("HIST_TSS_TIPO") = "RMI" Then
' m.Put("RMI", HIST_TSS_SEMANA & "," & HIST_TSS_SEMANA_ACUM)
' else if c.GetString("HIST_TSS_TIPO") = "DESCUENTOS" Then
' m.Put("DESCUENTOS", HIST_TSS_SEMANA & "," & HIST_TSS_SEMANA_ACUM)
' else if c.GetString("HIST_TSS_TIPO") = "BONIFICACIONES" Then
' m.Put("BONIFICACIONES", HIST_TSS_SEMANA & "," & HIST_TSS_SEMANA_ACUM)
' End If
' Next
' End If
' End If
' Return m
'End Sub
' Modifica el acumulado del Trend Speding, le "suma" o "resta" al presupuesto especificado (RMI, BONIFICACIONES o DESCUENTOS)
Sub modTrendSpending(accion As String, tipo As String, monto As String)
Private HIST_TSS_SEMANA As String
Private HIST_TSS_SEMANA_ACUM As String
Private acumulado As String = "0"
If Starter.semana = 0 Then
Private c As Cursor = Starter.skmt.ExecQuery($"select cat_va_valor from cat_variables where cat_va_descripcion = 'SEM_CAL_LABORAL'"$)
If c.RowCount > 0 Then
c.Position = 0
Starter.semana = c.GetInt("CAT_VA_VALOR")
End If
End If
HIST_TSS_SEMANA = $"HIST_TSS_SEMANA${Starter.semana}"$
HIST_TSS_SEMANA_ACUM = $"HIST_TSS_SEMANA${Starter.semana}_ACUM"$
Private d As Cursor = Starter.skmt.ExecQuery($"select acumulado from TREND_SPENDING where tipo = '${tipo.ToUpperCase}'"$)
If d.RowCount > 0 Then
d.Position = 0
acumulado = d.GetString("ACUMULADO")
End If
Log("acumulado:" & acumulado & " | monto: " & monto)
Private c As Cursor = Starter.skmt.ExecQuery($"select HIST_TSS_TIPO, ${HIST_TSS_SEMANA} as disponible, ${HIST_TSS_SEMANA_ACUM} as acumulado from HIST_TREND_SPENDING_SEMANAL where HIST_TSS_TIPO = '${tipo.ToUpperCase}'"$)
If accion.ToUpperCase = "RESTA" Then
If c.RowCount > 0 Then
c.Position = 0
If tipo.ToUpperCase = "BONIFICACIONES" Or tipo.ToUpperCase = "RMI" Then
Private nuevaBonificacion As String = NumberFormat2((acumulado + monto), 1, 2, 2, False)
LogColor($"Nuevo acumulado ${tipo} = ${nuevaBonificacion}"$, Colors.Magenta)
Starter.skmt.ExecNonQuery($"delete from TREND_SPENDING where tipo = '${tipo.ToUpperCase}' "$)
Starter.skmt.ExecNonQuery($"insert into TREND_SPENDING (tipo, acumulado) values ('${tipo.ToUpperCase}', '${nuevaBonificacion}')"$)
' else if tipo.ToUpperCase = "RMI" Then
End If
End If
else if accion.ToUpperCase = "SUMA" Then
If c.RowCount > 0 Then
c.Position = 0
If tipo.ToUpperCase = "BONIFICACIONES" Or tipo.ToUpperCase = "RMI" Then
Private nuevaBonificacion As String = NumberFormat2((acumulado - monto), 1, 2, 2, False)
LogColor($"Nueva bonificacion = ${nuevaBonificacion}"$, Colors.Magenta)
Starter.skmt.ExecNonQuery($"delete from TREND_SPENDING where tipo = '${tipo.ToUpperCase}' "$)
Starter.skmt.ExecNonQuery($"insert into TREND_SPENDING (tipo, acumulado) values ('${tipo.ToUpperCase}', '${nuevaBonificacion}')"$)
End If
End If
End If
End Sub
'Sub traeAcumuladoHoyTS(tipo As String) As String
' Private HIST_TSS_SEMANA As String
' Private HIST_TSS_SEMANA_ACUM As String
' Private acumulado As String = "0"
' If Starter.semana = 0 Then
' Private c As Cursor = Starter.skmt.ExecQuery($"select cat_va_valor from cat_variables where cat_va_descripcion = 'SEM_CAL_LABORAL'"$)
' If c.RowCount > 0 Then
' c.Position = 0
' Starter.semana = c.GetInt("CAT_VA_VALOR")
' End If
' End If
' HIST_TSS_SEMANA = $"HIST_TSS_SEMANA${Starter.semana}"$
' HIST_TSS_SEMANA_ACUM = $"HIST_TSS_SEMANA${Starter.semana}_ACUM"$
' Private d As Cursor = Starter.skmt.ExecQuery($"select acumulado from TREND_SPENDING where tipo = '${tipo.ToUpperCase}'"$)
' If d.RowCount > 0 Then
' d.Position = 0
' acumulado = d.GetString("ACUMULADO")
' End If
' LogColor($"Acumulado hoy de ${tipo}: "$ & acumulado, Colors.Blue)
' Return NumberFormat2(acumulado, 1, 2, 2, False)
'End Sub
Sub traePrecio(id As String) As String
Private precio As String = "0"
Private c As Cursor = Starter.skmt.ExecQuery($"select cat_gp_precio from ${traeTablaProds(Starter.tipov)} where cat_gp_id = '${id}'"$)
If c.RowCount > 0 Then
c.Position = 0
precio = c.GetString("CAT_GP_PRECIO")
End If
Return precio
End Sub
'
'Sub trendSpendingFuncs(accion As String, tipo As String, clienteId As String, id As String, laCant As String, inv As Int) As String
' Private logger As Boolean = True
' Dim kh As kms_helperSubs
' kh.Initialize("kh", "kh", Starter.skmt)
' Dim TS_RMI() As String
' Dim TS_DESCUENTOS() As String
' Dim TS_BONIFICACIONES() As String
' Private mx As Map = traeInfoTrendSpending
' TS_RMI = Regex.Split(",", mx.Get("RMI"))
' TS_DESCUENTOS = Regex.Split(",", mx.Get("DESCUENTOS"))
' TS_BONIFICACIONES = Regex.Split(",", mx.Get("BONIFICACIONES"))
'
' If tipo.ToUpperCase = "RMI" Then
' Private lasMaximas As Int = 0
' Log($"Acumulado de RMIs: ${traeAcumuladoHoyTS("rmi")}"$)
' Private elMonto As String = NumberFormat2(traePrecioRMI(id), 1, 2, 2, False)
' Log($"elMonto: ${elMonto}"$)
' Log($"TS_RMI(0): ${TS_RMI(0)}"$)
' Log($"TS_RMI(1): ${TS_RMI(1)}"$)
' Log($"LaCant: ${laCant}"$)
' Private rmisRestantes As String = (TS_RMI(0) - TS_RMI(1) - traeAcumuladoHoyTS("rmi"))
' Log($"rmisRestantes: ${rmisRestantes}"$)
'
' If accion.ToUpperCase = "PRODMAS" Then 'Regresa lasMaximas y elMonto separadas por un "|"
' If elMonto > 0 Then
' lasMaximas = ((laCant * elMonto) + rmisRestantes) / elMonto
' If logger Then Log("lasMaximas: " & lasMaximas)
' If logger Then Log(traeAcumuladoHoyTS("rmi"))
' End If
'' If laCant + 1 = lasMaximas Then
'' ToastMessageShow("El presupuesto de RMI no permite agregar mas productos!!", False)
'' End If
' If logger Then Log("EL RMI: " & elMonto)
' Log($"lacant=${laCant} < lasMaximas=${lasMaximas} = ${laCant<lasMaximas}"$)
' If laCant < lasMaximas Then
' modTrendSpending("resta", "rmi", elMonto) ' Restamos al presupuesto de hoy (agregamos al acumulado).
' End If
' If logger Then Log("RMI RESTANTES: " & (TS_RMI(0) - TS_RMI(1) - traeAcumuladoHoyTS("rmi")))
' Return lasMaximas & "|" & elMonto
' else if accion.ToUpperCase = "PRODMENOS" Then
' If logger Then Log("LaCANT= " & laCant & ", elMonto= " & elMonto)
' If laCant >= 0 Then
' modTrendSpending("suma", "rmi", elMonto) ' Agregamos al presupuesto de hoy (restamos del acumulado).
' End If
' Return lasMaximas & "|" & elMonto
' End If
' else If tipo.ToUpperCase = "BONIFICACIONES" Then
' Dim lasMaximas As Int = 0
' Dim elMonto As String = 0
' Private elMonto As String = NumberFormat2(kh.traePrecio(id)*(kh.traeDescXSku(clienteId, id)/100), 1, 2, 2, False)
' Private BonsRestantes As String = (TS_BONIFICACIONES(0) - TS_BONIFICACIONES(1) - traeAcumuladoHoyTS("bonificaciones"))
' If logger Then Log("EL MONTO: " & elMonto)
' Log("Monto del presupuesto disponible: " & BonsRestantes)
' If accion.ToUpperCase = "PRODMAS" Then 'Regresa lasMaximas y elMonto separadas por un "|"
' Log("PMAS")
' If elMonto > 0 Then
' lasMaximas = ((laCant * elMonto) + BonsRestantes) / elMonto
' If logger Then Log("lasMaximas: " & lasMaximas)
' If logger Then Log(traeAcumuladoHoyTS("bonificaciones"))
' End If
' If laCant = lasMaximas Then
' ToastMessageShow("El presupuesto de BONIFICACIONES no permite agregar mas productos!!", False)
' End If
' If logger Then Log("EL MONTO: " & elMonto)
' If inv > 0 And laCant < lasMaximas Then
' modTrendSpending("resta", "bonificaciones", elMonto) ' Restamos al presupuesto de hoy (agregamos al acumulado).
' End If
' If logger Then Log(">>>> MONTO RESTANTE PRESUPUESTO: " & (TS_BONIFICACIONES(0) - TS_BONIFICACIONES(1) - traeAcumuladoHoyTS("bonificaciones")))
' Return lasMaximas & "|" & elMonto
' else if accion.ToUpperCase = "PRODMENOS" Then 'Regresa bonificacionesMaximas y elMonto separadas por un "|"
' If logger Then Log("LaCANT= " & laCant & ", elMonto= " & elMonto)
' If laCant >= 0 Then
' modTrendSpending("suma", "bonificaciones", elMonto) ' Agregamos al presupuesto de hoy (restamos del acumulado).
' End If
' Return lasMaximas & "|" & elMonto
' else if accion.ToUpperCase = "TEXTCHANGED" Then
' Log("TC")
'' Private laBonificacion As String = NumberFormat2(kh.traePrecio(id)*(kh.traeDescXSku(clienteId, id)/100), 1, 2, 2, False)
'' Log("LA BONIFICACION: " & laBonificacion)
'' Private BonsRestantes As String = (TS_BONIFICACIONES(0) - TS_BONIFICACIONES(1) - traeAcumuladoHoyTS("bonificaciones"))
'' Log("Monto de BONIFICACIONES disponible: " & BonsRestantes)
'' Private maxDispPorBonificaciones As Int = (BonsRestantes/laBonificacion).As(Int)
'' Log($"Max disponibles por bonificaciones: ${maxDispPorBonificaciones}"$)
'' If laBonificacion > 0 Then
'' If New > bonificacionesMaximas Then
'' If inv > bonificacionesMaximas Then
'' laCant = bonificacionesMaximas
'' Else
'' laCant = inv
'' End If
'' End If
'' Else if laBonificacion = 0 Then
'' If laCant > inv Or New > inv Then
''' Log("Se pasa!!")
''' Log($"Ponemos laCant en: ${inv}"$)
'' laCant = inv
'' End If
'' End If
'' modTrendSpending("resta", "bonificaciones", ((New * laBonificacion) - (Old * laBonificacion)))
'' Log(traeAcumuladoHoyTS("bonificaciones"))
'' Return bonificacionesMaximas & "|" & laBonificacion
' else if accion.ToUpperCase = "FOCUSCHANGED" Then 'Regresa bonificaciones maximas, SOLO correr esta parte si HASFOCUS es VERDADERO.
' Log("FC")
' Private elMonto As String = kh.traePrecio(id)*(kh.traeDescXSku(clienteId, id)/100)
' If elMonto > 0 Then 'And HasFocus
' If logger Then Log("LA BONIFICACION: " & elMonto)
' Private BonsRestantes As String = (TS_BONIFICACIONES(0) - TS_BONIFICACIONES(1) - traeAcumuladoHoyTS("bonificaciones"))
' If logger Then Log("Monto del PRESUPUESTO disponible: " & BonsRestantes)
' lasMaximas = ((laCant * elMonto) + BonsRestantes) / elMonto
' If logger Then Log("bonificacionesMaximas: " & lasMaximas)
' End If
' Return lasMaximas
' End If
' End If
'End Sub
'
'' Trae el precio del RMI desde CAT_RMI.
'Sub traePrecioRMI(id As String) As String
' Private precio As String = "0"
' Private c As Cursor = Starter.skmt.ExecQuery($"select cat_monto from cat_rmi where cat_id = '${id}'"$)
' If c.RowCount > 0 Then
' c.Position = 0
' precio = c.GetString("CAT_MONTO")
' End If
' Return precio
'End Sub

View File

@@ -189,7 +189,7 @@ Public Sub StopFLP
End Sub End Sub
Sub flp_LocationChanged (Location1 As Location) Sub flp_LocationChanged (Location1 As Location)
LogColor($"Location changed lat=${Location1.Latitude}, lon=${Location1.Longitude}, Acc=${Location1.Accuracy}, SD=$1.0{actualLR.GetSmallestDisplacement}"$, Colors.green) If starter.Logger Then LogColor($"Location changed lat=${Location1.Latitude}, lon=${Location1.Longitude}, Acc=${Location1.Accuracy}, SD=$1.0{actualLR.GetSmallestDisplacement}"$, Colors.green)
UUGCoords = Location1 UUGCoords = Location1
' If logger Then Log("SmallestDisplacement="&actualLR.GetSmallestDisplacement) ' If logger Then Log("SmallestDisplacement="&actualLR.GetSmallestDisplacement)
' CallSub2(Starter, "GPS_LocationChanged", Location1) ' CallSub2(Starter, "GPS_LocationChanged", Location1)

View File

@@ -66,23 +66,41 @@ Sub RD_Init
If Not(File.IsDirectory(Dirp, Dir)) Then safePath = rp.GetSafeDirDefaultExternal("kmts") If Not(File.IsDirectory(Dirp, Dir)) Then safePath = rp.GetSafeDirDefaultExternal("kmts")
' Log($"Hay directorio: ${Dirp} ${Dir} - ${File.IsDirectory(Dirp, Dir)}"$) ' Log($"Hay directorio: ${Dirp} ${Dir} - ${File.IsDirectory(Dirp, Dir)}"$)
If Starter.Logger Then Log($"Safepath:${safePath}"$) If Starter.Logger Then Log($"Safepath:${safePath}"$)
Private limpiarBD As Boolean = False
Private name() As String = Regex.split(" ", Application.LabelName) 'Obtenemos el nombre de la app para ponerselo a la BD. Private name() As String = Regex.split(" ", Application.LabelName) 'Obtenemos el nombre de la app para ponerselo a la BD.
If File.Exists(safePath, $"${name(0)}.rkmt.km"$) = False Then
File.Copy(File.DirAssets, $"${name(0)}.rkmt.km"$, safePath, $"${name(0)}.rkmt.km"$)
limpiarBD = True
Log("NO EXISTE BD")
End If
rkmt.Initialize(safePath, $"${name(0)}.rkmt.km"$, True) rkmt.Initialize(safePath, $"${name(0)}.rkmt.km"$, True)
If limpiarBD Then
LogColor("----->> LIMPIAMOS BD RECUPERACION PRIMERA VEZ <<-------", Colors.red)
rkmt.ExecNonQuery("delete from pedido")
rkmt.ExecNonQuery("delete from cat_gunaprod")
rkmt.ExecNonQuery("delete from cat_gunaprod2")
rkmt.ExecNonQuery("delete from kmt_info")
limpiarBD = False
End If
' Log("TAMAÑO DE ARCHIVO RESPALDO " &File.size(File.DirInternal&"/kmts", $"${name(0)}.rkmt.km"$)) ' Log("TAMAÑO DE ARCHIVO RESPALDO " &File.size(File.DirInternal&"/kmts", $"${name(0)}.rkmt.km"$))
skmt.Initialize(File.DirInternal,"kmt.db", False) ' skmt.Initialize(File.DirInternal,"kmt.db", False)
If chkIfTableExists(skmt, "PEDIDO") Then rkmt.ExecNonQuery($"create table if not exists PEDIDO (${getTableColumnList(skmt, "PEDIDO")}, FECHA TEXT)"$) If chkIfTableExists(khdb, "PEDIDO") Then rkmt.ExecNonQuery($"create table if not exists PEDIDO (${getTableColumnList(khdb, "PEDIDO")}, FECHA TEXT)"$)
If chkIfTableExists(skmt, "CAT_DETALLES_PAQ") Then rkmt.ExecNonQuery($"create table if not exists CAT_DETALLES_PAQ (${getTableColumnList(skmt, "CAT_DETALLES_PAQ")}, FECHA TEXT)"$) If chkIfTableExists(khdb, "CAT_DETALLES_PAQ") Then rkmt.ExecNonQuery($"create table if not exists CAT_DETALLES_PAQ (${getTableColumnList(khdb, "CAT_DETALLES_PAQ")}, FECHA TEXT)"$)
If chkIfTableExists(skmt, "CAT_GUNAPROD") Then rkmt.ExecNonQuery($"create table if not exists CAT_GUNAPROD (${getTableColumnList(skmt, "CAT_GUNAPROD")}, FECHA TEXT)"$) If chkIfTableExists(khdb, "CAT_GUNAPROD") Then rkmt.ExecNonQuery($"create table if not exists CAT_GUNAPROD (${getTableColumnList(khdb, "CAT_GUNAPROD")}, FECHA TEXT)"$)
If chkIfTableExists(skmt, "CAT_GUNAPROD2") Then rkmt.ExecNonQuery($"create table if not exists CAT_GUNAPROD2 (${getTableColumnList(skmt, "CAT_GUNAPROD2")}, FECHA TEXT)"$) If chkIfTableExists(khdb, "CAT_GUNAPROD2") Then rkmt.ExecNonQuery($"create table if not exists CAT_GUNAPROD2 (${getTableColumnList(khdb, "CAT_GUNAPROD2")}, FECHA TEXT)"$)
agregaColumna(rkmt,"CAT_GUNAPROD", "CAT_GP_TIPOPROD2", "TEXT") agregaColumna(rkmt,"CAT_GUNAPROD", "CAT_GP_TIPOPROD2", "TEXT")
agregaColumna(rkmt,"CAT_GUNAPROD", "CAT_GP_PROMOCION", "TEXT")
agregaColumna(rkmt,"CAT_GUNAPROD2", "CAT_GP_TIPOPROD2", "TEXT") agregaColumna(rkmt,"CAT_GUNAPROD2", "CAT_GP_TIPOPROD2", "TEXT")
agregaColumna(rkmt,"CAT_GUNAPROD2", "CAT_GP_PROMOCION", "TEXT")
agregaColumna(rkmt, "kmt_info", "CAT_CL_LIMITECREDITO", "TEXT") agregaColumna(rkmt, "kmt_info", "CAT_CL_LIMITECREDITO", "TEXT")
If chkIfTableExists(skmt, "kmt_info") Then rkmt.ExecNonQuery($"create table if not exists kmt_info (${getTableColumnList(skmt, "kmt_info")}, FECHA TEXT)"$) If chkIfTableExists(khdb, "kmt_info") Then rkmt.ExecNonQuery($"create table if not exists kmt_info (${getTableColumnList(khdb, "kmt_info")}, FECHA TEXT)"$)
If chkIfTableExists(skmt, "PROMOS_COMP") Then rkmt.ExecNonQuery($"create table if not exists PROMOS_COMP (${getTableColumnList(skmt, "PROMOS_COMP")}, FECHA TEXT)"$) If chkIfTableExists(khdb, "PROMOS_COMP") Then rkmt.ExecNonQuery($"create table if not exists PROMOS_COMP (${getTableColumnList(khdb, "PROMOS_COMP")}, FECHA TEXT)"$)
agregaColumna(rkmt, "PROMOS_COMP", "CAT_PA_PORCENTAJE_PAQUETE", "TEXT") agregaColumna(rkmt, "PROMOS_COMP", "CAT_PA_PORCENTAJE_PAQUETE", "TEXT")
agregaColumna(rkmt, "PROMOS_COMP", "CAT_PA_PRECIO1", "TEXT") agregaColumna(rkmt, "PROMOS_COMP", "CAT_PA_PRECIO1", "TEXT")
If chkIfTableExists(skmt, "CAT_VARIABLES") Then rkmt.ExecNonQuery($"create table if not exists CAT_VARIABLES (${getTableColumnList(skmt, "CAT_VARIABLES")}, FECHA TEXT)"$) agregaColumna(rkmt, "CAT_DETALLES_PAQ", "CAT_DP_PRECIOB", "TEXT")
If chkIfTableExists(skmt, "CAT_RMI") Then rkmt.ExecNonQuery($"create table if not exists CAT_RMI (${getTableColumnList(skmt, "CAT_RMI")}, FECHA TEXT)"$) agregaColumna(rkmt, "kmt_info", "CREDITO", "INTEGER")
If chkIfTableExists(khdb, "CAT_VARIABLES") Then rkmt.ExecNonQuery($"create table if not exists CAT_VARIABLES (${getTableColumnList(khdb, "CAT_VARIABLES")}, FECHA TEXT)"$)
If chkIfTableExists(khdb, "CAT_RMI") Then rkmt.ExecNonQuery($"create table if not exists CAT_RMI (${getTableColumnList(khdb, "CAT_RMI")}, FECHA TEXT)"$)
DateTime.DateFormat = "yyyyMMdd" DateTime.DateFormat = "yyyyMMdd"
fechaHoy = DateTime.Date(DateTime.Now) fechaHoy = DateTime.Date(DateTime.Now)
If Starter.Logger Then Log("RKMTS: " & rkmt.IsInitialized) If Starter.Logger Then Log("RKMTS: " & rkmt.IsInitialized)
@@ -124,7 +142,7 @@ End Sub
'Para que "skmt" vea a "rkmt", es necesario montarla (attach). 'Para que "skmt" vea a "rkmt", es necesario montarla (attach).
Sub revisaRkmtAttached As Boolean Sub revisaRkmtAttached As Boolean
rkmtAttached = False rkmtAttached = False
Dim rs As ResultSet = skmt.ExecQuery("SELECT * FROM pragma_database_list") Dim rs As ResultSet = khdb.ExecQuery("SELECT * FROM pragma_database_list")
Do While rs.NextRow 'Revisamos si esta montada "kmt.db" como "rkmt1" y si no, la montamos. Do While rs.NextRow 'Revisamos si esta montada "kmt.db" como "rkmt1" y si no, la montamos.
If rs.GetString("name") = "rkmt1" Then rkmtAttached = True If rs.GetString("name") = "rkmt1" Then rkmtAttached = True
' Log(rs.GetString("name")) ' Log(rs.GetString("name"))
@@ -132,7 +150,7 @@ Sub revisaRkmtAttached As Boolean
If Not(rkmtAttached) Then If Not(rkmtAttached) Then
Private name() As String = Regex.split(" ", Application.LabelName) Private name() As String = Regex.split(" ", Application.LabelName)
skmt.ExecNonQuery($"attach database '${File.Combine(safePath,$"${name(0)}.rkmt.km"$)}' as rkmt1;"$) khdb.ExecNonQuery($"attach database '${File.Combine(safePath,$"${name(0)}.rkmt.km"$)}' as rkmt1;"$)
rkmtAttached = True rkmtAttached = True
End If End If
Return rkmtAttached Return rkmtAttached
@@ -155,10 +173,10 @@ Sub RD_respalda_pedido
DateTime.DateFormat = "MM/dd/yyyy" DateTime.DateFormat = "MM/dd/yyyy"
Private fechaHoy2 As String = DateTime.Date(DateTime.Now) Private fechaHoy2 As String = DateTime.Date(DateTime.Now)
' Log("Copiando PEDIDO ...") ' Log("Copiando PEDIDO ...")
Private x As Cursor = skmt.ExecQuery("select * from PEDIDO") Private x As Cursor = khdb.ExecQuery("select * from PEDIDO")
' Log(x.RowCount) ' Log(x.RowCount)
If x.RowCount > 0 Then If x.RowCount > 0 Then
Private lasCols As String = getTableColumnListName(skmt, "PEDIDO") Private lasCols As String = getTableColumnListName(khdb, "PEDIDO")
' rkmt.BeginTransaction ' rkmt.BeginTransaction
rkmt.ExecNonQuery($"delete from PEDIDO where FECHA = '${fechaHoy}'"$) rkmt.ExecNonQuery($"delete from PEDIDO where FECHA = '${fechaHoy}'"$)
rkmt.ExecNonQuery($"insert into PEDIDO (${lasCols}, FECHA) select ${lasCols}, '${fechaHoy}' as FECHA from skmt1.PEDIDO where substr(pe_fecha, 1, 10) = '${fechaHoy2}'"$) rkmt.ExecNonQuery($"insert into PEDIDO (${lasCols}, FECHA) select ${lasCols}, '${fechaHoy}' as FECHA from skmt1.PEDIDO where substr(pe_fecha, 1, 10) = '${fechaHoy2}'"$)
@@ -178,9 +196,9 @@ End Sub
Sub RD_respalda_cat_gunaprod Sub RD_respalda_cat_gunaprod
Private inicio As String = DateTime.Now Private inicio As String = DateTime.Now
' Log("Copiando CAT_GUNAPROD ...") ' Log("Copiando CAT_GUNAPROD ...")
Private x As Cursor = skmt.ExecQuery("select * from CAT_GUNAPROD") Private x As Cursor = khdb.ExecQuery("select * from CAT_GUNAPROD")
If x.RowCount > 0 Then If x.RowCount > 0 Then
Private lasCols As String = getTableColumnListName(skmt, "CAT_GUNAPROD") Private lasCols As String = getTableColumnListName(khdb, "CAT_GUNAPROD")
lasCols = lasCols.Replace(", CAT_GP_IMG", "") 'Quitamos la imagen del respaldo. lasCols = lasCols.Replace(", CAT_GP_IMG", "") 'Quitamos la imagen del respaldo.
rkmt.BeginTransaction rkmt.BeginTransaction
rkmt.ExecNonQuery($"delete from CAT_GUNAPROD where FECHA = '${fechaHoy}'"$) rkmt.ExecNonQuery($"delete from CAT_GUNAPROD where FECHA = '${fechaHoy}'"$)
@@ -207,8 +225,8 @@ Sub RD_restaura_cat_gunaprod
If c.RowCount > 0 Then If c.RowCount > 0 Then
c.Position = 0 c.Position = 0
' Log(c.GetString("FECHA")) ' Log(c.GetString("FECHA"))
skmt.ExecNonQuery("delete from CAT_GUNAPROD") khdb.ExecNonQuery("delete from CAT_GUNAPROD")
skmt.ExecNonQuery($"insert into CAT_GUNAPROD (${lasCols}) select ${lasCols} from rkmt1.CAT_GUNAPROD where fecha = '${c.GetString("FECHA")}'"$) khdb.ExecNonQuery($"insert into CAT_GUNAPROD (${lasCols}) select ${lasCols} from rkmt1.CAT_GUNAPROD where fecha = '${c.GetString("FECHA")}'"$)
Log($"insert into CAT_GUNAPROD (${lasCols}) select ${lasCols} from rkmt1.CAT_GUNAPROD where fecha = '${c.GetString("FECHA")}'"$) Log($"insert into CAT_GUNAPROD (${lasCols}) select ${lasCols} from rkmt1.CAT_GUNAPROD where fecha = '${c.GetString("FECHA")}'"$)
Else Else
If fechaRestauracion.Length > 0 Then If fechaRestauracion.Length > 0 Then
@@ -225,9 +243,9 @@ End Sub
Sub RD_respalda_cat_gunaprod2 Sub RD_respalda_cat_gunaprod2
Private inicio As String = DateTime.Now Private inicio As String = DateTime.Now
' Log("Copiando CAT_GUNAPROD2 ...") ' Log("Copiando CAT_GUNAPROD2 ...")
Private x As Cursor = skmt.ExecQuery("select * from CAT_GUNAPROD2") Private x As Cursor = khdb.ExecQuery("select * from CAT_GUNAPROD2")
If x.RowCount > 0 Then If x.RowCount > 0 Then
Private lasCols As String = getTableColumnListName(skmt, "CAT_GUNAPROD2") Private lasCols As String = getTableColumnListName(khdb, "CAT_GUNAPROD2")
lasCols = lasCols.Replace(", CAT_GP_IMG", "") 'Quitamos la fecha del respaldo. lasCols = lasCols.Replace(", CAT_GP_IMG", "") 'Quitamos la fecha del respaldo.
rkmt.BeginTransaction rkmt.BeginTransaction
rkmt.ExecNonQuery($"delete from CAT_GUNAPROD2 where FECHA = '${fechaHoy}'"$) rkmt.ExecNonQuery($"delete from CAT_GUNAPROD2 where FECHA = '${fechaHoy}'"$)
@@ -253,8 +271,8 @@ Sub RD_restaura_cat_gunaprod2
If c.RowCount > 0 Then If c.RowCount > 0 Then
c.Position = 0 c.Position = 0
LogColor(">>>>> Restauramos GP: " & c.GetString("FECHA"), Colors.red) LogColor(">>>>> Restauramos GP: " & c.GetString("FECHA"), Colors.red)
skmt.ExecNonQuery("delete from CAT_GUNAPROD2") khdb.ExecNonQuery("delete from CAT_GUNAPROD2")
skmt.ExecNonQuery($"insert into CAT_GUNAPROD2 (${lasCols}) select ${lasCols} from rkmt1.CAT_GUNAPROD2 where fecha = '${c.GetString("FECHA")}'"$) khdb.ExecNonQuery($"insert into CAT_GUNAPROD2 (${lasCols}) select ${lasCols} from rkmt1.CAT_GUNAPROD2 where fecha = '${c.GetString("FECHA")}'"$)
' Log($"insert into CAT_GUNAPROD2 (${lasCols}) select ${lasCols} from rkmt1.CAT_GUNAPROD2 where fecha = '${c.GetString("FECHA")}'"$) ' Log($"insert into CAT_GUNAPROD2 (${lasCols}) select ${lasCols} from rkmt1.CAT_GUNAPROD2 where fecha = '${c.GetString("FECHA")}'"$)
Else Else
If fechaRestauracion.Length > 0 Then If fechaRestauracion.Length > 0 Then
@@ -294,10 +312,12 @@ End Sub
Sub RD_respalda_cat_detalle_paq Sub RD_respalda_cat_detalle_paq
Private inicio As String = DateTime.Now Private inicio As String = DateTime.Now
' Log("Copiando CAT_DETALLES_PAQ ...") ' Log("Copiando CAT_DETALLES_PAQ ...")
Private x As Cursor = skmt.ExecQuery("select * from CAT_DETALLES_PAQ") Private x As Cursor = khdb.ExecQuery("select * from CAT_DETALLES_PAQ")
Log(1)
Try Try
If x.RowCount > 0 Then If x.RowCount > 0 Then
Private lasCols As String = getTableColumnListName(skmt, "CAT_DETALLES_PAQ") Log(2)
Private lasCols As String = getTableColumnListName(khdb, "CAT_DETALLES_PAQ")
rkmt.BeginTransaction rkmt.BeginTransaction
rkmt.ExecNonQuery($"delete from CAT_DETALLES_PAQ where fecha = '${fechaHoy}'"$) rkmt.ExecNonQuery($"delete from CAT_DETALLES_PAQ where fecha = '${fechaHoy}'"$)
rkmt.ExecNonQuery($"insert into CAT_DETALLES_PAQ (${lasCols}, FECHA) select ${lasCols}, '${fechaHoy}' as FECHA from skmt1.CAT_DETALLES_PAQ"$) rkmt.ExecNonQuery($"insert into CAT_DETALLES_PAQ (${lasCols}, FECHA) select ${lasCols}, '${fechaHoy}' as FECHA from skmt1.CAT_DETALLES_PAQ"$)
@@ -324,8 +344,8 @@ Sub RD_restaura_cat_detalle_paq
If c.RowCount > 0 Then If c.RowCount > 0 Then
c.Position = 0 c.Position = 0
' Log(c.GetString("FECHA")) ' Log(c.GetString("FECHA"))
skmt.ExecNonQuery("delete from CAT_DETALLES_PAQ") khdb.ExecNonQuery("delete from CAT_DETALLES_PAQ")
skmt.ExecNonQuery($"insert into CAT_DETALLES_PAQ (${lasCols}) select ${lasCols} from rkmt1.CAT_DETALLES_PAQ where fecha = '${c.GetString("FECHA")}'"$) khdb.ExecNonQuery($"insert into CAT_DETALLES_PAQ (${lasCols}) select ${lasCols} from rkmt1.CAT_DETALLES_PAQ where fecha = '${c.GetString("FECHA")}'"$)
Log($"insert into CAT_DETALLES_PAQ (${lasCols}) select ${lasCols} from rkmt1.CAT_DETALLES_PAQ where fecha = '${c.GetString("FECHA")}'"$) Log($"insert into CAT_DETALLES_PAQ (${lasCols}) select ${lasCols} from rkmt1.CAT_DETALLES_PAQ where fecha = '${c.GetString("FECHA")}'"$)
Else Else
If fechaRestauracion.Length > 0 Then If fechaRestauracion.Length > 0 Then
@@ -342,9 +362,9 @@ End Sub
Sub RD_respalda_kmt_info Sub RD_respalda_kmt_info
Private inicio As String = DateTime.Now Private inicio As String = DateTime.Now
' Log("Copiando kmt_info ...") ' Log("Copiando kmt_info ...")
Private x As Cursor = skmt.ExecQuery("select * from kmt_info") Private x As Cursor = khdb.ExecQuery("select * from kmt_info")
If x.RowCount > 0 Then If x.RowCount > 0 Then
Private lasCols As String = getTableColumnListName(skmt, "kmt_info") Private lasCols As String = getTableColumnListName(khdb, "kmt_info")
rkmt.BeginTransaction rkmt.BeginTransaction
rkmt.ExecNonQuery($"delete from kmt_info where fecha = '${fechaHoy}'"$) rkmt.ExecNonQuery($"delete from kmt_info where fecha = '${fechaHoy}'"$)
rkmt.ExecNonQuery($"insert into kmt_info (${lasCols}, FECHA) select ${lasCols}, '${fechaHoy}' as FECHA from skmt1.kmt_info"$) rkmt.ExecNonQuery($"insert into kmt_info (${lasCols}, FECHA) select ${lasCols}, '${fechaHoy}' as FECHA from skmt1.kmt_info"$)
@@ -368,15 +388,15 @@ Sub RD_restaura_kmt_info
If c.RowCount > 0 Then If c.RowCount > 0 Then
c.Position = 0 c.Position = 0
' Log(c.GetString("FECHA")) ' Log(c.GetString("FECHA"))
skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("DIA_VISITA"))' Ponemos el dia de hoy para visita. khdb.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("DIA_VISITA"))' Ponemos el dia de hoy para visita.
skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("DIA_VISITA", Subs.traeDiaSemana)) khdb.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("DIA_VISITA", Subs.traeDiaSemana))
skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("FINDIA_FECHA"))' Borramos fecha de FIN DIA. khdb.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("FINDIA_FECHA"))' Borramos fecha de FIN DIA.
skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("FINDIA_PASS"))' Ponemos la contraseña del FIN DIA en "CL" khdb.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("FINDIA_PASS"))' Ponemos la contraseña del FIN DIA en "CL"
skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("FINDIA_PASS", "CL")) khdb.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("FINDIA_PASS", "CL"))
Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("FECHA")) 'Ponemos la fecha de hoy en CAT_VARIABLES para que nos deje ingresar con el usuario guardado. khdb.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("FECHA")) 'Ponemos la fecha de hoy en CAT_VARIABLES para que nos deje ingresar con el usuario guardado.
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("FECHA", fechaHoy)) khdb.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("FECHA", fechaHoy))
skmt.ExecNonQuery("delete from kmt_info") khdb.ExecNonQuery("delete from kmt_info")
skmt.ExecNonQuery($"insert into kmt_info (${lasCols}) select ${lasCols} from rkmt1.kmt_info where fecha = '${c.GetString("FECHA")}'"$) khdb.ExecNonQuery($"insert into kmt_info (${lasCols}) select ${lasCols} from rkmt1.kmt_info where fecha = '${c.GetString("FECHA")}'"$)
' Log($"insert into kmt_info (${lasCols}) select ${lasCols} from rkmt1.kmt_info where fecha = '${c.GetString("FECHA")}'"$) ' Log($"insert into kmt_info (${lasCols}) select ${lasCols} from rkmt1.kmt_info where fecha = '${c.GetString("FECHA")}'"$)
Else Else
If fechaRestauracion.Length > 0 Then If fechaRestauracion.Length > 0 Then
@@ -393,9 +413,9 @@ End Sub
Sub RD_respalda_cat_variables Sub RD_respalda_cat_variables
Private inicio As String = DateTime.Now Private inicio As String = DateTime.Now
' Log("Copiando CAT_VARIABLES ...") ' Log("Copiando CAT_VARIABLES ...")
Private x As Cursor = skmt.ExecQuery("select * from CAT_VARIABLES") Private x As Cursor = khdb.ExecQuery("select * from CAT_VARIABLES")
If x.RowCount > 0 Then If x.RowCount > 0 Then
Private lasCols As String = getTableColumnListName(skmt, "CAT_VARIABLES") Private lasCols As String = getTableColumnListName(khdb, "CAT_VARIABLES")
rkmt.BeginTransaction rkmt.BeginTransaction
rkmt.ExecNonQuery($"delete from CAT_VARIABLES where fecha = '${fechaHoy}'"$) rkmt.ExecNonQuery($"delete from CAT_VARIABLES where fecha = '${fechaHoy}'"$)
rkmt.ExecNonQuery($"insert into CAT_VARIABLES (${lasCols}, FECHA) select ${lasCols}, '${fechaHoy}' as FECHA from skmt1.cat_variables"$) rkmt.ExecNonQuery($"insert into CAT_VARIABLES (${lasCols}, FECHA) select ${lasCols}, '${fechaHoy}' as FECHA from skmt1.cat_variables"$)
@@ -419,8 +439,8 @@ Sub RD_restaura_cat_variables
If c.RowCount > 0 Then If c.RowCount > 0 Then
c.Position = 0 c.Position = 0
' Log(c.GetString("FECHA")) ' Log(c.GetString("FECHA"))
skmt.ExecNonQuery("delete from CAT_VARIABLES") khdb.ExecNonQuery("delete from CAT_VARIABLES")
skmt.ExecNonQuery($"insert into CAT_VARIABLES (${lasCols}) select ${lasCols} from rkmt1.CAT_VARIABLES where fecha = '${c.GetString("FECHA")}'"$) khdb.ExecNonQuery($"insert into CAT_VARIABLES (${lasCols}) select ${lasCols} from rkmt1.CAT_VARIABLES where fecha = '${c.GetString("FECHA")}'"$)
' Log($"insert into CAT_VARIABLES (${lasCols}) select ${lasCols} from rkmt1.CAT_VARIABLES where fecha = '${c.GetString("FECHA")}'"$) ' Log($"insert into CAT_VARIABLES (${lasCols}) select ${lasCols} from rkmt1.CAT_VARIABLES where fecha = '${c.GetString("FECHA")}'"$)
Else Else
If fechaRestauracion.Length > 0 Then If fechaRestauracion.Length > 0 Then
@@ -437,9 +457,9 @@ End Sub
Sub RD_respalda_promos_comp Sub RD_respalda_promos_comp
Private inicio As String = DateTime.Now Private inicio As String = DateTime.Now
' Log("Copiando kmt_info ...") ' Log("Copiando kmt_info ...")
Private x As Cursor = skmt.ExecQuery("select * from PROMOS_COMP") Private x As Cursor = khdb.ExecQuery("select * from PROMOS_COMP")
If x.RowCount > 0 Then If x.RowCount > 0 Then
Private lasCols As String = getTableColumnListName(skmt, "PROMOS_COMP") Private lasCols As String = getTableColumnListName(khdb, "PROMOS_COMP")
rkmt.BeginTransaction rkmt.BeginTransaction
rkmt.ExecNonQuery($"delete from PROMOS_COMP where fecha = '${fechaHoy}'"$) rkmt.ExecNonQuery($"delete from PROMOS_COMP where fecha = '${fechaHoy}'"$)
rkmt.ExecNonQuery($"insert into PROMOS_COMP (${lasCols}, FECHA) select ${lasCols}, '${fechaHoy}' as FECHA from skmt1.PROMOS_COMP"$) rkmt.ExecNonQuery($"insert into PROMOS_COMP (${lasCols}, FECHA) select ${lasCols}, '${fechaHoy}' as FECHA from skmt1.PROMOS_COMP"$)
@@ -463,8 +483,8 @@ Sub RD_restaura_promos_comp
If c.RowCount > 0 Then If c.RowCount > 0 Then
c.Position = 0 c.Position = 0
' Log(c.GetString("FECHA")) ' Log(c.GetString("FECHA"))
skmt.ExecNonQuery("delete from PROMOS_COMP") khdb.ExecNonQuery("delete from PROMOS_COMP")
skmt.ExecNonQuery($"insert into PROMOS_COMP (${lasCols}) select ${lasCols} from rkmt1.PROMOS_COMP where fecha = '${c.GetString("FECHA")}'"$) khdb.ExecNonQuery($"insert into PROMOS_COMP (${lasCols}) select ${lasCols} from rkmt1.PROMOS_COMP where fecha = '${c.GetString("FECHA")}'"$)
Log($"insert into PROMOS_COMP (${lasCols}) select ${lasCols} from rkmt1.PROMOS_COMP where fecha = '${c.GetString("FECHA")}'"$) Log($"insert into PROMOS_COMP (${lasCols}) select ${lasCols} from rkmt1.PROMOS_COMP where fecha = '${c.GetString("FECHA")}'"$)
Else Else
If fechaRestauracion.Length > 0 Then If fechaRestauracion.Length > 0 Then
@@ -481,9 +501,9 @@ End Sub
Sub RD_respalda_cat_rmi Sub RD_respalda_cat_rmi
Private inicio As String = DateTime.Now Private inicio As String = DateTime.Now
' Log("Copiando cat_rmi ...") ' Log("Copiando cat_rmi ...")
Private x As Cursor = skmt.ExecQuery("select * from CAT_RMI") Private x As Cursor = khdb.ExecQuery("select * from CAT_RMI")
If x.RowCount > 0 Then If x.RowCount > 0 Then
Private lasCols As String = getTableColumnListName(skmt, "CAT_RMI") Private lasCols As String = getTableColumnListName(khdb, "CAT_RMI")
rkmt.BeginTransaction rkmt.BeginTransaction
rkmt.ExecNonQuery($"delete from CAT_RMI where fecha = '${fechaHoy}'"$) rkmt.ExecNonQuery($"delete from CAT_RMI where fecha = '${fechaHoy}'"$)
rkmt.ExecNonQuery($"insert into CAT_RMI (${lasCols}, FECHA) select ${lasCols}, '${fechaHoy}' as FECHA from skmt1.CAT_RMI"$) rkmt.ExecNonQuery($"insert into CAT_RMI (${lasCols}, FECHA) select ${lasCols}, '${fechaHoy}' as FECHA from skmt1.CAT_RMI"$)
@@ -507,8 +527,8 @@ Sub RD_restaura_cat_rmi
If c.RowCount > 0 Then If c.RowCount > 0 Then
c.Position = 0 c.Position = 0
' Log(c.GetString("FECHA")) ' Log(c.GetString("FECHA"))
skmt.ExecNonQuery("delete from CAT_RMI") khdb.ExecNonQuery("delete from CAT_RMI")
skmt.ExecNonQuery($"insert into CAT_RMI (${lasCols}) select ${lasCols} from rkmt1.CAT_RMI where fecha = '${c.GetString("FECHA")}'"$) khdb.ExecNonQuery($"insert into CAT_RMI (${lasCols}) select ${lasCols} from rkmt1.CAT_RMI where fecha = '${c.GetString("FECHA")}'"$)
Log($"insert into CAT_RMI (${lasCols}) select ${lasCols} from rkmt1.CAT_RMI where fecha = '${c.GetString("FECHA")}'"$) Log($"insert into CAT_RMI (${lasCols}) select ${lasCols} from rkmt1.CAT_RMI where fecha = '${c.GetString("FECHA")}'"$)
Else Else
If fechaRestauracion.Length > 0 Then If fechaRestauracion.Length > 0 Then
@@ -596,7 +616,7 @@ End Sub
Sub getTableColumnList(db As SQL, table As String) As String 'ignore Sub getTableColumnList(db As SQL, table As String) As String 'ignore
Private l As String = "" Private l As String = ""
If chkIfTableExists(db, table) Then If chkIfTableExists(db, table) Then
Private c As Cursor = skmt.ExecQuery($"pragma table_info(${table})"$) Private c As Cursor = khdb.ExecQuery($"pragma table_info(${table})"$)
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
@@ -618,7 +638,7 @@ End Sub
Sub getTableColumnListName(db As SQL, table As String) As String 'ignore Sub getTableColumnListName(db As SQL, table As String) As String 'ignore
Private l As String = "" Private l As String = ""
If chkIfTableExists(db, table) Then If chkIfTableExists(db, table) Then
Private c As Cursor = skmt.ExecQuery($"pragma table_info(${table})"$) Private c As Cursor = khdb.ExecQuery($"pragma table_info(${table})"$)
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
@@ -640,7 +660,7 @@ End Sub
Sub chkIfTableExists(db As SQL, table As String) As Boolean 'ignore Sub chkIfTableExists(db As SQL, table As String) As Boolean 'ignore
Private t As Boolean = False 'ignore Private t As Boolean = False 'ignore
If db.IsInitialized Then If db.IsInitialized Then
Private c As Cursor = skmt.ExecQuery($"SELECT name FROM sqlite_master WHERE type='table' AND name='${table}'"$) Private c As Cursor = khdb.ExecQuery($"SELECT name FROM sqlite_master WHERE type='table' AND name='${table}'"$)
If c.RowCount > 0 Then t = True If c.RowCount > 0 Then t = True
c.Close c.Close
End If End If
@@ -1011,7 +1031,7 @@ End Sub
'Regresa los clientes nuevos maximos. 'Regresa los clientes nuevos maximos.
'Si no está especificado, el default es 2. 'Si no está especificado, el default es 2.
Sub traeMaxClientesNuevos As Int 'ignore Sub traeMaxClientesNuevos As Int 'ignore
Private CN As Int = 2 Private CN As Int = 5
Private x As Cursor = Starter.skmt.ExecQuery($"select CAT_VA_VALOR from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'MAXCTESNUEVOS'"$) Private x As Cursor = Starter.skmt.ExecQuery($"select CAT_VA_VALOR from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'MAXCTESNUEVOS'"$)
If x.RowCount > 0 Then If x.RowCount > 0 Then
x.Position = 0 x.Position = 0
@@ -1299,3 +1319,15 @@ Sub motivoNoVisitaActivo As Boolean
End If End If
Return rnv Return rnv
End Sub End Sub
' Trae el precio desde la base de datos
Sub traePrecio(id As String) As String
Private precio As String = "1000000000"
Private c As Cursor = Starter.skmt.ExecQuery($"select CAT_GP_PRECIO from ${Subs.traeTablaProds(Starter.tipov)} where cat_gp_id = '${id}'"$)
If c.RowCount > 0 Then
c.Position = 0
precio = c.GetString("CAT_GP_PRECIO")
End If
Log("EL PRECIO = " & precio)
Return precio
End Sub

408
C_TrendSpending.bas Normal file
View File

@@ -0,0 +1,408 @@
B4A=true
Group=Default Group
ModulesStructureVersion=1
Type=Class
Version=12.8
@EndOfDesignText@
' Clase para las funciones de Trend Spending.
' Trend spending son 3 presupuestos que tiene Kelloggs, que son bonificaciones, descuentos y RMIs, estos se calculan semanalmente
' y se descargan de la tabla HIST_TRADE_SPENDING_SEMANAL, de ahi obtenemos el presupuesto de la semana y el acumulado hasta ayer
' en la noche, a cada presupuesto le vamos sumando cada que agregamos a pedido un descuento (Precios diferentes al original que
' NO están en PROMOS), una bonificacion (precios con descuento que estan en promociones) o un RMI (de estos sumamos al presupuesto
' el precio del RMI seleccionado), de acuerdo al presupuesto disponible de cada tipo, se limitan los productos, es decir que si
' el presupuesto de bonificaciones ya se agoto, ya no aparecen promociones, o si el de descuentos se agoto, ya no se pueden agregar
' mas productos con descuento.
Sub Class_Globals
Private EventName As String 'ignore
Private CallBack As Object 'ignore
Dim tsMaximas As Int = 0
Private tsdb As SQL
Dim TS_RMI() As String
Dim TS_DESCUENTOS() As String
Dim TS_BONIFICACIONES() As String
End Sub
'Initializes the object. You can add parameters to this method if needed.
Public Sub Initialize (vCallback As Object, vEventName As String, db As SQL) As Object
EventName = vEventName
CallBack = vCallback
tsdb = db
Private mx As Map = traeInfoTrendSpending
Log(mx)
TS_RMI = Regex.Split(",", mx.Get("RMI"))
TS_DESCUENTOS = Regex.Split(",", mx.Get("DESCUENTOS"))
TS_BONIFICACIONES = Regex.Split(",", mx.Get("BONIFICACIONES"))
Log(">>>>>>>>>>>>> TRENDSPENDING: " & mx)
Log("RMI: " & TS_RMI(0) & "|" & TS_RMI(1))
Log("DESCUENTOS: " & TS_DESCUENTOS(0) & "|" & TS_DESCUENTOS(1))
Log("BONIFICACIONES: " & TS_BONIFICACIONES(0) & "|" & TS_BONIFICACIONES(1))
Return Me
End Sub
'Regresa la tabla de productos (cat_gunaprod o cat_gunaprod2) dependiendo del tipo de venta.
Sub traeTablaProds(tipoventa As String) As String
Private tablaProds As String = "cat_gunaprod2"
If tipoventa = "ABORDO" Or tipoventa = "PREVENTA" Then tablaProds = "cat_gunaprod"
' LogColor($"Tipo= ${tipoventa}, tabla=${tablaProds}"$, Colors.RGB(200,136,0))
Return tablaProds
End Sub
'Regresa el descuento de condiciones comerciales por SKU.
Sub traeDescXSku(clienteId As String, prodId As String) As String 'ignore
Private desc As String = "0"
Private c As Cursor = tsdb.ExecQuery($"Select * from CAT_DESCUENTOS_SKU where CAT_DS_CLIENTE = '${clienteId}' and CAT_DS_PRODID = '${prodId}'"$)
If c.RowCount > 0 Then
c.Position = 0
desc = c.GetString("CAT_DS_PORCENTAJE")
End If
Return desc
End Sub
' Regresa un mapa con el tipo, monto permitido semanal y el acumulado hasta el día anterior:
' ej:
' - RMI=1500,0
' - DESCUENTOS=1500,0
' - BONIFICACIONES=1500,480
Sub traeInfoTrendSpending As Map
Private semana As Int = 0
Private HIST_TSS_SEMANA As String = 0
Private HIST_TSS_SEMANA_ACUM As String = 0
Private m As Map = CreateMap("RMI": 100000 & "," & 0, "DESCUENTOS": 100000 & "," & 0, "BONIFICACIONES": 100000 & "," & 0) ' El 100,000 es el default del presupuesto, por si NO HAY datos de trend spending.
' m.Initialize
Private c As Cursor = tsdb.ExecQuery($"select cat_va_valor from cat_variables where cat_va_descripcion = 'SEM_CAL_LABORAL'"$)
If c.RowCount > 0 Then
c.Position = 0
semana = c.GetInt("CAT_VA_VALOR")
End If
If semana > 0 Then
c = tsdb.ExecQuery($"select HIST_TSS_TIPO, HIST_TSS_SEMANA${semana}, HIST_TSS_SEMANA${semana}_ACUM from HIST_TREND_SPENDING_SEMANAL"$)
If c.RowCount > 0 Then
For i = 0 To c.RowCount - 1
c.Position = i
HIST_TSS_SEMANA = c.GetString($"HIST_TSS_SEMANA${semana}"$)
HIST_TSS_SEMANA_ACUM = c.GetString($"HIST_TSS_SEMANA${semana}_ACUM"$)
If c.GetString("HIST_TSS_TIPO") = "RMI" Then
m.Put("RMI", HIST_TSS_SEMANA & "," & HIST_TSS_SEMANA_ACUM)
else if c.GetString("HIST_TSS_TIPO") = "DESCUENTOS" Then
m.Put("DESCUENTOS", HIST_TSS_SEMANA & "," & HIST_TSS_SEMANA_ACUM)
else if c.GetString("HIST_TSS_TIPO") = "BONIFICACIONES" Then
m.Put("BONIFICACIONES", HIST_TSS_SEMANA & "," & HIST_TSS_SEMANA_ACUM)
End If
Next
End If
End If
Return m
End Sub
' Modifica el acumulado del Trend Speding, le "suma" o "resta" al presupuesto especificado (RMI, BONIFICACIONES o DESCUENTOS)
Sub modTrendSpending(accion As String, tipo As String, monto As String)
Private HIST_TSS_SEMANA As String
Private HIST_TSS_SEMANA_ACUM As String
Private acumulado As String = "0"
If Starter.semana = 0 Then
Private c As Cursor = tsdb.ExecQuery($"select cat_va_valor from cat_variables where cat_va_descripcion = 'SEM_CAL_LABORAL'"$)
If c.RowCount > 0 Then
c.Position = 0
Starter.semana = c.GetInt("CAT_VA_VALOR")
End If
End If
HIST_TSS_SEMANA = $"HIST_TSS_SEMANA${Starter.semana}"$
HIST_TSS_SEMANA_ACUM = $"HIST_TSS_SEMANA${Starter.semana}_ACUM"$
Private d As Cursor = tsdb.ExecQuery($"select acumulado from TREND_SPENDING where tipo = '${tipo.ToUpperCase}'"$)
If d.RowCount > 0 Then
d.Position = 0
acumulado = d.GetString("ACUMULADO")
End If
Log("acumulado:" & acumulado & " | monto: " & monto)
Private c As Cursor = tsdb.ExecQuery($"select HIST_TSS_TIPO, ${HIST_TSS_SEMANA} as disponible, ${HIST_TSS_SEMANA_ACUM} as acumulado from HIST_TREND_SPENDING_SEMANAL where HIST_TSS_TIPO = '${tipo.ToUpperCase}'"$)
If accion.ToUpperCase = "RESTA" Then
If c.RowCount > 0 Then
c.Position = 0
If tipo.ToUpperCase = "DESCUENTOS" Or tipo.ToUpperCase = "RMI" Then
Private nuevaBonificacion As String = NumberFormat2((acumulado + monto), 1, 2, 2, False)
LogColor($"Nuevo acumulado ${tipo} = ${nuevaBonificacion}"$, Colors.Magenta)
tsdb.ExecNonQuery($"delete from TREND_SPENDING where tipo = '${tipo.ToUpperCase}' "$)
tsdb.ExecNonQuery($"insert into TREND_SPENDING (tipo, acumulado) values ('${tipo.ToUpperCase}', '${nuevaBonificacion}')"$)
' else if tipo.ToUpperCase = "RMI" Then
End If
End If
else if accion.ToUpperCase = "SUMA" Then
If c.RowCount > 0 Then
c.Position = 0
If tipo.ToUpperCase = "DESCUENTOS" Or tipo.ToUpperCase = "RMI" Then
Private nuevaBonificacion As String = NumberFormat2((acumulado - monto), 1, 2, 2, False)
LogColor($"Nueva bonificacion = ${nuevaBonificacion}"$, Colors.Magenta)
tsdb.ExecNonQuery($"delete from TREND_SPENDING where tipo = '${tipo.ToUpperCase}' "$)
tsdb.ExecNonQuery($"insert into TREND_SPENDING (tipo, acumulado) values ('${tipo.ToUpperCase}', '${nuevaBonificacion}')"$)
End If
End If
End If
End Sub
Sub traeAcumuladoHoyTS(tipo As String) As String
' Private HIST_TSS_SEMANA As String
' Private HIST_TSS_SEMANA_ACUM As String
Private acumulado As String = "0"
If Starter.semana = 0 Then
Private c As Cursor = tsdb.ExecQuery($"select cat_va_valor from cat_variables where cat_va_descripcion = 'SEM_CAL_LABORAL'"$)
If c.RowCount > 0 Then
c.Position = 0
Starter.semana = c.GetInt("CAT_VA_VALOR")
End If
End If
' HIST_TSS_SEMANA = $"HIST_TSS_SEMANA${Starter.semana}"$
' HIST_TSS_SEMANA_ACUM = $"HIST_TSS_SEMANA${Starter.semana}_ACUM"$
Private d As Cursor = tsdb.ExecQuery($"select acumulado from TREND_SPENDING where tipo = '${tipo.ToUpperCase}'"$)
If d.RowCount > 0 Then
d.Position = 0
acumulado = d.GetString("ACUMULADO")
End If
' LogColor($"Acumulado hoy de ${tipo}: "$ & acumulado, Colors.Blue)
Return NumberFormat2(acumulado, 1, 2, 2, False)
End Sub
'Trae el cliente de CUENTAA
Sub traeCliente As String 'ignore
Private c As Cursor
Private cl As String
c = Starter.skmt.ExecQuery("Select CUENTA from cuentaa")
c.Position = 0
cl = c.GetString("CUENTA")
c.Close
Return cl
End Sub
Sub traePrecio(id As String) As String
Private precio As String = "0"
Private c As Cursor = tsdb.ExecQuery($"select cat_gp_precio from ${traeTablaProds(Starter.tipov)} where cat_gp_id = '${id}'"$)
If c.RowCount > 0 Then
c.Position = 0
precio = c.GetString("CAT_GP_PRECIO")
End If
Return precio
End Sub
Sub trendSpending(accion As String, tipo As String, clienteId As String, id As String, laCant As String, inv As Int) As String
Private logger As Boolean = True
Dim TS_RMI() As String
Dim TS_DESCUENTOS() As String
Dim TS_BONIFICACIONES() As String
Private mx As Map = traeInfoTrendSpending
TS_RMI = Regex.Split(",", mx.Get("RMI"))
TS_DESCUENTOS = Regex.Split(",", mx.Get("DESCUENTOS"))
TS_BONIFICACIONES = Regex.Split(",", mx.Get("BONIFICACIONES"))
If tipo.ToUpperCase = "RMI" Then
Private lasMaximas As Int = 0
Log($"Acumulado de RMIs: ${traeAcumuladoHoyTS("rmi")}"$)
Private elMonto As String = NumberFormat2(traePrecioRMI(id), 1, 2, 2, False)
If logger Then Log($"elMonto: ${elMonto}"$)
If logger Then Log($"TS_RMI(0): ${TS_RMI(0)}"$)
If logger Then Log($"TS_RMI(1): ${TS_RMI(1)}"$)
If logger Then Log($"LaCant: ${laCant}"$)
Private tsRestantes As String = (TS_RMI(0) - TS_RMI(1) - traeAcumuladoHoyTS("rmi"))
Log($"tsRestantes: ${tsRestantes}"$)
If accion.ToUpperCase = "PRODMAS" Then 'Regresa lasMaximas y elMonto separadas por un "|"
If elMonto > 0 Then
lasMaximas = ((laCant * elMonto) + tsRestantes) / elMonto
If logger Then Log("lasMaximas: " & lasMaximas)
If logger Then Log("traeAcumuladoHoyTS: " & traeAcumuladoHoyTS("rmi"))
End If
' If laCant + 1 = lasMaximas Then
' ToastMessageShow("El presupuesto de RMI no permite agregar mas productos!!", False)
' End If
If logger Then Log("EL RMI: " & elMonto)
If logger Then Log($"lacant=${laCant} < lasMaximas=${lasMaximas} = ${laCant<lasMaximas}"$)
If laCant < lasMaximas Then
modTrendSpending("resta", "rmi", elMonto) ' Restamos al presupuesto de hoy (agregamos al acumulado).
End If
If logger Then Log("RMI RESTANTES: " & (TS_RMI(0) - TS_RMI(1) - traeAcumuladoHoyTS("rmi")))
Return lasMaximas & "|" & elMonto
else if accion.ToUpperCase = "PRODMENOS" Then
If logger Then Log("LaCANT= " & laCant & ", elMonto= " & elMonto)
If laCant >= 0 Then
modTrendSpending("suma", "rmi", elMonto) ' Agregamos al presupuesto de hoy (restamos del acumulado).
End If
Return lasMaximas & "|" & elMonto
End If
else If tipo.ToUpperCase = "DESCUENTOS" Then
Dim lasMaximas As Int = 0
Dim elMonto As String = 0
Private elMonto As String = NumberFormat2(traePrecio(id)*(traeDescXSku(clienteId, id)/100), 1, 2, 2, False)
Private tsRestantes As String = (TS_DESCUENTOS(0) - TS_DESCUENTOS(1) - traeAcumuladoHoyTS("descuentos"))
If logger Then Log("EL MONTO: " & elMonto)
If logger Then Log("Monto del presupuesto disponible: " & tsRestantes)
If accion.ToUpperCase = "PRODMAS" Then 'Regresa lasMaximas y elMonto separadas por un "|"
If logger Then Log("PMAS")
If elMonto > 0 Then
lasMaximas = ((laCant * elMonto) + tsRestantes) / elMonto
If logger Then Log("lasMaximas: " & lasMaximas)
If logger Then Log("lasMaximas2: " & traeMaximas("descuentos", clienteId, id, laCant, ""))
If logger Then Log(traeAcumuladoHoyTS("descuentos"))
End If
If laCant = lasMaximas Then
ToastMessageShow("El presupuesto de DESCUENTOS no permite agregar mas productos!!", False)
End If
If logger Then Log("EL MONTO: " & elMonto)
If inv > 0 And laCant < lasMaximas Then
modTrendSpending("resta", "descuentos", elMonto) ' Restamos al presupuesto de hoy (agregamos al acumulado).
End If
If logger Then Log(">>>> MONTO RESTANTE PRESUPUESTO: " & (TS_DESCUENTOS(0) - TS_DESCUENTOS(1) - traeAcumuladoHoyTS("descuentos")))
Return lasMaximas & "|" & elMonto
else if accion.ToUpperCase = "PRODMENOS" Then 'Regresa descuentosMaximas y elMonto separadas por un "|"
If logger Then Log("LaCANT= " & laCant & ", elMonto= " & elMonto)
If laCant >= 0 Then
modTrendSpending("suma", "descuentos", elMonto) ' Agregamos al presupuesto de hoy (restamos del acumulado).
End If
Return lasMaximas & "|" & elMonto
else if accion.ToUpperCase = "TEXTCHANGED" Then
If logger Then Log("TC")
else if accion.ToUpperCase = "FOCUSCHANGED" Then 'Regresa descuentos maximas, SOLO correr esta parte si HASFOCUS es VERDADERO.
If logger Then Log("FC")
Private elMonto As String = traePrecio(id)*(traeDescXSku(clienteId, id)/100)
If elMonto > 0 Then 'And HasFocus
If logger Then Log("LA BONIFICACION: " & elMonto)
Private tsRestantes As String = (TS_DESCUENTOS(0) - TS_DESCUENTOS(1) - traeAcumuladoHoyTS("descuentos"))
If logger Then Log("Monto del PRESUPUESTO disponible: " & tsRestantes)
lasMaximas = ((laCant * elMonto) + tsRestantes) / elMonto
If logger Then Log("tsMaximas: " & lasMaximas)
End If
Return lasMaximas
End If
End If
End Sub
' Trae el precio del RMI desde CAT_RMI.
Sub traePrecioRMI(id As String) As String
Private precio As String = "0"
Private c As Cursor = tsdb.ExecQuery($"select cat_monto from cat_rmi where cat_id = '${id}'"$)
If c.RowCount > 0 Then
c.Position = 0
precio = c.GetString("CAT_MONTO")
End If
Return precio
End Sub
' Traemos el monto (descuento total) del producto actual.
' Utiliza el descuento de condiciones comerciales por SKU (tabla CAT_DESCUENTOS).
Sub traeMonto(clienteId As String, id As String) As String
Private tsMonto As String
tsMonto = NumberFormat2(traePrecio(id)*(traeDescXSku(clienteId, id)/100), 1, 2, 2, False)
Return tsMonto
End Sub
' Trae la cantidad máxima de rmis, bonificaciones o descuentos por presupuesto.
Sub traeMaximas(tipo As String, clienteId As String, id As String, laCant As String, promoId As String) As Int
Private tsMaximas As Int = 100000
Private tsRestantes As String = 0
Private tsMonto As String '= traeMonto(clienteId, id)
' If tsMonto > 0 Then
If tipo.ToUpperCase = "DESCUENTOS" Then
tsMonto = NumberFormat2(traePrecio(id)*(traeDescXSku(clienteId, id)/100), 1, 2, 2, False)
tsRestantes = (TS_DESCUENTOS(0) - TS_DESCUENTOS(1) - traeAcumuladoHoyTS("descuentos")) ' Traemos monto restante de Trend Spending para descuentos.
else If tipo.ToUpperCase = "RMI" Then
tsMonto = NumberFormat2(traePrecioRMI(id), 1, 2, 2, False)
tsRestantes = (TS_RMI(0) - TS_RMI(1) - traeAcumuladoHoyTS("rmi")) ' Traemos monto restante de Trend Spending para rmis.
' else If tipo.ToUpperCase = "BONIFICACIONES" Then
' tsMonto = NumberFormat2(traeMontoBonificacion(id, promoId), 1, 2, 2, False)
' tsRestantes = (TS_BONIFICACIONES(0) - TS_BONIFICACIONES(1) - traeAcumuladoHoyTS("bonificaciones")) ' Traemos monto restante de Trend Spending para bonificaciones.
End If
' Log($"${TS_BONIFICACIONES(0)} - ${TS_BONIFICACIONES(1)} - ${traeAcumuladoHoyTS("bonificaciones")}"$)
' Log($"((${laCant} * ${tsMonto}) + ${tsRestantes}) / ${tsMonto}"$)
Log($"tsMonto: ${tsMonto}"$)
Log($"tsRestantes: ${tsRestantes}"$)
tsMaximas = ((laCant * tsMonto) + tsRestantes) / tsMonto
' End If
Return tsMaximas
End Sub
' Trae la cantidad máxima de bonificaciones por presupuesto.
Sub traeBonificacionesMaximas(tipo As String, clienteId As String, id As String, laCant As String, promoId As String) As Int
Private tsMaximas As Int = 100000
Private tsRestantes As String = 0
Private tsMonto As String
If tipo.ToUpperCase = "BONIFICACIONES" Then
tsMonto = NumberFormat2(traeMontoBonificacion(id, promoId), 1, 2, 2, False)
tsRestantes = (TS_BONIFICACIONES(0) - TS_BONIFICACIONES(1) - traeAcumuladoHoyTS("bonificaciones")) ' Traemos monto restante de Trend Spending para bonificaciones.
End If
' Log($"tsMonto: ${tsMonto}"$)
' Log($"tsRestantes: ${tsRestantes}"$)
' Log($"laCant: ${laCant}"$)
If tsMonto > 0 Then
tsMaximas = Floor(tsRestantes / (tsMonto * laCant))
' Log(">>> tsMaximas: " & tsMaximas)
End If
Return tsMaximas
End Sub
' Trae el monto de la bonificacion, que es el precio original MENOS el precio de venta con descuento.
' - Si CAT_DP_PRECIOB es 1, la bonificacion es: Precio original - precio de venta.
' - Si CAT_DP_PRECIOB es 0, la bonificacion es: Precio original.
Sub traeMontoBonificacion(id As String, promoId As String) As String
' Log(promoId)
Private tsMonto As String = 0
Private c As Cursor = tsdb.ExecQuery($"SELECT CAT_DP_ID, CAT_DP_IDPROD, CAT_DP_PRECIO, CAT_DP_TIPO, CAT_GP_PRECIO, CAT_DP_PRECIOB FROM CAT_DETALLES_PAQ join ${traeTablaProds(Starter.tipov)} on CAT_GP_ID = CAT_DP_IDPROD where CAT_GP_ID = '${id}' and CAT_DP_ID = '${promoId}'"$)
If c.RowCount > 0 Then
c.Position = 0
If c.GetInt("CAT_DP_PRECIOB") = 1 Then
tsMonto = c.GetString("CAT_GP_PRECIO") - c.GetString("CAT_DP_PRECIO") ' Precio original - precio de venta.
Else
tsMonto = c.GetString("CAT_GP_PRECIO") ' Precio original.
End If
' Log($"${c.GetString("CAT_GP_PRECIO")} - ${c.GetString("CAT_DP_PRECIO")}"$)
End If
' Log("ROWCOUNT: " & c.RowCount)
Return tsMonto
End Sub
' Recibe una lista con los ids de los productos variables, revisa cada id para traer los maximos por presupuesto para ese producto
' y pone ese maximo en una lista, luego ordena esa lista para obtener el mas chico y regresa ese como maximo.
' esta funcion se va a aplicar en la funcion maxpromos como un limite mas para que no muestre las promociones.
' NOTA: hay que ver como y cuando dejar de mostrar promociones cuando quede poco presupuesto para bonificaciones.
' NOTA: Talvez se pueda hacer que cuando se entre a PROMOS, si ya no hay presupuesto suficiente, mande un toast o msgbox diciendo que ya
' se agoto el presupuesto.
' Aunque si hay suficiente para mostrar algunas promos ... pues que si las muestre.
Sub maxPromosPorProdsVariables(idProdsVariables As List, promo As String)As Int
Private logger As Boolean = False
Private Maxs As Int = 100000
Private prodsVariablesXPresupuestoBonificaciones As List
Private prodsVariablesRequeridos As Int = traeProdsVariablesRequeridos(promo)
prodsVariablesXPresupuestoBonificaciones.Initialize
' Log("PRODS SIZE: " & idProdsVariables.Size)
For i = 0 To idProdsVariables.Size - 1 'Obtenemos total de productos variables disponibes.
If logger Then Log($"Este prodVariable: ${idProdsVariables.Get(i)}"$)
' Log($"Este invDisponible: ${invDispParaPromo.Get(idProdsVariables.Get(i))}"$)
If logger Then Log(">> Monto Bonificacion: " & traeMontoBonificacion(idProdsVariables.Get(i), promo))
Private maxProds As Int = traeBonificacionesMaximas("bonificaciones", traeCliente, idProdsVariables.Get(i), prodsVariablesRequeridos, promo)
prodsVariablesXPresupuestoBonificaciones.Add(maxProds)
if logger then LogColor(">> Max prods x Bonificaciones: " & maxProds, Colors.blue)
Next
prodsVariablesXPresupuestoBonificaciones.Sort(True)
If prodsVariablesXPresupuestoBonificaciones.Size > 0 Then
Maxs = prodsVariablesXPresupuestoBonificaciones.Get(0)
End If
Return Maxs
End Sub
' Regresa los productos variables requeridos de la promocion dada.
Sub traeProdsVariablesRequeridos(promo As String) As Int
Private pvr As Int = 0
Private c As Cursor = Starter.skmt.ExecQuery("Select CAT_GP_STS, CAT_GP_NOMBRE from CAT_GUNAPROD2 where CAT_GP_ID = '"& promo & "'") 'Obtenemos las piezas requeridas de productos variables para la promoción.
If c.RowCount > 0 Then
c.Position = 0
If c.RowCount > 0 Then
c.Position = 0
pvr = c.GetString("CAT_GP_STS")
End If
End If
c.Close
Return pvr
End Sub
'Poner en una funcion (maxPromosPorProdsFijos) el codigo para traer las promos maximas por productos fijos, igual que la de productos
' variables, y ponerla igual en "traeMaxPromos" en lugar de en "revisaMaxPromosProdsFijosPorInventario".
' Falta el codigo para el funcionamiento diferente de las bonificaciones:
' Si CAT_DP_PRECIOB es 1 --> (Precio de original (cat_precio) - precio de venta) y se suma al acumulado de BONIFICACIONES
' Si CAT_DP_PRECIOB es 0 --> precio orginal se suma al acumulado de BONIFICACIONES
'Hay que traer desde web la columna "CAT_DP_PRECIOB" y gardarla en algun lado en movil!!