-
Notifications
You must be signed in to change notification settings - Fork 0
Warenauftraege
/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.
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
/ordersbzw./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.
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).
| 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).
/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).
- Status — Mehrfachauswahl (Offen / In Bearbeitung / Abgelehnt / Abgeschlossen); Default Offen + In Bearbeitung. Wird im Cookie gemerkt.
-
Scope —
Eigene Staffel(Default) oderAlle Staffeln. Das ist ein Anzeige-Filter — die echte Sichtbarkeit regelt die bearbeitende Einheit (s. o.).
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.
/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 (
650oderKeine, wenn keine bestimmte Qualität gefordert ist — Voreinstellung650). Ü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.
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.
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.
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 LMG↔Fresnel "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.
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.
Ü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.
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.
| Aktion | Anonym/Gast | Mitglied | Logistiker | Offizier | Admin |
|---|---|---|---|---|---|
| Auftrag anlegen (Material & Item) | x | x | x | x | x |
| Liste / Detail ansehen | x¹ | x¹ | x¹ | x | |
| Sich selbst als Bearbeiter ein-/austragen, eigene Notiz pflegen | x¹ | x¹ | x¹ | x | |
| Fremde Bearbeiter/Notizen ändern | x¹ | x¹ | x | ||
| Blaupausen-Abdeckung eines Item-Auftrags ansehen | x² | x² | x² | x | |
| Bearbeiten (Status, Material/Items, Priorität, Übergabe) | x¹ | x¹ | x | ||
| Material-Eintragung (SK-Auftrag) | x¹ | x¹ | x | ||
| Bearbeitende Einheit umschreiben | x³ | x³ | 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.
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.
- 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).
Profit Basetool · Repo · Changelog · Issues
Einstieg
Operatives
Material & Bestand
Bank & Benachrichtigungen
Mehr