Skip to content

Commit

Permalink
EP-4515
Browse files Browse the repository at this point in the history
  • Loading branch information
oplekal committed Dec 19, 2024
1 parent 1658384 commit c2377be
Show file tree
Hide file tree
Showing 5 changed files with 203 additions and 37 deletions.
1 change: 1 addition & 0 deletions docs/pages/changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ permalink: /changelog

Päivämäärä | Muutokset
---------- | ------------
18.12.2024 | ePerusteet API - lisätty perusteen muutosmääräyksen voimaantulon alkupäivä (muutosmaarayksenVoimassaoloAlkaa)
17.05.2024 | OPS-työkalu API - lisätty yksittäisen opetussuunnitelman haun rajapintaan sisältörakenteen tarkka haku
26.02.2024 | OPS-työkalu API - Lisätty opetussuunnitelman perusteen haku -rajapinta
26.02.2024 | OPS-työkalu API - Lisätty koulutustyypit-hakuehto opetussuunnitelmen hakuun
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ public abstract class PerusteBaseDto implements Serializable, PerusteIdentifiabl
private List<MuutosmaaraysDto> muutosmaaraykset = new ArrayList<>();

private String diaarinumero;
@ApiModelProperty("Perusteen alkuperäinen voimaantulon alkamispäivä.")
private Date voimassaoloAlkaa;

@ApiModelProperty("Voimassaolon loppumisen jälkeinen perusteen päättymispäivämäärä.")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
import fi.vm.sade.eperusteet.dto.yl.PerusopetuksenPerusteenSisaltoDto;
import fi.vm.sade.eperusteet.dto.yl.TPOOpetuksenSisaltoDto;
import fi.vm.sade.eperusteet.dto.yl.lukio.julkinen.LukiokoulutuksenPerusteenSisaltoDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
Expand All @@ -25,6 +26,7 @@
import java.math.BigDecimal;
import java.util.Collection;
import java.util.Collections;
import java.util.Date;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
Expand Down Expand Up @@ -86,6 +88,10 @@ public class PerusteKaikkiDto extends PerusteBaseDto {
@JsonProperty("digitaalinenosaaminen")
private DigitaalisenOsaamisenSisaltoDto digitaalinenOsaaminenSisalto;

@JsonInclude(JsonInclude.Include.NON_NULL)
@ApiModelProperty("Perusteen viimeisimmän muutosmääräyksen voimaantulon alkamispäivä.")
private Date muutosmaarayksenVoimassaoloAlkaa;

@JsonIgnore
public Set<PerusteenSisaltoDto> getSisallot() {
if (PerusteTyyppi.OPAS.equals(this.getTyyppi())) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -317,6 +317,7 @@ public CompletableFuture<Void> teeJulkaisuAsync(long projektiId, JulkaisuBaseDto
kooditaValiaikaisetKoodit(peruste.getId());
PerusteKaikkiDto sisalto = perusteService.getKaikkiSisalto(peruste.getId());
sisalto.setViimeisinJulkaisuAika(Optional.of(julkaisuaika));
sisalto.setMuutosmaarayksenVoimassaoloAlkaa(selvitaMuutosmaarayksenVoimassaoloAlkaa(peruste, julkaisuBaseDto));
ObjectNode perusteDataJson = objectMapper.valueToTree(sisalto);

Set<Long> dokumentit = generoiJulkaisuPdf(sisalto);
Expand All @@ -327,7 +328,6 @@ public CompletableFuture<Void> teeJulkaisuAsync(long projektiId, JulkaisuBaseDto
julkaisu.setLuoja(username);
julkaisu.setLuotu(julkaisuaika);
julkaisu.setPeruste(peruste);
julkaisu.setMuutosmaaraysVoimaan(julkaisuBaseDto.getMuutosmaaraysVoimaan());
julkaisu.setJulkinen(true);

if (julkaisuBaseDto.getJulkinenTiedote() != null) {
Expand Down Expand Up @@ -367,6 +367,20 @@ public CompletableFuture<Void> teeJulkaisuAsync(long projektiId, JulkaisuBaseDto
return CompletableFuture.completedFuture(null);
}

private Date selvitaMuutosmaarayksenVoimassaoloAlkaa(Peruste peruste, JulkaisuBaseDto julkaisu) {
if (julkaisu.getMuutosmaarays() != null) {
return julkaisu.getMuutosmaarays().getVoimassaoloAlkaa();
}

return julkaisutRepository.findAllByPerusteOrderByRevisionDesc(peruste)
.stream()
.map(JulkaistuPeruste::getMuutosmaarays)
.filter(Objects::nonNull)
.map(Maarays::getVoimassaoloAlkaa)
.findFirst()
.orElse(null);
}

private void lisaaMaaraysKokoelmaan(JulkaisuBaseDto julkaisuBaseDto, Peruste peruste, JulkaistuPeruste julkaisu) {
MaaraysDto maarays = maaraysService.getPerusteenMaarays(peruste.getId());
if (maarays != null) {
Expand Down
Loading

0 comments on commit c2377be

Please sign in to comment.