Search in sources :

Example 16 with OrganisaationToimipisteOID

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

the class KoskiInternetixPkStudentHandler method studentToModel.

public OpiskeluoikeusInternetix studentToModel(Student student, String academyIdentifier) {
    StudentSubjectSelections studentSubjects = loadStudentSubjectSelections(student, getDefaultSubjectSelections());
    String studyOid = resolveInternetixOid(student, HANDLER_TYPE);
    // Skip student if it is archived and the studyoid is blank
    if (Boolean.TRUE.equals(student.getArchived()) && StringUtils.isBlank(studyOid)) {
        return null;
    }
    if (student.getStudyStartDate() == null) {
        koskiPersonLogDAO.create(student.getPerson(), student, KoskiPersonState.NO_STUDYSTARTDATE, new Date());
        return null;
    }
    boolean defaultStudyProgramme = settings.getStudyProgrammeHandlerType(student.getStudyProgramme().getId()) == HANDLER_TYPE;
    AikuistenPerusopetuksenOpiskeluoikeus opiskeluoikeus = new AikuistenPerusopetuksenOpiskeluoikeus();
    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;
    KoskiStudyProgrammeHandlerParams handlerParams = getHandlerParams(HANDLER_TYPE);
    // toimipiste-oid joko a) handlerParams:sta b) studyprogramme-asetuksista c) yleisesti kaikelle asetettu academyIdentifier
    String toimipisteOID = StringUtils.isNotBlank(handlerParams.getToimipisteOID()) ? handlerParams.getToimipisteOID() : settings.getToimipisteOID(student.getStudyProgramme().getId(), academyIdentifier);
    assessmentsToModel(opiskeluoikeus, student, studentSubjects, laskeKeskiarvot, sisällytäVahvistus, toimipisteOID, defaultStudyProgramme);
    // Aineopiskelija
    boolean eiSuorituksia = CollectionUtils.isEmpty(opiskeluoikeus.getSuoritukset());
    if (eiSuorituksia) {
        AikuistenPerusopetuksenOppiaineenTunniste oppiaineenTunniste = new AikuistenPerusopetuksenOppiaineenSuoritusEiTiedossa();
        AikuistenPerusopetuksenOppiaineenSuoritus oppiaineenSuoritus = new AikuistenPerusopetuksenOppiaineenSuoritus(oppiaineenTunniste);
        PerusopetuksenOppiaineenOppimaaranSuoritus oppiaineenOppimaaranSuoritus = PerusopetuksenOppiaineenOppimaaranSuoritus.from(oppiaineenSuoritus, suoritusTapa(student), Kieli.FI, new OrganisaationToimipisteOID(toimipisteOID));
        opiskeluoikeus.addSuoritus(oppiaineenOppimaaranSuoritus);
    }
    return new OpiskeluoikeusInternetix(opiskeluoikeus, eiSuorituksia);
}
Also used : PerusopetuksenOppiaineenOppimaaranSuoritus(fi.otavanopisto.pyramus.koski.model.aikuistenperusopetus.PerusopetuksenOppiaineenOppimaaranSuoritus) AikuistenPerusopetuksenOppiaineenSuoritusEiTiedossa(fi.otavanopisto.pyramus.koski.model.aikuistenperusopetus.AikuistenPerusopetuksenOppiaineenSuoritusEiTiedossa) StudyEndReasonMapping(fi.otavanopisto.pyramus.koski.settings.StudyEndReasonMapping) AikuistenPerusopetuksenOpiskeluoikeus(fi.otavanopisto.pyramus.koski.model.aikuistenperusopetus.AikuistenPerusopetuksenOpiskeluoikeus) Date(java.util.Date) OpintojenRahoitus(fi.otavanopisto.pyramus.koski.koodisto.OpintojenRahoitus) StudentSubjectSelections(fi.otavanopisto.pyramus.koski.StudentSubjectSelections) OrganisaationToimipisteOID(fi.otavanopisto.pyramus.koski.model.OrganisaationToimipisteOID) KoskiStudyProgrammeHandlerParams(fi.otavanopisto.pyramus.koski.settings.KoskiStudyProgrammeHandlerParams) AikuistenPerusopetuksenOppiaineenSuoritus(fi.otavanopisto.pyramus.koski.model.aikuistenperusopetus.AikuistenPerusopetuksenOppiaineenSuoritus) AikuistenPerusopetuksenOppiaineenTunniste(fi.otavanopisto.pyramus.koski.model.aikuistenperusopetus.AikuistenPerusopetuksenOppiaineenTunniste)

Example 17 with OrganisaationToimipisteOID

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

the class KoskiInternetixPkStudentHandler method assessmentsToModel.

private void assessmentsToModel(AikuistenPerusopetuksenOpiskeluoikeus opiskeluoikeus, Student student, StudentSubjectSelections studentSubjects, boolean calculateMeanGrades, boolean sisällytäVahvistus, String toimipisteOID, boolean defaultStudyProgramme) {
    List<OpiskelijanOPS> opsList = new ArrayList<>();
    opsList.add(OpiskelijanOPS.ops2018);
    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.ops2018, predicate);
    Map<String, OppiaineenSuoritusWithCurriculum<AikuistenPerusopetuksenOppiaineenSuoritus>> map = new HashMap<>();
    Set<OppiaineenSuoritusWithCurriculum<AikuistenPerusopetuksenOppiaineenSuoritus>> accomplished = new HashSet<>();
    for (OpiskelijanOPS ops : opsCredits.keySet()) {
        List<CreditStub> credits = opsCredits.get(ops);
        for (CreditStub credit : credits) {
            OppiaineenSuoritusWithCurriculum<AikuistenPerusopetuksenOppiaineenSuoritus> oppiaineenSuoritus = getSubject(ops, student, handlerParams.getEducationTypes(), studentSubjects, credit.getSubject(), map);
            collectAccomplishedMarks(credit.getSubject(), oppiaineenSuoritus, studentSubjects, accomplished);
            if (settings.isReportedCredit(credit) && oppiaineenSuoritus != null) {
                AikuistenPerusopetuksenKurssinSuoritus kurssiSuoritus = createKurssiSuoritus(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());
                }
            }
        }
    }
    PerusopetuksenSuoritusTapa perusopetuksenSuoritusTapa = suoritusTapa(student);
    for (OppiaineenSuoritusWithCurriculum<AikuistenPerusopetuksenOppiaineenSuoritus> oppiaineenSuoritus : map.values()) {
        if (CollectionUtils.isEmpty(oppiaineenSuoritus.getOppiaineenSuoritus().getOsasuoritukset())) {
            // Skip empty subjects
            continue;
        }
        StudentSubjectGrade studentSubjectGrade = findStudentSubjectGrade(student, oppiaineenSuoritus.getSubject());
        boolean hasStudentSubjectGrade = studentSubjectGrade != null;
        // Valmiille oppiaineelle on rustattava kokonaisarviointi
        if (calculateMeanGrades || hasStudentSubjectGrade) {
            ArviointiasteikkoYleissivistava aineKeskiarvo = accomplished.contains(oppiaineenSuoritus) ? ArviointiasteikkoYleissivistava.GRADE_S : getSubjectMeanGrade(student, oppiaineenSuoritus.getSubject(), oppiaineenSuoritus.getOppiaineenSuoritus());
            Date arviointiPvm = (studentSubjectGrade != null && studentSubjectGrade.getGradeDate() != null) ? studentSubjectGrade.getGradeDate() : student.getStudyEndDate();
            if (ArviointiasteikkoYleissivistava.isNumeric(aineKeskiarvo)) {
                KurssinArviointi arviointi = new KurssinArviointiNumeerinen(aineKeskiarvo, arviointiPvm);
                oppiaineenSuoritus.getOppiaineenSuoritus().addArviointi(arviointi);
            } else if (ArviointiasteikkoYleissivistava.isLiteral(aineKeskiarvo)) {
                KurssinArviointi arviointi = new KurssinArviointiSanallinen(aineKeskiarvo, arviointiPvm, kuvaus("Suoritettu/Hylätty"));
                oppiaineenSuoritus.getOppiaineenSuoritus().addArviointi(arviointi);
            }
        }
        PerusopetuksenOppiaineenOppimaaranSuoritus oppiaineenOppimaaranSuoritus = PerusopetuksenOppiaineenOppimaaranSuoritus.from(oppiaineenSuoritus.getOppiaineenSuoritus(), perusopetuksenSuoritusTapa, Kieli.FI, new OrganisaationToimipisteOID(toimipisteOID));
        oppiaineenOppimaaranSuoritus.getKoulutusmoduuli().setPerusteenDiaarinumero(getDiaarinumero(HANDLER_TYPE, oppiaineenSuoritus.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 : HashMap(java.util.HashMap) ArrayList(java.util.ArrayList) CreditStub(fi.otavanopisto.pyramus.koski.CreditStub) Credit(fi.otavanopisto.pyramus.domainmodel.grading.Credit) List(java.util.List) ArrayList(java.util.ArrayList) KoskiStudyProgrammeHandlerParams(fi.otavanopisto.pyramus.koski.settings.KoskiStudyProgrammeHandlerParams) HashSet(java.util.HashSet) PerusopetuksenOppiaineenOppimaaranSuoritus(fi.otavanopisto.pyramus.koski.model.aikuistenperusopetus.PerusopetuksenOppiaineenOppimaaranSuoritus) AikuistenPerusopetuksenKurssinSuoritus(fi.otavanopisto.pyramus.koski.model.aikuistenperusopetus.AikuistenPerusopetuksenKurssinSuoritus) OppiaineenSuoritusWithCurriculum(fi.otavanopisto.pyramus.koski.OppiaineenSuoritusWithCurriculum) ArviointiasteikkoYleissivistava(fi.otavanopisto.pyramus.koski.koodisto.ArviointiasteikkoYleissivistava) Date(java.util.Date) KurssinArviointiSanallinen(fi.otavanopisto.pyramus.koski.model.KurssinArviointiSanallinen) PerusopetuksenSuoritusTapa(fi.otavanopisto.pyramus.koski.koodisto.PerusopetuksenSuoritusTapa) StudentSubjectGrade(fi.otavanopisto.pyramus.domainmodel.students.StudentSubjectGrade) KurssinArviointi(fi.otavanopisto.pyramus.koski.model.KurssinArviointi) OpiskelijanOPS(fi.otavanopisto.pyramus.koski.OpiskelijanOPS) OrganisaationToimipisteOID(fi.otavanopisto.pyramus.koski.model.OrganisaationToimipisteOID) AikuistenPerusopetuksenOppiaineenSuoritus(fi.otavanopisto.pyramus.koski.model.aikuistenperusopetus.AikuistenPerusopetuksenOppiaineenSuoritus) KurssinArviointiNumeerinen(fi.otavanopisto.pyramus.koski.model.KurssinArviointiNumeerinen)

Example 18 with OrganisaationToimipisteOID

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

the class KoskiAPAStudentHandler method studentToModel.

public Opiskeluoikeus studentToModel(Student student, String academyIdentifier) {
    StudentSubjectSelections studentSubjects = loadStudentSubjectSelections(student, getDefaultStudentSubjectSelections());
    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;
    }
    AikuistenPerusopetuksenOpiskeluoikeus opiskeluoikeus = new AikuistenPerusopetuksenOpiskeluoikeus();
    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;
    String departmentIdentifier = settings.getToimipisteOID(student.getStudyProgramme().getId(), academyIdentifier);
    OrganisaationToimipiste toimipiste = new OrganisaationToimipisteOID(departmentIdentifier);
    APASuoritus suoritus = new APASuoritus(suoritusTapa(student), Kieli.FI, toimipiste);
    suoritus.setTodistuksellaNakyvatLisatiedot(getTodistuksellaNakyvatLisatiedot(student));
    suoritus.getKoulutusmoduuli().setPerusteenDiaarinumero(getDiaarinumero(student));
    if (sisällytäVahvistus) {
        suoritus.setVahvistus(getVahvistus(student, departmentIdentifier));
    }
    opiskeluoikeus.addSuoritus(suoritus);
    EducationType studentEducationType = student.getStudyProgramme() != null && student.getStudyProgramme().getCategory() != null ? student.getStudyProgramme().getCategory().getEducationType() : null;
    assessmentsToModel(ops, student, studentEducationType, studentSubjects, suoritus, laskeKeskiarvot);
    return opiskeluoikeus;
}
Also used : OpintojenRahoitus(fi.otavanopisto.pyramus.koski.koodisto.OpintojenRahoitus) OrganisaationToimipiste(fi.otavanopisto.pyramus.koski.model.OrganisaationToimipiste) EducationType(fi.otavanopisto.pyramus.domainmodel.base.EducationType) OpiskelijanOPS(fi.otavanopisto.pyramus.koski.OpiskelijanOPS) StudentSubjectSelections(fi.otavanopisto.pyramus.koski.StudentSubjectSelections) StudyEndReasonMapping(fi.otavanopisto.pyramus.koski.settings.StudyEndReasonMapping) OrganisaationToimipisteOID(fi.otavanopisto.pyramus.koski.model.OrganisaationToimipisteOID) AikuistenPerusopetuksenOpiskeluoikeus(fi.otavanopisto.pyramus.koski.model.aikuistenperusopetus.AikuistenPerusopetuksenOpiskeluoikeus) Date(java.util.Date)

Example 19 with OrganisaationToimipisteOID

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

the class KoskiAikuistenPerusopetuksenStudentHandler method studentToModel.

public Opiskeluoikeus studentToModel(Student student, String academyIdentifier, KoskiStudyProgrammeHandler handler) {
    if (handler != HANDLER_TYPE) {
        logger.log(Level.SEVERE, String.format("Wrong handler type %s expected %s w/person %d.", handler, HANDLER_TYPE, student.getPerson().getId()));
        return null;
    }
    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;
    }
    AikuistenPerusopetuksenOpiskeluoikeus opiskeluoikeus = new AikuistenPerusopetuksenOpiskeluoikeus();
    opiskeluoikeus.setLahdejarjestelmanId(getLahdeJarjestelmaID(handler, 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;
    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<AikuistenPerusopetuksenOppiaineenSuoritus> oppiaineet = assessmentsToModel(ops, student, studentEducationType, studentSubjects, laskeKeskiarvot);
    AikuistenPerusopetuksenOppimaaranSuoritus suoritus = new AikuistenPerusopetuksenOppimaaranSuoritus(suoritusTapa(student), Kieli.FI, toimipiste);
    suoritus.setTodistuksellaNakyvatLisatiedot(getTodistuksellaNakyvatLisatiedot(student));
    suoritus.getKoulutusmoduuli().setPerusteenDiaarinumero(getDiaarinumero(student));
    if (sisällytäVahvistus) {
        suoritus.setVahvistus(getVahvistus(student, departmentIdentifier));
    }
    opiskeluoikeus.addSuoritus(suoritus);
    oppiaineet.forEach(oppiaine -> suoritus.addOsasuoritus(oppiaine));
    return opiskeluoikeus;
}
Also used : OrganisaationToimipiste(fi.otavanopisto.pyramus.koski.model.OrganisaationToimipiste) EducationType(fi.otavanopisto.pyramus.domainmodel.base.EducationType) 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)

Example 20 with OrganisaationToimipisteOID

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

the class KoskiLukio2019StudentTestsIT method testDoubleAssessmentPre2022.

@Test
public void testDoubleAssessmentPre2022() {
    OffsetDateTime firstAssessmentDate = OffsetDateTime.of(2021, 1, 1, 12, 0, 0, 0, ZoneOffset.UTC);
    OffsetDateTime secondAssessmentDate = OffsetDateTime.of(2021, 2, 1, 12, 0, 0, 0, ZoneOffset.UTC);
    Person person = tools().createPerson();
    Student student = tools().createStudent(person.getId(), 1l);
    Course course = tools().createCourse(getClass().getSimpleName(), ORGANIZATIONID, 4l, 1);
    CourseStudent courseStudent = tools().createCourseStudent(course.getId(), student.getId());
    CourseAssessment courseAssessment = tools().createCourseAssessment(course.getId(), student.getId(), courseStudent.getId(), 7l, firstAssessmentDate);
    CourseAssessment courseAssessment2 = tools().createCourseAssessment(course.getId(), student.getId(), courseStudent.getId(), 8l, secondAssessmentDate);
    try {
        Response response = given().headers(getAuthHeaders()).get("/persons/persons/{ID}/oppija", person.getId());
        response.then().statusCode(200);
        Oppija oppija = response.getBody().as(Oppija.class);
        assertNotNull(oppija);
        assertEquals(1, oppija.getOpiskeluoikeudet().size());
        assertTrue(oppija.getHenkilo() instanceof HenkiloTiedotJaOID);
        HenkiloTiedotJaOID henkilo = (HenkiloTiedotJaOID) oppija.getHenkilo();
        assertEquals(student.getFirstName(), henkilo.getEtunimet());
        assertEquals(student.getLastName(), henkilo.getSukunimi());
        Opiskeluoikeus opiskeluoikeus = oppija.getOpiskeluoikeudet().get(0);
        assertTrue(opiskeluoikeus instanceof LukionOpiskeluoikeus);
        assertEquals(OpiskeluoikeudenTyyppi.lukiokoulutus, opiskeluoikeus.getTyyppi().getValue());
        assertEquals(toLocalDate(student.getStudyStartDate()), toLocalDate(opiskeluoikeus.getAlkamispaiva()));
        assertEquals(toLocalDate(student.getStudyEndDate()), toLocalDate(opiskeluoikeus.getPaattymispaiva()));
        LukionOpiskeluoikeus lukionOpiskeluoikeus = (LukionOpiskeluoikeus) opiskeluoikeus;
        assertEquals(1, lukionOpiskeluoikeus.getSuoritukset().size());
        LukionSuoritus lukionSuoritus = lukionOpiskeluoikeus.getSuoritukset().iterator().next();
        assertEquals(SuorituksenTyyppi.lukionoppimaara, lukionSuoritus.getTyyppi().getValue());
        assertTrue(lukionSuoritus instanceof LukionOppimaaranSuoritus);
        LukionOppimaaranSuoritus lukionOppimaaranSuoritus = (LukionOppimaaranSuoritus) lukionSuoritus;
        OrganisaationToimipisteOID toimipiste = (OrganisaationToimipisteOID) lukionSuoritus.getToimipiste();
        assertEquals("1.1.000.000.00.00000000000", toimipiste.getOid());
        assertEquals("70/011/2015", lukionOppimaaranSuoritus.getKoulutusmoduuli().getPerusteenDiaarinumero());
        /**
         * Subject
         */
        assertEquals(1, lukionOppimaaranSuoritus.getOsasuoritukset().size());
        LukionOsasuoritus subject = lukionOppimaaranSuoritus.getOsasuoritukset().iterator().next();
        assertTrue(subject instanceof LukionOppiaineenSuoritus);
        LukionOppiaineenSuoritus lukionOppiaineenSuoritus = (LukionOppiaineenSuoritus) subject;
        assertEquals(1, lukionOppiaineenSuoritus.getOsasuoritukset().size());
        LukionKurssinSuoritus lukionKurssinSuoritus = lukionOppiaineenSuoritus.getOsasuoritukset().get(0);
        /**
         * Grade, only one as pre 2022 only best grade is delivered
         */
        assertEquals(1, lukionKurssinSuoritus.getArviointi().size());
        assertEquals(ArviointiasteikkoYleissivistava.GRADE_9, lukionKurssinSuoritus.getArviointi().get(0).getArvosana().getValue());
    } finally {
        tools().deleteCourseAssessment(course.getId(), student.getId(), courseAssessment2);
        tools().deleteCourseAssessment(course.getId(), student.getId(), courseAssessment);
        tools().deleteCourseStudent(courseStudent);
        tools().deleteCourse(course);
        tools().deleteStudent(student);
        tools().deletePerson(person);
    }
}
Also used : LukionOpiskeluoikeus(fi.otavanopisto.pyramus.koski.model.lukio.LukionOpiskeluoikeus) LukionOppiaineenSuoritus(fi.otavanopisto.pyramus.koski.model.lukio.LukionOppiaineenSuoritus) Opiskeluoikeus(fi.otavanopisto.pyramus.koski.model.Opiskeluoikeus) LukionOpiskeluoikeus(fi.otavanopisto.pyramus.koski.model.lukio.LukionOpiskeluoikeus) Student(fi.otavanopisto.pyramus.rest.model.Student) CourseStudent(fi.otavanopisto.pyramus.rest.model.CourseStudent) CourseAssessment(fi.otavanopisto.pyramus.rest.model.CourseAssessment) LukionOsasuoritus(fi.otavanopisto.pyramus.koski.model.lukio.LukionOsasuoritus) Response(io.restassured.response.Response) HenkiloTiedotJaOID(fi.otavanopisto.pyramus.koski.model.HenkiloTiedotJaOID) OffsetDateTime(java.time.OffsetDateTime) CourseStudent(fi.otavanopisto.pyramus.rest.model.CourseStudent) LukionSuoritus(fi.otavanopisto.pyramus.koski.model.lukio.LukionSuoritus) LukionKurssinSuoritus(fi.otavanopisto.pyramus.koski.model.lukio.LukionKurssinSuoritus) OrganisaationToimipisteOID(fi.otavanopisto.pyramus.koski.model.OrganisaationToimipisteOID) Course(fi.otavanopisto.pyramus.rest.model.Course) Oppija(fi.otavanopisto.pyramus.koski.model.Oppija) Person(fi.otavanopisto.pyramus.rest.model.Person) LukionOppimaaranSuoritus(fi.otavanopisto.pyramus.koski.model.lukio.LukionOppimaaranSuoritus) AbstractRESTServiceTest(fi.otavanopisto.pyramus.rest.AbstractRESTServiceTest) Test(org.junit.Test)

Aggregations

OrganisaationToimipisteOID (fi.otavanopisto.pyramus.koski.model.OrganisaationToimipisteOID)27 Date (java.util.Date)23 OrganisaationToimipiste (fi.otavanopisto.pyramus.koski.model.OrganisaationToimipiste)19 Oppija (fi.otavanopisto.pyramus.koski.model.Oppija)18 LukionOpiskeluoikeus (fi.otavanopisto.pyramus.koski.model.lukio.LukionOpiskeluoikeus)15 OpintojenRahoitus (fi.otavanopisto.pyramus.koski.koodisto.OpintojenRahoitus)14 HenkiloUusi (fi.otavanopisto.pyramus.koski.model.HenkiloUusi)14 OpiskeluoikeusJakso (fi.otavanopisto.pyramus.koski.model.OpiskeluoikeusJakso)14 KurssinArviointiNumeerinen (fi.otavanopisto.pyramus.koski.model.KurssinArviointiNumeerinen)8 KurssinArviointiSanallinen (fi.otavanopisto.pyramus.koski.model.KurssinArviointiSanallinen)8 AikuistenPerusopetuksenOpiskeluoikeus (fi.otavanopisto.pyramus.koski.model.aikuistenperusopetus.AikuistenPerusopetuksenOpiskeluoikeus)8 OpiskelijanOPS (fi.otavanopisto.pyramus.koski.OpiskelijanOPS)7 StudentSubjectSelections (fi.otavanopisto.pyramus.koski.StudentSubjectSelections)7 PaikallinenKoodi (fi.otavanopisto.pyramus.koski.model.PaikallinenKoodi)7 LukionKurssinSuoritus (fi.otavanopisto.pyramus.koski.model.lukio.LukionKurssinSuoritus)7 StudyEndReasonMapping (fi.otavanopisto.pyramus.koski.settings.StudyEndReasonMapping)7 LukionOppiaineenSuoritus (fi.otavanopisto.pyramus.koski.model.lukio.LukionOppiaineenSuoritus)6 LukionOppimaaranSuoritus (fi.otavanopisto.pyramus.koski.model.lukio.LukionOppimaaranSuoritus)6 LukionSuoritus (fi.otavanopisto.pyramus.koski.model.lukio.LukionSuoritus)6 EducationType (fi.otavanopisto.pyramus.domainmodel.base.EducationType)5