Beispiel #1
0
  private static Attends findAttend(
      final ExecutionCourse executionCourse,
      final String studentNumber,
      final List<DomainException> exceptionList) {

    final List<Attends> activeAttends = new ArrayList<Attends>(2);
    for (final Attends attend : executionCourse.getAttendsSet()) {
      final Student student = attend.getRegistration().getStudent();
      if ((student.getPerson().getUsername().equals(studentNumber)
              || student.getNumber().toString().equals(studentNumber))
          && (isActive(attend) || belongsToActiveExternalCycle(attend))) {
        activeAttends.add(attend);
      }
    }

    if (activeAttends.size() == 1) {
      return activeAttends.iterator().next();
    }

    if (activeAttends.isEmpty()) {
      exceptionList.add(
          new DomainException("errors.student.without.active.attends", studentNumber));
    } else {
      exceptionList.add(
          new DomainException("errors.student.with.several.active.attends", studentNumber));
    }

    return null;
  }
 @Override
 public HtmlComponent render(Object targetObject, Class type) {
   if (targetObject == null) {
     return super.render(null, type);
   } else {
     Student student = (Student) targetObject;
     return super.render(student.getNumber(), type);
   }
 }
Beispiel #3
0
  public boolean fillWithStudent(final ExecutionYear forExecutionYear, Student student) {
    this.forExecutionYear = forExecutionYear;

    try {
      this.institutionCode = getDefaultInstitutionCode();
      this.institutionName = getDefaultInstitutionName();
      this.candidacyNumber = "";

      this.studentNumber = student.getNumber();

      this.studentName = student.getPerson().getName();
      this.documentTypeName = student.getPerson().getIdDocumentType().getLocalizedName();
      this.documentNumber = student.getPerson().getDocumentIdNumber();
      Registration activeRegistration = getActiveRegistration(student);

      this.degreeCode = activeRegistration.getDegree().getMinistryCode();

      if ("9999".equals(this.degreeCode)) {
        this.degreeCode = "";
      }

      this.degreeName = activeRegistration.getDegree().getNameI18N().getContent();
      this.degreeTypeName = activeRegistration.getDegree().getDegreeTypeName();

      this.upperObservations = "";

      this.person = student.getPerson();
      this.student = student;
      enrolledInAnualCoursesLastYear = false;
    } catch (Exception e) {
      logger.error(e.getMessage(), e);
      return false;
    }

    return true;
  }
  @SuppressWarnings("unchecked")
  private ByteArrayOutputStream createAcademicAdminProcessSheet(Person person) throws JRException {
    InputStream istream = getClass().getResourceAsStream(ACADEMIC_ADMIN_SHEET_REPORT_PATH);
    JasperReport report = (JasperReport) JRLoader.loadObject(istream);

    @SuppressWarnings("rawtypes")
    HashMap map = new HashMap();

    try {
      final Student student = person.getStudent();
      final Registration registration = findRegistration(student);

      map.put("executionYear", ExecutionYear.readCurrentExecutionYear().getYear());
      if (registration != null) {
        map.put("course", registration.getDegree().getNameI18N().toString());
      }
      map.put("studentNumber", student.getNumber().toString());
      map.put("fullName", person.getName());

      try {
        map.put(
            "photo",
            new ByteArrayInputStream(person.getPersonalPhotoEvenIfPending().getDefaultAvatar()));
      } catch (Exception e) {
        // nothing; print everything else
      }

      map.put(
          "sex",
          BundleUtil.getStringFromResourceBundle(
              "resources/EnumerationResources", person.getGender().name()));
      map.put("maritalStatus", person.getMaritalStatus().getPresentationName());
      map.put("profession", person.getProfession());
      map.put("idDocType", person.getIdDocumentType().getLocalizedName());
      map.put("idDocNumber", person.getDocumentIdNumber());

      YearMonthDay emissionDate = person.getEmissionDateOfDocumentIdYearMonthDay();
      if (emissionDate != null) {
        map.put(
            "idDocEmissionDate", emissionDate.toString(DateTimeFormat.forPattern("dd/MM/yyyy")));
      }

      map.put(
          "idDocExpirationDate",
          person
              .getExpirationDateOfDocumentIdYearMonthDay()
              .toString(DateTimeFormat.forPattern("dd/MM/yyyy")));
      map.put("idDocEmissionLocation", person.getEmissionLocationOfDocumentId());

      String nif = person.getSocialSecurityNumber();
      if (nif != null) {
        map.put("NIF", nif);
      }

      map.put(
          "birthDate",
          person.getDateOfBirthYearMonthDay().toString(DateTimeFormat.forPattern("dd/MM/yyyy")));
      map.put("nationality", person.getCountryOfBirth().getCountryNationality().toString());
      map.put("parishOfBirth", person.getParishOfBirth());
      map.put("districtSubdivisionOfBirth", person.getDistrictSubdivisionOfBirth());
      map.put("districtOfBirth", person.getDistrictOfBirth());
      map.put("countryOfBirth", person.getCountryOfBirth().getName());
      map.put("fathersName", person.getNameOfFather());
      map.put("mothersName", person.getNameOfMother());
      map.put("address", person.getAddress());
      map.put("postalCode", person.getPostalCode());
      map.put("locality", person.getAreaOfAreaCode());
      map.put("cellphoneNumber", person.getDefaultMobilePhoneNumber());
      map.put("telephoneNumber", person.getDefaultPhoneNumber());
      map.put("emailAddress", getMail(person));
      map.put(
          "currentDate",
          new java.text.SimpleDateFormat(
                  "'Lisboa, 'dd' de 'MMMM' de 'yyyy", new java.util.Locale("PT", "pt"))
              .format(new java.util.Date()));
    } catch (NullPointerException e) {
      // nothing; will cause printing of incomplete form
      // better than no form at all
    }

    JasperPrint print = JasperFillManager.fillReport(report, map);
    ByteArrayOutputStream output = new ByteArrayOutputStream();
    JasperExportManager.exportReportToPdfStream(print, output);
    return output;
  }
  public static StyledExcelSpreadsheet exportElectionsResultsToFile(
      List<Degree> degrees, ExecutionYear executionYear) throws IOException {
    StyledExcelSpreadsheet spreadsheet = new StyledExcelSpreadsheet();
    final ResourceBundle BUNDLE =
        ResourceBundle.getBundle(
            "resources.PedagogicalCouncilResources", Language.getDefaultLocale());

    for (Degree degree : degrees) {
      spreadsheet.getSheet(degree.getSigla());
      List<YearDelegateElection> elections =
          sortByYear(degree.getYearDelegateElectionsGivenExecutionYear(executionYear));
      for (YearDelegateElection election : elections) {
        if (election.hasLastVotingPeriod()) {
          DelegateElectionVotingPeriod votingPeriod = election.getLastVotingPeriod();
          spreadsheet.newHeaderRow();
          int fistHeaderRow = spreadsheet.getRow().getRowNum();
          spreadsheet.addHeader(
              String.format(
                  "%s - %s (%s)",
                  BUNDLE.getString("label.elections.excel.curricularYear"),
                  election.getCurricularYear().getYear(),
                  votingPeriod.getPeriod()),
              10000);
          spreadsheet
              .getSheet()
              .addMergedRegion(new Region(fistHeaderRow, (short) 0, fistHeaderRow, (short) 5));
          spreadsheet.newRow();
          if (votingPeriod.getVotesCount() == 0) {
            spreadsheet.addCell(BUNDLE.getString("label.elections.excel.not.have.votes"));
          } else {
            spreadsheet.addHeader(BUNDLE.getString("label.elections.excel.studentNumber"), 6000);
            spreadsheet.addHeader(BUNDLE.getString("label.elections.excel.studentName"), 10000);
            spreadsheet.addHeader(BUNDLE.getString("label.phone"), 4000);
            spreadsheet.addHeader(BUNDLE.getString("label.email"), 6000);
            spreadsheet.addHeader(BUNDLE.getString("label.address"), 12000);
            spreadsheet.addHeader(BUNDLE.getString("label.elections.excel.nrTotalVotes"), 5000);
            List<DelegateElectionResultsByStudentDTO> resultsByStudent =
                sortByResults(votingPeriod.getDelegateElectionResults());
            for (DelegateElectionResultsByStudentDTO resultByStudent : resultsByStudent) {
              Student student = resultByStudent.getStudent();
              Person person = student.getPerson();
              String phone =
                  (StringUtils.isEmpty(person.getDefaultPhoneNumber()))
                      ? "-"
                      : person.getDefaultPhoneNumber();
              String email =
                  (StringUtils.isEmpty(person.getDefaultEmailAddressValue()))
                      ? "-"
                      : person.getDefaultEmailAddressValue();
              String address =
                  (StringUtils.isEmpty(person.getAddress())) ? "-" : person.getAddress();

              spreadsheet.newRow();
              spreadsheet.addCell(student.getNumber());
              spreadsheet.addCell(student.getName());
              spreadsheet.addCell(phone);
              spreadsheet.addCell(email);
              spreadsheet.addCell(address);
              spreadsheet.addCell(resultByStudent.getVotesNumber());
            }
            spreadsheet.setRegionBorder(fistHeaderRow, spreadsheet.getRow().getRowNum() + 1, 0, 2);
            spreadsheet.newRow();
            spreadsheet.newRow();
            spreadsheet.addCell(BUNDLE.getString("label.elections.excel.nrBlankTotalVotes"));
            spreadsheet.addCell(
                votingPeriod.getBlankVotesElection(), spreadsheet.getExcelStyle().getValueStyle());
          }
        }
        spreadsheet.newRow();
        spreadsheet.newRow();
      }
    }
    return spreadsheet;
  }