Content Check weiter getrieben bis zur Kalkulationsart

This commit is contained in:
2024-03-13 12:40:31 +01:00
parent 8f74aac945
commit 8ec356df70
2 changed files with 119 additions and 21 deletions
+105 -8
View File
@@ -217,14 +217,14 @@ class CadItem(DataModel):
"oberflaeche_neu": "Oberfläche",
"farbe_neu": "Farbe",
"version_sivas": "Version",
"aenderungsindex_sivas": "Änderungsindex",
"aenderungsindex_neu": "Änderungsindex",
"aenderungstext_sivas": "Änderungstext",
"aenderungstext_neu": "Änderungstext",
"freigabevermerk_sivas": "Freigabevermerk",
"freigabevermerk_neu": "Freigabevermerk",
"zusatzinfos_auto_text": "Zusatzinformationen automatisch",
"zusatzinfos_bendef_text": "Zusatzinformationen Benutzerdefiniert",
"aenderungsindex_sivas": "Änderungsindex",
"aenderungsindex_neu": "Änderungsindex",
"aenderungstext_sivas": "Änderungstext",
"aenderungstext_neu": "Änderungstext",
"freigabevermerk_sivas": "Freigabevermerk",
"freigabevermerk_neu": "Freigabevermerk",
"zusatzinfos_auto_text": "Zusatzinformationen automatisch",
"zusatzinfos_bendef_text": "Zusatzinformationen Benutzerdefiniert",
}
def __init__(self):
@@ -655,6 +655,103 @@ class CadItem(DataModel):
return (False, wrongchars)
else:
return (True, {})
def get_content(self, key_sivas, key_neu):
if self.get_gui_data(key_neu):
return self.get_gui_data(key_neu)
else:
if self.get_gui_data(key_sivas):
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
# 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
# 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
# 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")
if pdm_kategorie_neu == "Kauteil" and fertigungsart == farten:
self.message_info('Fertigunsart falsch', 'fertigungsart')
return
if pdm_kategorie_neu == "Schweissbaugruppe" and fertigungsart != "SW - schweißen":
self.message_info('Fertigunsart falsch', 'fertigungsart')
return
# 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
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
# Kalkulationsart
class CadItemRepository:
"""
+14 -13
View File
@@ -16,7 +16,7 @@ messages = {
"unzulaessige_zeichen":"Unzulässige Zeichen identifiziert:\nZeichen: '{Zeichentyp}' -> Feld: '{Feldname}'",
"bezeichnung_zu_gross":'Bezeichnung besitzt mehr als 50 Zeichen. Bitte verkürzen!',
"konflikt_ruestcode_saegeliste":'In Sivas prüfen, wieso Haken bei "Halbzeug ohne Sägeliste" trotz Rüstcode "SRC Standard Rüstcode" gesetzt ist.',
"teilenummre_ohne_ruestcode":'Teilenummer darf nicht ohne Rüstcode migriert werden!',
"teilenummer_ohne_ruestcode":'Teilenummer darf nicht ohne Rüstcode migriert werden!',
"fertigungsart":'Fertigungsart falsch. Bitte berichtigen!',
"fos_gruppe":'FOS-Gruppe falsch. Bitte berichtigen!',
"kalkulations_art":'Kalkulationsart falsch. Bitte berichtigen!',
@@ -258,18 +258,19 @@ class Controller(Observer):
self.refresh_gui()
def migrieren(self):
(ok, missing) = self._model.check_pflichtfelder()
if ok == False:
labels = ', '.join(missing)
self.message_error('Fehlende Angaben', 'missing_data', {'Labels':labels})
return
invalid_chars = self._config.InvalidChars.get()
(ok, wrongchars) = self._model.check_improper_chars(invalid_chars)
if ok == False:
for label,achars in wrongchars.items():
chars = ''.join(achars)
self.message_error('Unzulässige Zeichen', 'unzulaessige_zeichen', {'Zeichentyp': chars, 'Feldname':label})
return
# (ok, missing) = self._model.check_pflichtfelder()
# if ok == False:
# labels = ', '.join(missing)
# self.message_error('Fehlende Angaben', 'missing_data', {'Labels':labels})
# return
# invalid_chars = self._config.InvalidChars.get()
# (ok, wrongchars) = self._model.check_improper_chars(invalid_chars)
# if ok == False:
# for label,achars in wrongchars.items():
# chars = ''.join(achars)
# self.message_error('Unzulässige Zeichen', 'unzulaessige_zeichen', {'Zeichentyp': chars, 'Feldname':label})
# return
self._model.check_content()
def zuruecksetzen(self):
cid = self.get_current_item_id()