Alle Check Logiken Implementiert
This commit is contained in:
+140
-65
@@ -553,10 +553,11 @@ class CadItem(DataModel):
|
||||
|
||||
def message_info(self, title, key, questions='ok'):
|
||||
return self._controller.message_info(title, key, questions)
|
||||
|
||||
def message_error(self, title, key):
|
||||
return self._controller.message_error(title, key)
|
||||
|
||||
def message_error(self, title, key, values=None):
|
||||
return self._controller.message_error(title, key, values)
|
||||
def message_question(self, title, key, values=None):
|
||||
return self._controller.message_question(title, key, values)
|
||||
|
||||
def check_key_existence(self, key, missing):
|
||||
if not self.get_gui_data(key):
|
||||
missing.append(self.key2label[key])
|
||||
@@ -664,94 +665,168 @@ class CadItem(DataModel):
|
||||
return self.get_gui_data(key_sivas)
|
||||
return None
|
||||
|
||||
# "asm_id",
|
||||
# "teilenummer",
|
||||
# "datenbank",
|
||||
# "pdm_kategorie_neu",
|
||||
# "neuaufbau",
|
||||
# "aus_halbzeug_neu",
|
||||
# "halbzeugnummer_neu",
|
||||
# "halbzeuglaenge_neu",
|
||||
# "halbzeugoberflaeche_neu",
|
||||
# "halbzeugfarbe_neu",
|
||||
# "lebenszyklus_status_neu",
|
||||
# "model3d_neu",
|
||||
# "bezeichnung1_sivas", "bezeichnung1_neu",
|
||||
# "bezeichnung2_sivas",
|
||||
# "halbzeugOhneSaege_sivas", "halbzeugOhneSaege_neu",
|
||||
# "ruestcode_sivas", "ruestcode_neu",
|
||||
# "fertigungsart_sivas", "fertigungsart_neu",
|
||||
# "allgemeintoleranz_sivas", "allgemeintoleranz_neu",
|
||||
# "fosGruppe_sivas", "fosGruppe_neu",
|
||||
# "kalkulationsart_sivas", "kalkulationsart_neu",
|
||||
# "beschaffungsart_sivas", "beschaffungsart_neu",
|
||||
# "mengeneinheit_sivas", "mengeneinheit_neu",
|
||||
# "halbzeug_sivas", "halbzeug_neu",
|
||||
# "tosgruppe_sivas", "tosgruppe_neu",
|
||||
# "dispogruppe_sivas", "dispogruppe_neu",
|
||||
# "dispolaufgruppe_sivas","dispolaufgruppe_neu",
|
||||
# "hersteller_sivas", "hersteller_neu",
|
||||
# "ersatzfuer_sivas", "ersatzfuer_neu",
|
||||
# "ersetztdurch_sivas", "ersetztdurch_neu",
|
||||
# "herstteilenr_sivas", "herstteilenr_neu",
|
||||
# "werkstoffdiskr_neu",
|
||||
# "werkstofftyp_neu",
|
||||
# "material_sivas", "material_neu",
|
||||
# "oberflaeche_neu",
|
||||
# "farbe_neu",
|
||||
# "version_sivas",
|
||||
# "aenderungsindex_sivas", "aenderungsindex_neu",
|
||||
# "aenderungstext_sivas", "aenderungstext_neu",
|
||||
# "freigabevermerk_sivas", "freigabevermerk_neu",
|
||||
# "zusatzinfos_auto_text",
|
||||
# "zusatzinfos_bendef_text",
|
||||
|
||||
def check_content(self):
|
||||
content = self.get_content('bezeichnung1_sivas', 'bezeichnung1_neu')
|
||||
if len(content) > 50:
|
||||
self.message_info('Bezeichnung1 zu gross', 'bezeichnung_zu_gross')
|
||||
return
|
||||
self.message_error('Bezeichnung1 zu gross', 'bezeichnung_zu_gross')
|
||||
return False
|
||||
|
||||
# Rüstcode und Sögeliste
|
||||
ruestcode = self.get_gui_data("ruestcode_sivas")
|
||||
halbzeugOhneSaege_neu = self.get_gui_data("halbzeugOhneSaege_neu")
|
||||
if ruestcode == "SRC Standard Rüstcode" and halbzeugOhneSaege_neu == "Sägeliste nicht benötigt":
|
||||
self.message_info('Konflikt Rüstcode und Sägeliste', 'konflikt_ruestcode_saegeliste')
|
||||
return
|
||||
self.message_error('Konflikt Rüstcode und Sägeliste', 'konflikt_ruestcode_saegeliste')
|
||||
return False
|
||||
|
||||
# Rüstcode und Kategorie
|
||||
content = self.get_content('ruestcode_sivas', 'ruestcode_neu')
|
||||
pdm_kategorie_neu = self.get_gui_data("pdm_kategorie_neu")
|
||||
if pdm_kategorie_neu != "Baugruppe" and ruestcode == "":
|
||||
self.message_info('Teilenummer ohne Rüstcode', 'teilenummer_ohne_ruestcode')
|
||||
return
|
||||
self.message_error('Teilenummer ohne Rüstcode', 'teilenummer_ohne_ruestcode')
|
||||
return False
|
||||
|
||||
# Fertigungsart
|
||||
fertigungsart = self.get_content('fertigungsart_sivas', 'fertigungsart_neu')
|
||||
arten = ["3D - 3D-drucken", "EX - extrudieren", "GI - gießen", "PR - verpressen", "SN - strangpressen", "SP - spritzgießen", "SW - schweißen"]
|
||||
if pdm_kategorie_neu == "Baugruppe" and fertigungsart == arten:
|
||||
self.message_info('Fertigunsart falsch', 'fertigungsart')
|
||||
return
|
||||
farten = self._config.Fertigung.get_list_in_section("Fertigungsarten")
|
||||
self.message_error('Fertigunsart falsch', 'fertigungsart')
|
||||
return False
|
||||
farten = self._controller.get_config().Fertigung.get_list_in_section("Fertigungsarten")
|
||||
if pdm_kategorie_neu == "Kauteil" and fertigungsart == farten:
|
||||
self.message_info('Fertigunsart falsch', 'fertigungsart')
|
||||
return
|
||||
self.message_error('Fertigunsart falsch', 'fertigungsart')
|
||||
return False
|
||||
if pdm_kategorie_neu == "Schweissbaugruppe" and fertigungsart != "SW - schweißen":
|
||||
self.message_info('Fertigunsart falsch', 'fertigungsart')
|
||||
return
|
||||
self.message_error('Fertigunsart falsch', 'fertigungsart')
|
||||
return False
|
||||
|
||||
# FOS - Gruppe
|
||||
fos_gruppe = self.get_content('fosGruppe_sivas', 'fosGruppe_neu')
|
||||
if pdm_kategorie_neu == "Baugruppe" and fos_gruppe == "0 - Einzelteil":
|
||||
self.message_info('FOS Gruppe falsch', 'fos_gruppe')
|
||||
return
|
||||
self.message_error('FOS Gruppe falsch', 'fos_gruppe')
|
||||
return False
|
||||
if pdm_kategorie_neu == "Einzelteil" and fos_gruppe == "1 - Baugruppe":
|
||||
self.message_info('FOS Gruppe falsch', 'fos_gruppe')
|
||||
return
|
||||
if pdm_kategorie_neu == "SChweissbaugruppe" and fos_gruppe == "1 - Baugruppe":
|
||||
self.message_info('FOS Gruppe falsch', 'fos_gruppe')
|
||||
return
|
||||
self.message_error('FOS Gruppe falsch', 'fos_gruppe')
|
||||
return False
|
||||
if pdm_kategorie_neu == "Schweissbaugruppe" and fos_gruppe == "1 - Baugruppe":
|
||||
self.message_error('FOS Gruppe falsch', 'fos_gruppe')
|
||||
return False
|
||||
|
||||
# Kalkulationsart
|
||||
kalkulationsart = self.get_content('kalkulationsart_sivas', 'kalkulationsart_neu')
|
||||
if pdm_kategorie_neu == "Kaufteil" and kalkulationsart == "Eigenbau":
|
||||
self.message_error('Kalkulationsart falsch', 'kalkulations_art')
|
||||
return False
|
||||
if pdm_kategorie_neu == "Einzelteil" and kalkulationsart == "Kaufteil":
|
||||
self.message_error('Kalkulationsart falsch', 'kalkulations_art')
|
||||
return False
|
||||
if pdm_kategorie_neu == "Schweissbaugruppe" and kalkulationsart == "Kaufteil":
|
||||
self.message_error('Kalkulationsart falsch', 'kalkulations_art')
|
||||
return False
|
||||
|
||||
# Beschaffungsart
|
||||
beschaffungsart = self.get_content('beschaffungsart_sivas', 'beschaffungsart_neu')
|
||||
if pdm_kategorie_neu == "Baugruppe" and beschaffungsart == "Kaufteil":
|
||||
self.message_error('beschaffungsart falsch', 'beschaffungsart')
|
||||
return False
|
||||
if pdm_kategorie_neu == "Schweissbaugruppe" and beschaffungsart == "Kaufteil":
|
||||
self.message_error('beschaffungsart falsch', 'beschaffungsart')
|
||||
return False
|
||||
if pdm_kategorie_neu == "Kaufteil" and beschaffungsart == "Eigenbau":
|
||||
self.message_error('beschaffungsart falsch', 'beschaffungsart')
|
||||
return False
|
||||
|
||||
# Mengeneinheit
|
||||
mengeneinheit = self.get_content('mengeneinheit_sivas', 'mengeneinheit_neu')
|
||||
ruestcode = self.get_content('ruestcode_sivas', 'ruestcode_neu')
|
||||
if ruestcode == "SRC - Standard Rüstcode" and mengeneinheit != "Stck - Stück":
|
||||
self.message_error('Mengeneinheit falsch', 'mengeneinheit')
|
||||
return False
|
||||
|
||||
# Halbzeug
|
||||
halbzeug = self.get_content('halbzeug_sivas', 'halbzeug_neu')
|
||||
if ruestcode == "SRC - Standard Rüstcode" and halbzeug == 'WAHR':
|
||||
self.message_error('Halbzeug falsch', 'teilenummer_halbzeug')
|
||||
return False
|
||||
if ruestcode == "Trümmerbaugruppe" and halbzeug == 'WAHR':
|
||||
self.message_error('Halbzeug falsch', 'teilenummer_halbzeug')
|
||||
return False
|
||||
|
||||
# TOS-Gruppe
|
||||
tosgruppe = self.get_content('tosgruppe_sivas', 'tosgruppe_sivas')
|
||||
(num2refId, num2child) = self._controller.get_config().TOSGruppen.get_Id2TosGroup()
|
||||
# TODO wirklich als refernce-id oder als Gruppe?
|
||||
if tosgruppe not in num2child.keys():
|
||||
self.message_error('TOS Gruppe nicht vorhanden', 'tos_gruppe_not_exist')
|
||||
return False
|
||||
|
||||
# Dispogruppe
|
||||
dispogruppe = self.get_content('dispogruppe_sivas', 'dispogruppe_neu')
|
||||
if dispogruppe == '':
|
||||
self.message_error('Dispogruppe nicht angegeben', 'dispo_not_exist')
|
||||
return False
|
||||
|
||||
# Dispolaufgruppe
|
||||
dispolaufgruppe = self.get_content('dispolaufgruppe_sivas', 'dispolaufgruppe_sivas')
|
||||
if dispolaufgruppe == '':
|
||||
self.message_error('Dispolaufgruppe nicht angegeben', 'dispolauf_not_exist')
|
||||
return False
|
||||
|
||||
# Ersatz für
|
||||
ersatzfuer = self.get_content('ersatzfuer_sivas', 'ersatzfuer_neu')
|
||||
Teilenummern = self._controller.get_config().get_ruledesigner_ids()
|
||||
if ersatzfuer and ersatzfuer not in Teilenummern:
|
||||
ret = self.message_question('Ersatz nicht in Teilenummer ', 'teilenummer_not_exist_infos', {'teilenummer':ersatzfuer, 'default':'no' } )
|
||||
if ret == "no":
|
||||
return False
|
||||
|
||||
# Ersetzt durch
|
||||
ersatzdurch = self.get_content('ersetztdurch_sivas', 'ersetztdurch_neu')
|
||||
Teilenummern = self._controller.get_config().get_ruledesigner_ids()
|
||||
if ersatzdurch and ersatzdurch not in Teilenummern:
|
||||
ret = self.message_question('Ersatz nicht in Teilenummer ', 'ersatzteilenummer_not_exist_infos', {'teilenummer':ersatzdurch, 'default':'no' } )
|
||||
if ret == "no":
|
||||
return False
|
||||
|
||||
# Hersteller
|
||||
hersteller = self.get_content('hersteller_sivas', 'hersteller_neu')
|
||||
alleHersteller = self._controller.get_config().Hersteller.get_all()
|
||||
if hersteller and hersteller not in alleHersteller:
|
||||
ret = self.message_error('Ersatz nicht in Teilenummer ', 'hersteller', {'hersteller':hersteller } )
|
||||
if ret == "no":
|
||||
return False
|
||||
|
||||
# # Werkstofftyp TODO
|
||||
# werkstofftyp = self.get_content('werkstofftyp_neu', 'werkstofftyp_neu')
|
||||
# if werkstofftyp == '':
|
||||
# self.message_error('Werkstofftyp nicht eingetragen', 'werkstofftyp_not_exist')
|
||||
# return
|
||||
|
||||
# # Material TODO
|
||||
# werkstofftyp = self.get_content('werkstofftyp_neu', 'werkstofftyp_neu')
|
||||
# if werkstofftyp == '':
|
||||
# self.message_error('Werkstofftyp nicht eingetragen', 'werkstofftyp_not_exist')
|
||||
# return
|
||||
|
||||
# Farbe
|
||||
farbe = self._model.get_gui_data("farbe_neu")
|
||||
if werkstofftyp == '':
|
||||
self.message_error('Werkstofftyp nicht eingetragen', 'werkstofftyp_not_exist')
|
||||
return False
|
||||
|
||||
|
||||
# Überprüfung ob eine Ergänzung der Angaben zu Material in der Config Datei nötig wäre
|
||||
aus_halbzeug = self._model.get_gui_data("aus_halbzeug_neu")
|
||||
if pdm_kategorie_neu == "Einzelteil" and aus_halbzeug == False:
|
||||
mlist = self._controller.get_config().Materialien.get_all_materials()
|
||||
material_sivas = self._model.get_gui_data("material_sivas")
|
||||
if material_sivas not in mlist:
|
||||
self._model.message_info('Materialinformation', 'material_infos')
|
||||
|
||||
return True
|
||||
|
||||
def create_migration_data(self):
|
||||
pass
|
||||
|
||||
class CadItemRepository:
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user