コード例 #1
0
ファイル: OrderService.java プロジェクト: ahaeff/ibsys2_p02
  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;
  }
コード例 #2
0
ファイル: OrderService.java プロジェクト: ahaeff/ibsys2_p02
  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;
  }