Search in sources :

Example 1 with LukionOpiskeluoikeus

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

the class KoskiInternetixLukioStudentHandler 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;
    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);
    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) {
        LukionOppiaineenTunniste oppiaineenTunniste = new LukionOppiaineenSuoritusEiTiedossa();
        LukionOppiaineenSuoritus oppiaineenSuoritus = new LukionOppiaineenSuoritus(oppiaineenTunniste);
        LukionOppiaineenOppimaaranSuoritus oppiaineenOppimaaranSuoritus = LukionOppiaineenOppimaaranSuoritus.from(oppiaineenSuoritus, Kieli.FI, new OrganisaationToimipisteOID(toimipisteOID));
        opiskeluoikeus.addSuoritus(oppiaineenOppimaaranSuoritus);
    }
    return new OpiskeluoikeusInternetix(opiskeluoikeus, eiSuorituksia);
}
Also used : LukionOppiaineenOppimaaranSuoritus(fi.otavanopisto.pyramus.koski.model.lukio.LukionOppiaineenOppimaaranSuoritus) LukionOpiskeluoikeus(fi.otavanopisto.pyramus.koski.model.lukio.LukionOpiskeluoikeus) LukionOppiaineenSuoritus(fi.otavanopisto.pyramus.koski.model.lukio.LukionOppiaineenSuoritus) StudyEndReasonMapping(fi.otavanopisto.pyramus.koski.settings.StudyEndReasonMapping) LukionOppiaineenSuoritusEiTiedossa(fi.otavanopisto.pyramus.koski.model.lukio.LukionOppiaineenSuoritusEiTiedossa) Date(java.util.Date) OpintojenRahoitus(fi.otavanopisto.pyramus.koski.koodisto.OpintojenRahoitus) LukionOppiaineenTunniste(fi.otavanopisto.pyramus.koski.model.lukio.LukionOppiaineenTunniste) StudentSubjectSelections(fi.otavanopisto.pyramus.koski.StudentSubjectSelections) OrganisaationToimipisteOID(fi.otavanopisto.pyramus.koski.model.OrganisaationToimipisteOID) KoskiStudyProgrammeHandlerParams(fi.otavanopisto.pyramus.koski.settings.KoskiStudyProgrammeHandlerParams)

Example 2 with LukionOpiskeluoikeus

use of fi.otavanopisto.pyramus.koski.model.lukio.LukionOpiskeluoikeus 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)

Example 3 with LukionOpiskeluoikeus

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

the class KoskiLukioJSONTestsIT method testDeserialization.

@Test
public void testDeserialization() throws JsonParseException, JsonMappingException, IOException {
    String testStudent = getTestStudentJSON();
    ObjectMapper mapper = new ObjectMapper();
    Oppija oppija = mapper.readValue(testStudent, Oppija.class);
    assertNotNull(oppija);
    assertTrue(oppija.getHenkilo() instanceof HenkiloTiedotJaOID);
    /**
     * Henkilö
     */
    if (oppija.getHenkilo() instanceof HenkiloTiedotJaOID) {
        HenkiloTiedotJaOID henkilo = (HenkiloTiedotJaOID) oppija.getHenkilo();
        assertEquals("1.2.246.562.24.00000000010", henkilo.getOid());
        assertEquals("020655-2479", henkilo.getHetu());
        assertEquals("Liisa", henkilo.getEtunimet());
        assertEquals("Lukiolainen", henkilo.getSukunimi());
        assertEquals("Liisa", henkilo.getKutsumanimi());
    }
    /**
     * Opiskeluoikeus
     */
    assertEquals(1, oppija.getOpiskeluoikeudet().size());
    assertTrue(oppija.getOpiskeluoikeudet().get(0) instanceof LukionOpiskeluoikeus);
    if (oppija.getOpiskeluoikeudet().get(0) instanceof LukionOpiskeluoikeus) {
        LukionOpiskeluoikeus opiskeluoikeus = (LukionOpiskeluoikeus) oppija.getOpiskeluoikeudet().get(0);
        assertEquals(2, opiskeluoikeus.getTila().getOpiskeluoikeusjaksot().size());
        assertEquals(1, opiskeluoikeus.getSuoritukset().size());
        assertTrue(opiskeluoikeus.getSuoritukset().iterator().next() instanceof LukionOppimaaranSuoritus);
    // TODO: check all the rest million properties
    }
}
Also used : HenkiloTiedotJaOID(fi.otavanopisto.pyramus.koski.model.HenkiloTiedotJaOID) LukionOpiskeluoikeus(fi.otavanopisto.pyramus.koski.model.lukio.LukionOpiskeluoikeus) Oppija(fi.otavanopisto.pyramus.koski.model.Oppija) ObjectMapper(com.fasterxml.jackson.databind.ObjectMapper) LukionOppimaaranSuoritus(fi.otavanopisto.pyramus.koski.model.lukio.LukionOppimaaranSuoritus) Test(org.junit.Test) AbstractKoskiTest(fi.otavanopisto.pyramus.koski.AbstractKoskiTest)

Example 4 with LukionOpiskeluoikeus

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

the class LukioOppiaineenOppimaaraData method getTestStudentMinimal.

public static Oppija getTestStudentMinimal() {
    Oppija oppija = new Oppija();
    oppija.setHenkilo(new HenkiloUusi("111111A111C", "Sally", "Student", "Sally"));
    LukionOpiskeluoikeus opiskeluoikeus = new LukionOpiskeluoikeus();
    oppija.addOpiskeluoikeus(opiskeluoikeus);
    OpiskeluoikeusJakso jakso = new OpiskeluoikeusJakso(new Date(), OpiskeluoikeudenTila.lasna);
    opiskeluoikeus.getTila().addOpiskeluoikeusJakso(jakso);
    OrganisaationToimipiste toimipiste = new OrganisaationToimipisteOID(ACADEMYOID);
    LukionOppiaineenTunniste koulutusmoduuli = new LukionOppiaineenSuoritusMuuValtakunnallinen(KoskiOppiaineetYleissivistava.HI, false);
    LukionSuoritus suoritus = new LukionOppiaineenOppimaaranSuoritus(koulutusmoduuli, Kieli.FI, toimipiste);
    opiskeluoikeus.addSuoritus(suoritus);
    return oppija;
}
Also used : LukionOppiaineenSuoritusMuuValtakunnallinen(fi.otavanopisto.pyramus.koski.model.lukio.LukionOppiaineenSuoritusMuuValtakunnallinen) LukionOppiaineenOppimaaranSuoritus(fi.otavanopisto.pyramus.koski.model.lukio.LukionOppiaineenOppimaaranSuoritus) OrganisaationToimipiste(fi.otavanopisto.pyramus.koski.model.OrganisaationToimipiste) HenkiloUusi(fi.otavanopisto.pyramus.koski.model.HenkiloUusi) LukionOpiskeluoikeus(fi.otavanopisto.pyramus.koski.model.lukio.LukionOpiskeluoikeus) LukionOppiaineenTunniste(fi.otavanopisto.pyramus.koski.model.lukio.LukionOppiaineenTunniste) LukionSuoritus(fi.otavanopisto.pyramus.koski.model.lukio.LukionSuoritus) OpiskeluoikeusJakso(fi.otavanopisto.pyramus.koski.model.OpiskeluoikeusJakso) OrganisaationToimipisteOID(fi.otavanopisto.pyramus.koski.model.OrganisaationToimipisteOID) Oppija(fi.otavanopisto.pyramus.koski.model.Oppija) Date(java.util.Date)

Example 5 with LukionOpiskeluoikeus

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

the class LukioOppiaineenOppimaaraData 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);
    LukionOppiaineenTunniste koulutusmoduuli = new LukionOppiaineenSuoritusMuuValtakunnallinen(KoskiOppiaineetYleissivistava.HI, false);
    LukionOppiaineenOppimaaranSuoritus suoritus = new LukionOppiaineenOppimaaranSuoritus(koulutusmoduuli, Kieli.FI, toimipiste);
    opiskeluoikeus.addSuoritus(suoritus);
    // Kurssi 1
    LukionKurssinTunniste kurssinTunniste = new LukionKurssinTunnisteValtakunnallinenOPS2015(LukionKurssit.ÄI1, LukionKurssinTyyppi.pakollinen);
    LukionKurssinSuoritus kurssi = new LukionKurssinSuoritus(kurssinTunniste);
    kurssi.addArviointi(new KurssinArviointiNumeerinen(ArviointiasteikkoYleissivistava.GRADE_9, paattymispaiva));
    suoritus.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")));
    suoritus.addOsasuoritus(kurssi);
    return oppija;
}
Also used : LukionOppiaineenOppimaaranSuoritus(fi.otavanopisto.pyramus.koski.model.lukio.LukionOppiaineenOppimaaranSuoritus) 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) Date(java.util.Date) KurssinArviointiSanallinen(fi.otavanopisto.pyramus.koski.model.KurssinArviointiSanallinen) OpintojenRahoitus(fi.otavanopisto.pyramus.koski.koodisto.OpintojenRahoitus) LukionOppiaineenSuoritusMuuValtakunnallinen(fi.otavanopisto.pyramus.koski.model.lukio.LukionOppiaineenSuoritusMuuValtakunnallinen) 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) KurssinArviointiNumeerinen(fi.otavanopisto.pyramus.koski.model.KurssinArviointiNumeerinen)

Aggregations

LukionOpiskeluoikeus (fi.otavanopisto.pyramus.koski.model.lukio.LukionOpiskeluoikeus)18 Oppija (fi.otavanopisto.pyramus.koski.model.Oppija)15 OrganisaationToimipisteOID (fi.otavanopisto.pyramus.koski.model.OrganisaationToimipisteOID)15 Date (java.util.Date)11 OrganisaationToimipiste (fi.otavanopisto.pyramus.koski.model.OrganisaationToimipiste)10 HenkiloUusi (fi.otavanopisto.pyramus.koski.model.HenkiloUusi)8 OpiskeluoikeusJakso (fi.otavanopisto.pyramus.koski.model.OpiskeluoikeusJakso)8 LukionOppimaaranSuoritus (fi.otavanopisto.pyramus.koski.model.lukio.LukionOppimaaranSuoritus)8 OpintojenRahoitus (fi.otavanopisto.pyramus.koski.koodisto.OpintojenRahoitus)7 HenkiloTiedotJaOID (fi.otavanopisto.pyramus.koski.model.HenkiloTiedotJaOID)7 LukionSuoritus (fi.otavanopisto.pyramus.koski.model.lukio.LukionSuoritus)7 Test (org.junit.Test)7 LukionKurssinSuoritus (fi.otavanopisto.pyramus.koski.model.lukio.LukionKurssinSuoritus)6 LukionOppiaineenSuoritus (fi.otavanopisto.pyramus.koski.model.lukio.LukionOppiaineenSuoritus)6 KurssinArviointiNumeerinen (fi.otavanopisto.pyramus.koski.model.KurssinArviointiNumeerinen)4 KurssinArviointiSanallinen (fi.otavanopisto.pyramus.koski.model.KurssinArviointiSanallinen)4 Opiskeluoikeus (fi.otavanopisto.pyramus.koski.model.Opiskeluoikeus)4 PaikallinenKoodi (fi.otavanopisto.pyramus.koski.model.PaikallinenKoodi)4 LukionOppiaineenTunniste (fi.otavanopisto.pyramus.koski.model.lukio.LukionOppiaineenTunniste)4 LukionOsasuoritus (fi.otavanopisto.pyramus.koski.model.lukio.LukionOsasuoritus)4