Описание задачи
На сайте медицинской клиники реализован функционал «комплексные программы» (или пакеты услуг). В текущей реализации цены на пакеты проставляются вручную. При изменении стоимости какой-либо позиции в общем прайс-листе клиники, администратор вынужден вручную корректировать цены во всех комплексных программах, где эта услуга участвует. Это приводит к высокому риску ошибок и занимает много времени.
Цель доработки
Необходимо автоматизировать процесс и сделать так, чтобы цена в комплексных программах (пакетах) рассчитывалась автоматически на основе актуальных данных из главного прайс-листа. Для этого каждая позиция внутри комплексной программы должна быть жестко привязана к соответствующей услуге из прайс-листа.
Технические требования (Yii2)
- Добавить механизм привязки услуг внутри редактора комплексных программ к записям таблицы прайс-листа.
- Реализовать логику пересчета итоговой цены пакета: либо как сумму связанных услуг, либо фиксированную скидку от суммы (уточнить с заказчиком на старте).
- Обеспечить автоматическое обновление цены в карточке программы при сохранении изменений в прайс-листе или пересчет по триггеру.
- Сохранение истории изменений для последующего аудита (опционально).
Ожидаемый результат
Синхронизация цен избавит администратора от ручного контроля стоимости пакетов, снизит количество ошибок и ускорит процесс обновления ассортимента услуг на сайте.