/** * Copyright © 2002 Instituto Superior Técnico * * This file is part of FenixEdu Academic. * * FenixEdu Academic is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * FenixEdu Academic is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with FenixEdu Academic. If not, see <http://www.gnu.org/licenses/>. */ package org.fenixedu.academic.ui.struts.action.administrativeOffice.scholarship.utl.report; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.fenixedu.academic.domain.ExecutionYear; import org.fenixedu.academic.util.Money; import org.joda.time.LocalDate; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class ReportStudentsUTLCandidatesForFirstYear extends ReportStudentsUTLCandidates { private static final Logger logger = LoggerFactory.getLogger(ReportStudentsUTLCandidatesForFirstYear.class); public ReportStudentsUTLCandidatesForFirstYear(final ExecutionYear forExecutionYear, final HSSFSheet sheet) { super(forExecutionYear, sheet); } @Override protected void addValues(HSSFSheet sheet) { int i = 2; for (StudentLine studentLine : getCorrectStudentLines()) { try { String institutionCode = studentLine.getInstitutionCode(); String institutionName = studentLine.getInstitutionName(); String candidacyNumber = studentLine.getCandidacyNumber(); String studentNumberForPrint = studentLine.getStudentNumberForPrint(); String studentName = studentLine.getStudentName(); String documentTypeName = studentLine.getDocumentTypeName(); String documentNumber = studentLine.getDocumentNumber(); String degreeCode = studentLine.getDegreeCode(); String degreeName = studentLine.getDegreeName(); String degreeTypeName = studentLine.getDegreeTypeName(); String regime = studentLine.getRegime(); Integer countNumberOfEnrolmentsYearsSinceRegistrationStart = studentLine.getCountNumberOfEnrolmentsYearsSinceRegistrationStart(); Integer numberOfDegreeCurricularYears = studentLine.getNumberOfDegreeCurricularYears(); Double numberOfEnrolledECTS = studentLine.getNumberOfEnrolledECTS(); Money gratuityAmount = studentLine.getGratuityAmount(); Integer numberOfMonthsExecutionYear = studentLine.getNumberOfMonthsExecutionYear(); String firstMonthOfPayment = studentLine.getFirstMonthOfPayment(); Boolean ownerOfCETQualification = studentLine.getOwnerOfCETQualification(); boolean degreeQualificationOwner = studentLine.isDegreeQualificationOwner(); boolean masterQualificationOwner = studentLine.isMasterQualificationOwner(); boolean phdQualificationOwner = studentLine.isPhdQualificationOwner(); boolean ownerOfCollegeQualification = studentLine.isOwnerOfCollegeQualification(); String observations = studentLine.getObservations(); String nif = studentLine.getNif(); LocalDate firstEnrolmentOnCurrentExecutionYear = studentLine.getFirstEnrolmentOnCurrentExecutionYear(); HSSFRow row = sheet.createRow(i); addCellValue(row, onNullEmptyString(institutionCode), 0); addCellValue(row, onNullEmptyString(institutionName), 1); addCellValue(row, onNullEmptyString(candidacyNumber), 2); addCellValue(row, onNullEmptyString(studentNumberForPrint), 3); addCellValue(row, onNullEmptyString(studentName), 4); addCellValue(row, onNullEmptyString(documentTypeName), 5); addCellValue(row, onNullEmptyString(documentNumber), 6); addCellValue(row, onNullEmptyString(degreeCode), 7); addCellValue(row, onNullEmptyString(degreeName), 8); addCellValue(row, onNullEmptyString(degreeTypeName), 9); addCellValue(row, "", 10); addCellValue(row, onNullEmptyString(firstEnrolmentOnCurrentExecutionYear), 11); addCellValue(row, onNullEmptyString(gratuityAmount != null ? gratuityAmount.toPlainString().replace('.', ',') : ""), 12); addCellValue(row, onNullEmptyString(numberOfMonthsExecutionYear), 13); addCellValue(row, onNullEmptyString(firstMonthOfPayment), 14); addCellValue(row, onNullEmptyString(ownerOfCETQualification), 15); addCellValue(row, onNullEmptyString(degreeQualificationOwner), 16); addCellValue(row, onNullEmptyString(masterQualificationOwner), 17); addCellValue(row, onNullEmptyString(phdQualificationOwner), 18); addCellValue(row, onNullEmptyString(ownerOfCollegeQualification), 19); addCellValue(row, onNullEmptyString(observations), 20); addCellValue(row, onNullEmptyString(regime), 21); addCellValue(row, onNullEmptyString(numberOfDegreeCurricularYears), 22); addCellValue(row, onNullEmptyString(countNumberOfEnrolmentsYearsSinceRegistrationStart), 23); addCellValue(row, onNullEmptyString(numberOfEnrolledECTS != null ? numberOfEnrolledECTS.toString().replace('.', ',') : ""), 24); addCellValue(row, onNullEmptyString(nif), 25); } catch (Exception e) { logger.error(e.getMessage(), e); } i++; } } @Override protected void addHeaders(HSSFSheet sheet) { sheet.createRow(0); sheet.createRow(1); addHeaderCell(sheet, getHeaderInBundle("institutionCode"), 0); addHeaderCell(sheet, getHeaderInBundle("institutionName"), 1); addHeaderCell(sheet, getHeaderInBundle("candidacyNumber"), 2); addHeaderCell(sheet, getHeaderInBundle("studentNumberForPrint"), 3); addHeaderCell(sheet, getHeaderInBundle("studentName"), 4); addHeaderCell(sheet, getHeaderInBundle("documentTypeName"), 5); addHeaderCell(sheet, getHeaderInBundle("documentNumber"), 6); addHeaderCell(sheet, getHeaderInBundle("degreeCode"), 7); addHeaderCell(sheet, getHeaderInBundle("degreeName"), 8); addHeaderCell(sheet, getHeaderInBundle("degreeTypeName"), 9); addHeaderCell(sheet, getHeaderInBundle("code"), 10); addHeaderCell(sheet, getHeaderInBundle("firstEnrolmentOnCurrentExecutionYear"), 11); addHeaderCell(sheet, getHeaderInBundle("gratuityAmount"), 12); addHeaderCell(sheet, getHeaderInBundle("numberOfMonthsExecutionYear"), 13); addHeaderCell(sheet, getHeaderInBundle("firstMonthOfPayment"), 14); addHeaderCell(sheet, getHeaderInBundle("ownerOfCETQualification"), 15); addHeaderCell(sheet, getHeaderInBundle("degreeQualificationOwner"), 16); addHeaderCell(sheet, getHeaderInBundle("masterQualificationOwner"), 17); addHeaderCell(sheet, getHeaderInBundle("phdQualificationOwner"), 18); addHeaderCell(sheet, getHeaderInBundle("ownerOfCollegeQualification"), 19); addHeaderCell(sheet, getHeaderInBundle("observations"), 20); addHeaderCell(sheet, getHeaderInBundle("regime"), 21); addHeaderCell(sheet, getHeaderInBundle("numberOfDegreeCurricularYears"), 22); addHeaderCell(sheet, getHeaderInBundle("ingression.year.on.cycle.studies.count"), 23); addHeaderCell(sheet, getHeaderInBundle("numberOfEnrolledECTS"), 24); addHeaderCell(sheet, getHeaderInBundle("nif"), 25); } }