if (s.getParent() == null) {
out += "E" + s.getId() + " (" + s.getBeginPlace().getName() + "):\n";
int shiftActiveTime = 0;
int shiftActualTime = s.getTime().getBegin();
Place shiftActualPlace = s.getBeginPlace();
int shiftOverTime = 0;
for (int j = 0; j < s.getAssignedTasks().size(); j++) {
Task t = s.getAssignedTasks().get(j);
if (shiftActualPlace.getId() != t.getPlace().getId()) {
int traveltime = trafficProperties.getDistance(shiftActualPlace,
t.getPlace(), shiftActualTime);
int cost = s.getResource().getFare() * traveltime;
numOfTravels++;
totalCostOfTravels += cost;
out += " utazas: " + t.getPlace().getName() +
" (ktg:" + cost + ")\n";
shiftActualPlace = t.getPlace();
shiftActualTime += traveltime;
shiftActiveTime += traveltime;
}
shiftActiveTime += t.getCompletionTime().getEnd() - t.getCompletionTime().getBegin();
shiftActualTime = t.getCompletionTime().getEnd();
out += " M" + t.getId() + "\t[" + t.getCompletionTime().getBegin()
+ "-" + t.getCompletionTime().getEnd() + "] ";
out += "(kes ktg: " + KES(t) + ")\n";
int tohome = trafficProperties.getDistance(t.getPlace(),
s.getEndPlace(), t.getCompletionTime().getEnd());
if (t.getCompletionTime().getEnd() + tohome > s.getTime().getEnd()) {
int ot = t.getCompletionTime().getEnd() + tohome -
s.getTime().getEnd();
if (ot > shiftOverTime) {
shiftOverTime = ot;
}
}
}
//shiftActualTime += shiftOverTime;
if (shiftActualPlace.getId() != s.getEndPlace().getId()) {
int traveltime = trafficProperties.getDistance(shiftActualPlace,
s.getEndPlace(),
shiftActualTime);
int cost = s.getResource().getFare() * traveltime;