85 lines
2.6 KiB
JavaScript
Executable File
85 lines
2.6 KiB
JavaScript
Executable File
#!/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);
|