use of fi.otavanopisto.pyramus.koski.model.PaikallinenKoodi in project pyramus by otavanopisto.
the class KoskiInternetixLukioStudentHandler method createKurssiSuoritus.
protected LukionKurssinSuoritus createKurssiSuoritus(Student student, OpiskelijanOPS ops, CreditStub courseCredit) {
String kurssiKoodi = courseCredit.getCourseCode();
LukionKurssinTunniste tunniste;
if (ops == OpiskelijanOPS.ops2016 && EnumUtils.isValidEnum(LukionKurssit.class, kurssiKoodi)) {
// OPS 2016 (2015)
LukionKurssit kurssi = LukionKurssit.valueOf(kurssiKoodi);
LukionKurssinTyyppi kurssinTyyppi = findCourseType(student, courseCredit, true, LukionKurssinTyyppi.pakollinen, LukionKurssinTyyppi.syventava);
tunniste = new LukionKurssinTunnisteValtakunnallinenOPS2015(kurssi, kurssinTyyppi);
} else if (ops == OpiskelijanOPS.ops2005 && EnumUtils.isValidEnum(LukionKurssitOPS2004Aikuiset.class, kurssiKoodi)) {
// OPS 2005 (2004)
LukionKurssitOPS2004Aikuiset kurssi = LukionKurssitOPS2004Aikuiset.valueOf(kurssiKoodi);
LukionKurssinTyyppi kurssinTyyppi = findCourseType(student, courseCredit, true, LukionKurssinTyyppi.pakollinen, LukionKurssinTyyppi.syventava);
tunniste = new LukionKurssinTunnisteValtakunnallinenOPS2004(kurssi, kurssinTyyppi);
} else {
PaikallinenKoodi paikallinenKoodi = new PaikallinenKoodi(kurssiKoodi, kuvaus(courseCredit.getSubject().getName()));
LukionKurssinTyyppi kurssinTyyppi = findCourseType(student, courseCredit, true, LukionKurssinTyyppi.syventava, LukionKurssinTyyppi.soveltava);
tunniste = new LukionKurssinTunnistePaikallinen(paikallinenKoodi, kurssinTyyppi, kuvaus(courseCredit.getCourseName()));
}
LukionKurssinSuoritus suoritus = new LukionKurssinSuoritus(tunniste);
return luoKurssiSuoritus(suoritus, courseCredit);
}
use of fi.otavanopisto.pyramus.koski.model.PaikallinenKoodi in project pyramus by otavanopisto.
the class KoskiInternetixPkStudentHandler method getSubject.
private OppiaineenSuoritusWithCurriculum<AikuistenPerusopetuksenOppiaineenSuoritus> getSubject(OpiskelijanOPS creditOPS, Student student, List<Long> educationTypes, StudentSubjectSelections studentSubjects, Subject subject, Map<String, OppiaineenSuoritusWithCurriculum<AikuistenPerusopetuksenOppiaineenSuoritus>> map) {
String subjectCode = subjectCode(subject);
String mapKey = String.valueOf(creditOPS) + subjectCode;
if (map.containsKey(mapKey)) {
return map.get(mapKey);
}
boolean matchingEducationType = educationTypes != null && subject.getEducationType() != null && educationTypes.contains(subject.getEducationType().getId());
if (matchingEducationType && (StringUtils.equals(subjectCode, "äi") || StringUtils.equals(subjectCode, "s2"))) {
if (StringUtils.equals(subjectCode, studentSubjects.getPrimaryLanguage())) {
OppiaineAidinkieliJaKirjallisuus aine = StringUtils.equals(subjectCode, "s2") ? // s2
OppiaineAidinkieliJaKirjallisuus.AI7 : // äi
OppiaineAidinkieliJaKirjallisuus.AI1;
AikuistenPerusopetuksenOppiaineenSuoritusAidinkieli tunniste = new AikuistenPerusopetuksenOppiaineenSuoritusAidinkieli(aine, isPakollinenOppiaine(student, KoskiOppiaineetYleissivistava.AI));
return map(map, mapKey, creditOPS, tunniste, subject);
} else
return null;
}
if (matchingEducationType && studentSubjects.isAdditionalLanguage(subjectCode)) {
if (subjectCode.length() > 2) {
String langCode = settings.getSubjectToLanguageMapping(subjectCode.substring(0, 2).toUpperCase());
Kielivalikoima kieli = Kielivalikoima.valueOf(langCode);
if (kieli != null) {
KoskiOppiaineetYleissivistava valinta = studentSubjects.isALanguage(subjectCode) ? KoskiOppiaineetYleissivistava.A1 : studentSubjects.isA1Language(subjectCode) ? KoskiOppiaineetYleissivistava.A1 : studentSubjects.isA2Language(subjectCode) ? KoskiOppiaineetYleissivistava.A2 : studentSubjects.isB1Language(subjectCode) ? KoskiOppiaineetYleissivistava.B1 : studentSubjects.isB2Language(subjectCode) ? KoskiOppiaineetYleissivistava.B2 : studentSubjects.isB3Language(subjectCode) ? KoskiOppiaineetYleissivistava.B3 : null;
AikuistenPerusopetuksenOppiaineenSuoritusVierasKieli tunniste = new AikuistenPerusopetuksenOppiaineenSuoritusVierasKieli(valinta, kieli, isPakollinenOppiaine(student, valinta));
return map(map, mapKey, creditOPS, tunniste, subject);
} else {
logger.log(Level.SEVERE, String.format("Koski: Language code %s could not be converted to an enum.", langCode));
koskiPersonLogDAO.create(student.getPerson(), student, KoskiPersonState.UNKNOWN_LANGUAGE, new Date(), langCode);
return null;
}
}
}
String[] religionSubjects = new String[] { "ue", "uo" };
if (matchingEducationType && ArrayUtils.contains(religionSubjects, subjectCode)) {
// Only the religion that student has selected is reported
if (StringUtils.equals(subjectCode, studentSubjects.getReligion())) {
mapKey = String.valueOf(creditOPS) + "KT";
if (map.containsKey(mapKey))
return map.get(mapKey);
KoskiOppiaineetYleissivistava kansallinenAine = KoskiOppiaineetYleissivistava.KT;
AikuistenPerusopetuksenOppiaineenTunniste tunniste = new AikuistenPerusopetuksenOppiaineenSuoritusMuu(kansallinenAine, isPakollinenOppiaine(student, KoskiOppiaineetYleissivistava.KT));
return map(map, mapKey, creditOPS, tunniste, subject);
} else
return null;
}
if (matchingEducationType && EnumUtils.isValidEnum(KoskiOppiaineetYleissivistava.class, StringUtils.upperCase(subjectCode))) {
// Common national subject
KoskiOppiaineetYleissivistava kansallinenAine = KoskiOppiaineetYleissivistava.valueOf(StringUtils.upperCase(subjectCode));
AikuistenPerusopetuksenOppiaineenTunniste tunniste = new AikuistenPerusopetuksenOppiaineenSuoritusMuu(kansallinenAine, isPakollinenOppiaine(student, kansallinenAine));
return map(map, mapKey, creditOPS, tunniste, subject);
} else {
// Other local subject
// TODO Skipped subjects ?? (MUU)
PaikallinenKoodi paikallinenKoodi = new PaikallinenKoodi(subjectCode, kuvaus(subject.getName()));
AikuistenPerusopetuksenOppiaineenSuoritusPaikallinen tunniste = new AikuistenPerusopetuksenOppiaineenSuoritusPaikallinen(paikallinenKoodi, false, kuvaus(subject.getName()));
return map(map, mapKey, creditOPS, tunniste, subject);
}
}
use of fi.otavanopisto.pyramus.koski.model.PaikallinenKoodi in project pyramus by otavanopisto.
the class KoskiLukioStudentHandler method createKurssiSuoritus.
protected LukionKurssinSuoritus createKurssiSuoritus(Student student, OpiskelijanOPS ops, CreditStub courseCredit) {
String kurssiKoodi = courseCredit.getCourseCode();
LukionKurssinTunniste tunniste;
if (ops == OpiskelijanOPS.ops2016 && EnumUtils.isValidEnum(LukionKurssit.class, kurssiKoodi)) {
// OPS 2016 (2015)
LukionKurssit kurssi = LukionKurssit.valueOf(kurssiKoodi);
LukionKurssinTyyppi kurssinTyyppi = findCourseType(student, courseCredit, true, LukionKurssinTyyppi.pakollinen, LukionKurssinTyyppi.syventava);
tunniste = new LukionKurssinTunnisteValtakunnallinenOPS2015(kurssi, kurssinTyyppi);
} else if (ops == OpiskelijanOPS.ops2005 && EnumUtils.isValidEnum(LukionKurssitOPS2004Aikuiset.class, kurssiKoodi)) {
// OPS 2005 (2004)
LukionKurssitOPS2004Aikuiset kurssi = LukionKurssitOPS2004Aikuiset.valueOf(kurssiKoodi);
LukionKurssinTyyppi kurssinTyyppi = findCourseType(student, courseCredit, true, LukionKurssinTyyppi.pakollinen, LukionKurssinTyyppi.syventava);
tunniste = new LukionKurssinTunnisteValtakunnallinenOPS2004(kurssi, kurssinTyyppi);
} else {
PaikallinenKoodi paikallinenKoodi = new PaikallinenKoodi(kurssiKoodi, kuvaus(courseCredit.getSubject().getName()));
LukionKurssinTyyppi kurssinTyyppi = findCourseType(student, courseCredit, true, LukionKurssinTyyppi.syventava, LukionKurssinTyyppi.soveltava);
tunniste = new LukionKurssinTunnistePaikallinen(paikallinenKoodi, kurssinTyyppi, kuvaus(courseCredit.getCourseName()));
}
LukionKurssinSuoritus suoritus = new LukionKurssinSuoritus(tunniste);
return luoKurssiSuoritus(suoritus, courseCredit);
}
use of fi.otavanopisto.pyramus.koski.model.PaikallinenKoodi in project pyramus by otavanopisto.
the class KoskiLukioStudentHandler method getSubject.
private OppiaineenSuoritusWithSubject<LukionOppiaineenSuoritus> getSubject(Student student, OpiskelijanOPS ops, EducationType studentEducationType, Subject subject, StudentSubjectSelections studentSubjects, Map<String, OppiaineenSuoritusWithSubject<LukionOppiaineenSuoritus>> map) {
String subjectCode = subjectCode(subject);
if (map.containsKey(subjectCode))
return map.get(subjectCode);
boolean matchingEducationType = studentEducationType != null && subject.getEducationType() != null && studentEducationType.getId().equals(subject.getEducationType().getId());
// MATHEMATICS
if (matchingEducationType && isMathSubject(subjectCode)) {
if (StringUtils.equals(subjectCode, "MAY") && isMathSubject(studentSubjects.getMath())) {
// MAY is mapped to either MAB/MAA unless neither is specified
subjectCode = studentSubjects.getMath();
if (map.containsKey(subjectCode)) {
return map.get(subjectCode);
}
}
if (StringUtils.equals(subjectCode, studentSubjects.getMath())) {
LukionOppiaineenTunniste tunniste = new LukionOppiaineenSuoritusMatematiikka(OppiaineMatematiikka.valueOf(subjectCode), isPakollinenOppiaine(student, KoskiOppiaineetYleissivistava.MA));
return mapSubject(subject, subjectCode, false, tunniste, map);
} else
return null;
}
if (matchingEducationType && StringUtils.equals(subjectCode, "ÄI")) {
if (StringUtils.equals(subjectCode, studentSubjects.getPrimaryLanguage())) {
LukionOppiaineenTunniste tunniste = new LukionOppiaineenSuoritusAidinkieli(OppiaineAidinkieliJaKirjallisuus.AI1, isPakollinenOppiaine(student, KoskiOppiaineetYleissivistava.AI));
return mapSubject(subject, subjectCode, false, tunniste, map);
} else
return null;
}
if (matchingEducationType && StringUtils.equals(subjectCode, "S2")) {
if (StringUtils.equals(subjectCode, studentSubjects.getPrimaryLanguage())) {
LukionOppiaineenTunniste tunniste = new LukionOppiaineenSuoritusAidinkieli(OppiaineAidinkieliJaKirjallisuus.AI7, isPakollinenOppiaine(student, KoskiOppiaineetYleissivistava.AI));
return mapSubject(subject, subjectCode, false, tunniste, map);
} else
return null;
}
if (matchingEducationType && studentSubjects.isAdditionalLanguage(subjectCode)) {
if (subjectCode.length() > 2) {
String langCode = settings.getSubjectToLanguageMapping(subjectCode.substring(0, 2).toUpperCase());
Kielivalikoima kieli = Kielivalikoima.valueOf(langCode);
if (kieli != null) {
KoskiOppiaineetYleissivistava valinta = studentSubjects.koskiKoodi(ops, subjectCode);
LukionOppiaineenTunniste tunniste = new LukionOppiaineenSuoritusVierasKieli(valinta, kieli, isPakollinenOppiaine(student, valinta));
return mapSubject(subject, subjectCode, false, tunniste, map);
} else {
logger.log(Level.SEVERE, String.format("Koski: Language code %s could not be converted to an enum.", langCode));
koskiPersonLogDAO.create(student.getPerson(), student, KoskiPersonState.UNKNOWN_LANGUAGE, new Date(), langCode);
return null;
}
}
}
String[] religionSubjects = new String[] { "UE", "UO" };
if (matchingEducationType && ArrayUtils.contains(religionSubjects, subjectCode)) {
// Only the religion that student has selected is reported
if (StringUtils.equals(subjectCode, studentSubjects.getReligion())) {
if (map.containsKey("KT"))
return map.get("KT");
KoskiOppiaineetYleissivistava kansallinenAine = KoskiOppiaineetYleissivistava.KT;
LukionOppiaineenTunniste tunniste = new LukionOppiaineenSuoritusMuuValtakunnallinen(kansallinenAine, isPakollinenOppiaine(student, kansallinenAine));
return mapSubject(subject, "KT", false, tunniste, map);
} else
return null;
}
if (matchingEducationType && EnumUtils.isValidEnum(KoskiOppiaineetYleissivistava.class, StringUtils.upperCase(subjectCode))) {
// Common national subject
KoskiOppiaineetYleissivistava kansallinenAine = KoskiOppiaineetYleissivistava.valueOf(StringUtils.upperCase(subjectCode));
LukionOppiaineenTunniste tunniste = new LukionOppiaineenSuoritusMuuValtakunnallinen(kansallinenAine, isPakollinenOppiaine(student, kansallinenAine));
return mapSubject(subject, subjectCode, false, tunniste, map);
} else {
// Other local subject
PaikallinenKoodi paikallinenKoodi = new PaikallinenKoodi(subjectCode, kuvaus(subject.getName()));
LukionOppiaineenSuoritusPaikallinen tunniste = new LukionOppiaineenSuoritusPaikallinen(paikallinenKoodi, false, kuvaus(subject.getName()));
return mapSubject(subject, subjectCode, true, tunniste, map);
}
}
use of fi.otavanopisto.pyramus.koski.model.PaikallinenKoodi in project pyramus by otavanopisto.
the class AbstractKoskiLukioStudentHandler2019 method createKurssiSuoritus.
protected LukionOpintojaksonSuoritus2019 createKurssiSuoritus(Student student, StudentSubjectSelections studentSubjects, boolean paikallinenOppiaine, OpiskelijanOPS ops, CreditStub courseCredit) {
String kurssiKoodi = courseCredit.getCourseCode();
LukionOpintojaksonTunniste2019 tunniste;
String subjectCode = subjectCode(courseCredit.getSubject());
Laajuus laajuus = kurssinLaajuus(student, courseCredit);
if (laajuus != null && laajuus.getYksikko() != null && laajuus.getYksikko().getValue() != OpintojenLaajuusYksikko.op) {
koskiPersonLogDAO.create(student.getPerson(), student, KoskiPersonState.LUKIO2019_CREDIT_NOT_IN_POINTS, new Date(), kurssiKoodi);
}
SuorituksenTyyppi suorituksenTyyppi;
if (!paikallinenOppiaine && EnumUtils.isValidEnum(ModuuliKoodistoLOPS2021.class, kurssiKoodi)) {
/**
* Tässä yhteydessä:
* * pakollinen => valtakunnallinen pakollinen
* * syventava => valtakunnallinen valinnainen
*/
LukionKurssinTyyppi kurssinTyyppi = findCourseType(student, courseCredit, true, LukionKurssinTyyppi.pakollinen, LukionKurssinTyyppi.syventava);
boolean pakollinen = kurssinTyyppi == LukionKurssinTyyppi.pakollinen;
suorituksenTyyppi = SuorituksenTyyppi.lukionvaltakunnallinenmoduuli;
ModuuliKoodistoLOPS2021 kurssi = ModuuliKoodistoLOPS2021.valueOf(kurssiKoodi);
if (studentSubjects.isAdditionalLanguage(subjectCode)) {
tunniste = new LukionOpintojaksonTunnisteVierasKieli2019(kurssi, laajuus, pakollinen);
} else {
tunniste = new LukionOpintojaksonTunnisteMuuModuuli2019(kurssi, laajuus, pakollinen);
}
} else {
/**
* Tässä yhteydessä:
* * syventava => paikallinen pakollinen
* * soveltava => paikallinen valinnainen
*/
LukionKurssinTyyppi kurssinTyyppi = findCourseType(student, courseCredit, false, LukionKurssinTyyppi.syventava, LukionKurssinTyyppi.soveltava);
boolean pakollinen = kurssinTyyppi == LukionKurssinTyyppi.pakollinen;
suorituksenTyyppi = SuorituksenTyyppi.lukionpaikallinenopintojakso;
PaikallinenKoodi paikallinenKoodi = new PaikallinenKoodi(kurssiKoodi, kuvaus(courseCredit.getSubject().getName()));
tunniste = new LukionOpintojaksonTunnistePaikallinen2019(paikallinenKoodi, laajuus, pakollinen, kuvaus(courseCredit.getCourseName()));
}
LukionOpintojaksonSuoritus2019 suoritus = new LukionOpintojaksonSuoritus2019(tunniste, suorituksenTyyppi);
return luoKurssiSuoritus(suoritus, courseCredit);
}
Aggregations