Simon Steuer s.steuer
  • Joined on 2022-09-26
s.steuer pushed to main at m.stangl/CreoMigrate 2025-06-13 08:24:56 +00:00
f8b895cec7 In 'update_database.py' Namen korrigiert + In 02_get_sivas_dbase.bat Aufruf des fehlenden Schalters ergänzt
s.steuer pushed to main at m.stangl/CreoMigrate 2025-04-27 18:22:52 +00:00
54606dce88 Da die Initialisierung des Netzwerkinterpreters auf U: so lange dauert wurde eine Meldung eingebaut, dass aktuell die Initialisierung erfolt, da der User ansonsten evtl. denkt, dass das Script nicht funktionier / nichts macht
2f2dd83e2b FIX - Da als Argument in '--rm_bom_ids_cfg' sowie in '--rm_summary_ids_cfg' die Umgebungsvariable $CREMIG_CFG aufgerufen wird muss cremig_setenv.bat zu diesem Zeitpunkt aufgerufen sein. Bisher wurde sie allerdings erst in manage_interpreters.bat eingelesen. Folglich wurde ein Fehler ausgegeben
0eda150f8b Debugger in allen Konfigurationen an neuen VSCode-Standard angepasst + Schalter in Konfiguration für compare_lists.py korrigiert + Syntax-Korrektur: Die vesrchiedenen Konfigurationen werden jetzt mit Kommata getrennt
Compare 3 commits »
s.steuer pushed to main at m.stangl/CreoMigrate 2025-04-27 15:37:27 +00:00
58b16509da Basierend auf Commit d905896 werden nun Teilenummern, die in $CREMIG_CFG/BOM-Settings.cfg -> Sektion 'ExcludedIDsInBOM' definiert sind aus der Darstellung des Treeviews ausgeschlossen. Darüber hinaus wird nun bei Ausführung von 'Lade lokal' in der GUI die lokale Teilestamm-CSV gezogen. Bisher wurde immer vom Server generiert, was vor allem bei Tests über einen Remoteclient sehr langsam ist.
39bd9e01e2 Basierend auf Commit 21528e2 Schalter '--rm_bom_ids_cfg' und '--rm_summary_ids_cfg' ergänzt. Folglich werden bei Ausführung dieses Batch-Scripts die Teilenummern, die in $CREMIG_CFG/BOM-Settings.cfg definiert sind aus der Darstellung des Baumes, bzw. der Zusammenfassung ausgeschlossen. Darüber hinaus Präfix 'Baugruppennummer' zur Angabe der Artikelnummer, für die der Baum darstellt werden soll in 'Artikelnummer' umbenannt, da mittlerweile auch für Teilenummern ohne Stückliste der Migrationsstand angezeigt werden kann.
21528e2353 Basierend auf Commit d905896 können jetzt im Treeview Nummern aus der Stücklistenstruktur sowie aus der Zusammenfassung ausgeschlossen werden. Nummern, die explizit oder implizit ausgeschlossen wurden (implizit, wenn sie Bestandteil einer Baugruppe sind, die ausgeschlossen wurde), dann werden diese Nummern in der Zusammenfassung aufgelistet, um dem User zu verdeutlichen, dass die Darstellung des Baumes, bzw. der Zusammenfassung von der tatsächlichen Struktur abweicht. Zur Angabe der ausgeschlossenen Nummern aus dem Baum können die neuen Schalter '--rm_bom_ids_str' und '--rm_bom_ids_cfg' genutzt werden. Bei ersterem können die Nummern als Argumente nacheinander mit Leerzeichen getrennt angegeben werden. Bei zweiterem Fall wird eine Konfigurationsdatei mit darin definiertem Sektionsnamen angegeben. Analog dazu gibt es zum Ausschluss der Teilenummern aus den Anzahlen der Zusammenfassung die neuen Schalter '--rm_summary_ids_str' und '--rm_summary_ids_cfg'. Allgemein wurde auch die Angabe der Argumente konkretisiert und z.B. durch CustomActions zur Validierung der Argumente verbessert.
d905896891 Klasse 'BOMConfig' sowie Methoden in Klasse 'SivasBOM' ergänzt, damit Teilenummern aus der Stücklistenstruktur herausgefiltert werden können. Aktuell ist es so festgelegt, dass wenn ein User ausgeschlossene Teilenummern an die Klasse 'SivasBOM' übergibt, diese dann auch automatisch aus der Stückliste ausgeschlossen werden, d.h. zum Ausschließen der der Nummern ist kein expliziter Aufruf der Methode '_remove_excluded_ids_from_bom' erforderlich. Hierbei gilt die Prämisse: Wenn Du ausgeschlossene Nummern angibst, möchtest Du sie auch nicht sehen. Weiso hättest Du sie sonst anggegeben?
1635610aff Config, zur Beeinflussung der Stücklisteninformationen, die defaultmäßig aus der JSON gezogen werden, ergänzt. Es wurden vorerst die Sektionen 'ExcludedPartnumbersInBOM' und 'ExcludedPartnumbersInSummary' vorgesehen. In ersterer können Teilenummern aus der Stücklistenstruktur ausgeschlossen werden. In zweiterer können Teilenummern in Zusammenfassung zur Stücklistenstruktur ausgeschlossen werden, d.h. die Nummer wird dann zwar bei einer Darstellung der Stücklistenstruktur sichtbar sein, sie wird nicht in der Zusammenfassung aufgeführt.
Compare 5 commits »
s.steuer pushed to main at m.stangl/CreoMigrate 2025-04-20 16:07:22 +00:00
e083f3c2ac In CreoMigrate (GUI-Applikation) können jetzt auch Sivas-Nummern, die kein Bestandteil der Menge der natürlichen Zahlen sind (z.B. 'TOS Auswahl FGN') migriert werden.
s.steuer pushed to main at m.stangl/CreoMigrate 2025-04-20 15:41:56 +00:00
2a601ec3c1 In CreoMigrate (GUI-Applikation) können nun auch Teilenummern ohne Stückliste migriert werden. Hierfür wurde in Methode 'get_csv_files_of_asm' von 'controller.py' ein Aufruf der Methode 'extend_asm_bom' aus der Klasse 'SivasBOM' in 'manage_configs.py' ergänzt. Innerhalb der Methode wird die angegebene Teilenummer aus dem Eingabefeld in der GUI, d.h. die Hauptnummer in die Stücklistendaten aufgenommen - standardmäßig ist sie nicht enthalten. Als Oberbaugruppe dieser Nummer wird dabei die fiktive Baugruppe 'None' definiert. Durch diese Ergänzung in den Stücklistendaten wird eine Teilenummer ohne Stückliste also selbst zu einem Bestandteil der fiktiven Baugruppe 'None'. Somit wird also wie bisher nur mit Baugruppen gearbeitet, wodurch die Grundlogik zur Erstellung des Treeviews im Programm gleich bleibt. Lediglich die Vorgehensweise, wenn parent = 'None' gilt musste in den Treeview-Methoden angepasst werden. Im Zuge dessen wurde auch die Methode '_has_childs' der Treeview-Klasse in 'gui.py' angepasst, um sie effizienter zu machen. Konkret wird nun nicht mehr jedes mal durch das parent_children_mapping-dict gelooped werden, um herauszufinden, ob die angegebene Nummer enthalten ist. Da alle Nummern, die als Key in genanntem Dict vorliegen immer Kinder haben muss stattdessen nur geprüft werden, ob die Nummer als Key vorliegt.
f01f08cda9 2. Backslash ergänzt, damit 1. Backslash korrekt interpretiert wird
832aaf2088 Variablennamen wurden in 'manage_configs.py' geändert (siehe commit 623f4a1) -> wurde in dieser Datei nachgezogen. Zudem in Methode 'extend_asm_bom' den Key 'Parent' mit aufgenommen, damit die Methode 'parent_children' in 'manage_configs.py' funktioniert. Dadurch kann nun auch der Migrationsstatus von Nummern ohne Stückliste im Treeview korrekt dargestellt werden.
623f4a12e1 In 'manage_configs.py' Klasse 'SivasAssemblyData' in 'SivasBOM' und Klasse 'TeilestammMetadata' in 'SivasTeilestamm' umbenannt, da eindeutiger. In 'controller.py' Namen entsprechend aktualisiert. Zudem in 'manage_configs.py' Klasse 'SivasBOM' die Methode 'asm_data' in 'bom_data' umbenannt. Darüber hinaus gibt die Methode nun ein leeres Dict zurück, wenn keine JSON vorliegt oder keine generiert werden konnte. Dies wurde vorgesehen, um im Migrationsüberblick (Treeview) sowie dem Migrationstool (CreoMigrate) auch Teilenummern ohne Stückliste, d.h. ohne JSON abbilden zu können (genaue Funktionsweise siehe mehrzeiliger Kommentar in genannter Methode). Abgesehen davon Methode 'property_names' komplett entfernt, da diese fehlerhaft funktioniert hat, da jedes Mal durch alle Kinder der Assembly geloopt wurde und die Eigenschaften des aktuellen Kindes wie z.B. 'Bezeichnung', 'Parent', etc. ausgelesen wurden. Der Fehler liegt darin, dass die Eigenschaften der Nummer aus der vorherigen Iteration komplett überschrieben, aber nicht ergänzt wurden, falls in der aktuellen Iteration Eigenschaften vorliegen, die in der vorherigen noch nicht vorlagen. Um dieses Problem ganz zu umgehen, wurden die Methoden 'get_prop_val_for_all_ids' und 'all_bom_properties' umgeschrieben, sodass die Eigenschaften direkt innerhalb dieser Funktionen geholt werden
56ff5010c7 In Funktion 'get_sivas_bom' wird nun in Fällen, bei denen keine JSON erzeugt werden, ein ValueError geschmissen, der ggf. später bei Bedarf per Exception gehandelt werden kann + In Funktion 'get_sivas_teilestamm' wird nun geprüft, ob das Tool 'KSbExcelExportSivasTeilestamm.exe' von Hr. Jakob mit den angegebenen Nummern tatsächlich valide CSV's generiert hat. Das ist deshalb von Bedeutung, weil das Tool auch dann CSV's erzeugt, wenn die Werte, die man per Flag '-teilenr' bereitstellt, nicht als Nummer in SIVAS vorliegen, wie z.B. 'abc'
Compare 10 commits »
s.steuer pushed to main at m.stangl/CreoMigrate 2025-04-14 19:47:19 +00:00
efef193612 FIX - Die Metadaten-CSV von Teilenummern mit Leerzeichen, z.B. 'TOS Auswahl FGN' wurde bisher nicht abgeleitet. Dies funktioniert nun. Zudem Denesting durchgeführt und spezifischere Error-Checks eingebaut
s.steuer pushed to main at m.stangl/CreoMigrate 2025-03-31 15:27:27 +00:00
a1a7f45f06 pymssql in requirements aufgenommen (wird für Datenbankabfrage benötigt) und sonstige Dependencies upgedated.
s.steuer pushed to main at m.stangl/CreoMigrate 2025-03-31 10:57:08 +00:00
9b3c3859cc get_teilestamm.py wird nicht mehr benötigt, siehe commit 4f740e81ad
22b0cf8afc In Treeview bzw. Excel-Export des Migrationsüberblicks werden Nummern nun blau markiert, wenn diese zwar in RuleDesigner migriert wurden, dort aber nocht keine Freigabe erfolgt ist. Hierfür wird der RuleDesigner-Status der Nummern live aus der RuleDesigner-Datenbank abgerufen. Dadurch ergibt sich ein detaillierterer Überblick über den aktuellen Migrationsstand, da der Großteil der Migrationsarbeit erst nach der Migration ins PDM erfolgt (Aufbereitung der Modelle, Zusammenbau der Baugruppe, etc.). Abgesehen davon wird die Bezeichnung der obersten Baugruppe jetzt ebenfalls im Migrationsüberblick angezeigt, was bisher nicht der Fall war. Hierfür wird eine CSV-Datei des SIVAS-Teilestamms zur Baugruppennummer abgeleitet daraus 'Bezeichnung 1' ausgelesen.
e2bfa2aac6 FIX - An erstes Argument (BG-ID) in Methode 'get_sivas_dbase' in 'update_database.py' wurde der komplette Dateipfad zur JSON übergeben, obwohl nur die Teilenummer, bzw. max. die Teilenummer mit Dateiendung übergeben werden darf
5f3615548b Treeview angepasst, damit die Bezeichnung der obersten Baugruppe angezeigt wird, da dies bisher nicht der Fall war. Da die Bezeichnung nicht in der Baugruppen-JSON aufgeführt ist, ist es erforderlich die CSV mit den Teilestamm-Metadaten zur Baugruppennummer herunterzuladen. Damit dies möglich ist, wurde wurde in manage_configs.py eine neue Subclass 'TeilestammMetadata' ergänzt. In compare_lists.py wurden dabei weitere Flags ergänzt, mit denen gesteuert werden kann, ob die Bezeichnung aus der lokalen CSV-Datei gezogen werden sollen, oder ob die CSV mit jedem Programmlauf neu erstellt wird. Defaultmäßig wird sie mit jedem Programmlauf neu erstellt
4f740e81ad Das Einladen der JSON- und RuleDesigner-Daten erfolgt nun allein i.V.m 'manage_configs.py' und nicht mehr i.V.m der Klasse FetchSivasTeilestamm in der Datei 'get_teilestamm.py'. Dies wurde einerseits durchgeführt, um die Anzahl an Referenzen zu verringern, hauptsächlich jedoch, weil in der Klasse 'FetchSivasTeilestamm' die Klasse 'MigrationsStatus' in 'manage_configs.py' aufgerufen wird, in der wiederum Objekte der Klassen 'SivasAssemblyData' und 'RuleDesignerConfig' initiiert werden. Das ist sehr ineffizient, weil 'SivasAssemblyData' bereits in dieser Datei, also 'controller.py' initiiert wird. Es wurde zudem ergänzt, dass nun auch die lokale Version der CSV-Datei, die die RD-Teilenummern enthält geladen werden kann, ohne den aktuellen Stand vom Server zu kopieren.
Compare 8 commits »
s.steuer pushed to main at m.stangl/CreoMigrate 2025-02-10 19:44:49 +00:00
5bd83324b2 FIX - Wenn in SIVAS keine Dispolaufgruppe angegeben ist, wird in CSV-Datei nicht ein leerer Wert, sondern ' - ' geschrieben. Bisher wurde jedoch nur bei keinem Wert eine Fehlermeldung bezüglich fehlender Dispolaufgruppe ausgegeben. Ab jetzt ist das auch beim Wert ' - ' der Fall.
1b834ab919 Wenn 'Aus Halbzeug' angehakt wird dürfen im Feld 'Farbe' keine Eintragungen vorgenommen werden. Bei Halbzeugen ist dafür das Feld 'Halbzeugfarbe vorgesehen. Konkret heißt das - sollte das Halbzeug eine Oberflächenbehandlung erhalten muss das in 'Halbzeugoberfläche' definiert werden und falls diese Oberflächenbehandlung eine Farbe erfordert dann muss diese über das Feld 'Halbzeugfarbe' spezifiziert werden.
Compare 2 commits »
s.steuer pushed to main at m.stangl/CreoMigrate 2024-12-21 21:58:29 +00:00
d40106d43b Materialübersetzung für 'PUR D44' ergänzt
71620fe35b Infomeldung ergänzt, wenn in CreoMigrate 'Aus Halbzeug' aktiviert wird, aber das Halbzeug noch nicht migriert wurde, oder nicht die neuste Version der RD_Teilenummern.csv im data-Verzeichnis liegt
Compare 2 commits »
s.steuer pushed to main at m.stangl/CreoMigrate 2024-12-21 16:17:33 +00:00
5564befd1d Farbe 'Ocker' hinzugefügt
s.steuer pushed to main at m.stangl/CreoMigrate 2024-12-20 19:47:33 +00:00
7f4f8e98b9 Rechtschreibfehler behoben und Text durch Bezugnahme auf SIVAS-Stückliste konkretisiert
s.steuer pushed to main at m.stangl/CreoMigrate 2024-12-17 13:49:52 +00:00
bfda1c75f6 Materialübersetzung für 'POM ' hinzugefügt.
s.steuer pushed to main at m.stangl/CreoMigrate 2024-12-16 14:18:33 +00:00
388afbfd99 Materialübersetzung für 'S235JR+Cr' ergänzt
642d0092d1 Neu aufgenommene Werkstoffe ergänzt
Compare 2 commits »
s.steuer pushed to main at m.stangl/CreoMigrate 2024-12-15 19:12:40 +00:00
55aa5f38b8 Materialübersetzung für 'POM ' hinzugefügt.
s.steuer pushed to main at m.stangl/CreoMigrate 2024-11-21 23:37:58 +00:00
dd8258f575 'filename.rsplit(.)[0] war bisher dafür zuständig, dass beim Einlesen der 'RD_Teilenummern.csv' die Endung .csv entfernt wird, um sie später beim Einlesen der Datei wieder zu ergänzen. Da die Klasse 'Partnumbers' aber auch für die json-Dateien der Teilenummern verwendet wird, hat das rsplit(.)[0] dazu geführt, dass bei Teilenummern wie z.B. 'ILS 2.0 A Pneumatik' der Teil nach dem Punkt abgecuttet wurde. Beim Versuch die json-Datei der Teilenummer zu lesen kam es dann folglich zu Fehlern, da der restliche Teil nach dem Punkt im Dateinamen fehlt und dementsprechend keine json-Datei gefunden werden konnte. Daher wird nun die Endung .csv nicht mehr abgeschnitten, sondern bis zum Einlesen in der Funktion load_from_csv() beibehalten, wobei die Dateiendung dort folglich nicht mehr als Ende hinzugefügt werden darf, da der Dateiname sonst 'RD_Teilenummern.csv.csv' lauten würde.
a16f8a8845 Die Eingabeparameter 'id' in 06_migrationsstatus_treeview und -number beim Aufruf des Sivas2Json-Programms von Hr. Jakob sind nun jeweils in Anführungszeichen, damit auch Teilenummern mit Leerzeichen, wie z.B. 'TOS Auswahl ILS' korrekt verarbeitet werden können. Ansonsten endet das Parameterargument beim Leerzeichen
Compare 2 commits »
s.steuer pushed to main at m.stangl/CreoMigrate 2024-10-14 14:00:03 +00:00
3704274e26 Regulären Ausdruck so angepasst, dass auch '- BG', bzw. Variationen davon aus der Bezeichnung entfernt wird. Ohne Entfernung wird beim Migrieren an das bereits bestehende '- BG' nochmal ein '- BG' angehängt
s.steuer pushed to main at m.stangl/CreoMigrate 2024-10-14 08:52:55 +00:00
dc8fb06110 FIX - Beim Einlesen der Blacklist-Nummern ist es nun egal, ob der String mit den Nummern in eine Liste geschrieben wird oder nicht. Wieso dies überhaupt passiert konnte nicht nachvollzogen werden
s.steuer pushed to main at m.stangl/CreoMigrate 2024-09-18 11:58:44 +00:00
7492059744 Neue PP-Werkstoffe aufgenommen
s.steuer pushed to main at m.stangl/CreoMigrate 2024-08-09 15:54:54 +00:00
0d0a9425da Default-Spritzguss-Allgemeintoleranz an cfg-Einstellungen angeglichen