Commit Graph

64 Commits

Author SHA1 Message Date
s.steuer 61cd933de3 FIX - Bei Definierung der automatischen Zusatzinformationen muss geprüft werden, ob die aktuell ausgewählte Nummer über eine Stückliste verfügt. Die Methode 'has_bom', die dafür implementiert wurde hat jedoch nur zurückgegeben, ob die oberste Nummer, nach der gesucht wurde eine Stückliste hat oder nicht. Dies wurde nun behoben, indem zunächst alle Kinder der ausgewählten Nummer geholt werden. Wenn diese 'None' sind hat die ausgewählte Teilenummer keine Stückliste. Die Methode 'has_bom' sowie die Methode 'set_bom_existance' werden daher nun nicht mehr benötigt. Alle entsprechenden Referenzen wurden entfernt. 2025-08-27 16:54:04 +02:00
s.steuer f5cc53253e siehe JIRA SUR-644 - Fehlt eine Nummer in der Blacklist wird nun bei jedem Klick auf 'Migrieren' in der GUI geprüft, ob die Nummer in der ERP_BOM.ini vorliegt. Fehlt sie, erscheint wie gewohnt die Fehlermeldung, dass die Nummer in der Datei fehlt - eine Migration erfolgt also nicht. Erst wenn die Meldung mit 'OK' bestätigt und die Nummer anschließend in die .ini-Datei hinzugefügt wurde kann die Migration mit dem nächsten Klick auf 'Migrieren' erfolgreich abgeschlossen werden. 2025-07-11 23:35:44 +02:00
s.steuer cf4b632cba Logik des Feldes 'Zusatzinformationen automatisch' überarbeitet. Konkret wurde die Erkennung der Fälle überarbeitet, bei denen Zusatzinformationen ausgegeben werden sollen. Es wird nun zunächst geprüft, ob die verschiedenen Einzelfälle, z.B. ob es sich um eine Trümmerbaugruppe handelt, auf die zu migrierende Nummer zutreffen. Ist dies der Fall wird der 'Treffer' gesammelt. Am Ende werden alle Treffer miteinander zu einem String kombiniert. Dieser kombinierte String wird anschließend in der 'Zusatzinformationen.cfg' gesucht. Bei Übereinstimmung wird der zugehörige Text aus der 'Zusatzinformationen.cfg' in das GUI-Textfeld geschrieben. Die Überarbeitung wurde durchgeführt, weil es immer mehr Fälle wurden und es mit der bisherigen Logik unübersichtlich wurde, wo der neue Fall eingefügt werden soll. Zudem entstanden Redundanzen. Die neue Logik sollte deutlich dynamischer, wartbarer und einfacher erweiterbar als die bisherige Variante sein. Es muss jedoch in der Zusatzinformationen.cfg darauf geachtet werden, dass die Optionen korrekt geschrieben werden, da das Programm sonst keine Übereinstimmung finden kann 2025-07-11 22:28:54 +02:00
Benjamin_Mueller b7fd1da5b8 Folgende Änderungen wurden vorgenommen: cremig_setenv.bat wurde so modifiziert, das ein dynamischer Pfadwechsel des Tools 'DataPrepUtility' möglich ist nach einem Solid Edge Versionswechsels. controller.py Fehlermeldung über nicht gefundenen Pfad wurde verfeinert, war zu ungenau. Näheres zu den Änderungen siehe JIRA SUR-648 2025-06-26 16:32:44 +02:00
Benjamin_Mueller e342ace5c3 FIX - Korrektur der Pfadangaben um verwechslung mit Syntaxbefehlen zu vermeiden 2025-06-25 12:07:19 +02:00
Benjamin_Mueller fb710b73e0 Infromationstext des Fensters 'Fehlend in Blacklist' um Pfadangabe der Blacklist und bitte um Programmneustart ergänzt 2025-06-25 09:59:21 +02:00
s.steuer 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. 2025-04-27 17:36:41 +02:00
s.steuer 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. 2025-04-20 18:07:07 +02:00
s.steuer 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. 2025-04-20 17:40:52 +02:00
s.steuer 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 2025-04-20 12:05:46 +02:00
s.steuer 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. 2025-03-29 22:19:59 +01:00
s.steuer 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. 2025-03-09 00:37:10 +01:00
s.steuer 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 2024-12-21 22:56:32 +01:00
s.steuer 09b8ee7e6e Vor Durchführung der Migration wird nun zusätzlich geprüft, ob Teilenummern in der Blacklist fehlen. Ist immer dann der Fall, wenn eine Teilenummer eine Stückliste besitzt und sich darin Positionsnummern befinden, die beigestellt oder dispo-inaktiv sind. 2024-06-16 21:59:47 +02:00
s.steuer 66260e23ef Eingebaut, dass neuster Stand der Blacklist bei jeder Suche kopiert wird, da sich häufig Änderungen darin ergeben. 2024-06-13 09:56:11 +02:00
m.stangl c8e958ef32 Länge der Bezeichnung wird beim Migrieren Knopf überprüft. Bei Baugruppen und Schw.Bgrp ist nach 45 Zeichen schluss, beim Rest nach 50 Zeichen 2024-04-17 14:50:13 +02:00
m.stangl b48060aabc notepad zum Betrachten der logs als Default dazu. 2024-04-03 13:07:00 +02:00
m.stangl aeb35b4d43 Fix beim Migrieren. Logs werden in Log Ordner geschoben. Notpad geht im Fehlerfall auf 2024-04-03 12:12:02 +02:00
m.stangl a4f07d3e33 Impfen mit dem DataPrep Werkzeug eingebaut 2024-03-28 16:26:36 +01:00
s.steuer 780974081b Fehlermeldung eingefügt, wenn Blacklist nicht in lokalem Verzeichnis liegt + Bei Feldüberprüfung des Feldes 'Halbzeugfarbe' wurde bisher geprüft, ob sich im Feld 'Oberfläche' ein Wert befindet. Eigentlich soll aber geprüft werden, ob sich ein Wert im Feld 'Halbzeugoberfläche' befindet. Dies wurde ebenfalls gefixt 2024-03-21 13:16:41 +01:00
m.stangl 8e6b7466a6 Export der Migrationsfunktion bestückt. 2024-03-19 17:05:48 +01:00
Benjamin_Mueller 0e4b218563 um Exportfehlermeldungen ergänzt beim Migrieren 2024-03-19 15:54:19 +01:00
Benjamin_Mueller 1c18ca98bf gui.bat lädt jetzt die virtuelle Umgebung. Fix der Abfrage eines Bauteils als Assembly implementiert. Kein Exit im Code mehr, der als Library verwendet werden soll. 2024-03-19 14:02:54 +01:00
m.stangl 6d52f160e8 Highlight der labels implementiert. 2024-03-18 16:31:20 +01:00
m.stangl 198a9a1d62 Baum Zeigt manipulierte Daten in orange an. nicht benutzte Methoden von caditem auskommentiert. 0
Delete
Document Number	-
Revision	-
Project Name	-
Teamcenter Item Type	-
Part Type	-
TC_ImportTime	-
Last Saved Version	-
Subject	-
Category	-
Keywords	-
Teilenummer	400102274
Title	Gefällebogen 30° beschnitten
Bezeichnung4
Author	m.stangl
StartRevision	A
Aus Halbzeug
Fertigungsart	Einzelteil
Mengeneinheit	Stck
Halbzeug
TOS-Gruppe	Schönenberger Produkt
TOS_Schoenenberger_Produkt	ILS IntraLogistikSystem
TOS_ILS	ILS 2.0
TOS_ILS_2	Gefälle
Dispogruppe	Förderer
Dispolaufgruppe	Intra Logistic System + alt-HFS
ZusaetzlicheInformationen
	0
Delete
Document Number	-
Revision	-
Project Name	-
Teamcenter Item Type	-
Part Type	-
TC_ImportTime	-
Last Saved Version	-
Subject	-
Category	-
Keywords	-
Teilenummer	400102274
Title	Gefällebogen 30° beschnitten
Bezeichnung4
Author	m.stangl
StartRevision	A
Aus Halbzeug
Fertigungsart	Einzelteil
Mengeneinheit	Stck
Halbzeug
TOS-Gruppe	Schönenberger Produkt
TOS_Schoenenberger_Produkt	ILS IntraLogistikSystem
TOS_ILS	ILS 2.0
TOS_ILS_2	Gefälle
Dispogruppe	Förderer
Dispolaufgruppe	Intra Logistic System + alt-HFS
ZusaetzlicheInformationen
  Export
2024-03-18 13:50:40 +01:00
m.stangl 1eb42b2366 Demodaten rausgeworfen. Nicht mehr nötig da mit Echtdaten anwendbar. Prüfung aller Eingaben beim Migrieren aktiviert. 2024-03-18 11:04:38 +01:00
m.stangl e3a7e79dad Generierung der Export Daten. TOS Gruppenfolge aus der TOS Nummer impl. 2024-03-15 14:07:59 +01:00
m.stangl a785eecbc2 Alle Check Logiken Implementiert 2024-03-14 14:24:37 +01:00
m.stangl 8ec356df70 Content Check weiter getrieben bis zur Kalkulationsart 2024-03-13 12:40:31 +01:00
m.stangl 8f74aac945 Test auf invalid Characters implementiert. ERP_Item.ini rausgeschmissen. Sonderzeichen im Configparser nicht einfach zu lesen. FileEncoding war auch nicht utf-8. Eigene Textdatei für Sonderzeichen 2024-03-13 11:44:12 +01:00
m.stangl 1e917e5bbd Check der Inhalte mit beider Spalten mit nur einem Rückgabewert versehen. Ansonsten unverständliche für den Nutzer. 3D Druck Keyword im Ruledesigner unterschiedlich. Beide Varianten erlaubt. Rückgabe von keiner Fertigungsart führt zu keinen Defaultwert der folgenden Comboboxen. Keine Exception deswegen mehr 2024-03-12 17:28:58 +01:00
m.stangl dd20c42851 Logik für Freigabevermerk und ZUsatzinfos implementiert 2024-03-12 14:57:47 +01:00
m.stangl f471138b96 clear funktionen für die gesamte Oberfläche implementiert. Zuruecksetzen Knopf implementiert. Combo Felder immer readonly gesetzt 2024-03-11 17:42:59 +01:00
m.stangl 94ff9aa100 erstes Grundgerüst in mvc gebaut, um den Status einzusammeln und an die gui weiter zu geben 2024-03-07 12:32:04 +01:00
m.stangl 2e3061d238 migration impl. Erst Abgleicher Oberfläche und des Modells vor speichern oder migrieren 2024-03-06 17:11:24 +01:00
m.stangl 00f180ea39 Verweise für die Pflichtfelder aus der spec rein kopiert. 2024-03-05 17:45:00 +01:00
m.stangl 4d42f82e6a Messages info bzw. error hinzu 2024-02-29 14:49:09 +01:00
m.stangl fc1b1bc946 data_from_view impl. um ein anderes Assembly zu laden. Weiteren Konpf 'lade lokal' gebaut, um Daten auch ohne weitere Serverabfrage zu laden welche lokal existieren. 2024-02-21 14:46:53 +01:00
m.stangl 5e65dc2b36 Default methoden für alle callbackroutinen rein. Umbau des Aufrufs der gui, um auch assemblies laden zu könenn 2024-02-20 12:51:38 +01:00
m.stangl 4fe5c37bb5 Statusänderungen wie readonly, etc im Controller bzw. der gui vorgesehen 2024-02-15 18:54:41 +01:00
m.stangl 9f1402bc55 fix in der Controllerlogik, wann der Suche Knopf gedrückt werden kann 2024-02-14 19:04:02 +01:00
m.stangl b0b65f0614 gui um Selectionsbox für Pfad zu 3D Modell ergänzt. callbacks der Knöpfe erfolgt jetzt nur noch im Controller. 3D-Modell Pflichtfeld implementiert 2024-02-14 16:07:29 +01:00
m.stangl e4c7ccf152 ein paar Variablen in caditem protected gemacht. Laden und Speichern der ausgefüllten Oberfläche im json file im Work Ordner implementiert 2024-02-14 10:43:33 +01:00
m.stangl 501c862eeb Bedingungen für aus_halbzeug impl. 2024-02-14 09:21:32 +01:00
m.stangl b527faf086 Schalter -use_local dazu. Keine Datenbankabfrage vom Server, wenn die Dateien schon da sind. EInige Attribute im config manager privatisiert. In die Logik auch die Abhängigkeit der comboboxen definiert. Controller ist jetzt ein Observer (der einzige) 2024-02-12 17:19:42 +01:00
m.stangl 8c6d91b463 Observer pattern eingebaut. Zahlreiche Attribute protected gemacht. Logik in caditem verschoben. config aus der gui entfernt 2024-02-08 18:36:57 +01:00
m.stangl e082dec1e1 create_gui_dependencies mit eval implementiert. Spart Schreibarbeit und ermöglicht es Callbackfunktionen über Einfache Aufrufe mit den Namen der Callbackfunktionen zu tätigen 2024-02-08 16:02:25 +01:00
m.stangl bd4b8d297e gui Aufruf mit einem Assembly holt sich alle nötigen Infos von den DAtenbanken. 2024-02-07 10:41:23 +01:00
m.stangl 716ff80905 Callbackfunktionen gleich benannt wie die jeweiligen Callbacks. Pflege der DAten beim csv Import immer gleich nach dem Aufruf der Callbackfunktion, da jede Callback auf Daten daraus zugreift 2024-02-06 12:37:28 +01:00
m.stangl 62d328b46e laden der Sivas Daten aus .csv bzw. .json impl. Check der Keys in der Logik vereinfacht. Erste Tests der Callbackroutinen beim Laden des .csv Files 2024-02-05 22:00:45 +01:00