示例#1
0
 // возвращает количество дней в списке отпусков (в зависимости от того какой список был передан)
 private int getSummaryDaysCount(Map<Vacation, Integer> days) {
   int summaryDays = 0;
   for (Map.Entry<Vacation, Integer> entry : days.entrySet()) {
     Vacation vacation = entry.getKey();
     Integer daysInVacation = entry.getValue();
     if (VacationStatusEnum.APPROVED.getId() == vacation.getStatus().getId()
         || VacationTypesEnum.PLANNED.getId() == vacation.getType().getId()) {
       summaryDays += daysInVacation;
     }
   }
   return summaryDays;
 }
示例#2
0
  // возвращает список отпусков за год определенного типа с указанием количества календарных или
  // рабочих дней
  // в зависимости от того, какой список был передан
  private Map<Vacation, Integer> getDaysForYearByType(
      Map<Vacation, Integer> days, int year, DictionaryItem type) {
    Map<Vacation, Integer> daysForYearByType = new HashMap<Vacation, Integer>();
    for (Map.Entry<Vacation, Integer> entry : days.entrySet()) {
      Vacation vacation = entry.getKey();
      Integer calDaysInVacation = entry.getValue();

      if (vacationStatusInThisYear(vacation, year)
          && type.getId().equals(vacation.getType().getId())) {
        daysForYearByType.put(vacation, calDaysInVacation);
      }
    }
    return daysForYearByType;
  }
示例#3
0
  public Map<Vacation, Integer> getWorkDays(
      Map<Vacation, Integer> calDays, List<Holiday> holidays) {
    Map<Vacation, Integer> workDays = new HashMap<Vacation, Integer>(calDays.size());

    for (Map.Entry<Vacation, Integer> entry : calDays.entrySet()) {
      Vacation vacation = entry.getKey();
      Integer calDaysInVacation = entry.getValue();
      Region emplRegion = vacation.getEmployee().getRegion();
      final int holidaysCount =
          getHolidaysCount(holidays, emplRegion, vacation.getBeginDate(), vacation.getEndDate());
      final int workDaysCount = calDaysInVacation - holidaysCount;
      workDays.put(vacation, workDaysCount);
    }

    return workDays;
  }