Primeiro commit

This commit is contained in:
2025-10-14 14:04:17 -03:00
commit 33d8645eb4
109 changed files with 55424 additions and 0 deletions

84
scripts/fix-devolucoes.js Executable file
View File

@@ -0,0 +1,84 @@
#!/usr/bin/env node
const fetch = require('node-fetch');
async function limparDevolucoesDuplicadas() {
try {
console.log('🔧 Iniciando limpeza de devoluções duplicadas...');
const response = await fetch('http://localhost:5000/api/devolucoes/limpar-duplicadas', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
}
});
const result = await response.json();
if (result.success) {
console.log(`${result.message}`);
console.log(`📊 Total removidas: ${result.removidas}`);
} else {
console.log('❌ Erro:', result.error);
}
} catch (error) {
console.error('❌ Erro ao limpar devoluções:', error.message);
}
}
async function verificarEstadoDevolucoes() {
try {
console.log('\n📋 Verificando estado atual das devoluções...');
const response = await fetch('http://localhost:5000/api/devolucoes');
const devolucoes = await response.json();
console.log(`📊 Total de devoluções: ${devolucoes.length}`);
// Agrupar por venda para verificar duplicatas
const porVenda = {};
devolucoes.forEach(dev => {
const key = dev.venda_id;
if (!porVenda[key]) {
porVenda[key] = [];
}
porVenda[key].push(dev);
});
console.log(`📊 Vendas com devoluções: ${Object.keys(porVenda).length}`);
// Verificar vendas com múltiplas devoluções
const vendasComMultiplas = Object.entries(porVenda)
.filter(([_, devs]) => devs.length > 1);
if (vendasComMultiplas.length > 0) {
console.log(`⚠️ Vendas com múltiplas devoluções: ${vendasComMultiplas.length}`);
vendasComMultiplas.forEach(([vendaId, devs]) => {
console.log(` - Venda ${vendaId}: ${devs.length} devoluções`);
});
} else {
console.log('✅ Nenhuma venda com múltiplas devoluções encontrada');
}
} catch (error) {
console.error('❌ Erro ao verificar devoluções:', error.message);
}
}
async function main() {
console.log('🔧 Sistema de Correção de Devoluções/Trocas - Liberi Kids');
console.log('======================================================');
await verificarEstadoDevolucoes();
await limparDevolucoesDuplicadas();
await verificarEstadoDevolucoes();
console.log('\n✅ Processo concluído!');
console.log('\n📋 Próximos passos:');
console.log('1. Teste uma devolução simples');
console.log('2. Teste uma troca de produto');
console.log('3. Verifique se o estoque está sendo atualizado corretamente');
}
main().catch(console.error);