From 672953f0b4c13f3ddac74b790e5f012016ee60e3 Mon Sep 17 00:00:00 2001 From: Jose Alberto Guerra Ugalde Date: Sat, 5 Jul 2025 14:36:35 -0600 Subject: [PATCH] -VERSION 5.07.05 - Se quito en duro la ruta y almacen para el trendSpending (r:238, almacen:2) --- B4A/C_Principal.bas | 8 +++++--- B4A/C_Productos.bas | 2 +- B4A/KelloggsV4.b4a.meta | 4 ++-- B4A/Subs.bas | 8 ++++---- C_TrendSpending.bas | 23 ++++++++++++----------- 5 files changed, 24 insertions(+), 21 deletions(-) diff --git a/B4A/C_Principal.bas b/B4A/C_Principal.bas index 7909a08..9f8cf56 100644 --- a/B4A/C_Principal.bas +++ b/B4A/C_Principal.bas @@ -217,6 +217,7 @@ Sub Class_Globals Private l_descripcion As Label Type TCuantos (query As String, esperados As Int, guardados As Int) Dim validaCuantos As TCuantos + Dim ts As C_TrendSpending End Sub 'You can add more parameters here. @@ -933,7 +934,7 @@ Sub cargar_Click cmd.Name = "select_promo_monto_KELL" cmd.Parameters = Array As Object(e_ruta.text, ALMACEN) 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 ) @@ -942,10 +943,10 @@ Sub cargar_Click cmd.Initialize cmd.Name = "traeInfoTrendSpending" ' 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") LogColor($"Trend Spending: Ruta: ${e_ruta.text}, almacen: ${ALMACEN}"$, Colors.red) - + If E_RUTA2.Text <> "" Then cmd.Initialize 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")) 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 + ts.Initialize(Me, "ts", Starter.skmt) End If End If End If diff --git a/B4A/C_Productos.bas b/B4A/C_Productos.bas index 7728bfc..cbf023c 100644 --- a/B4A/C_Productos.bas +++ b/B4A/C_Productos.bas @@ -240,7 +240,7 @@ Sub B4XPage_Appear ' Log(Starter.tipov) c = Starter.skmt.ExecQuery("select count(*) as hayPromos from promos_comp") c.Position = 0 -' Log(Subs.revisaImpresa) + Log("revisaImpresa: " & Subs.revisaImpresa) If c.GetInt("hayPromos") > 0 And Subs.traeCliente <> 0 And Subs.revisaImpresa = False Then lv_catalogos.AddSingleLine("PROMOS") End If diff --git a/B4A/KelloggsV4.b4a.meta b/B4A/KelloggsV4.b4a.meta index 4f78d0d..8198127 100644 --- a/B4A/KelloggsV4.b4a.meta +++ b/B4A/KelloggsV4.b4a.meta @@ -97,6 +97,6 @@ ModuleClosedNodes6= ModuleClosedNodes7= ModuleClosedNodes8= 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 -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 diff --git a/B4A/Subs.bas b/B4A/Subs.bas index 117a277..f0815d8 100644 --- a/B4A/Subs.bas +++ b/B4A/Subs.bas @@ -1004,7 +1004,7 @@ End Sub ' resultado="OK" 'Ok si existe la promocion. ' prodsVariablesRequeridos=5} 'Cantidad de productos variables requeridos para la promoción. 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) 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. @@ -1338,10 +1338,10 @@ Sub revisaMaxPromosProdsFijosPorInventario(pm As Map) As Int Private thisInvDisp As Int = 0 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)}"$) -' 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) + 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. If thisLog Then Log(x(0)) t.Add(x(0).As(Int)) 'Solo guardamos la parte del entero de la division. diff --git a/C_TrendSpending.bas b/C_TrendSpending.bas index d38dcd5..1f0f4c4 100644 --- a/C_TrendSpending.bas +++ b/C_TrendSpending.bas @@ -29,14 +29,14 @@ Public Sub Initialize (vCallback As Object, vEventName As String, db As SQL) As CallBack = vCallback tsdb = db Private mx As Map = traeInfoTrendSpending - Log(mx) +' LogColor(mx, Colors.red) 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)) + LogColor(">>>>>>>>>>>>> TRENDSPENDING: " & mx, Colors.red) + LogColor("RMI: " & TS_RMI(0) & "|" & TS_RMI(1), Colors.red) + LogColor("DESCUENTOS: " & TS_DESCUENTOS(0) & "|" & TS_DESCUENTOS(1), Colors.red) + LogColor("BONIFICACIONES: " & TS_BONIFICACIONES(0) & "|" & TS_BONIFICACIONES(1), Colors.red) Return Me End Sub @@ -321,16 +321,17 @@ Sub traeBonificacionesMaximas(tipo As String, clienteId As String, id As String, Private tsMaximas As Int = 100000 Private tsRestantes As String = 0 Private tsMonto As String + LogColor($"${TS_BONIFICACIONES(0)} - ${TS_BONIFICACIONES(1)} - ${traeAcumuladoHoyTS("bonificaciones")}"$, Colors.Red) 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}"$) + Log($"tsMonto: ${tsMonto}"$) + Log($"tsRestantes: ${tsRestantes}"$) + Log($"laCant: ${laCant}"$) If tsMonto > 0 Then tsMaximas = Floor(tsRestantes / (tsMonto * laCant)) -' Log(">>> tsMaximas: " & tsMaximas) + Log(">>> tsMaximas: " & tsMaximas) End If Return tsMaximas End Sub @@ -363,7 +364,7 @@ End Sub ' 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 logger As Boolean = True Private Maxs As Int = 100000 Private prodsVariablesXPresupuestoBonificaciones As List 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)) 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) + If logger Then LogColor(">> Max prods x Bonificaciones: " & maxProds, Colors.blue) Next prodsVariablesXPresupuestoBonificaciones.Sort(True) If prodsVariablesXPresupuestoBonificaciones.Size > 0 Then