Добавлено отладочное логирование в компоненты создания и отображения товаров, обновлены типы продуктов в GraphQL запросах и резолверах. Оптимизирована логика обработки данных о товарах и расходниках, улучшено взаимодействие с пользователем через обновление интерфейса.

This commit is contained in:
Veronika Smirnova
2025-07-30 17:45:02 +03:00
parent 3e7ea13026
commit c3e84f0c49
6 changed files with 550 additions and 293 deletions

96
diagnostic-script.js Normal file
View File

@ -0,0 +1,96 @@
const { PrismaClient } = require("@prisma/client");
const prisma = new PrismaClient();
async function diagnoseDatabase() {
try {
console.log("🔍 ДИАГНОСТИКА БАЗЫ ДАННЫХ...\n");
// Проверяем пользователей
const users = await prisma.user.findMany({
include: {
organization: true,
},
});
console.log("👥 ПОЛЬЗОВАТЕЛИ:");
users.forEach((user) => {
console.log(` - ID: ${user.id}`);
console.log(` Телефон: ${user.phone}`);
console.log(` Организация: ${user.organization?.name || "НЕТ"}`);
console.log(` Тип организации: ${user.organization?.type || "НЕТ"}`);
console.log("");
});
// Проверяем организации
const organizations = await prisma.organization.findMany();
console.log("🏢 ОРГАНИЗАЦИИ:");
organizations.forEach((org) => {
console.log(` - ID: ${org.id}`);
console.log(` Название: ${org.name}`);
console.log(` Тип: ${org.type}`);
console.log("");
});
// Проверяем товары
const products = await prisma.product.findMany({
include: {
organization: true,
category: true,
},
orderBy: {
createdAt: "desc",
},
});
console.log("🛍️ ТОВАРЫ:");
if (products.length === 0) {
console.log(" НЕТ ТОВАРОВ В БАЗЕ ДАННЫХ");
} else {
products.forEach((product) => {
console.log(` - ID: ${product.id}`);
console.log(` Название: ${product.name}`);
console.log(` Артикул: ${product.article}`);
console.log(` Тип: ${product.type}`);
console.log(` Активен: ${product.isActive}`);
console.log(
` Организация: ${product.organization?.name || "НЕТ"} (${
product.organization?.type || "НЕТ"
})`
);
console.log(` Создан: ${product.createdAt}`);
console.log("");
});
}
// Проверяем товары поставщиков
const wholesaleProducts = await prisma.product.findMany({
where: {
organization: {
type: "WHOLESALE",
},
type: "PRODUCT",
},
include: {
organization: true,
},
});
console.log("🏪 ТОВАРЫ ПОСТАВЩИКОВ (WHOLESALE + PRODUCT):");
if (wholesaleProducts.length === 0) {
console.log(" НЕТ ТОВАРОВ ПОСТАВЩИКОВ");
} else {
wholesaleProducts.forEach((product) => {
console.log(
` - ${product.name} (${product.article}) - ${product.organization?.name}`
);
});
}
} catch (error) {
console.error("❌ ОШИБКА:", error);
} finally {
await prisma.$disconnect();
}
}
diagnoseDatabase();