pcp: время — сквозной naive LocalDateTime как локальное настенное время (без UTC)
Отказ от остаточной UTC-семантики: naive LocalDateTime трактуется как локальное время единой зоны всех сервисов. Backend (границы внешних систем): - VisibilityPayloadParser, SyncSpacecraftFromNsiUseCase: ZoneOffset.UTC → ZoneId.systemDefault() для проекции внешних Instant/ISO-с-Z в naive. - тесты границ перевёрнуты на systemDefault (под Europe/Moscow ждут +3). - чистка UTC-формулировок в DTO-комментариях, мёртвых ссылок на docs/standards/DATETIME_UTC.md. Frontend (pcp-tgu-ops-ui): - utils/utcTime.ts → utils/localTime.ts: parseLocal/formatLocal*/toLocalIso/ toLocalInputValue с локальной семантикой (без дописывания Z и timeZone:UTC). - замена getUTC*/Date.UTC/toISOString-сериализации на локальные аналоги. - убраны пользовательские подписи «UTC» в редакторе/таймлайне. - удалён utcTime.guard.test.ts (форсил обратный UTC-инвариант); тест-фикстуры сделаны зоно-независимыми. tsc + vitest зелёные под TZ=UTC и TZ=Europe/Moscow. Включает также прочие незакоммиченные правки рабочего дерева.
This commit is contained in:
@@ -21,7 +21,7 @@
|
||||
- существующие публичные контракты не сломаны без явного запроса;
|
||||
- добавлены или обновлены релевантные тесты;
|
||||
- не внесено несвязанных правок;
|
||||
- время на API — naive `LocalDateTime` без зоны; backend штампует `now` через `LocalDateTime.now(ZoneOffset.UTC)`, фронт парсит/форматирует через `utils/utcTime` без `new Date("<строка>")`;
|
||||
- время на API — naive `LocalDateTime` без зоны; backend штампует `now` через `LocalDateTime.now()`, фронт парсит/форматирует через `utils/utcTime` без `new Date("<строка>")`;
|
||||
- egress фронта к бэку — naive ISO (`YYYY-MM-DDTHH:mm:ss`, без Z);
|
||||
- validation выполнен по правилам `AGENTS.md`, либо пропуски явно объяснены.
|
||||
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
# Следующая задача: маршруты, сбросы и перенос включений между планами
|
||||
|
||||
> Статус: запланировано (дизайн ещё не начат). Это фиксация намерения, не финальный план.
|
||||
|
||||
Следующий блок работ — три связанные темы вокруг содержимого плана (включений) и
|
||||
их съёмочно-сбросовой обвязки:
|
||||
|
||||
## 1. Построение маршрутов
|
||||
Довести построение маршрутов наблюдения по плану. Сейчас маршруты порождаются в
|
||||
потоке `createSatelliteMission` (BPMN), где `planId == missionId`; результат
|
||||
ложится в БД mission-planing. Уточнить: когда и по какому триггеру строятся
|
||||
маршруты для нового/перевыданного плана, и как они привязаны к включениям.
|
||||
|
||||
## 2. Формирование сбросов
|
||||
Формирование сбросов (`DropMode`) поверх съёмочных включений (`SurveyMode`):
|
||||
расчёт окон сброса, привязка к ЗРВ/КПП, согласование времени сброса со временем
|
||||
съёмки. Внутренние времена — naive `LocalDateTime` (см. сквозную модель без зон).
|
||||
|
||||
## 3. Перенос включений из плана в план
|
||||
При перевыдаче/версионировании плана переносить уже сформированные включения
|
||||
(съёмки + сбросы) из предыдущего плана в новый — чтобы не терять набранное
|
||||
содержимое цепочки. Определить, что переносится как есть, что пересчитывается,
|
||||
и как это стыкуется с двумя осями версионирования (цепочка ТГУ + контент миссии).
|
||||
|
||||
## Контекст / связанные места
|
||||
- Маршруты и их сохранение: `createSatelliteMission`, `planId == missionId`.
|
||||
- Сбросы/съёмки: `pcp-mission-planing-service` — `SurveyMode`/`DropMode`,
|
||||
`MissionPlaningService`.
|
||||
- Версионирование/перевыдача плана — две оси (цепочка ТГУ + контент миссии).
|
||||
- Время — сквозной naive `LocalDateTime` без зоны (после отката UTC-слоя).
|
||||
@@ -0,0 +1,13 @@
|
||||
1. Перевод сервиса станций на ordinis по примеру получения аппаратов в сервисе tgu
|
||||
2. Ошибка при попытке принять план во вкладке планы
|
||||
3. Происходит накопление целей съемки, этого делать не нужно, пусть будет просто перекрестие на карте
|
||||
А на панели справа пусть будет написано опорная точка прицеливания и ее координаты
|
||||
4. Дата время в формате 24 часов а не AM PM, во всем интерфейсе.
|
||||
|
||||
|
||||
|
||||
5. Добавить маску важности, чтобы можно было легко ввести 0.1 или 0.3
|
||||
6. При нажатии на включение нужно центрировать экран на него и подсвечивать выбор, будто кликнули по самому объекту на карте
|
||||
7. Сбросы нужно отобрадать на картооснове как толстую яркую линию на трассе, время начала конца линии - время начала конца сброса
|
||||
8. При нажатии на ЗРВ в окне Планы нужно справа отображать информацию по этим ЗРВ и если их несколько то по нескольких по примеру завок на вкладке Карта
|
||||
10. Проблема того, что в одном и том же месте есть план Rejected и план WAIting_decision (скриншот сохранен)
|
||||
Reference in New Issue
Block a user