Afhankelijk van het aantal transacties kan een klant korting krijgen op een bepaalde formule.
Deze regels worden vastgelegd per product en uitgedrukt in ranges. De ranges moet elk op elkaar volgen
en de laatste range moet tot oneindig gaan.
vb:
Als deze door een reseller sequentieel worden ingegeven is er geen probleem.
* Maar stel dat er nu nog een range tussen moet komen. vb:
Dan moeten al de andere ranges herberekend en geupdate worden:
* Of indien range 1 en 2 weer verwijderd worden, moet ook weer alles herberekend worden tot:
* Ook indien er een range geupdate wordt, vb: range1 -> 0-500:
Op welke manier kan dit, zonder omslachtig te wezen, het beste verwezenlijkt worden?
Eén manier is om iedere keer alle ranges te gaan ophalen, te bepalen waar de nieuwe tussen hoort te komen, en op deze manier de rest up te daten.. Maar zo moeten telkens alle ranges weer opgehaald worden.
Is er misschien een bepaald algoritme dat ik voor dit probleem kan gebruiken?
De tabel ziet er als volgt uit:
RANGE
------------
RangeId
From
To
Percentage
Deze regels worden vastgelegd per product en uitgedrukt in ranges. De ranges moet elk op elkaar volgen
en de laatste range moet tot oneindig gaan.
vb:
FROM TO PERCENTAGE ---- -- ---------- 0 - 1000 - 2% 1000 - 5000 - 3% 5000 - ~ - 5%
Als deze door een reseller sequentieel worden ingegeven is er geen probleem.
* Maar stel dat er nu nog een range tussen moet komen. vb:
FROM TO PERCENTAGE ---- -- ---------- 3000 - 5000 - 4%
Dan moeten al de andere ranges herberekend en geupdate worden:
FROM TO PERCENTAGE ---- -- ---------- 0 - 1000 - 2% 1000 - 3000 - 3% 3000 - 5000 - 4% 5000 - ~ - 5%
* Of indien range 1 en 2 weer verwijderd worden, moet ook weer alles herberekend worden tot:
FROM TO PERCENTAGE ---- -- ---------- 0 - 5000 - 4% 5000 - ~ - 5%
* Ook indien er een range geupdate wordt, vb: range1 -> 0-500:
FROM TO PERCENTAGE ---- -- ---------- 0 - 500 - 4% 500 - ~ - 5%
Op welke manier kan dit, zonder omslachtig te wezen, het beste verwezenlijkt worden?
Eén manier is om iedere keer alle ranges te gaan ophalen, te bepalen waar de nieuwe tussen hoort te komen, en op deze manier de rest up te daten.. Maar zo moeten telkens alle ranges weer opgehaald worden.
Is er misschien een bepaald algoritme dat ik voor dit probleem kan gebruiken?
De tabel ziet er als volgt uit:
RANGE
------------
RangeId
From
To
Percentage