|
5 | 5 |
|
6 | 6 | import org.hibernate.annotations.Immutable;
|
7 | 7 |
|
| 8 | +import jakarta.persistence.AttributeOverride; |
| 9 | +import jakarta.persistence.AttributeOverrides; |
8 | 10 | import jakarta.persistence.Column;
|
9 | 11 | import jakarta.persistence.Embedded;
|
10 | 12 | import jakarta.persistence.Entity;
|
11 | 13 | import jakarta.persistence.GeneratedValue;
|
12 | 14 | import jakarta.persistence.GenerationType;
|
13 | 15 | import jakarta.persistence.Id;
|
| 16 | +import jakarta.persistence.JoinColumn; |
| 17 | +import jakarta.persistence.OneToOne; |
14 | 18 | import jakarta.persistence.Table;
|
15 | 19 | import no.nav.ung.kodeverk.etterlysning.EtterlysningStatus;
|
16 | 20 | import no.nav.ung.kodeverk.etterlysning.EtterlysningType;
|
17 | 21 | import no.nav.ung.sak.behandlingslager.BaseEntitet;
|
18 | 22 | import no.nav.ung.sak.domene.typer.tid.DatoIntervallEntitet;
|
| 23 | +import no.nav.ung.sak.typer.JournalpostId; |
19 | 24 |
|
20 | 25 | @Entity(name = "Etterlysning")
|
21 | 26 | @Table(name = "ETTERLYSNING")
|
@@ -50,6 +55,14 @@ public class EtterlysningEntitet extends BaseEntitet {
|
50 | 55 | @Column(name = "frist")
|
51 | 56 | private LocalDateTime frist;
|
52 | 57 |
|
| 58 | + @Embedded |
| 59 | + @AttributeOverrides(@AttributeOverride(name = "journalpostId", column = @Column(name = "svar_journalpost_id"))) |
| 60 | + private JournalpostId svarJournalpostId; |
| 61 | + |
| 62 | + @OneToOne |
| 63 | + @JoinColumn(name = "id", referencedColumnName = "etterlysning_id") |
| 64 | + private UttalelseEntitet uttalelse; |
| 65 | + |
53 | 66 | private EtterlysningEntitet() {
|
54 | 67 | // Hibernate
|
55 | 68 | }
|
@@ -131,10 +144,24 @@ public void skalAvbrytes() {
|
131 | 144 | this.status = EtterlysningStatus.SKAL_AVBRYTES;
|
132 | 145 | }
|
133 | 146 |
|
134 |
| - public void mottattSvar() { |
| 147 | + public void mottattSvar(JournalpostId svarJournalpostId) { |
135 | 148 | if (status != EtterlysningStatus.VENTER) {
|
136 | 149 | throw new IllegalStateException("Kan ikke motta svar på etterlysning som ikke er satt til VENTER. Status er " + status);
|
137 | 150 | }
|
| 151 | + this.svarJournalpostId = svarJournalpostId; |
138 | 152 | this.status = EtterlysningStatus.MOTTATT_SVAR;
|
139 | 153 | }
|
| 154 | + |
| 155 | + public void mottattUttalelse(String uttalelse, JournalpostId svarJournalpostId) { |
| 156 | + mottattSvar(svarJournalpostId); |
| 157 | + this.uttalelse = new UttalelseEntitet(uttalelse, this.id); |
| 158 | + } |
| 159 | + |
| 160 | + public JournalpostId getSvarJournalpostId() { |
| 161 | + return svarJournalpostId; |
| 162 | + } |
| 163 | + |
| 164 | + public UttalelseEntitet getUttalelse() { |
| 165 | + return uttalelse; |
| 166 | + } |
140 | 167 | }
|
0 commit comments