private LinkedHashMap<Material, List<Integer>> calculateStockForNextPeriods() { LinkedHashMap<Material, List<Integer>> stockNextPeriodsWithMat = new LinkedHashMap<Material, List<Integer>>(); Repository repo = Repository.getInstance(); for (Material mat : needs.keySet()) { List<Integer> stockNextPeriods = new ArrayList<>(); Integer amountThisPeriod = dbch.findMaterial(mat.getId()).getAmount() + repo.getArrivalAmountOfMaterial(mat, 1); // Errechneter Bestand Planperiode stockNextPeriods.add(amountThisPeriod - needs.get(mat).get(0)); // Errechneter Bestand Planperiode + 1 stockNextPeriods.add( stockNextPeriods.get(0) - needs.get(mat).get(1) + repo.getArrivalAmountOfMaterial(mat, 2)); // Errechneter Bestand Planperiode + 2 stockNextPeriods.add( stockNextPeriods.get(1) - needs.get(mat).get(2) + repo.getArrivalAmountOfMaterial(mat, 3)); // Errechneter Bestand Planperiode + 3 stockNextPeriods.add( stockNextPeriods.get(2) - needs.get(mat).get(3) + repo.getArrivalAmountOfMaterial(mat, 4)); stockNextPeriodsWithMat.put(mat, stockNextPeriods); } return stockNextPeriodsWithMat; }
private LinkedHashMap<Material, Double> calculateCoverage() { LinkedHashMap<Material, Double> coverage = new LinkedHashMap<Material, Double>(); for (Material mat : needs.keySet()) { Repository repo = Repository.getInstance(); // Menge im Lager + Menge die in der Planperiode kommt Integer AmountThisPeriod = dbch.findMaterial(mat.getId()).getAmount() + repo.getArrivalAmountOfMaterial(mat, 1); // Menge in dieser Periode / Durchschnittsverbrauch Double value = AmountThisPeriod / averageNeeds.get(mat); coverage.put(mat, value); } return coverage; }