private void calculate() {
    produktInfos.clear();
    dataShow.clear();
    int year1 = year1ChoiceBox.getValue().intValue();
    int year2 = year2ChoiceBox.getValue().intValue();
    LocalDate von1 = now.withYear(year1).withMonth(1).withDayOfMonth(1);
    LocalDate bis1 = now.withYear(year1);
    LocalDate von2 = now.withYear(year2).withMonth(1).withDayOfMonth(1);
    LocalDate bis2 = now.withYear(year2);

    List<Auftrag> auftraege = AuftragSession.getAllAuftraege();
    List<Auftrag> auftraegeInZeitraum1 = new ArrayList<>();
    List<Auftrag> auftraegeInZeitraum2 = new ArrayList<>();
    auftraege
        .stream()
        .filter(a -> a.getErstellung().isAfter(von1) && a.getErstellung().isBefore(bis1))
        .forEach(auftraegeInZeitraum1::add);
    auftraege
        .stream()
        .filter(a -> a.getErstellung().isAfter(von2) && a.getErstellung().isBefore(bis2))
        .forEach(auftraegeInZeitraum2::add);
    if (!kundenChoiceBox.getValue().equals("Alle")) {
      Kunde k = KundeSession.getKundeByName(kundenChoiceBox.getValue());
      List<Auftrag> aKunde1 = new ArrayList<>();
      List<Auftrag> aKunde2 = new ArrayList<>();
      auftraegeInZeitraum1.stream().filter(a -> a.getKunde().equals(k)).forEach(aKunde1::add);
      auftraegeInZeitraum2.stream().filter(a -> a.getKunde().equals(k)).forEach(aKunde2::add);
      auftraegeInZeitraum1 = aKunde1;
      auftraegeInZeitraum2 = aKunde2;
    }

    zeitraumIntoInfos(auftraegeInZeitraum1, 1);
    zeitraumIntoInfos(auftraegeInZeitraum2, 2);

    for (JahresvergleichRow ci : produktInfos.values()) {
      Produkt p = ProduktSession.getProdukt(ci.produktNr.get());
      ci.umsatz1.set(Math.round(ci.stuckzahl1.get() * p.getVkPreis() * 100.0) / 100.0);
      ci.umsatz2.set(Math.round(ci.stuckzahl2.get() * p.getVkPreis() * 100.0) / 100.0);
      dataShow.add(ci);
    }
  }
예제 #2
0
  static void f1() {
    LocalDate date = LocalDate.of(2016, Month.JANUARY, 24);
    int year = date.getYear(); // 2016
    Month month = date.getMonth(); // 1月
    int dom = date.getDayOfMonth(); // 24
    DayOfWeek dow = date.getDayOfWeek(); // 星期天,SUNDAY
    int len = date.lengthOfMonth(); // 31 (1月份的天数)
    boolean leap = date.isLeapYear(); // true (是闰年)

    date = date.withYear(2015); // 2015-01-24
    date = date.plusMonths(2); // 2015-03-24
    date = date.minusDays(1); // 2015-03-23

    System.out.println(dow);
  }