Skip to content

Visa hela organisationsträdet + enhetsdetaljsida med anställda - #5

Merged
SpankulatorX merged 1 commit into
mainfrom
feat/org-trad-detalj-2026-07-03
Jul 3, 2026
Merged

SpankulatorX merged 1 commit into
mainfrom
feat/org-trad-detalj-2026-07-03

Conversation

@SpankulatorX

Copy link
Copy Markdown
Owner

Fixar att /organisation bara visade ett fåtal avdelningar och att man inte kunde klicka sig fram till en enhet. Live-verifierat på hr.404haven.se (134 enheter, 11 010 anställda).

Problem

Databasen har 134 enheter i 4 nivåer, men HamtaOrganisationAsync laddade bara roten + en nivå barn (Include(Underenheter).Where(OverordnadEnhetId == null)) → bara ~9 förvaltningar syntes; sjukhusens kliniker och vårdcentralerna på nivå 3–4 hämtades aldrig. Ingen detaljsida fanns.

Fix

  • Laddar nu ALLA enheter platt i en fråga och bygger hierarkin i minnet (ByggHierarki, testad) — alla 134 enheter nås. Trädet är expanderbart, varje nod visar antal underenheter + anställda (upprullat per subträd).
  • Ny detaljsida /organisation/{id} (Detalj.razor): enhetens info (typ, kostnadsställe, CFAR, HSA-id, giltighet, överordnad enhet), direkta underenheter (klickbara, med antal), fördelning per befattning, och de anställda i enheten i en PAGINERAD tabell (filtrerad på EnhetId i SQL, count via CountAsync — laddar aldrig hela registret). Anställd-rader klickbara till /anstallda/{id}.
  • Behörighet: /organisation/{guid} ärver ChefHrAdmin via prefixmatch (anställd nekas, fail-closed bevaras) — policyn orörd.
  • Nytt test OrgTreeBuilderTests (5 fall). Bygge grönt, Web.Tests 149 passerar.

🤖 Generated with Claude Code

https://claude.ai/code/session_0114SipfUPpV6WRPh9jMRfUL

…llda

Fixar att /organisation bara visade ett fåtal avdelningar och att man inte
kunde klicka sig fram till en enhet.

- HamtaOrganisationAsync laddade bara roten + en nivå barn → bara ~9
  förvaltningar syntes trots att DB har 134 enheter i 4 nivåer. Laddar nu
  ALLA enheter platt i en fråga och bygger hierarkin i minnet
  (ByggHierarki, testad) — alla 134 enheter nås. Trädet är expanderbart
  (region + förvaltning utfällt som standard), varje nod visar antal
  underenheter och antal anställda (upprullat per subträd).
- Ny detaljsida /organisation/{id} (Detalj.razor): visar enhetens info
  (typ, kostnadsställe, CFAR, HSA-id, giltighet, överordnad enhet), direkta
  underenheter (klickbara), fördelning per befattning, och de anställda som
  jobbar i enheten i en PAGINERAD tabell (filtrerad på EnhetId i SQL, aldrig
  hela registret). Anställd-rader klickbara till /anstallda/{id}.
- Behörighet: /organisation/{guid} ärver ChefHrAdmin via prefixmatch
  (anställd nekas, fail-closed bevaras) — policyn orörd.
- Nytt test OrgTreeBuilderTests (5 fall: 4-nivåkoppling, dinglande förälder,
  flera rötter, uppräkning, självreferens). Bygge grönt, tester gröna.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0114SipfUPpV6WRPh9jMRfUL
@SpankulatorX
SpankulatorX merged commit ad0ac37 into main Jul 3, 2026
@SpankulatorX
SpankulatorX deleted the feat/org-trad-detalj-2026-07-03 branch October 1, 2026 18:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant