Skip to content

Commit

Permalink
OY-4799 filtteröidään pelkästään hylätyt osasuoritukset
Browse files Browse the repository at this point in the history
  • Loading branch information
marjakari committed Apr 18, 2024
1 parent 36649ee commit 71d27f5
Show file tree
Hide file tree
Showing 4 changed files with 3,018 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -628,11 +628,9 @@ class KoskiDataHandler(
Oids.perusopetuksenOppiaineenOppimaaraOid.contains(s.suoritus.komo)
)
}
// Ei tallenneta peruskoulun oppiaineen oppimäärän suorituksia joilla ei ole arvosanaa tai joiden arvosana on 4
// Ei tallenneta peruskoulun oppiaineen oppimäärän suorituksia joilla ei ole arvosanaa
tallennettavatSuoritukset = tallennettavatSuoritukset.filterNot(s =>
Oids.perusopetuksenOppiaineenOppimaaraOid.contains(
s.suoritus.komo
) && (s.arvosanat.isEmpty || s.arvosanat.exists(a => a.arvio.equals(Arvio410("4"))))
Oids.perusopetuksenOppiaineenOppimaaraOid.contains(s.suoritus.komo) && s.arvosanat.isEmpty
)

// Tallennetaan mahdollinen 7-8-valmistava vain silloin, kun valmista ja vahvistettua
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -460,6 +460,9 @@ class KoskiSuoritusArvosanaParser {
.koodistoUri
.contentEquals("koskioppiaineetyleissivistava")
)
// Filtteröidään hylätyt
s = s.filter(osaSuoritus =>
osaSuoritus.arviointi.exists(a => a.hyväksytty.isDefined && a.hyväksytty.get))
osasuoritusToArvosana(
personOid,
komoOid,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4466,6 +4466,36 @@ class KoskiDataHandlerTest

}

it should "import hyväksytty suoritus even if there is arvosana 4 for nuorten perusopetuksen oppiaineen oppimäärä" in {
val json: String =
scala.io.Source
.fromFile(jsonDir + "koski_perusopituksen_oppiaine_4_ja_hyvaksytty.json")
.mkString
val henkilo: KoskiHenkiloContainer = parse(json).extract[KoskiHenkiloContainer]
henkilo should not be null
henkilo.opiskeluoikeudet.head.tyyppi should not be empty

KoskiUtil.deadlineDate = LocalDate.now().plusDays(30)

Await.result(
koskiDatahandler.processHenkilonTiedotKoskesta(
henkilo,
PersonOidsWithAliases(henkilo.henkilö.oid.toSet),
new KoskiSuoritusHakuParams(saveLukio = true, saveAmmatillinen = true)
),
5.seconds
)

val matikkaArvosanat = run(
database.run(
sql"select count(*) from arvosana where aine = 'MA'"
.as[String]
)
)
matikkaArvosanat.head should equal("2")

}

it should "not import arvosanat for aikuisten perusopetuksen oppiaineen oppimäärä without arvosana" in {
val json: String =
scala.io.Source
Expand Down
Loading

0 comments on commit 71d27f5

Please sign in to comment.