22 KiB
22 KiB
Votian NG Migration Backlog
Ziel
Die PHP-Anwendung wird schrittweise in services und vaadin ueberfuehrt. Dieser Backlog bildet die noch fehlenden Fachbereiche als umsetzbare Vertikalschnitte ab.
Bereits vorhanden
- Authentifizierung inkl. TOTP
- Dashboard
- Stammdaten fuer Kunden, Kuriere, Mitarbeiter, Niederlassungen, Kostenstellen
- Basis-Auftragsverwaltung
- Preisverwaltung fuer Leistungen und Leistungstypen
- Statistik- und Rechnungskennzahlen
- Parameter-Fallback-Logik als Java-Backend
In diesem Schritt umgesetzt
- Mitarbeiterrechte als HQ-bezogene Rechtevergabe
- Kurierfahrzeuge in der Vaadin-Maske
- Kurieradressdaten in Create/Update-Payload und Backend-Persistenz
- Rechnungsarbeitsbereich mit Kundenliste, Kostenstellenfilter und Auftragsdetails
- Auftragsdetail mit Rechnungstext, Dokumentenupload, Dokumentenloeschung und Fotoanzeige
- Artikelpflege fuer bestehende Auftraege jetzt auch persistent ueber das Detail-Update
- Kundenservice-Konfiguration mit Leistungszuordnung sowie Pflege von Zonen, PLZ-Zuordnungen und Radiusbereichen
- Kostenstellenrechte fuer Mitarbeiter ueber
employeecostcenterinkl. Vaadin-Pflege im Mitarbeiterdetail - Kundenbenutzer als eigener Mitarbeitertyp mit Haupt-Kostenstelle und zusaetzlichen Kostenstellenfreigaben
- Rollenabhaengige Navigation und Routenguards fuer HQ-, Kunden- und Kurier-Benutzer
- Kunden-Scopes fuer Joblisten, Rechnungen, Statistik und Kostenstellen ueber die Sessionrechte
- Kurierhistorie als eigener Arbeitsbereich fuer Kurier-Benutzer mit Laufend/Erledigt-Filter und Detailansicht
- PDF-/CSV-Ausgabe fuer Rechnungsdetails und Kurierhistorie inkl. Markierung exportierter Auftraege
- HQ-Dispositionsarbeitsbereich mit Tagesboard, Fahrzeugliste und Auftragszuordnung
- Locating-Sicht fuer Tourstationen eines Tages mit Stationsdetails und Karten-/Routenlinks
- Erweiterte Auftragsliste mit fachlichen Filtern fuer Status, Kostenstelle, Kurier und Exportstatus
- Listenerfassung als Mehrfachanlage fuer abgeschlossene Listenbuchungen mit Kunden-/Kostenstellenbezug
- Kundenservice-Pflege fuer Abliefergruende mit vier mobilen Listen inklusive Legacy-kompatibler GDC-Ablage
- Kundenservice-Pflege fuer servicebezogene Abnahmeprotokolle mit Fragen, Mail-Status und Textbausteinen
- Jobcalculator-Arbeitsbereich im Auftragsdetail mit
jobprice-Positionen, Kategorieauflösung, Bemerkung und Referenz - Legacy-Preisberechnung im Jobcalculator fuer Fixpreis-, Servicepreis-, Kundenrabatt- und Selbsterfasser-Schnitt inkl. Vorschau-Endpunkt
- Ableitung und Synchronisierung der Legacy-
jobprice-Positionen fuer Auftragsmarkup, Kurier-Zwischensumme, Provisionssatz und Selbsterfasser-Rabatt - Persistente Job-Felder fuer
jb_subtotalprice,jb_servicepriceundjb_cr_subpricejetzt in Backend und Vaadin-Detailmaske nutzbar - Globale Rollen- und Rechteauswertung aus
employee.emp_rightsjetzt durchgaengig in Login-Session, Backend-Guards und Vaadin-Navigation - Zentrale Access-Control fuer Kunden-, Kurier-, Mitarbeiter-, Auftrags-, Rechnungs-, Dispositions- und Preisendpunkte
- Feinere Rechtepruefungen auf Menue-, Route- und Button-Ebene fuer die migrierten Vaadin-Arbeitsbereiche
- Mitarbeiterdetail jetzt mit Pflege der globalen Legacy-Rechte fuer HQ- und Kundenbenutzer sowie Lagertyp
usr_type = 4 - Kundenbenutzer koennen Mitarbeiterlisten jetzt rollenabhaengig wieder sehen und in ihrem Scope pflegen
- Lagernutzer ist im Java-System jetzt als eigener Benutzertyp mit eigenem Arbeitsbereich und Routenschutz verankert
- Neuer Lagerarbeitsbereich mit Hauptlagerauswahl, Lagerbaum, Bestandsliste, Seriennummernansicht und Lagerjournal
- Lagerbuchungen aktualisieren jetzt
stockarticle,articleitemundstockmovefachlich konsistent im Java-Backend - Lagerzugriffe nutzen bestehende Legacy-Parameter fuer Hauptlager, Unterlager, Readonly-Modus und Artikelzugriff
- HQ-Benutzer mit Legacy-Lagerrecht
emp_rights[14]sehen das Lagermodul jetzt ebenfalls in Navigation und Routenschutz - HQ-Globalrechte nutzen im Mitarbeiterdetail jetzt den vollstaendigen Legacy-Rechtekatalog aus
rightsstatt nur eines Teilmengen-Mappings - Kunden-Globalrechte decken jetzt alle 16 PHP-Bits inklusive Adressen, Intervall, Termine und Scan-Objektmanagement ab
- Kundenbenutzer ohne Mitarbeiterverwaltungsrecht sehen Mitarbeiter weiter im Legacy-Sinne, aber nur den eigenen Datensatz editierbar gemaess
Benutzerkonten aendernundGLOBAL_CUSTOMER_READONLY_DISABLED - Longhaul-Arbeitsbereich fuer HQ-Benutzer mit Legacy-Recht
emp_rights[10], Kennzahlen und drei Boards fuer zu vermittelnde, angenommene und laufende Ruecktouren - Longhaul-Backend mit
jb_longhaul-/jb_taketime-Persistenz, parametergetriebener Vermittlungslogik ueberLONGHAUL_ACTIVEund Distanz-Sichtmodus ueberLONGHAUL_KM - Rueckgabe automatisch markierter Ferntouren an die Niederlassung jetzt als eigener Java-Endpunkt und Vaadin-Aktion verfuegbar
- CSV-Export fuer die gefilterte Auftragsliste inkl. Legacy-Rechtepruefung (
emp_rights[42]bzw. Kunden-Exportbit) und Vaadin-Downloadlink umgesetzt - Mitarbeiterdetail jetzt mit Lager-Reiter fuer Lagernutzer inkl. Hauptlagerfreigaben, Standardlager, Readonly-/Artikelverwaltung und Unterlager-Matrix
- Auftragsdetail jetzt mit
jb_service-Pflege, Protokoll-Reiter, Signaturanzeige und PDF-Ausgabe fuer die servicebezogenen Abnahmeprotokolldaten - Draft-Jobcalculator nutzt jetzt die Tourkette fuer
cs_invmode > 0und berechnet Grundpreis, PLZ-/Area-Matrix,COSTCENTER_INV_MODE_*, Fahrzeugtyp-Mapping und globalengetCr_price_global()-Fallback direkt im NG-Backend - Exact-Address-Area-Aufloesung aus
getAreaIdFromAddress()sowie negative kundenbezogene Preis-/Rabattkorrekturen aus den Servicehistorien sind im NG-Jobcalculator angekommen - Treibstoffzuschlaege aus
getFuelMarkup()/getFuelMarkupCr()inkl.cs_markup_prov-Historie undMASK_NO_MARKUP_ON_VEHICLE_PRICE-Ausnahme fuer den Grundpreis sind jetzt im NG-Jobcalculator verdrahtet - Routenbasierte
JB_CR_PROV-Ableitung zieht jetzt optional den Legacy-ServiceGlobaler<br>Fuhrlohnabschlag [%], statt nur aus Kunden-/Kurier-Zwischensummen rueckzurechnen - Kunden-Kurier-Agio aus
servicepricehistory(cscr_prov) greift jetzt im aktivenMASK_CR_PRICE_MODEabMASK_CR_PRICE_MODE_DATE, schreibtJB_CR_AGIO/JB_CR_SERVICE_PROVund justiert Kurier-Zwischen-/Servicepreise im NG-Jobcalculator nach MASK_CR_PRICE_MODE_DATEsteuert im NG-Jobcalculator jetzt auch, objb_cr_servicepricebereits in Kurier-Endpreis und abgeleitetesJB_CR_SUBTOTALeinfliesst oder noch als separater Legacy-Posten stehen bleibt- Manuelle Legacy-
jb_cr_serviceprice-Werte laufen im NG-Jobcalculator jetzt kompatibel ueberjobprice.mt_sort = 3samtgenericdatacontainer-Roundtrip, statt nurmt_sort = 4zu beruecksichtigen - Manuelle Legacy-Kurierfixpreise aus
jobprice.mt_sort = 2uebersteuern im NG-Jobcalculator jetzt die automatische Fixpreis-/Routen-Ableitung inkl. Selbsterfasser-Abschlag, ohne dabei kuenstlichJB_CR_PROVzurueckzurechnen - Manuell geaenderte Kurier-Endpreise aus der NG-Maske koennen den Draft-Jobcalculator jetzt explizit uebersteuern; die Rueckrechnung in Kurier-Zwischensumme respektiert dabei
MASK_CR_PRICE_MODE_DATEfuer den Serviceanteil und vermeidet ebenfalls eine kuenstlicheJB_CR_PROV-Ableitung - Manuelle Kurier-Fixpreise und explizite Kurier-Servicepreise bleiben im Draft-Jobcalculator jetzt auch gegen alte
JB_CR_PROV-/JB_CR_AGIO-/JB_CR_SERVICE_PROV-Altlasten stabil, statt durch spaetere Agio-Nachrechnung wieder ueberschrieben zu werden - Gespeicherte Auftraege synchronisieren nach Preis-Aenderungen jetzt auch im Backend die Kurierseite erneut ueber den portierten Java-Jobcalculator; damit greifen die portierten Preisregeln nicht nur im Draft, sondern auch im Persistenz-Nachlauf fuer
save/replace/deletevonjobprice - Abgeleitete Kurier-Servicepreise aus
jobprice.mt_sort = 4bleiben im NG-Jobcalculator jetzt auch im Agio-/Rate-Nachlauf neu berechenbar, waehrend nur manuelle Legacy-Werte ausmt_sort = 3eingefroren bleiben - Der Persistenz-Nachlauf fuer gespeicherte Kurierpreise zieht jetzt auch eingebettete
Frachtverguetung: ... EUR-Texte intour.tr_remarkfuer die erste Tour mit dem neu berechneten Kurier-Endpreis nach, analog zurecalc_jb_cr_price() - Der Persistenz-Nachlauf schreibt jetzt auch kundenrelevante Preisfelder (
jb_markup,jb_subtotalprice,jb_totalprice) aus dem portierten Java-Jobcalculator zurueck und markiert bei echten Abweichungenjb_invtext_dirty, analog zum Legacy-recalc_jb_price() - Der Persistenz-Nachlauf zieht jetzt auch bestehende
tourservice.trs_price-Zeilen nach Markup-Aenderungen weiter, ausser beiServicepreisund der Legacy-AusnahmeMASK_NO_MARKUP_ON_VEHICLE_PRICEfuerGrundpreis, analog zum letzten offenen Teil vonrecalc_jb_price() - Das Auftragsdetail zeigt persistierte
tourservice-Zeilen jetzt read-only im Jobcalculator-Reiter inklusive Kostenstelle, Station, Rabatt und effektivem Betrag, damit die bereits gespeicherten Legacy-Servicekosten im NG sichtbar sind - Die NG-Rechnungsuebersicht und Rechnungsexporte ziehen den Kundenumsatz jetzt bevorzugt aus persistierten
tourservice-Betragswerten pro Job/Kostenstelle und fallen nur ohne passende Persistenzdaten aufjob.jb_totalpricezurueck - Die NG-Auftragsliste und ihr CSV-Export respektieren jetzt ebenfalls
MASK_JOBLIST_TOTALPRICEund summieren bei aktivem Legacy-Schalter persistiertetourservice-Betraege pro Auftrag statt blindjob.jb_totalpricezu zeigen - Neu angelegte NG-Auftraege und Listenbuchungen erzeugen jetzt auch persistente
tourservice-Grundzeilen fuerFixpreisund optionalServicepreis, damit neue Datensaetze in den portierten Umsatz-/Detailpfaden nicht mehr auf Fallbacks angewiesen sind - Der Persistenz-Nachlauf des NG-Jobcalculators synchronisiert diese verwalteten
tourservice-Grundzeilen jetzt auch bei spaeteren Preis-/Rabattaenderungen auf Fixpreis, Servicepreis undtrs_discount, ohne importierte oder detailreiche Legacy-tourservice-Saetze zu verbiegen - Die Kunden-Rechnungsdetails und Rechnungsexporte zeigen persistierte
tourservice-Leistungen jetzt bei aktivem Legacy-SchalterMASK_INVOICE_SHOW_SERVICES_<customerId>pro Auftrag an und nutzen dafuer die zur Kostenstelle passenden bzw. globalen Zeilen - Die Rechnungs-Leistungsanzeige fuer persistierte
tourservice-Zeilen respektiert jetzt auch die Legacy-DruckparameterINV_PRINT_METATYPE_SERVICE,INV_PRINT_DISCOUNTundINV_PRINT_SRVPRICEfuer Typ-, Rabatt- und Preiszusatz in Detailansicht und Export - Neue Auftraege koennen ihren initialen
jobprice-Satz jetzt direkt im Create-Call mitsenden; damit laeuft der portierte Jobcalculator schon beim Anlegen atomar durch und die erste Persistenz landet ohne separaten Nachlauf-Request in konsistenten Job-/tourservice-Feldern - Neu angelegte NG-Auftraege ohne initiale
jobprice-Zeilen initialisieren persistiertetourservice-Grundzeilen fuer expliziteFixpreis-/Servicepreis-Eingaben jetzt ebenfalls ueber den portierten Jobcalculator; damit greifen Legacy-Semantiken ausjob_options.phpfuertrs_discountund den manuellen Fixpreis-Pfad nicht mehr nur im spaeteren Recalc, sondern schon im ersten Create-Write - Routenbasierte NG-Preise schreiben ihre NG-verwalteten persistierten
tourservice-Zeilen jetzt ebenfalls detailliert alsGrundpreisplus PLZ-/Area-Etappen statt nur als pauschalenFixpreis; der Persistenz-Sync aktualisiert solche NG-Routezeilen auch weiter, solange keine importierten oder sonstigen Fremdsaetze im Weg stehen - Die NG-Readmodelle fuer persistierte
tourservice-Daten blenden jetzt auch Legacy-Platzhalterzeilentrs_srvt_name = 'z'mittrs_price = 0aus, damit Detailansicht und Rechnungs-Leistungsanzeige keine internensaveServiceCosts()-Marker als echte Leistung darstellen - Persistierte NG-
tourservice-Zeilen bevorzugen jetzt auch im Write-/Sync-Pfadcsc_id_payer_cash, sobald dieser gesetzt ist; damit folgt die Kostenstellenwahl fuer Barzahler wieder der Legacy-Semantik aussaveServiceCosts()statt versehentlich am regulaeren Zahler haengen zu bleiben - Katalogbasierte NG-
tourservice-Zeilen persistieren jetzt auch wieder ihre Legacy-srv_id-/srvt_id-Referenzen, soweit sich Service und Servicetyp ueber HQ- bzw. Global-Katalog eindeutig aufloesen lassen; damit bleibenGrundpreis-Zeilen nicht mehr pauschal auf0/0, waehrend freie Spezial-/Routezeilen weiter bewusst offen bleiben - Persistierte NG-
tourservice-Bezeichnungen normalisieren jetzt auch das Legacy-<br>-Markup beim Lesen, damit Jobdetails und Rechnungs-Leistungsanzeige dieselben Klartextlabels wiegetJobCosts()statt roher HTML-Fragmente zeigen - Die letzte offene Legacy-Servicepreis-Sonderregel
MASK_SERVICE_PRICE_STREETauscheck_jb_serviceprice()ist jetzt ebenfalls portiert: NG berechnet den automatischen Strassenaufschlag im Draft fuer neue Auftraege, persistiert ihn einmalig beim Create uebergenericdatacontainer, haelt ihn bei spaeteren Recalcs kundenseitig stabil aus dem Kurier-Servicepreis heraus und schreibt die resultierendeServicepreis-Zeile netto in persistiertetourservice - Persistierte
tourservice-Import-/Spezial-Splits sind jetzt auch im Rechnungsfluss modelliert: Invoice-Summary, Kunden-Rechnungssummen und Rechnungsdetails summieren mehrfachecsc_id-Anteile eines Auftrags sauber ueber alle relevanten Split-Kostenstellen, waehrend eine explizit gewaehlte Unterkostenstelle gezielt nur ihren Anteil samt passender Leistungszeilen zieht; kundenweite Rechnungsdetails gruppieren solche Split-Leistungen jetzt sichtbar je Kostenstelle statt sie weiter in eine einzelne Default-KST zu druecken - Der Longhaul-Arbeitsbereich zeigt jetzt auch eine NG-Kartenansicht auf Basis der PLZ-Geokoordinaten: Backend und Dashboard-DTO liefern Luftlinie sowie Start-/Zielkoordinaten fuer geocodierte Touren, die Vaadin-Maske rendert daraus eine statusfarbige schematische Deutschland-Karte und haelt manuelle FT-Auftraege ohne Geocodes weiter nur in Liste und Detail sichtbar
- Manuelle FT ist jetzt auch im Auftragsdetail modelliert: HQ-Benutzer mit Longhaul-Recht koennen
jb_longhaul = 3direkt am Auftrag setzen oder wieder entfernen, die Detailmaske zeigt dabei den aktuellen FT-Status samt Speicherwirkung an, und das Backend akzeptiert in Create-/Update-Pfaden nur noch die manuell legitimen Werte0und3, waehrend automatische Longhaul-Zustaende weiter systemgefuehrt bleiben - Der Longhaul-Remote-DB-Sonderfall ist jetzt im NG-Dashboard portiert: berechtigte HQ-Benutzer koennen zwischen lokaler DB und der per
LONGHAUL_REMOTE_DB_ACCESSDATAkonfigurierten Fremdinstanz umschalten, das Backend liest dabei Jobs, Touren, Adressen, PLZ-Geodaten, Kostenstellen, Kunden, Fahrzeugdispositionen und das Remote-LONGHAUL_ACTIVE_REMOTE_DBdirekt aus der zweiten MariaDB, und Rueckgabe an HQ funktioniert in diesem Modus ebenfalls gegen die Fremddatenbank; der normale NG-Auftragsdialog wird fuer Remote-Datensaetze bewusst gesperrt, damit keine lokalen Fehl-Drilldowns entstehen - Der Longhaul-Remote-DB-Detail-/Locatingfluss ist jetzt ebenfalls portiert: ein neuer NG-Detail-Readpfad liefert fuer lokale wie Remote-Ferntouren read-only Auftragsdetails inklusive kompletter Start-/Zielkontaktangaben und letztem Kurierstandort aus
courier.cr_gps_*; in Vaadin schaltet der Aktionsbutton fuer Fremddaten oder Benutzer ohne allgemeines Jobrecht jetzt auf einen eigenen Detaildialog statt auf den lokalen Jobeditor, sodass Remote-Datensaetze samt letzter Ortung direkt im Ferntouren-Workspace einsehbar bleiben - Feiertage sind jetzt als eigener HQ-Stammdatenschnitt portiert: NG verwaltet die Legacy-Tabelle
publicholidayjahresbezogen ueber Backend, API und Vaadin-Maske inklusive Jahresauswahl, Vorjahresuebernahme, Editierschutz fuer vergangene Tage und Legacy-kompatibler Persistenz pro Niederlassung - Gruppen- und Filteradministration ist jetzt als eigener HQ-Stammdatenarbeitsbereich portiert: NG verwaltet die Legacy-Kataloge
groupsundcourierfilterinklusive CRUD, Readonly-/Mandantenlogik, Legacy-Cleanup beim Loeschen und Nutzungsauswertung; zusaetzlich nutzen Kunden-, Kurier- und Mitarbeiterdetail die Kataloge jetzt wieder ueber echte Mehrfachauswahlfelder statt rohe Kommastrings - Die Legacy-Service-XMLs laufen jetzt als geschlossener nativer NG-Integrationsblock im Java-Backend:
/service/costcenter_request.php,/service/zone_request.php,/service/price_request.php,customer_request.php,metaobject_request.php,order_request.php,station_request.phpsowieorder_data_request.phpinklusive Read-, Status-SET- und breiteren selektiven Job-/Stations-Write-Pfaden sind portiert; zusaetzlich deckt die XML-Authentifizierung jetzt auch die verbleibenden Contractor-/Kunden-Spezialpfade fuer diese Service-Endpunkte ab - Tracking ist jetzt als geschlossener Bewegungs-/Statusblock portiert: ein neuer NG-Trackingarbeitsbereich zeigt fuer HQ- und freigeschaltete Kundenbenutzer Tagestracking, Kartenansicht, Job-/Kurierlisten und die letzten Kurierpositionen auf Basis von
courier.cr_gps_*bzw.cr_locationzipcode, das Backend liefert dafuer einen eigenen/tracking/dashboard-Readpfad mit Kunden-/Rechtescope und geocodierten Stopps, und Kunden-/Kurierdetail pflegen bzw. zeigen die relevanten Legacy-Feldercs_trackingsowiecr_mobile_pdaplus Live-Ortungsmetadaten jetzt ebenfalls in Vaadin - Importprozesse sind jetzt als eigener NG-Arbeitsbereich portiert: HQ-Benutzer mit Legacy-Import-/Transferrechten sehen eine zentrale Importmaske mit Prozesskatalog, Dateistaging, Download/Loeschung und nativer Ausfuehrung fuer standardisierte
ZONE- undRADIUSZONE-CSV-Uebernahmen; die uebrigen Legacy-Sonderimporte aushtml/import/*laufen darin bewusst als strukturierte Datenuebernahme-/Spezialfall-Koerbe statt ueber verstreute PHP-Einzelseiten - Der Importarbeitsbereich ist jetzt auch fuer die restlichen Legacy-Pfade fachlich abgeschlossen:
ZONEAGIOundZIPCODE_NEIGHBOURSlaufen natuerlich im NG, die verbliebenen Formate aushtml/import/*sind mit Prioritaet, Legacy-Quellen, NG-Nachfolger und bewusster Archivierungsentscheidung im Workspace dokumentiert statt weiter implizit in Sammelkoerben zu verschwinden - Der Vertriebs-/Groupware-Block ist jetzt als zusammenhaengender NG-Workspace portiert: ein neuer Vaadin-Bereich deckt Tages-, Wochen-, Monats- und Aufgabenansicht fuer Legacy-Termine aus
groupware/appointment.php,groupware/calendar.phpundgroupware/task.phpab, das Backend liefert dafuer Optionen, Kalenderabfragen und CRUD-/Aktionsendpunkte fuer Terminverwaltung, Wiedervorlagen, Teilnehmerbestaetigung, Abschlusslogik mit Berichtszwang desselben Tages sowie optionalen Mailversand, und Rechte/Navigation folgen dem Legacy-HQ-Rechtebit11 - Die Formular-/Metafeld-Administration ist jetzt als eigener HQ-Stammdatenarbeitsbereich portiert: NG verwaltet
metafieldcategory,metafieldkey,metafieldtemplateundmetafieldcategorykeyinklusive Kategorien, Template-Zuordnung, globaler Felddefinitionen, Template-Inhalt, Formularfeld-Zuordnungen und Sortierung direkt legacy-kompatibel ueber REST und Vaadin - Der generische Berichtsarbeitsbereich ist jetzt als eigener HQ-Workspace portiert: NG deckt Kunden-, Transporteur- und Interessentenberichte aus
groupware/report.phpmit Objekt-Suche, Berichtstypen, Historie, Vertraulichkeit, Statistik, CSV-Export sowie Legacy-kompatiblem CRUD aufphoenix_group.report_processab; Rechte und Sichtbarkeit folgen dabei wieder dem Legacy-Reportbit16plus vertraulicher Sonderfreigabe - Der generische Datenexport ist jetzt als eigener NG-Workspace portiert: NG konsolidiert
export/export.phpfuer HQ- und Kundenbenutzer ueber einen zentralen Exportbereich mit Legacy-Kategorien ausexportcategory, Profilpflege aufexportparameters, nativer Dateigenerierung mit Profil-Metadaten, Dateiarchiv aufexportfilessowie Download-/Loeschpfaden fuer die ueblichen Stamm- und Bewegungsdatenexporte - Der Kommunikationsblock ist jetzt als eigener HQ-Workspace portiert: NG konsolidiert
admin/newsticker.php,admin/courier_msggrp.php,admin/mf_history.phpund die zugehoerigen Legacy-Nebenpfade in einem Bereich fuer Mitteilungen aufphoenix_group.tickerforum, Nachrichtengruppen und Kurierzuordnungen aufmessagegroup/courier.cr_msggrpsowie Endgeraetehistorie und Versand-/Antwortlogik aufphoenix_log.messageforum - Die verbliebenen Newsletter-/Legacy-Nebenpfade sind jetzt fachlich abgeschlossen: NG pflegt Newsletter-Opt-in und DSGVO-Status fuer Kunden- und Kurierfirmen direkt im Kommunikationsworkspace auf
company.cmp_newsletter/company.cmp_dsgvo, waehrend nicht mehr belastbar referenzierte Sonderpfade wiesysadmin/newsletter/*.php,tools/auto_response*.phpund generischeadmin/metafield_special_cron.php-Einmalpfade bewusst als Legacy-Archiv dokumentiert statt weiter stillschweigend als offene NG-Workspaces mitzulaufen; die Bewertungsbasis steht inLEGACY_SIDEPATH_AUDIT.md - Der HQ-Operationsblock fuer Karten, Adressen und Suche ist jetzt als eigener NG-Workspace portiert: NG konsolidiert
locating/map.php,admin/ad_admin.php,admin/nearBySearch.phpundadmin/traveltime.phpin einer Route fuer globale Kartenuebersicht mit HQ-/Kurierpunkten, direkte Pflege vonaddressundphoenix_special.street, fuzzy Aehnlichkeitssuche fuer Kunden und Kuriere sowie Legacy-kompatible Pflege derserviceplz-/serviceplztraveltime-Anfahrtszeiten; Rechte und Sichtbarkeit folgen dabei wieder den Legacy-Bits19,2,0und1
Noch offen
- Keine weiteren grossen fachlichen Legacy-Arbeitsbereiche mehr offen; verbleibend sind nur technische Betriebsentscheidungen fuer Alt-Crons, Einmalintegrationen und Archivpfade ausserhalb der produktiven NG-UI.
Nächste empfohlene Vertikalschnitte
- Verbleibende technische Alt-Crons und Einmalintegrationen ausserhalb der NG-UI betrieblich entscheiden: separat weiterfuehren, in dedizierte Integrationsservices ueberfuehren oder final abschalten.
- Danach Legacy-PHP-Seiten ohne produktiven Zugriffspfad sichtbar als Archiv kennzeichnen und aus Support-/Betriebsdokumentation bereinigen.