lavkach3
1from enum import Enum2
3from core.frontend.enums import TextColorEnum4from . import BaseEnum5
6
7class StoreEnum(BaseEnum):8pass9
10
11class MoveStatus(str, Enum):12CREATED: str = 'created' # Мув создан, но не подтвержден13CONFIRMED: str = 'confirmed' # Мув пдтвержден и нужные кванты найдены и зарезервированы14WAITING: str = 'waiting' # Ожидает назначения оператора15ASSIGNED: str = 'assigned' # Оператор найден и назначен16PROCESSING: str = 'processing' # Оператор начал действия17DONE: str = 'done' # Оператор завершил действия18CANCELED: str = 'canceled' # Отменен, кванты при этом разрезерируются19
20
21move_color_map = {22MoveStatus.CREATED: TextColorEnum.LIGHT,23MoveStatus.CONFIRMED: TextColorEnum.DARK,24MoveStatus.WAITING: TextColorEnum.WARNING,25MoveStatus.ASSIGNED: TextColorEnum.INFO,26MoveStatus.PROCESSING: TextColorEnum.SECONDARY,27MoveStatus.DONE: TextColorEnum.SUCCESS,28MoveStatus.CANCELED: TextColorEnum.DANGER,29}
30
31
32class MoveType(str, Enum):33"""34Типа Move означает это перемещение упаковкой или товара
35"""
36PRODUCT: str = 'product' # Означает что задание товарное, те перемещается часть товара37PACKAGE: str = 'package' # Перемещается упаковка вместе с товаром38
39
40class OrderStatus(str, Enum):41DRAFT: str = 'draft'42WAITING: str = 'waiting'43CONFIRMED: str = 'confirmed'44ASSIGNED: str = 'assigned'45DONE: str = 'done'46CANCELED: str = 'canceled'47
48
49class OrderClass(str, Enum):50"""51Класс ордера
52"""
53INCOMING: str = 'incoming' # Входящие54OUTGOING: str = 'outgoing' # Исходящий55INTERNAL: str = 'internal' # Внутрислкдской56
57
58class BackOrderAction(str, Enum):59"""60Поведение бекордера
61"""
62ASK: str = 'ask' # Спросить нужен ли Ордер на возврат63ALWAYS: str = 'always' # Нельзя спросить он создается сам64NEVER: str = 'never' # Не создавать65
66
67class ReservationMethod(str, Enum):68"""69Тип медода резервирования
70"""
71AT_CONFIRM: str = 'at_confirm' # При утверждении72MANUAL: str = 'manual' # Вручную запустить резервирование73AT_DATE: str = 'at_date' # В определенную дату, но она должна быть не меньше planned_date, иначе запустится само74TIME_BEFORE_DATE: str = 'time_before_date' # За определенное количество минут до начала planned_date75
76
77class MoveLogType(str, Enum):78GET: str = 'get' # Взял квант79PUT: str = 'put' # Положил квант80RES: str = 'res' # Зарезервировал квант81UNR: str = 'unr' # Разрезервировал квант82
83
84class SuggestType(str, Enum):85IN_QUANTITY: str = 'in_quantity' # Саджест ввода количества (те на экране нужно ввести какуюто цифру)86IN_PRODUCT: str = 'in_product' # саджест ввода/сканирования идентификатора товара87IN_PACKAGE: str = 'in_package' # саджест ввода/сканирования идентификатора упаковки88IN_LOCATION: str = 'in_location' # саджест ввода/сканирования местоположения(location)89IN_LOT: str = 'in_lot' # ввод даты КСГ партии90IN_RESOURCE: str = 'in_resource' # сканирование ресурса91IN_VALID: str = 'in_valid' # ввод даны истечения срока годности, когда просто ввод а не создание партии92NEW_PACKAGE: str = 'new_package' # саджест создания новой package93NEW_LOT: str = 'new_lot' # саджест создания партии / не путать с in_valid94
95
96class SuggestStatus(str, Enum):97WAITING: str = 'waiting' # Ожидает подверждения98DONE: str = 'done' # Выполнен99