Archived
0

remove routes from search if don't can reserve cargo

This commit is contained in:
iMoHax
2016-03-23 11:14:51 +03:00
parent 08850417be
commit 828dcf84b0
4 changed files with 50 additions and 23 deletions

View File

@@ -8,6 +8,8 @@ import ru.trader.view.support.autocomplete.AutoCompletion;
import ru.trader.view.support.autocomplete.CachedSuggestionProvider;
import ru.trader.view.support.autocomplete.SystemsProvider;
import java.util.Collection;
import java.util.Iterator;
import java.util.Optional;
public class RouteSearchController {
@@ -104,11 +106,16 @@ public class RouteSearchController {
specificator.setFullScan(cbFullScan.isSelected());
missionsList.getItems().forEach(m -> m.toSpecification(specificator));
market.getRoutes(f, fS, t, tS, profile.getBalance(), specificator, routes -> {
for (Iterator<RouteModel> iterator = routes.iterator(); iterator.hasNext(); ) {
RouteModel route = iterator.next();
Collection<MissionModel> notAdded = route.addAll(0, missionsList.getItems());
if (!notAdded.isEmpty()){
iterator.remove();
}
}
Optional<RouteModel> path = Screeners.showRouters(routes);
if (path.isPresent()) {
RouteModel route = path.get();
route.addAll(0, missionsList.getItems());
profile.setRoute(route);
profile.setRoute(path.get());
Screeners.showTrackTab();
}
});

View File

@@ -223,20 +223,22 @@ public class RouteModel {
if (offer != null){
Collection<RouteReserve> reserves = RouteFiller.getReserves(_route, offset, offer);
if (!reserves.isEmpty()) {
_route.reserve(reserves);
mission.setReserves(reserves);
completeIndex = RouteReserve.getCompleteIndex(reserves, offset);
refresh();
if (_route.reserve(reserves)){
mission.setReserves(reserves);
completeIndex = RouteReserve.getCompleteIndex(reserves, offset);
refresh();
}
}
} else
if (mission.isDelivery()){
RouteReserve reserve = RouteFiller.getReserves(_route, offset, ModelFabric.get(mission.getTarget()), mission.getCount());
if (reserve != null) {
_route.reserve(reserve);
mission.setReserves(Collections.singleton(reserve));
completeIndex = reserve.getToIndex();
for (RouteEntryModel entry : entries) {
entry.refresh(market);
if (_route.reserve(reserve)){
mission.setReserves(Collections.singleton(reserve));
completeIndex = reserve.getToIndex();
for (RouteEntryModel entry : entries) {
entry.refresh(market);
}
}
}
} else
@@ -264,17 +266,19 @@ public class RouteModel {
reserves = RouteFiller.getReserves(_route, offset, offer);
}
if (!reserves.isEmpty()) {
_route.reserve(reserves);
mission.setReserves(reserves);
completeIndex = RouteReserve.getCompleteIndex(reserves, offset);
if (_route.reserve(reserves)){
mission.setReserves(reserves);
completeIndex = RouteReserve.getCompleteIndex(reserves, offset);
}
}
} else
if (mission.isDelivery()){
RouteReserve reserve = RouteFiller.getReserves(_route, offset, ModelFabric.get(mission.getTarget()), mission.getCount());
if (reserve != null) {
_route.reserve(reserve);
mission.setReserves(Collections.singleton(reserve));
completeIndex = reserve.getToIndex();
if (_route.reserve(reserve)){
mission.setReserves(Collections.singleton(reserve));
completeIndex = reserve.getToIndex();
}
}
} else
if (mission.isCourier()){