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
This commit is contained in:
2024-03-18 13:50:40 +01:00
parent 1eb42b2366
commit 198a9a1d62
4 changed files with 77 additions and 45 deletions
-1
View File
@@ -9,7 +9,6 @@ import argparse
import os
class Environment:
def __init__(self):
+38 -16
View File
@@ -274,10 +274,10 @@ class CadItem(DataModel):
def set_red_ids(self, red_ids):
""" these ids are not yet known by the PDM"""
self._red_ids = red_ids
def get_red_ids(self):
return self._red_ids
# Methoden um die Verwendbarkeit einzelner Schalter auszugrauen
def set_read_only_dict(self, data:dict):
for k,v in data:
@@ -293,21 +293,21 @@ class CadItem(DataModel):
return self._read_only_items
# Daten zum Impfen merken
def set_data_dict(self, data:dict):
for k,v in data:
self.set_data(k,v)
def set_data(self, key, val):
if key not in self.data_keys:
raise Exception("this data can not be set "+ key)
else:
self._data[key] = val
# def set_data_dict(self, data:dict):
# for k,v in data:
# self.set_data(k,v)
# def set_data(self, key, val):
# if key not in self.data_keys:
# raise Exception("this data can not be set "+ key)
# else:
# self._data[key] = val
def get_data(self, key):
""" gibt ein Datenstück zurück """
return self._data[key]
def get_all_data(self):
""" gibt alle enthaltenen Daten zurück """
return self._data
# def get_data(self, key):
# """ gibt ein Datenstück zurück """
# return self._data[key]
# def get_all_data(self):
# """ gibt alle enthaltenen Daten zurück """
# return self._data
# Daten die in der GUI gespeichert werden sollen
def set_gui_dict(self, data:dict):
@@ -846,7 +846,9 @@ class CadItem(DataModel):
# New_path = \\ssg.local\freigaben\SIVAS_CAD_EDM\Migration\02_Bedarfspool\
# ELSE:
# New_path = \\ssg.local\freigaben\SIVAS_CAD_EDM\Schulung\Migration\02_Bedarfspool
zielpfad = self._config.Pfade.get('Zielpfade', datenbank )
zielpfad = self._controller.get_config().Pfade.get('Zielpfade', datenbank )
if os.path.exists(zielpfad):
# nur den Usernamen dazu bauen, wenn auch der konfigurierte Pfad existiert.
username = os.environ.get("USERNAME")
userpfad = os.path.join(zielpfad, username)
# Wenn User, der migriert, noch keinen Ordner im Ziel besitzt,
@@ -854,6 +856,25 @@ class CadItem(DataModel):
if not os.path.exists(userpfad):
os.mkdir(userpfad)
current_id = self.get_current_item_id()
target_path = os.path.join(self._controller.get_env('out'), str(current_id) + '.xlsx')
# cms = [ "Author", "Teilenummer", "StartRevision",
# "Bezeichnung1", "Bezeichnung2", "Bezeichnung4", "KategorieNE",
# "BeschaffungsartNE", "TOS-Gruppe_ERP", "Dispogruppe",
# "Dispolaufgruppe", "WerkstofftypNE", "WerkstoffNE",
# "Oberflaechenbehandlung", "Farbe", "KalkulationsartNE",
# "RuestcodeAusw", "Fertigungsart", "Allgemeintoleranz",
# "HalbzeugInternAngabe", "Halbzeug", "HalbzeugOhneSaegeliste",
# "EinheitNE", "FOS-GruppeNE", "Hersteller", "HerstellerTeilenummer",
# "Serien-Status", "Kantennorm", "Oberflaechennorm", "Massnorm",
# "Tolerierungsnorm","Änderungsbeschreibung",
# "Freigabevermerk", "ZusaetzlicheInformationen"]
df = pd.DataFrame.from_dict(data, orient='index')
df = (df.T)
df.to_excel(target_path, index=True)
def tos_to_dict(self, tosgruppe, num2refId, num2child):
tosstr = str(tosgruppe)
ret = dict()
@@ -1032,6 +1053,7 @@ class CadItem(DataModel):
zusatzinfos_auto_text = self.get_gui_data("zusatzinfos_auto_text")
zusatzinfos_bendef_text = self.get_gui_data("zusatzinfos_bendef_text")
data["ZusaetzlicheInformationen"] = zusatzinfos_auto_text + zusatzinfos_bendef_text
return data
+22 -14
View File
@@ -90,6 +90,14 @@ class Controller(Observer):
def get_config(self):
return self._config
def get_orange_ids(self, red_ids):
"""just check which files have already been worked with, so data has been added"""
orange = dict()
work = self.get_env('out')
for red in red_ids:
if os.path.exists(os.path.join(work, red +'.json')):
orange[red] = True
return orange
def get_csv_files_of_asm(self, asmid, uselocal):
""" sich die Einzelteile als .csv und den Aufbau des Assemblies als .json holen """
@@ -156,6 +164,7 @@ class Controller(Observer):
"""lädt alle nötigen Daten für diese ID """
# falls eine .json Datei davon im Work Ordner existiert, dann diese zuerst versuchen ins Modell zu laden
self._view.clear_rightframes()
self._model.clear()
isok = self._model.from_json_file(self.get_env("out"), cid)
if isok == False:
# ansonsten die .csv Datei mit den SIVAS Infos aus data holen
@@ -164,7 +173,6 @@ class Controller(Observer):
print("no file found "+ cid)
else:
# und diese in der Gui setzen
self._model.clear()
set_data = self._model.csv2guidata(loaded)
self.set_gui_dict(set_data)
self._model.set_gui_defaults()
@@ -180,19 +188,19 @@ class Controller(Observer):
def get_parent_children(self):
return self._model.get_parent_children()
# merkt sich die reinen Daten zum Impfen
def set_data_dict(self, data:dict):
"""merken der Daten zum Impfen"""
for k,v in data:
self.set_data(k,v)
def set_data(self, key, value):
"""merken der Daten zum Impfen"""
self._model.set_data(key, value)
# # merkt sich die reinen Daten zum Impfen
# def set_data_dict(self, data:dict):
# """merken der Daten zum Impfen"""
# for k,v in data:
# self.set_data(k,v)
# def set_data(self, key, value):
# """merken der Daten zum Impfen"""
# self._model.set_data(key, value)
def get_data(self, key):
return self._model.get_data(key)
def get_all_data(self):
return self._model.get_all_data()
# def get_data(self, key):
# return self._model.get_data(key)
# def get_all_data(self):
# return self._model.get_all_data()
# merkt sich die Nutzereingaben, bzw. Daten für die GUI
def set_gui_dict(self, data:dict):
@@ -284,7 +292,7 @@ class Controller(Observer):
ok = self._model.check_content()
if ok == True:
data = self._model.create_migration_data()
#self._model.create_migration_file(data)
self._model.create_migration_file(data)
def zuruecksetzen(self):
cid = self.get_current_item_id()
+7 -4
View File
@@ -73,9 +73,9 @@ class TreeView():
def set_controller(self, controller):
self._controller = controller
def refresh(self, parent_children_mapping, red_ids):
def refresh(self, parent_children_mapping, red_ids, orange_ids):
self.clear()
self.create(parent_children_mapping, red_ids)
self.create(parent_children_mapping, red_ids, orange_ids)
def clear(self):
for c in self.tree.get_children():
@@ -88,12 +88,13 @@ class TreeView():
return True
return False
def create(self, parent_children_mapping, red_ids):
def create(self, parent_children_mapping, red_ids, orange_ids):
pool = dict()
for parent, children in parent_children_mapping.items():
# parent erzeugen, falls es diese nicht schon gibt (check der pool ids)
if parent not in pool:
if parent not in red_ids: rowtags = ('good')
elif parent in orange_ids: rowtags = ('orange')
else: rowtags = ('missing')
parent_id = self.tree.insert('', tk.END, text=parent, tags=rowtags, open=True)
@@ -104,6 +105,7 @@ class TreeView():
for child in children:
if child not in red_ids: rowtags = ('good')
elif child in orange_ids: rowtags = ('orange')
else: rowtags = ('missing')
if self._has_childs(child, parent_children_mapping) == True:
@@ -131,7 +133,8 @@ class TreeView():
def data_from_model(self):
parent_children_mapping = self._controller.get_parent_children()
red_ids = self._controller.get_red_ids()
self.refresh(parent_children_mapping, red_ids)
orange_ids = self._controller.get_orange_ids(red_ids)
self.refresh(parent_children_mapping, red_ids, orange_ids)
def item_selected(self, event):
"""callback of TK if an item in the tree has been selected