Logik für Freigabevermerk und ZUsatzinfos implementiert
This commit is contained in:
+120
-26
@@ -185,6 +185,7 @@ class CadItem(DataModel):
|
||||
self._read_only_items = {}
|
||||
if self._logic:
|
||||
self._logic.clear_states()
|
||||
self._logic.clear_configurations()
|
||||
|
||||
def add_logic(self, logic):
|
||||
self._logic = logic
|
||||
@@ -281,19 +282,42 @@ class CadItem(DataModel):
|
||||
def get_all_gui_data(self):
|
||||
return self._gui_data
|
||||
|
||||
def _transform_content_from_csv(self, translated_data):
|
||||
def _transform_content_from_csv(self, translated_data, author=None):
|
||||
""""baut die Texte aus der csv Datei nach dem Einladen um"""
|
||||
# Änderungstext sollte Author enthalten wenn einer gegeben ist
|
||||
if 'aenderungstext_sivas' in translated_data:
|
||||
text= translated_data["aenderungstext_sivas"]
|
||||
text_neu = None
|
||||
# semikolon müssen rausfliegen
|
||||
if re.search(';', text):
|
||||
text_neu = re.sub(r"\s*;\s*", " /", text, flags=re.I)
|
||||
if author:
|
||||
if text_neu:
|
||||
text_neu = '{aenderungstext} (von {author})'.format(aenderungstext=text_neu, author=author)
|
||||
else:
|
||||
text_neu = '{aenderungstext} (von {author})'.format(aenderungstext=text, author=author)
|
||||
if text_neu:
|
||||
translated_data["aenderungstext_neu"] = text_neu
|
||||
else:
|
||||
pass
|
||||
else:
|
||||
default = "Erstanlage"
|
||||
if author:
|
||||
default = 'Erstanlage (von {author})'.format(author=author)
|
||||
translated_data["aenderungstext_neu"] = default
|
||||
|
||||
# Spezial: Abkürzungen .kpl rausschmeissen. Text eventuell kürzen
|
||||
if "bezeichnung1_sivas" in translated_data:
|
||||
text = translated_data["bezeichnung1_sivas"]
|
||||
translated_data["bezeichnung1_sivas"] = re.sub(r"\s+kpl[.|\s]", "", text, flags=re.I)
|
||||
translated_data["bezeichnung1_neu"] = re.sub(r"\s+kpl[.|\s]", "", text, flags=re.I)
|
||||
|
||||
# Spezial Halbzeug ohne Sägeliste
|
||||
if "halbzeugOhneSaege_sivas" in translated_data:
|
||||
text = translated_data["halbzeugOhneSaege_sivas"]
|
||||
if text =="N":
|
||||
translated_data["halbzeugOhneSaege_sivas"] = "Sägeliste benötigt"
|
||||
translated_data["halbzeugOhneSaege_neu"] = "Sägeliste benötigt"
|
||||
else:
|
||||
translated_data["halbzeugOhneSaege_sivas"] = "Sägeliste nicht benötigt"
|
||||
translated_data["halbzeugOhneSaege_neu"] = "Sägeliste nicht benötigt"
|
||||
|
||||
# Spezial Beschaffungsart
|
||||
if "beschaffungsart_sivas" in translated_data:
|
||||
@@ -311,13 +335,23 @@ class CadItem(DataModel):
|
||||
# Spezial Freigabevermerk
|
||||
if "freigabevermerk_sivas" in translated_data:
|
||||
text = translated_data["freigabevermerk_sivas"]
|
||||
translated_data["freigabevermerk_sivas"] = re.sub(r";", " /", text, flags=re.I)
|
||||
|
||||
if re.search(';', text):
|
||||
translated_data["freigabevermerk_neu"] = re.sub(r"\s*;\s*", " /", text, flags=re.I)
|
||||
|
||||
# Spezial Hersteller: aus "80312 - Rehau AG & Co." wird "Rehau AG & Co."
|
||||
if "hersteller_sivas" in translated_data:
|
||||
text = translated_data["hersteller_sivas"]
|
||||
translated_data["hersteller_sivas"] = re.sub(r"^.*-\s+", "", text, flags=re.I)
|
||||
|
||||
if re.search(r"^.*-\s+", text):
|
||||
translated_data["hersteller_neu"] = re.sub(r"^.*-\s+", "", text, flags=re.I)
|
||||
|
||||
# Spezial Änderungsindex
|
||||
if "aenderungsindex_sivas" not in translated_data:
|
||||
translated_data["aenderungsindex_neu"] = 'A'
|
||||
elif "aenderungsindex_sivas" in translated_data:
|
||||
text = translated_data["aenderungsindex_sivas"]
|
||||
if text.islower():
|
||||
translated_data["aenderungsindex_neu"] = text.upper()
|
||||
|
||||
return translated_data
|
||||
|
||||
|
||||
@@ -328,21 +362,12 @@ class CadItem(DataModel):
|
||||
translated_data[self.excel_to_gui[k]] = v
|
||||
|
||||
# Spezial: Befüllung von Änderungstext mit dem Author, falls in der .csv vorhanden
|
||||
# Indexerfasser wird nicht in der gui verwaltet. Deshalb Modifikation aus den Rohdaten
|
||||
author = None
|
||||
if "Indexerfasser" in data:
|
||||
author = data["Indexerfasser"]
|
||||
if "Aenderungstext" in data:
|
||||
if author:
|
||||
translated_data["aenderungstext_sivas"] = '{aenderungstext} (von {author})'.format(aenderungstext=data["Aenderungstext"], author=author)
|
||||
# Indexerfasser wird nicht in der gui verwaltet. Deshalb Modifikation aus den Rohdate
|
||||
else:
|
||||
translated_data["aenderungstext_sivas"] = data["Aenderungstext"]
|
||||
else:
|
||||
default = "Erstanlage"
|
||||
if author:
|
||||
default = 'Erstanlage (von {author})'.format(author=author)
|
||||
translated_data["aenderungstext_sivas"] = default
|
||||
|
||||
translated_data = self._transform_content_from_csv(translated_data)
|
||||
translated_data = self._transform_content_from_csv(translated_data, author)
|
||||
return translated_data
|
||||
|
||||
def get_child_of_id(self, sivasId):
|
||||
@@ -598,7 +623,7 @@ class GuiLogic():
|
||||
# hier holt man die Daten der Configs
|
||||
self._config = configs
|
||||
# hier werden die Zustände gespeichert
|
||||
self._states = dict()
|
||||
self._states = dict() # comboboxen disabled/enabled
|
||||
|
||||
def clear_states(self):
|
||||
self._states = dict()
|
||||
@@ -607,6 +632,7 @@ class GuiLogic():
|
||||
def set_state(self, key, val):
|
||||
""" merkt sich den status wie 'readonly' etc für dieses item in der GUI"""
|
||||
self._states[key] = val
|
||||
|
||||
|
||||
def set_gui_defaults(self):
|
||||
# set defaults from given logic
|
||||
@@ -680,6 +706,10 @@ class GuiLogic():
|
||||
ret = self.cb_halbzeugnummer(value)
|
||||
elif key == 'cb_halbzeuglaenge':
|
||||
ret = self.cb_halbzeuglaenge(value)
|
||||
elif key == 'cb_freigabevermerk':
|
||||
ret = self.cb_freigabevermerk(value)
|
||||
elif key == 'cb_zusatzinfos_auto_text':
|
||||
ret = self.cb_zusatzinfos_auto_text(value)
|
||||
else:
|
||||
raise Exception("this callback does not exist "+key)
|
||||
return ret
|
||||
@@ -693,7 +723,7 @@ class GuiLogic():
|
||||
ret = ['cb_neuaufbau', 'cb_aus_halbzeug_neu', 'cb_3Dmodel_neu', 'cb_halbzeugOhneSaege_neu', 'cb_ruestcode_neu',
|
||||
'cb_fertigungsart_neu', 'cb_allgemeintoleranz_neu', 'cb_fosGruppe_neu', 'cb_kalkulationsart_neu', 'cb_beschaffungsart_neu',
|
||||
'cb_mengeneinheit_neu', 'cb_halbzeug_neu', 'cb_dispogruppe_neu', 'cb_dispolaufgruppe_neu', 'cb_hersteller_neu', 'cb_werkstoffdiskrepanz',
|
||||
'cb_werkstofftyp_neu', 'cb_material_neu', 'cb_oberflaeche_neu', 'cb_farbe_neu', 'cb_herstteilenr_neu']
|
||||
'cb_werkstofftyp_neu', 'cb_material_neu', 'cb_oberflaeche_neu', 'cb_farbe_neu', 'cb_herstteilenr_neu', 'cb_freigabevermerk']
|
||||
elif key == 'cb_neuaufbau':
|
||||
ret = []
|
||||
elif key == 'cb_aus_halbzeug_neu':
|
||||
@@ -709,9 +739,11 @@ class GuiLogic():
|
||||
elif key == 'cb_halbzeugOhneSaege_neu':
|
||||
ret = []
|
||||
elif key == 'cb_ruestcode_neu':
|
||||
ret = [ 'cb_halbzeugOhneSaege_neu', 'cb_mengeneinheit_neu', 'cb_halbzeug_neu']
|
||||
ret = [ 'cb_halbzeugOhneSaege_neu', 'cb_mengeneinheit_neu', 'cb_halbzeug_neu', 'cb_zusatzinfos_auto_text']
|
||||
elif key == 'cb_fertigungsart_neu':
|
||||
ret = ['cb_allgemeintoleranz_neu']
|
||||
elif key == 'cb_allgemeintoleranz_neu':
|
||||
ret = []
|
||||
elif key == 'cb_fosGruppe_neu':
|
||||
ret = []
|
||||
elif key == 'cb_kalkulationsart_neu':
|
||||
@@ -729,7 +761,7 @@ class GuiLogic():
|
||||
elif key == 'cb_hersteller_neu':
|
||||
ret = []
|
||||
elif key == 'cb_werkstoffdiskrepanz':
|
||||
ret = []
|
||||
ret = ['cb_zusatzinfos_auto_text']
|
||||
elif key == 'cb_werkstofftyp_neu':
|
||||
ret = ['cb_material_neu']
|
||||
elif key == 'cb_material_neu':
|
||||
@@ -751,6 +783,10 @@ class GuiLogic():
|
||||
ret = []
|
||||
elif key == 'cb_3dsuchen':
|
||||
ret = []
|
||||
elif key == 'cb_freigabevermerk':
|
||||
ret = []
|
||||
elif key == 'cb_zusatzinfos_auto_text':
|
||||
ret = []
|
||||
else:
|
||||
raise Exception("this callback does not exist "+key)
|
||||
return ret
|
||||
@@ -842,7 +878,6 @@ class GuiLogic():
|
||||
else:
|
||||
self.set_state('halbzeuglaenge_neu', 'disabled')
|
||||
|
||||
|
||||
def cb_halbzeugoberflaeche(self, selected):
|
||||
ret = dict()
|
||||
aus_halbzeug = self._model.get_gui_data("aus_halbzeug_neu")
|
||||
@@ -1308,7 +1343,7 @@ class GuiLogic():
|
||||
|
||||
def cb_halbzeug_neu(self, selected):
|
||||
ret = dict()
|
||||
pdm_kategorie_neu = self._model.get_gui_data("pdm_kategorie_neu")
|
||||
|
||||
rcode = self._model.get_gui_data("ruestcode_sivas")
|
||||
halbzeug = self._model.get_gui_data("halbzeug_sivas")
|
||||
|
||||
@@ -1616,6 +1651,65 @@ class GuiLogic():
|
||||
|
||||
return ret
|
||||
|
||||
def cb_freigabevermerk(self, selected):
|
||||
ret = dict()
|
||||
pdm_kategorie_neu = self._model.get_gui_data("pdm_kategorie_neu")
|
||||
version_sivas = str(self._model.get_gui_data("version_sivas"))
|
||||
freigabe_sivas = self._model.get_gui_data("freigabevermerk_sivas")
|
||||
|
||||
if selected is None:
|
||||
# Default Vorbelegung
|
||||
default = ''
|
||||
if freigabe_sivas is None:
|
||||
if pdm_kategorie_neu == "Kaufteil":
|
||||
pass
|
||||
else:
|
||||
if re.findall(r'(\d{6})', version_sivas):
|
||||
default = 'Anpassung an neues Indexsystem, Zeichnung mit Versionsnummer {version} weiterhin gültig'.format(version=version_sivas)
|
||||
else:
|
||||
pass
|
||||
ret['freigabevermerk_neu'] = default
|
||||
else:
|
||||
ret['freigabevermerk_neu'] = selected
|
||||
return ret
|
||||
|
||||
def cb_zusatzinfos_auto_text(self, selected):
|
||||
ret = dict()
|
||||
|
||||
aenderungsindex_sivas = self._model.get_gui_data("aenderungsindex_sivas")
|
||||
truemmer = self._model.get_gui_data("truemmer")
|
||||
ruestcode = self._model.get_gui_data("ruestcode_sivas")
|
||||
teilenummer = str(self._model.get_gui_data("teilenummer"))
|
||||
werkstoffdiskr_sivas = self._model.get_gui_data("werkstoffdiskr_sivas")
|
||||
|
||||
if selected is None:
|
||||
text = ''
|
||||
blacklist = self._config.get_blacklist()
|
||||
if aenderungsindex_sivas.islower() :
|
||||
if truemmer == 'J' or ruestcode == '':
|
||||
text = self._config.Zusatz.get('ComboTextblöcke', 'KleinbuchstabeTruemmer')
|
||||
if teilenummer in blacklist:
|
||||
text = self._config.Zusatz.get('ComboTextblöcke', 'KleinbuchstabeTruemmerBlacklist')
|
||||
elif teilenummer in blacklist:
|
||||
text = self._config.Zusatz.get('ComboTextblöcke', 'KleinbuchstabeBlacklist')
|
||||
elif werkstoffdiskr_sivas == True:
|
||||
text = self._config.Zusatz.get('ComboTextblöcke', 'KleinbuchstabeWerkstoffdiskrepanz')
|
||||
else:
|
||||
text = self._config.Zusatz.get('EinzelTextblöcke', 'Kleinbuchstabe')
|
||||
elif truemmer == 'J' or ruestcode == '':
|
||||
if teilenummer in blacklist:
|
||||
text = self._config.Zusatz.get('ComboTextblöcke', 'TruemmerBlacklist')
|
||||
elif werkstoffdiskr_sivas == True:
|
||||
text = self._config.Zusatz.get('ComboTextblöcke', 'TruemmerWerkstoffdiskrepanz')
|
||||
else:
|
||||
text = self._config.Zusatz.get('EinzelTextblöcke', 'Truemmer')
|
||||
|
||||
ret['zusatzinfos_auto_text'] = text
|
||||
else:
|
||||
ret['zusatzinfos_auto_text'] = selected
|
||||
return ret
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
pass
|
||||
|
||||
|
||||
Reference in New Issue
Block a user