// возвращает количество дней в списке отпусков (в зависимости от того какой список был передан) 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; }
public JsonArrayNodeBuilder createVacationsNode(Employee employee, List<Vacation> vacationList) { JsonArrayNodeBuilder vacationNode = anArrayBuilder(); for (Vacation vacation : vacationList) { if (vacation.getEmployee().equals(employee)) { vacationNode.withElement( anObjectBuilder() .withField( "beginDate", aStringBuilder(dateToString(vacation.getBeginDate(), VIEW_DATE_PATTERN))) .withField( "endDate", aStringBuilder(dateToString(vacation.getEndDate(), VIEW_DATE_PATTERN))) .withField("status", aStringBuilder(vacation.getStatus().getValue())) .withField("type", aStringBuilder(vacation.getType().getId().toString())) .withField("typeName", aStringBuilder(vacation.getType().getValue()))); } } return vacationNode; }
/* функция возвращает можно ли удалить планируемый отпуск в таблице заявлений на отпуск */ public Boolean isVacationDeletePermission(Vacation vacation, Employee employee) { if (employee != null && vacation != null) { /* проверим Админ ли текущий пользователь */ if (employeeService.isEmployeeAdmin(employee.getId())) { return Boolean.TRUE; } else { /* для запланированных отпусков проверяем что это либо создатель отпуска либо сам отпускник * либо является лин. рук. отпускника */ if (vacation.getType().getId() == VacationTypesEnum.PLANNED.getId() && (vacation.getEmployee().equals(employee) || vacation.getAuthor().equals(employee) || employeeService.getLinearEmployees(vacation.getEmployee()).contains(employee))) { return Boolean.TRUE; } /* пользователь создатель или отпускник и статус не отклонено и не утверждено */ if ((vacation.getEmployee().equals(employee) || vacation.getAuthor().equals(employee)) && vacation.getStatus().getId() != VacationStatusEnum.REJECTED.getId() && vacation.getStatus().getId() != VacationStatusEnum.APPROVED.getId()) { return Boolean.TRUE; } } } return Boolean.FALSE; }
public Boolean isVacationNotApproved(Vacation vacation) { return !vacation .getStatus() .getId() .equals(dictionaryItemService.find(VacationStatusEnum.APPROVED.getId()).getId()); }
private boolean needsToBeApproved(Vacation vacation) { return !vacation.getStatus().getId().equals(VacationStatusEnum.APPROVED.getId()); }