import type { Briefkopf } from '@/lib/vertraege/anschreiben' /** * Baut den Briefkopf aus Stammdaten und angemeldetem Benutzer. * * Die Anschrift des Betreuers haengt am Benutzer, nicht an der betreuten * Person: Sie gehoert zu mir und gilt fuer alle Akten. Ist sie nicht * hinterlegt, bleiben die Zeilen weg - ein Absenderblock mit leeren * Zeilen sieht schlimmer aus als einer, der nur aus dem Namen besteht. */ /** Wer schreibt - Name und, wenn hinterlegt, die eigene Anschrift. */ export type Absender = { name: string strasse?: string | null plz?: string | null ort?: string | null } export type BriefkopfQuelle = { betreute: { vorname: string nachname: string anrede: string | null geburtsdatum: Date heimName: string | null heimStrasse: string | null heimPlz: string | null heimOrt: string | null betreuungsgericht: string | null aktenzeichenGericht: string | null bestellungAm: Date | null } benutzer: Absender } export function briefkopfBauen(quelle: BriefkopfQuelle): Briefkopf { const b = quelle.betreute const anschrift = [ b.heimName, b.heimStrasse, [b.heimPlz, b.heimOrt].filter(Boolean).join(' ') || null, ] .filter(Boolean) .join('\n') return { betreuerName: quelle.benutzer.name, betreuerStrasse: quelle.benutzer.strasse ?? null, betreuerPlz: quelle.benutzer.plz ?? null, // Der Ort in der Datumszeile ist der Ort des Betreuers, nicht der // des Heims. betreuerOrt: quelle.benutzer.ort ?? null, betreuteName: `${b.anrede ? `${b.anrede} ` : ''}${b.vorname} ${b.nachname}`.trim(), betreuteGeburtsdatum: b.geburtsdatum, betreuteAnschrift: anschrift || null, betreuungsgericht: b.betreuungsgericht, aktenzeichenGericht: b.aktenzeichenGericht, bestellungAm: b.bestellungAm, } }