mirror of
https://github.com/KeymonSoft/Kelloggs_v4.git
synced 2026-04-17 18:26:11 +00:00
- VERSION 5.04.23
- Se agrega la parte de Trend Spending de Bonificaciones (Gracias Javy!!!)
This commit is contained in:
@@ -157,8 +157,8 @@ 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 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 HIST_TRADE_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 TRADE_SPENDING (MONTO_SEMANA TEXT, ACUMULADO 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)")
|
||||
''' FIN DOE
|
||||
kh.agregaColumna(Starter.skmt, "kmt_info", "IMPRESION", "INTEGER")
|
||||
kh.agregaColumna(Starter.skmt, "USUARIOA", "FECHA", "TEXT")
|
||||
@@ -170,6 +170,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
|
||||
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")
|
||||
Root = Root1
|
||||
' Root.LoadLayout("MainPage")
|
||||
Root.LoadLayout("login")
|
||||
|
||||
@@ -763,7 +763,7 @@ Sub B4XPage_Appear
|
||||
|
||||
'PROMOS POR MONTO
|
||||
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 l_total.Text > mPromoXMonto.Get("rangoMin") And l_total.Text < mPromoXMonto.Get("precio1") Then
|
||||
Log("Eres candidato a una promocion")
|
||||
@@ -2255,7 +2255,7 @@ Sub Cuestionario
|
||||
sDate=DateTime.Date(DateTime.Now)
|
||||
sTime=DateTime.Time(DateTime.Now)
|
||||
CUANTOS = 0
|
||||
Log($"Tomar_Foto = ${TOMAR_FOTO}"$)
|
||||
' Log($"Tomar_Foto = ${TOMAR_FOTO}"$)
|
||||
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.Position= 0
|
||||
@@ -2266,7 +2266,7 @@ Sub Cuestionario
|
||||
CUANTOS2 = s.GetString("CUANTOS2")
|
||||
If logger Then LogColor($"Hist:encuesta=${CUANTOS}, hist_encuesta2 = ${CUANTOS2}"$, Colors.Magenta)
|
||||
End If
|
||||
Log(CUANTOS & "|" & CUANTOS2)
|
||||
' Log(CUANTOS & "|" & CUANTOS2)
|
||||
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)")
|
||||
If enc.RowCount > 0 Then
|
||||
@@ -4339,7 +4339,7 @@ Private Sub b_inicioFinVenta_Click
|
||||
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, "")
|
||||
Starter.enVenta = True
|
||||
LogColor($">>>>>> INICIA VENTA: ${Starter.enVenta} - ${Subs.traeCliente}"$, Colors.red)
|
||||
' LogColor($">>>>>> INICIA VENTA: ${Starter.enVenta} - ${Subs.traeCliente}"$, Colors.red)
|
||||
End If
|
||||
b_inicioFinVenta.Visible = False
|
||||
End Sub
|
||||
|
||||
@@ -861,11 +861,11 @@ Sub cargar_Click
|
||||
reqManager.ExecuteQuery(cmd , 0, "semanaCalLaboral")
|
||||
|
||||
cmd.Initialize
|
||||
cmd.Name = "traeInfoTradeSpending"
|
||||
cmd.Name = "traeInfoTrendSpending"
|
||||
' cmd.Parameters = Array As Object(e_ruta.text, ALMACEN)
|
||||
cmd.Parameters = Array As Object(238, 2)
|
||||
reqManager.ExecuteQuery(cmd , 0, "tradeSpending")
|
||||
LogColor($"Trade Spending: Ruta: ${e_ruta.text}, almacen: ${ALMACEN}"$, Colors.red)
|
||||
reqManager.ExecuteQuery(cmd , 0, "trendSpending")
|
||||
LogColor($"Trend Spending: Ruta: ${e_ruta.text}, almacen: ${ALMACEN}"$, Colors.red)
|
||||
|
||||
If E_RUTA2.Text <> "" Then
|
||||
cmd.Initialize
|
||||
@@ -2113,9 +2113,9 @@ Sub JobDone(Job As HttpJob)
|
||||
Next
|
||||
End If
|
||||
|
||||
If RESULT.Tag = "tradeSpending" Then 'query tag
|
||||
If RESULT.Tag = "trendSpending" Then 'query tag
|
||||
' Subs.logJobDoneResultados(RESULT)
|
||||
Starter.skmt.ExecNonQuery("delete from HIST_TRADE_SPENDING_SEMANAL")
|
||||
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"))
|
||||
@@ -2133,7 +2133,7 @@ Sub JobDone(Job As HttpJob)
|
||||
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_TRADE_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))
|
||||
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
|
||||
@@ -2341,8 +2341,8 @@ Sub e_ruta_EnterPressed
|
||||
Starter.skmt.ExecNonQuery("delete from CAT_PROMO_MONTO")
|
||||
Starter.skmt.ExecNonQuery("delete from TMP_CAT_BILLETE")
|
||||
Starter.skmt.ExecNonQuery("delete from TMP_CAT_MONEDAS")
|
||||
Starter.skmt.ExecNonQuery("delete from TRADE_SPENDING")
|
||||
Starter.skmt.ExecNonQuery("delete from HIST_TRADE_SPENDING_SEMANAL")
|
||||
Starter.skmt.ExecNonQuery("delete from TREND_SPENDING")
|
||||
Starter.skmt.ExecNonQuery("delete from HIST_TREND_SPENDING_SEMANAL")
|
||||
|
||||
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"))
|
||||
|
||||
@@ -102,6 +102,10 @@ Sub Class_Globals
|
||||
Private l_infoPedido As Label
|
||||
Dim promosC As Promociones
|
||||
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
|
||||
|
||||
'You can add more parameters here.
|
||||
@@ -144,7 +148,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
|
||||
listaProds.Initialize
|
||||
pedidoMap.Initialize
|
||||
listaHints.Initialize
|
||||
Log("Llamamos LlenaProdsLL")
|
||||
If Starter.Logger Then Log("Llamamos LlenaProdsLL")
|
||||
LlenaProdsLL(Null, Null)
|
||||
list_prodsPedido.Initialize
|
||||
' Log("list_prodsPedido.Initialize")
|
||||
@@ -161,7 +165,7 @@ End Sub
|
||||
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
|
||||
|
||||
Sub B4XPage_Appear
|
||||
Log("Entro: " & entro)
|
||||
If Starter.Logger Then Log("Entro: " & entro)
|
||||
' Log($"LIMITE ABORDO: ${limiteAbordo}"$)
|
||||
' clv_prods_ll.Initialize(Me, "clv_prods_ll")
|
||||
' list_prodsPedido.Initialize
|
||||
@@ -280,6 +284,14 @@ Sub B4XPage_Appear
|
||||
End If
|
||||
If B4XPages.MainPage.cliente.la_cuenta.text = "0" Then b_rmi.Visible = False
|
||||
' Log(Starter.tipov)
|
||||
Private mx As Map = Subs.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
|
||||
|
||||
Sub PCLV_AddProds
|
||||
@@ -585,12 +597,29 @@ Sub b_prodMenos_Click
|
||||
End If
|
||||
If laCant.Text = "" Then laCant.Text = 0
|
||||
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 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 tmpMap As Map = CreateMap("precio":precio, "cant":laCant.Text, "almacen":Subs.traeAlmacen)
|
||||
Log(clv_prods_ll.GetValue(index).As(Map))
|
||||
|
||||
' ######## Trend Spending - Poner estas lienas 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
|
||||
' #######################
|
||||
|
||||
If laCant.Text < 0 Then laCant.Text = 0
|
||||
' Log(tmpMap)
|
||||
' prodsMap.Put(id, tmpMap)
|
||||
' If laCant.Text = 0 Then prodsMap.Remove(id)
|
||||
@@ -604,6 +633,7 @@ Sub b_prodMenos_Click
|
||||
nombreX = "CAMBIO"&Subs.traeRMINombre(id)
|
||||
precioX = precioX * -1
|
||||
End If
|
||||
|
||||
Subs.actualizaProducto(almacenX, precioX, laCant.text, nombreX, id, clienteId, Subs.traeFecha, Subs.traeUsuarioDeBD, rutaUsuario, 0, Starter.tipov)
|
||||
cuentaProds
|
||||
If lfila.Text <> "RMI" Then
|
||||
@@ -648,6 +678,33 @@ Sub b_prodMas_Click
|
||||
inv = Subs.traeinventario(pnl.GetView(1).Tag)
|
||||
Log($"Existencias: ${inv}, 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
|
||||
|
||||
'######## Trend Spending
|
||||
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 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
|
||||
@@ -656,11 +713,13 @@ Sub b_prodMas_Click
|
||||
' Log(tmpMap)
|
||||
' Log($"${kh.traeLimiteCredito(Subs.traeCliente)} < ${kh.totalPedido + precio}"$)
|
||||
' Log(kh.traeLimiteCredito(Subs.traeCliente) < (kh.totalPedido + precio))
|
||||
If buttonTag = "vendido" And lfila.Text = "PRODUCTOS" Then
|
||||
|
||||
If 1 = 2 And buttonTag = "vendido" And lfila.Text = "PRODUCTOS" Then
|
||||
Log(1)
|
||||
' Log("VENDIDO")
|
||||
' 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
|
||||
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 (kh.totalPedido - precio > 1) Then
|
||||
Log(2)
|
||||
' Log(clv_prods_ll.GetValue(index).As(Map))
|
||||
clv_prods_ll.GetValue(index).As(Map).Put("almacen", (inv - 1))
|
||||
@@ -673,10 +732,11 @@ Sub b_prodMas_Click
|
||||
Log(3)
|
||||
Log($"#######################${CRLF}#### LIMITE CREDITO SUPERADO${CRLF}#######################"$)
|
||||
ToastMessageShow("LIMITE DE CREDITO SUPERADO", False)
|
||||
' else If laCant.Text + 1 <= inv And lfila.Text = "PRODUCTOS" Then
|
||||
else If inv > 0 And lfila.Text = "PRODUCTOS" Then
|
||||
else If inv > 0 And laBonificacion = 0 And lfila.Text = "PRODUCTOS" Then
|
||||
laCant.Text = NumberFormat2((laCant.Text + 1), 1, 0, 0, False)
|
||||
else If inv > 0 And laBonificacion > 0 And laCant.Text < bonificacionesMaximas And lfila.Text = "PRODUCTOS" Then
|
||||
Log(4)
|
||||
LogColor(inv, Colors.blue)
|
||||
' LogColor(inv, Colors.blue)
|
||||
' laCant.Text = $"$1.0{laCant.Text + 1}"$
|
||||
laCant.Text = NumberFormat2((laCant.Text + 1), 1, 0, 0, False)
|
||||
' Log(kh.totalPedido)
|
||||
@@ -691,16 +751,12 @@ Sub b_prodMas_Click
|
||||
Log(6)
|
||||
laCant.Text = "0"
|
||||
End If
|
||||
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
|
||||
|
||||
If lfila.Text = "RMI" Then
|
||||
almacenX = "DUR"
|
||||
nombreX = "CAMBIO"&Subs.traeRMINombre(id)
|
||||
precioX = precioX * -1
|
||||
End If
|
||||
|
||||
|
||||
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)}"$)
|
||||
@@ -712,7 +768,7 @@ Sub b_prodMas_Click
|
||||
et_pCant_TextChanged(100, 0)
|
||||
End If
|
||||
dispAbordo = kh.traeDisponibleAbordo
|
||||
Log("DISPONIBLE ABORDO: " & dispAbordo)
|
||||
' Log("DISPONIBLE ABORDO: " & dispAbordo)
|
||||
If Subs.traeCliente = 0 And dispAbordo < 1 Then
|
||||
' Log("######### "& NumberFormat2((kh.traeLimiteAbordoWeb - (kh.traeLimiteAbordoXInventario - kh.traeVenta) - kh.traeVentaAbordo), 0, 2, 2, False))
|
||||
Try
|
||||
@@ -817,6 +873,34 @@ Private Sub et_pCant_TextChanged (Old As String, New As String)
|
||||
' Log("#### LIMITE DE CREDITO")
|
||||
End If
|
||||
|
||||
'######## Trend Spending
|
||||
Private laBonificacion As String = kh.traePrecio(id)*(kh.traeDescXSku(clienteId, id)/100)
|
||||
Log("LA BONIFICACION: " & laBonificacion)
|
||||
Private BonsRestantes As String = (TS_BONIFICACIONES(0) - TS_BONIFICACIONES(1) - Subs.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 invTotal > bonificacionesMaximas Then
|
||||
laCant.Text = bonificacionesMaximas
|
||||
Else
|
||||
laCant.Text = invTotal
|
||||
End If
|
||||
End If
|
||||
Else if laBonificacion = 0 Then
|
||||
If laCant.Text > invTotal Or New > invTotal Then
|
||||
' Log("Se pasa!!")
|
||||
' Log($"Ponemos laCant en: ${invTotal}"$)
|
||||
laCant.text = invTotal
|
||||
End If
|
||||
End If
|
||||
|
||||
Subs.modTrendSpending("resta", "bonificaciones", ((New * laBonificacion) - (Old * laBonificacion)))
|
||||
Log(Subs.traeAcumuladoHoyTS("bonificaciones"))
|
||||
'##########################
|
||||
|
||||
|
||||
' 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)
|
||||
' End If
|
||||
@@ -852,6 +936,24 @@ Private Sub et_pCant_FocusChanged (HasFocus As Boolean)
|
||||
Dim pnl As B4XView = pnl0.GetView(0)
|
||||
Dim laCant As B4XView = pnl.GetView(2).GetView(2)
|
||||
Private id As String=clv_prods_ll.GetValue(index).As(Map).Get("id")
|
||||
|
||||
'######## Trend Spending
|
||||
Private laBonificacion As String = kh.traePrecio(id)*(kh.traeDescXSku(clienteId, id)/100)
|
||||
If laBonificacion > 0 And HasFocus 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)
|
||||
' Private maxDispPorBonificaciones As Int = ((BonsRestantes/laBonificacion)+laCant.text).As(Int)
|
||||
' Log($"Max disponibles por bonificaciones: ${maxDispPorBonificaciones}"$)
|
||||
|
||||
' Subs.modTrendSpending("resta", "bonificaciones", ((New * laBonificacion) - (Old * laBonificacion)))
|
||||
Log(Subs.traeAcumuladoHoyTS("bonificaciones"))
|
||||
End If
|
||||
'##########################
|
||||
|
||||
invTotal = laCant.Text + Subs.traeinventario(id)
|
||||
LogColor("InvTotal PRODMAS: " & invTotal, Colors.Red)
|
||||
cuentaProds
|
||||
@@ -1130,6 +1232,14 @@ Private Sub lv_prodsPedido_ItemLongClick (Position As Int, Value As Object)
|
||||
'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")))
|
||||
Log($"BORRAMOS ${Value}, ${m.Get("cedis")}"$)
|
||||
' Codigo para regresar el dinero al resupuesto de BONIFICACIONES (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", "bonificaciones", (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")))
|
||||
End If
|
||||
prod.Close
|
||||
@@ -1339,7 +1449,7 @@ Sub Busca_TextChanged (Old As String, New As String)
|
||||
End Sub
|
||||
|
||||
Sub LlenaProdsLL(p As ResultSet, extra As String)
|
||||
Log("LlenaProdsLL")
|
||||
If Starter.Logger Then Log("LlenaProdsLL")
|
||||
listaProds.Initialize
|
||||
hayPedido = Subs.hayPedido
|
||||
' Log($"HAYPEDIDO: ${hayPedido}"$)
|
||||
@@ -1366,7 +1476,7 @@ Sub LlenaProdsLL(p As ResultSet, extra As String)
|
||||
Else
|
||||
' 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' and CAT_GP_PROMOCION <> '1' ORDER BY CAT_GP_TIPOPROD2 DESC, CAT_GP_NOMBRE"$)
|
||||
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"$)
|
||||
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))
|
||||
End If
|
||||
|
||||
|
||||
@@ -907,7 +907,7 @@ Version=12.8
|
||||
#Region Project Attributes
|
||||
#ApplicationLabel: Kelloggs Venta
|
||||
#VersionCode: 3000
|
||||
#VersionName: 5.04.17
|
||||
#VersionName: 5.04.21
|
||||
#SupportedOrientations: portrait
|
||||
#CanInstallToExternalStorage: False
|
||||
#BridgeLogger:true
|
||||
|
||||
@@ -64,7 +64,7 @@ ModuleClosedNodes0=
|
||||
ModuleClosedNodes1=
|
||||
ModuleClosedNodes10=
|
||||
ModuleClosedNodes11=
|
||||
ModuleClosedNodes12=5,7,8,9
|
||||
ModuleClosedNodes12=3,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41
|
||||
ModuleClosedNodes13=
|
||||
ModuleClosedNodes14=
|
||||
ModuleClosedNodes15=
|
||||
@@ -76,7 +76,7 @@ ModuleClosedNodes2=
|
||||
ModuleClosedNodes20=
|
||||
ModuleClosedNodes21=
|
||||
ModuleClosedNodes22=
|
||||
ModuleClosedNodes23=1,4,5,6,7,8,11,12,14,15,17,18,21,22,24,25,26,27,28,29,30,31,32,33,35
|
||||
ModuleClosedNodes23=4,5,6,7,8,11,12,14,15,17,18,21,22,24,25,26,27,28,29,30,31,32,33,35
|
||||
ModuleClosedNodes24=
|
||||
ModuleClosedNodes25=4
|
||||
ModuleClosedNodes26=
|
||||
@@ -91,6 +91,6 @@ ModuleClosedNodes6=
|
||||
ModuleClosedNodes7=
|
||||
ModuleClosedNodes8=
|
||||
ModuleClosedNodes9=
|
||||
NavigationStack=Main,Process_Globals,28,0,B4XMainPage,JobDone,509,0,Subs,comparaVersiones,2021,6,Subs,comparaVersionesOriginal,2011,0,Subs,borraLogDB,321,0,Subs,revisaPushService,431,0,Subs,borraArribaDe100Errores,439,0,B4XMainPage,B4XPage_Created,130,0,B4XMainPage,CreateRequest,938,0,B4XMainPage,B_MACIMP_Click,709,0,C_Productos,b_prodMas_Click,677,1
|
||||
NavigationStack=Subs,modTrendSpending,2124,4,Subs,traeAcumuladoHoyTS,2150,2,C_Principal,Class_Globals,6,0,Subs,borraPedidoClienteActual,1505,6,Subs,Process_Globals,14,0,Subs,actualizaProducto,983,0,C_Productos,et_pCant_FocusChanged,938,6,C_Productos,et_pCant_TextChanged,893,6,C_Productos,b_prodMenos_Click,619,6,C_Productos,b_prodMas_Click,675,6
|
||||
SelectedBuild=0
|
||||
VisibleModules=1,28,11,3,29,12,7,9
|
||||
VisibleModules=1,28,11,3,29,12,7,9,23
|
||||
|
||||
@@ -57,6 +57,7 @@ Sub Process_Globals
|
||||
Dim errorConnDBReq As Boolean = False
|
||||
Dim GUID As String = ""
|
||||
Dim passSupervisor As String = "13X#X$X46" ' Valor predeterminado DIFERENTE a ""
|
||||
dim semana as int = 0
|
||||
End Sub
|
||||
|
||||
Sub Service_Create
|
||||
@@ -209,7 +210,7 @@ Sub ENVIA_ULTIMA_GPS
|
||||
End Sub
|
||||
|
||||
Sub JobDone(Job As HttpJob)
|
||||
Log("JOBDONE STARTER")
|
||||
If Logger Then Log("JOBDONE STARTER")
|
||||
If Job.Success = False Then
|
||||
' ToastMessageShow("Error: " & Job.ErrorMessage, True)
|
||||
Else
|
||||
|
||||
131
B4A/Subs.bas
131
B4A/Subs.bas
@@ -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)
|
||||
precioSin = NumberFormat2(precioSin, 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"
|
||||
' 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}'"$)
|
||||
@@ -970,7 +970,7 @@ Sub actualizaProducto(cedis As String, costoU As String, cant As String, nombre
|
||||
Private antCant As Int = 0
|
||||
If IsNumber(c.GetInt("PE_CANT")) Then antCant=c.GetInt("PE_CANT")
|
||||
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 cant = 0 Then
|
||||
LogColor($"BORRAMOS PRODUCTO - ${prodId}"$, Colors.Red)
|
||||
@@ -1509,6 +1509,13 @@ Sub borraPedidoClienteActual As String
|
||||
thisC.Position=i
|
||||
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")))
|
||||
'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
|
||||
' 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
|
||||
@@ -1519,6 +1526,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)")
|
||||
Log("###### delete from pedido_cliente - " & traeCliente)
|
||||
Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
|
||||
|
||||
|
||||
|
||||
Return 1
|
||||
End Sub
|
||||
|
||||
@@ -1708,11 +1718,11 @@ End Sub
|
||||
'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 )
|
||||
Log(motivonovisita)
|
||||
Log("bitacora")
|
||||
If Starter.Logger Then Log("bitacora")
|
||||
Private cmd As DBCommand
|
||||
cmd.Initialize
|
||||
cmd.Name = "mandaBitacora3"
|
||||
Log("BITACORA3")
|
||||
If Starter.Logger Then Log("BITACORA3")
|
||||
Private nombreCliente As String = traeNombreCliente(clienteb)
|
||||
If eventob = "Llega a almacen" Then
|
||||
nombreCliente = "BOLETA"
|
||||
@@ -1759,7 +1769,7 @@ Sub bitacora(fechab As String, usuariob As String, almacenb As String, rutab As
|
||||
Starter.reqManager.ExecuteCommand(cmd , "mandaBitacora")
|
||||
End If
|
||||
End If
|
||||
Log("Mandamos bitacora")
|
||||
If Starter.Logger Then Log("Mandamos bitacora")
|
||||
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
|
||||
@@ -2046,3 +2056,114 @@ Sub comparaVersiones(versionMinima As String, versionActual As String) As Int
|
||||
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 = "resta" Then
|
||||
If c.RowCount > 0 Then
|
||||
c.Position = 0
|
||||
If tipo.ToUpperCase = "BONIFICACIONES" 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
|
||||
else if accion = "suma" Then
|
||||
If c.RowCount > 0 Then
|
||||
c.Position = 0
|
||||
If tipo.ToUpperCase = "BONIFICACIONES" 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: " & 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
|
||||
@@ -189,7 +189,7 @@ Public Sub StopFLP
|
||||
End Sub
|
||||
|
||||
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
|
||||
' If logger Then Log("SmallestDisplacement="&actualLR.GetSmallestDisplacement)
|
||||
' CallSub2(Starter, "GPS_LocationChanged", Location1)
|
||||
|
||||
@@ -1300,4 +1300,16 @@ Sub motivoNoVisitaActivo As Boolean
|
||||
If nv.GetString("valor") = "1" Then rnv = True
|
||||
End If
|
||||
Return rnv
|
||||
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
|
||||
Reference in New Issue
Block a user