Logik weiter gebaut bis Bezeichnung 1. Überprüfungen der Bezeichner nach kpl./KPL. Abhängigkeiten davor wie Farbe, Oberfläche usw. ergänzt
This commit is contained in:
+52
-14
@@ -2,6 +2,7 @@ import json
|
|||||||
import pandas as pd
|
import pandas as pd
|
||||||
import os
|
import os
|
||||||
import glob
|
import glob
|
||||||
|
import re
|
||||||
|
|
||||||
class DataModel:
|
class DataModel:
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
@@ -216,7 +217,7 @@ class CadItem(DataModel):
|
|||||||
for k,v in data:
|
for k,v in data:
|
||||||
self.set_data(k,v)
|
self.set_data(k,v)
|
||||||
def set_data(self, key, val):
|
def set_data(self, key, val):
|
||||||
if key not in self._data_keys:
|
if key not in self.data_keys:
|
||||||
raise Exception("this data can not be set "+ key)
|
raise Exception("this data can not be set "+ key)
|
||||||
else:
|
else:
|
||||||
self._data[key] = val
|
self._data[key] = val
|
||||||
@@ -254,6 +255,12 @@ class CadItem(DataModel):
|
|||||||
if k in self.excel_to_gui and v is not None:
|
if k in self.excel_to_gui and v is not None:
|
||||||
translated_data[self.excel_to_gui[k]] = v
|
translated_data[self.excel_to_gui[k]] = v
|
||||||
|
|
||||||
|
# bezeichnung1_sivas
|
||||||
|
# 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)
|
||||||
|
|
||||||
# Spezial: Befüllung von Änderungstext mit dem Author, falls in der .csv vorhanden
|
# Spezial: Befüllung von Änderungstext mit dem Author, falls in der .csv vorhanden
|
||||||
if "Indexerfasser" in data and "Aenderungstext" in data:
|
if "Indexerfasser" in data and "Aenderungstext" in data:
|
||||||
translated_data["aenderungstext_sivas"] = '{aenderungstext} (von {author})'.format(aenderungstext=data["Aenderungstext"], author=data["Indexerfasser"])
|
translated_data["aenderungstext_sivas"] = '{aenderungstext} (von {author})'.format(aenderungstext=data["Aenderungstext"], author=data["Indexerfasser"])
|
||||||
@@ -261,6 +268,12 @@ class CadItem(DataModel):
|
|||||||
self.set_gui_dict(translated_data)
|
self.set_gui_dict(translated_data)
|
||||||
return translated_data
|
return translated_data
|
||||||
|
|
||||||
|
def get_child_of_id(self, sivasId):
|
||||||
|
parent_children = self.get_parent_children()
|
||||||
|
if str(sivasId) in parent_children:
|
||||||
|
return parent_children[str(sivasId)][0]
|
||||||
|
else:
|
||||||
|
return None
|
||||||
|
|
||||||
def sivas_data_from_csv(self, cid):
|
def sivas_data_from_csv(self, cid):
|
||||||
path = os.path.join(self._controller.get_env("data"), cid + '.csv')
|
path = os.path.join(self._controller.get_env("data"), cid + '.csv')
|
||||||
@@ -420,8 +433,7 @@ class GuiLogic():
|
|||||||
self.call_and_set_data('cb_halbzeugoberflaeche')
|
self.call_and_set_data('cb_halbzeugoberflaeche')
|
||||||
self.call_and_set_data('cb_lebenszyklus_status_neu')
|
self.call_and_set_data('cb_lebenszyklus_status_neu')
|
||||||
self.call_and_set_data('cb_3Dmodel_neu')
|
self.call_and_set_data('cb_3Dmodel_neu')
|
||||||
|
|
||||||
|
|
||||||
def call_and_set_data(self, callbackfunc):
|
def call_and_set_data(self, callbackfunc):
|
||||||
eval('self._model.set_gui_dict(self.'+callbackfunc+'(None))')
|
eval('self._model.set_gui_dict(self.'+callbackfunc+'(None))')
|
||||||
|
|
||||||
@@ -492,9 +504,9 @@ class GuiLogic():
|
|||||||
elif key == 'cb_neuaufbau':
|
elif key == 'cb_neuaufbau':
|
||||||
ret = []
|
ret = []
|
||||||
elif key == 'cb_aus_halbzeug_neu':
|
elif key == 'cb_aus_halbzeug_neu':
|
||||||
ret = []
|
ret = ['cb_halbzeugoberflaeche', 'cb_halbzeugfarbe']
|
||||||
elif key == "cb_halbzeugoberflaeche":
|
elif key == "cb_halbzeugoberflaeche":
|
||||||
ret = ['cb_halbzeugfarbe']
|
ret = ['cb_halbzeugfarbe', 'cb_halbzeugfarbe']
|
||||||
elif key == "cb_halbzeugfarbe":
|
elif key == "cb_halbzeugfarbe":
|
||||||
ret = []
|
ret = []
|
||||||
elif key == 'cb_lebenszyklus_status_neu':
|
elif key == 'cb_lebenszyklus_status_neu':
|
||||||
@@ -561,6 +573,16 @@ class GuiLogic():
|
|||||||
ret['cb_pdm_kategorie_neu'] = categories
|
ret['cb_pdm_kategorie_neu'] = categories
|
||||||
else:
|
else:
|
||||||
ret['pdm_kategorie_neu'] = selected
|
ret['pdm_kategorie_neu'] = selected
|
||||||
|
|
||||||
|
# Entry-Abhängigkeit der Bezeichnung 1. keine eigene Callback. Abhängig von der Kategorie
|
||||||
|
pdm_kat = ret["pdm_kategorie_neu"]
|
||||||
|
if pdm_kat == "Baugruppe" or pdm_kat == "Schweissbaugruppe":
|
||||||
|
maxlen = 5 # Längenbeschränkung = 45 Zeichen
|
||||||
|
else:
|
||||||
|
maxlen = 10 # Längenbeschränkung = 50 Zeichen
|
||||||
|
text = self._model.get_gui_data("bezeichnung1_sivas")
|
||||||
|
if len(text) > maxlen:
|
||||||
|
ret["bezeichnung1_neu"] = text[0:maxlen]
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
def cb_neuaufbau(self, trueOrfalse):
|
def cb_neuaufbau(self, trueOrfalse):
|
||||||
@@ -576,20 +598,32 @@ class GuiLogic():
|
|||||||
def cb_aus_halbzeug_neu(self, trueOrfalse):
|
def cb_aus_halbzeug_neu(self, trueOrfalse):
|
||||||
ret = dict()
|
ret = dict()
|
||||||
pdm_kat = self._model.get_gui_data("pdm_kategorie_neu")
|
pdm_kat = self._model.get_gui_data("pdm_kategorie_neu")
|
||||||
|
# normalerweise ist der Haken nicht gesetzt
|
||||||
# normalerweise ist der Haken nicht gesetz
|
|
||||||
ret["aus_halbzeug_neu"] = False
|
ret["aus_halbzeug_neu"] = False
|
||||||
if pdm_kat == "Einzelteil":
|
if pdm_kat == "Einzelteil":
|
||||||
# nur beim Einzelteil darf der Nutzer überhaupt anwählen ob ein Halbzeug enthalten ist oder nicht
|
# nur beim Einzelteil darf der Nutzer überhaupt anwählen ob ein Halbzeug enthalten ist oder nicht
|
||||||
if not trueOrfalse is None:
|
if not trueOrfalse is None:
|
||||||
ret["aus_halbzeug_neu"] = trueOrfalse
|
ret["aus_halbzeug_neu"] = trueOrfalse
|
||||||
|
|
||||||
|
# Abfrage zur Feld "Halbzeugnummer". Dieses ist nicht gesteuert durch eine eigene Combobox
|
||||||
|
ret["halbzeugnummer_neu"] = ''
|
||||||
|
aus_halbzeug = ret["aus_halbzeug_neu"]
|
||||||
|
if aus_halbzeug == True:
|
||||||
|
# wenn Kind der aktuellen Teilenummer in RD_Teilenummern.csv ist, dann anzeigen
|
||||||
|
current_id = self._model.get_current_item_id()
|
||||||
|
child_id = self._model.get_child_of_id(current_id)
|
||||||
|
if child_id is not None:
|
||||||
|
Teilenummern = self._config.TeileNummern.get_ruledesigner_ids()
|
||||||
|
if child_id in Teilenummern:
|
||||||
|
ret["halbzeugnummer_neu"] = child_id
|
||||||
|
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
|
|
||||||
def cb_halbzeugoberflaeche(self, selected):
|
def cb_halbzeugoberflaeche(self, selected):
|
||||||
ret = dict()
|
ret = dict()
|
||||||
aus_halbzeug = self._model.get_gui_data("aus_halbzeug_neu")
|
aus_halbzeug = self._model.get_gui_data("aus_halbzeug_neu")
|
||||||
if aus_halbzeug == "True":
|
if aus_halbzeug == True:
|
||||||
oarten = self._config.Oberfläche.get_oberflächen_behandlungen()
|
oarten = self._config.Oberfläche.get_oberflächen_behandlungen()
|
||||||
if selected is None:
|
if selected is None:
|
||||||
ret['halbzeugoberflaeche_neu'] = oarten[0]
|
ret['halbzeugoberflaeche_neu'] = oarten[0]
|
||||||
@@ -619,11 +653,7 @@ class GuiLogic():
|
|||||||
aus_halbzeug = self._model.get_gui_data("aus_halbzeug_neu")
|
aus_halbzeug = self._model.get_gui_data("aus_halbzeug_neu")
|
||||||
|
|
||||||
# setze die Inhalte der abhängigen Comboboxen neu
|
# setze die Inhalte der abhängigen Comboboxen neu
|
||||||
ret = {
|
if aus_halbzeug == True:
|
||||||
'halbzeugfarbe_neu': '',
|
|
||||||
'cb_halbzeugfarbe': '',
|
|
||||||
}
|
|
||||||
if aus_halbzeug == "True":
|
|
||||||
if halbzeugoberflaeche == "eloxieren":
|
if halbzeugoberflaeche == "eloxieren":
|
||||||
farben_elox = self._config.Farben.get_farben_eloxieren()
|
farben_elox = self._config.Farben.get_farben_eloxieren()
|
||||||
if selected is None:
|
if selected is None:
|
||||||
@@ -638,8 +668,16 @@ class GuiLogic():
|
|||||||
ret['cb_halbzeugfarbe'] = farbauswahl
|
ret['cb_halbzeugfarbe'] = farbauswahl
|
||||||
else:
|
else:
|
||||||
ret['halbzeugfarbe_neu'] = selected
|
ret['halbzeugfarbe_neu'] = selected
|
||||||
|
else:
|
||||||
|
ret = {
|
||||||
|
'halbzeugfarbe_neu': '',
|
||||||
|
'cb_halbzeugfarbe': '',
|
||||||
|
}
|
||||||
else:
|
else:
|
||||||
pass
|
ret = {
|
||||||
|
'halbzeugfarbe_neu': '',
|
||||||
|
'cb_halbzeugfarbe': '',
|
||||||
|
}
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
def cb_3Dmodel_neu(self, selected):
|
def cb_3Dmodel_neu(self, selected):
|
||||||
|
|||||||
Reference in New Issue
Block a user