示例#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
 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;
 }
示例#3
0
 /* функция возвращает можно ли удалить планируемый отпуск в таблице заявлений на отпуск */
 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;
 }
示例#4
0
 public Boolean isVacationNotApproved(Vacation vacation) {
   return !vacation
       .getStatus()
       .getId()
       .equals(dictionaryItemService.find(VacationStatusEnum.APPROVED.getId()).getId());
 }
示例#5
0
 private boolean needsToBeApproved(Vacation vacation) {
   return !vacation.getStatus().getId().equals(VacationStatusEnum.APPROVED.getId());
 }