Geführter Inventurabschluss und nachvollziehbare Sammelaktionen #15

Open
thiel wants to merge 1 commit from feature/inventur-sammelaktionen into feature/protokoll-verlauf
Owner

Die letzten beiden fachlichen Lücken aus dem externen Check.

Inventurdifferenzen bearbeiten: Fehlende und unerwartete Geräte wurden erkannt, aber nicht aufgelöst. stocktake_items bekommt resolution + resolution_note, stocktakes eine Abschlussnotiz und das Ergebnis als JSON.

  • Klärung je Position („Doch gefunden", „Verliehen", „Standort korrigiert", „Neu aufgenommen", „Weiterhin vermisst", „Ausgemustert") — korrigiert auf Wunsch Standort und Status des Geräts gleich mit.
  • Abschlussdialog zeigt die Differenzen, bietet an, unerwartete Geräte auf den Inventurstandort umzuschreiben und fehlende auf einen Status zu setzen, und verlangt bei offenen Differenzen eine Abschlussnotiz.
  • Ergebnisbericht als PDF unter /admin-export/inventuren/{id}/bericht.pdf: Kennzahlen, Abschlussnotiz, Differenzen mit Klärung, Liste der gesehenen Inventarnummern.

Nachvollziehbare Sammelaktionen: Bisher stand nur eine Zahl da. App\Support\BulkReport sammelt bearbeitete und übersprungene Einträge mit Grund; bei Teilerfolgen bleibt die Meldung stehen, bis sie weggeklickt wird. Verwendet in Ausgeben, Zurücknehmen, Reservieren und beim Löschen von Ausleihern.

Ein bestehender Test wurde angepasst: der Abschluss mit fehlendem Gerät verlangt jetzt eine Notiz.

9 neue Tests. Volle Suite grün (213 Tests), Pint sauber.

Setzt auf #14 auf — letzter der Reihe.

🤖 Generated with Claude Code

https://claude.ai/code/session_01QKiq6LV8Lk1vst5CQW15ar

Die letzten beiden fachlichen Lücken aus dem externen Check. **Inventurdifferenzen bearbeiten:** Fehlende und unerwartete Geräte wurden erkannt, aber nicht aufgelöst. `stocktake_items` bekommt `resolution` + `resolution_note`, `stocktakes` eine Abschlussnotiz und das Ergebnis als JSON. - **Klärung je Position** („Doch gefunden", „Verliehen", „Standort korrigiert", „Neu aufgenommen", „Weiterhin vermisst", „Ausgemustert") — korrigiert auf Wunsch Standort und Status des Geräts gleich mit. - **Abschlussdialog** zeigt die Differenzen, bietet an, unerwartete Geräte auf den Inventurstandort umzuschreiben und fehlende auf einen Status zu setzen, und verlangt bei offenen Differenzen eine Abschlussnotiz. - **Ergebnisbericht** als PDF unter `/admin-export/inventuren/{id}/bericht.pdf`: Kennzahlen, Abschlussnotiz, Differenzen mit Klärung, Liste der gesehenen Inventarnummern. **Nachvollziehbare Sammelaktionen:** Bisher stand nur eine Zahl da. `App\Support\BulkReport` sammelt bearbeitete und übersprungene Einträge mit Grund; bei Teilerfolgen bleibt die Meldung stehen, bis sie weggeklickt wird. Verwendet in Ausgeben, Zurücknehmen, Reservieren und beim Löschen von Ausleihern. Ein bestehender Test wurde angepasst: der Abschluss mit fehlendem Gerät verlangt jetzt eine Notiz. 9 neue Tests. Volle Suite grün (213 Tests), Pint sauber. **Setzt auf #14 auf** — letzter der Reihe. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01QKiq6LV8Lk1vst5CQW15ar
Geführter Inventurabschluss und nachvollziehbare Sammelaktionen
All checks were successful
Tests / phpunit (pull_request) Successful in 1m22s
79b9fc9651
Fehlende und unerwartete Geräte wurden erkannt, aber nicht aufgelöst: Es
gab keine Klärung, keine Standortkorrektur und keinen Ergebnisbericht.

stocktake_items bekommt resolution und resolution_note, stocktakes eine
Abschlussnotiz und das Ergebnis als JSON. StocktakeService::resolve
schreibt die Klärung und korrigiert auf Wunsch Standort und Status des
Geräts. close() nimmt Optionen entgegen: unerwartete Geräte auf den
Inventurstandort umschreiben, fehlende auf einen Status setzen; bei
offenen Differenzen ist die Abschlussnotiz Pflicht. Der Ergebnisbericht
liegt als PDF unter /admin-export/inventuren/{id}/bericht.pdf.

Sammelaktionen meldeten nur eine Zahl. BulkReport sammelt die
bearbeiteten und die übersprungenen Einträge mit Grund; bei Teilerfolgen
bleibt die Meldung stehen. Verwendet in Ausgeben, Zurücknehmen,
Reservieren und beim Löschen von Ausleihern.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QKiq6LV8Lk1vst5CQW15ar
All checks were successful
Tests / phpunit (pull_request) Successful in 1m22s
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin feature/inventur-sammelaktionen:feature/inventur-sammelaktionen
git switch feature/inventur-sammelaktionen

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch feature/protokoll-verlauf
git merge --no-ff feature/inventur-sammelaktionen
git switch feature/inventur-sammelaktionen
git rebase feature/protokoll-verlauf
git switch feature/protokoll-verlauf
git merge --ff-only feature/inventur-sammelaktionen
git switch feature/inventur-sammelaktionen
git rebase feature/protokoll-verlauf
git switch feature/protokoll-verlauf
git merge --no-ff feature/inventur-sammelaktionen
git switch feature/protokoll-verlauf
git merge --squash feature/inventur-sammelaktionen
git switch feature/protokoll-verlauf
git merge --ff-only feature/inventur-sammelaktionen
git switch feature/protokoll-verlauf
git merge feature/inventur-sammelaktionen
git push origin feature/protokoll-verlauf
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
thiel/natec-inventar!15
No description provided.