Browse Source

Implemented nomenclature_model

Vsevolod Levitan 1 year ago
parent
commit
360ea601a1
1 changed files with 45 additions and 1 deletions
  1. 45 1
      src/models/nomenclature_model.py

+ 45 - 1
src/models/nomenclature_model.py

@@ -1,4 +1,48 @@
 from src.models.abstract_reference import abstract_reference
+from src.models.measurement_unit_model import measurement_unit_model
+from src.models.nomenclature_group_model import nomenclature_group_model
+from src.validation.validator import validator
 
 class nomenclature_model(abstract_reference):
-    pass
+    # Полное наименование
+    __full_name = ""
+    # Единица измерения
+    __measurement_unit = None
+    # Группа номенклатуры
+    __nomenclature_group = None
+
+
+    def __init__(self, full_name, measurement_unit, nomenclature_group):
+        """
+        Args:
+            full_name (str): Полное наименование (до 256 символов)
+            measurement_unit (measurement_unit_model): Единица измерения
+            nomenclature_group (nomenclature_group_model): Группа номенклатуры
+        """
+
+        validator.check_type(full_name, str)
+        validator.check_length_less(full_name, 256)
+        validator.check_type(measurement_unit, measurement_unit_model)
+        validator.check_type(nomenclature_group, nomenclature_group_model)
+
+        self.__full_name = full_name
+        self.__measurement_unit = measurement_unit
+        self.__nomenclature_group = nomenclature_group
+
+    @property
+    def full_name(self):
+        """Полное наименование (до 256 символов)"""
+        
+        return self.__full_name
+    
+    @property
+    def measurement_unit(self):
+        """Единица измерения"""
+
+        return self.__measurement_unit
+    
+    @property
+    def nomenclature_group(self):
+        """Группа номенклатуры"""
+
+        return self.__nomenclature_group