Skip to content

Commit

Permalink
OK-754: Eriytetään organisaatioOid ja kth-tiedot toisistaan excelin m…
Browse files Browse the repository at this point in the history
…uodostuksen helpottamiseksi
  • Loading branch information
heidilm committed Jan 8, 2025
1 parent 6e4c935 commit dd24a10
Show file tree
Hide file tree
Showing 8 changed files with 438 additions and 344 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package fi.oph.ovara.backend.domain

sealed trait KoulutuksetToteutuksetHakukohteet {
sealed trait KoulutusToteutusHakukohde {
val hakukohdeNimi: Kielistetty
val hakukohdeOid: String
val koulutuksenTila: Option[String]
Expand All @@ -12,7 +12,7 @@ sealed trait KoulutuksetToteutuksetHakukohteet {
val jarjestaaUrheilijanAmmKoulutusta: Option[Boolean]
}

case class KoulutuksetToteutuksetHakukohteetResult(
case class KoulutusToteutusHakukohdeResult(
hakukohdeNimi: Kielistetty,
hakukohdeOid: String,
koulutuksenTila: Option[String] = None,
Expand All @@ -21,11 +21,10 @@ case class KoulutuksetToteutuksetHakukohteetResult(
aloituspaikat: Option[Int] = None,
onValintakoe: Option[Boolean] = None,
voiSuorittaaKaksoistutkinnon: Option[Boolean] = None,
jarjestaaUrheilijanAmmKoulutusta: Option[Boolean] = None,
organisaatio_oid: Option[String],
) extends KoulutuksetToteutuksetHakukohteet
jarjestaaUrheilijanAmmKoulutusta: Option[Boolean] = None
) extends KoulutusToteutusHakukohde

case class OrganisaationKoulutuksetToteutuksetHakukohteet(
organisaatio: Option[Organisaatio],
koulutuksetToteutuksetHakukohteet: Vector[KoulutuksetToteutuksetHakukohteetResult]
case class OrganisaationKoulutusToteutusHakukohde(
organisaatio_oid: Option[String],
koulutusToteutusHakukohde: KoulutusToteutusHakukohdeResult
)
Original file line number Diff line number Diff line change
Expand Up @@ -24,5 +24,5 @@ case class OrganisaatioHierarkiaWithHakukohteet(
organisaatiotyypit: List[String],
parent_oids: List[String],
children: List[OrganisaatioHierarkiaWithHakukohteet] = List(),
hakukohteet: List[KoulutuksetToteutuksetHakukohteetResult]
hakukohteet: List[OrganisaationKoulutusToteutusHakukohde]
)
Original file line number Diff line number Diff line change
Expand Up @@ -54,9 +54,9 @@ trait Extractors extends GenericOvaraJsonFormats {
)
})

implicit val getKoulutuksetToteutuksetHakukohteetResult: GetResult[KoulutuksetToteutuksetHakukohteetResult] = {
implicit val getKoulutuksetToteutuksetHakukohteetResult: GetResult[OrganisaationKoulutusToteutusHakukohde] = {
GetResult(r =>
KoulutuksetToteutuksetHakukohteetResult(
val kth = KoulutusToteutusHakukohdeResult(
hakukohdeNimi = extractKielistetty(r.nextStringOption()),
hakukohdeOid = r.nextString(),
koulutuksenTila = r.nextStringOption(),
Expand All @@ -66,7 +66,12 @@ trait Extractors extends GenericOvaraJsonFormats {
onValintakoe = r.nextBooleanOption(),
voiSuorittaaKaksoistutkinnon = r.nextBooleanOption(),
jarjestaaUrheilijanAmmKoulutusta = r.nextBooleanOption(),
organisaatio_oid = r.nextStringOption(),
)
val organisaatio_oid = r.nextStringOption()

OrganisaationKoulutusToteutusHakukohde(
organisaatio_oid = organisaatio_oid,
koulutusToteutusHakukohde = kth
)
)
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package fi.oph.ovara.backend.repository

import fi.oph.ovara.backend.domain.KoulutuksetToteutuksetHakukohteetResult
import fi.oph.ovara.backend.domain.{KoulutusToteutusHakukohdeResult, OrganisaationKoulutusToteutusHakukohde}
import fi.oph.ovara.backend.utils.RepositoryUtils
import org.springframework.stereotype.Component
import slick.jdbc.PostgresProfile.api.*
Expand All @@ -17,8 +17,8 @@ class KoulutuksetToteutuksetHakukohteetRepository extends Extractors {
hakukohteenTila: Option[String],
valintakoe: Option[Boolean]
): SqlStreamingAction[Vector[
KoulutuksetToteutuksetHakukohteetResult
], KoulutuksetToteutuksetHakukohteetResult, Effect] = {
OrganisaationKoulutusToteutusHakukohde
], OrganisaationKoulutusToteutusHakukohde, Effect] = {
val alkamiskaudetAndHenkKohtSuunnitelma =
RepositoryUtils.extractAlkamisvuosiKausiAndHenkkohtSuunnitelma(alkamiskausi)
val alkamiskaudet = alkamiskaudetAndHenkKohtSuunnitelma._1
Expand Down Expand Up @@ -50,6 +50,6 @@ class KoulutuksetToteutuksetHakukohteetRepository extends Extractors {
#${RepositoryUtils.makeEqualsQueryStrOfOptional("AND", "t.tila", toteutuksenTila)}
#${RepositoryUtils.makeEqualsQueryStrOfOptional("AND", "hk.tila", hakukohteenTila)}
#${RepositoryUtils.makeEqualsQueryStrOfOptionalBoolean("AND", "hk.on_valintakoe", valintakoe)}
""".as[KoulutuksetToteutuksetHakukohteetResult]
""".as[OrganisaationKoulutusToteutusHakukohde]
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,15 @@ object ExcelWriter {
val LOG: Logger = LoggerFactory.getLogger("ExcelWriter")

def countAloituspaikat(
organisaationKoulutuksetToteutuksetHakukohteet: List[KoulutuksetToteutuksetHakukohteetResult]
organisaationKoulutuksetToteutuksetHakukohteet: List[OrganisaationKoulutusToteutusHakukohde]
): Int = {
val koulutuksetToteutuksetHakukohteet = organisaationKoulutuksetToteutuksetHakukohteet
koulutuksetToteutuksetHakukohteet.flatMap(kth => kth.aloituspaikat).sum
koulutuksetToteutuksetHakukohteet.flatMap(kth => kth.koulutusToteutusHakukohde.aloituspaikat).sum
}

def flattenHierarkiaHakukohteet(
organisaatioHierarkiaWithHakukohteet: OrganisaatioHierarkiaWithHakukohteet
): List[KoulutuksetToteutuksetHakukohteetResult] = {
): List[OrganisaationKoulutusToteutusHakukohde] = {
if (organisaatioHierarkiaWithHakukohteet.children.isEmpty) {
organisaatioHierarkiaWithHakukohteet.hakukohteet
} else {
Expand Down Expand Up @@ -82,7 +82,7 @@ object ExcelWriter {
initialRowIndex: Int,
resultRowIndex: Int,
cellStyle: XSSFCellStyle,
kth: KoulutuksetToteutuksetHakukohteetResult,
kth: KoulutusToteutusHakukohdeResult,
asiointikieli: String
) = {
val hakukohteenTiedotRow = sheet.createRow(initialRowIndex)
Expand Down Expand Up @@ -154,7 +154,7 @@ object ExcelWriter {

orgHierarkiaWithResults.hakukohteet.zipWithIndex.foreach((hakukohde, resultRowIndex) => {
currentRowIndex =
createHakukohdeRow(sheet, currentRowIndex, resultRowIndex, cellStyle, hakukohde, asiointikieli)
createHakukohdeRow(sheet, currentRowIndex, resultRowIndex, cellStyle, hakukohde._2, asiointikieli)
})

if (orgHierarkiaWithResults.children.nonEmpty) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import fi.oph.ovara.backend.domain.*
object OrganisaatioUtils {
def mapOrganisaationHakukohteetToParent(
hierarkia: OrganisaatioHierarkia,
organisaatiotWithHakukohteet: Map[Option[String], Vector[KoulutuksetToteutuksetHakukohteetResult]]
organisaatiotWithHakukohteet: Map[Option[String], Vector[OrganisaationKoulutusToteutusHakukohde]]
): OrganisaatioHierarkiaWithHakukohteet = {
val organisaatioOid = hierarkia.organisaatio_oid
val kths = organisaatiotWithHakukohteet.find(o => {
Expand Down Expand Up @@ -34,7 +34,7 @@ object OrganisaatioUtils {

def mapOrganisaationHakukohteetToParents(
hierarkiat: List[OrganisaatioHierarkia],
organisaatiotWithHakukohteet: Map[Option[String], Vector[KoulutuksetToteutuksetHakukohteetResult]]
organisaatiotWithHakukohteet: Map[Option[String], Vector[OrganisaationKoulutusToteutusHakukohde]]
): List[OrganisaatioHierarkiaWithHakukohteet] = {
hierarkiat.map(hierarkia => mapOrganisaationHakukohteetToParent(hierarkia, organisaatiotWithHakukohteet))
}
Expand Down
Loading

0 comments on commit dd24a10

Please sign in to comment.