Advertisement
Guest User

Untitled

a guest
Feb 8th, 2016
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.39 KB | None | 0 0
  1.         Map<String, List<Attendance>> associatedAttendances = collectAttendancesByUsers(attendances);
  2.         List<Date> nonWorkingDays = nonWorkingDayDao.findAll(startDate, endDate);
  3.  
  4.         Map<Employee, List<Date>> gaps = new TreeMap<>(new EmployeeComparator());
  5.         for (Employee emp : employees) {
  6.             List<Attendance> employeeAttendances = associatedAttendances.get(emp.getLogin());
  7.             boolean employeePresents = true;
  8.             if (employeeAttendances == null) {
  9.                 employeePresents = false;
  10.             }
  11.             List<Date> employeeMissingDays = new ArrayList<>();
  12.  
  13.             Calendar control = getCalendarInstance(startDate);
  14.             control.setTime(startDate);
  15.             while (control.getTime().before(endDate)) {
  16.                 if (!employeePresents) {
  17.                     employeeMissingDays.add(control.getTime());
  18.                     control.add(Calendar.DAY_OF_YEAR, 1);
  19.                     continue;
  20.                 }
  21.                 if (!isCalendarDatePresentData(control, employeeAttendances, nonWorkingDays)) {
  22.                     employeeMissingDays.add(control.getTime());
  23.                 }
  24.                 control.add(Calendar.DAY_OF_YEAR, 1);
  25.             }
  26.             if (!employeeMissingDays.isEmpty()) {
  27.                 gaps.put(emp, employeeMissingDays);
  28.             }
  29.         }
  30.         generateReport(groupData(gaps));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement