/** * проверяем, согласовал ли РП заявление на отпуск. Возвращаем его решение. если письмо * руководителю проекта не посылалось, то выбрасывается VacationApprovalServiceException */ private Boolean getProjectManagerApproveResult( List<VacationApproval> projectManagerApprovals, Project project) throws VacationApprovalServiceException { if (project != null) { if (project.getManager() != null) { Integer projectManagerId = project.getManager().getId(); for (VacationApproval approval : projectManagerApprovals) { Integer managerId = approval.getManager().getId(); if (managerId.equals(projectManagerId)) { return approval.getResult(); } } Integer vacationId = projectManagerApprovals.get(0).getVacation().getId(); throw new VacationApprovalServiceException( String.format( "В БД не найдены данные о письме руководителю проекта %s для подтверждения отпуска №%s!", project.getName(), vacationId)); } else { throw new VacationApprovalServiceException( String.format("В БД не найдены данные о руководителе проекта %s", project.getName())); } } else { throw new VacationApprovalServiceException("В БД не найдены данные о проекте"); } }
private boolean setPM(Project project, String pmLdap) { // APLANATS-429 if ((pmLdap == null) || (pmLdap.equals(""))) { trace .append("Проект ") .append(project.getName()) .append(" пропущен, т.к. не указан руководитель проекта \n"); return false; } Employee projectLeader = this.employeeDAO.findByLdapName(pmLdap.split("/")[0]); if (projectLeader == null) { trace .append("Проект ") .append(project.getName()) .append(" проигнорирован, " + "т.к. руководитель проекта ") .append(pmLdap) .append(" не найден в базе ldap\n"); return false; } project.setManager(projectLeader); return true; }