- Se corrigio cpdigo de promos.

This commit is contained in:
2024-05-08 12:32:01 -06:00
parent e2381281e5
commit b07a2c411b
5 changed files with 48 additions and 10 deletions

View File

@@ -905,7 +905,7 @@ End Sub
Sub restaFijosPromo(promoMap As Map) As Map 'ignore
Private thisLog As Boolean = True 'Si es verdadero, muestra los logs de este sub.
Private inventariosDisponiblesParaEstaPromo As Map = traemosInventarioDisponibleParaPromo(promoMap.Get("id")) 'Obtenemos un mapa con el inventario disponible para cada producto de la promocion desde la base de datos.
If thisLog Then LogColor(inventariosDisponiblesParaEstaPromo, Colors.red)
If thisLog Then LogColor("InvDisponible: " & inventariosDisponiblesParaEstaPromo, Colors.red)
If thisLog Then LogColor("Inventario inicial antes de FIJOS: "&inventariosDisponiblesParaEstaPromo, Colors.Gray) 'Inventario inicial.
inventariosDisponiblesParaEstaPromo.Put("resultado", "ko")
Private i As Int
@@ -944,13 +944,16 @@ Sub alcanzanLosVariablesParaPromo(promoMap As Map, inventarioSinFijos As Map) As
Private totalProdsVariables As Int = 0
Private totalProdsVariables2 As Int = 0
' Private prodsmap As Map = promoMap.Get("productos") 'Obtenemos un mapa con todos los productos de la promoción.
Private prodsVariables As List = promoMap.get("prodsVariables") 'Obtenemos un a lista con los productos variables de la promoción.
Private prodsVariables As List = promoMap.get("prodsVariables") 'Obtenemos una lista con los productos variables de la promoción.
Private prodsVariables2 As List = promoMap.get("prodsVariables2")
For p = 0 To prodsVariables.Size - 1
Private t As String = prodsVariables.Get(p) 'Obtenemos el Id de este producto desde la lista de productos fijos.
' Log("inventarioSinFijos: " & inventarioSinFijos)
If inventarioSinFijos.ContainsKey(t) Then 'Si existe el producto en la lista del inventario, entonces ...
Private p2 As String = inventarioSinFijos.Get(t) 'Obtenemos el inventario disponible este producto.
' Log(p2)
totalProdsVariables = totalProdsVariables + p2
' Log(totalProdsVariables)
If thisLog Then Log($"prod ${t}, hay: ${p2}"$) 'Producto y piezas requeridas
End If
Next
@@ -965,11 +968,26 @@ Sub alcanzanLosVariablesParaPromo(promoMap As Map, inventarioSinFijos As Map) As
If thisLog Then Log("Total prods variables=" & totalProdsVariables & ", requeridos=" & promoMap.Get("prodsVariablesRequeridos"))
If thisLog Then Log("Total prods variables2=" & totalProdsVariables2 & ", requeridos2=" & promoMap.Get("prodsVariables2Requeridos"))
Private res As Boolean = False
Private res1 As Boolean = False
Private res2 As Boolean = False
' Log($"${totalProdsVariables} >= ${promoMap.Get("prodsVariablesRequeridos")}"$)
' Log($"${totalProdsVariables2} >= ${promoMap.Get("prodsVariables2Requeridos")}"$)
If totalProdsVariables >= promoMap.Get("prodsVariablesRequeridos") Then res = True 'Si el total de inventario de productos variables (totalProdsVariables) es mayor o igual a los productos requeridos entonces regresamos TRUE
If totalProdsVariables2 >= promoMap.Get("prodsVariables2Requeridos") Then res = True 'Si el total de inventario de productos variables (totalProdsVariables) es mayor o igual a los productos requeridos entonces regresamos TRUE
If totalProdsVariables > 0 And totalProdsVariables >= promoMap.Get("prodsVariablesRequeridos") Then
res1 = True 'Si el total de inventario de productos variables (totalProdsVariables) es mayor o igual a los productos requeridos entonces regresamos TRUE
End If
If promoMap.Get("prodsVariablesRequeridos").As (Int) = 0 Then res1 = True
If totalProdsVariables2 > 0 And totalProdsVariables2 >= promoMap.Get("prodsVariables2Requeridos") Then
res2 = True 'Si el total de inventario de productos variables (totalProdsVariables) es mayor o igual a los productos requeridos entonces regresamos TRUE
End If
If promoMap.Get("prodsVariables2Requeridos").As(Int) = 0 Then res2 = True
If res1 And res2 Then 'Solo si son verdadero los dos el resultado es verdadero.
res = True
Else
res = False
End If
' Log(res)
Return res
End Sub