Техническое задание: Модуль согласования договоров для CRM

Цель проекта

Интеграция в действующую CRM-систему отдельного функционального модуля для централизованного управления жизненным циклом договоров, от создания до архивации, с процессом согласования, основанным на ролях пользователей.

Основные функциональные требования

1. Карточка договора

  • Создание и редактирование карточки договора с полями: номер, контрагент, сумма, сроки, ответственный менеджер, файлы.
  • Возможность прикрепления документов и комментариев.

2. Статусный workflow (воркфлоу)

Реализовать последовательность статусов договора:

  • Черновик (Draft) - начальное состояние.
  • На согласовании (Review) - документ отправлен по маршруту.
  • Юридическая проверка (Legal) - проверка юристом.
  • Утвержден (Approved) - финальное согласование.
  • В архиве (Archived) - завершенные договоры.

3. Маршруты согласования по ролям

  • Гибкая настройка цепочек согласования в зависимости от типа договора, суммы или других параметров.
  • Назначение этапов согласования на конкретные роли в системе (например, Менеджер → Руководитель отдела → Юрист → Директор).
  • Возможность параллельного или последовательного согласования.
  • Уведомления согласующим о новых задачах (внутри CRM или по email).

4. Журнал действий (Audit Log)

  • Фиксация всех значимых событий по договору: создание, смена статуса, действия согласующих (принял/отклонил с комментарием), редактирование полей.
  • Отображение журнала в карточке договора с указанием пользователя, времени и действия.

5. Интерфейс и интеграция

  • Модуль должен быть органично встроен в существующий интерфейс и архитектуру CRM.
  • Реализовать список всех договоров с фильтрами по статусу, ответственному, дате.
  • Предусмотреть дашборд или виджет с договорами, требующими внимания пользователя.

Технические ожидания

  • Четкое описание текущей стека технологий CRM для оценки интеграции.
  • Код должен быть написан качественно, с комментариями.
  • Предоставление инструкции по развертыванию и настройке модуля.

Миграция проекта JBoss Seam на Apache TomEE 8 с настройкой JTA и Hibernate

Требуется запустить legacy-проект на основе JBoss Seam (аналог раннего CDI) на сервере Apache TomEE 8. Основная сложность - корректная настройка подключения к базе данных через JTA с использованием Hibernate. В качестве тестового примера используется простая JSF-страница регистрации из документации Seam.