Skip to content

Commit

Permalink
Legg på dokument-felt: duplikatAv
Browse files Browse the repository at this point in the history
  • Loading branch information
hestad committed Apr 25, 2023
1 parent d43321a commit 7157cee
Show file tree
Hide file tree
Showing 4 changed files with 31 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ internal class DokumentPostgresRepo(
) : DokumentRepo {

private val joinDokumentOgDistribusjonQuery =
"select d.*, dd.journalpostid, dd.brevbestillingid from dokument d left join dokument_distribusjon dd on dd.dokumentid = d.id"
"select d.*, dd.journalpostid, dd.brevbestillingid from dokument d left join dokument_distribusjon dd on dd.dokumentid = d.id where d.duplikatAv is null"

override fun lagre(dokument: Dokument.MedMetadata, transactionContext: TransactionContext) {
dbMetrics.timeQuery("lagreDokumentMedMetadata") {
Expand Down Expand Up @@ -86,7 +86,7 @@ internal class DokumentPostgresRepo(
return dbMetrics.timeQuery("hentDokumentMedMetadataForSakId") {
sessionFactory.withSession { session ->
"""
$joinDokumentOgDistribusjonQuery where sakId = :id
$joinDokumentOgDistribusjonQuery and sakId = :id
""".trimIndent()
.hentListe(mapOf("id" to id), session) {
it.toDokumentMedStatus()
Expand All @@ -99,7 +99,7 @@ internal class DokumentPostgresRepo(
return dbMetrics.timeQuery("hentDokumentMedMetadataForSøknadId") {
sessionFactory.withSession { session ->
"""
$joinDokumentOgDistribusjonQuery where søknadId = :id
$joinDokumentOgDistribusjonQuery and søknadId = :id
""".trimIndent()
.hentListe(mapOf("id" to id), session) {
it.toDokumentMedStatus()
Expand All @@ -112,7 +112,7 @@ internal class DokumentPostgresRepo(
return dbMetrics.timeQuery("hentDokumentMedMetadataForVedtakId") {
sessionFactory.withSession { session ->
"""
$joinDokumentOgDistribusjonQuery where vedtakId = :id
$joinDokumentOgDistribusjonQuery and vedtakId = :id
""".trimIndent()
.hentListe(mapOf("id" to id), session) {
it.toDokumentMedStatus()
Expand All @@ -125,7 +125,7 @@ internal class DokumentPostgresRepo(
return dbMetrics.timeQuery("hentDokumentMedMetadataForRevurderingId") {
sessionFactory.withSession { session ->
"""
$joinDokumentOgDistribusjonQuery where revurderingId = :id
$joinDokumentOgDistribusjonQuery and revurderingId = :id
""".trimIndent()
.hentListe(mapOf("id" to id), session) {
it.toDokumentMedStatus()
Expand All @@ -138,7 +138,7 @@ internal class DokumentPostgresRepo(
return dbMetrics.timeQuery("hentDokumentMedMetadataForKlageId") {
sessionFactory.withSession { session ->
"""
$joinDokumentOgDistribusjonQuery where klageId = :id
$joinDokumentOgDistribusjonQuery and klageId = :id
""".trimIndent()
.hentListe(mapOf("id" to id), session) {
it.toDokumentMedStatus()
Expand Down Expand Up @@ -230,7 +230,7 @@ internal class DokumentPostgresRepo(

private fun hentDokument(id: UUID, session: Session) =
"""
$joinDokumentOgDistribusjonQuery where d.id = :id
$joinDokumentOgDistribusjonQuery and d.id = :id
""".trimIndent()
.hent(mapOf("id" to id), session) {
it.toDokumentMedStatus()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -313,6 +313,7 @@ internal class KlagePostgresRepo(
join vedtak v on k.vedtakid = v.id
join dokument d on d.vedtakid = v.id
where k.id = :id
and d.duplikatAv is null
""".trimIndent()
.hent(mapOf("id" to klageId), it) { row ->
row.string("vedtaksbrevdato").let {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,7 @@ internal class VedtakPostgresRepo(
left join dokument d on v.id = d.vedtakid
left join dokument_distribusjon dd on d.id = dd.dokumentid
where v.id = :vedtakId
and d.duplikatAv is null
order by v.opprettet
""".trimIndent()
.hent(mapOf("vedtakId" to vedtakId), session) {
Expand All @@ -127,6 +128,7 @@ internal class VedtakPostgresRepo(
join behandling_vedtak bv on bv.vedtakid = v.id
join revurdering r on r.id = bv.revurderingId
where r.id = :revurderingId
and d.duplikatAv is null
order by v.opprettet
""".trimIndent()
.hent(mapOf("revurderingId" to revurderingId), session) {
Expand All @@ -146,10 +148,15 @@ internal class VedtakPostgresRepo(
left join dokument d on v.id = d.vedtakid
left join dokument_distribusjon dd on d.id = dd.dokumentid
where v.sakId = :sakId
and d.duplikatAv is null
order by v.opprettet
""".trimIndent()
.hentListe(mapOf("sakId" to sakId), session) {
it.toVedtak(session)
}.also {
it.map { it.id }.let {
check(it.distinct().size == it.size) { "Fant duplikate vedtak/dokument/dokument_distribusjon for sakId=$sakId" }
}
}

override fun lagre(vedtak: Vedtak) {
Expand Down Expand Up @@ -186,6 +193,7 @@ internal class VedtakPostgresRepo(
left join dokument d on v.id = d.vedtakid
left join dokument_distribusjon dd on d.id = dd.dokumentid
where v.utbetalingId = :utbetalingId
and d.duplikatAv is null
order by v.opprettet
""".trimIndent()
.hent(mapOf("utbetalingId" to utbetalingId), session) {
Expand All @@ -205,7 +213,7 @@ internal class VedtakPostgresRepo(
from dokument
inner join dokument_distribusjon dd
on dokument.id = dd.dokumentid
where vedtakid = :vedtakId
where vedtakid = :vedtakId and d.duplikatAv is null
""".trimIndent().hent(mapOf("vedtakId" to vedtakId), session) {
JournalpostId(it.string("journalpostid"))
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
ALTER TABLE
dokument
ADD COLUMN IF NOT EXISTS duplikatAv uuid;

ALTER TABLE dokument
ADD CONSTRAINT fk_duplikatAv
FOREIGN KEY (duplikatAv) REFERENCES dokument (id);

COMMENT ON COLUMN dokument.duplikatAv IS 'Dokumentet er et duplikat av et annet dokument og skal ignoreres ved søk og visning.';

-- Setter det første dokumentet til å være duplikat av det siste dokumentet for et enkelt vedtak.
update dokument set duplikatAv = '7202a89f-ef54-4fad-899f-6ddd32d74c55' where id = '527e84d6-c8a5-49d7-941a-d9ca2dca866e';
update dokument set duplikatAv = '1b34fdc6-7b85-4a57-ab99-df756c6724d4' where id = '3b3e897a-8b4e-42db-a79c-48dd872c7bcd';
update dokument set duplikatAv = '1244d833-fc5f-49bf-b9d6-ad87b1a51c16' where id = '9a4bdf0d-ee1a-4614-8747-ecf31adb0a35';

0 comments on commit 7157cee

Please sign in to comment.