Сущность InvestProject
investmentAmount, fundingSource, progress, delay, scheduleStatus; обязательная привязка к Territory.
Мониторинг инвестпроектов с территориальным ACL, каскадным пересчётом сроков и картой объектов.
investmentAmount, fundingSource, progress, delay, scheduleStatus; обязательная привязка к Territory.
CategoryTree с indexPath, osmId, centerLat/Long; assignedUsers (N:M) — кто видит проекты территории.
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.code, externalId, osmId, indexPath, centerLat / centerLong; assignedUsers (N:M) определяют, кто видит проекты этой территории.TableFactory; HierarchyAccessChecker и TerritoryAccessChecker проверяют доступ по indexPath; UI ролей расширен соответствующими уровнями.TaskSubtask с полями baselineDate, plannedDate, actualDate, order и вычисляемой delay; StageSequenceService разрешает Started только когда предыдущий этап Completed.RequireDateChangeReason требует dateChangeReason при изменении plannedDate; хук создаёт DateChangeLog с previousDate, newDate, shiftDays и опциональным сдвигом конца проекта.ScheduleStatusResolver выдаёт OnTrack / AtRisk / Delayed / CompletedOnTime / CompletedLate.ProjectTemplate.stages описывает этапы и подзадачи в JSON; POST /InvestProject/:id/applyTemplate с {templateId, startDate, createSubtasks} разворачивает структуру с расчётом дат.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 запускает импорт по региону.Модуль предназначен для региональных и государственных органов мониторинга инвестиций (например, Западно-Казахстанская область): множество объектов на территории, разные ответственные по разным районам, обязательная отчётность по любому отклонению от плана. Зависит от bpm2bCategoryTreeEntityType ≥ 3.0.0; опционально интегрируется с bpm2bGeoMapping для карты.
Покажем работу системы на ваших данных за 30 минут. Расскажем, как окупится в вашей отрасли, и подберём конфигурацию под ваши процессы.