use of fi.otavanopisto.pyramus.koski.model.lukio.LukionOppiaineenArviointi in project pyramus by otavanopisto.
the class KoskiInternetixLukioStudentHandler method assessmentsToModel.
private void assessmentsToModel(LukionOpiskeluoikeus opiskeluoikeus, Student student, StudentSubjectSelections studentSubjects, boolean calculateMeanGrades, boolean sisällytäVahvistus, String toimipisteOID, boolean defaultStudyProgramme) {
List<OpiskelijanOPS> opsList = new ArrayList<>();
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.ops2016, predicate);
Map<String, OppiaineenSuoritusWithCurriculum<LukionOppiaineenSuoritus>> map = new HashMap<>();
Set<OppiaineenSuoritusWithCurriculum<LukionOppiaineenSuoritus>> accomplished = new HashSet<>();
for (OpiskelijanOPS ops : opsCredits.keySet()) {
List<CreditStub> credits = opsCredits.get(ops);
for (CreditStub credit : credits) {
OppiaineenSuoritusWithCurriculum<LukionOppiaineenSuoritus> oppiaineenSuoritus = getSubject(ops, student, handlerParams.getEducationTypes(), credit.getSubject(), studentSubjects, map);
collectAccomplishedMarks(credit.getSubject(), oppiaineenSuoritus, studentSubjects, accomplished);
if (settings.isReportedCredit(credit) && oppiaineenSuoritus != null) {
LukionKurssinSuoritus kurssiSuoritus = createKurssiSuoritus(student, 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());
}
}
}
}
for (OppiaineenSuoritusWithCurriculum<LukionOppiaineenSuoritus> lukionOppiaineenSuoritus : map.values()) {
if (CollectionUtils.isEmpty(lukionOppiaineenSuoritus.getOppiaineenSuoritus().getOsasuoritukset())) {
// Skip empty subjects
continue;
}
StudentSubjectGrade studentSubjectGrade = findStudentSubjectGrade(student, lukionOppiaineenSuoritus.getSubject());
boolean hasStudentSubjectGrade = studentSubjectGrade != null;
// Valmiille oppiaineelle on rustattava kokonaisarviointi
if (calculateMeanGrades || hasStudentSubjectGrade) {
ArviointiasteikkoYleissivistava aineKeskiarvo = accomplished.contains(lukionOppiaineenSuoritus) ? ArviointiasteikkoYleissivistava.GRADE_S : getSubjectMeanGrade(student, lukionOppiaineenSuoritus.getSubject(), lukionOppiaineenSuoritus.getOppiaineenSuoritus());
if (aineKeskiarvo != null) {
Date arviointiPvm = (studentSubjectGrade != null && studentSubjectGrade.getGradeDate() != null) ? studentSubjectGrade.getGradeDate() : student.getStudyEndDate();
LukionOppiaineenArviointi arviointi = new LukionOppiaineenArviointi(aineKeskiarvo, arviointiPvm);
lukionOppiaineenSuoritus.getOppiaineenSuoritus().addArviointi(arviointi);
} else {
logger.warning(String.format("Unresolved mean grade for person %d.", student.getPerson().getId()));
}
}
LukionOppiaineenSuoritus oppiaineenSuoritus = lukionOppiaineenSuoritus.getOppiaineenSuoritus();
LukionOppiaineenOppimaaranSuoritus oppiaineenOppimaaranSuoritus = LukionOppiaineenOppimaaranSuoritus.from(oppiaineenSuoritus, Kieli.FI, new OrganisaationToimipisteOID(toimipisteOID));
oppiaineenOppimaaranSuoritus.getKoulutusmoduuli().setPerusteenDiaarinumero(getDiaarinumero(HANDLER_TYPE, lukionOppiaineenSuoritus.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);
}
}
use of fi.otavanopisto.pyramus.koski.model.lukio.LukionOppiaineenArviointi in project pyramus by otavanopisto.
the class LukioOppimaaraData 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);
LukionOppimaaranSuoritus suoritus = new LukionOppimaaranSuoritus(LukionOppimaara.aikuistenops, Kieli.FI, toimipiste);
opiskeluoikeus.addSuoritus(suoritus);
// Oppiaine
LukionOppiaineenTunniste koulutusmoduuli = new LukionOppiaineenSuoritusAidinkieli(OppiaineAidinkieliJaKirjallisuus.AI1, true);
LukionOppiaineenSuoritus oppiaine = new LukionOppiaineenSuoritus(koulutusmoduuli);
suoritus.addOsasuoritus(oppiaine);
// Oppiaineen arviointi
oppiaine.addArviointi(new LukionOppiaineenArviointi(ArviointiasteikkoYleissivistava.GRADE_9, paattymispaiva));
// Kurssi 1
LukionKurssinTunniste kurssinTunniste = new LukionKurssinTunnisteValtakunnallinenOPS2015(LukionKurssit.ÄI1, LukionKurssinTyyppi.pakollinen);
LukionKurssinSuoritus kurssi = new LukionKurssinSuoritus(kurssinTunniste);
kurssi.addArviointi(new KurssinArviointiNumeerinen(ArviointiasteikkoYleissivistava.GRADE_9, paattymispaiva));
oppiaine.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")));
oppiaine.addOsasuoritus(kurssi);
return oppija;
}
use of fi.otavanopisto.pyramus.koski.model.lukio.LukionOppiaineenArviointi in project pyramus by otavanopisto.
the class LukioOppimaara2019Data 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);
LukionOppimaaranSuoritus2019 suoritus = new LukionOppimaaranSuoritus2019(LukionOppimaara.aikuistenops, Kieli.FI, toimipiste);
opiskeluoikeus.addSuoritus(suoritus);
// Oppiaine
LukionOppiaineenSuoritusAidinkieli2019 koulutusmoduuli = new LukionOppiaineenSuoritusAidinkieli2019(OppiaineAidinkieliJaKirjallisuus.AI1, true);
LukionOppiaineenSuoritus2019 oppiaine = new LukionOppiaineenSuoritus2019(koulutusmoduuli, false);
suoritus.addOsasuoritus(oppiaine);
// Oppiaineen arviointi
oppiaine.addArviointi(new LukionOppiaineenArviointi(ArviointiasteikkoYleissivistava.GRADE_9, paattymispaiva));
// Kurssi 1
LukionOpintojaksonTunniste2019 kurssinTunniste = new LukionOpintojaksonTunnisteMuuModuuli2019(ModuuliKoodistoLOPS2021.ÄI1, new Laajuus(2, OpintojenLaajuusYksikko.op), true);
LukionOpintojaksonSuoritus2019 kurssi = new LukionOpintojaksonSuoritus2019(kurssinTunniste, SuorituksenTyyppi.lukionvaltakunnallinenmoduuli);
kurssi.addArviointi(new KurssinArviointiNumeerinen(ArviointiasteikkoYleissivistava.GRADE_9, paattymispaiva));
oppiaine.addOsasuoritus(kurssi);
// Kurssi 2
kurssinTunniste = new LukionOpintojaksonTunnistePaikallinen2019(new PaikallinenKoodi("ÄI123", kuvaus("ABC")), new Laajuus(2, OpintojenLaajuusYksikko.op), false, kuvaus("ABC"));
kurssi = new LukionOpintojaksonSuoritus2019(kurssinTunniste, SuorituksenTyyppi.lukionpaikallinenopintojakso);
kurssi.addArviointi(new KurssinArviointiSanallinen(ArviointiasteikkoYleissivistava.GRADE_S, paattymispaiva, kuvaus("S")));
oppiaine.addOsasuoritus(kurssi);
return oppija;
}
use of fi.otavanopisto.pyramus.koski.model.lukio.LukionOppiaineenArviointi in project pyramus by otavanopisto.
the class AbstractKoskiLukioStudentHandler2019 method assessmentsToModel.
protected Set<LukionOsasuoritus2019> assessmentsToModel(OpiskelijanOPS ops, Student student, EducationType studentEducationType, StudentSubjectSelections studentSubjects, boolean calculateMeanGrades) {
Collection<CreditStub> credits = listCredits(student, true, true, ops, credit -> matchingCurriculumFilter(student, credit));
Set<LukionOsasuoritus2019> results = new HashSet<>();
Map<String, OppiaineenSuoritusWithSubject<LukionOsasuoritus2019>> map = new HashMap<>();
Set<OppiaineenSuoritusWithSubject<LukionOsasuoritus2019>> accomplished = new HashSet<>();
for (CreditStub credit : credits) {
OppiaineenSuoritusWithSubject<LukionOsasuoritus2019> oppiaineenSuoritusWSubject = getSubject(student, ops, studentEducationType, credit.getSubject(), studentSubjects, map);
collectAccomplishedMarks(credit.getSubject(), oppiaineenSuoritusWSubject, studentSubjects, accomplished);
if (settings.isReportedCredit(credit) && oppiaineenSuoritusWSubject != null) {
LukionOpintojaksonSuoritus2019 kurssiSuoritus = createKurssiSuoritus(student, studentSubjects, oppiaineenSuoritusWSubject.isPaikallinenOppiaine(), ops, credit);
if (kurssiSuoritus != null) {
oppiaineenSuoritusWSubject.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());
}
}
}
for (OppiaineenSuoritusWithSubject<LukionOsasuoritus2019> lukionOppiaineenSuoritusWSubject : map.values()) {
LukionOsasuoritus2019 lukionOsaSuoritus = lukionOppiaineenSuoritusWSubject.getOppiaineenSuoritus();
if (CollectionUtils.isEmpty(lukionOsaSuoritus.getOsasuoritukset())) {
// Skip empty subjects
continue;
}
if (calculateMeanGrades && (lukionOsaSuoritus instanceof LukionOppiaineenSuoritus2019)) {
LukionOppiaineenSuoritus2019 lukionOppiaineenSuoritus = (LukionOppiaineenSuoritus2019) lukionOsaSuoritus;
ArviointiasteikkoYleissivistava aineKeskiarvo = accomplished.contains(lukionOppiaineenSuoritusWSubject) ? ArviointiasteikkoYleissivistava.GRADE_S : getSubjectMeanGrade(student, lukionOppiaineenSuoritusWSubject.getSubject(), lukionOsaSuoritus);
if (aineKeskiarvo != null) {
LukionOppiaineenArviointi arviointi = new LukionOppiaineenArviointi(aineKeskiarvo, student.getStudyEndDate());
lukionOppiaineenSuoritus.addArviointi(arviointi);
} else {
logger.warning(String.format("Unresolved mean grade for person %d.", student.getPerson().getId()));
}
}
results.add(lukionOsaSuoritus);
}
return results;
}
Aggregations