@Override public OperationWorkTime estimateTotalWorkTime(Entity order, List<Entity> operationComponents, Map<Long, BigDecimal> operationRuns, boolean includeTpz, boolean includeAdditionalTime, Map<Long, Integer> workstations, boolean saved) { OperationWorkTime totalWorkTime = new OperationWorkTime(); Integer totalLaborWorkTime = Integer.valueOf(0); Integer totalMachineWorkTime = Integer.valueOf(0); Integer duration = Integer.valueOf(0); for (Entity operationComponent : operationComponents) { Entity operComp = operationComponent; OperationWorkTime abstractOperationWorkTime = estimateOrderOperationWorkTime(order, operComp, getOperationRunsFromMap(operationRuns, operationComponent), includeTpz, includeAdditionalTime, getWorkstationsQuantityFromMap(workstations, operationComponent), saved); totalLaborWorkTime += abstractOperationWorkTime.getLaborWorkTime(); totalMachineWorkTime += abstractOperationWorkTime.getMachineWorkTime(); duration += abstractOperationWorkTime.getDuration(); } totalWorkTime.setLaborWorkTime(totalLaborWorkTime); totalWorkTime.setMachineWorkTime(totalMachineWorkTime); totalWorkTime.setDuration(duration); return totalWorkTime; }