feat(export): Bestandsbuch für Tierarzneimittel nach Art. 108 VO (EU) 2019/6

- Treatment records supplier, purchase proof and prescribing vet, and
  keeps the apiary the colony stood at on the treatment day.
- Holder name and address in site settings (never in public output;
  regression test in public.service.spec).
- treatment-log.pdf: one sheet per apiary, identical treatments grouped,
  missing mandatory fields printed as FEHLT, uncertain locations marked.
- Shared PDF table helpers extracted from the record card.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
This commit is contained in:
Nick SzaunigandClaude Opus 5.5 committed 2026-09-28 11:10:07 +02:00
1 parent f263ec79f2
commit 0d23963f07
24 files changed
+941 -113

No files matched your search

@@ -13,6 +13,9 @@ export interface Treatment {
batchNumber: string | null;
notes: string | null;
withdrawalPeriodDays: number | null;
supplier: string | null;
purchaseProof: string | null;
prescribingVet: string | null;
createdAt: string;
}
@@ -29,6 +32,9 @@ export interface CreateTreatmentInput {
batchNumber?: string;
notes?: string;
withdrawalPeriodDays?: number;
supplier?: string;
purchaseProof?: string;
prescribingVet?: string;
}
export interface UpdateTreatmentInput {
@@ -45,6 +51,9 @@ export interface UpdateTreatmentInput {
batchNumber?: string;
notes?: string;
withdrawalPeriodDays?: number;
supplier?: string;
purchaseProof?: string;
prescribingVet?: string;
}
export interface WithdrawalStatus {