Archived
0

fix profit compute on add order to route

This commit is contained in:
iMoHax
2016-03-17 14:04:31 +03:00
parent 0c79d3b56b
commit d2af798de3

View File

@@ -92,14 +92,20 @@ public class RouteEntry {
void add(Order order){ void add(Order order){
orders.add(fixedWrap(order)); orders.add(fixedWrap(order));
profit += order.getProfit();
} }
void remove(Order order){ void remove(Order order){
orders.removeIf(o -> o.fixed && o.equals(order)); if (orders.removeIf(o -> o.fixed && o.equals(order))){
profit -= order.getProfit();
}
} }
void clear(){ void clear(){
orders.removeIf(o -> o.fixed); double p = orders.stream().filter(o -> o.fixed).mapToDouble(Order::getProfit).sum();
if (orders.removeIf(o -> o.fixed)){
profit -= p;
}
} }
void addAll(Collection<Order> orders){ void addAll(Collection<Order> orders){
@@ -111,7 +117,7 @@ public class RouteEntry {
} }
void removeOrder(Order order){ void removeOrder(Order order){
if (order instanceof OrderWrapper) { if (order instanceof OrderWrapper) {
orders.remove(order); orders.remove(order);
} else { } else {
orders.removeIf(order::equals); orders.removeIf(order::equals);