Skip to content

Warenauftraege

Lucas Greuloch (greluc) edited this page Jun 21, 2026 · 5 revisions

Warenaufträge (Aufträge)

/orders — Warenaufträge bilden die Material- und Item-Beschaffung ab. Im UI heißt die Liste Auftragsverwaltung. Es gibt zwei Auftragsarten:

  • Material-Auftrag — konkrete Materialien mit Menge und Mindestqualität.
  • Item-Auftrag — fertige Items (Waffen, Fahrzeug-Items, Rüstung u. a.); das System leitet aus deren Bauplänen automatisch die benötigten Materialien ab.

Wer am Auftrags-Workflow teilnimmt (Profit-Berechtigung)

Der Auftrags-Workflow ist auf profit-berechtigte Org-Einheiten beschränkt. Nur wer Mitglied einer profit-berechtigten Staffel oder eines profit-berechtigten SK ist (is_profit_eligible), darf Aufträge sehen, bearbeiten und sich für Material-Teilmengen eintragen.

Wer ausschließlich in nicht-profit-berechtigten Einheiten ist, kann Aufträge nur anlegen — sonst nichts (wie ein anonymer Gast):

  • In der Sidebar steht statt „Aufträge" der Punkt „Auftrag anlegen".
  • Ein direkter Aufruf von /orders bzw. /orders/{id} wird auf das Anlege-Formular umgeleitet.
  • Das Backend liefert für solche Nutzer eine leere Liste bzw. 403 (auch auf Schreib- und Eintragungs-Endpunkten).

Admins haben immer Zugriff.

Sichtbarkeit: bearbeitende Einheit vs. Auftraggeber

Jeder Auftrag trägt zwei Org-Einheiten — und nur die erste steuert die Sichtbarkeit:

Feld Bedeutung Wirkung
Bearbeitende Einheit (verantwortlich) wer den Auftrag abarbeitet — nur profit-fähige Staffeln/SKs steuert die Sichtbarkeit
Auftraggeber für wen der Auftrag ist (beliebige Org-Einheit) gewährt keine Sichtbarkeit; frei editierbar

Daraus folgt die Sichtbarkeitsregel:

  • Bearbeitende Einheit = Staffel → Auftrag ist privat (nur diese Staffel + Admins).
  • Bearbeitende Einheit = Spezialkommando → Auftrag ist für alle profit-berechtigten Mitglieder sichtbar und bildet eine gemeinsame Warteschlange (siehe Material-Eintragungen).

Die bearbeitende Einheit wird beim Anlegen gewählt und ist danach nicht über das normale Bearbeiten-Formular änderbar, sondern nur über das gezielte Umschreiben: Admins frei, ein Staffel-Logistiker nur als Eskalation des eigenen Staffel-Auftrags an ein SK (Staffel → SK).

Anonym erstellte Aufträge (ohne Login) werden automatisch dem konfigurierten Eingangs-Spezialkommando zugewiesen. Ein Gast kann einen Auftrag also absenden, ihn danach aber nicht in der Liste weiterverfolgen (Liste/Detail erfordern eine Anmeldung).

Lifecycle

Status Bedeutung
Offen (OPEN) Frisch angelegt, noch nicht in Bearbeitung.
In Bearbeitung (IN_PROGRESS) Material/Items werden beschafft und übergeben.
Abgelehnt (REJECTED) Wurde abgelehnt (z. B. nicht beschaffbar).
Abgeschlossen (COMPLETED) Erledigt — alles übergeben.

Ein Statuswechsel auf Abgeschlossen oder Abgelehnt trennt alle verknüpften Lagereinträge vom Auftrag und friert die Eintragungen ein (Bestätigungsdialog).

Liste

/orders zeigt eine verdichtete Tabelle:

Spalte Inhalt
ID Anzeige-ID + Art-Badge (Material / Item)
Prio / Status Priorität und Status untereinander
Auftraggeber Org-Einheit-Kürzel über dem Handle
Materialien je Material Name, benötigte Menge und ein Sammelfortschritt (in %) — bei beiden Auftragsarten. Bei Item-Aufträgen werden dafür die aus den Bauplänen abgeleiteten Materialien aggregiert und gezeigt (nicht die bestellten Items oder ein Liefer-Zähler).
Aktionen Detail öffnen

Alte Aufträge werden nach Alter eingefärbt (gelb/rot ab konfigurierbaren Schwellen, siehe Systemeinstellungen).

Der Sammelfortschritt einer Materialzeile ist verknüpfter Lagerbestand / benötigte Menge (auf 100 % begrenzt); gezählt wird der dem Auftrag zugeordnete Lagerbestand des Materials ab der Qualitäts-Schwelle des jeweiligen Eimers (Gut → ab Qualität 650, Keine → ohne Schwelle).

Filter

  • Status — Mehrfachauswahl (Offen / In Bearbeitung / Abgelehnt / Abgeschlossen); Default Offen + In Bearbeitung. Wird im Cookie gemerkt.
  • ScopeEigene Staffel (Default) oder Alle Staffeln. Das ist ein Anzeige-Filter — die echte Sichtbarkeit regelt die bearbeitende Einheit (s. o.).

Drag-Reorder für Logistiker

Logistiker (und höher) können Zeilen per Drag & Drop neu sortieren — das schreibt die Priorität. Der Bulk-Update nutzt Pessimistic Locking, damit gleichzeitige Reorder-Aktionen sich nicht ins Gehege kommen.

Auftrag anlegen

/orders/create — auch für Gäste ohne Login zugänglich (Sidebar → „Auftrag anlegen"). Oben wählst du die Auftragsart.

Gemeinsam: bearbeitende Einheit (nur profit-fähige), Auftraggeber, Handle (ingame-Kontakt) und ein optionaler Kommentar (max. 1000 Zeichen).

  • Auftraggeber: Für angemeldete Nutzer kann der Auftraggeber eine Staffel, ein SK, ein Bereich oder die Organisationsleitung (OL) sein. Das anonyme Formular bietet als Auftraggeber weiterhin nur Staffeln/SKs an.
  • Material-Auftrag: Materialzeilen mit Material, Menge und Mindestqualität (650 oder Keine, wenn keine bestimmte Qualität gefordert ist — Voreinstellung 650). Über die Klappspalte scmdb.net-Import lassen sich Materialien aus einem externen Export einlesen.
  • Item-Auftrag: Item-Zeilen mit Item, Bauplan (wird je Item geladen), Anzahl und Qualität je abgeleitetem Material. Das System leitet aus den Bauplänen die Materialien ab, aggregiert sie über den ganzen Auftrag — getrennt nach Qualität (Gut / Keine) und Mengentyp (SCU / Stück) — und zeigt sie in der Vorschau.

Bestand ab Qualität 650 zählt als „Gut" für Deckung und Sammelfortschritt.

Auftrag bearbeiten / Detail

Auf der Detailseite (/orders/{id}):

  • Info-Grid — ID, Erstellt am, vergangene Tage, Priorität, bearbeitende Einheit (nur via Umschreiben änderbar), Auftraggeber, Handle, Auftragsart.
  • Status — Logistiker+ setzen ihn über ein Dropdown (mit Bestätigung).
  • Bearbeiten (Logistiker+) — bei Material-Aufträgen öffnet sich ein Modal (Auftraggeber, Handle, Kommentar, Materialzeilen). Bei Item-Aufträgen führt „Items bearbeiten" zum vorausgefüllten Anlegen-Formular; die Materialien werden aus den (ggf. geänderten) Bauplänen neu abgeleitet. Sobald eine Item-Übergabe protokolliert wurde, sind die Item-Zeilen eingefroren.
  • Löschen — nur Admin.

Bearbeiter (mit Notiz)

Der Abschnitt Bearbeiter listet die Nutzer, die den Auftrag abarbeiten. Jeder, der den Auftrag sieht, kann sich über „Mich eintragen" selbst ein- und wieder austragen; ein Logistiker+ kann beliebige Nutzer zuweisen und entfernen.

Zu jedem Bearbeiter-Eintrag gehört eine optionale Notiz (Freitext, max. 500 Zeichen) — z. B. „mache ich am Wochenende" oder welchen Teil jemand übernimmt. Die Notiz ist für alle sichtbar, die den Auftrag sehen.

  • Die eigene Notiz darf jeder pflegen, der sich selbst einträgt — auch ohne Logistiker-Flag.
  • Fremde Bearbeiter-Einträge und Notizen darf nur ein Logistiker+ ändern (gleiche Selbst-oder-Logistiker-Regel wie beim Ein-/Austragen).
  • Ein leerer Text löscht die Notiz. Das Bearbeiten einer Notiz kollidiert nie mit einer Auftrags-Änderung (eigene Version) — eine veraltete Notiz-Änderung wird als Konflikt abgewiesen.

Der ganze Bearbeiter-Bereich aktualisiert sich beim Ein-/Austragen und Notiz-Ändern ohne Seiten-Reload.

Blaupausen-Abdeckung (nur Item-Auftrag)

Bei einem Item-Auftrag zeigt die Detailseite direkt unter den Bearbeitern eine Blaupausen-Abdeckung: welche Mitglieder der bearbeitenden Einheit die Baupläne der bestellten Items besitzen — und welchen konkreten Bauplan jeweils.

  • Die Ansicht ist personenzentriert (eine Zeile je besitzendem Mitglied mit den tatsächlich gehaltenen Bauplänen) und ergänzt eine Pro-Item-Übersicht (je bestelltem Item die Anzahl der Mitglieder mit passendem Bauplan; Items, die niemand besitzt, sind als Lücke markiert).
  • Gezählt wird über die Varianten-Familie: Ein Basis-Item und seine kosmetischen Varianten zählen in beide Richtungen (z. B. Fresnel Energy LMGFresnel "Molten" Energy LMG). Magazine zählen nie zur Waffe.
  • Zusätzlich erscheinen Nutzer, die ihre Baupläne organisationsweit freigegeben haben, auch dann als Besitzer, wenn sie nicht Mitglied der bearbeitenden Einheit sind — mit einem dezenten „kein Einheits-Mitglied"-Hinweis.
  • Besitzer werden nur über ihren Anzeigenamen genannt.
  • Das Panel ist einklappbar (Überschrift = Umschalter, startet aufgeklappt).

Sichtbarkeit der Abdeckung ist strenger als der Auftrag selbst. Die namentliche Abdeckung sehen nur Mitglieder der bearbeitenden Einheit (und Admins). Ein SK-Auftrag ist zwar für alle profit-berechtigten Mitglieder lesbar — wer ihn aber nur über die öffentliche SK-Warteschlange sieht, bekommt für die Abdeckung 403, und das Frontend blendet den Abschnitt einfach aus. Die organisationsweite Bauplan-Freigabe ändert nur, wessen Baupläne gezählt werden, nicht, wer die Ansicht öffnen darf.

Die Bauplan-Besitzstände werden im Persönlichen Inventar gepflegt; diese Ansicht ist nur lesend.

Material-Übergabe (mit PDF-Protokoll)

Logistiker+ dokumentieren die Übergabe an den Auftraggeber über „Übergabe protokollieren" (Zeitpunkt, Empfänger, Staffel, übergebene Lagereinträge mit Menge). Mehrere Teil-Übergaben sind möglich; zu jeder gibt es ein PDF-Übergabeprotokoll zum Download (vor dem Speichern auch als Vorschau). Bei Item-Aufträgen werden Items stückweise übergeben (Item-Übergabe), und der Auftrag schließt automatisch ab, sobald alle Items geliefert sind.

Materialsammelübersicht

Über die Übergaben verlinkt: /orders/{id}/material-collection. Hier verwaltest du alle dem Auftrag zugeordneten Lagereinträge gebündelt — Besitzer und Standort je Eintrag umstellen und Einträge als geliefert markieren (alles inline ohne Reload). Bei Item-Aufträgen erreichst du die Übersicht auch über den Button „Materialsammelübersicht" an der aggregierten Materialliste.

Material-Eintragungen (Material-Claims)

Nur bei einem Auftrag, der von einem Spezialkommando bearbeitet wird, erscheinen in der Materialtabelle zwei zusätzliche Spalten:

  • Eingetragen — welche Staffel welche Teilmenge übernommen hat.
  • Offen — benötigt minus Summe der Eintragungen.

So melden sich Staffeln für Teilmengen der gemeinsamen SK-Warteschlange:

  • Pro Material-/Qualitäts-Eimer hat eine Staffel genau eine Eintragung (erneutes Eintragen aktualisiert sie); die Summe darf die benötigte Menge nicht überschreiten (kein Overclaim — schon im Browser geprüft).
  • Eintragungen sind reine Signale — sie verschieben kein Lager und sind für alle sichtbar.
  • Über „Eintragen" (je Materialzeile) öffnet sich ein Modal (Staffel + Menge); ein Stift-Symbol an einer bestehenden Eintragung öffnet sie zum Bearbeiten oder Zurückziehen.
  • Eintragen/Ändern/Zurückziehen darf der Logistiker/Offizier der eigenen Staffel, der Logistiker bzw. Lead/Offizier des bearbeitenden SK sowie ein Admin.

Wer darf was?

Aktion Anonym/Gast Mitglied Logistiker Offizier Admin
Auftrag anlegen (Material & Item) x x x x x
Liste / Detail ansehen x
Sich selbst als Bearbeiter ein-/austragen, eigene Notiz pflegen x
Fremde Bearbeiter/Notizen ändern x
Blaupausen-Abdeckung eines Item-Auftrags ansehen x
Bearbeiten (Status, Material/Items, Priorität, Übergabe) x
Material-Eintragung (SK-Auftrag) x
Bearbeitende Einheit umschreiben x
Auftrag löschen x

¹ Nur für Mitglieder einer profit-berechtigten Org-Einheit (s. o.); wer nur in nicht-profit-berechtigten Einheiten ist, kann ausschließlich anlegen. ² Nur für Mitglieder der bearbeitenden Einheit (strenger als die normale Auftrags-Sichtbarkeit) — plus Admins. ³ Nur als Eskalation des eigenen Staffel-Auftrags an ein SK; Admins frei.

Die maßgebliche, vollständige Rechte-Matrix steht in Rollen und Berechtigungen und in ROLES_AND_PERMISSIONS.md. Bei Abweichungen zählt immer der Code.

Optimistic Locking

Jede Auftrags-Änderung trägt eine Version. Bearbeitet jemand denselben Auftrag parallel, scheitert das Speichern mit einem Konflikt-Hinweis (409) — dann bitte neu laden und erneut versuchen. Notiz-Änderungen am Bearbeiter haben ihre eigene Version und kollidieren nicht mit Auftrags-Änderungen.

Verwandte Seiten

  • Organisation — Staffeln, Spezialkommandos und Profit-Berechtigung.
  • Lager — die Lagereinträge, die einem Auftrag zugeordnet und übergeben werden.
  • Materialien — der Material-Katalog hinter den Auftragszeilen.
  • Persönliches Inventar — Bauplan-Besitzstände hinter der Blaupausen-Abdeckung.
  • Administration — Systemeinstellungen (Eingangs-SK, Alters-Schwellen, Profit-Berechtigung).

Clone this wiki locally