tremble7681andClaude Opus 5 3cc9ffb3e6 feat(warehouse): итоги проведённой инвентаризации вместо тупика
Владелец: «чтобы по клику по инвентаризации я видел не просто информацию о том,
что я не могу её поменять, а итоги. Какие позиции найдены, какие списаны».

Клик по проведённой сессии открывал тот же экран обхода со списком,
отфильтрованным на «только непосчитанные». У проведённой посчитано всё, поэтому
список оказывался пуст, а сверху висел баннер «правки закрыты»: экран показывал
ровно то, чего не просили, и прятал всё остальное.

Теперь отдельный экран итогов: шапка (зона, кто и когда провёл, счётчики,
недостача и излишек в штуках и рублях) и список группами — не нашли, не хватает,
излишек, находки; «сошлось» и «не дошли» свёрнуты числом, чтобы не листать мимо
совпавших строк. Только просмотр.

Числа на этом экране решают, поэтому отдельно закрыто:

- «Всё сошлось — расхождений не было» показывалось при любом числе
  НЕПОСЧИТАННЫХ позиций. Механик обошёл одну из ста, провёл — и сверху документа
  зелёным «зона чистая». Теперь это отдельное предупреждение: расхождений среди
  посчитанного нет, но обойдено не всё.
- Шапка считается по тем же строкам, из которых собираются секции, а не берётся
  готовым агрегатом с бэкенда — сходимость по построению, а не по совпадению
  определений. «Недостача» и «Излишек и находки» названы так, чтобы не совпадать
  с именем секции ниже: одноимённость заставляла сверять и не сходиться в разы.
- Позиции без цены партии больше не выпадают из денег молча — помечены в строке,
  и в шапке сказано, что реальная сумма больше.
- «Обошли X из Y» больше не включает находки: раньше они завышали долю
  обойдённого и противоречили чипу «не дошли» в той же шапке.

Идущая инвентаризация не тронута: ввод количества, «Сходится», «Нет», находки и
проведение работают как раньше.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-07 23:13:14 +10:00

mechanic-pwa

Собственное приложение для сотрудников-механиков PremiumPark — замена вендорского приложения «Механик» (NaughtySoft, com.naughtysoft.ttc). Все данные осмотров уходят в собственную PostgreSQL внутри Premium CRM, фото — в собственный MinIO. Никакого вендора и его 1С на критическом пути.

Контекст

Сейчас механики PremiumPark делают осмотры машин через приложение вендора NaughtySoft, поставляемое на условиях абонентки. Подрядчик заморозил разработку, парк хочет независимости. После разведки вендорского стека (см. recon/findings/01-static-analysis.md) принято решение строить собственное PWA — оно охватывает все ключевые сценарии вендора (фото, метки повреждений, история, дифф «было/стало») и хостится в нашей экосистеме.

Объём проекта

Только приложение механика. Это первый sub-project в umbrella-плане замены вендорских приложений. Будущие sub-projects (не в этом репозитории):

Sub-project Описание Статус
mechanic-pwa (этот репо) PWA для сотрудников-механиков парка в работе
driver-app Приложение для водителей — балансы, штрафы, платежи, обращения отложено, будем после mechanic
vendor-bridge Импорт исторических осмотров от вендора отложено

Структура

mechanic-pwa/                                  ← корень git репо
├── docs/superpowers/
│   ├── specs/
│   │   ├── 2026-05-11-driver-app-recon-design.md  ← разведка обоих вендорских приложений
│   │   └── 2026-05-16-premium-mechanic-design.md  ← дизайн нашего mechanic-приложения
│   └── plans/
│       └── 2026-05-16-premium-mechanic-phase1.md  ← план реализации Phase 1 MVP
├── mechanic-pwa/
│   ├── frontend/        ← React+Vite PWA (создаётся в Phase G)
│   └── assets/vendor-reference/    ← извлечённые из APK иконки вендора
├── recon/
│   ├── findings/        ← отчёт разведки (карта API, диаграммы)
│   ├── scripts/         ← mitmproxy фильтры, frida-скрипты, утилиты
│   ├── artifacts/       ← APK, декомпил, mitm dumps (не в git, .gitignore)
│   └── patched/         ← патченые APK для перехвата трафика (не в git)
├── ops/
│   ├── Caddyfile.fragment  ← конфигурация Caddy для mechanic.pptaxi.ru
│   └── minio-cors.json     ← CORS policy для bucket pp-inspections
└── README.md

Внимание: backend-модуль mechanic (Phase B-F плана) живёт не в этом репо, а в виде ветки feat/mechanic-mvp внутри репозитория premium-crm. Этот репо — только frontend + специфика, документация и ops.

Текущая фаза

Phase 1 MVP — см. docs/superpowers/plans/2026-05-16-premium-mechanic-phase1.md. 10 phases (A-J), ~40 задач, 3-4 недели разработки.

Деплой

Production URL: https://mechanic.pptaxi.ru (поддомен от 100.64.0.12, обслуживается Caddy) Бэкенд: модуль mechanic в FastAPI Premium CRM (тот же VDS) Хранилище фото: MinIO pp-inspections (тот же VDS)

S
Description
Premium Механик — PWA для механиков: приёмка и осмотр авто, фото с разметкой повреждений, ремонт и СТО, интеграция 1С (TT) + MinIO. Live: mechanic.pptaxi.ru
Readme
2.7 MiB
Languages
TypeScript 96.8%
Python 1.4%
CSS 1%
JavaScript 0.4%
HTML 0.2%
Other 0.2%