7/9/20 - Promos, prods fijos y variables

Corrige el error de que, si el producto fijo en una promo también esta en los variables, el variable tomaba el precio del fijo.
This commit is contained in:
2023-09-07 21:04:40 -06:00
parent 485ad9abf4
commit 86e50323b2
3 changed files with 12 additions and 4 deletions

View File

@@ -828,12 +828,13 @@ Sub traePromo(promo As String, cliente As String) As Map
Private c As Cursor = B4XPages.MainPage.skmt.ExecQuery("Select * from promos_comp where cat_pa_id = '"& promo&"'") 'Obtenemos las el maximo de promocioones a otorgar.
Private siHistorico As String = 0
Private promoMap As Map
Private prodsFijos, prodsFijosPrecios, prodsFijosPiezas, prodsVariables As List
Private prodsFijos, prodsFijosPrecios, prodsFijosPiezas, prodsVariables, prodsVariablesPrecios As List
promoMap.Initialize
prodsFijos.Initialize
prodsFijosPrecios.Initialize
prodsFijosPiezas.Initialize
prodsVariables.Initialize
prodsVariablesPrecios.Initialize
c.Position = 0
If c.RowCount > 0 Then promoMap = CreateMap("id":promo, "maxXcliente":c.GetString("CAT_PA_MAXPROMCLIE"), "maxRecurrente":c.GetString("CAT_PA_MAXPROMREC"), "maxPromos":c.GetString("CAT_PA_MAXPROM"))
c = B4XPages.MainPage.skmt.ExecQuery("Select count(*) as hist from HIST_PROMOS where HP_CLIENTE = '"& cliente & "' and HP_CODIGO_PROMOCION = '" & promo & "'") 'Revisamos si hay historico de la promoción.
@@ -855,7 +856,10 @@ Sub traePromo(promo As String, cliente As String) As Map
prodsFijosPrecios.Add(c.GetString("CAT_DP_PRECIO"))
prodsFijosPiezas.Add(c.GetString("CAT_DP_PZAS"))
End If
If c.GetString("CAT_DP_TIPO") = "1" Then prodsVariables.Add(c.GetString("CAT_DP_IDPROD"))
If c.GetString("CAT_DP_TIPO") = "1" Then
prodsVariables.Add(c.GetString("CAT_DP_IDPROD"))
prodsVariablesPrecios.Add(c.GetString("CAT_DP_PRECIO"))
End If
' Log($"id:${c.GetString("CAT_DP_IDPROD")}, tipo:${c.GetString("CAT_DP_TIPO")}"$)
Next
promoMap.Put("productos", prods) 'Mapa con los productos de la promocion (id, precio, almacen, tipo, piezas, etc.)
@@ -866,6 +870,7 @@ Sub traePromo(promo As String, cliente As String) As Map
promoMap.Put("prodsFijosPrecios", prodsFijosPrecios)
promoMap.Put("prodsFijosPiezas", prodsFijosPiezas)
promoMap.Put("prodsVariablesCant", prodsVariables.Size)
promoMap.Put("prodsVariablesPrecios", prodsVariablesPrecios)
promoMap.Put("resultado", "ok")
Else
promoMap.Put("resultado", "No hay datos de la promoción.")