nomenclature_model.py 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. from src.models.abstract_reference import abstract_reference
  2. from src.models.measurement_unit_model import measurement_unit_model
  3. from src.models.nomenclature_group_model import nomenclature_group_model
  4. from src.validation.validator import validator
  5. class nomenclature_model(abstract_reference):
  6. # Полное наименование
  7. __full_name = ""
  8. # Единица измерения
  9. __measurement_unit = None
  10. # Группа номенклатуры
  11. __nomenclature_group = None
  12. __vtor = validator()
  13. def __init__(self, full_name, measurement_unit, nomenclature_group):
  14. """
  15. Args:
  16. full_name (str): Полное наименование (до 256 символов)
  17. measurement_unit (measurement_unit_model): Единица измерения
  18. nomenclature_group (nomenclature_group_model): Группа номенклатуры
  19. """
  20. self.__vtor.check_type(full_name, str)
  21. self.__vtor.check_length_less(full_name, 256)
  22. self.__vtor.check_type(measurement_unit, measurement_unit_model)
  23. self.__vtor.check_type(nomenclature_group, nomenclature_group_model)
  24. self.__full_name = full_name
  25. self.__measurement_unit = measurement_unit
  26. self.__nomenclature_group = nomenclature_group
  27. @property
  28. def full_name(self):
  29. """Полное наименование (до 256 символов)"""
  30. return self.__full_name
  31. @property
  32. def measurement_unit(self):
  33. """Единица измерения"""
  34. return self.__measurement_unit
  35. @property
  36. def nomenclature_group(self):
  37. """Группа номенклатуры"""
  38. return self.__nomenclature_group