-VERSION 5.07.05

- Se quito en duro la ruta y almacen para el trendSpending (r:238, almacen:2)
This commit is contained in:
2025-07-05 14:36:35 -06:00
parent 32ba186a60
commit 672953f0b4
5 changed files with 24 additions and 21 deletions

View File

@@ -217,6 +217,7 @@ Sub Class_Globals
Private l_descripcion As Label Private l_descripcion As Label
Type TCuantos (query As String, esperados As Int, guardados As Int) Type TCuantos (query As String, esperados As Int, guardados As Int)
Dim validaCuantos As TCuantos Dim validaCuantos As TCuantos
Dim ts As C_TrendSpending
End Sub End Sub
'You can add more parameters here. 'You can add more parameters here.
@@ -933,7 +934,7 @@ Sub cargar_Click
cmd.Name = "select_promo_monto_KELL" cmd.Name = "select_promo_monto_KELL"
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.Initialize
cmd.Name = "traeNumSemanaActualCalendarioLaboral" cmd.Name = "traeNumSemanaActualCalendarioLaboral"
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 )
@@ -942,10 +943,10 @@ Sub cargar_Click
cmd.Initialize cmd.Initialize
cmd.Name = "traeInfoTrendSpending" cmd.Name = "traeInfoTrendSpending"
' cmd.Parameters = Array As Object(e_ruta.text, ALMACEN) ' cmd.Parameters = Array As Object(e_ruta.text, ALMACEN)
cmd.Parameters = Array As Object(238, 2) cmd.Parameters = Array As Object(e_ruta.text, ALMACEN)
reqManager.ExecuteQuery(cmd , 0, "trendSpending") reqManager.ExecuteQuery(cmd , 0, "trendSpending")
LogColor($"Trend Spending: Ruta: ${e_ruta.text}, almacen: ${ALMACEN}"$, Colors.red) 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"
@@ -2084,6 +2085,7 @@ Sub JobDone(Job As HttpJob)
Dim HIST_TSS_GRUPO As String = records(RESULT.COLUMNS.GET("HIST_TSS_GRUPO")) 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)) 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 Next
ts.Initialize(Me, "ts", Starter.skmt)
End If End If
End If End If
End If End If

View File

@@ -240,7 +240,7 @@ Sub B4XPage_Appear
' Log(Starter.tipov) ' Log(Starter.tipov)
c = Starter.skmt.ExecQuery("select count(*) as hayPromos from promos_comp") c = Starter.skmt.ExecQuery("select count(*) as hayPromos from promos_comp")
c.Position = 0 c.Position = 0
' Log(Subs.revisaImpresa) Log("revisaImpresa: " & Subs.revisaImpresa)
If c.GetInt("hayPromos") > 0 And Subs.traeCliente <> 0 And Subs.revisaImpresa = False Then If c.GetInt("hayPromos") > 0 And Subs.traeCliente <> 0 And Subs.revisaImpresa = False Then
lv_catalogos.AddSingleLine("PROMOS") lv_catalogos.AddSingleLine("PROMOS")
End If End If

View File

@@ -97,6 +97,6 @@ ModuleClosedNodes6=
ModuleClosedNodes7= ModuleClosedNodes7=
ModuleClosedNodes8= ModuleClosedNodes8=
ModuleClosedNodes9= ModuleClosedNodes9=
NavigationStack=kms_helperSubs,RD_Init,69,0,C_Cliente,Imprime_ticket,1573,0,C_Cliente,Guardar_Click,1018,0,kms_helperSubs,RD_respaldoBatch,545,0,kms_helperSubs,RD_respalda_cat_gunaprod2,256,0,kms_helperSubs,RD_restaura_cat_gunaprod2,307,0,kms_helperSubs,RD_respalda_cat_detalle_paq,323,6,kms_helperSubs,TraeVentaSinImprimir,910,0,kms_helperSubs,RD_respalda_cat_rmi,503,0,kms_helperSubs,revisaSiExisteRespaldo,105,0,B4XMainPage,B4XPage_Appear,462,6 NavigationStack=C_Promos,Initialize,45,0,C_Promos,Class_Globals,41,0,C_Productos,Class_Globals,5,0,C_Principal,cargar_Click,941,0,C_TrendSpending,Class_Globals,18,0,C_Principal,B4XPage_Appear,318,2,C_Principal,JobDone,2081,0,C_Principal,Class_Globals,213,0,C_Principal,Initialize,217,0,C_TrendSpending,Initialize,32,6
SelectedBuild=0 SelectedBuild=0
VisibleModules=1,30,19,11,3,31,12,28,16,18,25 VisibleModules=1,30,11,19,15,3,31,12,28,16,18,13

View File

@@ -1004,7 +1004,7 @@ End Sub
' resultado="OK" 'Ok si existe la promocion. ' resultado="OK" 'Ok si existe la promocion.
' prodsVariablesRequeridos=5} 'Cantidad de productos variables requeridos para la promoción. ' prodsVariablesRequeridos=5} 'Cantidad de productos variables requeridos para la promoción.
Sub traePromo(promo As String, cliente As String) As Map Sub traePromo(promo As String, cliente As String) As Map
Private thisLog As Boolean = False Private thisLog As Boolean = True
If thisLog Then Log("traePromo:"&promo) If thisLog Then Log("traePromo:"&promo)
Private inicioContador As String = DateTime.Now Private inicioContador As String = DateTime.Now
Private c As Cursor = Starter.skmt.ExecQuery("Select * from promos_comp where cat_pa_id = '"& promo&"'") 'Obtenemos las el maximo de promocioones a otorgar. Private c As Cursor = Starter.skmt.ExecQuery("Select * from promos_comp where cat_pa_id = '"& promo&"'") 'Obtenemos las el maximo de promocioones a otorgar.
@@ -1338,10 +1338,10 @@ 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"))) 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) 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"))) 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.

View File

@@ -29,14 +29,14 @@ Public Sub Initialize (vCallback As Object, vEventName As String, db As SQL) As
CallBack = vCallback CallBack = vCallback
tsdb = db tsdb = db
Private mx As Map = traeInfoTrendSpending Private mx As Map = traeInfoTrendSpending
Log(mx) ' LogColor(mx, Colors.red)
TS_RMI = Regex.Split(",", mx.Get("RMI")) TS_RMI = Regex.Split(",", mx.Get("RMI"))
TS_DESCUENTOS = Regex.Split(",", mx.Get("DESCUENTOS")) TS_DESCUENTOS = Regex.Split(",", mx.Get("DESCUENTOS"))
TS_BONIFICACIONES = Regex.Split(",", mx.Get("BONIFICACIONES")) TS_BONIFICACIONES = Regex.Split(",", mx.Get("BONIFICACIONES"))
Log(">>>>>>>>>>>>> TRENDSPENDING: " & mx) LogColor(">>>>>>>>>>>>> TRENDSPENDING: " & mx, Colors.red)
Log("RMI: " & TS_RMI(0) & "|" & TS_RMI(1)) LogColor("RMI: " & TS_RMI(0) & "|" & TS_RMI(1), Colors.red)
Log("DESCUENTOS: " & TS_DESCUENTOS(0) & "|" & TS_DESCUENTOS(1)) LogColor("DESCUENTOS: " & TS_DESCUENTOS(0) & "|" & TS_DESCUENTOS(1), Colors.red)
Log("BONIFICACIONES: " & TS_BONIFICACIONES(0) & "|" & TS_BONIFICACIONES(1)) LogColor("BONIFICACIONES: " & TS_BONIFICACIONES(0) & "|" & TS_BONIFICACIONES(1), Colors.red)
Return Me Return Me
End Sub End Sub
@@ -321,16 +321,17 @@ Sub traeBonificacionesMaximas(tipo As String, clienteId As String, id As String,
Private tsMaximas As Int = 100000 Private tsMaximas As Int = 100000
Private tsRestantes As String = 0 Private tsRestantes As String = 0
Private tsMonto As String Private tsMonto As String
LogColor($"${TS_BONIFICACIONES(0)} - ${TS_BONIFICACIONES(1)} - ${traeAcumuladoHoyTS("bonificaciones")}"$, Colors.Red)
If tipo.ToUpperCase = "BONIFICACIONES" Then If tipo.ToUpperCase = "BONIFICACIONES" Then
tsMonto = NumberFormat2(traeMontoBonificacion(id, promoId), 1, 2, 2, False) 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. tsRestantes = (TS_BONIFICACIONES(0) - TS_BONIFICACIONES(1) - traeAcumuladoHoyTS("bonificaciones")) ' Traemos monto restante de Trend Spending para bonificaciones.
End If End If
' Log($"tsMonto: ${tsMonto}"$) Log($"tsMonto: ${tsMonto}"$)
' Log($"tsRestantes: ${tsRestantes}"$) Log($"tsRestantes: ${tsRestantes}"$)
' Log($"laCant: ${laCant}"$) Log($"laCant: ${laCant}"$)
If tsMonto > 0 Then If tsMonto > 0 Then
tsMaximas = Floor(tsRestantes / (tsMonto * laCant)) tsMaximas = Floor(tsRestantes / (tsMonto * laCant))
' Log(">>> tsMaximas: " & tsMaximas) Log(">>> tsMaximas: " & tsMaximas)
End If End If
Return tsMaximas Return tsMaximas
End Sub End Sub
@@ -363,7 +364,7 @@ End Sub
' se agoto el presupuesto. ' se agoto el presupuesto.
' Aunque si hay suficiente para mostrar algunas promos ... pues que si las muestre. ' Aunque si hay suficiente para mostrar algunas promos ... pues que si las muestre.
Sub maxPromosPorProdsVariables(idProdsVariables As List, promo As String)As Int Sub maxPromosPorProdsVariables(idProdsVariables As List, promo As String)As Int
Private logger As Boolean = False Private logger As Boolean = True
Private Maxs As Int = 100000 Private Maxs As Int = 100000
Private prodsVariablesXPresupuestoBonificaciones As List Private prodsVariablesXPresupuestoBonificaciones As List
Private prodsVariablesRequeridos As Int = traeProdsVariablesRequeridos(promo) Private prodsVariablesRequeridos As Int = traeProdsVariablesRequeridos(promo)
@@ -375,7 +376,7 @@ Sub maxPromosPorProdsVariables(idProdsVariables As List, promo As String)As Int
If logger Then Log(">> Monto Bonificacion: " & traeMontoBonificacion(idProdsVariables.Get(i), promo)) If logger Then Log(">> Monto Bonificacion: " & traeMontoBonificacion(idProdsVariables.Get(i), promo))
Private maxProds As Int = traeBonificacionesMaximas("bonificaciones", traeCliente, idProdsVariables.Get(i), prodsVariablesRequeridos, promo) Private maxProds As Int = traeBonificacionesMaximas("bonificaciones", traeCliente, idProdsVariables.Get(i), prodsVariablesRequeridos, promo)
prodsVariablesXPresupuestoBonificaciones.Add(maxProds) prodsVariablesXPresupuestoBonificaciones.Add(maxProds)
if logger then LogColor(">> Max prods x Bonificaciones: " & maxProds, Colors.blue) If logger Then LogColor(">> Max prods x Bonificaciones: " & maxProds, Colors.blue)
Next Next
prodsVariablesXPresupuestoBonificaciones.Sort(True) prodsVariablesXPresupuestoBonificaciones.Sort(True)
If prodsVariablesXPresupuestoBonificaciones.Size > 0 Then If prodsVariablesXPresupuestoBonificaciones.Size > 0 Then