diverse Ergänzungen in den Abhängikeiten der Callbackfunktionen. Strings der Fertigungsarten haben Kürzel. Callback der fos Gruppe geändert
This commit is contained in:
+123
-94
@@ -55,12 +55,12 @@ class CadItem(DataModel):
|
||||
"Freigabevermerk", "ZusaetzlicheInformationen"]
|
||||
|
||||
gui_data_keys = [
|
||||
# Felder der Oberfläche um etwas einzugeben
|
||||
"asm_id",
|
||||
"teilenummer",
|
||||
"datenbank",
|
||||
# Felder der Oberfläche um etwas einzugeben oberflaeche_neu
|
||||
"asm_id",
|
||||
"teilenummer",
|
||||
"datenbank",
|
||||
"pdm_kategorie_neu",
|
||||
"neuaufbau",
|
||||
"neuaufbau",
|
||||
"aus_halbzeug_neu",
|
||||
"halbzeugnummer_neu",
|
||||
"halbzeuglaenge_neu",
|
||||
@@ -174,6 +174,11 @@ class CadItem(DataModel):
|
||||
self._controller = None
|
||||
self._logic = None
|
||||
|
||||
def clear(self):
|
||||
self._data = {}
|
||||
self._gui_data = {}
|
||||
self._read_only_items = {}
|
||||
|
||||
def add_logic(self, logic):
|
||||
self._logic = logic
|
||||
|
||||
@@ -280,9 +285,8 @@ class CadItem(DataModel):
|
||||
if "tosgruppe_sivas" in translated_data:
|
||||
text = translated_data["tosgruppe_sivas"]
|
||||
if text =="":
|
||||
translated_data["beschaffungsart_neu"] = "6"
|
||||
else:
|
||||
translated_data["beschaffungsart_neu"] = ""
|
||||
translated_data["tosgruppe_neu"] = "6"
|
||||
|
||||
|
||||
# Spezial Freigabevermerk
|
||||
if "freigabevermerk_sivas" in translated_data:
|
||||
@@ -438,76 +442,83 @@ class CadItem(DataModel):
|
||||
def check(self):
|
||||
self.check_pflichtfelder()
|
||||
|
||||
def check_key_existence(self, key, missing):
|
||||
if not self.get_gui_data(key):
|
||||
missing.append(key)
|
||||
|
||||
def check_key_both_columns(self, key_sivas, key_neu, missing):
|
||||
if not self.get_gui_data(key_sivas):
|
||||
if not self.get_gui_data(key_neu):
|
||||
missing.append(key_sivas)
|
||||
missing.append(key_neu)
|
||||
|
||||
def check_pflichtfelder(self):
|
||||
# Datenbank
|
||||
# Pflichtfeld: Ja, immer
|
||||
"""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
|
||||
"""
|
||||
|
||||
missing = list()
|
||||
# Teilenummer
|
||||
# Pflichtfeld: Ja, immer
|
||||
self.check_key_existence("teilenummer", missing)
|
||||
# Datenbank
|
||||
# Pflichtfeld: Ja, immer
|
||||
self.check_key_existence("datenbank", missing)
|
||||
# PDM-Kategorie
|
||||
# Pflichtfeld: Ja, immer
|
||||
self.check_key_existence("pdm_kategorie_neu", missing)
|
||||
|
||||
# Halbzeugfarbe
|
||||
# Logik, die steuert, wann es sich um ein Pflichtfeld handelt:
|
||||
# IF Halbzeugoberfläche == "eloxieren" OR "lackieren" OR "pulverbeschichten":
|
||||
# Pflichtfeld = True
|
||||
# ELSE:
|
||||
# Pflichtfeld = False
|
||||
hblzeug_oberfläche = self.get_gui_data("oberflaeche_neu")
|
||||
if hblzeug_oberfläche == "eloxieren" or hblzeug_oberfläche == "lackieren" or hblzeug_oberfläche == "pulverbeschichten":
|
||||
if not self.get_gui_data("halbzeugfarbe_neu"):
|
||||
missing.append("halbzeugfarbe_neu")
|
||||
|
||||
# Lebenszyklusstatus
|
||||
# Pflichtfeld: Ja, immer
|
||||
self.check_key_existence("lebenszyklus_status_neu", missing)
|
||||
|
||||
# 3D-Modell
|
||||
# Pflichtfeld: Ja, immer
|
||||
self.check_key_existence("model3d_neu", missing)
|
||||
# Bezeichnung 1
|
||||
# Pflichtfeld: Ja, immer
|
||||
# Bezeichnung 2
|
||||
# Pflichtfeld: Nein
|
||||
self.check_key_both_columns("bezeichnung1_sivas", "bezeichnung1_neu", missing)
|
||||
# Halbzeug ohne Sägeliste
|
||||
# Pflichtfeld: Ja, immer
|
||||
self.check_key_both_columns("halbzeugOhneSaege_sivas", "halbzeugOhneSaege_neu", missing)
|
||||
# Rüstcode
|
||||
# Pflichtfeld: Ja, immer
|
||||
self.check_key_both_columns("ruestcode_sivas", "ruestcode_neu", missing)
|
||||
|
||||
pdm_kategorie_neu = self.get_gui_data("pdm_kategorie_neu")
|
||||
# Fertigungsart
|
||||
# Logik, die steuert, wann es sich um ein Pflichtfeld handelt:
|
||||
# IF PDM-Kategorie == "Einzelteil" OR "Schweissbaugruppe":
|
||||
# Pflichtfeld = True
|
||||
# ELSE IF PDM-Kategorie == "Baugruppe" OR "Kaufteil":
|
||||
# Pflichtfeld = False
|
||||
if pdm_kategorie_neu == "Einzelteil" or pdm_kategorie_neu == "Schweissbaugruppe":
|
||||
self.check_key_existence("fertigungsart_neu", missing)
|
||||
|
||||
# Allgemeintoleranz
|
||||
# Logik, die steuert, wann es sich um ein Pflichtfeld handelt:
|
||||
self.check_key_both_columns("allgemeintoleranz_sivas", "allgemeintoleranz_neu", missing)
|
||||
# FOS-Gruppe
|
||||
# Pflichtfeld: Ja, immer
|
||||
self.check_key_both_columns("fosGruppe_sivas", "fosGruppe_neu", missing)
|
||||
# Kalkulationsart
|
||||
# Pflichtfeld: Ja, immer
|
||||
self.check_key_both_columns("kalkulationsart_sivas", "kalkulationsart_neu", missing)
|
||||
# Beschaffungsart
|
||||
# Pflichtfeld: Ja, immer
|
||||
self.check_key_both_columns("beschaffungsart_sivas", "beschaffungsart_neu", missing)
|
||||
# Mengeneinheit
|
||||
# Pflichtfeld: Ja, immer
|
||||
self.check_key_both_columns("mengeneinheit_sivas", "mengeneinheit_neu", missing)
|
||||
# Halbzeug
|
||||
# Pflichtfeld: Ja, immer
|
||||
self.check_key_both_columns("halbzeug_sivas", "halbzeug_neu", missing)
|
||||
# TOS-Gruppe
|
||||
# Pflichtfeld: Ja, immer
|
||||
self.check_key_both_columns("tosgruppe_sivas", "tosgruppe_neu", missing)
|
||||
# Dispogruppe
|
||||
# Pflichtfeld: Ja, immer
|
||||
self.check_key_both_columns("dispogruppe_sivas", "dispogruppe_neu", missing)
|
||||
# Dispolaufgruppe
|
||||
# Pflichtfeld: Ja, immer
|
||||
# Werkstoffdiskrepanz
|
||||
# Pflichtfeld: Nein
|
||||
self.check_key_both_columns("dispolaufgruppe_sivas", "dispolaufgruppe_neu", missing)
|
||||
|
||||
# Pflichtfeld (in welchen Fällen ist es ein Pflichtfeld, in welchen nicht)
|
||||
# IF Aus Halbzeug == True (Haken gesetzt):
|
||||
# Pflichtfeld = False
|
||||
# ELSE:
|
||||
# Pflichtfeld = True
|
||||
# Werkstofftyp
|
||||
aus_halbzeug = self.get_gui_data("aus_halbzeug_neu")
|
||||
if aus_halbzeug is False:
|
||||
self.check_key_both_columns("werkstofftyp_sivas", "werkstofftyp_neu", missing)
|
||||
|
||||
# Pflichtfeld (in welchen Fällen ist es ein Pflichtfeld, in welchen nicht)
|
||||
# Änderungstext
|
||||
# Pflichtfeld: Ja, immer
|
||||
self.check_key_both_columns("aenderungstext_sivas", "aenderungstext_neu", missing)
|
||||
# Freigabevermerk
|
||||
# Pflichtfeld: Ja, immer
|
||||
self.check_key_both_columns("freigabevermerk_sivas", "freigabevermerk_neu", missing)
|
||||
# Automatische Zusatzinformationen
|
||||
# Pflichtfeld: Nein
|
||||
# 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
|
||||
pass
|
||||
self.check_key_existence("zusatzinfos_auto_text", missing)
|
||||
return missing
|
||||
|
||||
class CadItemRepository:
|
||||
"""
|
||||
@@ -559,7 +570,9 @@ class GuiLogic():
|
||||
self.call_and_set_data('cb_pdm_kategorie_neu')
|
||||
self.call_and_set_data('cb_aus_halbzeug_neu')
|
||||
self.call_and_set_data('cb_ruestcode_neu')
|
||||
# self.call_and_set_data('cb_lebenszyklus_status_neu')
|
||||
self.call_and_set_data('cb_lebenszyklus_status_neu')
|
||||
self.call_and_set_data('cb_fosGruppe_neu')
|
||||
|
||||
# self.call_and_set_data('cb_3Dmodel_neu')
|
||||
|
||||
def call_and_set_data(self, callbackfunc):
|
||||
@@ -649,9 +662,7 @@ class GuiLogic():
|
||||
elif key == 'cb_ruestcode_neu':
|
||||
ret = [ 'cb_halbzeugOhneSaege_neu', 'cb_mengeneinheit_neu', 'cb_halbzeug_neu']
|
||||
elif key == 'cb_fertigungsart_neu':
|
||||
ret = []
|
||||
elif key == 'cb_allgemeintoleranz_neu':
|
||||
ret = ['cb_fertigungsart_neu']
|
||||
ret = ['cb_allgemeintoleranz_neu']
|
||||
elif key == 'cb_fosGruppe_neu':
|
||||
ret = []
|
||||
elif key == 'cb_kalkulationsart_neu':
|
||||
@@ -671,9 +682,9 @@ class GuiLogic():
|
||||
elif key == 'cb_werkstoffdiskrepanz':
|
||||
ret = []
|
||||
elif key == 'cb_werkstofftyp_neu':
|
||||
ret = []
|
||||
ret = ['cb_material_neu']
|
||||
elif key == 'cb_material_neu':
|
||||
ret = []
|
||||
ret = ['cb_oberflaeche_neu']
|
||||
elif key == 'cb_oberflaeche_neu':
|
||||
ret = ['cb_farbe_neu']
|
||||
elif key == 'cb_farbe_neu':
|
||||
@@ -935,8 +946,8 @@ class GuiLogic():
|
||||
if selected is None:
|
||||
# Default Vorbelegung
|
||||
default = ''
|
||||
if fertigungsart_sivas == '' or fertigungsart_sivas != "schweissen":
|
||||
default = "schweissen"
|
||||
if fertigungsart_sivas == '' or fertigungsart_sivas != "SW - schweißen":
|
||||
default = "SW - schweißen"
|
||||
else:
|
||||
default = ""
|
||||
ret['fertigungsart_neu'] = default
|
||||
@@ -956,31 +967,31 @@ class GuiLogic():
|
||||
elif pdm_kategorie_neu == "Kaufteil" or pdm_kategorie_neu == "Schweissbaugruppe":
|
||||
cblist = None
|
||||
if pdm_kategorie_neu == "Einzelteil":
|
||||
if fertigungsart == "3D-drucken":
|
||||
if fertigungsart == "3D - 3D drucken":
|
||||
section = "Allgemeintoleranz3DDruck"
|
||||
elif fertigungsart == "biegen":
|
||||
elif fertigungsart == "BI - biegen":
|
||||
section = "AllgemeintoleranzSpanen"
|
||||
elif fertigungsart == "drehen":
|
||||
elif fertigungsart == "DR - drehen":
|
||||
section = "AllgemeintoleranzSpanen"
|
||||
elif fertigungsart == "extrudieren":
|
||||
elif fertigungsart == "EX - extrudieren":
|
||||
section = "AllgemeintoleranzExtrudieren"
|
||||
elif fertigungsart == "fräsen":
|
||||
elif fertigungsart == "FR - fräsen":
|
||||
section = "AllgemeintoleranzSpanen"
|
||||
elif fertigungsart == "gießen":
|
||||
elif fertigungsart == "GI - gießen":
|
||||
section = "AllgemeintoleranzGiessen"
|
||||
elif fertigungsart == "laser-/wasserstrahlschneiden":
|
||||
elif fertigungsart == "LW - laser- und wasserstrahlschneiden":
|
||||
section = "AllgemeintoleranzSpanen"
|
||||
elif fertigungsart == "verpressen":
|
||||
elif fertigungsart == "PR - verpressen":
|
||||
section = "AllgemeintoleranzVerpressen"
|
||||
elif fertigungsart == "sägen":
|
||||
elif fertigungsart == "SA - sägen":
|
||||
section = "AllgemeintoleranzSpanen"
|
||||
elif fertigungsart == "strangpressen":
|
||||
elif fertigungsart == "SN - strangpressen":
|
||||
section = "AllgemeintoleranzStrangpressen"
|
||||
elif fertigungsart == "spritzgießen":
|
||||
elif fertigungsart == "SP - spritzgießen":
|
||||
section = "AllgemeintoleranzSpritzgiessen"
|
||||
elif fertigungsart == "stanzen":
|
||||
elif fertigungsart == "ST - stanzen":
|
||||
section = "AllgemeintoleranzStanzen"
|
||||
elif fertigungsart == "schweissen":
|
||||
elif fertigungsart == "SW - schweißen":
|
||||
section = "AllgemeintoleranzSchweissen"
|
||||
else:
|
||||
raise Exception("no such fertigungsart "+ fertigungsart)
|
||||
@@ -996,38 +1007,38 @@ class GuiLogic():
|
||||
elif pdm_kategorie_neu == "Schweissbaugruppe":
|
||||
default = "EN ISO 13920-BF"
|
||||
else:
|
||||
if fertigungsart == "3D-drucken":
|
||||
if fertigungsart == "3D - 3D-drucken":
|
||||
default = "ISO 2768:1991-mK"
|
||||
elif fertigungsart == "biegen":
|
||||
elif fertigungsart == "BI - biegen":
|
||||
default = "ISO 2768:1991-mK"
|
||||
elif fertigungsart == "drehen":
|
||||
elif fertigungsart == "DR - drehen":
|
||||
default = "ISO 2768:1991-mK"
|
||||
elif fertigungsart == "extrudieren":
|
||||
elif fertigungsart == "EX - extrudieren":
|
||||
default = "DIN 16941 - 3A"
|
||||
elif fertigungsart == "fräsen":
|
||||
elif fertigungsart == "FR - fräsen":
|
||||
default = "ISO 2768:1991-mK"
|
||||
elif fertigungsart == "gießen":
|
||||
elif fertigungsart == "GI - gießen":
|
||||
default = "ISO 8062-3 - DCTG 10"
|
||||
elif fertigungsart == "laser-/wasserstrahlschneiden":
|
||||
elif fertigungsart == "LW - laser-/wasserstrahlschneiden":
|
||||
default = "ISO 2768:1991-mK"
|
||||
elif fertigungsart == "verpressen":
|
||||
elif fertigungsart == "PR - verpressen":
|
||||
default = "ISO 2768:1991-mK"
|
||||
elif fertigungsart == "sägen":
|
||||
elif fertigungsart == "SA - sägen":
|
||||
default = "ISO 2768:1991-mK"
|
||||
elif fertigungsart == "strangpressen":
|
||||
elif fertigungsart == "SN - strangpressen":
|
||||
default = "EN 12020-2"
|
||||
elif fertigungsart == "spritzgießen":
|
||||
elif fertigungsart == "SP - spritzgießen":
|
||||
default = "ISO 20457 - TG5"
|
||||
elif fertigungsart == "stanzen":
|
||||
elif fertigungsart == "ST - stanzen":
|
||||
default = "DIN 6930-2 - m"
|
||||
elif fertigungsart == "schweissen":
|
||||
elif fertigungsart == "SW - schweißen":
|
||||
# TODO
|
||||
default = ""
|
||||
else:
|
||||
raise Exception("no such fertigungsart "+ fertigungsart)
|
||||
ret['fertigungsart_neu'] = default
|
||||
ret['allgemeintoleranz_neu'] = default
|
||||
else:
|
||||
ret['fertigungsart_neu'] = selected
|
||||
ret['allgemeintoleranz_neu'] = selected
|
||||
|
||||
return ret
|
||||
|
||||
@@ -1039,6 +1050,10 @@ class GuiLogic():
|
||||
ret['fosGruppe_neu'] = ''
|
||||
if pdm_kategorie_neu == "Kaufteil":
|
||||
cblist = self._config.Allgemein.get_options("FOS_Gruppe")
|
||||
elif pdm_kategorie_neu == "Baugruppe" or pdm_kategorie_neu == "Schweissbaugruppe":
|
||||
cblist = ['1 - Baugruppe']
|
||||
elif pdm_kategorie_neu == "Einzelteil":
|
||||
cblist = ['0 - Einzelteil']
|
||||
else:
|
||||
cblist = None
|
||||
ret['cb_fosGruppe_neu'] = cblist
|
||||
@@ -1046,15 +1061,29 @@ class GuiLogic():
|
||||
if selected is None:
|
||||
# Default Vorbelegung
|
||||
default = ''
|
||||
if pdm_kategorie_neu == "Baugruppe":
|
||||
if fos_gruppe == "0 - Einzelteil" or fos_gruppe == "":
|
||||
if fos_gruppe == None:
|
||||
if pdm_kategorie_neu == "Baugruppe" or pdm_kategorie_neu == "Schweissbaugruppe":
|
||||
default = "1 - Baugruppe"
|
||||
else:
|
||||
if fos_gruppe == "1 - Baugruppe" or fos_gruppe == "":
|
||||
elif pdm_kategorie_neu == "Einzelteil":
|
||||
default = "0 - Einzelteil"
|
||||
elif pdm_kategorie_neu == "Kaufteil":
|
||||
default = cblist[0]
|
||||
ret['fosGruppe_neu'] = default
|
||||
else:
|
||||
ret['fosGruppe_neu'] = selected
|
||||
|
||||
# if selected is None:
|
||||
# # Default Vorbelegung
|
||||
# default = ''
|
||||
# if pdm_kategorie_neu == "Baugruppe":
|
||||
# if fos_gruppe == "0 - Einzelteil" or fos_gruppe == None:
|
||||
# default = "1 - Baugruppe"
|
||||
# else:
|
||||
# if fos_gruppe == "1 - Baugruppe" or fos_gruppe == None:
|
||||
# default = "0 - Einzelteil"
|
||||
# ret['fosGruppe_neu'] = default
|
||||
# else:
|
||||
# ret['fosGruppe_neu'] = selected
|
||||
return ret
|
||||
|
||||
def cb_kalkulationsart_neu(self, selected):
|
||||
@@ -1286,7 +1315,7 @@ class GuiLogic():
|
||||
default = mat['Message']
|
||||
else:
|
||||
# TODO beim migrieren die Meldung bringen
|
||||
self._model.message_info('Materialinformation', 'material_infos')
|
||||
#self._model.message_info('Materialinformation', 'material_infos')
|
||||
pass
|
||||
else:
|
||||
pass
|
||||
|
||||
Reference in New Issue
Block a user