Beispiel #1
0
 public Integer getStudentNumberForShiftDistributionBasedOn(Integer studentNumberPosition) {
   final List<Integer> abstractStudentNumbers = new ArrayList<Integer>();
   for (final ShiftDistributionEntry shiftDistributionEntry : getShiftDistributionEntriesSet()) {
     if (!abstractStudentNumbers.contains(shiftDistributionEntry.getAbstractStudentNumber())) {
       abstractStudentNumbers.add(shiftDistributionEntry.getAbstractStudentNumber());
     }
   }
   Collections.sort(abstractStudentNumbers);
   return !abstractStudentNumbers.isEmpty()
       ? abstractStudentNumbers.get(studentNumberPosition)
       : null;
 }
Beispiel #2
0
  private List<ShiftDistributionEntry> getShiftsFor(
      Integer studentNumber, boolean alreadyDistributed) {
    final List<ShiftDistributionEntry> result = new ArrayList<ShiftDistributionEntry>();
    for (final ShiftDistributionEntry shiftDistributionEntry : getShiftDistributionEntriesSet()) {
      if (shiftDistributionEntry.getDistributed().booleanValue() == alreadyDistributed
          && shiftDistributionEntry.getAbstractStudentNumber().equals(studentNumber)) {

        result.add(shiftDistributionEntry);
      }
    }
    return result;
  }
Beispiel #3
0
  public List<ShiftDistributionEntry> getNextFreeShiftDistributions() {

    final ArrayList<ShiftDistributionEntry> entries =
        new ArrayList<ShiftDistributionEntry>(getShiftDistributionEntriesSet());
    Collections.sort(entries, ShiftDistributionEntry.NUMBER_COMPARATOR);

    for (final ShiftDistributionEntry shiftDistributionEntry : entries) {
      if (!shiftDistributionEntry.getDistributed()) {
        return ShiftDistributionEntry.readByAbstractNumber(
            shiftDistributionEntry.getAbstractStudentNumber(), getExecutionYear());
      }
    }

    return Collections.emptyList();
  }