From 7d6dd86ceeda33c9e1ca6181fce73754c81a5282 Mon Sep 17 00:00:00 2001 From: foefl Date: Tue, 16 Jun 2026 08:52:35 +0200 Subject: [PATCH] improve README --- README.md | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index b3ea080..2607b1d 100644 --- a/README.md +++ b/README.md @@ -16,23 +16,21 @@ Die Anwendung erlaubt die Auswertung gesammelter Produktionsstandmeldungen, also Die Anwendung besteht aus einer isolierten Python-Umgebung mit allen erforderlichen Abhängigkeiten sowie zusätzlichen Ordnern, in denen Daten sowie Konfiguration abliegen. Den Kern bildet eine Datenverarbeitungs-Pipeline, die über einen Modulaufruf angestoßen wird. Um die Pipeline zu starten, befindet sich im Wurzelverzeichnis ein Startup-PowerShell-Skript mit dem Namen "``startup.ps1``". -Die Verarbeitungs-Pipeline ist aktuell **zustandslos**, was bedeutet, dass sie über das Startup-Skript angestoßen wird und nach erfolgtem Durchlauf automatisch endet. Es wird kein Prozess gestartet, der manuell wieder beendet werden müsste. Ebenso existieren keine externen Trigger, um die Pipeline zu starten. Dies geschieht stets über den Modulaufruf über das Skript. +Die Verarbeitungs-Pipeline ist aktuell **zustandslos**, was bedeutet, dass sie über das Startup-Skript angestoßen wird und nach erfolgtem Durchlauf automatisch endet. Es wird kein Prozess gestartet, der manuell wieder beendet werden müsste. Ebenso existieren keine externen Trigger, um die Pipeline zu starten. Dies geschieht stets über den Modulaufruf mithilfe des Skripts. ### Systemausgaben und Debugging -Die Anwendung legt unter dem Pfad ``"data → logs"`` Log-Dateien an. Damit können Fehler identifiziert und die Anwendung debuggt werden. Standardmäßig ist die Log-Ausgabe für ``STDOUT`` oder ``STDERR`` deaktiviert. Bei der Ausführung des Skripts sind deshalb im Terminal keine Ausgaben ersichtlich. Sollte das aktuelle Verhalten nicht gewünscht sein, so kann dies in Abstimmung mit d-opt angepasst werden. - -Das Start-Skript "``startup.ps1``" kann mit der Option "``-enableOutput``" aufgerufen werden. Damit werden nach Abschluss der Verarbeitungs-Pipeline kurze Rückmeldungen im Terminal ausgegeben, ob die Verarbeitung erfolgreich war oder Fehler aufgetreten sind. +Die Anwendung legt unter dem Pfad ``"data → logs"`` Log-Dateien an. Damit können Fehler identifiziert und die Anwendung debuggt werden. Standardmäßig ist die Log-Ausgabe für ``STDOUT`` oder ``STDERR`` deaktiviert. Bei der Ausführung des Skripts sind deshalb im Terminal normalerweise keine Ausgaben ersichtlich. Sollte das aktuelle Verhalten nicht gewünscht sein, so kann dies in Abstimmung mit d-opt angepasst werden. Darüber hinaus kann das Start-Skript "``startup.ps1``" auch mit der Option "``-enableOutput``" aufgerufen werden. Damit werden nach Abschluss der Verarbeitungs-Pipeline kurze Rückmeldungen im Terminal ausgegeben, ob die Verarbeitung erfolgreich war oder Fehler aufgetreten sind. Diese enthalten jedoch keine Fehler-Details. Diese sind ausschließlich in den Log-Dateien vorzufinden. ### Datenfluss #### Wattana-Datenbank -Die Anwendung muss die zu verarbeitenden Daten aus Wattanas Datenbank abrufen und auch dort hineinschreiben. Hierbei handelt es sich um eine *Oracle-Datenbank*. Die Anwendung nutzt zur Kommunikation den offiziell von Oracle bereitgestellten und gewarteten Datenbanktreiber. Durch Wattana muss ein Datenbank-Nutzer eingerichtet werden, mit dem die erforderlichen Daten abgerufen und auch wieder zurückgeschrieben werden. *Die Konfiguration der Datenbankverbindung und des Nutzers erfolgt über die vorhandene Konfigurationsdatei **(siehe Abschnitt "Konfiguration → IT")**.* +Die Anwendung muss die zu verarbeitenden Daten aus Wattanas Datenbank abrufen und auch dort hineinschreiben. Hierbei handelt es sich um eine *Oracle-Datenbank*. Die Anwendung nutzt zur Kommunikation den offiziell von Oracle bereitgestellten und gewarteten Datenbanktreiber. Durch Wattana muss ein Datenbank-Nutzer eingerichtet werden, mit dem die erforderlichen Daten abgerufen und auch wieder zurückgeschrieben werden. *Die Konfiguration der Datenbankverbindung und des Nutzers erfolgt über die vorhandene Konfigurationsdatei **(siehe Abschnitt "Konfiguration → IT")**.* Details zu notwendigen Tabellen und Views sind den nachfolgenden Abschnitten zu entnehmen. #### Import (von Wattana) -Die Anwendung benötigt Zugriff auf eine Tabelle oder View mit den Produktionsstandmeldungen sowie die Auftragsübersicht aus dem internen ERP-System *"MIS"*, wie sie bereits durch Wattana als CSV-Auszüge bereitgestellt wurden. *Die Konfiguration der Namen der Views und Tabellen erfolgt über die vorhandene Konfigurationsdatei **(siehe Abschnitt "Konfiguration")**.* +Die Anwendung benötigt Zugriff auf eine Tabelle oder View mit den Produktionsstandmeldungen sowie mit der Auftragsübersicht aus dem internen ERP-System *"MIS"*, wie sie bereits durch Wattana als CSV-Auszüge bereitgestellt wurden. *Die Konfiguration der Namen der Views und Tabellen erfolgt über die vorhandene Konfigurationsdatei **(siehe Abschnitt "Konfiguration")**.* So ist sichergestellt, dass im Programmcode die korrekten SQL-Abfragen formuliert werden können. #### Export (zu Wattana) @@ -85,7 +83,7 @@ Die Konfiguration erfolgt über eine TOML-Datei, die über das Applikationsverze ### IT -*relevanter Abschnitt der Konfiguration:* ``"Datenbank"`` +*relevanter Abschnitt der Konfiguration:* "``Datenbank``" In diesem Teil der Konfiguration werden alle IT-seitigen Einstellungen vorgenommen. Das betrifft gegenwärtig die Konfiguration von: @@ -105,26 +103,26 @@ In diesem Teil der Konfiguration werden alle IT-seitigen Einstellungen vorgenomm ### Auswertung -*relevanter Abschnitt der Konfiguration:* ``"Datenpipelines_PSM"`` +*relevanter Abschnitt der Konfiguration:* "``Datenpipelines_PSM``" In diesem Teil der Konfiguration werden alle Einstellungen vorgenommen, die das Verhalten bei den Auswertungen beeinflussen. Das betrifft gegenwärtig die Konfiguration von: - Vorverarbeitung über: - ``Vorverarbeitung_Anzahl_Jahre_in_Zukunft_zulaessig``: Dieser Parameter bestimmt, ab wann ein Datum in der Zukunft unzulässig ist. Ausgehend vom aktuellen Datum wird der dort als Ganzzahl angegebene Wert als Anzahl der Jahre in die Zukunft interpretiert. Alle Datumswerte darüber, werden als unzulässig markiert und in der Auswertung nicht berücksichtigt. *Aktuell wird dieser Filter für folgende Merkmale angewandt: **Meldezeitpunkt, Wareneingang am, Zuschnitt am**.* - Auswertung der Terminabweichungen über: - - ``Terminabweichung_untere_Schranke``: Schranke in Anzahl an Tagen, ab wann ein Auftrag als verfrüht gilt - - ``Terminabweichung_obere_Schranke``: Schranke in Anzahl an Tagen, ab wann ein Auftrag als verspätet gilt - - ``Nutze_Schranken_Terminabweichung_KPI_Berechnung``: kann ``true`` (aktiviert) oder ``false`` (deaktiviert) sein. Dieser Parameter gibt an, ob der KPI-Berechnung die benutzerdefinierten Schranken (siehe beide Anstriche zuvor) genutzt werden sollen oder nicht. Ist diese Option deaktiviert, wird eine Abweichung ``< 0`` als verfrüht und eine ``> 0`` als verspätet gewertet. -- Bewertung der Datenqualität für zurückgemeldeten Produktionsvolumen. Entgegen der ursprünglichen Excel-Tabelle wurde nun zur Qualitätsbewertung der gemeldeten Stückzahlen ein Scoring-System eingeführt, da es die Vergleichbarkeit verbessert. Es gibt drei Kategorien, für die ein nutzerdefinierter Score festgelegt werden kann. **Der Maximalwert eines Scores sollte kleiner als 10 sein.** Die Definition geschieht über: + - ``Terminabweichung_untere_Schranke``: Schranke in Anzahl an Tagen, ab wann ein Auftrag als verfrüht gilt. Dieser Wert muss kleiner oder gleich der oberen Schranke sein (siehe nachfolgender Parameter), sonst kommt es zu einem Abbruch. + - ``Terminabweichung_obere_Schranke``: Schranke in Anzahl an Tagen, ab wann ein Auftrag als verspätet gilt. Dieser Wert muss größer oder gleich der unteren Schranke sein (siehe vorangegangener Parameter), sonst kommt es zu einem Abbruch. + - ``Nutze_Schranken_Terminabweichung_KPI_Berechnung``: kann ``true`` (aktiviert) oder ``false`` (deaktiviert) sein. Dieser Parameter gibt an, ob bei der KPI-Berechnung die benutzerdefinierten Schranken (siehe beide Parameter zuvor) genutzt werden sollen oder nicht. Ist diese Option deaktiviert, wird eine Abweichung ``< 0`` als verfrüht und eine ``> 0`` als verspätet gewertet. +- Bewertung der Datenqualität für zurückgemeldeten Produktionsvolumen. Entgegen der ursprünglichen KPI-Excel-Tabelle wurde nun zur Qualitätsbewertung der gemeldeten Stückzahlen ein Scoring-System eingeführt, da es die Vergleichbarkeit verbessert. Es gibt drei Kategorien, für die ein nutzerdefinierter Score festgelegt werden kann. **Der Maximalwert eines Scores sollte kleiner als 10 sein.** Die Definition geschieht über: - ``Score_Qualitaet_Produktionsmengen_fehlend``: Dieser Score wird vergeben, wenn alle Einträge für die Stückzahlen als "0" oder gar nicht zurückgemeldet wurden. - ``Score_Qualitaet_Produktionsmengen_unplausibel``: Dieser Score wird vergeben, wenn die Einträge für die Stückzahlen nicht plausibel sind. Plausible Einträge sind so definiert, dass die zurückgemeldeten Stückzahlen gemäß dem Fortschritt in der Fertigung anwachsen müssen. Die Stückzahlen eines vorgelagerter Prozessschritts dürfen nicht kleiner als die eines nachgelagerten sein. - - ``Score_Qualitaet_Produktionsmengen_plausibel``: Dieser Score wird vergeben, wenn die Einträge für die Stückzahlen plausibel sind. + - ``Score_Qualitaet_Produktionsmengen_plausibel``: Dieser Score wird vergeben, wenn die Einträge für die Stückzahlen plausibel sind. Dieser Score sollte immer der Maximal- oder Minimalwert über alle drei Kategorien sein. Erreicht ein Konfektionär einen durchschnittlichen Wert nahe diesem, gelten seine gemeldeten Produktionsvolumina als zuverlässig. ## Systemanforderungen ### CPU -Die Anwendung stellt keine besonderen Anforderungen an das ausführende System. Es werden gängige x86-CPU-Generationen unterstützt. Die im Hintergrund verwendeten Bibliotheken benötigen zum Teil moderne CPU-Befehlssätze, um die maximale Geschwindigkeit zu erreichen. Häufig haben diese aber auch eine Rückfalloption auf ältere Instruktionen, wodurch die Ausführungsgeschwindigkeit minimal sinken kann. Für neuere Prozessoren ab 2018 sollte das jedoch keine Rolle spielen. +Die Anwendung stellt keine besonderen Anforderungen an das ausführende System. Es werden gängige x86-CPU-Generationen unterstützt. Die im Hintergrund verwendeten Bibliotheken benötigen zum Teil moderne CPU-Befehlssätze, um die maximale Geschwindigkeit zu erreichen. Häufig haben diese aber auch eine Rückfalloption auf ältere Instruktionen, wodurch die Ausführungsgeschwindigkeit minimal sinken kann. Für neuere Prozessoren ab Baujahr 2018 sollte das jedoch keine Rolle spielen. ### RAM