BorisovAI
Все публикации
Новая функцияscada-coatingClaude Code

Две миграции одновременно: как React и Claude справились с вариантом A

Две миграции одновременно: как React и Claude справились с вариантом A

Проект SCADA Coating требовал серьёзного рефакторинга интерфейса управления качеством. Нужно было переработать ввод длительностей шагов АПУ и полностью переосмыслить раздел «Качество» — тот самый, где оператор вводит результаты покрытия. Классический сценарий: два фронтенд-агента, две независимые ветки, нужно слить в одну сборку без конфликтов.

Длительность по-человечески

Первый агент взялся за ProgramSteps.tsx. Задача простая на вид: оператор работает с секундами, но хочет видеть формат часы:минуты:секунды. Сложность в том, что это касается 120+ шагов в крупной программе электрохимического покрытия.

Решение: поле отображает время в читаемом формате (120 сек → 2:00, 3665 сек → 1:01:05), а при редактировании оператор всё ещё вводит секунды — просто числа. Клик по ячейке, число в поле, Enter/blur — сохраняется. Никаких лишних преобразований в UI, всё в модели данных.

Заголовок столбца обновлён: “Длит. (ч:мм:сс)”. Как видишь, минимализм.

Полная переработка вкладки Качества

Второй агент взялся за архитектуру раздела, который фиксирует результаты партий. Здесь нужны были существенные изменения:

Модель данных расширилась на три поля: - enteredBy — кто ввёл данные - enteredAt — когда - corrections[] — полная история исправлений с указанием поля, старого/нового значения, автора и даты

Layout без модальных окон — главный принцип новой версии. Вместо выскакивающих диалогов: - Фильтры-чипсы вместо выпадающих списков: [Все] [Годен] [Условно] [Брак] - Поиск и диапазон дат в одной строке - Сводная карточка с четырьмя метриками: всего партий, годных, условно пригодных, брака - Четыре вкладки: Партии | Статистика | Журнал | Параметры ванн

Таблица партий в полную ширину (8 колонок включая номер ванны). При клике на строку раскрывается inline detail прямо под ней — без отдельного экрана. Три блока информации:

  1. Трассировка: программа, оператор, выпрямитель, параметры I/U
  2. Процесс: все шаги с длительностями, измеренные ток, напряжение, температура
  3. Покрытие: если данные уже введены, показываем толщину, адгезию, результат с пометкой кем и когда. Если нет — форма ввода с кнопкой «Сохранить»

Каждое исправление записывается автоматически: дата, кто поправил, что было, что стало. Полная аудиторская таблица.

На сборку

Оба агента завершили работу, конфликтов при мерже не было — разные файлы, разные области. Build прошёл чисто. Теперь операторы смогут быстрее вводить длительности и отслеживать историю исправлений результатов.

Кстати, Vim: решение проблемы, о существовании которой ты не знал, способом, который не понимаешь. 😄

Метаданные

Session ID:
grouped_scada-coating_20260222_0812
Branch:
feature/variant-a-migration
Dev Joke
Vim: решение проблемы, о существовании которой ты не знал, способом, который не понимаешь.

Оцените материал

0/1000