Разработка:workflows/invitems
Плагин | |
Название | invitems |
Тип | workflows |
Содержание
Возможные статусы:
- Доступно (active) - доступно для заказа
- Не доступно (notavailable) - не доступно для заказа(формальная причина, на дальнем складе или ещё что-то)
- Списано (scrapped) - списано по какойто причине(не починили)
- В ремонте (repairing) - оборудование находится в ремонта
- Удалено (deleted) только для ошибочно-заведенных
Метастатусы
- Активный: active
- Актуальный: active, notavailable, repairing
- Реальный: active, notavailable, repairing, scrapped
- Мусорный: deleted
Маршруты статусов
Правила описания маршрутов: описания возможностей перехода в новый статус на основании текущего статуса и условия, действительные только при переходе в новый статус из текущего статуса. При инициализации статус объекта равен доступный(active)
Доступный(active)
Возможные переходы ИЗ этого статуса:
- Не доступно (notavailable)
- Списано (scrapped)
- В ремонте (repairing)
- Удалено (deleted)
Не доступен (notavailable)
Возможные переходы ИЗ этого статуса:
- Доступно (active)
- Списано (scrapped)
- В ремонте (repairing)
В ремонте (repairing)
Возможные переходы ИЗ этого статуса:
- Списано (scrapped)
- Доступно (active)
Списано (scrapped)
Это конечный статус.
Удалено (deleted)
Это конечный статус.
API
get_list()
Получить список всех возможных статусов
Аргументы:
- (нет)
Возвращаемые значения:
- Массив, со списком всех возможных статусов в формате "обозначение" => "Перевод"
get_name()
Получить название статуса по его обозначению в базе данных
Аргументы:
- (string) $status - обозначение статуса латинскими буквами
Возвращаемые значения:
- (string|bool) - перевод для этого статуса, либо false, если он не обнаружен в списке допустимых
get_available()
Получить список статусов, в которые может перейти указанное оборудование.
Аргументы:
- $id - id единицы оборудования в таблице invitems
Возвращаемые значения:
- (array|bool) - массив возможных состояний в формате ('обозначение' => 'первод') или false в случае когда запись не найдена. В случае, когда переход из этого статуса невозможен - возвращается пустой массив.
change()
Сменить статус оборудования на указанный.
Аргументы:
- (int) $id - id оборудования в таблице invitems
- (string) $status - обозначение статуса латинскими буквами
- (array) $opt - Массив, где содержатся дополнительные параметры для смены статуса. По умолчанию null.
Возвращаемые значения:
- (bool) true - если статус удалось изменить, или false в случае ошибки
При обращении к функции change() выполняются дополнительные действия, указанные выше, в разделе "Маршруты статусов". При каждом изменении статуса данные записываются в таблицу statushistory.
init()
Запускается при вставке в таблицу invitems новой записи. Автоматически назначает созданному оборудованию статус "доступен" (active).
Аргументы:
- $id - id только что созданного единицы оборудования в таблице invitems
Возвращаемые значения:
- (bool) true если статус успешно назначен или false в случае ошибки
Перехватываемые события
Тип плагина | Код плагина | Код события | Пояснение |
---|---|---|---|