Skip to content

Commit

Permalink
EP-4397
Browse files Browse the repository at this point in the history
  • Loading branch information
oplekal committed Oct 14, 2024
1 parent 0bf6d50 commit d77d959
Show file tree
Hide file tree
Showing 5 changed files with 9 additions and 21 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -334,8 +334,7 @@ public void setOppiaine(Oppiaine oppiaine) {
}
}

public void asetaPohjanOppiaine(Oppiaine pohjanOppiaine) {
this.pohjanOppiaine = pohjanOppiaine;
public void tyhjennaTiedot() {
setTehtava(new Tekstiosa());
setTavoitteet(new Tekstiosa());
setArviointi(new Tekstiosa());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,4 @@ public interface OppiaineRepository extends JpaWithVersioningRepository<Oppiaine

@Query(value = "select ops from Opetussuunnitelma ops inner join ops.oppiaineet oo inner join oo.oppiaine o on o.id = ?1 where not(ops.id = ?2)")
Set<Opetussuunnitelma> findOtherOpetussuunnitelmasContainingOpsOppiaine(long oppiaineId, long exceptOpsId);

Set<Oppiaine> findByPohjanOppiaine(Oppiaine pohjanOppiaine);
}
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@
import fi.vm.sade.eperusteet.ylops.service.ops.OpsOppiaineCtx;
import fi.vm.sade.eperusteet.ylops.service.ops.PoistoService;
import fi.vm.sade.eperusteet.ylops.service.ops.VuosiluokkakokonaisuusService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
Expand Down Expand Up @@ -93,6 +94,7 @@
import static java.util.stream.Collectors.toMap;
import static java.util.stream.Collectors.toSet;

@Slf4j
@Service
@Transactional
public class OppiaineServiceImpl extends AbstractLockService<OpsOppiaineCtx> implements OppiaineService {
Expand Down Expand Up @@ -405,7 +407,7 @@ private void addOppiaineToChildOpetussuunnitelmat(Long opetussuunnitelmaId, Oppi
}

Oppiaine newOppiaine = oppiaineet.save(Oppiaine.copyOf(oppiaine));
newOppiaine.asetaPohjanOppiaine(oppiaine);
newOppiaine.tyhjennaTiedot();
newOppiaine.setLiittyvaOppiaine(Optional.ofNullable(oppiaine.getLiittyvaOppiaine())
.map(liittyva -> oppiaineet.findOneByOpsIdAndTunniste(opetussuunnitelma.getId(), liittyva.getTunniste())).orElse(null));

Expand All @@ -420,7 +422,6 @@ private void addOppiaineToChildOpetussuunnitelmat(Long opetussuunnitelmaId, Oppi
} else {
Oppiaine parentOppiaine = oppiaineet.findOneByOpsIdAndTunniste(opetussuunnitelma.getId(), parentOppiaineTunniste);
Boolean isParentOma = oppiaineet.isOma(opetussuunnitelma.getId(), parentOppiaine.getId());

if (!isParentOma) {
kopioiMuokattavaksi(opetussuunnitelma.getId(), parentOppiaine.getId(), true);
} else {
Expand Down Expand Up @@ -799,16 +800,9 @@ public OpsOppiaineDto kopioiMuokattavaksi(Long opsId, Long id, boolean asetaPohj
Oppiaine newOppiaine = oppiaineet.save(Oppiaine.copyOf(oppiaine));

if (asetaPohjanOppiaine) {
newOppiaine.asetaPohjanOppiaine(oppiaine);
newOppiaine.tyhjennaTiedot();
if (newOppiaine.getOppimaarat() != null) {
newOppiaine.getOppimaarat().forEach(newoppimaara -> {
Optional<Oppiaine> optOppimaara = oppiaine.getOppimaarat().stream()
.filter(oppimaara -> oppimaara.getKoodiUri().equals(newoppimaara.getKoodiUri()))
.findFirst();
if (optOppimaara.isPresent()) {
newoppimaara.asetaPohjanOppiaine(optOppimaara.get());
}
});
newOppiaine.getOppimaarat().forEach(Oppiaine::tyhjennaTiedot);
}
}

Expand Down Expand Up @@ -907,11 +901,6 @@ public PoistettuOppiaineDto delete(Long opsId, Long oppiaineId) {
.findByOppiaineIds(oppiaine.maarineen().map(Oppiaine::getId).collect(toSet())));
oppiaineLukiokurssiRepository.deleteAll(oppiaineLukiokurssiRepository.findByOpsAndOppiaine(opsId, oppiaineId));

oppiaineet.findByPohjanOppiaine(oppiaine).forEach(pohjanOppiainettaKayttavaOppiaine -> {
pohjanOppiainettaKayttavaOppiaine.asetaPohjanOppiaine(null);
oppiaineet.save(pohjanOppiainettaKayttavaOppiaine);
});

poistaOppiaineAlaOpetussuunnitelmista(opsId, oppiaine);
muokkaustietoService.addOpsMuokkausTieto(ops, oppiaine, MuokkausTapahtuma.POISTO);

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
ALTER TABLE oppiaine DROP COLUMN pohjan_oppiaine_id;
ALTER TABLE oppiaine_aud DROP COLUMN pohjan_oppiaine_id;
Original file line number Diff line number Diff line change
Expand Up @@ -283,8 +283,8 @@ public void testMuokattavaksiKopioiminen() {

OpsOppiaineDto opsOppiaine = oppiaineService.kopioiMuokattavaksi(alaOps.getId(), oppiaine.getId(), true);
assertNotEquals("Oppiaineet ovat samat", opsOppiaine.getOppiaine().getId(), oppiaine.getId());
assertEquals("Väärä pohja", opsOppiaine.getOppiaine().getPohjanOppiaine().getId(), oppiaine.getId());
assertNull(opsOppiaine.getOppiaine().getTehtava().getTeksti());
assertEquals(opsOppiaine.getOppiaine().getTunniste(), oppiaine.getTunniste());
opsOppiaine.getOppiaine().getVuosiluokkakokonaisuudet().forEach(vlk -> {
assertNull(vlk.getArviointi().getTeksti());
assertNull(vlk.getOhjaus().getTeksti());
Expand Down

0 comments on commit d77d959

Please sign in to comment.