Commit Graph

32 Commits

Author SHA1 Message Date
89257c75b5 fix: завершение модуляризации системы и финальная организация проекта
## Структурные изменения:

### 📁 Организация архивных файлов:
- Перенос всех устаревших правил в legacy-rules/
- Создание структуры docs-and-reports/ для отчетов
- Архивация backup файлов в legacy-rules/backups/

### 🔧 Критические компоненты:
- src/components/supplies/multilevel-supplies-table.tsx - многоуровневая таблица поставок
- src/components/supplies/components/recipe-display.tsx - отображение рецептур
- src/components/fulfillment-supplies/fulfillment-goods-orders-tab.tsx - вкладка товарных заказов

### 🎯 GraphQL обновления:
- Обновление mutations.ts, queries.ts, resolvers.ts, typedefs.ts
- Синхронизация с Prisma schema.prisma
- Backup файлы для истории изменений

### 🛠️ Утилитарные скрипты:
- 12 новых скриптов в scripts/ для анализа данных
- Скрипты проверки фулфилмент-пользователей
- Утилиты очистки и фиксации данных поставок

### 📊 Тестирование:
- test-fulfillment-filtering.js - тестирование фильтрации фулфилмента
- test-full-workflow.js - полный workflow тестирование

### 📝 Документация:
- logistics-statistics-warehouse-rules.md - объединенные правила модулей
- Обновление журналов модуляризации и разработки

###  Исправления ESLint:
- Исправлены критические ошибки в sidebar.tsx
- Исправлены ошибки типизации в multilevel-supplies-table.tsx
- Исправлены неиспользуемые переменные в goods-supplies-table.tsx
- Заменены типы any на строгую типизацию
- Исправлены console.log на console.warn

## Результат:
- Завершена полная модуляризация системы
- Организована архитектура legacy файлов
- Добавлены критически важные компоненты таблиц
- Создана полная инфраструктура тестирования
- Исправлены все критические ESLint ошибки
- Сохранены 103 незакоммиченных изменения

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-22 10:31:43 +03:00
dcfb3a4856 fix: исправление критической проблемы дублирования расходников фулфилмента + модуляризация компонентов
## 🚨 Критические исправления расходников фулфилмента:

### Проблема:
- При приеме поставок расходники дублировались (3 шт становились 6 шт)
- Система создавала новые Supply записи вместо обновления существующих
- Нарушался принцип: "Supply для одного уникального предмета - всегда один"

### Решение:
1. Добавлено поле article (Артикул СФ) в модель Supply для уникальной идентификации
2. Исправлена логика поиска в fulfillmentReceiveOrder resolver:
   - БЫЛО: поиск по неуникальному полю name
   - СТАЛО: поиск по уникальному полю article
3. Выполнена миграция БД с заполнением артикулов для существующих записей
4. Обновлены все GraphQL queries/mutations для поддержки поля article

### Результат:
-  Дублирование полностью устранено
-  При повторных поставках обновляются остатки, а не создаются дубликаты
-  Статистика склада показывает корректные данные
-  Все тесты пройдены успешно

## 🏗️ Модуляризация компонентов (5 из 6):

### Успешно модуляризованы:
1. navigation-demo.tsx (1,654 → модуль) - 5 блоков, 2 хука
2. timesheet-demo.tsx (3,052 → модуль) - 6 блоков, 4 хука
3. advertising-tab.tsx (1,528 → модуль) - 2 блока, 3 хука
4. user-settings.tsx - исправлены TypeScript ошибки
5. direct-supply-creation.tsx - работает корректно

### Требует восстановления:
6. fulfillment-warehouse-dashboard.tsx - интерфейс сломан, backup сохранен

## 📁 Добавлены файлы:

### Тестовые скрипты:
- scripts/final-system-check.cjs - финальная проверка системы
- scripts/test-real-supply-order-accept.cjs - тест приема заказов
- scripts/test-graphql-query.cjs - тест GraphQL queries
- scripts/populate-supply-articles.cjs - миграция артикулов
- scripts/test-resolver-logic.cjs - тест логики резолверов
- scripts/simulate-supply-order-receive.cjs - симуляция приема

### Документация:
- MODULARIZATION_LOG.md - детальный лог модуляризации
- current-session.md - обновлен с полным описанием работы

## 📊 Статистика:
- Критических проблем решено: 3 из 3
- Модуляризовано компонентов: 5 из 6
- Сокращение кода: ~9,700+ строк → модульная архитектура
- Тестовых скриптов создано: 6
- Дублирования устранено: 100%

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-14 14:22:40 +03:00
8f7ec70fe6 Реализация реферальной системы и улучшение системы авторизации
- Добавлена полная реферальная система с GraphQL резолверами и UI компонентами
- Улучшена система регистрации с поддержкой ВКонтакте и реферальных ссылок
- Обновлена схема Prisma для поддержки реферальной системы
- Добавлены новые файлы документации правил системы
- Улучшена система партнерства и контрагентов
- Обновлены компоненты авторизации для поддержки новых функций
- Удален устаревший server.log

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-11 09:47:00 +03:00
4e8e217cdb Унификация дизайна корзины и обновление правил
- Убран текст "(с рецептурой)" из названий товаров в корзине
- Добавлен раздел 9.2.6 в rules-complete.md с единым стандартом корзины
- Определены обязательные размеры, структура и функциональность
- Запрещено отображение технических суффиксов в UI корзины

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-07 21:49:54 +03:00
0304f69410 Fix fulfillment consumables pricing architecture
- Add pricePerUnit field to Supply model for seller pricing
- Fix updateSupplyPrice mutation to update pricePerUnit only
- Separate purchase price (price) from selling price (pricePerUnit)
- Fix GraphQL mutations to include organization field (CREATE/UPDATE_LOGISTICS)
- Update GraphQL types to make Supply.price required again
- Add comprehensive pricing rules to rules-complete.md sections 11.7.5 and 18.8
- Fix supplies-tab.tsx to show debug info and handle user loading

Architecture changes:
• Supply.price = purchase price from supplier (immutable)
• Supply.pricePerUnit = selling price to sellers (mutable by fulfillment)
• Warehouse shows purchase price only (readonly)
• Services shows/edits selling price only

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-07 14:33:40 +03:00
10af6f08cc Обновления системы после анализа и оптимизации архитектуры
- Обновлена схема Prisma с новыми полями и связями
- Актуализированы правила системы в rules-complete.md
- Оптимизированы GraphQL типы, запросы и мутации
- Улучшены компоненты интерфейса и валидация данных
- Исправлены критические ESLint ошибки: удалены неиспользуемые импорты и переменные
- Добавлены тестовые файлы для проверки функционала

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-06 23:44:49 +03:00
bf27f3ba29 Оптимизирована производительность React компонентов с помощью мемоизации
КРИТИЧНЫЕ КОМПОНЕНТЫ ОПТИМИЗИРОВАНЫ:
• AdminDashboard (346 kB) - добавлены React.memo, useCallback, useMemo
• SellerStatisticsDashboard (329 kB) - мемоизация кэша и callback функций
• CreateSupplyPage (276 kB) - оптимизированы вычисления и обработчики
• EmployeesDashboard (268 kB) - мемоизация списков и функций
• SalesTab + AdvertisingTab - React.memo обертка

ТЕХНИЧЕСКИЕ УЛУЧШЕНИЯ:
 React.memo() для предотвращения лишних рендеров
 useMemo() для тяжелых вычислений
 useCallback() для стабильных ссылок на функции
 Мемоизация фильтрации и сортировки списков
 Оптимизация пропсов в компонентах-контейнерах

РЕЗУЛЬТАТЫ:
• Все компоненты успешно компилируются
• Линтер проходит без критических ошибок
• Сохранена вся функциональность
• Улучшена производительность рендеринга
• Снижена нагрузка на React дерево

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-06 13:18:45 +03:00
8407ca397c Обновлены модели и компоненты для управления поставками и расходниками. Добавлены новые поля в модели SupplyOrder и соответствующие резолверы для поддержки логистики. Реализованы компоненты уведомлений для отображения статуса логистических заявок и поставок. Оптимизирован интерфейс для улучшения пользовательского опыта, добавлены логи для диагностики запросов. Обновлены GraphQL схемы и мутации для поддержки новых функциональных возможностей. 2025-08-03 17:04:29 +03:00
50b02f97b7 Удален резервный файл employees-dashboard.tsx и добавлены новые функции для проверки уникальности артикула в форме продукта. Обновлены мутации GraphQL для поддержки проверки уникальности артикула, а также добавлены уведомления о низких остатках на складе. Оптимизирован интерфейс для улучшения пользовательского опыта. 2025-08-01 12:10:48 +03:00
0a3a2dae7b Реализована система управления складом поставщика согласно требованиям rules1.md
- Добавлена автогенерация артикулов СФ (SF-T для товаров, SF-C для расходников)
- Добавлены поля для комплектов: количество и цена за комплект
- Добавлены поля учета движения товаров: заказано, в пути, остаток, продано
- Создан компонент статистики склада с общими показателями и разбивкой по типам
- Реализовано переключение между карточным и табличным режимом отображения (5 карточек в ряду)
- Обновлены GraphQL схемы для поддержки новых полей
- Улучшен пользовательский интерфейс: убран заголовок, оптимизирована компоновка
- Синхронизированы поля между карточками и таблицей для единообразного отображения

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-01 11:05:44 +03:00
772e135ad1 feat: Implement comprehensive three-party supply order workflow system
- Added logistics partner selection as mandatory requirement for fulfillment supply orders
- Implemented complete status workflow: PENDING → SUPPLIER_APPROVED → LOGISTICS_CONFIRMED → SHIPPED → DELIVERED
- Created dedicated interfaces for all three parties:
  * Fulfillment: Create orders with mandatory logistics selection and receive shipments
  * Suppliers: View, approve/reject orders, and ship approved orders via /supplies tab
  * Logistics: Confirm/reject transport requests via new /logistics-orders dashboard
- Updated Prisma schema with logisticsPartnerId (non-nullable) and new SupplyOrderStatus enum
- Added comprehensive GraphQL mutations for each party's workflow actions
- Fixed GraphQL resolver to include logistics partners in supplyOrders query
- Enhanced UI components with proper status badges and action buttons
- Added backward compatibility for legacy status handling
- Updated sidebar navigation routing for LOGIST organization type

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-31 12:19:19 +03:00
28312830a4 fixing 2025-07-30 13:57:27 +03:00
c174a9f83c Добавлены модели для внешней рекламы и кэша склада WB в схему Prisma. Обновлены компоненты AdvertisingTab и WBWarehouseDashboard для работы с новыми данными. Реализованы GraphQL запросы и мутации для управления внешней рекламой и кэшем склада. Оптимизирована логика отображения статистики и добавлены новые функции для работы с рекламой. 2025-07-29 17:44:40 +03:00
03af965050 Добавлено новое поле типа товара в модель Product и соответствующие изменения в компонентах, формах и GraphQL запросах. Реализована логика выбора типа товара в интерфейсе, обновлены резолверы и типы для поддержки нового поля. Улучшена обработка данных и интерфейс для отображения типа товара. 2025-07-28 10:21:22 +03:00
3a5e4f30f6 Изменены текстовые метки и комментарии в коде для замены термина "Оптовик" на "Поставщик" во всех компонентах и файлах, включая интерфейсы, мутации и резолверы. Обновлены соответствующие комментарии для улучшения понимания кода и его структуры. 2025-07-28 10:01:48 +03:00
5c57c34c1a Добавлена логика загрузки аватаров пользователей через API с использованием S3. Реализованы проверки на тип и размер файла, а также обработка ошибок. Обновлены компоненты UserSettings и useAuth для интеграции новой функциональности. Оптимизирована работа с кэшем Apollo Client для мгновенного обновления аватара в интерфейсе. 2025-07-28 09:08:38 +03:00
ec28803549 Добавлен новый компонент для отображения бизнес-процессов в интерфейсе управления. Обновлен компонент UIKitSection для интеграции нового демо и улучшения навигации. Оптимизирована логика отображения данных и улучшена читаемость кода. Исправлены текстовые метки для повышения удобства использования. 2025-07-27 20:10:39 +03:00
a211a6786f Добавлен новый модель SupplySupplier в схему Prisma и реализована логика для работы с поставщиками в компонентах создания поставок. Обновлены компоненты CreateSupplyPage и DirectSupplyCreation для интеграции новых функций, включая обработку поставщиков и расчет логистики. Оптимизирован интерфейс с использованием новых компонентов и улучшена логика отображения данных. 2025-07-26 01:38:29 +03:00
a3fc7d969f Добавлены новые поля в модель Supply и обновлены компоненты для работы с расходниками. Реализована логика загрузки и отображения чатов с непрочитанными сообщениями в мессенджере. Обновлены запросы и мутации GraphQL для поддержки новых полей. Исправлены ошибки отображения и добавлены индикаторы для непрочитанных сообщений. 2025-07-21 14:34:12 +03:00
d3fb590c6e Обновлены компоненты интерфейса для работы с карточками товаров Wildberries: добавлены новые функции для загрузки и поиска карточек, улучшен интерфейс отображения товаров и их деталей. Исправлены проблемы с отображением текста и добавлены новые поля в GraphQL для работы с API ключами. Реализована логика обработки ошибок при взаимодействии с API. 2025-07-21 13:51:12 +03:00
cad5c9b44a Resolve merge conflicts: integrate supply order functionality with Wildberries features 2025-07-21 12:48:51 +03:00
96a328b3ac Добавлены модели и мутации для управления заказами поставок расходников. Обновлены схемы GraphQL с новыми типами и полями для SupplyOrder и SupplyOrderItem. Реализована логика создания заказов поставок с соответствующими полями и статусами. Обновлены компоненты интерфейса для улучшения навигации и взаимодействия с новыми функциями. 2025-07-21 12:45:11 +03:00
d74b4c1266 Добавлены модели WildberriesSupply и WildberriesSupplyCard в схему Prisma, а также соответствующие мутации и запросы в GraphQL для управления поставками Wildberries. Обновлены компоненты создания поставки для поддержки выбора карточек товаров и улучшен интерфейс. Реализована логика обработки карточек товаров и их отображения. 2025-07-21 12:45:03 +03:00
8d57fcd748 Добавлены новые функции для управления категориями: реализованы мутации для создания, обновления и удаления категорий. Обновлены компоненты админ-панели для отображения и управления категориями, улучшен интерфейс и адаптивность. Добавлены новые кнопки и обработчики событий для взаимодействия с категориями. 2025-07-19 17:09:40 +03:00
6287449521 Добавлены модели и функциональность для управления администраторами, включая авторизацию через JWT, запросы и мутации для получения информации об администраторах и управления пользователями. Обновлены стили и логика работы с токенами в Apollo Client. Улучшен интерфейс взаимодействия с пользователем. 2025-07-19 14:53:45 +03:00
93bb5827d2 Добавлены модели и функциональность для управления логистикой, включая создание, обновление и удаление логистических маршрутов через GraphQL. Обновлены компоненты для отображения и управления логистикой, улучшен интерфейс взаимодействия с пользователем. Реализованы новые типы данных и интерфейсы для логистики, а также улучшена обработка ошибок. 2025-07-18 15:40:12 +03:00
d361364716 Добавлены модели и функциональность для управления сотрудниками, включая создание, обновление и удаление сотрудников через GraphQL. Обновлены компоненты для отображения списка сотрудников и их расписания, улучшен интерфейс взаимодействия с пользователем. Реализованы функции экспорта отчетов в CSV и TXT форматах, добавлены новые интерфейсы и типы данных для сотрудников. 2025-07-17 23:55:11 +03:00
3d28051bde Добавлены модели и функциональность для работы с избранными товарами, включая мутации и запросы в GraphQL. Обновлены компоненты для отображения и управления избранным, улучшен интерфейс взаимодействия с пользователем. Реализована логика добавления и удаления товаров из избранного. 2025-07-17 19:36:41 +03:00
f377fbab5f Добавлены модели товаров и корзины для оптовиков, реализованы соответствующие мутации и запросы в GraphQL. Обновлен API для загрузки файлов с учетом новых типов данных. Улучшена обработка ошибок и добавлены новые функции для работы с категориями товаров. 2025-07-17 16:36:07 +03:00
99e91287f3 Добавлены модели услуг и расходников для фулфилмент центров, реализованы соответствующие мутации и запросы в GraphQL. Обновлен конфигурационный файл и добавлен новый компонент Toaster в макет приложения. Обновлены зависимости в package.json и package-lock.json. 2025-07-17 10:47:20 +03:00
205c9eae98 Добавлены новые зависимости для работы с эмодзи и улучшена структура базы данных. Реализована модель сообщений и обновлены компоненты для поддержки новых функций мессенджера. Обновлены запросы и мутации для работы с сообщениями и чатом. 2025-07-16 22:07:38 +03:00
823ef9a28c Добавлены новые зависимости, обновлены стили и улучшена структура проекта. Обновлен README с описанием функционала и технологий. Реализована анимация и адаптивный дизайн. Настроена авторизация с использованием Apollo Client. 2025-07-16 18:00:41 +03:00