From cdfbf30232996f30b9a1cc74b9f2419c492a21e5 Mon Sep 17 00:00:00 2001 From: viktot14-ai Date: Fri, 25 Sep 2026 11:05:39 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=BA=D0=B8=20B17/E5:=20README=20?= =?UTF-8?q?=C2=A711=D0=B0=20(=D0=BF=D0=BE=D0=BB=D0=B5=D0=B2=D1=8B=D0=B5=20?= =?UTF-8?q?=D0=B4=D0=B0=D0=BD=D0=BD=D1=8B=D0=B5=20=D0=9A=D0=9E=D0=9D=D0=A2?= =?UTF-8?q?=D0=A3=D0=A0=D0=B0:=20inbound=20sync,=20=D0=BB=D0=BE=D0=BA?= =?UTF-8?q?=D0=B0=D0=BB=D1=8C=D0=BD=D0=BE=D0=B5=20=D1=87=D1=82=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5,=20=D1=81=D0=BB=D0=BE=D0=B9=20=D0=BA=D0=B0=D1=80?= =?UTF-8?q?=D1=82=D1=8B)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 808fd25..589417e 100644 --- a/README.md +++ b/README.md @@ -334,6 +334,27 @@ SPA на react-scripts (CRA). Роутинг: --- +## 11а. Полевые данные КОНТУРа (B17/E5) + +Двусторонний обмен с КОНТУРом по операции: + +- **Outbound** (E4): `POST /operations/{id}/send-to-contour` — зоны расчёта. +- **Inbound** (B17): `POST /operations/{id}/field-data/sync` — тянет из КОНТУРа + `GET {CONTOUR_API_URL}/api/v1/vector/areas-checked?operation_id=` + и делает идемпотентный upsert в `areas_checked` (dedupe по `contour_area_id`, + хранит geom GeoJSON / checked_at / result clear|partial / coverage_pct / callsign цепи, + `source=contour`). Каждая синхронизация аудируется (`field_data_sync`). +- `GET /operations/{id}/areas-checked` — после sync читает локальную БД (`source: db`), + до первой синхронизации прозрачно проксирует КОНТУР (`source: contour`). +- Фронт: кнопка «⟳ Синхронизировать полевые данные» в КОНТУР-панели страницы анализа; + проверенные квадраты рисуются на карте **поверх зон** — зелёный = прочесано (≥99.5%), + жёлтый пунктир = частично; в попапе покрытие %, время проверки, callsign. + +Статусы КОНТУРа: `clear` (покрытие ≥99.5%) / `partial`. Нахождение субъекта на стороне +КОНТУРа статусом не передаётся — находка фиксируется завершением поиска в ВЕКТОРе. + +--- + ## 12. Интеграция с КОНТУР (отправка зон) КОНТУР — система полевой координации (ATAK + Meshtastic). ВЕКТОР отдаёт приоритетные зоны (outbound): @@ -403,6 +424,7 @@ SPA на react-scripts (CRA). Роутинг: - Карта: концентрические круги + подсветка направлений (дизайн согласованный) - РБАК: иерархия РЦУ РЧС → ОУМЧС → Г(Р)ОЧС (142 юнита), 4 роли / 9 прав, блокировки, сессии - Мультипоиск: операции, статусная машина, дашборд «Активные поиски» +- B17/E5: ингестия полевых данных КОНТУРа (проверенные квадраты на карте операции) - Завершение поиска с внесением исхода, архив завершённых с «прогноз vs факт» - Аудит 90 дней с field-level деталями - Прикладное логирование `vector.*`: события анализа, входов, КОНТУРа, аудита (README §13а) @@ -413,8 +435,8 @@ SPA на react-scripts (CRA). Роутинг: ### В планах -- **E5 (B17)** — приём полевых данных от КОНТУРа: треки групп, проверенные квадраты (areas-checked) на карте операции -- **Живая интеграция с КОНТУР** (CT130) — настройка токена и реальная отправка зон +- **E5/B17 расширение** — треки групп (tracks/live) как field_observations; полевой статус «найден» +- **Авто-sync полевых данных** — периодический (сейчас кнопка вручную) - **Локальный tile-сервер** — для полностью offline-фронта (сейчас тайлы OSM с CDN в браузере) - **Калибровка settlement_score** — вкладка населённых пунктов в скоринге секторов (открытый методический вопрос) - **Калибровка зонального скоринга** по накопленному архиву «прогноз vs факт»