🎯 Назначение
Объединяйте две семьи в один более сильный улей, сохраняя полные цифровые записи. Подходит для усиления слабых семей перед зимой, управления генетикой маток или консолидации пасеки.
🎭 Пользовательская история
- Как пчеловод с несколькими семьями,
- я хочу объединить два улья с полным контролем над судьбой маток,
- чтобы усилить слабые семьи, подготовиться к зиме или управлять генетикой, сохраняя всю историю.
🚀 Ключевые преимущества
- Визуальное сравнение: оба улья рядом с количеством пчёл и данными о матке до объединения
- Контроль матки: выбор, какая матка останется - обе, матка целевого или исходного улья
- Умная автоматизация: система автоматически переносит корпуса и структурные элементы
- Полная история: учёт всех объединений с датами, типами и кликабельными ссылками между ульями
- Удобная навигация: объединённые ульи остаются видимыми с понятными индикаторами статуса
- Сохранение данных: все данные корпусов, рамок и осмотров сохраняются
💡 Типичные сценарии
Усиление перед зимой
Слабая семья не переживёт зиму одна. Объедините её с более сильным ульём, чтобы увеличить численность пчёл и запасы корма.
Потеря матки
Семья потеряла матку и не может вывести новую. Объедините её с семьёй с маткой, чтобы сохранить пчёл и ресурсы.
Консолидация пасеки
Уменьшите количество ульев перед переездом или сокращением хозяйства. Объединяйте семьи стратегически, сохраняя историю для будущего.
🎓 Как пользоваться
1. Откройте диалог объединения
- Перейдите к улью, который хотите объединить (исходный улей)
- Нажмите кнопку «Join Colony»
- Откроется модальное окно с текущим ульём слева
2. Выберите целевой улей
- Просмотрите список доступных ульев на пасеке
- Увидьте количество пчёл и данные о матке для каждого варианта
- Выберите целевой улей
- Сравните оба улья рядом
3. Выберите стратегию управления маткой
Нажмите переключатель между панелями ульев:
🎲 Обе матки (+) - пусть сражаются естественным путём, выживает сильнейшая
- Подходит, если не уверены, какая матка лучше
- Естественный отбор определяет победителя
➡️ Матка целевого улья - оставить матку целевого, убрать матку исходного перед объединением
- Подходит, если у целевого более молодая или лучшая генетика
- Предсказуемый результат, контролируемая генетика
⬅️ Матка исходного улья - оставить матку исходного, убрать матку целевого
- Подходит, если у исходного более молодая или лучшая генетика
- Предсказуемый результат, контролируемая генетика
4. Завершите объединение
- Ещё раз проверьте данные обоих ульев
- Нажмите «Join Colonies»
- Система автоматически перенесёт корпуса и обновит записи
- Вы будете перенаправлены к объединённому целевому улью
5. Просмотрите результат
- Исходный улей: помечен как «merged», затенён в списке пасеки, ссылка на целевой
- Целевой улей: активен со всеми объединёнными корпусами, история объединений с датами
- Все данные осмотров и рамок сохранены в обоих ульях
⚙️ Что происходит за кулисами
Система обрабатывает объединение:
- Перенос корпусов: гнездовые корпуса и магазины переходят в целевой улей, ставятся сверху
- Структурные элементы: донные доски и летки остаются в исходном улье
- Сохранение данных: все рамки, фото и история осмотров сохраняются
- Обновление статусов: исходный улей помечен как «merged», целевой остаётся активным
- История: полная хронология объединений с датами и решениями по матке
Последнее обновление: 5 декабря 2025
⚠️ Важные моменты
Необратимая операция:
- ⚠️ Объединение нельзя отменить
- Корпуса переносятся навсегда
- Исходный улей помечен как объединённый
- Планируйте внимательно перед подтверждением
Правила валидации:
- Оба улья должны существовать и принадлежать одному пользователю
- Оба улья должны быть на одной пасеке
- Исходный улей не должен быть уже объединён или погибшим
- У целевого улья должно быть место (свободные позиции корпусов)
- Тип объединения должен быть валидным (один из трёх вариантов)
Физические шаги объединения:
Цифровое объединение в приложении отражает логистику. Физическое объединение семей требует:
- Выбрать метод (газетный, прямой и т.д.)
- Убрать или закрыть матку согласно выбранному типу
- Физически объединить корпуса, как указано в приложении
- Наблюдать за принятием 3-7 дней
- Проверить признаки драки или отторжения
- Подтвердить наличие одной матки после объединения
🎯 Примеры
1. Усиление слабой семьи
- Исходный: слабая семья (1000 пчёл)
- Целевой: сильная семья (5000 пчёл)
- Тип: матка целевого (→)
- Результат: 6000 пчёл с сильной маткой
2. Объединение перед зимой
- Исходный: небольшой поздний отводок
- Целевой: устоявшаяся семья
- Тип: обе матки (+)
- Результат: сильная семья для зимовки
3. Замена старой матки
- Исходный: семья с новой маткой (2024)
- Целевой: семья со старой маткой (2021)
- Тип: матка исходного (←)
- Результат: семья с молодой генетикой
4. Консолидация пасеки
- Несколько слабых семей на пасеке
- Объединение в меньшее число сильных семей
- Сохранение лучших маток через целевые объединения
- Результат: меньше, но сильнее семей
🔗 Связанные функции
- Разделение семьи: обратная операция - создание нового улья из существующего
- Collapse Hive: отметка неактивной/погибшей семьи (отличается от объединения)
- Delete Hive: полное удаление записи улья
- Осмотры: отслеживание семьи до и после объединения
📝 Рекомендации
Перед объединением:
- ✅ Проверьте обе матки, если оставляете конкретную
- ✅ Оцените силу семей и численность пчёл
- ✅ Учитывайте время года (лучше всего конец лета/осень)
- ✅ Спланируйте физический метод объединения
- ✅ Подготовьте оборудование (газета, распылитель и т.д.)
Во время объединения:
- ✅ Сначала завершите цифровое объединение в приложении
- ✅ Следуйте физической процедуре
- ✅ Используйте газетный метод для постепенного принятия
- ✅ Минимизируйте возмущение пчёл
- ✅ Быстро закройте улей после объединения
После объединения:
- ✅ Наблюдайте 3-7 дней за принятием
- ✅ Проверьте наличие одной матки
- ✅ Следите за дракой или отторжением
- ✅ Оцените запасы корма (объединённой семье нужно больше)
- ✅ Создайте осмотр с результатами
- ✅ При успехе можно удалить запись исходного улья (опционально)
🐛 Устранение неполадок
«No other hives available»
- Нужно минимум 2 улья на одной пасеке
- Создайте ещё один улей или перенесите улей на пасеку с другими
«Invalid merge type»
- Убедитесь, что выбран один из трёх вариантов
- Обновите страницу и попробуйте снова
«Source hive not found»
- Улей мог быть удалён
- Проверьте владение ульем
Корпуса переносятся не так, как ожидалось:
- BOTTOM и GATE всегда остаются в исходном улье
- Это ожидаемое поведение
- Остальные корпуса должны перейти в целевой
Не могу найти объединённый улей:
- Объединённые ульи затенены в списке пасеки
- Используйте поиск или фильтр по статусу
- Проверьте раздел «Merged from» в целевом улье
📚 Технические ресурсы
Файлы реализации:
- Backend:
swarm-api/graph/schema.resolvers.go(мутация JoinHives) - Backend:
swarm-api/graph/model/hive.go(MarkAsMerged, GetMergedFromHives) - Backend:
swarm-api/graph/model/box.go(MoveBoxesToHive, GetBoxesByTypeForHive) - Frontend:
web-app/src/page/hiveEdit/JoinColonyModal.tsx - Frontend:
web-app/src/page/hiveEdit/JoinColonyModal.module.less - Migration:
swarm-api/migrations/20251205130000_add_hive_merge_tracking.sql