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);
}
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);
}
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
}
}
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;
}
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;
}
Aggregations