Search in sources :

Example 1 with LukionOppiaineenSuoritusEiTiedossa

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

Aggregations

StudentSubjectSelections (fi.otavanopisto.pyramus.koski.StudentSubjectSelections)1 OpintojenRahoitus (fi.otavanopisto.pyramus.koski.koodisto.OpintojenRahoitus)1 OrganisaationToimipisteOID (fi.otavanopisto.pyramus.koski.model.OrganisaationToimipisteOID)1 LukionOpiskeluoikeus (fi.otavanopisto.pyramus.koski.model.lukio.LukionOpiskeluoikeus)1 LukionOppiaineenOppimaaranSuoritus (fi.otavanopisto.pyramus.koski.model.lukio.LukionOppiaineenOppimaaranSuoritus)1 LukionOppiaineenSuoritus (fi.otavanopisto.pyramus.koski.model.lukio.LukionOppiaineenSuoritus)1 LukionOppiaineenSuoritusEiTiedossa (fi.otavanopisto.pyramus.koski.model.lukio.LukionOppiaineenSuoritusEiTiedossa)1 LukionOppiaineenTunniste (fi.otavanopisto.pyramus.koski.model.lukio.LukionOppiaineenTunniste)1 KoskiStudyProgrammeHandlerParams (fi.otavanopisto.pyramus.koski.settings.KoskiStudyProgrammeHandlerParams)1 StudyEndReasonMapping (fi.otavanopisto.pyramus.koski.settings.StudyEndReasonMapping)1 Date (java.util.Date)1