Statistik in den tree eingebaut. Ein paar Fixes in der Logik. Erweiterungen des
This commit is contained in:
+106
-17
@@ -398,8 +398,6 @@ class CadItem(DataModel):
|
|||||||
else:
|
else:
|
||||||
translated_data["tosgruppe_neu"] = default
|
translated_data["tosgruppe_neu"] = default
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Spezial Freigabevermerk
|
# Spezial Freigabevermerk
|
||||||
if "freigabevermerk_sivas" in translated_data:
|
if "freigabevermerk_sivas" in translated_data:
|
||||||
text = translated_data["freigabevermerk_sivas"]
|
text = translated_data["freigabevermerk_sivas"]
|
||||||
@@ -409,8 +407,8 @@ class CadItem(DataModel):
|
|||||||
# Spezial Hersteller: aus "80312 - Rehau AG & Co." wird "Rehau AG & Co."
|
# Spezial Hersteller: aus "80312 - Rehau AG & Co." wird "Rehau AG & Co."
|
||||||
if "hersteller_sivas" in translated_data:
|
if "hersteller_sivas" in translated_data:
|
||||||
text = translated_data["hersteller_sivas"]
|
text = translated_data["hersteller_sivas"]
|
||||||
if re.search(r"^.*-\s+", text):
|
if re.search(r"^\d+\s+-\s+", text):
|
||||||
translated_data["hersteller_neu"] = re.sub(r"^.*-\s+", "", text, flags=re.I)
|
translated_data["hersteller_sivas"] = re.sub(r"^\d+\s+-\s+", "", text, flags=re.I)
|
||||||
|
|
||||||
# Spezial Änderungsindex
|
# Spezial Änderungsindex
|
||||||
if "aenderungsindex_sivas" not in translated_data:
|
if "aenderungsindex_sivas" not in translated_data:
|
||||||
@@ -573,7 +571,8 @@ class CadItem(DataModel):
|
|||||||
|
|
||||||
def check_pflichtfelder(self):
|
def check_pflichtfelder(self):
|
||||||
"""Allgemeine Prüfungen:
|
"""Allgemeine Prüfungen:
|
||||||
Solange nicht alle Pflichtfelder einen Wert aufweisen, muss beim Klick auf den Button "Migrieren" eine ERROR-Messagebox erscheinen, in der alle Pflichtfelder aufgelistet sind, die keinen Wert aufweisen
|
Solange nicht alle Pflichtfelder einen Wert aufweisen, muss beim Klick auf den Button "Migrieren" eine ERROR-Messagebox
|
||||||
|
erscheinen, in der alle Pflichtfelder aufgelistet sind, die keinen Wert aufweisen
|
||||||
"""
|
"""
|
||||||
|
|
||||||
missing = list()
|
missing = list()
|
||||||
@@ -607,9 +606,10 @@ class CadItem(DataModel):
|
|||||||
if pdm_kategorie_neu == "Einzelteil" or pdm_kategorie_neu == "Schweissbaugruppe":
|
if pdm_kategorie_neu == "Einzelteil" or pdm_kategorie_neu == "Schweissbaugruppe":
|
||||||
self.check_key_both_columns("fertigungsart_sivas", "fertigungsart_neu", missing)
|
self.check_key_both_columns("fertigungsart_sivas", "fertigungsart_neu", missing)
|
||||||
|
|
||||||
|
|
||||||
# Allgemeintoleranz
|
# Allgemeintoleranz
|
||||||
|
if pdm_kategorie_neu == "Einzelteil" or pdm_kategorie_neu == "Schweissbaugruppe":
|
||||||
self.check_key_both_columns("allgemeintoleranz_sivas", "allgemeintoleranz_neu", missing)
|
self.check_key_both_columns("allgemeintoleranz_sivas", "allgemeintoleranz_neu", missing)
|
||||||
|
|
||||||
# FOS-Gruppe
|
# FOS-Gruppe
|
||||||
self.check_key_both_columns("fosGruppe_sivas", "fosGruppe_neu", missing)
|
self.check_key_both_columns("fosGruppe_sivas", "fosGruppe_neu", missing)
|
||||||
# Kalkulationsart
|
# Kalkulationsart
|
||||||
@@ -629,7 +629,7 @@ class CadItem(DataModel):
|
|||||||
|
|
||||||
# Werkstofftyp
|
# Werkstofftyp
|
||||||
aus_halbzeug = self.get_gui_data("aus_halbzeug_neu")
|
aus_halbzeug = self.get_gui_data("aus_halbzeug_neu")
|
||||||
if aus_halbzeug is False:
|
if pdm_kategorie_neu == "Einzelteil" and aus_halbzeug is False:
|
||||||
self.check_key_existence("werkstofftyp_neu", missing)
|
self.check_key_existence("werkstofftyp_neu", missing)
|
||||||
|
|
||||||
# Änderungstext
|
# Änderungstext
|
||||||
@@ -647,6 +647,8 @@ class CadItem(DataModel):
|
|||||||
""" überprüft ob inder Oberfläche nicht erlaubte Zeichen eingetragen wurden"""
|
""" überprüft ob inder Oberfläche nicht erlaubte Zeichen eingetragen wurden"""
|
||||||
wrongchars = dict()
|
wrongchars = dict()
|
||||||
for key in self.key2label:
|
for key in self.key2label:
|
||||||
|
if key == "model3d_neu": # 3D Teil Pfad ausnehmen
|
||||||
|
continue
|
||||||
content = self.get_gui_data(key)
|
content = self.get_gui_data(key)
|
||||||
for c in invalid_chars:
|
for c in invalid_chars:
|
||||||
if c in content:
|
if c in content:
|
||||||
@@ -763,7 +765,7 @@ class CadItem(DataModel):
|
|||||||
return False
|
return False
|
||||||
|
|
||||||
# TOS-Gruppe
|
# TOS-Gruppe
|
||||||
tosgruppe = self.get_content('tosgruppe_sivas', 'tosgruppe_sivas')
|
tosgruppe = self.get_content('tosgruppe_sivas', 'tosgruppe_neu')
|
||||||
(num2refId, num2child) = self._controller.get_config().TOSGruppen.get_Id2TosGroup()
|
(num2refId, num2child) = self._controller.get_config().TOSGruppen.get_Id2TosGroup()
|
||||||
# TODO wirklich als refernce-id oder als Gruppe?
|
# TODO wirklich als refernce-id oder als Gruppe?
|
||||||
if tosgruppe not in num2child.keys():
|
if tosgruppe not in num2child.keys():
|
||||||
@@ -912,6 +914,12 @@ class CadItem(DataModel):
|
|||||||
"Subject": "-",
|
"Subject": "-",
|
||||||
"Category": "-",
|
"Category": "-",
|
||||||
"Keywords": "-",
|
"Keywords": "-",
|
||||||
|
"Aus Halbzeug": "",
|
||||||
|
"HalbzeugIntern":"",
|
||||||
|
"Kopiertes_Teil_1_y_Skalierung": "",
|
||||||
|
"Oberflaechenbehandlung":"",
|
||||||
|
"Farbe": "",
|
||||||
|
|
||||||
}
|
}
|
||||||
all_data = self.get_all_gui_data()
|
all_data = self.get_all_gui_data()
|
||||||
# data_keys = [ "Author", "Teilenummer", "StartRevision",
|
# data_keys = [ "Author", "Teilenummer", "StartRevision",
|
||||||
@@ -926,17 +934,81 @@ class CadItem(DataModel):
|
|||||||
# "Tolerierungsnorm","Änderungsbeschreibung",
|
# "Tolerierungsnorm","Änderungsbeschreibung",
|
||||||
# "Freigabevermerk", "ZusaetzlicheInformationen"]
|
# "Freigabevermerk", "ZusaetzlicheInformationen"]
|
||||||
# Path
|
# Path
|
||||||
|
|
||||||
|
|
||||||
|
# "halbzeugoberflaeche_neu",
|
||||||
|
# "halbzeugfarbe_neu",
|
||||||
|
# "lebenszyklus_status_neu",
|
||||||
|
# "model3d_neu",
|
||||||
|
# "bezeichnung1_sivas", "bezeichnung1_neu",
|
||||||
|
# "bezeichnung2_sivas",
|
||||||
|
# "halbzeugOhneSaege_sivas", "halbzeugOhneSaege_neu",
|
||||||
|
# "ruestcode_sivas", "ruestcode_neu",
|
||||||
|
# "fertigungsart_sivas", "fertigungsart_neu",
|
||||||
|
# "allgemeintoleranz_sivas", "allgemeintoleranz_neu",
|
||||||
|
# "fosGruppe_sivas", "fosGruppe_neu",
|
||||||
|
# "kalkulationsart_sivas", "kalkulationsart_neu",
|
||||||
|
# "beschaffungsart_sivas", "beschaffungsart_neu",
|
||||||
|
# "mengeneinheit_sivas", "mengeneinheit_neu",
|
||||||
|
# "halbzeug_sivas", "halbzeug_neu",
|
||||||
|
# "tosgruppe_sivas", "tosgruppe_neu",
|
||||||
|
# "dispogruppe_sivas", "dispogruppe_neu",
|
||||||
|
# "dispolaufgruppe_sivas","dispolaufgruppe_neu",
|
||||||
|
# "hersteller_sivas", "hersteller_neu",
|
||||||
|
# "ersatzfuer_sivas", "ersatzfuer_neu",
|
||||||
|
# "ersetztdurch_sivas", "ersetztdurch_neu",
|
||||||
|
# "herstteilenr_sivas", "herstteilenr_neu",
|
||||||
|
# "werkstoffdiskr_neu",
|
||||||
|
# "werkstofftyp_neu",
|
||||||
|
# "material_sivas", "material_neu",
|
||||||
|
# "oberflaeche_neu",
|
||||||
|
# "farbe_neu",
|
||||||
|
# "version_sivas",
|
||||||
|
# "aenderungsindex_sivas", "aenderungsindex_neu",
|
||||||
|
# "aenderungstext_sivas", "aenderungstext_neu",
|
||||||
|
# "freigabevermerk_sivas", "freigabevermerk_neu",
|
||||||
|
# "zusatzinfos_auto_text",
|
||||||
|
# "zusatzinfos_bendef_text",
|
||||||
|
|
||||||
teilenummer = self.get_gui_data("teilenummer")
|
teilenummer = self.get_gui_data("teilenummer")
|
||||||
data["Teilenummer"] = teilenummer
|
data["Teilenummer"] = teilenummer
|
||||||
|
|
||||||
# Bezeichnung um "- BG" ergänzen
|
|
||||||
pdm_kategorie_neu = self.get_gui_data("pdm_kategorie_neu")
|
pdm_kategorie_neu = self.get_gui_data("pdm_kategorie_neu")
|
||||||
bezeichnung1 = self.get_content('bezeichnung1_sivas', 'bezeichnung1_neu')
|
bezeichnung1 = self.get_content('bezeichnung1_sivas', 'bezeichnung1_neu')
|
||||||
title = bezeichnung1
|
title = bezeichnung1
|
||||||
|
data["KategorieNE"] = title
|
||||||
|
# Bezeichnung um "- BG" ergänzen
|
||||||
if pdm_kategorie_neu == "Baugruppe" or pdm_kategorie_neu == "Schweissbaugruppe":
|
if pdm_kategorie_neu == "Baugruppe" or pdm_kategorie_neu == "Schweissbaugruppe":
|
||||||
title = bezeichnung1 + " - BG"
|
title = bezeichnung1 + " - BG"
|
||||||
data["Title"] = title
|
data["Title"] = title
|
||||||
|
|
||||||
|
# aus Halbzeug
|
||||||
|
aus_halbzeug = self.get_gui_data("aus_halbzeug_neu")
|
||||||
|
if aus_halbzeug:
|
||||||
|
data["Aus Halbzeug"] = "Ja"
|
||||||
|
|
||||||
|
|
||||||
|
# Halbzeugnummer
|
||||||
|
halbzeugnummer = self.get_gui_data("halbzeugnummer_neu")
|
||||||
|
if halbzeugnummer:
|
||||||
|
data["HalbzeugIntern"] = halbzeugnummer
|
||||||
|
|
||||||
|
# Halbzeuglänge
|
||||||
|
halbzeuglaenge = self.get_gui_data("halbzeuglaenge_neu")
|
||||||
|
if halbzeuglaenge:
|
||||||
|
data["Kopiertes_Teil_1_y_Skalierung"] = halbzeuglaenge
|
||||||
|
|
||||||
|
# Halbzeugoberfläche
|
||||||
|
halbzeugoberflaeche = self.get_gui_data("halbzeugoberflaeche_neu")
|
||||||
|
if halbzeuglaenge:
|
||||||
|
data["Oberflaechenbehandlung"] = halbzeugoberflaeche
|
||||||
|
|
||||||
|
# Halbzeugfarbe
|
||||||
|
farbe = self.get_gui_data("halbzeugoberflaeche_neu")
|
||||||
|
if halbzeuglaenge:
|
||||||
|
data["Farbe"] = farbe
|
||||||
|
|
||||||
|
|
||||||
# Bezeichnung 4
|
# Bezeichnung 4
|
||||||
bezeichnung4 = ""
|
bezeichnung4 = ""
|
||||||
if pdm_kategorie_neu == "Baugruppe" or pdm_kategorie_neu == "Schweissbaugruppe":
|
if pdm_kategorie_neu == "Baugruppe" or pdm_kategorie_neu == "Schweissbaugruppe":
|
||||||
@@ -951,12 +1023,6 @@ class CadItem(DataModel):
|
|||||||
startrevision = self.get_content('aenderungsindex_sivas', 'aenderungsindex_neu')
|
startrevision = self.get_content('aenderungsindex_sivas', 'aenderungsindex_neu')
|
||||||
data["StartRevision"] = startrevision
|
data["StartRevision"] = startrevision
|
||||||
|
|
||||||
# aus Halbzeug
|
|
||||||
aus_halbzeug = self.get_gui_data("aus_halbzeug_neu")
|
|
||||||
if aus_halbzeug:
|
|
||||||
data["Aus Halbzeug"] = "Ja"
|
|
||||||
else:
|
|
||||||
data["Aus Halbzeug"] = ""
|
|
||||||
|
|
||||||
# Fertigungsart
|
# Fertigungsart
|
||||||
fertigungsart = self.get_content('fertigungsart_sivas', 'fertigungsart_neu')
|
fertigungsart = self.get_content('fertigungsart_sivas', 'fertigungsart_neu')
|
||||||
@@ -976,7 +1042,10 @@ class CadItem(DataModel):
|
|||||||
"ST - stanzen":"stanzen",
|
"ST - stanzen":"stanzen",
|
||||||
"SW - schweißen":"schweißen",
|
"SW - schweißen":"schweißen",
|
||||||
}
|
}
|
||||||
|
if fertigungsart is not None:
|
||||||
data["Fertigungsart"] = trans[fertigungsart]
|
data["Fertigungsart"] = trans[fertigungsart]
|
||||||
|
else:
|
||||||
|
data["Fertigungsart"] = ""
|
||||||
|
|
||||||
# FOS Gruppe
|
# FOS Gruppe
|
||||||
fos_gruppe = self.get_content('fosGruppe_sivas', 'fosGruppe_neu')
|
fos_gruppe = self.get_content('fosGruppe_sivas', 'fosGruppe_neu')
|
||||||
@@ -1038,6 +1107,16 @@ class CadItem(DataModel):
|
|||||||
data["Dispogruppe"] = trans[dispogruppe]
|
data["Dispogruppe"] = trans[dispogruppe]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# # Hersteller
|
||||||
|
# hersteller = self.get_content('hersteller_sivas', 'hersteller_neu')
|
||||||
|
# data['Hersteller'] = hersteller
|
||||||
|
|
||||||
|
# # HerstellerTeilenummer
|
||||||
|
# herstellertnr = self.get_content('herstteilenr_sivas', 'herstteilenr_neu')
|
||||||
|
# data['HerstellerTeilenummer'] = herstellertnr
|
||||||
|
|
||||||
|
|
||||||
# Dispolaufgruppe
|
# Dispolaufgruppe
|
||||||
dispolaufgruppe = self.get_content('dispolaufgruppe_sivas', 'dispolaufgruppe_neu')
|
dispolaufgruppe = self.get_content('dispolaufgruppe_sivas', 'dispolaufgruppe_neu')
|
||||||
trans = {
|
trans = {
|
||||||
@@ -1552,11 +1631,14 @@ class GuiLogic():
|
|||||||
ret = dict()
|
ret = dict()
|
||||||
pdm_kategorie_neu = self._model.get_gui_data("pdm_kategorie_neu")
|
pdm_kategorie_neu = self._model.get_gui_data("pdm_kategorie_neu")
|
||||||
|
|
||||||
|
|
||||||
|
# status setzen
|
||||||
if pdm_kategorie_neu == "Kaufteil" or pdm_kategorie_neu == "Schweissbaugruppe":
|
if pdm_kategorie_neu == "Kaufteil" or pdm_kategorie_neu == "Schweissbaugruppe":
|
||||||
self.set_state('cb_fertigungsart_neu', 'disabled')
|
self.set_state('cb_fertigungsart_neu', 'disabled')
|
||||||
else:
|
else:
|
||||||
self.set_state('cb_fertigungsart_neu', 'readonly')
|
self.set_state('cb_fertigungsart_neu', 'readonly')
|
||||||
|
|
||||||
|
# Werte der Combobox setzen
|
||||||
if pdm_kategorie_neu == "Baugruppe":
|
if pdm_kategorie_neu == "Baugruppe":
|
||||||
cblist = self._config.Fertigung.get_list_in_section("FertigungsartenBaugruppe")
|
cblist = self._config.Fertigung.get_list_in_section("FertigungsartenBaugruppe")
|
||||||
ret['cb_fertigungsart_neu'] = cblist
|
ret['cb_fertigungsart_neu'] = cblist
|
||||||
@@ -1567,8 +1649,15 @@ class GuiLogic():
|
|||||||
else:
|
else:
|
||||||
ret['cb_fertigungsart_neu'] = ''
|
ret['cb_fertigungsart_neu'] = ''
|
||||||
|
|
||||||
|
# default setzen
|
||||||
if selected is None:
|
if selected is None:
|
||||||
ret['fertigungsart_neu'] = ''
|
ret['fertigungsart_neu'] = ''
|
||||||
|
fertigung_sivas = self._model.get_gui_data("fertigungsart_sivas")
|
||||||
|
if pdm_kategorie_neu == "Schweissbaugruppe":
|
||||||
|
if fertigung_sivas == "":
|
||||||
|
ret['fertigungsart_neu'] = 'SW - schweißen'
|
||||||
|
elif fertigung_sivas != "schweißen":
|
||||||
|
ret['fertigungsart_neu'] = 'SW - schweißen'
|
||||||
else:
|
else:
|
||||||
ret['fertigungsart_neu'] = selected
|
ret['fertigungsart_neu'] = selected
|
||||||
return ret
|
return ret
|
||||||
@@ -1682,10 +1771,10 @@ class GuiLogic():
|
|||||||
fos_gruppe = self._model.get_gui_data("fosGruppe_sivas")
|
fos_gruppe = self._model.get_gui_data("fosGruppe_sivas")
|
||||||
|
|
||||||
ret['fosGruppe_neu'] = ''
|
ret['fosGruppe_neu'] = ''
|
||||||
self.set_state('cb_fosGruppe_neu', 'readonly')
|
self.set_state('cb_fosGruppe_neu', 'disabled')
|
||||||
if pdm_kategorie_neu == "Kaufteil":
|
if pdm_kategorie_neu == "Kaufteil":
|
||||||
cblist = self._config.Allgemein.get_options("FOS_Gruppe")
|
cblist = self._config.Allgemein.get_options("FOS_Gruppe")
|
||||||
self.set_state('cb_fosGruppe_neu', 'disabled')
|
self.set_state('cb_fosGruppe_neu', 'readonly')
|
||||||
elif pdm_kategorie_neu == "Baugruppe" or pdm_kategorie_neu == "Schweissbaugruppe":
|
elif pdm_kategorie_neu == "Baugruppe" or pdm_kategorie_neu == "Schweissbaugruppe":
|
||||||
cblist = ['1 - Baugruppe']
|
cblist = ['1 - Baugruppe']
|
||||||
elif pdm_kategorie_neu == "Einzelteil":
|
elif pdm_kategorie_neu == "Einzelteil":
|
||||||
|
|||||||
+23
-1
@@ -57,7 +57,7 @@ class TreeView():
|
|||||||
# hier Anzahl der sichtbaren Zeilen des Baums angeben:
|
# hier Anzahl der sichtbaren Zeilen des Baums angeben:
|
||||||
self.tree = ttk.Treeview(frame, height=65)
|
self.tree = ttk.Treeview(frame, height=65)
|
||||||
# TODO hier anstatt root die Statistik rein schreiben.
|
# TODO hier anstatt root die Statistik rein schreiben.
|
||||||
self.tree.heading('#0', text='root', anchor=tk.W)
|
#self.tree.heading('#0', text='root', anchor=tk.W)
|
||||||
self.tree.grid(row=nrow, column=0, sticky=tk.NSEW)
|
self.tree.grid(row=nrow, column=0, sticky=tk.NSEW)
|
||||||
|
|
||||||
# add a scrollbar
|
# add a scrollbar
|
||||||
@@ -70,11 +70,32 @@ class TreeView():
|
|||||||
|
|
||||||
self.trid2sivasId = dict()
|
self.trid2sivasId = dict()
|
||||||
|
|
||||||
|
def set_heading_text(self, parent_children_mapping, red_ids):
|
||||||
|
done_items = set()
|
||||||
|
undone_items = set()
|
||||||
|
for parent,children in parent_children_mapping.items():
|
||||||
|
if parent in red_ids:
|
||||||
|
undone_items.add(parent)
|
||||||
|
else:
|
||||||
|
done_items.add(parent)
|
||||||
|
for c in children:
|
||||||
|
if c in red_ids:
|
||||||
|
undone_items.add(c)
|
||||||
|
else:
|
||||||
|
done_items.add(c)
|
||||||
|
num_done = len(done_items)
|
||||||
|
num_undone = len(undone_items)
|
||||||
|
percentage = round(num_done / (num_done + num_undone) * 100, 1)
|
||||||
|
heading = "{percent}% ({done} ✔, {undone} ☐)".format(percent=percentage, done=num_done, undone=num_undone)
|
||||||
|
self.tree.heading('#0', text=heading, anchor=tk.W)
|
||||||
|
|
||||||
|
|
||||||
def set_controller(self, controller):
|
def set_controller(self, controller):
|
||||||
self._controller = controller
|
self._controller = controller
|
||||||
|
|
||||||
def refresh(self, parent_children_mapping, red_ids, orange_ids):
|
def refresh(self, parent_children_mapping, red_ids, orange_ids):
|
||||||
self.clear()
|
self.clear()
|
||||||
|
self.set_heading_text(parent_children_mapping, red_ids)
|
||||||
self.create(parent_children_mapping, red_ids, orange_ids)
|
self.create(parent_children_mapping, red_ids, orange_ids)
|
||||||
|
|
||||||
def clear(self):
|
def clear(self):
|
||||||
@@ -90,6 +111,7 @@ class TreeView():
|
|||||||
|
|
||||||
def create(self, parent_children_mapping, red_ids, orange_ids):
|
def create(self, parent_children_mapping, red_ids, orange_ids):
|
||||||
pool = dict()
|
pool = dict()
|
||||||
|
self.set_heading_text(parent_children_mapping, red_ids)
|
||||||
for parent, children in parent_children_mapping.items():
|
for parent, children in parent_children_mapping.items():
|
||||||
# parent erzeugen, falls es diese nicht schon gibt (check der pool ids)
|
# parent erzeugen, falls es diese nicht schon gibt (check der pool ids)
|
||||||
if parent not in pool:
|
if parent not in pool:
|
||||||
|
|||||||
Reference in New Issue
Block a user