Search in sources :

Example 1 with PaikallinenKoodi

use of fi.otavanopisto.pyramus.koski.model.PaikallinenKoodi in project pyramus by otavanopisto.

the class KoskiInternetixLukioStudentHandler method createKurssiSuoritus.

protected LukionKurssinSuoritus createKurssiSuoritus(Student student, OpiskelijanOPS ops, CreditStub courseCredit) {
    String kurssiKoodi = courseCredit.getCourseCode();
    LukionKurssinTunniste tunniste;
    if (ops == OpiskelijanOPS.ops2016 && EnumUtils.isValidEnum(LukionKurssit.class, kurssiKoodi)) {
        // OPS 2016 (2015)
        LukionKurssit kurssi = LukionKurssit.valueOf(kurssiKoodi);
        LukionKurssinTyyppi kurssinTyyppi = findCourseType(student, courseCredit, true, LukionKurssinTyyppi.pakollinen, LukionKurssinTyyppi.syventava);
        tunniste = new LukionKurssinTunnisteValtakunnallinenOPS2015(kurssi, kurssinTyyppi);
    } else if (ops == OpiskelijanOPS.ops2005 && EnumUtils.isValidEnum(LukionKurssitOPS2004Aikuiset.class, kurssiKoodi)) {
        // OPS 2005 (2004)
        LukionKurssitOPS2004Aikuiset kurssi = LukionKurssitOPS2004Aikuiset.valueOf(kurssiKoodi);
        LukionKurssinTyyppi kurssinTyyppi = findCourseType(student, courseCredit, true, LukionKurssinTyyppi.pakollinen, LukionKurssinTyyppi.syventava);
        tunniste = new LukionKurssinTunnisteValtakunnallinenOPS2004(kurssi, kurssinTyyppi);
    } else {
        PaikallinenKoodi paikallinenKoodi = new PaikallinenKoodi(kurssiKoodi, kuvaus(courseCredit.getSubject().getName()));
        LukionKurssinTyyppi kurssinTyyppi = findCourseType(student, courseCredit, true, LukionKurssinTyyppi.syventava, LukionKurssinTyyppi.soveltava);
        tunniste = new LukionKurssinTunnistePaikallinen(paikallinenKoodi, kurssinTyyppi, kuvaus(courseCredit.getCourseName()));
    }
    LukionKurssinSuoritus suoritus = new LukionKurssinSuoritus(tunniste);
    return luoKurssiSuoritus(suoritus, courseCredit);
}
Also used : LukionKurssinTyyppi(fi.otavanopisto.pyramus.koski.koodisto.LukionKurssinTyyppi) LukionKurssinTunniste(fi.otavanopisto.pyramus.koski.model.lukio.LukionKurssinTunniste) LukionKurssinTunnistePaikallinen(fi.otavanopisto.pyramus.koski.model.lukio.LukionKurssinTunnistePaikallinen) PaikallinenKoodi(fi.otavanopisto.pyramus.koski.model.PaikallinenKoodi) LukionKurssinSuoritus(fi.otavanopisto.pyramus.koski.model.lukio.LukionKurssinSuoritus) LukionKurssinTunnisteValtakunnallinenOPS2015(fi.otavanopisto.pyramus.koski.model.lukio.LukionKurssinTunnisteValtakunnallinenOPS2015) LukionKurssinTunnisteValtakunnallinenOPS2004(fi.otavanopisto.pyramus.koski.model.lukio.LukionKurssinTunnisteValtakunnallinenOPS2004) LukionKurssitOPS2004Aikuiset(fi.otavanopisto.pyramus.koski.koodisto.LukionKurssitOPS2004Aikuiset) LukionKurssit(fi.otavanopisto.pyramus.koski.koodisto.LukionKurssit)

Example 2 with PaikallinenKoodi

use of fi.otavanopisto.pyramus.koski.model.PaikallinenKoodi in project pyramus by otavanopisto.

the class KoskiInternetixPkStudentHandler method getSubject.

private OppiaineenSuoritusWithCurriculum<AikuistenPerusopetuksenOppiaineenSuoritus> getSubject(OpiskelijanOPS creditOPS, Student student, List<Long> educationTypes, StudentSubjectSelections studentSubjects, Subject subject, Map<String, OppiaineenSuoritusWithCurriculum<AikuistenPerusopetuksenOppiaineenSuoritus>> map) {
    String subjectCode = subjectCode(subject);
    String mapKey = String.valueOf(creditOPS) + subjectCode;
    if (map.containsKey(mapKey)) {
        return map.get(mapKey);
    }
    boolean matchingEducationType = educationTypes != null && subject.getEducationType() != null && educationTypes.contains(subject.getEducationType().getId());
    if (matchingEducationType && (StringUtils.equals(subjectCode, "äi") || StringUtils.equals(subjectCode, "s2"))) {
        if (StringUtils.equals(subjectCode, studentSubjects.getPrimaryLanguage())) {
            OppiaineAidinkieliJaKirjallisuus aine = StringUtils.equals(subjectCode, "s2") ? // s2
            OppiaineAidinkieliJaKirjallisuus.AI7 : // äi
            OppiaineAidinkieliJaKirjallisuus.AI1;
            AikuistenPerusopetuksenOppiaineenSuoritusAidinkieli tunniste = new AikuistenPerusopetuksenOppiaineenSuoritusAidinkieli(aine, isPakollinenOppiaine(student, KoskiOppiaineetYleissivistava.AI));
            return map(map, mapKey, creditOPS, tunniste, subject);
        } else
            return null;
    }
    if (matchingEducationType && studentSubjects.isAdditionalLanguage(subjectCode)) {
        if (subjectCode.length() > 2) {
            String langCode = settings.getSubjectToLanguageMapping(subjectCode.substring(0, 2).toUpperCase());
            Kielivalikoima kieli = Kielivalikoima.valueOf(langCode);
            if (kieli != null) {
                KoskiOppiaineetYleissivistava valinta = studentSubjects.isALanguage(subjectCode) ? KoskiOppiaineetYleissivistava.A1 : studentSubjects.isA1Language(subjectCode) ? KoskiOppiaineetYleissivistava.A1 : studentSubjects.isA2Language(subjectCode) ? KoskiOppiaineetYleissivistava.A2 : studentSubjects.isB1Language(subjectCode) ? KoskiOppiaineetYleissivistava.B1 : studentSubjects.isB2Language(subjectCode) ? KoskiOppiaineetYleissivistava.B2 : studentSubjects.isB3Language(subjectCode) ? KoskiOppiaineetYleissivistava.B3 : null;
                AikuistenPerusopetuksenOppiaineenSuoritusVierasKieli tunniste = new AikuistenPerusopetuksenOppiaineenSuoritusVierasKieli(valinta, kieli, isPakollinenOppiaine(student, valinta));
                return map(map, mapKey, creditOPS, tunniste, subject);
            } else {
                logger.log(Level.SEVERE, String.format("Koski: Language code %s could not be converted to an enum.", langCode));
                koskiPersonLogDAO.create(student.getPerson(), student, KoskiPersonState.UNKNOWN_LANGUAGE, new Date(), langCode);
                return null;
            }
        }
    }
    String[] religionSubjects = new String[] { "ue", "uo" };
    if (matchingEducationType && ArrayUtils.contains(religionSubjects, subjectCode)) {
        // Only the religion that student has selected is reported
        if (StringUtils.equals(subjectCode, studentSubjects.getReligion())) {
            mapKey = String.valueOf(creditOPS) + "KT";
            if (map.containsKey(mapKey))
                return map.get(mapKey);
            KoskiOppiaineetYleissivistava kansallinenAine = KoskiOppiaineetYleissivistava.KT;
            AikuistenPerusopetuksenOppiaineenTunniste tunniste = new AikuistenPerusopetuksenOppiaineenSuoritusMuu(kansallinenAine, isPakollinenOppiaine(student, KoskiOppiaineetYleissivistava.KT));
            return map(map, mapKey, creditOPS, tunniste, subject);
        } else
            return null;
    }
    if (matchingEducationType && EnumUtils.isValidEnum(KoskiOppiaineetYleissivistava.class, StringUtils.upperCase(subjectCode))) {
        // Common national subject
        KoskiOppiaineetYleissivistava kansallinenAine = KoskiOppiaineetYleissivistava.valueOf(StringUtils.upperCase(subjectCode));
        AikuistenPerusopetuksenOppiaineenTunniste tunniste = new AikuistenPerusopetuksenOppiaineenSuoritusMuu(kansallinenAine, isPakollinenOppiaine(student, kansallinenAine));
        return map(map, mapKey, creditOPS, tunniste, subject);
    } else {
        // Other local subject
        // TODO Skipped subjects ?? (MUU)
        PaikallinenKoodi paikallinenKoodi = new PaikallinenKoodi(subjectCode, kuvaus(subject.getName()));
        AikuistenPerusopetuksenOppiaineenSuoritusPaikallinen tunniste = new AikuistenPerusopetuksenOppiaineenSuoritusPaikallinen(paikallinenKoodi, false, kuvaus(subject.getName()));
        return map(map, mapKey, creditOPS, tunniste, subject);
    }
}
Also used : KoskiOppiaineetYleissivistava(fi.otavanopisto.pyramus.koski.koodisto.KoskiOppiaineetYleissivistava) Kielivalikoima(fi.otavanopisto.pyramus.koski.koodisto.Kielivalikoima) AikuistenPerusopetuksenOppiaineenSuoritusPaikallinen(fi.otavanopisto.pyramus.koski.model.aikuistenperusopetus.AikuistenPerusopetuksenOppiaineenSuoritusPaikallinen) Date(java.util.Date) AikuistenPerusopetuksenOppiaineenSuoritusMuu(fi.otavanopisto.pyramus.koski.model.aikuistenperusopetus.AikuistenPerusopetuksenOppiaineenSuoritusMuu) AikuistenPerusopetuksenOppiaineenSuoritusVierasKieli(fi.otavanopisto.pyramus.koski.model.aikuistenperusopetus.AikuistenPerusopetuksenOppiaineenSuoritusVierasKieli) AikuistenPerusopetuksenOppiaineenSuoritusAidinkieli(fi.otavanopisto.pyramus.koski.model.aikuistenperusopetus.AikuistenPerusopetuksenOppiaineenSuoritusAidinkieli) PaikallinenKoodi(fi.otavanopisto.pyramus.koski.model.PaikallinenKoodi) OppiaineAidinkieliJaKirjallisuus(fi.otavanopisto.pyramus.koski.koodisto.OppiaineAidinkieliJaKirjallisuus) AikuistenPerusopetuksenOppiaineenTunniste(fi.otavanopisto.pyramus.koski.model.aikuistenperusopetus.AikuistenPerusopetuksenOppiaineenTunniste)

Example 3 with PaikallinenKoodi

use of fi.otavanopisto.pyramus.koski.model.PaikallinenKoodi in project pyramus by otavanopisto.

the class KoskiLukioStudentHandler method createKurssiSuoritus.

protected LukionKurssinSuoritus createKurssiSuoritus(Student student, OpiskelijanOPS ops, CreditStub courseCredit) {
    String kurssiKoodi = courseCredit.getCourseCode();
    LukionKurssinTunniste tunniste;
    if (ops == OpiskelijanOPS.ops2016 && EnumUtils.isValidEnum(LukionKurssit.class, kurssiKoodi)) {
        // OPS 2016 (2015)
        LukionKurssit kurssi = LukionKurssit.valueOf(kurssiKoodi);
        LukionKurssinTyyppi kurssinTyyppi = findCourseType(student, courseCredit, true, LukionKurssinTyyppi.pakollinen, LukionKurssinTyyppi.syventava);
        tunniste = new LukionKurssinTunnisteValtakunnallinenOPS2015(kurssi, kurssinTyyppi);
    } else if (ops == OpiskelijanOPS.ops2005 && EnumUtils.isValidEnum(LukionKurssitOPS2004Aikuiset.class, kurssiKoodi)) {
        // OPS 2005 (2004)
        LukionKurssitOPS2004Aikuiset kurssi = LukionKurssitOPS2004Aikuiset.valueOf(kurssiKoodi);
        LukionKurssinTyyppi kurssinTyyppi = findCourseType(student, courseCredit, true, LukionKurssinTyyppi.pakollinen, LukionKurssinTyyppi.syventava);
        tunniste = new LukionKurssinTunnisteValtakunnallinenOPS2004(kurssi, kurssinTyyppi);
    } else {
        PaikallinenKoodi paikallinenKoodi = new PaikallinenKoodi(kurssiKoodi, kuvaus(courseCredit.getSubject().getName()));
        LukionKurssinTyyppi kurssinTyyppi = findCourseType(student, courseCredit, true, LukionKurssinTyyppi.syventava, LukionKurssinTyyppi.soveltava);
        tunniste = new LukionKurssinTunnistePaikallinen(paikallinenKoodi, kurssinTyyppi, kuvaus(courseCredit.getCourseName()));
    }
    LukionKurssinSuoritus suoritus = new LukionKurssinSuoritus(tunniste);
    return luoKurssiSuoritus(suoritus, courseCredit);
}
Also used : LukionKurssinTyyppi(fi.otavanopisto.pyramus.koski.koodisto.LukionKurssinTyyppi) PaikallinenKoodi(fi.otavanopisto.pyramus.koski.model.PaikallinenKoodi) LukionKurssitOPS2004Aikuiset(fi.otavanopisto.pyramus.koski.koodisto.LukionKurssitOPS2004Aikuiset) LukionKurssit(fi.otavanopisto.pyramus.koski.koodisto.LukionKurssit)

Example 4 with PaikallinenKoodi

use of fi.otavanopisto.pyramus.koski.model.PaikallinenKoodi in project pyramus by otavanopisto.

the class KoskiLukioStudentHandler method getSubject.

private OppiaineenSuoritusWithSubject<LukionOppiaineenSuoritus> getSubject(Student student, OpiskelijanOPS ops, EducationType studentEducationType, Subject subject, StudentSubjectSelections studentSubjects, Map<String, OppiaineenSuoritusWithSubject<LukionOppiaineenSuoritus>> map) {
    String subjectCode = subjectCode(subject);
    if (map.containsKey(subjectCode))
        return map.get(subjectCode);
    boolean matchingEducationType = studentEducationType != null && subject.getEducationType() != null && studentEducationType.getId().equals(subject.getEducationType().getId());
    // MATHEMATICS
    if (matchingEducationType && isMathSubject(subjectCode)) {
        if (StringUtils.equals(subjectCode, "MAY") && isMathSubject(studentSubjects.getMath())) {
            // MAY is mapped to either MAB/MAA unless neither is specified
            subjectCode = studentSubjects.getMath();
            if (map.containsKey(subjectCode)) {
                return map.get(subjectCode);
            }
        }
        if (StringUtils.equals(subjectCode, studentSubjects.getMath())) {
            LukionOppiaineenTunniste tunniste = new LukionOppiaineenSuoritusMatematiikka(OppiaineMatematiikka.valueOf(subjectCode), isPakollinenOppiaine(student, KoskiOppiaineetYleissivistava.MA));
            return mapSubject(subject, subjectCode, false, tunniste, map);
        } else
            return null;
    }
    if (matchingEducationType && StringUtils.equals(subjectCode, "ÄI")) {
        if (StringUtils.equals(subjectCode, studentSubjects.getPrimaryLanguage())) {
            LukionOppiaineenTunniste tunniste = new LukionOppiaineenSuoritusAidinkieli(OppiaineAidinkieliJaKirjallisuus.AI1, isPakollinenOppiaine(student, KoskiOppiaineetYleissivistava.AI));
            return mapSubject(subject, subjectCode, false, tunniste, map);
        } else
            return null;
    }
    if (matchingEducationType && StringUtils.equals(subjectCode, "S2")) {
        if (StringUtils.equals(subjectCode, studentSubjects.getPrimaryLanguage())) {
            LukionOppiaineenTunniste tunniste = new LukionOppiaineenSuoritusAidinkieli(OppiaineAidinkieliJaKirjallisuus.AI7, isPakollinenOppiaine(student, KoskiOppiaineetYleissivistava.AI));
            return mapSubject(subject, subjectCode, false, tunniste, map);
        } else
            return null;
    }
    if (matchingEducationType && studentSubjects.isAdditionalLanguage(subjectCode)) {
        if (subjectCode.length() > 2) {
            String langCode = settings.getSubjectToLanguageMapping(subjectCode.substring(0, 2).toUpperCase());
            Kielivalikoima kieli = Kielivalikoima.valueOf(langCode);
            if (kieli != null) {
                KoskiOppiaineetYleissivistava valinta = studentSubjects.koskiKoodi(ops, subjectCode);
                LukionOppiaineenTunniste tunniste = new LukionOppiaineenSuoritusVierasKieli(valinta, kieli, isPakollinenOppiaine(student, valinta));
                return mapSubject(subject, subjectCode, false, tunniste, map);
            } else {
                logger.log(Level.SEVERE, String.format("Koski: Language code %s could not be converted to an enum.", langCode));
                koskiPersonLogDAO.create(student.getPerson(), student, KoskiPersonState.UNKNOWN_LANGUAGE, new Date(), langCode);
                return null;
            }
        }
    }
    String[] religionSubjects = new String[] { "UE", "UO" };
    if (matchingEducationType && ArrayUtils.contains(religionSubjects, subjectCode)) {
        // Only the religion that student has selected is reported
        if (StringUtils.equals(subjectCode, studentSubjects.getReligion())) {
            if (map.containsKey("KT"))
                return map.get("KT");
            KoskiOppiaineetYleissivistava kansallinenAine = KoskiOppiaineetYleissivistava.KT;
            LukionOppiaineenTunniste tunniste = new LukionOppiaineenSuoritusMuuValtakunnallinen(kansallinenAine, isPakollinenOppiaine(student, kansallinenAine));
            return mapSubject(subject, "KT", false, tunniste, map);
        } else
            return null;
    }
    if (matchingEducationType && EnumUtils.isValidEnum(KoskiOppiaineetYleissivistava.class, StringUtils.upperCase(subjectCode))) {
        // Common national subject
        KoskiOppiaineetYleissivistava kansallinenAine = KoskiOppiaineetYleissivistava.valueOf(StringUtils.upperCase(subjectCode));
        LukionOppiaineenTunniste tunniste = new LukionOppiaineenSuoritusMuuValtakunnallinen(kansallinenAine, isPakollinenOppiaine(student, kansallinenAine));
        return mapSubject(subject, subjectCode, false, tunniste, map);
    } else {
        // Other local subject
        PaikallinenKoodi paikallinenKoodi = new PaikallinenKoodi(subjectCode, kuvaus(subject.getName()));
        LukionOppiaineenSuoritusPaikallinen tunniste = new LukionOppiaineenSuoritusPaikallinen(paikallinenKoodi, false, kuvaus(subject.getName()));
        return mapSubject(subject, subjectCode, true, tunniste, map);
    }
}
Also used : KoskiOppiaineetYleissivistava(fi.otavanopisto.pyramus.koski.koodisto.KoskiOppiaineetYleissivistava) Kielivalikoima(fi.otavanopisto.pyramus.koski.koodisto.Kielivalikoima) Date(java.util.Date) PaikallinenKoodi(fi.otavanopisto.pyramus.koski.model.PaikallinenKoodi)

Example 5 with PaikallinenKoodi

use of fi.otavanopisto.pyramus.koski.model.PaikallinenKoodi in project pyramus by otavanopisto.

the class AbstractKoskiLukioStudentHandler2019 method createKurssiSuoritus.

protected LukionOpintojaksonSuoritus2019 createKurssiSuoritus(Student student, StudentSubjectSelections studentSubjects, boolean paikallinenOppiaine, OpiskelijanOPS ops, CreditStub courseCredit) {
    String kurssiKoodi = courseCredit.getCourseCode();
    LukionOpintojaksonTunniste2019 tunniste;
    String subjectCode = subjectCode(courseCredit.getSubject());
    Laajuus laajuus = kurssinLaajuus(student, courseCredit);
    if (laajuus != null && laajuus.getYksikko() != null && laajuus.getYksikko().getValue() != OpintojenLaajuusYksikko.op) {
        koskiPersonLogDAO.create(student.getPerson(), student, KoskiPersonState.LUKIO2019_CREDIT_NOT_IN_POINTS, new Date(), kurssiKoodi);
    }
    SuorituksenTyyppi suorituksenTyyppi;
    if (!paikallinenOppiaine && EnumUtils.isValidEnum(ModuuliKoodistoLOPS2021.class, kurssiKoodi)) {
        /**
         * Tässä yhteydessä:
         * * pakollinen => valtakunnallinen pakollinen
         * * syventava => valtakunnallinen valinnainen
         */
        LukionKurssinTyyppi kurssinTyyppi = findCourseType(student, courseCredit, true, LukionKurssinTyyppi.pakollinen, LukionKurssinTyyppi.syventava);
        boolean pakollinen = kurssinTyyppi == LukionKurssinTyyppi.pakollinen;
        suorituksenTyyppi = SuorituksenTyyppi.lukionvaltakunnallinenmoduuli;
        ModuuliKoodistoLOPS2021 kurssi = ModuuliKoodistoLOPS2021.valueOf(kurssiKoodi);
        if (studentSubjects.isAdditionalLanguage(subjectCode)) {
            tunniste = new LukionOpintojaksonTunnisteVierasKieli2019(kurssi, laajuus, pakollinen);
        } else {
            tunniste = new LukionOpintojaksonTunnisteMuuModuuli2019(kurssi, laajuus, pakollinen);
        }
    } else {
        /**
         * Tässä yhteydessä:
         * * syventava => paikallinen pakollinen
         * * soveltava => paikallinen valinnainen
         */
        LukionKurssinTyyppi kurssinTyyppi = findCourseType(student, courseCredit, false, LukionKurssinTyyppi.syventava, LukionKurssinTyyppi.soveltava);
        boolean pakollinen = kurssinTyyppi == LukionKurssinTyyppi.pakollinen;
        suorituksenTyyppi = SuorituksenTyyppi.lukionpaikallinenopintojakso;
        PaikallinenKoodi paikallinenKoodi = new PaikallinenKoodi(kurssiKoodi, kuvaus(courseCredit.getSubject().getName()));
        tunniste = new LukionOpintojaksonTunnistePaikallinen2019(paikallinenKoodi, laajuus, pakollinen, kuvaus(courseCredit.getCourseName()));
    }
    LukionOpintojaksonSuoritus2019 suoritus = new LukionOpintojaksonSuoritus2019(tunniste, suorituksenTyyppi);
    return luoKurssiSuoritus(suoritus, courseCredit);
}
Also used : ModuuliKoodistoLOPS2021(fi.otavanopisto.pyramus.koski.koodisto.ModuuliKoodistoLOPS2021) Date(java.util.Date) LukionKurssinTyyppi(fi.otavanopisto.pyramus.koski.koodisto.LukionKurssinTyyppi) SuorituksenTyyppi(fi.otavanopisto.pyramus.koski.koodisto.SuorituksenTyyppi) PaikallinenKoodi(fi.otavanopisto.pyramus.koski.model.PaikallinenKoodi) Laajuus(fi.otavanopisto.pyramus.koski.model.Laajuus)

Aggregations

PaikallinenKoodi (fi.otavanopisto.pyramus.koski.model.PaikallinenKoodi)19 Date (java.util.Date)14 OpintojenRahoitus (fi.otavanopisto.pyramus.koski.koodisto.OpintojenRahoitus)7 HenkiloUusi (fi.otavanopisto.pyramus.koski.model.HenkiloUusi)7 KurssinArviointiNumeerinen (fi.otavanopisto.pyramus.koski.model.KurssinArviointiNumeerinen)7 KurssinArviointiSanallinen (fi.otavanopisto.pyramus.koski.model.KurssinArviointiSanallinen)7 OpiskeluoikeusJakso (fi.otavanopisto.pyramus.koski.model.OpiskeluoikeusJakso)7 Oppija (fi.otavanopisto.pyramus.koski.model.Oppija)7 OrganisaationToimipiste (fi.otavanopisto.pyramus.koski.model.OrganisaationToimipiste)7 OrganisaationToimipisteOID (fi.otavanopisto.pyramus.koski.model.OrganisaationToimipisteOID)7 Kielivalikoima (fi.otavanopisto.pyramus.koski.koodisto.Kielivalikoima)6 KoskiOppiaineetYleissivistava (fi.otavanopisto.pyramus.koski.koodisto.KoskiOppiaineetYleissivistava)5 LukionOpiskeluoikeus (fi.otavanopisto.pyramus.koski.model.lukio.LukionOpiskeluoikeus)4 LukionKurssinTyyppi (fi.otavanopisto.pyramus.koski.koodisto.LukionKurssinTyyppi)3 OppiaineAidinkieliJaKirjallisuus (fi.otavanopisto.pyramus.koski.koodisto.OppiaineAidinkieliJaKirjallisuus)3 Laajuus (fi.otavanopisto.pyramus.koski.model.Laajuus)3 AikuistenPerusopetuksenKurssinSuoritus (fi.otavanopisto.pyramus.koski.model.aikuistenperusopetus.AikuistenPerusopetuksenKurssinSuoritus)3 AikuistenPerusopetuksenKurssinTunniste (fi.otavanopisto.pyramus.koski.model.aikuistenperusopetus.AikuistenPerusopetuksenKurssinTunniste)3 AikuistenPerusopetuksenKurssinTunnisteOPS2015 (fi.otavanopisto.pyramus.koski.model.aikuistenperusopetus.AikuistenPerusopetuksenKurssinTunnisteOPS2015)3 AikuistenPerusopetuksenKurssinTunnistePaikallinen (fi.otavanopisto.pyramus.koski.model.aikuistenperusopetus.AikuistenPerusopetuksenKurssinTunnistePaikallinen)3