Все модули

Invest Control

Мониторинг инвестпроектов с территориальным ACL, каскадным пересчётом сроков и картой объектов.

Возможности

Что умеет модуль

Сущность InvestProject

investmentAmount, fundingSource, progress, delay, scheduleStatus; обязательная привязка к Territory.

Иерархия Territory (КАТО)

CategoryTree с indexPath, osmId, centerLat/Long; assignedUsers (N:M) — кто видит проекты территории.

Кастомные ACL-уровни

territory, orgstructure, territoryAndOrgstructure; HierarchyAccessChecker по indexPath; UI ролей расширен.

Этапы и подзадачи

TaskSubtask с baseline/planned/actual; StageSequenceService разрешает Started только после Completed предыдущего.

Журнал переноса дат

DateChangeLog обязателен при смене plannedDate; previousDate, newDate, shiftDays, projectEndShift.

Каскадный пересчёт

AggregationService: delay, progress, scheduleStatus поднимаются TaskSubtask → Task → InvestProject.

Карта проектов и КАТО-импорт

MapDataProvider c GeoJSON-границами по osmId; KatoImportService + ImportKatoJob импортируют CSV КАТО.

Модуль BPM2B Invest Control — это система мониторинга инвестиционных проектов на платформе BPM2B: проекты привязаны к административным территориям, разделены по этапам с подзадачами, статус и сроки пересчитываются каскадно снизу вверх, любое изменение плановой даты обязательно сопровождается обоснованием, а доступ ограничен по территориальному принципу.

Основные функциональные возможности:

  • Сущность InvestProject: поля investmentAmount (currency), fundingSource, progress, delay, scheduleStatus, координаты addressLat/addressLon; статусы Planning / InProgress / OnHold / Completed / Cancelled; обязательная привязка к Territory и опциональная к OrgStructure.
  • Иерархия Territory (КАТО): CategoryTree-сущность с code, externalId, osmId, indexPath, centerLat / centerLong; assignedUsers (N:M) определяют, кто видит проекты этой территории.
  • Кастомные ACL-уровни: territory, orgstructure, territoryAndOrgstructure — расширение стандартных уровней через подмену TableFactory; HierarchyAccessChecker и TerritoryAccessChecker проверяют доступ по indexPath; UI ролей расширен соответствующими уровнями.
  • Этапы и подзадачи: TaskSubtask с полями baselineDate, plannedDate, actualDate, order и вычисляемой delay; StageSequenceService разрешает Started только когда предыдущий этап Completed.
  • Журнал переноса дат: RequireDateChangeReason требует dateChangeReason при изменении plannedDate; хук создаёт DateChangeLog с previousDate, newDate, shiftDays и опциональным сдвигом конца проекта.
  • Каскадный пересчёт: AggregationService считает delay, progress, scheduleStatus снизу вверх — TaskSubtask → Task → InvestProject; ScheduleStatusResolver выдаёт OnTrack / AtRisk / Delayed / CompletedOnTime / CompletedLate.
  • Шаблоны проектов: ProjectTemplate.stages описывает этапы и подзадачи в JSON; POST /InvestProject/:id/applyTemplate с {templateId, startDate, createSubtasks} разворачивает структуру с расчётом дат.
  • KPI-дашлет: GET /InvestControl/dashboard с типами summary и byTerritory; параллельная загрузка через Promise.all; кастомный дашлет invest-control-summary.
  • Карта проектов: InvestProjectMapDataProvider реализует MapDataProviderInterface из bpm2bGeoMapping — points, GeoJSON-границы территорий по osmId, KPI и фильтры по статусам.
  • Импорт КАТО: KatoImportService парсит CSV административных единиц Казахстана; ImportKatoJob выполняет импорт асинхронно; UI-handler territory-kato-import-handler запускает импорт по региону.
  • Локализованные ошибки: Body::create()->withMessageTranslation для всех бизнес-валидаций (нельзя стартовать предыдущий этап, требуется причина переноса) — пользователь видит сообщение на своём языке.

Модуль предназначен для региональных и государственных органов мониторинга инвестиций (например, Западно-Казахстанская область): множество объектов на территории, разные ответственные по разным районам, обязательная отчётность по любому отклонению от плана. Зависит от bpm2bCategoryTreeEntityType ≥ 3.0.0; опционально интегрируется с bpm2bGeoMapping для карты.

Совместимо с платформой версии 9.1.0+
Связаться

Готовы автоматизировать процессы?

Покажем работу системы на ваших данных за 30 минут. Расскажем, как окупится в вашей отрасли, и подберём конфигурацию под ваши процессы.

Email
info@bpm2b.ru
Москва
+7 (499) 113-22-35
Россия
8 (800) 551-91-16
Компания
ООО «Адм Про»

Мы свяжемся в течение 24 часов. Данные используем только для обработки заявки.