Go to most recent revision |
Blame |
Compare with Previous |
Last modification |
View Log
| RSS feed
package pt.estgp.estgweb.services.courses.coursereport;
import pt.estgp.estgweb.domain.CourseUnit;
import pt.estgp.estgweb.domain.CourseUnitEvaluationImpl;
import pt.estgp.estgweb.domain.CourseUnitImpl;
import pt.estgp.estgweb.domain.Teacher;
import pt.estgp.estgweb.domain.dao.DaoFactory;
import pt.estgp.estgweb.services.courses.coursereport.documentmodel.courseunitreport.CourseUnitSection;
import pt.estgp.estgweb.services.courses.coursereport.documentmodel.courseunitreport.components.ReportTeacher;
import pt.estgp.estgweb.services.courses.coursereport.documentmodel.reportucsummary.CourseUnitDtpStat;
import java.util.ArrayList;
/**
* Created by jorgemachado on 03/11/17.
*/
public class CourseReportUtils
{
public static CourseUnitDtpStat createCourseUnitDtpStat(CourseUnit cu)
{
CourseUnitDtpStat stat = new CourseUnitDtpStat() ;
stat.setSigesCode(cu.getCode());
stat.setName(cu.getName());
stat.setPeriod(((CourseUnitImpl)cu).getSemestreAbsolutoS1S2());
stat.setPlaneamentoConteudos(cu.getStatdtpPlaneamentoFiles() > 0);
stat.setPlaneamentoCalendarizacao(cu.getStatdtpPlaneamentoFiles() > 0);
stat.setAvaliacaoPautas(cu.getStatdtpAvaliacaoPautasFiles() > 0);
stat.setAvaliacaoEnunciados(cu.getStatdtpAvaliacaoEnunciadosFiles() > 0);
stat.setRelatorio(cu.getCourseUnitEvaluation() != null && cu.getCourseUnitEvaluation().isClosed());
stat.setFicha(cu.isStatdtpFichaCurricularValid());
stat.setSumarios(cu.getStatdtpSumaries() > 0);
stat.setInquerito(cu.getStatdtpInqueritoPedagogicoFiles() > 0);
return stat;
}
public static CourseUnitSection createCourseUnitEvaluationSection(CourseUnitImpl cu) {
CourseUnitSection courseUnitSection = new CourseUnitSection();
courseUnitSection.setTitle("Relatório de Avaliação de " + cu.getName() + " (" + cu.getCode() + ")");
courseUnitSection.setName(cu.getName());
courseUnitSection.setCourseUnitId(cu.getId());
courseUnitSection.setSigesCode(cu.getCode());
courseUnitSection.setPeriod(cu.getSemestreAbsolutoS1S2());
if(cu.getResponsableTeacher() != null)
{
ReportTeacher reportTeacher = new ReportTeacher();
reportTeacher.setSigesCode("" + cu.getResponsableTeacher().getSigesCode());
reportTeacher.setName(cu.getResponsableTeacher().getName());
courseUnitSection.setResponsableTeacher(reportTeacher);
}
courseUnitSection.setTeachers(new ArrayList<ReportTeacher>());
for(Teacher t : cu.getTeachers())
{
ReportTeacher reportTeacher = new ReportTeacher();
reportTeacher.setSigesCode("" + t.getSigesCode());
reportTeacher.setName(t.getName());
courseUnitSection.getTeachers().add(reportTeacher);
}
if(cu.getCourseUnitEvaluation() != null)
{
courseUnitSection.setCourseUnitEvaluation((CourseUnitEvaluationImpl) DaoFactory.getCourseUnitEvaluationDaoImpl().narrow(cu.getCourseUnitEvaluation()));
}
CourseUnitImpl cuImpl = (CourseUnitImpl) cu;
int ano = cuImpl.getAnoPlanoFromStudiesPlan();
//o ano podera ser -1 caso nao encontre plano para ele
courseUnitSection.setAnoPlano(ano);
return courseUnitSection;
}
public static CourseUnitDtpStat findCourseUnitDtpStat(CourseUnitDtpStat[] statsLoaded, CourseUnitImpl courseUnit)
{
for(CourseUnitDtpStat stat: statsLoaded)
{
if(stat.getSigesCode().equals(courseUnit.getCode()) &&
stat.getPeriod().equals(courseUnit.getSemestreAbsolutoS1S2()))
{
return stat;
}
}
return null;
}
public static CourseUnitSection findCourseUnitSection(CourseUnitSection[] sectionLoaded, CourseUnitImpl courseUnit)
{
for(CourseUnitSection section: sectionLoaded)
{
if(section.getSigesCode().equals(courseUnit.getCode()) &&
section.getPeriod().equals(courseUnit.getSemestreAbsolutoS1S2()))
{
return section;
}
}
return null;
}
}