Search in sources :

Example 1 with LukionOppiaineenArviointi

use of fi.otavanopisto.pyramus.koski.model.lukio.LukionOppiaineenArviointi in project pyramus by otavanopisto.

the class KoskiInternetixLukioStudentHandler method assessmentsToModel.

private void assessmentsToModel(LukionOpiskeluoikeus opiskeluoikeus, Student student, StudentSubjectSelections studentSubjects, boolean calculateMeanGrades, boolean sisällytäVahvistus, String toimipisteOID, boolean defaultStudyProgramme) {
    List<OpiskelijanOPS> opsList = new ArrayList<>();
    opsList.add(OpiskelijanOPS.ops2016);
    opsList.add(OpiskelijanOPS.ops2005);
    KoskiStudyProgrammeHandlerParams handlerParams = getHandlerParams(HANDLER_TYPE);
    // If this is default study programme of the student, we exclude the incompatible education type (ie list all other edutypes)
    // Otherwise, only list credits from one education type
    Predicate<Credit> predicate = defaultStudyProgramme ? credit -> !matchingEducationTypeFilter(credit, handlerParams.getExcludedEducationTypes()) : credit -> matchingEducationTypeFilter(credit, handlerParams.getEducationTypes());
    Map<OpiskelijanOPS, List<CreditStub>> opsCredits = listCredits(student, true, true, opsList, OpiskelijanOPS.ops2016, predicate);
    Map<String, OppiaineenSuoritusWithCurriculum<LukionOppiaineenSuoritus>> map = new HashMap<>();
    Set<OppiaineenSuoritusWithCurriculum<LukionOppiaineenSuoritus>> accomplished = new HashSet<>();
    for (OpiskelijanOPS ops : opsCredits.keySet()) {
        List<CreditStub> credits = opsCredits.get(ops);
        for (CreditStub credit : credits) {
            OppiaineenSuoritusWithCurriculum<LukionOppiaineenSuoritus> oppiaineenSuoritus = getSubject(ops, student, handlerParams.getEducationTypes(), credit.getSubject(), studentSubjects, map);
            collectAccomplishedMarks(credit.getSubject(), oppiaineenSuoritus, studentSubjects, accomplished);
            if (settings.isReportedCredit(credit) && oppiaineenSuoritus != null) {
                LukionKurssinSuoritus kurssiSuoritus = createKurssiSuoritus(student, ops, credit);
                if (kurssiSuoritus != null) {
                    oppiaineenSuoritus.getOppiaineenSuoritus().addOsasuoritus(kurssiSuoritus);
                } else {
                    logger.warning(String.format("Course %s not reported for student %d due to unresolvable credit.", credit.getCourseCode(), student.getId()));
                    koskiPersonLogDAO.create(student.getPerson(), student, KoskiPersonState.UNREPORTED_CREDIT, new Date(), credit.getCourseCode());
                }
            }
        }
    }
    for (OppiaineenSuoritusWithCurriculum<LukionOppiaineenSuoritus> lukionOppiaineenSuoritus : map.values()) {
        if (CollectionUtils.isEmpty(lukionOppiaineenSuoritus.getOppiaineenSuoritus().getOsasuoritukset())) {
            // Skip empty subjects
            continue;
        }
        StudentSubjectGrade studentSubjectGrade = findStudentSubjectGrade(student, lukionOppiaineenSuoritus.getSubject());
        boolean hasStudentSubjectGrade = studentSubjectGrade != null;
        // Valmiille oppiaineelle on rustattava kokonaisarviointi
        if (calculateMeanGrades || hasStudentSubjectGrade) {
            ArviointiasteikkoYleissivistava aineKeskiarvo = accomplished.contains(lukionOppiaineenSuoritus) ? ArviointiasteikkoYleissivistava.GRADE_S : getSubjectMeanGrade(student, lukionOppiaineenSuoritus.getSubject(), lukionOppiaineenSuoritus.getOppiaineenSuoritus());
            if (aineKeskiarvo != null) {
                Date arviointiPvm = (studentSubjectGrade != null && studentSubjectGrade.getGradeDate() != null) ? studentSubjectGrade.getGradeDate() : student.getStudyEndDate();
                LukionOppiaineenArviointi arviointi = new LukionOppiaineenArviointi(aineKeskiarvo, arviointiPvm);
                lukionOppiaineenSuoritus.getOppiaineenSuoritus().addArviointi(arviointi);
            } else {
                logger.warning(String.format("Unresolved mean grade for person %d.", student.getPerson().getId()));
            }
        }
        LukionOppiaineenSuoritus oppiaineenSuoritus = lukionOppiaineenSuoritus.getOppiaineenSuoritus();
        LukionOppiaineenOppimaaranSuoritus oppiaineenOppimaaranSuoritus = LukionOppiaineenOppimaaranSuoritus.from(oppiaineenSuoritus, Kieli.FI, new OrganisaationToimipisteOID(toimipisteOID));
        oppiaineenOppimaaranSuoritus.getKoulutusmoduuli().setPerusteenDiaarinumero(getDiaarinumero(HANDLER_TYPE, lukionOppiaineenSuoritus.getOps()));
        oppiaineenOppimaaranSuoritus.setTodistuksellaNakyvatLisatiedot(getTodistuksellaNakyvatLisatiedot(student));
        if (hasStudentSubjectGrade) {
            oppiaineenOppimaaranSuoritus.setVahvistus(getVahvistus(student, studentSubjectGrade.getGradeApprover(), studentSubjectGrade.getGradeDate(), toimipisteOID));
        } else if (sisällytäVahvistus) {
            oppiaineenOppimaaranSuoritus.setVahvistus(getVahvistus(student, toimipisteOID));
        }
        opiskeluoikeus.addSuoritus(oppiaineenOppimaaranSuoritus);
    }
}
Also used : LukionOppiaineenOppimaaranSuoritus(fi.otavanopisto.pyramus.koski.model.lukio.LukionOppiaineenOppimaaranSuoritus) HashMap(java.util.HashMap) ArrayList(java.util.ArrayList) CreditStub(fi.otavanopisto.pyramus.koski.CreditStub) LukionOppiaineenSuoritus(fi.otavanopisto.pyramus.koski.model.lukio.LukionOppiaineenSuoritus) LukionOppiaineenArviointi(fi.otavanopisto.pyramus.koski.model.lukio.LukionOppiaineenArviointi) CreditStubCredit(fi.otavanopisto.pyramus.koski.CreditStubCredit) Credit(fi.otavanopisto.pyramus.domainmodel.grading.Credit) TransferCredit(fi.otavanopisto.pyramus.domainmodel.grading.TransferCredit) LukionKurssinSuoritus(fi.otavanopisto.pyramus.koski.model.lukio.LukionKurssinSuoritus) List(java.util.List) ArrayList(java.util.ArrayList) KoskiStudyProgrammeHandlerParams(fi.otavanopisto.pyramus.koski.settings.KoskiStudyProgrammeHandlerParams) HashSet(java.util.HashSet) OppiaineenSuoritusWithCurriculum(fi.otavanopisto.pyramus.koski.OppiaineenSuoritusWithCurriculum) ArviointiasteikkoYleissivistava(fi.otavanopisto.pyramus.koski.koodisto.ArviointiasteikkoYleissivistava) Date(java.util.Date) StudentSubjectGrade(fi.otavanopisto.pyramus.domainmodel.students.StudentSubjectGrade) OpiskelijanOPS(fi.otavanopisto.pyramus.koski.OpiskelijanOPS) OrganisaationToimipisteOID(fi.otavanopisto.pyramus.koski.model.OrganisaationToimipisteOID)

Example 2 with LukionOppiaineenArviointi

use of fi.otavanopisto.pyramus.koski.model.lukio.LukionOppiaineenArviointi in project pyramus by otavanopisto.

the class LukioOppimaaraData method getTestStudent.

public static Oppija getTestStudent() {
    Oppija oppija = new Oppija();
    oppija.setHenkilo(new HenkiloUusi("111111A111C", "Sally", "Student", "Sally"));
    LukionOpiskeluoikeus opiskeluoikeus = new LukionOpiskeluoikeus();
    oppija.addOpiskeluoikeus(opiskeluoikeus);
    Date paattymispaiva = date(2017, 10, 10);
    opiskeluoikeus.setPaattymispaiva(paattymispaiva);
    OpiskeluoikeusJakso jakso = new OpiskeluoikeusJakso(new Date(), OpiskeluoikeudenTila.lasna);
    jakso.setOpintojenRahoitus(new KoodistoViite<OpintojenRahoitus>(OpintojenRahoitus.K1));
    opiskeluoikeus.getTila().addOpiskeluoikeusJakso(jakso);
    opiskeluoikeus.getTila().addOpiskeluoikeusJakso(new OpiskeluoikeusJakso(paattymispaiva, OpiskeluoikeudenTila.valmistunut));
    opiskeluoikeus.setLahdejarjestelmanId(getLahdeJarjestelmaID(1l));
    OrganisaationToimipiste toimipiste = new OrganisaationToimipisteOID(ACADEMYOID);
    LukionOppimaaranSuoritus suoritus = new LukionOppimaaranSuoritus(LukionOppimaara.aikuistenops, Kieli.FI, toimipiste);
    opiskeluoikeus.addSuoritus(suoritus);
    // Oppiaine
    LukionOppiaineenTunniste koulutusmoduuli = new LukionOppiaineenSuoritusAidinkieli(OppiaineAidinkieliJaKirjallisuus.AI1, true);
    LukionOppiaineenSuoritus oppiaine = new LukionOppiaineenSuoritus(koulutusmoduuli);
    suoritus.addOsasuoritus(oppiaine);
    // Oppiaineen arviointi
    oppiaine.addArviointi(new LukionOppiaineenArviointi(ArviointiasteikkoYleissivistava.GRADE_9, paattymispaiva));
    // Kurssi 1
    LukionKurssinTunniste kurssinTunniste = new LukionKurssinTunnisteValtakunnallinenOPS2015(LukionKurssit.ÄI1, LukionKurssinTyyppi.pakollinen);
    LukionKurssinSuoritus kurssi = new LukionKurssinSuoritus(kurssinTunniste);
    kurssi.addArviointi(new KurssinArviointiNumeerinen(ArviointiasteikkoYleissivistava.GRADE_9, paattymispaiva));
    oppiaine.addOsasuoritus(kurssi);
    // Kurssi 2
    kurssinTunniste = new LukionKurssinTunnistePaikallinen(new PaikallinenKoodi("ÄI123", kuvaus("ABC")), LukionKurssinTyyppi.syventava, kuvaus("ABC"));
    kurssi = new LukionKurssinSuoritus(kurssinTunniste);
    kurssi.addArviointi(new KurssinArviointiSanallinen(ArviointiasteikkoYleissivistava.GRADE_S, paattymispaiva, kuvaus("S")));
    oppiaine.addOsasuoritus(kurssi);
    return oppija;
}
Also used : LukionKurssinTunniste(fi.otavanopisto.pyramus.koski.model.lukio.LukionKurssinTunniste) OrganisaationToimipiste(fi.otavanopisto.pyramus.koski.model.OrganisaationToimipiste) HenkiloUusi(fi.otavanopisto.pyramus.koski.model.HenkiloUusi) LukionOpiskeluoikeus(fi.otavanopisto.pyramus.koski.model.lukio.LukionOpiskeluoikeus) OpiskeluoikeusJakso(fi.otavanopisto.pyramus.koski.model.OpiskeluoikeusJakso) LukionOppiaineenSuoritus(fi.otavanopisto.pyramus.koski.model.lukio.LukionOppiaineenSuoritus) LukionOppiaineenArviointi(fi.otavanopisto.pyramus.koski.model.lukio.LukionOppiaineenArviointi) LukionOppiaineenSuoritusAidinkieli(fi.otavanopisto.pyramus.koski.model.lukio.LukionOppiaineenSuoritusAidinkieli) Date(java.util.Date) KurssinArviointiSanallinen(fi.otavanopisto.pyramus.koski.model.KurssinArviointiSanallinen) OpintojenRahoitus(fi.otavanopisto.pyramus.koski.koodisto.OpintojenRahoitus) LukionKurssinTunnistePaikallinen(fi.otavanopisto.pyramus.koski.model.lukio.LukionKurssinTunnistePaikallinen) LukionOppiaineenTunniste(fi.otavanopisto.pyramus.koski.model.lukio.LukionOppiaineenTunniste) LukionKurssinSuoritus(fi.otavanopisto.pyramus.koski.model.lukio.LukionKurssinSuoritus) PaikallinenKoodi(fi.otavanopisto.pyramus.koski.model.PaikallinenKoodi) OrganisaationToimipisteOID(fi.otavanopisto.pyramus.koski.model.OrganisaationToimipisteOID) LukionKurssinTunnisteValtakunnallinenOPS2015(fi.otavanopisto.pyramus.koski.model.lukio.LukionKurssinTunnisteValtakunnallinenOPS2015) Oppija(fi.otavanopisto.pyramus.koski.model.Oppija) LukionOppimaaranSuoritus(fi.otavanopisto.pyramus.koski.model.lukio.LukionOppimaaranSuoritus) KurssinArviointiNumeerinen(fi.otavanopisto.pyramus.koski.model.KurssinArviointiNumeerinen)

Example 3 with LukionOppiaineenArviointi

use of fi.otavanopisto.pyramus.koski.model.lukio.LukionOppiaineenArviointi in project pyramus by otavanopisto.

the class LukioOppimaara2019Data method getTestStudent.

public static Oppija getTestStudent() {
    Oppija oppija = new Oppija();
    oppija.setHenkilo(new HenkiloUusi("111111A111C", "Sally", "Student", "Sally"));
    LukionOpiskeluoikeus opiskeluoikeus = new LukionOpiskeluoikeus();
    oppija.addOpiskeluoikeus(opiskeluoikeus);
    Date paattymispaiva = date(2017, 10, 10);
    opiskeluoikeus.setPaattymispaiva(paattymispaiva);
    OpiskeluoikeusJakso jakso = new OpiskeluoikeusJakso(new Date(), OpiskeluoikeudenTila.lasna);
    jakso.setOpintojenRahoitus(new KoodistoViite<OpintojenRahoitus>(OpintojenRahoitus.K1));
    opiskeluoikeus.getTila().addOpiskeluoikeusJakso(jakso);
    opiskeluoikeus.getTila().addOpiskeluoikeusJakso(new OpiskeluoikeusJakso(paattymispaiva, OpiskeluoikeudenTila.valmistunut));
    opiskeluoikeus.setLahdejarjestelmanId(getLahdeJarjestelmaID(1l));
    OrganisaationToimipiste toimipiste = new OrganisaationToimipisteOID(ACADEMYOID);
    LukionOppimaaranSuoritus2019 suoritus = new LukionOppimaaranSuoritus2019(LukionOppimaara.aikuistenops, Kieli.FI, toimipiste);
    opiskeluoikeus.addSuoritus(suoritus);
    // Oppiaine
    LukionOppiaineenSuoritusAidinkieli2019 koulutusmoduuli = new LukionOppiaineenSuoritusAidinkieli2019(OppiaineAidinkieliJaKirjallisuus.AI1, true);
    LukionOppiaineenSuoritus2019 oppiaine = new LukionOppiaineenSuoritus2019(koulutusmoduuli, false);
    suoritus.addOsasuoritus(oppiaine);
    // Oppiaineen arviointi
    oppiaine.addArviointi(new LukionOppiaineenArviointi(ArviointiasteikkoYleissivistava.GRADE_9, paattymispaiva));
    // Kurssi 1
    LukionOpintojaksonTunniste2019 kurssinTunniste = new LukionOpintojaksonTunnisteMuuModuuli2019(ModuuliKoodistoLOPS2021.ÄI1, new Laajuus(2, OpintojenLaajuusYksikko.op), true);
    LukionOpintojaksonSuoritus2019 kurssi = new LukionOpintojaksonSuoritus2019(kurssinTunniste, SuorituksenTyyppi.lukionvaltakunnallinenmoduuli);
    kurssi.addArviointi(new KurssinArviointiNumeerinen(ArviointiasteikkoYleissivistava.GRADE_9, paattymispaiva));
    oppiaine.addOsasuoritus(kurssi);
    // Kurssi 2
    kurssinTunniste = new LukionOpintojaksonTunnistePaikallinen2019(new PaikallinenKoodi("ÄI123", kuvaus("ABC")), new Laajuus(2, OpintojenLaajuusYksikko.op), false, kuvaus("ABC"));
    kurssi = new LukionOpintojaksonSuoritus2019(kurssinTunniste, SuorituksenTyyppi.lukionpaikallinenopintojakso);
    kurssi.addArviointi(new KurssinArviointiSanallinen(ArviointiasteikkoYleissivistava.GRADE_S, paattymispaiva, kuvaus("S")));
    oppiaine.addOsasuoritus(kurssi);
    return oppija;
}
Also used : LukionOppiaineenSuoritusAidinkieli2019(fi.otavanopisto.pyramus.koski.model.lukio.ops2019.LukionOppiaineenSuoritusAidinkieli2019) OrganisaationToimipiste(fi.otavanopisto.pyramus.koski.model.OrganisaationToimipiste) LukionOpintojaksonTunniste2019(fi.otavanopisto.pyramus.koski.model.lukio.ops2019.LukionOpintojaksonTunniste2019) HenkiloUusi(fi.otavanopisto.pyramus.koski.model.HenkiloUusi) LukionOpiskeluoikeus(fi.otavanopisto.pyramus.koski.model.lukio.LukionOpiskeluoikeus) OpiskeluoikeusJakso(fi.otavanopisto.pyramus.koski.model.OpiskeluoikeusJakso) LukionOpintojaksonTunnisteMuuModuuli2019(fi.otavanopisto.pyramus.koski.model.lukio.ops2019.LukionOpintojaksonTunnisteMuuModuuli2019) LukionOppiaineenArviointi(fi.otavanopisto.pyramus.koski.model.lukio.LukionOppiaineenArviointi) Date(java.util.Date) KurssinArviointiSanallinen(fi.otavanopisto.pyramus.koski.model.KurssinArviointiSanallinen) LukionOppiaineenSuoritus2019(fi.otavanopisto.pyramus.koski.model.lukio.ops2019.LukionOppiaineenSuoritus2019) LukionOpintojaksonTunnistePaikallinen2019(fi.otavanopisto.pyramus.koski.model.lukio.ops2019.LukionOpintojaksonTunnistePaikallinen2019) OpintojenRahoitus(fi.otavanopisto.pyramus.koski.koodisto.OpintojenRahoitus) LukionOpintojaksonSuoritus2019(fi.otavanopisto.pyramus.koski.model.lukio.ops2019.LukionOpintojaksonSuoritus2019) PaikallinenKoodi(fi.otavanopisto.pyramus.koski.model.PaikallinenKoodi) OrganisaationToimipisteOID(fi.otavanopisto.pyramus.koski.model.OrganisaationToimipisteOID) Oppija(fi.otavanopisto.pyramus.koski.model.Oppija) Laajuus(fi.otavanopisto.pyramus.koski.model.Laajuus) LukionOppimaaranSuoritus2019(fi.otavanopisto.pyramus.koski.model.lukio.ops2019.LukionOppimaaranSuoritus2019) KurssinArviointiNumeerinen(fi.otavanopisto.pyramus.koski.model.KurssinArviointiNumeerinen)

Example 4 with LukionOppiaineenArviointi

use of fi.otavanopisto.pyramus.koski.model.lukio.LukionOppiaineenArviointi in project pyramus by otavanopisto.

the class AbstractKoskiLukioStudentHandler2019 method assessmentsToModel.

protected Set<LukionOsasuoritus2019> assessmentsToModel(OpiskelijanOPS ops, Student student, EducationType studentEducationType, StudentSubjectSelections studentSubjects, boolean calculateMeanGrades) {
    Collection<CreditStub> credits = listCredits(student, true, true, ops, credit -> matchingCurriculumFilter(student, credit));
    Set<LukionOsasuoritus2019> results = new HashSet<>();
    Map<String, OppiaineenSuoritusWithSubject<LukionOsasuoritus2019>> map = new HashMap<>();
    Set<OppiaineenSuoritusWithSubject<LukionOsasuoritus2019>> accomplished = new HashSet<>();
    for (CreditStub credit : credits) {
        OppiaineenSuoritusWithSubject<LukionOsasuoritus2019> oppiaineenSuoritusWSubject = getSubject(student, ops, studentEducationType, credit.getSubject(), studentSubjects, map);
        collectAccomplishedMarks(credit.getSubject(), oppiaineenSuoritusWSubject, studentSubjects, accomplished);
        if (settings.isReportedCredit(credit) && oppiaineenSuoritusWSubject != null) {
            LukionOpintojaksonSuoritus2019 kurssiSuoritus = createKurssiSuoritus(student, studentSubjects, oppiaineenSuoritusWSubject.isPaikallinenOppiaine(), ops, credit);
            if (kurssiSuoritus != null) {
                oppiaineenSuoritusWSubject.getOppiaineenSuoritus().addOsasuoritus(kurssiSuoritus);
            } else {
                logger.warning(String.format("Course %s not reported for student %d due to unresolvable credit.", credit.getCourseCode(), student.getId()));
                koskiPersonLogDAO.create(student.getPerson(), student, KoskiPersonState.UNREPORTED_CREDIT, new Date(), credit.getCourseCode());
            }
        }
    }
    for (OppiaineenSuoritusWithSubject<LukionOsasuoritus2019> lukionOppiaineenSuoritusWSubject : map.values()) {
        LukionOsasuoritus2019 lukionOsaSuoritus = lukionOppiaineenSuoritusWSubject.getOppiaineenSuoritus();
        if (CollectionUtils.isEmpty(lukionOsaSuoritus.getOsasuoritukset())) {
            // Skip empty subjects
            continue;
        }
        if (calculateMeanGrades && (lukionOsaSuoritus instanceof LukionOppiaineenSuoritus2019)) {
            LukionOppiaineenSuoritus2019 lukionOppiaineenSuoritus = (LukionOppiaineenSuoritus2019) lukionOsaSuoritus;
            ArviointiasteikkoYleissivistava aineKeskiarvo = accomplished.contains(lukionOppiaineenSuoritusWSubject) ? ArviointiasteikkoYleissivistava.GRADE_S : getSubjectMeanGrade(student, lukionOppiaineenSuoritusWSubject.getSubject(), lukionOsaSuoritus);
            if (aineKeskiarvo != null) {
                LukionOppiaineenArviointi arviointi = new LukionOppiaineenArviointi(aineKeskiarvo, student.getStudyEndDate());
                lukionOppiaineenSuoritus.addArviointi(arviointi);
            } else {
                logger.warning(String.format("Unresolved mean grade for person %d.", student.getPerson().getId()));
            }
        }
        results.add(lukionOsaSuoritus);
    }
    return results;
}
Also used : HashMap(java.util.HashMap) CreditStub(fi.otavanopisto.pyramus.koski.CreditStub) LukionOppiaineenArviointi(fi.otavanopisto.pyramus.koski.model.lukio.LukionOppiaineenArviointi) ArviointiasteikkoYleissivistava(fi.otavanopisto.pyramus.koski.koodisto.ArviointiasteikkoYleissivistava) Date(java.util.Date) OppiaineenSuoritusWithSubject(fi.otavanopisto.pyramus.koski.OppiaineenSuoritusWithSubject) HashSet(java.util.HashSet)

Aggregations

LukionOppiaineenArviointi (fi.otavanopisto.pyramus.koski.model.lukio.LukionOppiaineenArviointi)4 Date (java.util.Date)4 OrganisaationToimipisteOID (fi.otavanopisto.pyramus.koski.model.OrganisaationToimipisteOID)3 CreditStub (fi.otavanopisto.pyramus.koski.CreditStub)2 ArviointiasteikkoYleissivistava (fi.otavanopisto.pyramus.koski.koodisto.ArviointiasteikkoYleissivistava)2 OpintojenRahoitus (fi.otavanopisto.pyramus.koski.koodisto.OpintojenRahoitus)2 HenkiloUusi (fi.otavanopisto.pyramus.koski.model.HenkiloUusi)2 KurssinArviointiNumeerinen (fi.otavanopisto.pyramus.koski.model.KurssinArviointiNumeerinen)2 KurssinArviointiSanallinen (fi.otavanopisto.pyramus.koski.model.KurssinArviointiSanallinen)2 OpiskeluoikeusJakso (fi.otavanopisto.pyramus.koski.model.OpiskeluoikeusJakso)2 Oppija (fi.otavanopisto.pyramus.koski.model.Oppija)2 OrganisaationToimipiste (fi.otavanopisto.pyramus.koski.model.OrganisaationToimipiste)2 PaikallinenKoodi (fi.otavanopisto.pyramus.koski.model.PaikallinenKoodi)2 LukionKurssinSuoritus (fi.otavanopisto.pyramus.koski.model.lukio.LukionKurssinSuoritus)2 LukionOpiskeluoikeus (fi.otavanopisto.pyramus.koski.model.lukio.LukionOpiskeluoikeus)2 LukionOppiaineenSuoritus (fi.otavanopisto.pyramus.koski.model.lukio.LukionOppiaineenSuoritus)2 HashMap (java.util.HashMap)2 Credit (fi.otavanopisto.pyramus.domainmodel.grading.Credit)1 TransferCredit (fi.otavanopisto.pyramus.domainmodel.grading.TransferCredit)1 StudentSubjectGrade (fi.otavanopisto.pyramus.domainmodel.students.StudentSubjectGrade)1