Verweise für die Pflichtfelder aus der spec rein kopiert.
This commit is contained in:
+94
-11
@@ -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
@@ -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
@@ -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):
|
||||
|
||||
Reference in New Issue
Block a user