Files
OperatorSchedule/config.py
ki.sagidullin 5d2b665fa6 Выполнены этапы 2, 3, 4
Дополнен план работ этапом 7 (покрытие тестами)
2026-04-07 00:59:57 +05:00

61 lines
3.0 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""
config.py - Настройки графика смен
Редактируйте этот файл БЕЗ знания Python!
"""
# 📅 НАСТРОЙКИ ДАТ
YEAR = 2026 # Год
MONTH = 4 # Месяц (апрель)
# 🕒 СМЕНЫ (время начала, время окончания)
# format: (началоаса, окончаниеаса)
SHIFTS = [
(6, 14.5), # Смена 0: 06:00 - 14:30
(8, 16.5), # Смена 1: 08:00 - 16:30
(11.5, 20), # Смена 2: 11:30 - 20:00
(12.5, 21), # Смена 3: 12:30 - 21:00
]
# 👷 ИМЕНА ОПЕРАТОРОВ
# Меняйте здесь имена операторов!
OPERATORS = [
"Иванов",
"Алексеев",
"Сидоров",
"Козобородов",
"Трудяшкина",
"Петрова",
]
# 💖 ПРЕДПОЧТЕНИЯ ОПЕРАТОРОВ
# Формат: {имя_оператора: объект_предпочтений}
# Для создания предпочтений используйте класс OperatorPreferences из models.py
# Пример:
# from models import OperatorPreferences, DayOfWeek
# prefs = OperatorPreferences.create("Иванов") \
# .work_on_date(10) \
# .work_on_date(13) \
# .build()
# OPERATOR_PREFERENCES = {"Иванов": prefs}
# Для удобства, здесь приведены примеры создания предпочтений через словарь,
# который будет автоматически преобразован в объект OperatorPreferences в models.py.
# Это позволяет редактировать файл без знания Python, используя простые структуры данных.
OPERATOR_PREFERENCES = {
"Иванов": {"dates": [10, 13]}, # 10 и 13 апреля
"Алексеев": {"day_of_week": "понедельник"}, # только понедельники
"Сидоров": {"dates": [25, 26]}, # 25 и 26 апреля
"Козобородов": {"shift": 2}, # только смена 2 (11:3020:00)
"Трудяшкина": {"dates": [4]}, # 4 апреля
"Петрова": {"dates": [8, 29]}, # 8 и 29 апреля
}
# 📝 ПОЯСНЕНИЯ ДЛЯ РЕДАКТИРОВАНИЯ:
# - Дни месяца указываются в списке: {"dates": [10, 13]} = 10 и 13 апреля
# - "понедельник" (или "monday") означает работать только в понедельник
# - Число в "shift": 0-3 указывает на номер смены (0 = первая смена)
# - Для добавления/удаления дней меняйте списки в квадратных скобках
# - Для изменения имени оператора меняйте строку в OPERATORS
# - Для установки дня, когда оператор НЕ работает, используйте: {"off_dates": [5]}