Files
OperatorSchedule/PLAN.md

91 lines
2.8 KiB
Markdown
Raw 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.
---
## Этап 1: Создание файла конфигурации
**Файл:** `config.py`
**Что перенести:**
- **Настройки дня**
- Год (`year = 2026`)
- Месяц (`month = 4`)
- **Смены (`SHIFTS`)**
- С 06:00 до 14:30 (смена 0)
- С 08:00 до 16:30 (смена 1)
- С 11:30 до 20:00 (смена 2)
- С 12:30 до 21:00 (смена 3)
- **Операторы (`OPERATORS`)**
- Иванов
- Алексеев
- Сидоров
- Козобородов
- Трудяшкина
- Петрова
- **Предпочтения операторов (`OPERATOR_PREFERENCES`)**
- Иванов: 10, 13 апреля
- Алексеев: понедельники
- Сидоров: 25, 26 апреля
- Козобородов: смена 2 (11:3020:00)
- Трудяшкина: 4 апреля
- Петрова: 8, 29 апреля
**Как редактировать:**
1. Откройте `config.py` в текстовом редакторе
2. Изменяйте значения в квадратных скобках или кавычках
3. Для добавления/удаления дней используйте списки `[25, 26]`
4. Сохраните файл
---
## Этап 2: Обновление `models.py`
**Что делать:**
- Удалить все константы из `models.py`
- Добавить импорт: `from config import *`
- Удалить определения `SHIFTS`, `OPERATORS`, `OPERATOR_PREFERENCES`
---
## Этап 3: Обновление `main.py`
**Что делать:**
- Удалить встроенную генерацию дат
- Использовать импорт из `config.py`
- Добавить вывод в CSV
---
## Этап 4: Создание документации
**Файл:** `USER_GUIDE.md`
**Что включить:**
- Как изменить даты
- Как добавить/удалить операторов
- Как изменить смены
- Как добавить новые предпочтения
---
## Этап 5: Тестирование
**Проверить:**
1. Запуск `python main.py`
2. Корректное считывание дат из `config.py`
3. Генерация расписания
4. Вывод в CSV
---
## Результат
- Конфигурация в одном файле `config.py`
- Простое редактирование без знания Python
- Четкая документация в `USER_GUIDE.md`