Verweise für die Pflichtfelder aus der spec rein kopiert.

This commit is contained in:
2024-03-05 17:45:00 +01:00
parent fddcbb058e
commit 00f180ea39
3 changed files with 103 additions and 20 deletions
+94 -11
View File
@@ -284,6 +284,11 @@ class CadItem(DataModel):
else:
translated_data["beschaffungsart_neu"] = ""
# Spezial Freigabevermerk
if "freigabevermerk_sivas" in translated_data:
text = translated_data["freigabevermerk_sivas"]
translated_data["freigabevermerk_sivas"] = re.sub(r";", " /", 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"]
@@ -300,8 +305,11 @@ class CadItem(DataModel):
# Spezial: Befüllung von Änderungstext mit dem Author, falls in der .csv vorhanden
if "Indexerfasser" in data and "Aenderungstext" in data:
translated_data["aenderungstext_sivas"] = '{aenderungstext} (von {author})'.format(aenderungstext=data["Aenderungstext"], author=data["Indexerfasser"])
# Indexerfasser wird nicht in der gui verwaltet. Deshalb Modifikation aus den Rohdaten
if data["Indexerfasser"] is not None:
translated_data["aenderungstext_sivas"] = '{aenderungstext} (von {author})'.format(aenderungstext=data["Aenderungstext"], author=data["Indexerfasser"])
# Indexerfasser wird nicht in der gui verwaltet. Deshalb Modifikation aus den Rohdate
else:
translated_data["aenderungstext_sivas"] = data["Aenderungstext"]
translated_data = self._transform_content_from_csv(translated_data)
self.set_gui_dict(translated_data)
@@ -426,6 +434,81 @@ class CadItem(DataModel):
def message_error(self, title, key):
return self._controller.message_error(title, key)
def check(self):
self.check_pflichtfelder()
def check_pflichtfelder(self):
# Datenbank
# Pflichtfeld: Ja, immer
# Teilenummer
# Pflichtfeld: Ja, immer
# Datenbank
# Pflichtfeld: Ja, immer
# PDM-Kategorie
# Pflichtfeld: Ja, immer
# Halbzeugfarbe
# Logik, die steuert, wann es sich um ein Pflichtfeld handelt:
# IF Halbzeugoberfläche == "eloxieren" OR "lackieren" OR "pulverbeschichten":
# Pflichtfeld = True
# ELSE:
# Pflichtfeld = False
# Lebenszyklusstatus
# Pflichtfeld: Ja, immer
# 3D-Modell
# Pflichtfeld: Ja, immer
# Bezeichnung 1
# Pflichtfeld: Ja, immer
# Bezeichnung 2
# Pflichtfeld: Nein
# Halbzeug ohne Sägeliste
# Pflichtfeld: Ja, immer
# Rüstcode
# Pflichtfeld: Ja, immer
# 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
# Allgemeintoleranz
# Logik, die steuert, wann es sich um ein Pflichtfeld handelt:
# FOS-Gruppe
# Pflichtfeld: Ja, immer
# Kalkulationsart
# Pflichtfeld: Ja, immer
# Beschaffungsart
# Pflichtfeld: Ja, immer
# Mengeneinheit
# Pflichtfeld: Ja, immer
# Halbzeug
# Pflichtfeld: Ja, immer
# TOS-Gruppe
# Pflichtfeld: Ja, immer
# Dispogruppe
# Pflichtfeld: Ja, immer
# Dispolaufgruppe
# Pflichtfeld: Ja, immer
# Werkstoffdiskrepanz
# Pflichtfeld: Nein
# Pflichtfeld (in welchen Fällen ist es ein Pflichtfeld, in welchen nicht)
# IF Aus Halbzeug == True (Haken gesetzt):
# Pflichtfeld = False
# ELSE:
# Pflichtfeld = True
# Pflichtfeld (in welchen Fällen ist es ein Pflichtfeld, in welchen nicht)
# Änderungstext
# Pflichtfeld: Ja, immer
# Freigabevermerk
# Pflichtfeld: Ja, immer
# 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
class CadItemRepository:
"""
container class for all CadItems in the local folder
@@ -546,16 +629,16 @@ class GuiLogic():
ret = list()
if key == 'cb_pdm_kategorie_neu':
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_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']
elif key == 'cb_neuaufbau':
ret = []
elif key == 'cb_aus_halbzeug_neu':
ret = ['cb_halbzeugoberflaeche', 'cb_halbzeugfarbe', "cb_werkstoffdiskrepanz", "cb_werkstofftyp_neu"]
elif key == "cb_halbzeugoberflaeche":
ret = ['cb_halbzeugoberflaeche', 'cb_halbzeugfarbe', 'cb_werkstoffdiskrepanz', 'cb_werkstofftyp_neu']
elif key == 'cb_halbzeugoberflaeche':
ret = ['cb_halbzeugfarbe']
elif key == "cb_halbzeugfarbe":
elif key == 'cb_halbzeugfarbe':
ret = []
elif key == 'cb_lebenszyklus_status_neu':
ret = []
@@ -564,11 +647,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']
elif key == 'cb_fertigungsart_neu':
ret = []
elif key == 'cb_allgemeintoleranz_neu':
ret = ["cb_fertigungsart_neu"]
ret = ['cb_fertigungsart_neu']
elif key == 'cb_fosGruppe_neu':
ret = []
elif key == 'cb_kalkulationsart_neu':
@@ -592,7 +675,7 @@ class GuiLogic():
elif key == 'cb_material_neu':
ret = []
elif key == 'cb_oberflaeche_neu':
ret = ["cb_farbe_neu"]
ret = ['cb_farbe_neu']
elif key == 'cb_farbe_neu':
ret = []
# Aktionen der Knöpfe werden vom Controller verarbeitet
+3 -3
View File
@@ -236,6 +236,9 @@ class Controller(Observer):
# gib dem observer Bescheid, was aufgerufen wurde
self.notify(self._model, key,value)
self.refresh_gui()
def migrieren(self):
self._model.check()
def suche_3d(self):
pdm_kategorie_neu = self._model.get_gui_data("pdm_kategorie_neu")
@@ -248,8 +251,5 @@ class Controller(Observer):
self._model.set_gui_data('cb_3Dmodel_neu', '')
if __name__ == "__main__":
pass
+6 -6
View File
@@ -1124,10 +1124,10 @@ class RightFrameVersion(AllFrames):
self.freigabevermerk_neu.insert('1.0', data["freigabevermerk_neu"])
def clear_texts(self):
self.aenderungstext_sivas.delete('1.0', "end")
self.aenderungstext_neu.delete('1.0', "end")
self.freigabevermerk_sivas.delete('1.0', "end")
self.freigabevermerk_neu.delete('1.0', "end")
self.aenderungstext_sivas.delete('1.0', 'end')
self.aenderungstext_neu.delete('1.0', 'end')
self.freigabevermerk_sivas.delete('1.0', 'end')
self.freigabevermerk_neu.delete('1.0', 'end')
class RightFrameZusatzinfos(AllFrames):
def __init__(self, frame, nrow=0):
@@ -1181,8 +1181,8 @@ class RightFrameZusatzinfos(AllFrames):
self.zusatzinfos_bendef_text.insert('1,0', data["zusatzinfos_bendef_text"])
def clear_texts(self):
self.zusatzinfos_auto_text.delete('1.0', "end")
self.zusatzinfos_bendef_text.delete('1.0', "end")
self.zusatzinfos_auto_text.delete('1.0', 'end')
self.zusatzinfos_bendef_text.delete('1.0', 'end')
class App():
def __init__(self, root):