Search in sources :

Example 1 with OpiskeluoikeusInternetix

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);
}
Also used : OrganisaationToimipiste(fi.otavanopisto.pyramus.koski.model.OrganisaationToimipiste) EducationType(fi.otavanopisto.pyramus.domainmodel.base.EducationType) OpiskeluoikeusInternetix(fi.otavanopisto.pyramus.koski.model.internetix.OpiskeluoikeusInternetix) LukionOpiskeluoikeus(fi.otavanopisto.pyramus.koski.model.lukio.LukionOpiskeluoikeus) StudyEndReasonMapping(fi.otavanopisto.pyramus.koski.settings.StudyEndReasonMapping) Date(java.util.Date) OpintojenRahoitus(fi.otavanopisto.pyramus.koski.koodisto.OpintojenRahoitus) OpiskelijanOPS(fi.otavanopisto.pyramus.koski.OpiskelijanOPS) StudentSubjectSelections(fi.otavanopisto.pyramus.koski.StudentSubjectSelections) OrganisaationToimipisteOID(fi.otavanopisto.pyramus.koski.model.OrganisaationToimipisteOID)

Aggregations

EducationType (fi.otavanopisto.pyramus.domainmodel.base.EducationType)1 OpiskelijanOPS (fi.otavanopisto.pyramus.koski.OpiskelijanOPS)1 StudentSubjectSelections (fi.otavanopisto.pyramus.koski.StudentSubjectSelections)1 OpintojenRahoitus (fi.otavanopisto.pyramus.koski.koodisto.OpintojenRahoitus)1 OrganisaationToimipiste (fi.otavanopisto.pyramus.koski.model.OrganisaationToimipiste)1 OrganisaationToimipisteOID (fi.otavanopisto.pyramus.koski.model.OrganisaationToimipisteOID)1 OpiskeluoikeusInternetix (fi.otavanopisto.pyramus.koski.model.internetix.OpiskeluoikeusInternetix)1 LukionOpiskeluoikeus (fi.otavanopisto.pyramus.koski.model.lukio.LukionOpiskeluoikeus)1 StudyEndReasonMapping (fi.otavanopisto.pyramus.koski.settings.StudyEndReasonMapping)1 Date (java.util.Date)1