@startuml
skinparam changelogHideUnlinked true
class Заказчик {
+String idЗаказчика
+String ФИО
+String телефон
+String VINАвтомобиля
}
class Запчасть {
+String артикул
+String наименование
+Double цена
+Integer минКоличество
+String idПоставщика
+Boolean checkCriticalBalance()
}
class ЯчейкаХранения {
+String кодЗоны
+Integer номерПолки
+Integer максВместимость
+getOccupiedSpace()
}
class Поставщик {
+String id
+String названиеКомпании
+String контактныйТелефон
+createDeliveryContract()
}
class ЗаказНаряд {
+String idЗаказа
+String idЗаказчика
+Date датаСоздания
+String статус
+updateStatus(String новыйСтатус)
}
class ДвижениеЗапасов {
+String idПеремещения
+Integer количество
+String типПеремещения
+Date времяТранзакции
+executeLog()
}
Заказчик "1" --> "*" ЗаказНаряд : оформляет
Запчасть "*" o-- "1" ЯчейкаХранения : хранится в
Поставщик "1" --> "*" Запчасть : поставляет
Запчасть "1" *-- "*" ДвижениеЗапасов : логируется в
ЗаказНаряд "1" *-- "*" ДвижениеЗапасов : содержит транзакции
@enduml