use of fi.otavanopisto.pyramus.koski.model.internetix.OpiskeluoikeusInternetix in project pyramus by otavanopisto.
the class KoskiInternetixLukioStudentHandler2019 method oppiaineidenOppimaaranOpiskeluoikeus.
public OpiskeluoikeusInternetix oppiaineidenOppimaaranOpiskeluoikeus(Student student, String academyIdentifier) {
StudentSubjectSelections studentSubjects = loadStudentSubjectSelections(student, getDefaultSubjectSelections());
String studyOid = userVariableDAO.findByUserAndKey(student, KOSKI_STUDYPERMISSION_ID);
// Skip student if it is archived and the studyoid is blank
if (Boolean.TRUE.equals(student.getArchived()) && StringUtils.isBlank(studyOid)) {
return null;
}
OpiskelijanOPS ops = resolveOPS(student);
if (ops == null) {
koskiPersonLogDAO.create(student.getPerson(), student, KoskiPersonState.NO_CURRICULUM, new Date());
return null;
}
if (student.getStudyStartDate() == null) {
koskiPersonLogDAO.create(student.getPerson(), student, KoskiPersonState.NO_STUDYSTARTDATE, new Date());
return null;
}
LukionOpiskeluoikeus opiskeluoikeus = new LukionOpiskeluoikeus();
opiskeluoikeus.setLahdejarjestelmanId(getLahdeJarjestelmaID(HANDLER_TYPE, student.getId()));
opiskeluoikeus.setAlkamispaiva(student.getStudyStartDate());
opiskeluoikeus.setPaattymispaiva(student.getStudyEndDate());
if (StringUtils.isNotBlank(studyOid)) {
opiskeluoikeus.setOid(studyOid);
}
opiskeluoikeus.setLisatiedot(getLisatiedot(student));
OpintojenRahoitus opintojenRahoitus = opintojenRahoitus(student);
StudyEndReasonMapping lopetusSyy = opiskelujaksot(student, opiskeluoikeus.getTila(), opintojenRahoitus);
boolean laskeKeskiarvot = lopetusSyy != null ? lopetusSyy.getLaskeAinekeskiarvot() : false;
boolean sisällytäVahvistus = lopetusSyy != null ? lopetusSyy.getSisällytäVahvistaja() : false;
boolean lukionOppimääräSuoritettu = lopetusSyy != null ? lopetusSyy.isLukionOppimääräSuoritettu() : false;
opiskeluoikeus.setOppimaaraSuoritettu(lukionOppimääräSuoritettu || sisällytäVahvistus);
String departmentIdentifier = settings.getToimipisteOID(student.getStudyProgramme().getId(), academyIdentifier);
OrganisaationToimipiste toimipiste = new OrganisaationToimipisteOID(departmentIdentifier);
EducationType studentEducationType = student.getStudyProgramme() != null && student.getStudyProgramme().getCategory() != null ? student.getStudyProgramme().getCategory().getEducationType() : null;
Set<LukionOsasuoritus2019> oppiaineet = assessmentsToModel(ops, student, studentEducationType, studentSubjects, laskeKeskiarvot);
LukionOppiaineenOppimaaranSuoritus2019 suoritus = new LukionOppiaineenOppimaaranSuoritus2019(LukionOppimaara.aikuistenops, Kieli.FI, toimipiste, getDiaarinumero(student));
suoritus.setTodistuksellaNakyvatLisatiedot(getTodistuksellaNakyvatLisatiedot(student));
if (sisällytäVahvistus) {
suoritus.setVahvistus(getVahvistus(student, departmentIdentifier));
}
opiskeluoikeus.addSuoritus(suoritus);
for (LukionOsasuoritus2019 oppiaine : oppiaineet) {
// Aineopinnot sallivat vain oppiaineen suorituksia
if (oppiaine instanceof LukionOppiaineenSuoritus2019) {
suoritus.addOsasuoritus((LukionOppiaineenSuoritus2019) oppiaine);
} else {
String tyyppi = String.valueOf(oppiaine.getTyyppi().getValue());
koskiPersonLogDAO.create(student.getPerson(), KoskiPersonState.GENERIC_WARNING, new Date(), tyyppi);
}
}
return new OpiskeluoikeusInternetix(opiskeluoikeus, false);
}
Aggregations